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


APT HOWTO
Глава 4 - Управление пакетами


4.1 Использование программы управления пакетами Debian: aptitude

Debian долгое время существовал с программой управления пакетами, которая была, как известно, трудна для понимания и использования, называемой dselect. Теперь же система Debian переходит к новой программе управления по умолчанию, называемой aptitude, основанной на библиотеке APT.

Если у вас установлен Sarge, то aptitude у вас установлен по умолчанию в базовой системе, иначе для продолжения установите пакет aptitude запуском, например, команды:

     # apt-get install aptitude

Попытайтесь избегать использование apt-get, вместо него используйте aptitude, так как он знает об APT намного больше и имеет некоторые уникальные особенности, вроде, пометка пакетов, которые были автоматически установлены для удовлетворения зависимостей, и запрос на их автоматическое удаление, в случае отсутствия необходимости их дальнейшего использования.

aptitude имеет два основных режима работы: основанный на ncurses пользовательский интерфейс (UI), предоставляющий навигацию по списку пакетов, как dselect, и управление из командной строки - как apt-get. Большинство примеров в этом документе используют UI на основе командной строки, но тех же результатов можно добиться и при использовании dselect-подобного UI.

Для запуска этого UI наберите в терминале aptitude -- это не требует привилегий суперпользователя, aptitude потребует автоматически права суперпользователя только, когда они потребуются. За основу усвойте: для доступа к строке меню в верхней части экране, вам нужно нажать F10, как советует вторая строка. Вторая строка содержит общую информацию о наиболее часто используемых функциях, таких как вызов помощи, выход, обновление списка пакетов и обработка.

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

Заметив, что aptitude работает несколько проще других программ управления пакетами: вы делаете свой выбор и затем выполняете изменения. Почти все действия по управлению установкой пакета по завершении требуют двойного нажатия g для подтверждения вступления в силу. При первом нажатии g - вам предоставят список изменений для выполнения, затем вы можете нажать g для подтверждения изменений, или q для отмены.

Подобным образом, вы можете нажать клавишу Enter для получения информации о пакете или группе пакетов -- например, вы можете нажать Enter при выбранной надписи 'Новые пакеты' для просмотра списка секций. При нажатии Enter на секции - вы увидите список новых пакетов в этой секции, и вы сможете увидеть более детальную информацию о пакете нажатием Enter на нём. Заметим, что просмотр детальной информации о пакете, изменяет контекст просмотра программы aptitude, для возврата обратно вам нужно нажать q.

Первоначально пакеты разбиты на категории по состоянию установки и некоторым другим специальным критериям. Вы увидите следующее при первом вызове aptitude:

     --- Новые пакеты
     --- Обновляемые пакеты
     --- Установленные пакеты
     --- Неустановленные пакеты
     --- Устаревшие и созданные локально пакеты
     --- Виртуальные пакеты
     --- Задачи

Новые пакеты - пакеты, вошедшие в Debian с тех пор, как вы последний раз очистили ваш список новых пакетов, используя опцию Забыть новые пакеты в меню Действия, или нажав клавишу "f".

Обновляемые пакеты - установленные пакеты, для которых доступны новые версии. Установленные пакеты - соответственно, установленные пакеты, Неустановленные пакеты - пакеты, доступные хотя бы из одного источника APT. Устаревшие и созданные локально пакеты - пакеты, более не доступные ни с одного из источников APT, или созданные вами. Виртуальные пакеты - служебные пакеты, в отличие от конкретного программного обеспечения, предоставляемые некоторыми особыми пакетами. Наконец, Задачи - сборники пакетов, объединённые по назначению, а также используемые программой tasksel.

Нажатие Enter на одной из категорий расширит дерево выбора до примерно следующего вида:

     --\ Неустановленные пакеты
       --- admin - Административные утилиты (для установки ПО, управления пользователями и т.д.)
       --- base - Базовая система Debian
     [...]

Переход глубже покажет:

       --\ games - Games, toys, and fun programs
         --- contrib - Programs which depend on software not in Debian
         --\ main - The main Debian archive
     p     3dchess                                               <none>     0.8.1-10

