[ назад ] [ Зміст ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ далі ]


APT HOWTO
Глава 7 - Технічні прийоми та трюки


7.1 Як встановлювати пакунки „при потребі“

Ви компілюєте програму і, раптом, бабах! Помилка — немає потрібного .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.


7.2 Кешування пакунків

Якщо ви маєте справу з декількома машинами в мережі, можливо, корисним було б використовувати систему кешування пакунків, щоб не стягувати пакунки для кожної машини окремо. В цьому підручнику йтиметься про пакунок apt-proxy, що дозволяє створити таку систему. Хоча, існують і інші рішення — наприклад, apt-cacher. Ви маєте можливість спробувати їх усі і визначитись з найкращим для себе вибором.

Перш за все, встановіть пакунок apt-proxy. Він зареєструє себе в inetd для очікування запитів по 9999 порту. Можливо, вам знадобиться перезапустити службу inetd.

Після цього потрібно відредагувати файл /etc/apt-proxy/apt-proxy.conf, в якому перераховані справжні сервери, з яких apt-proxy завантажуватиме списки пакунків та власне самі пакунки. В якості методів передачі даних можна використовувати http, ftp та rsync. Стандартний файл з налаштуваннями „бекендів“ (backend) виглядає приблизно так:

     add_backend /debian/                                    \
             $APT_PROXY_CACHE/debian/                        \
             http://ftp.us.debian.org/debian/                \
             http://ftp.de.debian.org/debian/                \
             http://ftp.uk.debian.org/debian/                \
             +ftp.us.debian.org::debian/

Це означає, що кожного разу, коли клієнт намагається щось отримати з теки /debian/, apt-proxy буде використовувати свій кеш, перераховані http-дзеркала Debian та один rsync-сервер, якому надається перевага при завантаженні списку пакунків (наявність знаку „+“ свідчить про надання переваги даному серверу при завантаженні файлів control).

Отже, як клієнт може використовувати цей „бекенд“? Додавши наступний рядок до файлу /etc/apt/sources.list на стороні клієнта (включаючи машину, на якій встановлено apt-proxy):

     deb http://server:9999/debian/ stable main

Рядок виглядає як звичайний. Відмінність полягає в тому, що там, де зазвичай вказується http- або ftp-дзеркало, ви вказуєте ваш apt-proxy-сервер, використовуючи значення порту 9999 і потім вибираєте „бекенд“. По завершенню всіх цих налаштувань, спочатку на одній з машин оновіть список пакунків та оновіть всі пакунки до нових версій; таким чином, пакунки будуть стягуватись з серверу тільки один раз. Після оновлення першої машини можна оновлювати й інші.

Для імпортування пакунків, що входять в ваш поточний кеш APT можна скористатись командою apt-proxy-import, запустивши apt-proxy-import /var/cache/apt/archives. Зверніть увагу, що перед використанням apt-proxy-import вам необхідно запустити процес оновлення на хоча б одному з клієнтів кеша apt-proxy.

Ви можете дізнатись більше про apt-proxy, прочитавши коментарі в файлі /etc/apt-proxy/apt-proxy.conf. Наприклад, в кінці файлу ви знайдете приклади налаштувань використання apt-proxy з http- або ftp-проксі.


7.3 Визначення найкращого джерела для використання в файлі sources.list: netselect, netselect-apt

Дуже часто, переважно від нових користувачів, можна почути питання: „яке дзеркало Debian включати до sources.list?“. Існує багато методів визначення такого дзеркала. Експерти, ймовірно, мають скрипт, що вимірює та порівнює час відгуку від декількох джерел. Однак є програма, що зробить це і для нас: netselect.

Як і завжди, щоб встановити netselect:

     # aptitude install netselect

