Перекладено Добровольським А.М. © 2001.
Вперед | Що де є | Назад |
Вдосконалений засіб керування пакетами
APT (Advanced Packaging Tool) спершу було розроблено для керування
пакетами в комплекті Debian GNU/Linux. Головним завданням, що висувалося
під час
розробки APT, була заміна системи вибору пакетів dselect в Debian
на більш потужну, здатну поєднати в собі простоту взаємодії з користувачем
з можливістю встановлення, поновлення та повсякденної роботи з встановленими
на машині програмами без необхідності вивчення користувачем тонкщів
системи керування пакетами, що використовується в комплекті, що постачає
ці програми. Довгий час система APT була доступна лише
користувачам Debian GNU/Linux, оскільки підтримувала лише один
тип системи керування пакетами -- застосований в Debian GNU/Linux менеджер
dpkg. Dpkg несумісний з використаною в Linux Mandrake Russian Edition
системою керування пакетами RPM. Ця несумісність полягає
не лише у виборі різних форматів, що використовуються для зберігання данних про
пакети програм, вона значно гибша.
Проте APT з самого початку проектувався як система, що не залежить від метода керування пакетами, що встановлені в системі, і ця особливість дозволила розробникам з бразильської компаніі Conectiva (www.conectiva.com.br) реалізувати в ній підтримку менеджера пакетів RPM. Таким чином, користувачі комплектів, що базуються на RPM (Linux Mandrake Russian Edition входить до їх кола), також отримали можливість використовувати цю потужну систему.
APT все ще знаходиться в стадіі розробки й її поточна версія,
що підтримує RPM, класифікується як нестала. Тим не меньш, це
не означає, що операціі, що виконуються посередництвом APT, можуть призвести
до несталості системи. Больше того, посередництвом APT стає можливим щільний
контроль за цілісністю системи -- перевірка порушених залежностей між
встановленими пакетами, виправлення помилок.
Система APT складається з декількох інструментів. Головним та найбільш
часто використовуємим є apt-get, інстумент керування пакетами. Apt-get
автоматично визначає залежності між пакетами та строго слідкує за
їх дотриманням під час
виконання будьякої з наступних операцій: встановлення, видалення або поновлення
пакетів.
Для коректної роботи APT вимагається існування одного або кількох репозитаріїв, в яких зберігаються пакети програм і відносно яких виконується узгодження пакетів, що встановлені на Вашій системі. Репозитарії можуть містити як офіційну версію комплекта, що поновлється його розробниками по мірі виходу нових версій програм, так і локальні наробки (наприклад, пакети, розроблені всередені компаніі).
Програма apt-get дозволяє встановлювати в систему пакети, що
потребують присутності інших, поки ще не встановлених, пакетів програм. В
цьому випадку apt-get вираховує, які з невстановлених пакетів потрібні, й
довстановлює їх, використовуючи всі відомі йому репозитаріі. Для
того, щоб apt-get мог скористатися тим чи інщим репозитарієм, відомості
про нього необхідно помістити в файл /etc/apt/sources.list
та виконати команду
apt-get update
Цю команду необхідно також виконувати кожен раз, коли Ви збираєтесь працювати з репозитарієм після великої перерви, так як APT під час пошуку пакетів керується базою данних про репозитарій, що відбиває його стан. Ця база данних створюється наново кожен раз, коли в репозитаріі відбуваютьсязміни (додавання, видалення або переназивання пакету). Для пришвидшення роботи apt-get зберігає місцеву копію бази данних і тому вона через деякий час цілком може не відповідати реальному стану репозитарія.
Після встановлення комплекту Linux Mandrake Russian Edition в
/etc/apt/sources.list
зазначено по два джерела:
для поновлень до "Spring 2001" та "Sisyphus".
Останні два репозитарія щоденно поновлюються розробниками, тому синхронізація локальної бази данних із репозитарієм до початку роботи з APT є необхідною. Таку синхронізацію достатньо робити один раз на день.
Щоб встановити пакет програм через APT, необхідно використовувати команду:
apt-get install назва_пакету
Іноді, в наслідок роботи з пакетами поза APT-ом, цілістність системи порушується й apt-get відмовляється виконувати операціі встановлення, видалення або оновлення. В цьому випадку необхідно повторити операцію, задавши параметр -f, що змушує apt-get виправити порушені залежності, якщо це можливо. В цьому випадку, необхідно уважно слідкувати за повідомленнями, що їх виводить apt-get, і чітко їх виконувати.
Команда
apt-get install назва_пакету
також використовується і для поновлення вже встановленого пакету або групи пакетів. В цьому випадку apt-get додатково перевіряє, чи поновилася версія пакета в репозитаріі порівняно до встановленого в системі. Коли Вам не відома точна назва пакету, для його пошуку можно скористатися програмкою apt-cache, що описана нижче.
Увага: apt-get завжди питає підтвердження виконання операціі встановлення та поновлення, за виключенням випадку, коли реально треба встановити в систему (або поновити) лише один пакет. Коли Ви не впевнені в тому, що в результаті виконання операціі система залишиться працездатною, запустіть apt-get з параметром -S, яка покаже звіт виконання операції поновлення, але справжнього поновлення виконано не буде.
Для видалення пакету використовують команду:
apt-get remove назва_пакету
Всі пакети, що залежать від видаляємого, також будуть видалені, щоб не порушувалась цілісність системи (коли відсутня потрібна для роботи програми бібліотека, то сама програма стає непрацездатною). У випадку видалення пакету, що належить до базових компонент системи, apt-get буде вимагати додаткового підтвердження операції, що виконується, з метою уникнення можливої випадкової помилки.
Для поновлення всіх встановлених пакетів використовується команда:
apt-get upgrade
Вона дозволяє поновити ті і лише ті встановлені пакети,
для яких є нові версіі в репозитаріях, що перераховані в
/etc/apt/sources.list
. При цьому з системи не буде видалено ніяких
інших пакетів. Цей спосіб корисний під час роботи із сталими пакетами програм,
відносно яких відомо, що вони не змінюються суттєво із зміною версіі.
Проте іноді відбуваються зміни в способах називання пакетів
чи зміна іх залежностей. Такі ситуаціі не відпрацьовуються командою
apt-get upgrade
, в наслідок чого відбувається порушення цілістності системи - з'являються невиконані залежності. Наприклад, переназивання
пакету MySQL-shared, що включає динамічно завантажувані бібліотеки для
роботи з ЗКБД MySQL, в libMySQL (що відбиває загальну тенденцію до називання
бібліотек в комплекті) не призводить до того, що встановлення поновленої
версіі libMySQL потребує видалення старої версіі MySQL-shared. Для розв'язання
цієї проблеми існує режим поновлення в маштабі комплекту --
apt-get dist-upgrade
.
У випадку оновлення всього комплекту, APT зробить порівняння Вашої системи з репозитарієм та видалит застарілі пакети, встановить нові версіі присутніх в системі пакетів, а також відслідкує ситуаціі з перейменуванням пакетів або зміною залежностей між старими та новими версіями програм. Все, що буде треба поставити (або видалити) додатково до вже наявного у вашій системі, буде зазначено у звіті apt-get, який APT видасть до початку самого оновлення.
Більш детальний опис команд програми apt-get можно знайти у довідковій системі комплекту на сторінках apt-get(8) та apt.conf(5).
Для пошуку в репозитаріі потрібного пакету можно скористатися програмкою apt-cache, яка дозволяє шукати не лише по назві пакету, але й по його опису.
Команда apt-cache search рядок
дозволяє знайти всі пакети,
в назвах або описах яких є зазначений рядок. Наприклад:
$ apt-cache search emacs
xemacs-el - The.el source files for XEmacs.
emacs - Things needed to run the GNU Emacs text editor.
auctex - Enhanced LaTeX mode for GNU Emacs
emacs-nox - The Emacs text editor without support for the X Window
System.
xemacs-info - Information files for XEmacs.
php-readline - readline module for PHP4
ed - The GNU line editor.
fetchmail - Full-featured POP/IMAP mail retrieval daemon
readline - A library for editing typed in command lines.
xemacs-mule - The XEmacs binary with mule (MUlti-Lingual Emacs)
support.
gpm - A mouse server for the Linux console.
jed - A fast, compact editor based on the slang screen library.
sylpheed - a GTK+ based, lightweight, and fast e-mail client
xemacs-extras - Files that XEmacs has in common with GNU Emacs.
emacs-leim - Emacs Lisp code for input methods for internationalization.
emacs-X11 - The Emacs text editor for the X Window System.
librep - An embeddable LISP environment
TeXmacs - A wysiwyg mathematical text editor
xemacs - An X Window System based version of GNU Emacs.
swi-prolog - Prolog interpreter and compiler.
emacs-el - The sources for Lisp programs included with Emacs.
Вперед | Що де є | Назад |