This shows us one package which is a not installed one, that is a game and that is available from the main Debian repository, which is what the Debian distribution is officially.

В центре экрана располагается отмеченная строка, заполняемая некоторым текстом, когда вы отмечаете пакет. Это то, что мы называем кратким описанием пакета. Ниже располагается текстовое поле, содержащее более детальную информацию о пакете. Это полное описание. Иногда полное описание занимает больше пространства, чем отведённо под него, нажатием клавиши "z" описание можно прокрутить вниз, а нажатием "a" - вверх.

См. Установка и переустановка пакетов, раздел 4.4 для более полной информации о данных, описанных здесь.


4.2 Обновление списка доступных пакетов

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

Чтобы обновить этот список, вы должны использовать команду aptitude update. Эта команда просматривает списки пакетов в архивах, указанных в файле /etc/apt/sources.list; см. более полные сведения об этом файле в Файл /etc/apt/sources.list, раздел 3.1. К тому же вы можете использовать клавишу "u" для обновления списка пакетов, если aptitude у вас запущен в режиме ncurces-интерфейса.

One of the steps that APT takes in updating your database is to verify that the list of packages and their MD5 sums is secure. It does this by verifying a cryptographic signature, and checking some MD5 sums; see APT's chain of trust, раздел 2.3 for more information. If APT finds that the signature is incorrect, or that the MD5 sums do not match, you may get an error while updating your package database. This is to prevent trojaned packages from being installed on your computer. If this occurs, there may be a configuration problem (such as an out-of-date key) which you can solve. Failing this, you should contact the administrator of the apt source that failed.

Было бы неплохо запускать эту команду регулярно, чтобы ваша система всегда была в курсе об обновлениях доступных пакетов, особенно обновлениях безопасности.


4.3 Поиск пакетов

Aptitude предлагает очень гибкий и мощный инструмент поиска. Вы можете получить к нему доступ, нажав клавишу "/" (косая черта). Это откроет небольшое диалоговое окно в центре экрана.

Вы можете ввести имя пакета. Пока вы вводите aptitude будет вести поиск. Если найденный пакет не совсем то, что вам нужно - вы можете выйти из диалога и затем нажать клавишу "n" для повторного поиска с тем же шаблоном.

Вы можете использовать регулярные выражения[2] в диалоговом окне поиска, только помните, что aptitude имеет собственный поисковый язык, частично совпадающий с регулярными выражениями. Давайте рассмотрим его на примерах. Для начала, если вы хотите иметь точное совпадение со строкой "gnome" введите в окне поиска "^gnome$".

Заметим, что выше для поиска использовалось только имя пакета. Если вы хотите вести поиск и в описаниях - вам нужно использовать подстроку "~d", введённую вначале поискового выражения. Таким образом, если вы хотите произвести поиска всех пакетов, ссылающихся на "isolinux" в своих описаниях, то вам нужно написать "~disolinux" в окне поиска.

Также вы можете произвести поиск всех поврежденных на текущий момент пакетов, используя "~b"; искать все удалённые пакет с сохранившимися файлами настроек можно с помощью "~c".

Информацию о более сложных типах поиска в aptitude можно получить в Руководстве пользователя Aptitude, которое можно найти в меню Помощь.

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

     $ aptitude search '~c'
     c A abiword-common                  - WYSIWYG word processor based on GTK2
     c A acme                            - Enables the "multimedia buttons" found on
     (...)

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


4.4 Установка и переустановка пакетов

Наконец, ваш sources.list готов и обновлен список доступных пакетов - вам остается только запустить aptitude для установки желаемых пакет.

Когда вы вошли в aptitude, вы можете установить один или более пакетов нажатием клавиши "+", если требуемый пакет выделен. Для поиска необходимого пакета можно использовать клавишу "/", см. Поиск пакетов, раздел 4.3. После того как вы запросите установку пакета, он будет отмечен зелёным цветом, и строка будет выглядеть следующим образом:

     pi    celestia-gnome                                        <none>     1.3.0-1

