<!-- Subversion revision of original English document "3647" -->
<chapt id="uptodate">Підтримування вашої системи Debian в сучасному стані

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

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

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

<p>Є декілька можливостей оновлення:
<list>
  <item>За допомогою простого сценарію оболонки, що називається <tt>autoup.sh</tt>
    ви можете оновити всі найважливіші пакунки. Після того, як сценарій завершить 
    свою роботу, ви можете встановити всі інші пакунки за допомогою dselect. 
    Це рекомендований метод, хоча й не єдиний.
    <p>Найновіші версії <tt>autoup.sh</tt> на даний момент можна знайти 
      за наступними адресами:
    <list>
      <item><url id="http://www.debian.org/releases/2.0/autoup/">
      <item><url id="http://www.taz.net.au/autoup/">
      <item><url id="http://debian.vicnet.net.au/autoup/">
    </list>
  <item>Дотримуйтесь вказівок, наведених в <url name="Debian libc5 to libc6 Mini-HOWTO"
    id="http://debian.vicnet.net.au/autoup/HOWTO/libc5-libc6-Mini-HOWTO.html"> 
    та оновіть найважливіші пакунки вручну. Сценарій <tt>autoup.sh</tt> базується 
    на цьому документі, отож цей метод працюватиме приблизно так само, як і попередній. 
  <item>За допомогою <tt>apt</tt>, що базується на libc5. APT в дечому може замінити dselect. 
    На даний момент він працює лише в режимі командного рядка або як метод доступу 
    dselect. libc5 ви можете знайти в теці <tt>dists/slink/main/upgrade-older-i386</tt> 
    архівів Debian. 
  <item>Використовуючи лише dselect, без попереднього оновлення пакунків вручну. 
    По можливості, використовувати цей метод НЕ рекомендується, оскільки dselect не 
    визначає оптимальний порядок встановлення пакунків. APT в цьому випадку працює 
    значно краще та безпечніше. 
    <!-- This should probably work if dpkg's max-error-before-stop internal
    variable is increased. Question: Will it be increased some day? -->
</list>

<!--
This paragraph is obsolete, but I will keep it here as a reminder in
case libc6-based dpkg happen to be some better than the one in Debian
1.3.1: Note that the version of <tt>dpkg</tt> in this directory has the
a.out binary format.  The versions of <tt>dpkg</tt> in the development and
stable trees have the ELF format.
-->

<sect id="howtocurrent">Як я можу підтримувати систему Debian у найновішому стані?

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

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

<sect1 id="aptitude-upgrade">aptitude

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

<p><prgn/aptitude/&nbsp;— це рекомендований керівник пакунками для системи &debian;.
Це псевдографічний інтерфейс до APT, що використовує бібліотеку curses. З його
допомогою задачі керування пакунками вирішуються швидкими та легкими методами.

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

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

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

<p>Більше детально про це розповість сторінка довідки <manref name="sources.list"
section="8">.

<p>Щоб оновити вашу систему, запустіть спочатку
      <example>aptitude update</example>,
після чого
      <example>aptitude dist-upgrade</example>
Дайте відповіді на всі необхідні запитання і вашу систему буде модернізовано.

Перегляньте також <ref id="aptitude">.

<sect1 id="apt">apt-get, dselect та apt-cdrom

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

<p>Щоб використовувати <prgn/apt-get/, встановіть пакунок <package/apt/ та
відредагуйте <tt>/etc/apt/sources.list</tt>, змінивши його відповідним чином, 
наприклад так, як описано в <ref id="aptitude-upgrade">.

<p>Далі запустіть
      <example>apt-get update</example>
та
      <example>apt-get dist-upgrade</example>
Дайте відповіді на всі необхідні запитання і вашу систему буде модернізовано.
Перегляньте також сторінку довідки <manref name="apt-get" section="8">,
а також <ref id="apt-get">.

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

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

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

<sect1 id="dpkg-ftp">dpkg-ftp

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

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

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

<sect1 id="mirror">mirror

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

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

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

<!-- Should we recommend GNU wget here, too? -->

<sect1 id="dpkg-mountable">dpkg-mountable

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

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

<sect id="upgradesingle">Чи повинен я переходити у однокористувацький режим 
  при оновленні пакунків?

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

<sect id="savedebs">Чи потрібно мені зберігати на диску всі ці .deb-файли?

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

<sect id="keepingalog">Як я можу вести список всіх пакунків, котрі я встановив у системі?
Я хотів би знати коли і які оновлення або видалення відбувались!

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

<example>
2005-12-30 18:10:33 install hello 1.3.18 2.1.1-4
</example>

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

<example>
2005-12-30 18:10:35 status installed hello 2.1.1-4
</example>

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

<example>
log /var/log/dpkg.log
</example>

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

<example>
/var/log/dpkg {
  missingok
  notifempty
}
</example>

<p>Більше детально про журналювання в <prgn/dpkg/ можна дізнатись зі
сторінки довідки <manref name="dpkg" section="1">

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

<p>Іншим методом для запису ваших дій є запуск сесії управління пакунками за
допомогою програми <manref name="script" section="1">.
