Как узнать информацию о пакете перед установкой в ​​терминал

53

Мне было интересно, как получить информацию о пакете в терминале перед установкой, apt-get installчтобы я мог решить, устанавливать ли его, основываясь на описании.

Спасибо и всего наилучшего!

Тим
источник

Ответы:

62

использование

 apt-cache show PACKAGE

чтобы увидеть описание и некоторую другую информацию о пакете после его установки

 dpkg -L package_name

чтобы увидеть, какие файлы содержит пакет.

Флориан Диш
источник
1
Второй намек с перечислением содержимого пакета т.е. файлы не работают для меня. Всегда говорится, dpkg-query: package 'package_name' is not installedчто его нельзя использовать для проверки файла перед его установкой. apt-fileУтилита кажется более жизнеспособным вариантом для этого, хотя я не могу сослаться из моего собственного опыта пока.
Огромный
dpkg -L не всегда работает, например, aide-xen сообщит, что не установлен.
Майк Q
10

Для подобных задач система управления пакетами ATP (Advanced Package Tool) предлагает несколько решений ( https://en.wikipedia.org/wiki/Advanced_Packaging_Tool ).


APT-кэша showpkg package_name

Описание взято здесь https://linux.die.net/man/8/apt-cache

showpkg отображает информацию о пакетах, перечисленных в командной строке. Остальные аргументы - это имена пакетов. Перечислены доступные версии и обратные зависимости каждого из перечисленных пакетов, а также прямые зависимости для каждой версии. Прямые (нормальные) зависимости - это те пакеты, от которых зависит данный пакет; Обратные зависимости - это те пакеты, которые зависят от рассматриваемого пакета. Таким образом, прямые зависимости должны быть выполнены для пакета, но обратные зависимости не должны быть. Например, apt-cache showpkg libreadline2 выдаст вывод, подобный следующему

$ apt-cache showpkg javacc
Package: javacc
Versions: 
5.0-5 (/var/lib/apt/lists/ftp.ru.debian.org_debian_dists_jessie_main_binary-amd64_Packages) (/var/lib/apt/lists/httpredir.debian.org_debian_dists_jessie_main_binary-am)
 Description Language: 
                 File: /var/lib/apt/lists/ftp.ru.debian.org_debian_dists_jessie_main_binary-amd64_Packages
                  MD5: 61505d89a764133cbd782b370c93fe98
 Description Language: en
                 File: /var/lib/apt/lists/ftp.ru.debian.org_debian_dists_jessie_main_i18n_Translation-en
                  MD5: 61505d89a764133cbd782b370c93fe98


Reverse Depends: 
  ant-optional,javacc
  ant-optional,javacc
  libjavacc-maven-plugin-java,javacc
  javacc-doc,javacc
  ant-optional,javacc
Dependencies: 
5.0-5 - default-jre-headless (16 (null)) java1-runtime-headless (16 (null)) java2-runtime-headless (0 (null)) javacc-doc (0 (null)) 
Provides: 
5.0-5 - 
Reverse Provides: 

apt-cache показать имя_пакета

Отображает записи пакета для именованных пакетов.

$ apt-cache show javacc
Package: javacc
Version: 5.0-5
Installed-Size: 380
Maintainer: Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org>
Architecture: all
Depends: default-jre-headless | java1-runtime-headless | java2-runtime-headless
Suggests: javacc-doc
Description-en: Parser generator for use with Java
 Java Compiler-Compiler (JavaCC) is (according to sun)
 "the most popular parser generator" for use with Java [tm]
 applications.
 .
 A parser generator is a tool that reads a grammar specification
 and converts it to a Java program that can recognize matches to
 the grammar. In addition to the parser generator itself, JavaCC
 provides other standard capabilities related to parser
 generation such as tree building (via a tool called JJTree
 included with JavaCC), actions, debugging, etc.
Description-md5: 61505d89a764133cbd782b370c93fe98
Homepage: http://javacc.java.net
Tag: devel::code-generator, devel::lang:java, implemented-in::java,
 interface::commandline, role::program, scope::utility
Section: java
Priority: optional
Filename: pool/main/j/javacc/javacc_5.0-5_all.deb
Size: 284722
MD5sum: b1efd2defeba45cd97a48541235e6255
SHA1: c5e4b1991be06ec56e6d1a5b916c714068e5bf6b
SHA256: 757f9566d488858285c23c2ac12e05168af38953cf034f6e44123c2a88cb7c83

apt-cache policy имя_пакета

Это должно помочь отладить проблемы, связанные с файлом настроек. Без аргументов он распечатает приоритеты каждого источника. В противном случае он выводит подробную информацию о выборе приоритета именованного пакета.

$ apt-cache policy javacc
javacc:
  Installed: (none)
  Candidate: 5.0-5
  Version table:
     5.0-5 0
        500 http://ftp.ru.debian.org/debian/ jessie/main amd64 Packages
        500 http://httpredir.debian.org/debian/ jessie/main amd64 Packages

apt-cache Мэдисон имя_пакета

Команда madison apt-cache пытается имитировать выходной формат и подмножество функций инструмента управления архивами Debian, madison. Он отображает доступные версии пакета в табличном формате. В отличие от оригинального Madison, он может отображать информацию только для архитектуры, для которой APT получил списки пакетов (APT :: Architecture).

$ apt-cache madison javacc
    javacc |      5.0-5 | http://ftp.ru.debian.org/debian/ jessie/main amd64 Packages
    javacc |      5.0-5 | http://httpredir.debian.org/debian/ jessie/main amd64 Packages
    javacc |      5.0-5 | http://ftp.ru.debian.org/debian/ jessie/main Sources

APT-кэша showsrc package_name

Отображает все записи исходного пакета, которые соответствуют заданным именам пакетов. Показаны все версии, а также все записи, которые объявляют имя двоичным.

$ apt-cache showsrc javacc
Package: javacc
Binary: javacc, javacc-doc
Version: 5.0-5
Maintainer: Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org>
Uploaders: Emmanuel Bourg <ebourg@apache.org>
Build-Depends: ant, debhelper (>= 7), cdbs (>= 0.4.5.3), default-jdk
Build-Depends-Indep: ant-optional, libxalan2-java, docbook-to-man, junit, maven-repo-helper
Architecture: all
Standards-Version: 3.9.4
Format: 3.0 (quilt)
Files:
 6715506605c7a4e750309b7ef645ec86 1397 javacc_5.0-5.dsc
 edf47d357c6f36458474a1b537b88a12 711183 javacc_5.0.orig.tar.gz
 b3308a9aefeca4318a0838b2a3213cea 7893 javacc_5.0-5.debian.tar.gz
Vcs-Browser: http://anonscm.debian.org/viewvc/pkg-java/trunk/javacc
Vcs-Svn: svn://anonscm.debian.org/pkg-java/trunk/javacc
Checksums-Sha1:
 f4a4ea175ce87af588c713eaab8caeaefc64183f 1397 javacc_5.0-5.dsc
 f6e12a183579a67528f351282251560faf4737db 711183 javacc_5.0.orig.tar.gz
 4aebf3cadecd96f304f80786f07473574569dc02 7893 javacc_5.0-5.debian.tar.gz
Checksums-Sha256:
 4a61f89f984809964e3d63d159998ff29c951765a046ac87dca32b21eb54f99b 1397 javacc_5.0-5.dsc
 aab2c3e2f37648b9e708e6bad4c8b544cba63b66f1791907e6e3f89609b27150 711183 javacc_5.0.orig.tar.gz
 66418d91dc6c6d45d941181d08150d272d3db57a944f3ce61847e5e1ec7c0659 7893 javacc_5.0-5.debian.tar.gz
Homepage: http://javacc.java.net
Package-List: 
 javacc deb java optional
 javacc-doc deb doc optional
Directory: pool/main/j/javacc
Priority: source
Section: java

apt-cache зависит имя_пакета

Показывает список каждой зависимости, которую имеет пакет, и все возможные другие пакеты, которые могут удовлетворить эту зависимость.

$ apt-cache depends javacc
javacc
 |Depends: default-jre-headless
 |Depends: <java1-runtime-headless>
    gcj-4.8-jre-headless
    gcj-4.9-jre-headless
    gcj-jre-headless
  Depends: <java2-runtime-headless>
    default-jre-headless
    gcj-4.8-jre-headless
    gcj-4.9-jre-headless
    gcj-jre-headless
    openjdk-7-jre-headless
    openjdk-8-jre-headless
  Suggests: javacc-doc

Тестовая среда

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 8.6 (jessie)
Release:    8.6
Codename:   jessie
setivolkylany$/media/setivolkylany/WorkDisk/Private$ uname -a
Linux localhost 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19) x86_64 GNU/Linux

Основано на https://linux.die.net/man/8/apt-cache и http://manpages.ubuntu.com/manpages/zesty/man8/apt-cache.8.html.

PADYMKO
источник
0

Для тех, кто просто ищет краткое изложение пакета:

apt-cache search ^package-name$
Майк К
источник