[ назад ] [ Содержание ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ вперед ]

APT HOWTO
Глава 5 - Получение информации о пакетах.


Для системы APT существует несколько оболочек, которые значительно упрощают просмотр пакетов, которые доступны для установки или уже установлены, а также для поиска разделов, приоритетов, описания пакетов и т.д.

Но... наша цель состоит в изучении самого APT. Так как же найти имя пакета, который вам надо установить?

Для такой задачи мы располагаем несколькими ресурсами. Начнем с apt-cache. Эта программа используется системой APT для управления ее базами данных. Мы только вкратце оглядим ее более практические приложения.


5.1 Нахождение имен пакетов

Например, допустим, что вы хотите вспомнить старые добрые денечки Atari 2600. Вы хотите использовать APT для установки эмулятора Atari и скачивания некоторых игр. Можете сделать так: [root]@[/] # apt-cache search atari atari-fdisk-cross - Partition editor for Atari (running on non-Atari) circuslinux - The clowns are trying to pop balloons to score points! madbomber - A Kaboom! clone tcs - Character set translator. atari800 - Atari emulator for svgalib/X/curses stella - Atari 2600 Emulator for X windows xmess-x - X binaries for Multi-Emulator Super System

Мы нашли несколько пакетов, имеющих отношение к тому, что нам требуется, вместе с краткими описаниями. Чтобы посмотреть более полные описания, можно дать команду: [root]@[/] # apt-cache show stella Package: stella Priority: extra Section: non-free/otherosfs Installed-Size: 830 Maintainer: Tom Lear <tom@trap.mtview.ca.us> Architecture: i386 Version: 1.1-2 Depends: libc6 (>= 2.1), libstdc++2.10, xlib6g (>= 3.3.5-1) Filename: dists/potato/non-free/binary-i386/otherosfs/stella_1.1-2.deb Size: 483430 MD5sum: 11b3e86a41a60fa1c4b334dd96c1d4b5 Description: Atari 2600 Emulator for X windows Stella - это portable emulator of the old Atari 2600 video-game console written in C++. You can play most Atari 2600 games with it. The latest news, code and binaries for Stella can be found at: http://www4.ncsu.edu/~bwmott/2600

В этом выводе мы получили множество сведений о пакете, который вы хотите (или не хотите) установить, вместе с полным описанием пакета. Если пакет уже установлен в системе или есть более новая версия, то вы увидите информацию об обоих версиях. Например: [root]@[/] # apt-cache show lilo Package: lilo Priority: important Section: base Installed-Size: 271 Maintainer: Russell Coker <russell@coker.com.au> Architecture: i386 Version: 1:21.7-3 Depends: libc6 (>= 2.2.1-2), debconf (>=0.2.26), logrotate Suggests: lilo-doc Conflicts: manpages (<<1.29-3) Filename: pool/main/l/lilo/lilo_21.7-3_i386.deb Size: 143052 MD5sum: 63fe29b5317fe34ed8ec3ae955f8270e Description: LInux LOader - The Classic OS loader can load Linux and others This Package contains lilo (the installer) and boot-record-images to install Linux, OS/2, DOS and generic Boot Sectors of other OSes. . You can use Lilo to manage your Master Boot Record (with a simple text screen) or call Lilo from other Boot-Loaders to jump-start the Linux kernel. Package: lilo Status: install ok installed Priority: important Section: base Installed-Size: 190 Maintainer: Vincent Renardias <vincent@debian.org> Version: 1:21.4.3-2 Depends: libc6 (>= 2.1.2) Recommends: mbr Suggests: lilo-doc Description: LInux LOader - The Classic OS loader can load Linux and others This Package contains lilo (the installer) and boot-record-images to install Linux, OS/2, DOS and generic Boot Sectors of other OSes. . You can use Lilo to manage your Master Boot Record (with a simple text screen) or call Lilo from other Boot-Loaders to jump-start the Linux kernel.

Обратите внимание, что первый в списке - доступный пакет, а второй - уже установленный. Для получения более общей информации о пакете, вы можете использовать: [root]@[/] # apt-cache showpkg penguin-command Package: penguin-command Versions: 1.4.5-1(/var/lib/apt/lists/download.sourceforge.net_debian_dists_unstable_main_binary-i386_Packages)(/var/lib/dpkg/status) Reverse Depends: Dependencies: 1.4.5-1 - libc6 (2 2.2.1-2) libpng2 (0 (null)) libsdl-mixer1.1 (2 1.1.0) libsdl1.1 (0 (null)) zlib1g (2 1:1.1.3) Provides: 1.4.5-1 - Reverse Provides:

А чтобы посмотреть только его зависимости: [root]@[/] # apt-cache depends penguin-command penguin-command Depends: libc6 Depends: libpng2 Depends: libsdl-mixer1.1 Depends: libsdl1.1 Depends: zlib1g

