Перед обновлением настоятельно рекомендуется сделать резервную копию всей системы или, по крайней мере, всех данных и настроек, которые вы не хотите потерять. Инструменты для обновления и сам процесс достаточно надёжны, но сбой аппаратного обеспечения в ходе обновления может привести к серьёзному повреждению системы.
В первую очередь необходимо сохранить
резервные копии содержимого каталогов
/etc и /var/lib/dpkg, а также вывод
команды dpkg --get-selections \*.
It's wise to inform all users in advance of any upgrades you're planning,
although users accessing your system via SSH (at least) shouldn't notice much
during the upgrade, and may want to continue working. If you wish to take
extra precautions, back up or unmount user's partitions (/home)
before upgrading. A reboot will not normally be necessary, unless you plan to
also upgrade your kernel.
Обновление дистрибутива возможно как с
локальной консоли (или подключённого
напрямую последовательного терминала), так
и удалённо через канал ssh.
Внимание! Ни в коем случае не
обновляйте систему через telnet,
rlogin, rsh или из графического
сеанса под управлением xdm, gdm,
kdm и т.д., запущенного на обновляемой
системе. Это связано с тем, что все эти
серверы могут быть перезапущены при
обновлении, что может привести к
недоступности системы, обновлённой
только наполовину.
Производить обновление рекомендуется с
помощью apritude, как описано в данном
документе. Встроенный анализ зависимостей
делает процесс обновления достаточно
лёгким и простым.
Установка любого пакета должна
производиться с привилегиями
суперпользователя. Поэтому вы должны либо
войти в систему под именем
суперпользователя (root), либо использовать
программы su или sudo.
First the aptitude package needs to be installed. This is done
with:
apt-get install aptitude
Provided that you have a working APT configuration this will install the woody
version of aptitude.
If you have configured APT to install certain packages from a distribution
other than stable (e.g. from testing), you may have to change your APT pinning
configuration (stored in /etc/apt/preferences) to allow the
upgrade of packages to the versions in the new stable release. Further
information on APT pinning can be found in apt_preferences(5).
Regardless of the method used for upgrading, it is recommended that you check the status of all packages first, and verify that all packages are in an upgradable state. The following command will show any packages which have a status of Half-Installed or Failed-Config, and those with any error status.
# dpkg --audit
You could also inspect the state of all packages on your system using
dselect, aptitude, or with commands such as
# dpkg -l | pager
or
# dpkg --get-selections > ~/curr-pkgs.txt
It is desirable to remove any holds before upgrading. If any package that is essential for the upgrade is on hold, the upgrade will fail. You can identify packages on hold with
# dpkg --audit
If you changed and recompiled a package locally, and didn't rename it or put an
epoch in the version, you must put it on hold to prevent it from being
upgraded. The `hold' package state can be changed by using
aptitude. With
aptitude hold | unhold <package>
Перед началом процесса обновления вы
должны настроить файл конфигурации
apt /etc/apt/sources.list.
Программа apt при запросе на
установку пакета установит наивысшую
версию пакета из тех, которые можно найти в
источниках, соответствующих строкам
deb этого файла. При равных версиях
приоритет будут иметь строки, находящиеся
в файле выше (таким образом, в случае
использования нескольких зеркал обычно
лучше первым указать каталог на локальном
жёстком диске, затем компакт-диск и,
наконец, зеркала HTTP/FTP).
Конфигурация по умолчанию позволяет
произвести установку с главных серверов
Debian, но вы можете изменить файл
/etc/apt/sources.list и использовать другие
зеркала. Лучше использовать ближайшее к
вам (в смысле скорости передачи данных)
зеркало.
Адреса HTTP- и FTP-зеркал Debian можно найти по
адресу http://www.debian.org/distrib/ftplist
(см. раздел "Полный список зеркал").
HTTP-зеркала обычно быстрее, чем FTP.
For example, suppose your closest Debian mirror is http://mirrors.kernel.org/debian/. When inspecting that mirror with a web browser or FTP program, you will notice that the main directories are organized like this:
http://mirrors.kernel.org/debian/dists/stable/main/binary-alpha/...
http://mirrors.kernel.org/debian/dists/stable/contrib/binary-alpha/...
To use this mirror with apt, you add this line to your
sources.list file:
deb http://mirrors.kernel.org/debian sarge main contrib
Обратите внимание на то, что `dists' добавляется автоматически, а параметры после имени выпуска используются для дополнения сетевого пути до реальных каталогов.
После того, как вы добавили новый источник,
отключите присутствовавшие ранее в файле
sources.list строки deb, поставив в
начале каждой строки знак диеза (#).
Все пакеты, требуемые для установки, после
загрузки из сети размещаются в каталоге
/var/cache/apt/archives (во время загрузки -- в
подкаталоге partial/), поэтому перед
началом установки вы должны убедиться в
том, что там достаточно места. Для обычной
установки понадобится приблизительно 300МБ
дискового пространства.
Instead of using HTTP or FTP packages mirrors, you may wish to modify
/etc/apt/sources.list to use a mirror on a local disk (possibly
mounted over NFS).
For example, your packages mirror may be under /var/ftp/debian/,
and have main directories like this:
/var/ftp/debian/dists/stable/main/binary-alpha/...
/var/ftp/debian/dists/stable/contrib/binary-alpha/...
To use this with apt, add this line to your
sources.list file:
deb file:/var/ftp/debian stable main contrib
Обратите внимание на то, что `dists' добавляется автоматически, а параметры после имени выпуска используются для дополнения сетевого пути до реальных каталогов.
После того, как вы добавили новый источник,
отключите присутствовавшие ранее в файле
sources.list строки deb, поставив в
начале каждой строки знак диеза (#).
Если вы хотите использовать только
компакт-диски, закомментируйте все
присутствующие в файле /etc/apt/sources.list
строки deb, поставив в начале каждой
строки знак диеза (#).
Make sure there is a line in /etc/fstab that enables mounting your
CD-ROM drive at the /cdrom mount point (the exact
/cdrom mount point is required for apt-cdrom). For
example, if /dev/hdc is your CD-ROM drive, /etc/fstab
should contain a line like:
/dev/hdc /cdrom auto defaults,noauto,ro 0 0
Обратите внимание на то, что между словами defaults,noauto,ro в четвёртом поле строки не должно быть пробелов.
To verify it works, insert a CD and try running
mount /cdrom # this will mount the CD to the mount point
ls -alF /cdrom # this should show the CD's root directory
umount /cdrom # this will unmount the CD
Next, run:
apt-cdrom add
for each Debian Binary CD-ROM you have, to add the data about each CD to APT's database.
Для обновления Debian GNU/Linux до нового выпуска
рекомендуется использовать программу
управления пакетами aptitude. Этот
инструмент принимает более безопасные
решения об установке пакетов, чем при
непосредственном запуске apt-get.
Don't forget to mount all needed partitions (notably the root and
/usr partitions) read-write, with a command like:
mount -o remount,rw /mountpoint
После этого убедитесь в том, что источники,
указанные в файле /etc/apt/sources.list,
ссылаются на стабильный (stable)
дистрибутив и не ссылаются на дистрибутив
по кодовому имени (например, woody).
It is strongly recommended that you use the /usr/bin/script
program to record a transcript of the upgrade session. Then if a problem
occurs, you will have a log of what happened, and if needed, can provide exact
information in a bug report. To start the recording, type:
script -a ~/upgrade-to-sarge.typescript
or similar. Do not put the typescript file in a temporary directory such as
/tmp or /var/tmp (files in those directories may be
deleted during the upgrade or during any restart).
Сначала программе aptitude нужен список
новых и обновлённых пакетов нового
выпуска. Его можно получить командой
aptitude update
Once aptitude has information on all the available packages, the
system is almost ready to be fully upgraded. First however the
doc-base package must be upgraded if it is installed.
You can find out if it is installed using:
dpkg -l doc-base
Если первая буква в напечатанной строке - "i", то пакет установлен и должен быть обновлён в первую очередь.
aptitude install doc-base
Теперь можно приступить собственно к обновлению. Выполните команду
aptitude -f --with-recommends dist-upgrade
Эта команда произведёт полное обновление
системы, т.е. установку последних
доступных версий всех пакетов и разрешение
всех изменившихся между выпусками
зависимостей. При необходимости она
установит новые пакеты (обычно это новые
версии библиотек или переименованные
пакеты) и удалит все вызывающие конфликты
устаревшие пакеты (такие как
console-tools-libs).
При обновлении с набора компакт-дисков система несколько раз попросит вас вставить в привод соответствующий диск. Возможно, вам придётся вставлять один диск по нескольку раз, это вызвано тем, что взаимосвязанные пакеты могут находится на разных дисках.
New versions of currently installed packages that cannot be upgraded without
changing the install status of another package will be left at their current
version (displayed as "held back"). This can be resolved by either
using aptitude to choose these packages for installation or by
trying aptitude -f install package.
Параметр --fix-broken (или просто
-f) приведёт к тому, что apt
будет пытаться сразу исправлять
нарушенные зависимости. Система apt
не позволяет, чтобы какие-либо зависимости
в системе были не удовлетворены.
If an operation using aptitude, apt-get or
dpkg fails with the error
E: Dynamic MMap ran out of room
the default cache space is insufficient. You can solve this by either removing
or commenting lines you don't need in /etc/apt/sources.list or by
increasing the cache size. The cache size can be increased by setting
APT::Cache-Limit in /etc/apt/apt.conf. The following
command will set it to a value that should be sufficient for the upgrade:
echo 'APT::Cache-Limit "12500000";' >> /etc/apt/apt.conf
This assumes that you do not yet have this variable set in that file.
Иногда необходимо активизировать параметр
APT::Force-LoopBreak, чтобы разрешить временное
удаление пакета первой необходимости при
возникновении циклической зависимости
типа конфликт/требование предварительной
установки. Программа aptitude сообщит
об этом и прекратит обновление. Чтобы
решить эту проблему, следует указать в
командной строке aptitude параметр -o
APT::Force-LoopBreak=1.
It is possible that a system's dependency structure can be so corrupt as to
require manual intervention. Usually this means using aptitude or
dpkg --remove packagename
to eliminate some of the offending packages, or
aptitude --fix-broken install
dpkg --configure --pending
In extreme cases you might have to force re-installation with a command like
dpkg --install /path/to/packagename.deb
After fixing things up, you should be able to resume the upgrade by repeating the previously described aptitude commands.
During the upgrade, you will be asked questions regarding the configuration or
re-configuration of several packages. When you are asked if any file in the
/etc/init.d or /etc/terminfo directories, or the
/etc/manpath.config file should be replaced by the package
maintainer's version, it's usually necessary to answer `yes' to ensure system
consistency. You can always revert to the old versions, since they will be
saved with a .dpkg-old extension.
Если вы не уверены в том, что нужно делать, запишите имя пакета или файла и разберитесь с проблемой позднее. Информацию, выводившуюся на экран во время обновления, вы сможете найти в файле транскрипта.
Когда команда aptitude dist-upgrade закончила работу, формально обновление завершено, но перед перезагрузкой следует проделать ещё несколько действий.
Read /usr/share/doc/xfree86-common/README.Debian-upgrade.gz for
more info on the upgrade of the X window system packages. This is relevant for
users of all previous Debian releases. In short, you need to read it.
Note that the Linux kernel was not upgraded by these procedures. You
may wish to do so yourself, either by installing one of the
kernel-image-* packages or by compiling a customized kernel from
sources.
Debian GNU/Linux поставляется с ядром 2.4.27 из серии 2.4, старой стабильной серии ядер. Возможно, вы захотите использовать ядро серии 2.6, лучше поддерживающее различные устройства и обладающее улучшенной производительностью.
Мы настоятельно не рекомендуем вам менять ядро одновременно с обновлением всей системы woody на sarge. Некоторые проблемы перехода на ядро 2.6 описаны в разделе Upgrading to a 2.6 kernel, 5.2.
To upgrade your kernel you must first choose the kernel most appropriate for your subarchitecture. A list of kernels available for you to install can be found with:
apt-cache search ^kernel-image
You should then use aptitude install to install it. Once this new kernel is installed you should reboot at the next available opportunity to get the benefit.
Следует заметить, что сиcтема установки woody и более старых выпусков не устанавливала ядро в качестве пакета в вашу систему. В sarge ситуация изменилась, теперь вы можете устанавливать псевдопакеты чтобы отслеживать смену ядер. Эти пакеты будут иметь имена вида kernel-image-ВЕРСИЯ-АРХИТЕКТУРА, где ВЕРСИЯ - номер версии ядра (2.4 или 2.6), а АРХИТЕКТУРА - любая из поддерживаемых архитектур.
For the more adventurous there is an easy way to compile your own custom kernel
on Debian GNU/Linux. Install the kernel-package tool and read the
documentation in /usr/share/doc/kernel-package.
Вместе с появлением девяти тысяч новых пакетов, более двух тысяч пакетов из состава woody с появлением sarge устаревают. Устаревшие пакеты не влючены в sarge и не больше будут обновляться. Ничто не мешает вам продолжить пользоваться этими пакетами, но приблизительно через год [1] после выхода sarge команда безопасности прекратит выпускать для них исправления. Мы рекомендуем перейти на использование альтернативных пакетов, если есть такая возможность.
Пакет может быть удалён из дистрибутива по многим причинам: разработка программы прекращена, пакет не интересен никому из разработчиков Debian, программа вытеснена другой, более функциональной (другой версии или от других разработчиков). Возможно, пакет содержит ошибки, из-за которых пока не может быть включён в sarge, в этом случае пакет всё-таки доступен в нестабильном ("unstable") дистрибутиве.
Detecting which packages in an updated system are "obsolete" is easy
since the package management front-ends will mark them as such. If you are
using aptitude, you will see a listing of these packages in the
"Obsolete and Locally Created Packages" entry. dselect
provides a similar section but the listing it presents might differ. Also, if
you have used aptitude to manually install packages in woody it
will have kept track of those packages you manually installed and will be able
to mark as obsolete those packages pulled in by dependencies alone which are no
longer needed if a package has been removed. Also, aptitude,
unlike deborphan will not mark as obsolete packages that you
manually installed, as opposed to those that were automaticaly installed
through dependancies.
Существуют и другие инструменты для
определения неиспользуемых пакетов, в их
число входят deborphan, debfoster и
cruft. Советуем использовать
deborphan, хотя по умолчанию он ищет
только ненужные библиотеки (пакеты в
секциях "libs" и "oldlibs", от которых
не зависит ни один другой пакет). Не
удаляйте подряд все пакеты, найденные
такими инструментами (в особенностиесли
при запуске вы указали опции, отличные от
опций по умолчанию), чтобы не удалить
чего-нибуть нужного. Настоятельно
рекомендуем перед удалением внимательно
просмотреть список предложенных пакетов
(прочесть описание, посмотреть входящие
файлы).
В системе
отслеживания ошибок Debian зачастую
содержится дополнительная информация о
причинах удаления пакета. Просмотрите
архив сообщений об ошибках для
интересуещего вас пакета и для псевдо-пакета
ftp.debian.orge
Многие пакеты из woody в sarge были поделены на несколько разных пакетов, чаще всего чтобы облегчить поддержку системы. Для простоты обновления в состав sarge нередко входит пакет-"пустышка" (пустой пакет с именем старого пакета из woody). Такой пакет при установке устанавливает новые пакетов, от которых зависит. Сразу же после установки "пустышки" становятся неиспользуемыми и их можно спокойно удалять.
В описании большинства (но не всех)
пакетов-пустышек ясно указано их
предназначение. К сожалению, никаких
правил для описания пустышек нет, поэтому
для их обнаружения вам пожет пригодиться
deborphan с опцией --guess.
Некоторые пустышки удалять после
обновления не нужно, так как они
впоследствии используются для определения
установленной версии программы.
Информация о выпуске Debian GNU/Linux 3.1 (`sarge') для архитектуры Alpha
$Id: ch-upgrading.ru.html,v 1.1 2005/05/26 14:15:55 pronik-guest Exp $debian-doc@lists.debian.org