# Підтримування вашої системи Debian в сучасному стані

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

Вам також потрібно прочитати примітки до нової версії (Release Notes), документ, що описує специфічні деталі оновлення, котрий доступний як на компакт-дисках усіх версій Debian, так і в тенетах за адресою http://www.debian.org/releases/stable/releasenotes.

## Як я можу оновити свою збірку Debian 1.3.1 (чи давнішу), що базується на libc5, до 2.0 (чи новішої), котрі базуються на libc6?

Є декілька можливостей оновлення:

- За допомогою простого сценарію оболонки, що називається `autoup.sh` ви можете оновити всі найважливіші пакунки. Після того, як сценарій завершить свою роботу, ви можете встановити всі інші пакунки за допомогою dselect. Це рекомендований метод, хоча й не єдиний.

  Найновіші версії `autoup.sh` на даний момент можна знайти за наступними адресами:

  - http://www.debian.org/releases/2.0/autoup/

  - http://www.taz.net.au/autoup/

  - http://debian.vicnet.net.au/autoup/

- Дотримуйтесь вказівок, наведених в Debian libc5 to libc6 Mini-HOWTO та оновіть найважливіші пакунки вручну. Сценарій `autoup.sh` базується на цьому документі, отож цей метод працюватиме приблизно так само, як і попередній.

- За допомогою `apt`, що базується на libc5. APT в дечому може замінити dselect. На даний момент він працює лише в режимі командного рядка або як метод доступу dselect. libc5 ви можете знайти в теці `dists/slink/main/upgrade-older-i386` архівів Debian.

- Використовуючи лише dselect, без попереднього оновлення пакунків вручну. По можливості, використовувати цей метод НЕ рекомендується, оскільки dselect не визначає оптимальний порядок встановлення пакунків. APT в цьому випадку працює значно краще та безпечніше.

## Як я можу підтримувати систему Debian у найновішому стані?

Найпростіше здійснити анонімний вхід до ftp-серверу з архівом Debian, знайти необхідний файл, стягнути його та встановити за допомогою `dpkg`. Зауважте, що `dpkg` встановить оновлені файли тут же, на працюючій системі. Іноді отриманий пакунок може вимагати встановлення іншого пакунку; в цьому випадку завершити операцію не вдасться поки той пакунок не буде встановлено.

Багато людей вважають, що оновлення в такий спосіб займає надто багато часу, оскільки Debian розвивається надто швидко — щотижня оновлюється сотня, а то й більше пакунків. Це число таке велике в основному через незначні оновлення. Щоб залишатись „на передовій“, багато людей використовують більш автоматизовані методи. Для цього існують декілька пакунків:

### aptitude

АРТ — це досконалий інтерфейс для системи керування пакунками Debian. Його можливості включають повне впорядкування встановлення, можливість доступу до багатьох джерел та деякі інші унікальні функції, описані в посібнику користувача, що знаходиться в `/usr/share/doc/apt-doc/guide.html/index.html` (у вас повинен бути встановлений пакунок `apt-doc`).

`aptitude` — це рекомендований керівник пакунками для системи Debian GNU/Linux. Це псевдографічний інтерфейс до APT, що використовує бібліотеку curses. З його допомогою задачі керування пакунками вирішуються швидкими та легкими методами.

Перед тим, як ви зможете використовувати `aptitude`, вам доведеться відредагувати файл `/etc/apt/sources.list`, змінивши його відповідним чином. Якщо ви бажаєте оновитись до останньої стабільної версії Debian, ви, найімовірніше, виберете за джерело щось на кшталт

    http://http.us.debian.org/debian stable main contrib non-free

Ви можете замінити http.us.debian.org назвою найшвидшого для вас дзеркала Debian. Переглянувши список дзеркал за адресою http://www.debian.org/misc/README.mirrors можна отримати більше інформації.

Більше детально про це розповість сторінка довідки

sources.list

8.

Щоб оновити вашу систему, запустіть спочатку

    aptitude update

, після чого

    aptitude full-upgrade

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

### apt-get, dselect та apt-cdrom

`apt-get` — це інструмент командного рядка для обробки пакунків; його метод в dselect — це інтерфейс до АРТ через програму `dselect`. Обидва вони пропонують простіший та безпечніший шлях для встановлення та оновлення пакунків.

Щоб використовувати `apt-get`, встановіть пакунок `apt` та відредагуйте `/etc/apt/sources.list`, змінивши його відповідним чином, наприклад так, як описано в aptitude-upgrade.

Далі запустіть

    apt-get update

та

    apt-get dist-upgrade

Дайте відповіді на всі необхідні запитання і вашу систему буде модернізовано. Перегляньте також сторінку довідки

apt-get

8, а також apt-get.

Щоб використати АРТ разом з `dselect`, виберіть метод доступу АРТ на екрані вибору методу доступу dselect (опція 0) та вкажіть, який список джерел слід використовувати. Конфігураційним файлом є `/etc/apt/sources.list`. Див. також dselect.

