Начинаю апгрейд своей домашней системы с Intrepid Ibex на Karmic Koala. То есть, по версиям, на год вперёд!
Имеем:
* Комп на AMD64 с 2Гб оперативки, 2 винтами с software RAID-1.
*Стоящая система Ubuntu Linux 8.10 «Intrepid Ibex» в компиляции для AMD64.
*Диск Ubuntu Linux 9.10 «Karmic Koala», версия DVD, тоже для AMD64.
* Выход в инет за недостающими пакетами.
Будем пытаться сделать:
* Апгрейд системы с 8.10 на 9.10 с сохранением софта и настроек.
* Если не получится апгрейд, новую установку и настройку.
1. Обновление.
sudo apt-cdrom add
Вводим пароль рута, вставляем DVD, добавляем его в список репозиториев.
sudo apt-get update
sudo apt-get upgrade
Выходит сообщение: «Необходимо скачать 25,2MB/262MB архивов». Качается группа пакетов clamav — антивирус, его базы и библиотеки. После этого комп надолго задумывается и я понимаю, что диск-то не читается 🙁 Вернее, часть его читается вполне успешно, но поверхность частично испорчена и некоторые места гарантируют длительный ступор, либо вообще неудачу прочтения. Понимая, что диск — штука мало необходимая и не очень надежная, я решаю не писать другой диск, а распаковать ракеты из файла iso в локальный репозиторий и попробовать сделать обновление из него.
Размер пкаетов на DVD — порядка 2.7 Гб. По времени — около 5-7 минут. Новый локальный репозиторий создан и прописан, нужно создать структуру его пакетов. Тут сложность — dpkg-deb выдает кучу ошибок на пакеты от версии 9.10. Неужели поменяли структуру архива? Ошибки вот такого типа:
dpkg-deb: неожиданный конец файла, не удалось прочитать номер версии из файла ./valgrind_3.5.0-2ubuntu2_amd64.deb
Не удалось вызвать dpkg-deb для ./valgrind_3.5.0-2ubuntu2_amd64.deb: , пакет пропускается
Просто ужас! Пробуем заменить dpkg-dev на более свежую версию и видим:
$sudo dpkg -i ./dpkg-dev_1.15.4ubuntu2_all.deb
(Чтение базы данных… на данный момент установлено 197628 файлов и каталогов.)
Подготовка к замене пакета dpkg-dev 1.14.20ubuntu6.2 (используется файл …/dpkg-dev_1.15.4ubuntu2_all.deb)…
Распаковывается замена для пакета dpkg-dev …
dpkg: зависимости пакетов не позволяют настроить пакет dpkg-dev:
dpkg-dev зависит от dpkg (>= 1.15.4), однако:
Версия dpkg в системе 1.14.20ubuntu6.2.
dpkg: не удалось обработать параметр dpkg-dev (—install):
проблемы зависимостей — оставляем не настроенным
Обрабатываются триггеры для man-db …
/usr/bin/mandb: не удалось записать в /var/cache/man/12547: No space left on device
… и т.д. …
/usr/bin/mandb: не удалось создать индексный кэш /var/cache/man/local/12547: No space left on device
При обработке следующих пакетов произошли ошибки:
dpkg-dev
$ df
Файловая система 1K-блоков Исп Доступно Исп% смонтирована на
/dev/md0 7692776 7302364 0 100% /
Системный раздел / забит напрочь. Нужна чистка:
$ rm -R /tmp/*
rm: спуститься в защищенный от записи каталог `/tmp/mc-root’? n
rm: спуститься в защищенный от записи каталог `/tmp/orbit-root’? n
$ df
Файловая система 1K-блоков Исп Доступно Исп% смонтирована на
/dev/md0 7692776 5155980 2146024 71% /
Определённо, что-то было убито. Возможно, какие-то нужные или не очень файлы… В любом случае, место появилось. Но, если у вас есть возможность, не делайте так 🙂
Итак, место освобождено, запускаем обновление:
sudo apt-get dist-upgrade
Система долго и упорно стрекочет DVD диском, а потом начинает переустанавливать пакеты.
*******
Потом снова вылетела ошибка, которую я цитировать не стану. Напишу только, что суть ее в том, что у меня оказался плохо установлен пакет flashplugin-installer, который мне не удалось ни восстановить, ни удалить, ни переустановить. Промучившись с ним пару часов, я пришел к выводу, что оно не стоит потраченного времени и переустановил систему заново. Переустановка вместе с достановкой необходимых мне пакетов заняла всего лишь порядка часа…
Так что, в случае серьёзных проблем бывает легче не морочить себе голову, а просто отформатировать / и переустановить систему, сохранив /home и нужные данные из подкаталогов /.