В общем, мы имеем полный арсенал для поиска имен нужных нам пакетов.


5.2 Применение dpkg для поиска имен пакетов

Один из способов найти имя пакета - знать имя какого-либо важного файла, находящегося в этом пакете. Например, чтобы найти пакет, которому принадлежит некий файл ".h", нужный вам для компиляции, может запустить: [root]@[/] # dpkg -S stdio.h libc6-dev: /usr/include/stdio.h libc6-dev: /usr/include/bits/stdio.h perl: /usr/lib/perl/5.6.0/CORE/nostdio.h

или: [root]@[/] # dpkg -S /usr/include/stdio.h libc6-dev: /usr/include/stdio.h

Чтобы найти имя пакета, установленного в вашей системе, что полезно, например, если вы планируете почистить место на диске, дайте команду: [root]@[/] # dpkg -l | grep mozilla ii mozilla-browse 0.9.6-7 Mozilla Web Browser

Проблема этой команды в том, что она может "испортить" имя пакета. В примере выше, полное имя пакета mozilla-browser. Чтобы это исправить, вы можете изменить значение переменной окружения COLUMNS: [kov]@[couve] $ COLUMNS=132 dpkg -l | grep mozilla ii mozilla-browser 0.9.6-7 Mozilla Web Browser - core and browser

или использовать описание или часть его следующим образом: [root]@[/] # apt-cache search "Mozilla Web Browser" mozilla-browser - Mozilla Web Browser


5.3 Установка пакетов "по запросу"

Вы собираете пакет, и вдруг, бах! Ошибка из-за того, что нет какого-то там нужного файла .h. От такого поворота событий вас может спасти программа auto-apt. Она запрашивает какие пакеты установить, если они нужны, останавливает соответствующий процесс и продолжает его после установки пакета.

Для этого, в основном, запустите: auto-apt run command

Где `command' - это команда, при выполнении которой может обнаружиться отстутствие некоего файла. Например: auto-apt run ./configure

Она запросит установку необходимых пакетов и вызовет apt-get автоматически. Если вы работаете в X, то графический интерфейс будет по умолчанию заменен на текстовый.

Auto-apt сохраняет базы данных в обновленном состоянии, чтобы быть более эффективной. Это достигается вызовом команд auto-apt update, auto-apt updatedb и auto-apt update-local.


5.4 Как определить, какому пакету принадлежит файл

Если вы хотите установить пакет и не можете найти его название с помощью apt-cache, но знаете имя программы этого пакета или имя любого другого файла из этого пакета, то для поиска имени пакета вы можете воспользоваться программой apt-file. Используется она примерно так: $ apt-file search имя-файла

Работает она примерно также как и dpkg -S, но будет показывать также и неустановленные пакеты, которые содержат указанный файл. Команда может применяться также для поиска заголовочных файлов, которые могут потребоваться при компиляции программ, хотя auto-apt в данном случае более хорош, см. Установка пакетов "по запросу", раздел 5.3.

Также вы может посмотреть список файлов в пакете командой: $ apt-file list имя-пакета

apt-file хранит базу данных, в которой отслеживает какие файлы содержат пакеты также, как это делает auto-apt и ему нужно ее обновлять. Это делается так: # apt-file update

По умолчанию, apt-file использует базу данных auto-apt, см. Установка пакетов "по запросу", раздел 5.3.


5.5 Как получить информацию об изменениях в пакете.

Каждый пакет устанваливает в свой каталог документации (/usr/share/doc/packagename) файл, называемый changelog.Debian.gz, который содержит список изменений, сделанных в пакете в последней версии. Вы можете прочесть эти файлы, например, утилитой zless', но в общем-то не слишком удобно после полного обновления системы искать changelog`и для каждого обновленного пакета.

Можно автоматизировать эту задачу с помощью инструмента apt-listchanges. Для начала надо установить пакет apt-listchanges. В течение инсталляции, Debconf настроит его. Отвечайте на вопросы так, как вам будет удобнее.

Опция "Should apt-listchanges be automatically run by apt?" очень полезна, так как показывает список изменений, сделанных в каждом установленном при обновлении пакете, и позволяет вам проанализировать ситуацию перед тем, как продолжить. Опция "Should apt-listchanges prompt for confirmation after displaying changes?" запрашивает у вас разрешения продолжать после чтения списка изменений. Если вы скажете, что не хотите продолжать, то apt-listchanges вернет ошибку и apt прервет установку.

После установки apt-listchanges, как только пакеты скачаются (или будут получены с CD или смонтированного диска) с помощью apt, можно будет смотреть списки изменений, сделанных в ранее установленных пакетах.


[ назад ] [ Содержание ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ вперед ]

APT HOWTO

1.8.2 - Ноябрь 2002

Gustavo Noronha Silva kov@debian.org