Как работает `apt-cache`?

Как работает `apt-cache`?

Пожалуйста, простите за глупость этого вопроса, так как я новичок в Linux/Ubuntu.

Я наткнулся на apt-cache searchкоманду вДругой вопроспока искал способы заставить hrefпакет LaTeX работать на моей виртуальной машине 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 - search nested hashref/arrayref structures using JSONPath

Насколько я понимаю, это apt-cache search patternпозволит идентифицировать только те пакеты, в которых patternони находятся.

Почему этого hrefне происходит в идентифицированных пакетах?

решение1

Обратите внимание, чтоhttps://www.ctan.org/pkg/hrefвозвращает 404. Так что вы, вероятно, используете неправильное имя пакета. Но hyperrefпакетсуществует.

Если вы читаете man apt-cacheлокально илиВ сетивы можете увидеть следующее:

search regex...
search выполняет полнотекстовый поиск по всем доступным спискам пакетов для заданного шаблона регулярного выражения POSIX, см.регулярное выражение(7). Он ищет имена пакетов и описания на предмет вхождения регулярного выражения и выводит имя пакета и краткое описание, включая имена виртуальных пакетов. Если--fullдано, то для каждого соответствующего пакета создается вывод, идентичный показанному, и если--names-onlyдано, то длинное описание не ищется, ищутся только имя пакета и предоставленные пакеты. Отдельные аргументы могут использоваться для указания нескольких шаблонов поиска, которые объединяются вместе.

Так что вы можете попробовать использовать apt-cache search href latexили некоторые логические команды. Но реальная вещь, которая имеет значение, это то, что apt-cacheничего не знает о содержимом пакета.
Пакеты LaTeX обычно имеют*.бст,*.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
    

    или с синтаксисом регулярного выражения:

    $ 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.

Связанный контент