Назад | Перейти на главную страницу

Как получить описание пакета Ubuntu и только его из базы метаданных?

Чтобы просто получить описание пакета и / или «подробное описание» порта Mac, я могу сделать следующее:

port info --description --long_description vim

и отфильтровать ненужную мне информацию.

Как я могу сделать это в Ubuntu?

Я прочитал справочные страницы для серии dpkg, а также apt-cache и тому подобное, но я не смог найти детального управления полями, возвращаемыми из базы данных метаданных, такими как выше.

Есть ли опция в команде, которую я пропустил? Стоит ли прибегать к синтаксическому разбору и обрезке вывода?

В частности, мне нужно «длинное описание» как однострочное.

grep-aptavail и друзья (grep-dctrl и grep-available, чтобы найти эту информацию соответственно в определенных файлах пакетов или в dkpg база локально установленных пакетов) являются наиболее точными инструментами для этого:

grep-aptavail -s Description -PX packagename

Пример:

$ grep-aptavail -PX 'apache2' -s Description
Description: Apache HTTP Server metapackage
 The Apache Software Foundation's goal is to build a secure, efficient and
 extensible HTTP server as standards-compliant open source software. The
 result has long been the number one web server on the Internet.
 .
 It features support for HTTPS, virtual hosting, CGI, SSI, IPv6, easy
 scripting and database integration, request/response filtering, many
 flexible authentication schemes, and more.*

Примечание:

Описание пакетов Debian (и Ubuntu) состоит из двух частей:

  • первая строка поля Описание - это краткое описание, которое появляется в apt-cache search packagename;
  • остальная часть поля «Описание» (начиная со второй строки) представляет собой подробное описание.

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

Это не совсем то, что вы хотите, но

aptitude show packagename | grep ^Description:

должен сделать свое дело.