Translation(s): Українська

Вступ

Спочатку був .tar.gz. Користувачі повинні були компілювати кожну програму, котру вони хотіли використовувати на власних системах GNU/Linux. Коли створювався Debian, виникла потреба у включенні до системи інструменту керування пакунками, встановленими на машині. Його назвали dpkg. Цей знаменитий „пакунок“ першим з'явився в GNU/Linux ще до того, як Red Hat вирішила створити свою власну систему rpm.

Досить швидко нова дилема постала в думках розробників GNU/Linux. Їм був потрібен швидкий, практичний та ефективний шлях для встановлення пакунків, з автоматичною обробкою залежностей та збереженням конфігураційних файлів під час оновлення. Знову ж таки, Debian виявився лідером та породив систему APT, Advanced Packaging Tool, котра в подальшому була портована фірмою Conectiva для використання з rpm та пристосована також до деяких інших дистрибутивів.

В цьому підручнику не описується apt-rpm (портування Conectiva відоме саме під такою назвою), але „латки“ до цього документу з цього приводу завжди радо вітаються.

Базові налаштування

Файл /etc/apt/sources.list

Щоб забезпечити виконання однієї зі своїх задач, APT використовує список джерел, з котрих пакунки можуть бути завантажені. Це — файл /etc/apt/sources.list.

Зазвичай, записи в цьому файлі мають такий вигляд:

    deb http://host/debian збірка розділ1 розділ2 розділ3
    deb-src http://host/debian збірка розділ1 розділ2 розділ3

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

Зазвичай, в стандартному файлі sources.list можна знайти такі рядки:

    # See sources.list(5) for more information, especially
    # Remember that you can only use http, ftp or file URIs
    # CDROMs are managed through the apt-cdrom tool.
    deb http://http.us.debian.org/debian stable main contrib non-free
    deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
    deb http://security.debian.org stable/updates main contrib non-free
    
    # Uncomment if you want the apt-get source function to work
    #deb-src http://http.us.debian.org/debian stable main contrib non-free
    #deb-src http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free

Ці рядки потрібні для базового встановлення Debian. Перший рядок deb вказує на офіційний архів пакунків, другий — на не-США архів, третій — на архів Debian, що призначений для оновлень безпеки.

Два останні рядки закоментовано (починаються з символу '#'), тому apt-get їх проігнорує. Ці deb-src рядки вказують на джерельні пакунки Debian. Якщо ви часто завантажуєте джерельні коди програм, з метою тестування або для рекомпіляції, просто розкоментуйте їх.

В файлі /etc/apt/sources.list можуть міститись декілька типів рядків. Наскільки мені відомо, APT вміє працювати з такими типами архівів як http, ftp, file (локальні файли; наприклад, тека з примонтованою файловою системою ISO9660) та ssh.

Не забудьте виконати apt-get update після внесення змін до файлу /etc/apt/sources.list. Це робиться для того, щоб змусити APT оновити списки пакунків з вказаних вами джерел.

Як використовувати APT локально

Інколи може виникнути ситуація, коли ви маєте купу пакунків .deb і хотіли б використати APT для їх встановлення, щоб залежності оброблялись автоматично.

Для цього вам потрібно створити теку та помістити в неї .deb-файли, які ви хочете проіндексувати. Наприклад:

    # mkdir /root/debs  Для вашого сховища ви можете напряму змінити набір значень, вказаних в файлі control кожного з пакунків, використовуючи файл override. Всередині цього файлу ви, якщо хочете, можете визначити деякі опції, котрі перекриють відповідні значення з файлів пакунків. Це виглядає приблизно так:

package — це назва пакунка, priority може набувати таких значень як low, medium чи high, а section — це назва розділу, в якому знаходиться відповідний пакунок. До назви файлу не ставиться жодних вимог, ви будете вказувати її пізніше в якості аргументу до dpkg-scanpackages. Якщо ви не хочете створювати файл override, тоді при запуску dpkg-scanpackages просто використовуйте /dev/null.

Далі, перебуваючи в теці /root, виконайте:

    # dpkg-scanpackages debs file | gzip > debs/Packages.gz  У наведеному рядку слово file — це файл override. Команда генерує файл Packages.gz, котрий містить різноманітну інформацію про пакунки, яка буде використана APT. Нарешті, щоб почати використання пакунків, додайте:

    deb file:/root debs/  Після всього цього, просто використовуйте APT, як звичайно. Ви можете створювати також і джерельні сховища. Для цього повторіть ті ж самі кроки, але пам'ятайте, що вам потрібно у відповідній теці мати файли .orig.tar.gz, .dsc та .diff.gz і замість Packages.gz генерувати файл Sources.gz. Для цього також використовується інша програма. Це — dpkg-scansources. Командний рядок повинен виглядати приблизно так

    # dpkg-scansources debs | gzip > debs/Sources.gz  Зверніть увагу, що для dpkg-scansources не потрібен файл override. Рядок для sources.list виглядає так:

    deb-src file:/root debs/ 

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

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

Як звичайно, щоб встановити netselect:

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

{{{ # netselect ftp.debian.org http.us.debian.org download.unesp.br ftp.debian.org.br

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

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

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

Починаючи з версії 0.3.ds1, джерельний пакунок 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.

Далі виконуйте вказівки наведені у відповідному розділі (див. Керування пакунками, Глава 3).

Додавання CD-ROM'у до файлу sources.list

У випадку, коли ви використовуєте переважно CD-ROM для встановлення пакунків чи оновлення вашої системи за допомогою APT, ви можете додати його до вашого sources.list. Для цього можна скористайтися програмою apt-cdrom приблизно так:

    # apt-cdrom add  попередньо помістивши компакт-диск Debian до приводу. Ця команда підмонтує КД і, якщо це справжній компакт-диск Debian, оновить інформацію про пакунки, переглянувши його вміст. Якщо ваш КД дещо незвичної конфігурації, ви також можете використати такі опції:

Наприклад:

    # apt-cdrom -d /home/kov/mycdrom add  Ви також можете ідентифікувати CD-ROM, не додаючи його до вашого списку:

    # apt-cdrom ident  Зауважте, що ця програма працює лише в тому випадку, коли ваш КД зконфігуровано правильно і відповідний запис міститься в системному файлі /etc/fstab.