Обновление Ubuntu, когда нет интернетаЭтот How-To составлен с целью помочь тем людям, которые желали бы обновить систему не через интернет. Причинами может являться отсутствие интернета либо его дороговизна или, например, медленность соединения. Именно дороговизна и медленность моего коннекта побудили меня пойти данным путем.
Но вначале благодарности

Большое спасибо товарищу Kwah за наводку по поводу вычленения пакетов из Live CD и создание на их основе репозитария (
https://forum.ubuntu.ru/index.php?topic=20541.0). Спасибо и тем, кто ранее на форуме активно обсуждал данный вопрос (
https://forum.ubuntu.ru/index.php?topic=3045.0) - WinLin, MA3X, JohnDoe, dr.maximus, bkb327. С удовольствием читал
http://b-k-b.nm.ru/ubuntu/update.html - очень хороший материал, он поможет тем, кто хочет использовать собственно Live CD для обновления дистра. Я же решил обновить систему (в моем случае с 7.04 на 7.10), используя уже установленный Ubuntu. Между прочим, у этого способа есть свои преимущества - пакеты, которые уже установлены в системе "донора" с репозитариев, будут доступны для установки на ваш компьютер.
Итак, поехали.
Первым делом устанавливаем dpkg-repack:
sudo apt-get install dpkg-repack
Создадим файл debrepack.sh в домашней директории и пропишем в нем:
#!/bin/sh
mkdir DEB
cd DEB
dpkg --get-selections | grep -v "deinstall" | grep -v "udev" | awk '{print $1}' | xargs dpkg-repack
Сохраняем, присваиваем ему право на выполнение.
Этот скрипт сделает всю "грязную работу" за нас - соберет deb-пакеты всех программ, установленных в системе, кроме udev, из-за которого могут возникнуть проблемы. Его лучше отдельно вытянуть из /var/cache/apt/archives либо скачать из интернета. Соберет он эти пакеты в папке "DEB". Туда же следует закинуть скачаный udev. На
http://b-k-b.nm.ru/ubuntu/update.html сказано, что затруднений из-за udev может и не быть, но я не стал испытывать судьбу.
Но для начала нужно запустить наш скрипт:
sudo ~/debrepack.sh
После это осталось всего-навсего создать репозитарий и обновиться с него. Я делал так:
cd ~/DEB
apt-ftparchive packages .| gzip > Packages.gz
sudo dpkg-scanpackages . /dev/null | gzip > Packages.gz, после чего копировал папку DEB туда, куда хотел и добавлял в /etc/apt/sources.list строчку типа
deb file:/usr/local/DEB ./
, затем командами sudo apt-get update и sudo apt-get dist-upgrade обновлялся. Но, я думаю, ничего не помешает вам создать с помощью APTonCD репозитарий на DVD, с которого вы и обновитесь.
Некоторые замечания:1. dpkg-repack перепаковывает уже установленные пакеты, поэтому если человек, любезно предоставивший вам свои пакеты, менял что-либо в файлах программ (иконки, еще что-нибудь) или в конфигах этих прог после установки на свою машину, эти изменения коснутся и вас. Поэтому во время установки при настройке отдельных пакетов терминал будет "горестно вопрошать вас".
2. И еще: не забывайте, что на машине "донора" может быть другое железо, поэтому не вытягивайте то, что вам не нужно, и т.д. Для меня это было не так уж и актуально, я ради интереса установил себе 7.10, не уничтожая 7.04, поэтому конфигурация у меня была идентична на обеих системах.
Вот, собственно, и все
