Обновление Ubuntu с desktop-cd

The answer you entered to the math problem is incorrect.

Тема не новая, но для проведения аналогии пойдет.

Многие пользователи были неприятно удивлены, обнаружив, что обновить систему с помощью присланного диска стандартными средствами невозможно. Все потому, что начиная с релиза 6.06 Ubuntu рассылается бесплатно только в виде live CD, с которого предлагается установить систему с нуля.

Но к счастью имеется возможность извлечь пакеты из образа предустановленной ОС, раз­мещенном на live CD. Описанию одного из способов как это сделать и посвящено данное мини-HOWTO.

Утилиты

Для начала установим необходимые программы:

sudo apt-get install squashfs-tools dpkg-repack

Подгрузим модуль поддержки squashfs:

sudo modprobe squashfs

 

Подготовка

Т. к. нам понадобятся права рута, чтобы не писать каждый раз sudo, запустим новый shell с максимальными привилегиями:

sudo -s

Создадим необходимые для работы директории: /tmp/squash — это просто точка монтирования образа, /usr/local/ubuntu-6.06 — это директория, в которой будут находиться извлеченные пакеты.

mkdir /tmp/squash

mkdir /usr/local/ubuntu-6.06

Далее подразумевается, что /media/cdrom0 — директория, в которую смонтирован live CD Ubuntu. Смонтируем находящийся на этом диске образ:

mount /media/cdrom0/casper/filesystem.squashfs /tmp/squash/ -o loop

Смонтируем локальные директории в директории в образе следующим образом:

mount -o bind /usr/local/ubuntu-6.06 /tmp/squash/mnt

mount -o bind /tmp /tmp/squash/tmp

mount -o bind /usr/bin /tmp/squash/usr/local/bin

«Вход» в установочный диск

Теперь с помощью команды chroot зайдем в образ системы на live CD:

chroot /tmp/squash

Перейдем в /mnt:

cd /mnt

Выполним следующую команду для начала процесса извлечения пакетов*:

dpkg --get-selections | awk '!/udev|deinstall/ {print $1}' | xargs dpkg-repack

После того, как извлечение завершится (у меня на это ушло более получаса), выйдем из chroot-окружения, не забыв размонтировать локальные директории:

exit

umount /tmp/squash/mnt

umount /tmp/squash/tmp

umount /tmp/squash/usr/local/bin

Теперь в папке /usr/local/ubuntu-6.06 находятся все пакеты с установочного диска, кроме udev. Т. к. его нельзя извлечь вышеописанным способом (система просто напросто виснет), скачаем его вручную:

wget -P /usr/local/ubuntu-6.06\ http://archive.ubuntu.com/ubuntu/pool/main/u/udev/udev_079-0ubuntu34_i386.deb

Примечание
При обновлении до версии 6.10 проблем с пакетом udev не обнаружено. Поэтому извлекать пакеты нужно командой dpkg --get-selections | xargs dpkg-repack

Upgrade

Теперь осталось создать локальный репозиторий из извлеченных пакетов и обновить дис­трибутив.

Создаем репозиторий:

cd /usr/local/ubuntu-6.06

dpkg-scanpackages . /dev/null | gzip > Packages.gz

Правим список репозиториев:

sudo edit /etc/apt/sources.list

deb file:/usr/local/ubuntu-6.06 ./

Обновляем систему:

apt-get update

apt-get dist-upgrade

Источник: http://b-k-b.nm.ru/ubuntu/update.html


Комментарии

при копипасте потерялись переносы в коде

Изображение пользователя fart.

MooSE, спасибо за поправку.

Изображение пользователя manofring.

я уже писал подобное на опенказан (http://openkazan.info/node/844), и уже давным давно пробовал....и к моему большому сожалению и фиести и гутси тут же обваливались.
не скажу про харди...но я думаю что и она обвалится. Разве что попробовать переехать с нижнего релиза на верхний

З.Ы. может многоуважаемый fart нам покажет на своем примере :)))

Изображение пользователя fart.

я лишь публикую кой-какой материал, как любит указывать MooSE путем копипаста. читать все и экспериментаровать manofring, к сожалению, времени не хватает.

Отправить комментарий

Пример: 1+1, ответ: 2

Ñòàðí/A>