<?xml version='1.0' encoding='utf-8'?>
<!-- -*- DocBook -*- -->
<chapter id="uptodate"><title>Підтримування вашої системи Debian в сучасному стані</title>
<para>
Метою Debian є забезпечення постійних
оновлень та безупинне підвищення безпеки.
Ми робимо все можливе, щоб оновлення до
нової версії було максимально простою
процедурою.  У тому випадку, якщо під час
процесу оновлення щось сталось, система
попереджає користувача про це та пропонує
шляхи вирішення можливої проблеми.
</para>
<para>
Вам також потрібно прочитати примітки до
нової версії (Release Notes), документ, що описує
специфічні деталі оновлення, котрий
доступний як на компакт-дисках усіх версій
Debian, так і в тенетах за адресою <ulink
url="http://www.debian.org/releases/stable/releasenotes">http://www.debian.org/releases/stable/releasenotes</ulink>.
</para>
<section id="libc5to6upgrade"><title>Як я можу оновити свою збірку Debian 1.3.1 (чи давнішу), що базується на libc5, до 2.0 (чи новішої), котрі базуються на libc6?</title>
<para>
Є декілька можливостей оновлення:
</para>
<itemizedlist>
<listitem>
<para>
За допомогою простого сценарію оболонки,
що називається <literal>autoup.sh</literal> ви можете
оновити всі найважливіші пакунки.  Після
того, як сценарій завершить свою роботу, ви
можете встановити всі інші пакунки за
допомогою dselect.  Це рекомендований метод,
хоча й не єдиний.
</para>
<para>
Найновіші версії <literal>autoup.sh</literal> на даний
момент можна знайти за наступними
адресами:
</para>
<itemizedlist>
<listitem>
<para>
<ulink
url="http://www.debian.org/releases/2.0/autoup/">http://www.debian.org/releases/2.0/autoup/</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink
url="http://www.taz.net.au/autoup/">http://www.taz.net.au/autoup/</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink
url="http://debian.vicnet.net.au/autoup/">http://debian.vicnet.net.au/autoup/</ulink>
</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>
Дотримуйтесь вказівок, наведених в <ulink
url="http://debian.vicnet.net.au/autoup/HOWTO/libc5-libc6-Mini-HOWTO.html">Debian
libc5 to libc6 Mini-HOWTO</ulink> та оновіть найважливіші
пакунки вручну.  Сценарій <literal>autoup.sh</literal>
базується на цьому документі, отож цей
метод працюватиме приблизно так само, як і
попередній.
</para>
</listitem>
<listitem>
<para>
За допомогою <literal>apt</literal>, що базується на
libc5.  APT в дечому може замінити dselect.  На даний
момент він працює лише в режимі командного
рядка або як метод доступу dselect.  libc5 ви
можете знайти в теці
<literal>dists/slink/main/upgrade-older-i386</literal> архівів Debian.
</para>
</listitem>
<listitem>
<para>
Використовуючи лише dselect, без попереднього
оновлення пакунків вручну.  По можливості,
використовувати цей метод НЕ
рекомендується, оскільки dselect не визначає
оптимальний порядок встановлення
пакунків.  APT в цьому випадку працює значно
краще та безпечніше.
</para>
</listitem>
</itemizedlist>
</section>

<section id="howtocurrent"><title>Як я можу підтримувати систему Debian у найновішому стані?</title>
<para>
Найпростіше здійснити анонімний вхід до
ftp-серверу з архівом Debian, знайти необхідний
файл, стягнути його та встановити за
допомогою <literal>dpkg</literal>.  Зауважте, що
<literal>dpkg</literal> встановить оновлені файли тут
же, на працюючій системі.  Іноді отриманий
пакунок може вимагати встановлення іншого
пакунку; в цьому випадку завершити
операцію не вдасться поки той пакунок не
буде встановлено.
</para>
<para>
Багато людей вважають, що оновлення в такий
спосіб займає надто багато часу, оскільки
Debian розвивається надто швидко — щотижня
оновлюється сотня, а то й більше пакунків.
Це число таке велике в основному через
незначні оновлення.  Щоб залишатись „на
передовій“, багато людей використовують
більш автоматизовані методи.  Для цього
існують декілька пакунків:
</para>
<section id="aptitude-upgrade"><title>aptitude</title>
<para>
АРТ — це досконалий інтерфейс для системи
керування пакунками Debian.  Його можливості
включають повне впорядкування
встановлення, можливість доступу до
багатьох джерел та деякі інші унікальні
функції, описані в посібнику користувача,
що знаходиться в
<literal>/usr/share/doc/apt-doc/guide.html/index.html</literal> (у вас
повинен бути встановлений пакунок
<literal>apt-doc</literal>).
</para>
<para>
<command>aptitude</command> — це рекомендований
керівник пакунками для системи Debian GNU/Linux.
Це псевдографічний інтерфейс до APT, що
використовує бібліотеку curses.  З його
допомогою задачі керування пакунками
вирішуються швидкими та легкими методами.
</para>
<para>
Перед тим, як ви зможете використовувати
<command>aptitude</command>, вам доведеться
відредагувати файл <literal>/etc/apt/sources.list</literal>,
змінивши його відповідним чином.  Якщо ви
бажаєте оновитись до останньої стабільної
версії Debian, ви, найімовірніше, виберете за
джерело щось на кшталт
</para>
<screen>
http://http.us.debian.org/debian stable main contrib non-free
</screen>
<para>
Ви можете замінити http.us.debian.org назвою
найшвидшого для вас дзеркала Debian.
Переглянувши список дзеркал за адресою <ulink
url="http://www.debian.org/misc/README.mirrors">http://www.debian.org/misc/README.mirrors</ulink>
можна отримати більше інформації.
</para>
<para>
Більше детально про це розповість сторінка
довідки
<citerefentry><refentrytitle>sources.list</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
</para>
<para>
Щоб оновити вашу систему, запустіть
спочатку
</para>
<screen>
aptitude update
</screen>
<para>
, після чого
</para>
<screen>
aptitude full-upgrade
</screen>
<para>
Дайте відповіді на всі необхідні запитання
і вашу систему буде модернізовано.
Перегляньте також <xref linkend="aptitude"/>.
</para>
</section>

