Я использую lubuntu 10.10 и хотел бы перейти на 11.04. У меня очень темпераментное интернет-соединение, поэтому я хотел бы загрузить все пакеты перед запуском установки.
Согласно этому , нет простого способа сделать это. Отчет об ошибке, упомянутый в этой теме, все еще открыт.
Мой вопрос: есть ли способ взломать do-release-upgrade, чтобы загрузить только пакеты, вроде добавления «-d» в apt-get dist-upgrade?
Или делать это вручную - единственный способ получить желаемый результат?
Если я должен сделать это вручную, это шаги, необходимые для этого, или я что-то упустил?
- Отключить сторонние репозитории в
/etc/apt/sources.list
и/etc/apt/sources.list.d
- Изменить репозитории в
/etc/apt/sources.list
сmaverick
наnatty
- бег
sudo apt-get update
- запустить
sudo apt-get -d dist-upgrade
только для загрузки пакетов. Делайте это столько раз, сколько необходимо, пока все пакеты не будут загружены. - запустить
sudo apt-get dist-upgrade
для завершения процесса обновления
do-release-upgrade
Менахем
источник
источник
Ответы:
Ваши первые четыре шага верны, но шаг 5 должен быть
sudo do-release-upgrade
(вместоsudo apt-get dist-upgrade
). Следует заметить, что все (или большинство) пакетов, которые он собирался загрузить, уже присутствуют в/var/cache/apt/archives
.В некоторых более ранних версиях do-release-upgrade была ошибка, из-за которой она очищалась
/var/cache/apt/archives
перед новой загрузкой пакетов, но IIRC эта ошибка была исправлена.источник
Для этого я написал скрипт для собственного обновления нескольких машин до Ubuntu 14.04 «верный». Это называется «apt-get-other-release». Простое использование:
Сценарий находится по адресу:
ftp://www.lubkin.com/pub/user/filbo/apt-get-other-release
и версия 1.0 имеет sha1sum: 87a466b2bb2d1ac5b0a08509246a450b8d1c7617
За кулисами он в основном работает
apt-get update; apt-get -d dist-upgrade
с собственным набором файлов sources.list. Результаты хранятся в / var / cache / apt- $ to_rel / archives, а флаг '-U' копирует их в общесистемные / var / cache / apt / archives, чтобы они присутствовали во время вашего обновления.Вы также можете скопировать архив обновления с одного локального хоста на другой, сэкономив пропускную способность. Я сделал это для обновления amd64 и i386, копируя только те файлы * .deb, у которых в именах не было «amd64»; затем запустил другой
apt-get-other-release -t trusty
на машине i386, которая загрузила еще одну большую кучу пакетов, так как на этих двух машинах были установлены разные вещи.Обратная связь приветствуется; адрес электронной почты cc признателен, так как я не знаю, когда я в следующий раз посмотрю на askubuntu. Поисковые машины хорошо знают обо мне.
ПРИМЕЧАНИЕ: я на самом деле не сделал обновление системы с таким лечением! Некоторое время на следующей неделе. Выпуск этого сценария, пока он может быть полезен людям.
> Бела <
источник
Есть способ заставить менеджера обновлений выполнить шаги 1-3 для вас.
Запуск
sudo update-manager
из окна терминала в графическом интерфейсе (это важно)sudo apt-get update
для вас.запускать
sudo apt-get -d dist-upgrade
из командной строки столько раз, сколько необходимо, пока все пакеты не будут загружены и не готовы к установкезапустите
sudo do-release-upgrade
и дайте ему завершить обновление с уже загруженными пакетами.Повторно включите сторонние репозитории и запустите
sudo apt-get update && sudo apt-get upgrade
снова, чтобы обновить сторонние репозитории до последней версии (убедитесь, что репозитории обновлены до последней версии ubuntu)источник
Я также написал скрипт для этого, который вы можете найти на
https://github.com/neldredge/fetch-release-upgrade
Использование: в пустом каталоге, запустить
или любой новый выпуск, который вы хотите обновить. Необходимые пакеты будут загружены в подкаталог с именем
debs
. Затем вы можете переместить их/var/cache/apt/archives
до запускаdo-release-upgrade
.Я еще не посмотрел сценарий user270294, но, похоже, он работает аналогичным образом и может иметь несколько дополнительных функций.
источник
Следующая несколько более короткая версия ответа Менахема сработала для меня:
Запустите
sudo do-release-upgrade
в одном окне терминала, дождитесь приглашения:Не подтверждать, оставить открытым
Во втором окне терминала запустите
sudo apt-get dist-upgrade --download-only
Когда закончите, продолжите или прервите на досуге в первом окне терминала
Совет от профессионала: установите терминальный мультиплексор
screen
и запустите егоdo-release-upgrade
внутри. Затем вы можете восстановить соединение,screen -D -RR
если что-то случится с терминалом, который показывает процесс обновления. (К счастью, мое обновление сегодня было почти завершено ...)источник
do-release-upgrade
после загрузки.Отказ от ответственности: я никогда не делал этого раньше. Это может быть ужасной идеей. Это может сломать все, опустошить ваши банковские счета и сбежать на юг Испании. Как и в случае чего-либо потенциально опасного, сделайте резервную копию, прежде чем что-либо делать.
Я не уверен, сколько вы установили, так что это может быть ошибочным решением, но вы можете обновить с CD. Загрузите Alternate iso, смонтируйте его и запустите скрипт обновления.
Прежде чем идти дальше, вам не нужно использовать wget для получения изображения. Bittorrent будет хорошо работать как со стандартным менеджером загрузок. Важно то, что вы хотите что-то, что возобновится, поэтому вы можете прекратить скачивание и забрать его в другое время. Это то , что
wget
«s-c
флаг будет делать.Если у вас есть ISO, следующий шаг довольно прост:
Недостаток, о котором я говорил, это то, что он обновит только встроенные в Ubuntu вещи, которые есть на компакт-диске. Это не будет обновлять ваши другие пакеты.
В теории это должно быть хорошо. Вы можете обнаружить, что некоторые приложения ломаются, некоторые могут быть принудительно удалены программой обновления, но основная ОС должна оставаться стабильной.
Если моя теория верна, то это позволит вам обновить другие пакеты, используя как и когда вы хотите через Synaptic или (если вы установите его)
aptitude
.источник