Информация о пакетах
Информация о пакетах
Пакетный менеджмент начинается с поиска нужного пакета, для чего предназначена внутренняя команда search, требующая аргумента в виде ключевого слова. Поиск по ключевому слову осуществляется в именах пакетов и их кратких описаниях (т.н. резюме). Например, команда
$ apt search geany
отыщет одноимённый пакет для установки этого текстового редактора (называемого, однако, «Небольшой и быстрой IDE») и все его плагины:
p geany - Небольшая и быстрая IDE
v geany-abi-69 -
v geany-api-216 -
p geany-common - Небольшая и быстрая IDE — общие файлы
p geany-plugin-addons - Различные дополнительные модули для Geany
p geany-plugin-codenav - Модуль навигации по коду для Geany
...
p geany-plugin-xmlsnippets - XMLSnippets plugin for Geany
p geany-plugins - Набор плагинов для Geany
p geany-plugins-common - Набор плагинов для Geany (переводы)
Важное отличие от аналога — команды apt-cache search: apt search показывает основной пакета (i — установленный, p — не установленный или «чисто» удалённый, и так далее) и дополнительный (A — автоматически установленный, h — с фиксированной версией, и так далее) статусы пакетов.
Внутренняя команда held позволяет отсортировать пакеты с фиксированной версией, то есть те, которые не будут обновляться по команде apt upgrade (о ней буде сказано в следующем разделе).
Подробную информацию об отдельном пакете можно получить с помощью внутренней команды show. Например,
$ apt show geany
выведет следующее:
Пакет: geany
Состояние: не установлен
Версия: 1.23.1+dfsg-1
Приоритет: необязательный
Раздел: universe/devel
Сопровождающий: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Архитектура: amd64
Размер в распакованном виде: 2671 k
Зависимости: libc6 (>= 2.15), libcairo2 (>= 1.6.0), libgcc1 (>= 1:4.1.1),
libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>=
2.35.9), libgtk2.0-0 (>= 2.22.0), libpango1.0-0 (>=
1.18.0), libstdc++6 (>= 4.1.1), geany-common (=
1.23.1+dfsg-1)
Пред-зависимости: multiarch-support
Предлагает: libvte9, doc-base
Конфликтует: geany
Повреждает: geany-plugins-common (< 0.21), geany-plugins-common (< 0.21)
Предоставляет: geany-abi-69, geany-api-216
Описание: Небольшая и быстрая IDE
Geany — нетребовательная к ресурсам интегрированная среда разработки программ,
маленькая и быстрая, с небольшим количеством зависимостей от других пакетов.
использует только GTK2, поэтому для запуска Geany необходимы только
runtime-библиотеки GTK2.
The basic features of Geany are:
* syntax highlighting
* code completion
* auto completion of constructs like if, for and while, XML and HTML
* call tips
* folding
* many supported filetypes like C, Java, PHP, HTML, Python, Perl, Pascal
* symbol lists
* embedded terminal emulation
Сайт: http://www.geany.org
А сведения о смене версий пакета получаются с помощью внутренней команды changelog. Для Geany это выглядит так:
geany (1.23.1+dfsg-1) unstable; urgency=low
* [3b1ced4] Imported Upstream version 1.23.1+dfsg
* [b418909] Update debian-branch in gbp.conf
— Chow Loong Jin <hyperair@debian.org> Mon, 20 May 2013 00:18:56 +0800
geany (1.23+dfsg-2) unstable; urgency=low
* Upload to unstable, fixes FTBFS (Closes: #707368)
* [a472a80] Enable parallel builds
* [17a6378] No-change bump of Standards-Version to 3.9.4
* [ea78f31] Add README.source describing git branch structure
— Chow Loong Jin <hyperair@debian.org> Fri, 10 May 2013 15:27:35 +0800
...
И так далее.
Более подробные, нежели вывод команды show, сведения о зависимостях пакета даёт пара внутренних команд depends и rdepends. Первая выводит полный список пакетов, от которых зависит заданный в качестве её аргумента — жёстких, рекомендуемых, предлагаемых и конфликтующих:
$ apt depends geany
geany
Зависит: libc6
Зависит: libcairo2
Зависит: libgcc1
Зависит: libgdk-pixbuf2.0-0
Зависит: libglib2.0-0
Зависит: libgtk2.0-0
Зависит: libpango1.0-0
Зависит: libstdc++6
Зависит: geany-common
ПредЗависит: multiarch-support
multiarch-support:i386
Предлагает: libvte9
Предлагает: doc-base
Ломает: geany-plugins-common
Ломает: <geany-plugins-common:i386>
Конфликтует: geany:i386
Команда же rdepends решает обратную задачу — выводит список пакетов, зависящих от данного:
$ apt depends geany
geany
Reverse Depends:
geany:i386
geany-plugins-common
geany-plugins
geany-plugin-xmlsnippets
geany-plugin-webhelper
geany-plugin-vc
geany-plugin-updatechecker
geany-plugin-treebrowser
geany-plugin-tableconvert
geany-plugin-spellcheck
geany-plugin-shiftcolumn
geany-plugin-sendmail
geany-plugin-scope
geany-plugin-prj
geany-plugin-prettyprinter
geany-plugin-pg
geany-plugin-numberedbookmarks
geany-plugin-multiterm
geany-plugin-miniscript
geany-plugin-markdown
geany-plugin-macro
geany-plugin-lua
geany-plugin-lipsum
geany-plugin-latex
geany-plugin-insertnum
geany-plugin-gproject
geany-plugin-geniuspaste
geany-plugin-gendoc
geany-plugin-extrasel
geany-plugin-doc
geany-plugin-devhelp
geany-plugin-debugger
geany-plugin-commander
geany-plugin-codenav
geany-plugin-addons
geany-common
geany-common
|deb-gview
Все приведённые выше внутренние команды дают информацию как об установленных пакетах, так и о пакетах, доступных в подключённых репозиториях. А вот команды contains и content работают только для установленных пакетов. Первая позволяет определить, к какому пакету принадлежит данный файл — именно таким способом была определена выше принадлежность утитлиты apt:
$ apt contains /usr/local/bin/apt
mintsystem: /usr/local/bin/apt
А команда content выводит список всех файлов пакета с указанием их положения в файловой иерархии:
$ apt content mintsystem
/.
/etc
/etc/apt
/etc/apt/preferences.d
/etc/apt/preferences.d/official-extra-repositories.pref
/etc/bash_completion.d
/etc/bash_completion.d/apt-linux-mint
/etc/init.d
/etc/init.d/mintsystem
...
/usr/share/nemo
/usr/share/nemo/actions
/usr/share/nemo/actions/mint-md5sum.nemo_action
Наконец, последняя из «информационных» команд — policy. При указании в качестве аргумента имени установленного пакета она выводит такую о нём информацию:
$ apt policy mintsystem
mintsystem:
Установлен: 7.9.7
Кандидат: 7.9.7
Таблица версий:
*** 7.9.7 0
700 http://linux-mint.froonix.org/ rebecca/main amd64 Packages
100 /var/lib/dpkg/status
А для пакета не установленного она будет такой:
$ apt policy geany
geany:
Установлен: (отсутствует)
Кандидат: 1.23.1+dfsg-1
Таблица версий:
1.23.1+dfsg-1 0
500 http://gd.tuwien.ac.at/opsys/linux/ubuntu/archive/ trusty/universe amd64 Packages
Где числе перед URL — приоритет репозитория, в который входит пакет, оно берётся из файлов каталога /etc/apt/preferences.d. Большее число соовтетствует более высокому приоритету.
Внутренняя команда policy была придумана для утилиты apt-cache дистрибутива Debian, где использовалась для управления приоритетами при совмещёнии в одной системе пакетов из его многочисленных веток — stable, testing, unstable, experimental. Не уверен, что она востребована в дистрибутиве Mint.