Пожалуйста, простите за глупость этого вопроса, поскольку я новичок в Linux / Ubuntu.
Я наткнулся на команду apt-cache search
в другом вопросе , когда искал способы заставить пакет LaTeX href
работать на моей виртуальной машине Ubuntu. .
Затем я попробовал apt-cache search href
и получил следующий результат:
libio-dirent-perl - Perl module for accessing dirent structs returned by readdir
libclass-std-storable-perl - Support for creating serializable "inside-out" classes
libconfig-inihash-perl - Perl extension for reading and writing INI files
libdata-dumper-compact-perl - vertically compact width-limited data formatter
libdbix-abstract-perl - DBI SQL abstraction
libdigest-md5-file-perl - Perl extension for getting MD5 sums for files and urls
libhtml-html5-outline-perl - implementation of the HTML5 Outline algorithm
libhtml-microformats-perl - parse microformats in HTML
libjs-autolink - JavaScript methods converting text to links
libjson-hyper-perl - extract links from JSON via a schema
libjson-path-perl - search nested hashref/arrayref structures using JSONPath
libmoosex-arrayref-perl - blessed arrayrefs with Moose
libmoosex-oneargnew-perl - Moose role that extends class' constructor to accept single arguments
libmoosex-param-perl - simple Moose role providing a standard param method
libmoosex-singlearg-perl - module to instantiate Moose objects using a single argument
libmoosex-types-structured-perl - Moose extension for type constraints on structured types
libparams-validationcompiler-perl - module to build an optimized subroutine parameter validator
libpod-spell-perl - formatter to easily check the spelling of POD
libpostfix-parse-mailq-perl - module to parse the postfix mail queue
libtest-deep-unorderedpairs-perl - Test::Deep plugin for comparing lists as if they were hashes
libxml-atom-microformats-perl - parse microformats in Atom content
libxml-libxml-debugging-perl - get debugging information from XML::LibXML
node-url-to-options - Convert a WHATWG URL to an http(s).request options object
roffit - convert nroff manual pages into HTML
tea - graphical text editor with syntax highlighting
texlive-latex-extra - TeX Live: LaTeX additional packages
Строку href
можно найти только в следующем пакете:
libjson-path -perl - поиск вложенных структур hashref / arrayref с использованием JSONPath
Насколько я понимаю, шаблон поиска apt-cache
будет идентифицировать только пакеты, в которых найден шаблон
.
Почему href
не встречается в идентифицированных пакетах?
Обратите внимание, что https://www.ctan.org/pkg/href возвращает 404. Возможно, вы используете неправильное имя пакета. Но hyperref
пакет существует.
Если вы прочитаете man apt-cache
локально или онлайн, вы можете увидеть следующее:
search regex
...
search выполняет полнотекстовый поиск по всем доступным спискам пакетов для заданного шаблона POSIX regex, см. regex(7). Он ищет в именах пакетов и их описаниях вхождения регулярного выражения и выводит имя пакета и краткое описание, включая имена виртуальных пакетов. Если задано--full
то для каждого найденного пакета выводится вывод, идентичный show, а если задано--names-only
то поиск длинного описания не производится, только имя пакета и предоставленные пакеты. Отдельные аргументы могут быть использованы для указания нескольких шаблонов поиска, которые объединяются вместе.
Поэтому вы можете попробовать использовать apt-cache search href latex
или некоторые логические команды. Но на самом деле важно то, что apt-cache
ничего не знает о содержимом пакета.
Пакеты LaTeX обычно имеют *.bst, *.sty файлы для своих определений.
Для поиска содержимого пакета, например, hyperref.sty необходимо использовать другие инструменты:
локально - использовать apt-file
:
sudo apt-get install apt-file
sudo apt-file update
чтобы получить что-то вроде
$ sudo apt-file search hyperref.sty
latexml: /usr/share/perl5/LaTeXML/Package/hyperref.sty.ltxml
texlive-lang-arabic: /usr/share/texlive/texmf-dist/tex/xelatex/bidi/bidituftehyperref.sty
texlive-latex-base: /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
texlive-latex-base: /usr/share/texlive/texmf-dist/tex/latex/hyperref/nohyperref.sty
texlive-latex-extra: /usr/share/texlive/texmf-dist/tex/latex/hobsub/hobsub-hyperref.sty
texlive-latex-extra: /usr/share/texlive/texmf-dist/tex/latex/interfaces/interfaces-hyperref.sty
texlive-latex-extra: /usr/share/texlive/texmf-dist/tex/latex/zref/zref-hyperref.sty
texlive-latex-recommended: /usr/share/texlive/texmf-dist/tex/latex/lwarp/lwarp-hyperref.sty
или с синтаксисом regexp:
$ sudo apt-file search --regexp hyperref.sty$
texlive-lang-arabic: /usr/share/texlive/texmf-dist/tex/xelatex/bidi/bidituftehyperref.sty
texlive-latex-base: /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
texlive-latex-base: /usr/share/texlive/texmf-dist/tex/latex/hyperref/nohyperref.sty
texlive-latex-extra: /usr/share/texlive/texmf-dist/tex/latex/hobsub/hobsub-hyperref.sty
texlive-latex-extra: /usr/share/texlive/texmf-dist/tex/latex/interfaces/interfaces-hyperref.sty
texlive-latex-extra: /usr/share/texlive/texmf-dist/tex/latex/zref/zref-hyperref.sty
texlive-latex-recommended: /usr/share/texlive/texmf-dist/tex/latex/lwarp/lwarp-hyperref.sty
онлайн, посетив https://packages.ubuntu.com и поискав hyperref.sty
- он содержится в texlive-latex-base
пакете Ubuntu.