<section id="apt"><title>apt-get, dselect та apt-cdrom</title>
<para>
<command>apt-get</command> — це інструмент командного
рядка для обробки пакунків; його метод в
dselect — це інтерфейс до АРТ через програму
<command>dselect</command>.  Обидва вони пропонують
простіший та безпечніший шлях для
встановлення та оновлення пакунків.
</para>
<para>
Щоб використовувати <command>apt-get</command>,
встановіть пакунок <systemitem role="package">apt</systemitem>
та відредагуйте <literal>/etc/apt/sources.list</literal>,
змінивши його відповідним чином, наприклад
так, як описано в <xref linkend="aptitude-upgrade"/>.
</para>
<para>
Далі запустіть
</para>
<screen>
apt-get update
</screen>
<para>
та
</para>
<screen>
apt-get dist-upgrade
</screen>
<para>
Дайте відповіді на всі необхідні запитання
і вашу систему буде модернізовано.
Перегляньте також сторінку довідки
<citerefentry><refentrytitle>apt-get</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
а також <xref linkend="apt-get"/>.
</para>
<para>
Щоб використати АРТ разом з <command>dselect</command>,
виберіть метод доступу АРТ на екрані
вибору методу доступу dselect (опція 0) та
вкажіть, який список джерел слід
використовувати.  Конфігураційним файлом є
<filename>/etc/apt/sources.list</filename>.  Див.  також <xref
linkend="dselect"/>.
</para>
<para>
Якщо ви хочете встановлювати пакунки з КД,
ви можете використовувати <command>apt-cdrom</command>.
Деталі описуються у Release Notes, глава Setting up for
an upgrade from a local mirror („Налаштунки для
оновлення з локального дзеркала“).
</para>
<para>
Зверніть, будь ласка, увагу, що коли ви
отримуєте та встановлюєте пакунки, їх
копії зберігаються в теці /var.  Щоб вберегти
ваш розділ від переповнення не забувайте
видаляти надлишкові файли за допомогою
<literal>apt-get clean</literal> та <literal>apt-get autoclean</literal>,
або ж пересувати їх де-інде (підказка: за
допомогою <systemitem role="package">apt-move</systemitem>).
</para>
</section>

<section id="dpkg-ftp"><title>dpkg-ftp</title>
<para>
Це більш давній метод доступу для програми
<command>dselect</command>.  Його можна викликати з
<command>dselect</command>, що дасть користувачеві
можливість завантажувати файли та
встановлювати їх за один крок.  Щоб зробити
це, виберіть тип доступу <literal>ftp</literal> та
визначте назву й теку віддаленого вузла.
<command>dpkg-ftp</command> автоматично завантажить
вказані файли (вибрані як в поточному
сеансі роботи з <command>deselect</command> так і
раніше).
</para>
<para>
Зауважте, що на відміну від програми
<command>mirror</command>, <command>dpkg-ftp</command> завантажує
не цілий сайт, а лише ті файли, котрі ви
вказали та ті, що потребують оновлення.
</para>
<para>
<command>dpkg-ftp</command> є дещо застарілим.
Натомість вам краще використовувати метод
доступу АРТ з рядками ftp://URL у файлі
<filename>sources.list</filename>.
</para>
</section>