Это означает, что пакет не установлен ('p') и отмечен для установки. Слово <none> означает, что никакая версия пакета не установлена, а номер версии далее - означает отметку о запросе на установку.

Заметим, что когда вы запрашиваете установку, также автоматически отмечаются для установки другие дополнительные пакеты. Это зависимости, предложения и рекомендации для выбранного пакета. Они, вероятно, будут отмечены следующим образом:

     piA   gnome-bin                                             <none>     1.4.2-16

Заглавная буква 'A' показывает, что пакет будет установлен из-за того, что другой пакет зависит от него. Все пакеты установленные таким образом будут удалены после исчезновения необходимости в их использовании. Вы можете установить такую отметку вручную для пакета, отмеченного курсором, нажатием "M" .

A 'U' sign at the forth column means that package comes from an untrusted source, which means there's no signed Release file for the source that package comes from or its public key has not been imported into APT's keyring. See Управление пакетами, раздел 3.2 to understand what you should do to have that source be trusted. You may have that same package in one of the trusted sources too, though, so you may want to take a look at the detailed information about available versions of that package.

Вы можете получить подробную информацию о выделенном пакете нажатием Enter. При этом отобразиться примерно следующая информация:

     i A --\ xterm                                             4.2.1-14     4.2.1-14
       Description
     xterm - X terminal emulator
     xterm is a terminal emulator for the X Window System.  It provides DEC VT102
     and Tektronix 4014 compatible terminals for programs that cannot use the
     window system directly.  This version implements ISO/ANSI colors and most of
     the control sequences used by DEC VT220 terminals.
       Priority: optional
       Section: x11
       Maintainer: Branden Robinson <branden@debian.org>
       Compressed size: 547k
       Uncompressed size: 1130k
       Source Package: xfree86
       --\ Depends
         --- libc6 (>= 2.3.2.ds1-4)
         --- libfreetype6 (>= 2.1.5-1)
         --- libncurses5 (>= 5.3.20030510-1)
         --- libxaw7 (> 4.1.0)
         --- xlibs (> 4.1.0)
         --- xlibs (> 4.2.0)
       --\ Conflicts
         --- xbase (< 3.3.2.3a-2)
         --- suidmanager (< 0.50)
       --\ Replaces
         --- xbase (< 3.3.2.3a-2)
       --- Packages which depend on xterm
       --\ Versions
     p A 4.3.0-0pre1v4
     i A 4.2.1-14

Those versions which are trusted will not have the 'U' letter at the forth column, so you just pick the one you want and tell aptitude to install. Our example above has different versions coming from trusted sources.

Заметим, что почти всегда, когда отображено три и более тире, вы можете нажать Enter для раскрытия подсписка. Тогда он будет выглядеть примерно так: --\. Теперь вы можете увидеть довольно много информации о пакете: от каких пакетов зависит, с какими конфликтует [3].

Также заметим, что внизу экрана (вы можете прокрутить экран вниз, используя клавиши стрелок и прокрутки страницы) отображены различные Версии пакета, доступные вам. Здесь пакет xterm имеет две доступные версии, потому что несколько источников APT предоставляют различные его версии.

Вы можете установить версию по желанию нажатием "+" на ней. Напомним, что вам нужно попросить aptitude выполнить отмеченные вами изменения. Что бы сделать это - нажмите "g". Aptitude отобразит список действий, которые он выполнит по вашему требованию:

     --\ Packages being automatically installed to satisfy dependencies
     ciA calctool                                                <none>     4.3.16-2
     --\ Packages being held back
     ih  libgnomeprintui2.2-0                                   2.4.0-1     2.4.2-1
     --\ Packages to be installed
     pi  gwget2                                                  <none>     0.7-3
     --\ Packages to be removed
     ip  qvwm                                                1:1.1.12-1     1:1.1.12-1

Все элементы достаточно понятны. Правда, фиксируемый пакет - здесь новое понятие. О нём вы можете прочитать в FIXME: статья о фиксации. После проверки изменений, подтвердите сделанный выбор повторным нажатием клавиши "g".

