[ назад ] [ Зміст ] [ 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 інтерфейс користувача (ІК), більш схожий на dselect, та інтерфейс командного рядка, більш схожий на apt-get. В більшості прикладів з цього документу використовується саме інтерфейс командного рядка, однак ті ж самі результати можуть бути досягнуті і при використанні dselect-подібного ІК aptitude.

Для того, щоб увійти до цього ІК просто наберіть aptitude в терміналі — для цього не потрібно бути користувачем root, aptitude сам автоматично запитає вас пароль суперкористувача, якщо в цьому виникне потреба. Засвойте: для доступу до меню, що знаходиться в верхній частині екрану, ви повинні натиснути F10, про що повідомляє нам другий рядок. В цьому рядку міститься деяка загальна інформація про команди, які використовуються найчастіше, такі як отримання довідки, вихід, оновлення списку пакунків та їх обробка.

Щоб глибше зрозуміти як все це працює, перегляньте Довідник користувача, що знаходиться в меню допомоги.

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

Так само, натиснувши Enter, ви отримаєте більш детальну інформацію про пакунок або групу пакунків — наприклад, якщо поточним вибором (підсвічений рядок) є „New Packages“, натиснувши Enter, ви побачите список розділів. Натискаючи Enter над відповідним розділом ви матимете змогу переглянути список нових пакунків в цьому розділі і, знову ж таки натискаючи Enter над відповідним пакунком, переглянути детальну інформацію про цей пакунок. Зауважте, що під час деталізованого відображення інформації про пакунок змінюється контекст перегляду aptitude і для того, щоб повернутись назад, потрібно буде натиснути q.

Зазвичай пакунки поділено в залежності від їх стану (встановлений/не встановлений) та за деякими іншими ознаками. При першому запуску aptitude ви побачите:

     --- New Packages
     --- Upgradable Packages
     --- Installed Packages
     --- Not Installed Packages
     --- Obsolete and Locally Created Packages
     --- Virtual Packages
     --- Tasks

В розділі „New Packages“ знаходяться пакунки, що були долучені до архіву Debian з того часу, як ви востаннє очищали вас список нових пакунків (за допомогою пункту Forget new packages меню Actions, або натискаючи клавішу f).

Upgradable Packages — це встановлені пакунки, для яких доступні нові версії. Installed Packages — це відповідно встановлені пакунки, а Not Installed Packages — не встановлені, але доступні на одному з джерел APT. Пакунки, яких більше немає на жодному з джерела APT, або створені та встановлені вами власноруч знаходяться в розділі Obsolete and Locally Created Packages. Virtual Packages — пакунки, що, на відміну від конкретизованого програмного забезпечення, тільки визначають послуги і можуть „забезпечуватися“ одним з декількох специфічних пакунків. І нарешті Tasks — це набори пакунків, які призначено для виконання деякої цілком конкретної задачі, ці збірки також використовуються програмою tasksel.

Натискання Enter над одним з цих розділів розкриє подібне до наступного дерево:

     --\ Not Installed Packages
       --- admin - Administrative utilities (install software, manage users, etc)
       --- base - The Debian base system
     [...]

Рухаючись вглиб цього дерева, матимемо:

       --\ 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

Ми бачимо пакунок, що на разі є невстановленим, це гра (game) і відповідний пакунок знаходиться в основному сховищі Debian, а отже є частиною офіційної Debian.

В центрі екрану знаходиться виділений рядок, в якому з'являється текст коли ви вибираєте той чи інший пакунок. Це те, що ми називаємо коротким описом пакунка. Нижче розміщено текстову область, що містить більш детальні інформацію про пакунок. Це — довгий опис. Іноді довгий опис є занадто довгим і не в змозі розміститись в межах виділеного прямокутника, в такому разі натискання клавіш „z“ та „a“ дозволяє гортати його вниз та вгору відповідно.

Щоб дізнатись про це більше, перегляньте Встановлення та перевстановлення пакунків, розділ 4.4.


4.2 Оновлення списку наявних пакунків

Система керування пакунками використовує свою власну базу даних для відслідковування вже встановлених, не встановлених та доступних для встановлювання пакунків. Програма aptitude використовує цю базу даних як джерело інформації про пакунки, вказані користувачем в запиті на встановлення, та з'ясування, які додаткові пакунки є необхідними, щоб вибраний пакунок працював належним чином.

Для оновлення цієї бази ви можете скористатись командою aptitude update. Ця команда переглядає списки пакунків в архівах, вказаних в /etc/apt/sources.list; див. Файл /etc/apt/sources.list, розділ 3.1, щоб дізнатись більше про цей файл. Також, щоб оновити список пакунків ви можете натиснути клавішу "u", знаходячись у псевдо-графічному (ncurses) режимі aptitude.

Одним з кроків, що їх здійснює APT під час оновлення вашої бази даних, є перевірка, чи список пакунків та їх MD5-суми були отримані безпечним чином. Це здійснюється шляхом перевірки криптографічного підпису та деяких MD5-сум; див. Ланцюжок довіри APT, розділ 2.3, щоб отримати більше інформації. Якщо APT виявляє, що підпис є неправильним або не співпадають деякі MD5-суми, то під час оновлення вашої бази даних пакунків, ви можете отримати повідомлення про помилку. Це робиться для того, щоб вберегти вас від встановлення пакунків-троянів на ваш комп'ютер. Якщо таке трапляється, можливо, це просто проблеми з налаштуваннями (наприклад, застарілі ключі), які ви в змозі вирішити самостійно. В іншому випадку сповістіть про цю проблему адміністратора відповідного джерела APT.

Було б непогано оновлювати список доступних пакунків регулярно, щоб ви та ваша система були проінформованими щодо можливих оновлень пакунків і, особливо, оновлень їх безпеки.


4.3 Пошук пакунків

Aptitude має дуже гнучкі та потужні можливості для пошуку пакунків. Для їх використання необхідно натиснути клавішу „/“ (slash, риска). Після цього відкривається невелике діалогове вікно в центрі екрану.

Тоді ви можете ввести назву пакунка. Aptitude знайде те, що ви ввели: якщо знайдений пакунок — це не зовсім те, чого ви хотіли, ви можете натиснути Enter, щоб діалогове віконце зникло, і, натискаючи клавішу „n“ повторювати пошук того ж самого рядка.

Ви можете використовувати регулярні вирази[2] в процесі пошуку, однак будьте обережними, бо aptitude має свою власну мову пошуку, котра дещо відрізняється від регулярних виразів. Розглянемо приклад: якщо ви хочете мати точне співпадання з рядком „gnome“, введіть „^gnome$“ в віконці пошуку.

Зверніть увагу, якщо ви шукаєте щось подібним чином, то пошук здійснюється по назвах пакунків. Якщо ви хочете шукати серед їх описів, вам треба ввести „~d“ перед виразом для пошуку. Так, якщо ви хочете знайти всі пакунки, в описах яких є слово „isolinux“, введіть в діалоговому віконці „~disolinux“.

Ви також можете знайти всі пошкоджені на на даний момент пакунки, ввівши „~b“, і всі пакунки, які були видалені, але конфігураційні файли яких залишились на вашому комп'ютері, ввівши „~c“.

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

Пошук пакунків також можна здійснювати з командного рядка:

     $ 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 готовий, ваші ключі додано до зв'язки APT і список доступних пакунків оновлено — вам залишається тільки запустити aptitude і встановити бажані пакунки.

Коли ви увійшли до aptitude, ви можете встановити один або декілька пакунків, натискаючи „+“, коли необхідний пакунок виділено. Ви можете використовувати клавішу „/“ для пошуку потрібного пакунка, більш детально про це можна дізнатись, переглянувши Пошук пакунків, розділ 4.3. Після того, як ви подаєте запит на встановлення пакунка, він виділяється зеленим кольором і рядок стає подібним до такого:

     pi    celestia-gnome                                        <none>     1.3.0-1

Це означає, що пакунок не встановлено („p“), але його позначено для встановлення. Слово <none> означає, що жодної версії не встановлено, а номер версії після цього слова — це версія пакунка, яка буде встановлена.

Зауважте, що коли ви встановлюєте деякі пакунки, деякі інші пакунки позначаються для встановлення автоматично. Це — залежності, пропозиції та рекомендації вибраного пакунка. Найвірогідніше, вони матимуть такі позначки:

     piA   gnome-bin                                             <none>     1.4.2-16

Велика літера „A“ означає, що цей пакунок був встановлений, бо інший пакунок залежить від нього. Всі пакунки, встановлені подібним чином, видаляються, коли стають непотрібними. Ви можете встановити таку позначку вручну, натиснувши клавішу „M“, коли курсор знаходиться над пакунком.

Позначка „U“ в четвертому стовпчику означає, що APT не довіряє джерелу, з якого взятий даний пакунок. Тобто для цього джерела файл Release не підписано, або його відкритий ключ не додано до зв'язки ключів APT. Щоб зрозуміти, як зробити джерело довіреним, перегляньте Автентифікація пакунків, розділ 3.2. Проте, можливо, цей самий пакунок є також в одному з довірених джерел, тому має сенс переглянути детальну інформацію про доступні версії пакунка.

Детальну інформацію про пакунок, який ви хочете встановити, можна переглянути, натиснувши 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

Версії, яким довіряє APT, не матимуть позначки „U“ в четвертому стовпчику, а ви можете просто вибрати те, що вам більше подобається, і сказати aptitude встановити це. В наведеному вище прикладі показано декілька різних версій з довірених джерел.

Зверніть увагу, що майже завжди, коли ви бачите три або більше дефіси, ви можете натиснути Enter, щоб розгорнути їх. Після цього вони перетворюються на --\. Тепер можна побачити досить багато інформації про пакунок, наприклад, від яких пакунків він залежить, з якими конфліктує[3], тощо.

Зауважте також, що в кінці екрану (можна переміщуватись донизу, натискаючи нижню стрілку або клавішу „Page Down“) знаходяться різні версії (Versions) пакунка, що є доступними на даний момент. Пакунок 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

Це все виглядає досить зрозумілим. Єдина нова річ — це так званий „зафіксований“ пакунок. Більше про це можна дізнатись, переглянувши Фіксування пакунків, розділ 4.9. Після перевірки змін — чи справді це є саме те, що ви бажаєте,— вам потрібно підтвердити свій вибір повторним натисканням клавіші „g“.

Після цього aptitude запустить процес завантажування та встановлення обраних вами пакунків. Разом з цим APT може почати процес оновлення тих пакунків, що потребують оновлення на даний момент (див. Оновлення пакунків, розділ 4.7). Якщо деякі з вибраних вами пакунків постачаються джерелами, яким APT не довіряє, aptitude покаже вам список таких пакунків і ще до початку завантаження пакунків впевниться, чи справді ви хочете їх встановити. Щоб отримати більше інформації про безпечні джерела APT, перегляньте Ланцюжок довіри APT, розділ 2.3.

Якщо ви хочете перевстановити пакунок, щоб, скажімо, заново отримати деякі втрачені внаслідок нещасного випадку файли, абощо, ви можете встановити відповідну позначку, натиснувши клавішу „L“.

Для встановлення або перевстановлення пакунків також можна використовувати aptitude, не входячи в інтерактивний режим користувача. Це робиться ось так:

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

4.5 Встановлення завантажених вручну або створених самостійно deb-пакунків

Якщо ви завантажили .deb-файл вручну з Internet або отримали його з будь-якого джерела без використання APT, для його встановлення ви не зможете використати ні aptitude, ні будь-яку іншу APT-базовану програму.

Натомість, вам потрібно скористатись послугами базового інструменту керування пакунками, який насправді і проробляє всю важку роботу під час встановлення пакунків — навіть aptitude звертається до нього під час встановлення: dpkg.

Ви можете встановити пакунок так:

     # dpkg -i file.deb

Якщо ви хочете використовувати нестабільну (unstable) гілку або бажаєте створювати пакунки 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

На початку рядка тепер знаходиться літера „c“, а не „p“. Це означає, що пакунок ocaml-base було видалено з моєї системи, але його конфігураційні файли залишились недоторканими. Натомість, щоб видалити пакунок разом з його конфігураційними файлами вам потрібно використовувати „_“[4] — цю дію називають „очищенням“ (purge).

Важливе зауваження: якщо ви спробуєте видалити пакунок, від якого залежить якийсь із встановлених пакунків, з'являться пошкоджені пакунки, про що aptitude проінформує вас повідомленням вгорі екрану:

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

Пошкоджені пакунки мають такі характерні позначки:

     iBA   openoffice.org                                       1.1.0-3     1.1.0-3

Ви можете спробувати виправити пошкодження власноруч, знімаючи позначки про видалення пакунків доти, доки пошкоджені залежності не зникнуть, або, натиснувши „g“, попросити aptitude розв'язати цю проблему самостійно. В останньому випадку aptitude спробує виправити всі пошкодження автоматично. Якщо прийняте програмою рішення вас не задовольняє, ви можете змінити його вручну перед повторним натисканням „g“ і затвердженням цих змін.

Ви можете здійснювати пошук серед пошкоджених пакунків, натиснувши „/“ та увівши „~b“ в якості пошукового виразу. Для пошуку наступного співпадання натисніть клавішу „\“. Також, пошкоджені пакунки можна шукати просто натискаючи „b“ і повторюючи для пошуку наступного пошкодженого пакунка. Щоб отримати більше інформації про методи пошуку пакунків, перегляньте Отримання інформації про пакунки, Глава 6.

Як і зазвичай, ви можете видаляти або очищати пакунки, працюючи в командному рядку:

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

4.7 Оновлення пакунків

Оновлення пакунків — це „родзинка“ APT. Aptitude автоматично позначить для оновлення пакунки, для яких доступні їх більш нові версії, тому все що ви маєте зробити для оновлення своєї системи — це, зазвичай, оновити список пакунків (перегляньте Оновлення списку наявних пакунків, розділ 4.2) і, натиснувши „g“, дати команду aptitude діяти; далі, після перегляду змін, необхідно їх підтвердити повторним натисканням „g“. Якщо aptitude не позначає пакунки для оновлення автоматично, ви можете зробити це самостійно шляхом натискання клавіші „U“ (велика „u“). Це — один з параметрів налаштувань, що встановлюється в меню Options->Misc.

Список пакунків, для яких є доступними новіші версії можна знайти розділі Upgradable Packages:

     --\ 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“. Якщо вашою метою є оновлення до нового випуску, тоді зверніться до наступного розділу, див. Оновлення до нового випуску, розділ 4.8.


4.8 Оновлення до нового випуску

Ця можливість APT дозволяє вам оновлювати одразу всю систему Debian, або через Інтернет, або з нового компакт-диску (придбаного чи завантаженого як ISO-образ).

Наприклад, нехай ви використовуєте нульовий випуск (rc0) стабільної версії Debian однак купили компакт-диск з третім випуском (rc3). Ви можете використати APT для оновлення вашої системи з нового КД. Для цього, скористайтесь програмою apt-cdrom (див. Додавання CD-ROM'у до файлу sources.list, розділ 3.3), щоб додати компакт-диск до вашого /etc/apt/sources.list та запустіть aptitude та пройдіть весь процес встановлення, як описано вище.

Важливо зазначити, що APT завжди шукає найновіші версії пакунків, однак лише після порівняння пріоритетності джерел, про що можна дізнатись детальніше, переглянувши Регулювання пріоритетності пакунків в APT, розділ 3.5. Зважаючи на це, якщо у вашому /etc/apt/sources.list є джерело, що містить новішу версію пакунка, ніж та, що знаходиться на компакт-диску і це джерело має такий самий або більший пріоритет ніж компакт-диск, то APT надаватиме перевагу саме цьому джерелу.

Якщо ви хочете оновити вашу систему через Internet, вам необхідно просто відповідним чином налаштувати файл /etc/apt/sources.list. Оновлення до нового стабільного випуску — це, як правило, звичайний процес оновлення в aptitude. Якщо ваш файл /etc/apt/sources.list базується на кодових назвах[5] випусків, вам потрібно оновити його, вказавши нову назву стабільного випуску або замінити її на stable.

Наприклад, цей рядок:

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

мав би набути такого вигляду, якщо ви хочете й надалі використовувати стабільний випуск на вашій машині після виходу Etch:

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

Вони відрізняються тим, що в першому випадку ви можете працювати з etch так довго, як забажаєте, навіть після того, як з'явиться новий стабільний випуск. Це виглядає корисним, якщо ви хочете самі вирішувати коли оновлюватись до нового випуску. В другому випадку ваша система автоматично оновиться після виходу нового stable.


4.9 Фіксування пакунків

Як ми бачили в попередньому розділі, aptitude позначає пакунки для оновлення автоматично. Якщо ж ви бажаєте зберегти встановленою поточну версію, то ви можете зафіксувати пакунок.

Це здійснюється шляхом натискання клавіші „=“. Пакунок буде захищено від оновлень, а виглядатиме він так:

     ih    alien                                                   8.41     8.41

В цьому прикладі пакунок alien буде зафіксовано на версії 8.41, навіть якщо в джерелах APT з'явиться нова версія — про це свідчить літера „h“ зліва. Щоб отримати можливість знову оновлювати цей пакунок, просто позначте його для встановлення.

Також, зафіксувати пакунок можна за допомогою інтерфейсу командного рядка, виконавши:

     # aptitude hold package1 package2 ...

4.10 Видалення непотрібних файлів пакунків: clean та autoclean

Коли ви встановлюєте пакунок, APT завантажує потрібні файли з джерел, вказаних в /etc/apt/sources.list, записує їх в локальне сховище (/var/cache/apt/archives/) і потім встановлює, як описано вище (див. Встановлення та перевстановлення пакунків, розділ 4.4).

З часом локальне сховище може вирости і зайняти багато дискового простору. На щастя, APT забезпечує інструменти для керування локальним сховищем: методиAPT — clean та autoclean.

Метод clean викликається при виборі пункту Clean package cache меню Actions. Він використовується для видалення всіх завантажених .deb-файлів. Метод autoclean викликається при виборі опції Clean obsolete files, також меню Actions.

Метод 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