<section id="mirror"><title>mirror</title>
<para>
Щоб вибрати визначені користувачем
частини дерева каталогів з заданого
користувачем вузла за допомогою
анонімного ftp-з'єднання можна використати
сценарій, написаний на Perl та його додаткову
керуючу програму, що називається
<command>mirror-master</command>.
</para>
<para>
<command>mirror</command> є надзвичайно зручним для
завантаження великих масивів програмного
забезпечення.  Після того, як файли були
вперше завантажені з сайту, на локальному
комп'ютері створюється файл під назвою
<literal>.mirrorinfo</literal>.  Всі зміни у віддаленій
файловій системі автоматично
відслідковуються сценарієм, котрий
порівнює цей файл з аналогічним на
віддаленій системі та завантажує лише
змінені файли.
</para>
<para>
Загалом програмою <command>mirror</command> зручно
користуватись для оновлення локальних
копій віддалених дерев тек.  Отримані файли
не обов'язково повинні бути архівами Debian.
Оскільки <command>mirror</command> написана на Perl, вона
може бути запущена також і на інших
системах окрім Unix.  В програму включено
механізм виділення назв файлів, що
відповідають заданим користувачем
ланцюжкам.  Програма зручніша для
завантаження цілих дерев каталогів, а не
окремих файлів.
</para>
</section>

<section id="dpkg-mountable"><title>dpkg-mountable</title>
<para>
dpkg-mountable додає метод доступу mountable до списку
методів dselect, котрий дозволяє вам
встановлювати пакунки з будь-якої файлової
системи, визначеної у файлі /etc/fstab.
Наприклад, архів може знаходитись на
звичайному дисковому розділі, чи на
NFS-сервері, що при потребі автоматично
підмонтовуються та відмонтовуються.
</para>
<para>
Він також має деякі додаткові можливості,
котрих немає у стандартних методах доступу
dselect, як наприклад підтримка локального
дерева тек (як паралельно до головної
збірки, так і повністю окремого), та
отримання лише потрібних пакунків на
відміну від тривалого рекурсивного
сканування каталогів, а також журналювання
всіх дій dpkg під час встановлення.
</para>
</section>

</section>

<section id="upgradesingle"><title>Чи повинен я переходити у однокористувацький режим при оновленні пакунків?</title>
<para>
Ні, пакунки можуть оновлюватись на місці,
навіть у працюючій системі.  В Debian є
програма <literal>start-stop-daemon</literal>, котра при
необхідності в процесі оновлення
перезапускає запущений процес.
</para>
</section>

<section id="savedebs"><title>Чи потрібно мені зберігати на диску всі ці .deb-файли?</title>
<para>
Ні.  Якщо ви завантажили файли на ваш диск
(що не завжди є необхідним, дивись вище опис
dpkg-ftp), ви можете видалити їх після
встановлення.
</para>
</section>

<section id="keepingalog"><title>Як я можу вести список всіх пакунків, котрі я встановив у системі? Я хотів би знати коли і які оновлення або видалення відбувались!</title>
<para>
Виклик <command>dpkg</command> з параметром
<literal>--log</literal> змушує <command>dpkg</command>
реєструвати оновлення та дії.  В при цьому
реєструються не лише виклики <command>dpkg</command>
(наприклад,
</para>
<screen>
2005-12-30 18:10:33 install hello 1.3.18 2.1.1-4
</screen>
<para>
), але й результати цих викликів (наприклад,
</para>
<screen>
2005-12-30 18:10:35 status installed hello 2.1.1-4
</screen>
<para>
) Якщо ви хотіли б реєструвати всі виклики
<command>dpkg</command> (навіть ті, що здійснюються
програмами-інтерфейсами на кшталт
<command>aptitude</command>), додайте рядок
</para>
<screen>
log /var/log/dpkg.log
</screen>
<para>
до файлу <filename>/etc/dpkg/dpkg.cfg</filename>.  Впевніться,
що створений файл журналу періодично
зазнає ротації.  Якщо ви використовуєте
<command>logrotate</command>, цього можна досягти
створивши файл <filename>/etc/logrotate.d/dpkg</filename> з
таким вмістом:
</para>
<screen>
/var/log/dpkg {
  missingok
  notifempty
}
</screen>
<para>
Більше детально про журналювання в
<command>dpkg</command> можна дізнатись зі сторінки
довідки
<citerefentry><refentrytitle>dpkg</refentrytitle><manvolnum>1</manvolnum></citerefentry>
</para>
<para>
<command>aptitude</command> реєструє всі встановлення,
видалення та оновлення, котрі збирається
виконати в файлі <filename>/var/log/aptitude</filename>.
Однак зауважте, що <emphasis>результати</emphasis>
цих дій в вищенаведений файл не
записуються!
</para>
<para>
Іншим методом для запису ваших дій є запуск
сесії управління пакунками за допомогою
програми
<citerefentry><refentrytitle>script</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
</para>
</section>

</chapter>