aptitude will now start the process of downloading and installing the packages you have selected. APT may also start upgrading any packages that need to be upgraded at this time (see Обновление пакетов, раздел 4.7). If you have selected packages from untrusted sources aptitude will show you a list of those packages and prompt you before starting to obtain the packages whether you really want to install them. See APT's chain of trust, раздел 2.3 for more information on secure sources.

Если вы хотите переустановить пакет, скажем, чтобы восстановить случайно удалённые файлы - можно нажать клавишу "L", чтобы отметить пакет для переустановки. После этого процесс установки, по вашему желанию, повторится.

Также для установки и переустановки пакетов вы можете использовать aptitude без диалогового UI следующим образом:

     # aptitude install package1 package2 ...
     # aptitude --reinstall install package1 package2 ...

4.5 Установка debian-пакетов, загруженных вручную или созданных локально

Если вы вручную загрузили файл .deb из сети или получили .deb из какого-то другого источника, используя APT, то для его установки вы не сможете воспользоваться aptitude или какой-то другой основанной на APT программой.

Для этого вам придется использовать базовый инструмент управления пакетами, на которые ложится основная работа по установке пакетов - даже aptitude вызывает этот инструмент при установке: dpkg.

Вы может установить пакет, выполнив:

     # dpkg -i file.deb

Если вы хотите использовать нестабильную ветку Debian или желаете создавать Debian-пакеты , вам надо побольше узнать о dpkg! Это очень мощный инструмент и имеет множество полезных параметров.


4.6 Удаление пакетов

Если пакет вам больше не нужен, то вы можете удалить его из вашей системы, используя APT. Чтобы сделать это нажмите "-" для выделенного пакета в aptitude. Это действие отметит пакет для удаления строкой пурпурного цвета, как указано ниже:

     id    celestia-gnome                                       1.3.0-1     1.3.0-1

Заметим, что примерно так будет выглядеть строка после удаления пакета:

     c    ocaml-base                                             <none>     3.07.2a-1

Как видно, вместо p в начале строки присутствует c. Это означает, что в моей системе пакет ocaml-base был удалён, но остались файлы с настройками. Для удаления пакета вместе с его настройками вам надо использовать клавишу "_" [4] -- это действие называется зачистка.

Одно важное замечание: если вы попытаетесь удалить пакет, от которого зависят установленные пакеты, появятся повреждённые пакеты, как показывает верхняя часть экрана aptitude:

     aptitude 0.2.13      #Broken: 1   Will free 208MB of disk space

Повреждённые пакеты будут отмечены следующим образом:

     iBA   openoffice.org                                       1.1.0-3     1.1.0-3

Вы можете попытаться восстановить повреждение, найдя неправильно удалённые пакеты так, чтобы не осталось нарушенных зависимостей, или попросить aptitude выполнить это нажатием клавиши "g". Он попытается восстановить все повреждения. Если решение, найденное программой, не удовлетворит вас, вы можете вмешаться вручную до подтверждения клавишей "g".

Вы можете провести поиск повреждённых пакетов, выполнив последовательно: нажатие "/", ввод в качестве шаблона "~b" и нажатие Enter. Следующее совпадение можно найти, используя клавишу "n". См. FIXME: статья о поиске!

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

     # aptitude remove package1 package2 ...
     # aptitude purge package1 package2 ...

4.7 Обновление пакетов

Обновление пакетов главный плюс системы APT. Aptitude автоматически отмечает для обновления пакеты, имеющие новые версии. Таким образом всё, что вам нужно сделать для обновления системы - это обновить список пакетов (см. Обновление списка доступных пакетов, раздел 4.2), а затем попросить aptitude приняться за работу нажатием "g", после просмотра необходимых изменения - подтвердите их повторным "g".

Вы можете проверить список пакетов, имеющих доступные новые версии, проверив класс Обновляемые пакеты:

     --\ Upgradable Packages
       --\ libs - Collections of software routines
         --\ main - The main Debian archive
     iu    libgnomeprintui2.2-0                                 2.4.0-1     2.4.2-1