При запуску її без параметрів відображається довідка. З списком дзеркал, розділених пробілами, вона поверне оцінку і один з вузлів. При визначенні цієї оцінки береться до уваги приблизний час відгуку, кількість „стрибків“ (вузлів, через які мережевий запит пройде перед тим, як потрапити до заданої цілі) та обернено пропорційна швидкість завантаження; отже, чим менше оцінка, тим краще. Програма повертає назву дзеркала, що має найнижчу оцінку (повний список оцінок можна побачити, додавши опцію -vv). Ознайомтесь з таким прикладом:

     # netselect ftp.debian.org http.us.debian.org ftp.at.debian.org download.unesp.br ftp.debian.org.br
       365 ftp.debian.org.br
     #

Це означає, що з дзеркал, вказаних в якості параметрів до netselect, найкращим виявилось ftp.debian.org.br з оцінкою 365. (Увага!! Оскільки команда виконувалась на моєму комп'ютері, а топографія мережі дуже сильно відрізняється в залежності від точки входу, ця цифра не обов'язково буде правильним значенням швидкості для інших машин).

Тепер просто помістіть найшвидше дзеркало, знайдене за допомогою netselect, у файл /etc/apt/sources.list (див. Файл /etc/apt/sources.list, розділ 3.1) та виконуйте наведені у відповідному розділі вказівки (див. Керування пакунками, Глава 4).

Зверніть увагу: список дзеркал завжди можна знайти за адресою http://www.debian.org/mirror/mirrors_full.

Починаючи з версії 0.3, джерельний пакунок netselect створює двійковий пакунок netselect-apt, котрий виконує всі наведені вище дії автоматично. Просто введіть гілку збірки в якості параметру (за замовчанням stable) і програма згенерує файл sources.list з найкращими загальними та не-США дзеркалами, після чого збереже його в поточній теці. Наступний приклад генерує sources.list для стабільної збірки:

     # ls sources.list
     ls: sources.list: File or directory not found
     # netselect-apt stable
     (...)
     # ls -l sources.list
     sources.list
     #

Нагадуємо: файл sources.list генерується в поточній теці і його потрібно перемістити до теки /etc/apt.


7.4 Видалення зайвих файлів локалей: localepurge

Багато користувачів Debian використовують тільки одну локаль. Наприклад, бразильський користувач зазвичай завжди використовує локаль pt_BR і не цікавиться локаллю es.

localepurge для таких користувачів є вельми корисним інструментом. Ви можете звільнити багато дискового простору, використовуючи лише ті локалі, котрі вам насправді потрібні. Просто виконайте apt-get install localepurge.

Налаштування є дуже простим, питання debconf допоможуть користувачеві здійснити його крок-за-кроком. Будьте дуже обережними, відповідаючи на перше запитання, бо неправильна відповідь може видалити всі файли локалей, навіть тих, якими ви користуєтесь. Єдиним шляхом до відновлення цих файлів буде перевстановлення всіх пакунків, що їх забезпечують.


7.5 Як залишатись проінформованим про зміни в пакунках

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

За допомогою інструменту apt-listchanges цю задачу можна автоматизувати. Для початку потрібно встановити пакунок apt-listchanges. Під час встановлення Debconf його налаштує. Деякі питання, можливо, не будуть відображатись, в залежності від того, який пріоритет ви вказали при налаштуванні самого Debconf. Давайте такі відповіді на питання, які вам більше довподоби.

Опція „Should apt-listchanges be automatically run by apt?“ є вельми корисною, оскільки показує список змін, внесених до кожного пакунку в процесі його оновлення та дозволяє вам проаналізувати ситуацію перед тим як продовжити. Опція „Should apt-listchanges prompt for confirmation after displaying changes?“ також корисна, вона запитує у вас підтвердження продовження встановлення після перегляду вами списку змін. Якщо відповідь — не продовжувати, — то apt-listchanges видасть помилку і apt перерве встановлення.

Після встановлення apt-listchanges, як тільки apt завантажить пакунки (або візьме їх з компакт-диску, або з підмонтованому диску), apt-listchanges виведе список змін, внесених до пакунків, перед їх встановленням.


[ назад ] [ Зміст ] [ 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