Глава 9. Поддержание обновлений системы Debian

# Глава 9. Поддержание обновлений системы Debian

One of Debian's goals is to provide a consistent upgrade path and a secure upgrade process. We always do our best to make upgrading to new releases a smooth procedure. In case there's some important note to add to the upgrade process, the packages will alert the user, and often provide a solution to a possible problem.

You should also read the Release Notes document that describes the details of specific upgrades. It is available on the Debian website at https://www.debian.org/releases/stable/releasenotes and is also shipped on the Debian CDs, DVDs and Blu-ray discs.

## 9.1. Как поддерживать систему Debian в актуальном состоянии?

One could simply visit a Debian archive site, then peruse the directories until one finds the desired file, and then fetch it, and finally install it using `dpkg`. Note that `dpkg` will install upgrade files in place, even on a running system. Sometimes, a revised package will require the installation of a newly revised version of another package, in which case the installation will fail until/unless the other package is installed.

Многие люди сочтут предлагаемый способ отнимающим много времени, т. к. Debian развивается слишком быстро — обычно каждую неделю обновляется где-то дюжина и более пакетов. Это число увеличивается по мере приближения в новому основному выпуску. Чтобы справиться с такой лавиной, многие люди предпочитают использовать более автоматизированный способ. Для этих целей существует несколько различных пакетов.

### 9.1.1. aptitude

aptitude является рекомендуемым менеджером пакетов для систем Debian GNU/Linux и описывается в Раздел 8.1.3, «aptitude».

До того как вы сможете использовать aptitude для выполнения обновления, вам следует отредактировать файл `/etc/apt/sources.list`. Если вы хотите выполнить обновление до последней стабильной версии Debian, вам, вероятно, потребуется использовать нечто подобное в качестве источника пакетов:

    http://deb.debian.org/debian stable main contrib

The mirror https://deb.debian.org/ is backed by a content-delivery network and requests to it will be directed to the closest instance to you. If you have a faster Debian mirror close to you, you can replace deb.debian.org with that one. See the mirror list at https://www.debian.org/mirror/list for more information.

Or you can use the redirector service httpredir.debian.org which aims to solve the problem of choosing a Debian mirror. It uses the geographic location of the user and other information to choose the best mirror that can serve the files. To take advantage of it use a source like this one:

    http://httpredir.debian.org/debian stable main contrib

More details on this can be found in the sources.list(5) manual page.

To update your system from the command line, run

    aptitude update

а затем

    aptitude full-upgrade

После того, как вы ответите на возможные вопросы, ваша система будет обновлена.

Заметьте, что aptitude не является рекомендованным инструментом для выполнения обновлений с одного выпуска Debian GNU/Linux на другой. Для выполнения таких обновления вам следует ознакомиться с Информацией о выпуске. В этом документе описываются рекомендованные шаги для выполнения обновлений с предыдущих выпусков, а также проблемы, которые вам следует решить до выполнения обновления.

For details, see the manual page aptitude(8), and the file `/usr/share/aptitude/README`.

### 9.1.2. apt-get и apt-cdrom

Альтернативной aptitude является apt-get, инструмент командной строки на основе APT (он был описан в Раздел 8.1.2, «APT»).

apt-get, инструмент командной строки на основе APT для работы с пакетами предоставляет простой и безопасный способ установки и обновления пакетов.

Для использования apt-get, отредактируйте файл `/etc/apt/sources.list` так же как и для Раздел 9.1.1, «aptitude».

Затем выполните

    apt-get update

а затем

    apt-get dist-upgrade

Answer any questions that might come up, and your system will be upgraded. See also the apt-get(8) manual page, as well as Раздел 8.1.2, «APT».

Если для установки пакетов вы хотите использовать компакт-диски, DVD или диски BD, то можете воспользоваться программой apt-cdrom. Подробнее об этом написано в информации о выпуске, в разделе «Добавление оптического носителя в качестве источника APT».

Учтите, что когда вы получаете и устанавливаете пакеты, эти файлы так и остаются лежать в одном из подкаталогов /var. Чтобы не истратить всё свободное место раздела, не забывайте удалять лишние файлы с помощью команд `apt-get clean` и `apt-get autoclean`, или перемещать их в другое место (подсказка: воспользуйтесь `apt-move`).

## 9.2. Нужно ли для обновления пакета переходить в однопользовательский режим?

Нет. Пакеты можно обновлять сразу, даже на работающей системе. Если во время обновления пакета требуется остановка процесса, то на этот случай в Debian есть программа `start-stop-daemon`, которая останавливает, а затем перезапускает работавший ранее процесс.

## 9.3. Нужно ли хранить на диске все файлы-архивы .deb?

Нет. Если вы скачали файлы на диск, то после установки пакетов вы можете удалить их из системы, например с помощью команды `aptitude clean`.

## 9.4. How can I keep a log of the packages I added to the system? I'd like to know when upgrades and removals have occurred and on which packages!

Параметром `--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

) If you'd like to log all your dpkg invocations (even those done using frontends like aptitude), you could add

    log /var/log/dpkg.log

to your `/etc/dpkg/dpkg.cfg`. Be sure the created logfile gets rotated periodically. If you're using logrotate, this can be achieved by creating a file `/etc/logrotate.d/dpkg` with the following lines

    /var/log/dpkg {
      missingok
      notifempty
    }

More details on dpkg logging can be found in the dpkg(1) manual page.

aptitude записывает те действия, которые собирается выполнить по установке, удалению или обновлению пакетов, в файл `/var/log/aptitude`. Учтите, что результаты этих действий в этом файле не сохраняются!

Another way to record your actions is to run your package management session within the script(1) program.

## 9.5. Возможно ли автоматическое обновление системы?

Да. Для этого можно использовать cron-apt; эта программа обновляет систему через равные промежутки времени с помощью задания cron. По умолчанию она только обновляет список пакетов и скачивает новые пакеты без запуска их установки.

Замечание: НЕ рекомендуется выполнять автоматическое обновление пакетов в тестовых или нестабильных системах, так как это может привести к неожиданному поведению и удалению пакетов без уведомления.

## 9.6. Есть несколько машин, как скачивать для них обновления только один раз?

Если в вашей сети более одной машины Debian, то для поддержания систем Debian в актуальном состоянии полезно использовать apt-cacher.

apt-cacher сокращает требования к пропускной способности для зеркал Debian, ограничивая частоту обновлений файлов Packages, Releases и Sources, и получает любой файл лишь однократно, независимо от фактических запросов его у прокси. apt-cacher автоматически создаёт HTTP-зеркало Debian на основе запросов, проходящих через прокси.

Естественно, те же самые преимущества можно получить с помощью стандартного кэширующего прокси, если настроить все системы на его использование.

Глава 8. Инструменты управления пакетами Debian |  | Глава 10. Debian и ядро