Update/p10
Процедура обновления с p9 до p10 аналогична обновлению до p9.
Обновление
0. Сделайте резервную копию системы до начала обновления
Желательно перед обновлением системы удалить все ненужные вам пакеты, и отключить ненужные сервисные службы. Это сэкономит вам некоторое время в процессе обновления, и уменьшит трафик скачанных пакетов. Сторонние пакеты, не входящие в репозиторий p9, могут не поддерживаться обновленной системой и мешать успешному обновлению.
1. Обновить дистрибутив до самого свежего p9
Все операции нужно делать с правами пользователя root.
apt-get update apt-get dist-upgrade
2. Проверить apt-repo
Скорее всего утилита уже была установлена и обновилась на первом шаге, но на всякий случай проверьте наличие:
apt-get install apt-repo
3. Изменить источники обновления
apt-repo set p10
Для перехода с p9 на p10 недостаточно сменить источники. apt-repo делает всё необходимое: помимо смены источников, создаётся файл /etc/rpm/macros.d/p10 следующего содержимого:
%_priority_distbranch p10
4. Обновиться до p10
apt-get update
apt-get clean apt-get dist-upgrade -dПервая команда удалит из кэша apt все старые пакеты, вторая скачает (но не установит) все нужные пакеты. Если у Вас уже скачивалось что-то новое, вместо clean может оказаться выгоднее использовать autoclean. Полученное содержимое /var/cache/apt может быть использовано для последующей массовой установки пакетов посредством rpm в случае возникновения проблем с обновлением.
Версии дистрибутивов 9.2 используют ядро un-def. Рекомендуется при обновлении на p10 переключиться на ядра std-def.
Выполните собственно обновление:
apt-get dist-upgrade update-kernel -t std-def
Если во время обновления в конце написало
E: Произошли ошибки при выполнении транзакции
выполните
apt-get -f install
apt-get dist-upgrade
5. Перезагрузка
Перезагрузите систему.
6. Удаление устаревших пакетов
Следует воспользоваться советами по ссылке APT_в_ALT_Linux/Советы_по_использованию для удаления устаревших пакетов.
Обновление через EPM
Обновиться с p9 до p10 можно посредством программы epm, предварительно установив её самую последнюю версию:
# apt-get install eepm && epm install 281952
а затем скомандовав:
# epm release-upgrade
--force --auto
— без гарантии успешного завершения. Так что лучше делать это из физической консоли.Устаревшие пакеты удалить командой:
# epm autoremove --direct
Программа выполнит все необходимые действия для обновления, в том числе команды, описанные выше в порядке ручного обновления.
Настройки после обновления
Известные проблемы
E: Unknown vendor ID 'p10'
Если после смены репозитория в ответ на команду apt-get update Вы видите сообщение "Unknown vendor ID", то, вероятнее всего, у Вас установлен пакет apt-conf-<...>, отличный от apt-conf-branch. Верните старый репозиторий и установите этот пакет. Вместо обычного "Y" Вам придётся ввести фразу "Yes, do as I say!" (будет подсказка). Либо можно удалить символы [p10] из строк, описывающих новый репозиторий: в этом случае проверка не будет выполняться.
Grub и multiple partition labels
При обновлении совсем старой и несколько раз уже обновлённой системы может появиться такая ошибка:
/usr/sbin/grub-install: warning: Attempting to install GRUB to a disk with multiple partition labels. This is not supported yet.. /usr/sbin/grub-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged.. /usr/sbin/grub-install: error: will not proceed with blocklists.
Это (про "a disk with multiple partition labels") может быть неправдой, а истинная причина — недостаток пустого пространства между нулевым сектором и первым разделом. В дистрибутивах, основанных на ветках до p6, инсталлятор создавал разделы, начиная с 63 сектора, для современного Grub этого мало. Начиная с p6, инсталлятор создаёт разделы, начиная с 2048 сектора. Если есть возможность освободить необходимое место (например, сдвинув, либо вовсе удалив раздел), скорее всего потребуется ещё и очистить пространство, заполнив его нулями (интересующиеся могут самостоятельно попробовать выяснить, какой именно байт(ы) и в каком секторе не нравится загрузчику и очистить только этот сектор):
dd if=/dev/zero of=/dev/sdX seek=1 count=2047
ssh и systemd (screen и т.п.)
В конфигурации по умолчанию systemd закрывает всё, что было запущено при входе по ssh. Установите пакет systemd-settings-disable-kill-user-processes: altbug #36633
Обновление ExtensionPack для VirtualBox
После обновления virtualbox потребуется обновить ExtensionPack. Сделать это можно через меню Файл → Проверить обновления…
Обновление OpenVZ7
Перед началом обновления (до смены репозитория с p9 на p10) нужно удалить пакет crtools, в p10 после обновления должен появиться пакет crtools-ovz, или его нужно будет поставить.