Якщо ви хочете встановлювати пакунки з КД, ви можете використовувати `apt-cdrom`. Деталі описуються у Release Notes, глава Setting up for an upgrade from a local mirror („Налаштунки для оновлення з локального дзеркала“).

Зверніть, будь ласка, увагу, що коли ви отримуєте та встановлюєте пакунки, їх копії зберігаються в теці /var. Щоб вберегти ваш розділ від переповнення не забувайте видаляти надлишкові файли за допомогою `apt-get clean` та `apt-get autoclean`, або ж пересувати їх де-інде (підказка: за допомогою `apt-move`).

### dpkg-ftp

Це більш давній метод доступу для програми `dselect`. Його можна викликати з `dselect`, що дасть користувачеві можливість завантажувати файли та встановлювати їх за один крок. Щоб зробити це, виберіть тип доступу `ftp` та визначте назву й теку віддаленого вузла. `dpkg-ftp` автоматично завантажить вказані файли (вибрані як в поточному сеансі роботи з `deselect` так і раніше).

Зауважте, що на відміну від програми `mirror`, `dpkg-ftp` завантажує не цілий сайт, а лише ті файли, котрі ви вказали та ті, що потребують оновлення.

`dpkg-ftp` є дещо застарілим. Натомість вам краще використовувати метод доступу АРТ з рядками ftp://URL у файлі `sources.list`.

### mirror

Щоб вибрати визначені користувачем частини дерева каталогів з заданого користувачем вузла за допомогою анонімного ftp-з'єднання можна використати сценарій, написаний на Perl та його додаткову керуючу програму, що називається `mirror-master`.

`mirror` є надзвичайно зручним для завантаження великих масивів програмного забезпечення. Після того, як файли були вперше завантажені з сайту, на локальному комп'ютері створюється файл під назвою `.mirrorinfo`. Всі зміни у віддаленій файловій системі автоматично відслідковуються сценарієм, котрий порівнює цей файл з аналогічним на віддаленій системі та завантажує лише змінені файли.

Загалом програмою `mirror` зручно користуватись для оновлення локальних копій віддалених дерев тек. Отримані файли не обов'язково повинні бути архівами Debian. Оскільки `mirror` написана на Perl, вона може бути запущена також і на інших системах окрім Unix. В програму включено механізм виділення назв файлів, що відповідають заданим користувачем ланцюжкам. Програма зручніша для завантаження цілих дерев каталогів, а не окремих файлів.

### dpkg-mountable

dpkg-mountable додає метод доступу mountable до списку методів dselect, котрий дозволяє вам встановлювати пакунки з будь-якої файлової системи, визначеної у файлі /etc/fstab. Наприклад, архів може знаходитись на звичайному дисковому розділі, чи на NFS-сервері, що при потребі автоматично підмонтовуються та відмонтовуються.

Він також має деякі додаткові можливості, котрих немає у стандартних методах доступу dselect, як наприклад підтримка локального дерева тек (як паралельно до головної збірки, так і повністю окремого), та отримання лише потрібних пакунків на відміну від тривалого рекурсивного сканування каталогів, а також журналювання всіх дій dpkg під час встановлення.

## Чи повинен я переходити у однокористувацький режим при оновленні пакунків?

Ні, пакунки можуть оновлюватись на місці, навіть у працюючій системі. В Debian є програма `start-stop-daemon`, котра при необхідності в процесі оновлення перезапускає запущений процес.

## Чи потрібно мені зберігати на диску всі ці .deb-файли?

Ні. Якщо ви завантажили файли на ваш диск (що не завжди є необхідним, дивись вище опис dpkg-ftp), ви можете видалити їх після встановлення.

## Як я можу вести список всіх пакунків, котрі я встановив у системі? Я хотів би знати коли і які оновлення або видалення відбувались!

Виклик `dpkg` з параметром `--log` змушує `dpkg` реєструвати оновлення та дії. В при цьому реєструються не лише виклики `dpkg` (наприклад,

    2005-12-30 18:10:33 install hello 1.3.18 2.1.1-4

), але й результати цих викликів (наприклад,

    2005-12-30 18:10:35 status installed hello 2.1.1-4

) Якщо ви хотіли б реєструвати всі виклики `dpkg` (навіть ті, що здійснюються програмами-інтерфейсами на кшталт `aptitude`), додайте рядок

    log /var/log/dpkg.log

до файлу `/etc/dpkg/dpkg.cfg`. Впевніться, що створений файл журналу періодично зазнає ротації. Якщо ви використовуєте `logrotate`, цього можна досягти створивши файл `/etc/logrotate.d/dpkg` з таким вмістом:

    /var/log/dpkg {
      missingok
      notifempty
    }

Більше детально про журналювання в `dpkg` можна дізнатись зі сторінки довідки

dpkg

1

`aptitude` реєструє всі встановлення, видалення та оновлення, котрі збирається виконати в файлі `/var/log/aptitude`. Однак зауважте, що результати цих дій в вищенаведений файл не записуються!

Іншим методом для запису ваших дій є запуск сесії управління пакунками за допомогою програми

script

1.