Пакеты, отмеченные для обновления, отображаются циановым цветом и имеют отметку u в разряде выполняемых действий. Если же вы хотите обновить систему до нового выпуска Debian, то прочитайте следующий параграф Обновление нового выпуска, раздел 4.8.


4.8 Обновление нового выпуска

Эта возможность APT позволяет вам обновлять всю систему Debian за один прием, или через Internet, или с нового CD (купленного или загруженного в виде образа ISO).

Например, предположим, что вы используете выпуск 0 стабильной версии Debian и вы покупаете CD с выпуском 3. Вы можете использовать APT для обновления вашей системы с этого нового CD. Для этого используйте команду apt-cdrom (см. раздел Добавление CD-ROM в файл sources.list, раздел 3.3) для добавления CD в ваш файл /etc/apt/sources.list и запустите aptitude для продолжения установки, как описано выше.

Важно иметь в виду, что APT всегда высматривает новейшие версии пакетов. Поэтому, если в вашем /etc/apt/sources.list были указаны архивы, которые имеют более новые версии пакетов, чем версия этого CD, то APT должен загружать пакеты с них.

Если вы хотите обновить систему, используя Internet - вам необходимо соответствующим образом настроить файл /etc/apt/sources.list. Выпуск нового стабильного варианта Debian, обычно, является поводом для запуска стандартной операции обновления в aptitude. Если в вашем /etc/apt/sources.list используются условные имена выпусков [5], то вам надо сменить имя выпуска на новое или заменить на `stable'.

Например, так:

     deb http://http.us.debian.org/debian woody main

Рассмотрим каждую строку следующего примера по отдельности при условии, что произошла стабилизация Sarge и что мы хотим использовать на компьютере текущую стабильную систему:

     deb http://http.us.debian.org/debian sarge main
     deb http://http.us.debian.org/debian stable main

Отличие здесь в том, что первая строка будет удерживать вас в sarge столько сколько пожелаете, даже если появится новый стабильный выпуск. Это может быть полезным, если вы хотите сами определить момент обновления до нового стабильного выпуска. Второй строка примера автоматически обновит вашу систему до нового стабильного выпуска, как только он появится.


4.9 Сохранение пакетов в состоянии hold

Как мы видели в предыдущем параграфе, aptitude автоматически отмечает пакеты для обновления. Если же вы хотите сохранить установленной текущую версию - вы можете попросить программу зафиксировать пакет.

Этого можно добиться нажатием клавиши "=". Пакет будет воздерживаться от обновления, это может выглядеть следующим образом:

     ih    alien                                                   8.41     8.41

В этом примере, версия пакета alien останется 8.41 даже, если в APT источнике появится новая версия -- обратите внимание на символ h слева. Чтобы перевести пакет в нормальное состояние, просто отметьте его для установки.

Также вы можете перевести пакеты в состояние hold, используя интерфейс командной строки, следующим образом:

     # aptitude hold package1 package2 ...

4.10 Удаление неиспользуемых пакетных файлов: clean и autoclean

Когда вы устанавливаете пакет, APT запрашивает необходимые файлы с серверов, перечисленных в /etc/apt/sources.list, и сохраняет их в локальном репозитории (/var/cache/apt/archives/), а затем выполняет установку (см. Установка и переустановка пакетов, раздел 4.4).

С течением времени локальный репозиторий может разрастись и занять некоторую часть дискового пространства. На этот случай, в системе APT предусмотрены следующие средства: методы clean и autoclean программы aptitude.

Метод clean вызывается пунктом Очистить кеш пакетов в меню Действия. Он используется для удаления всех загруженных .deb файлов. Метод autoclean вызывается пунктом Удалить устаревшие файлы, также в меню Действия.

Метод autoclean, в основном, используется теми, кто хочет оставить локальную копию установленных на текущий момент пакетов. Этот метод удаляет только те .deb файлы, которые не предоставляются никаким APT источником, и, таким образом, являются устаревшими.


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


APT HOWTO

2.0.2 - October 2006

Gustavo Noronha Silva kov@debian.org