我正在运行 lubuntu 10.10,想升级到 11.04。我的互联网连接非常不稳定,所以我想在运行安装之前下载所有软件包。
根据这,没有简单的方法可以做到这一点。错误报告该线程中提到的仍然开放。
我的问题:有没有办法破解 do-release-upgrade 以仅下载软件包,有点像在 apt-get dist-upgrade 中添加“-d”?
或者手动操作是获得我想要的结果的唯一方法吗?
如果我必须手动执行此操作,这些是所需的步骤吗,或者我遗漏了什么?
- 禁用第三方存储
/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
以完成升级过程
答案1
前四个步骤是正确的,但第 5 步应该是sudo do-release-upgrade
(而不是sudo apt-get dist-upgrade
)。它应该注意到它要下载的所有(或大多数)软件包都已存在于中/var/cache/apt/archives
。
在 do-release-upgrade 的一些早期版本中存在一个错误,它会/var/cache/apt/archives
在重新下载软件包之前进行清理,但据我所知,该错误已被修复。
答案2
我写了一个脚本来做这件事,用于我自己将多台机器升级到 Ubuntu 14.04“trusty”。它被称为“apt-get-other-release”。简单使用:
$ sudo apt-get-other-release -t trusty
[ a long time passes as it downloads stuff ]
$ sudo apt-get-other-release -U
[ it prepares the system for upgrade -- this is quick ]
$ sudo do-release-upgrade # or update-manager, whatever you're comfortable with
[ upgrading also takes a long time and may still download some additional stuff ]
脚本位于:
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 升级执行了此操作,仅复制名称中不包含“amd64”的 *.deb;然后apt-get-other-release -t trusty
在 i386 机器上运行另一个,由于两台机器上安装了不同的内容,因此又下载了一大堆软件包。
欢迎提供反馈;请发电子邮件抄送,因为我不知道下次何时会查看 askubuntu。搜索引擎非常了解我。
注意:我实际上没有对如此处理过的系统进行升级!下周某个时候。趁这个脚本可能对人们有用的时候把它拿出来。
>贝拉<
答案3
有一种方法可以让更新管理器为您完成步骤 1-3。
sudo update-manager
从 GUI 中的终端窗口运行(这很重要)- 启动更新管理器,告诉它您想要升级到下一个版本的 Ubuntu,然后让它开始运行。它将禁用第三方存储库,将主存储库更改为最新版本,然后
sudo apt-get update
为您运行。 - 然后它会弹出一个屏幕,告诉您为了运行更新,它必须删除、安装和升级软件包。
- 此时,转到终端窗口并使用 CTRL-C 强制退出程序。[如果不执行此操作,而是通过更新管理器的取消按钮取消更新,它将恢复更改]。
- 启动更新管理器,告诉它您想要升级到下一个版本的 Ubuntu,然后让它开始运行。它将禁用第三方存储库,将主存储库更改为最新版本,然后
根据需要从命令行运行
sudo apt-get -d dist-upgrade
多次,直到所有软件包都下载完毕并准备安装运行
sudo do-release-upgrade
并让其使用已下载的软件包完成升级。重新启用第三方存储库,然后
sudo apt-get update && sudo apt-get upgrade
再次运行以将第三方存储库更新到最新版本(确保存储库已更新到 ubuntu 的最新版本)
答案4
以下稍微缩短版的梅纳赫姆答案对我有用:
在一个终端窗口中运行
sudo do-release-upgrade
,等到提示:Do you want to start the upgrade? ... Fetching and installing the upgrade can take several hours. Once the download has finished, the process cannot be canceled. Continue [yN] Details [d]
不确认,保持打开状态
在第二个终端窗口中,运行
sudo apt-get dist-upgrade --download-only
完成后,在第一个终端窗口中随意继续或中止
专业提示:安装一个终端多路复用器screen
,并在其中运行。然后,如果显示升级过程的终端发生任何事情,do-release-upgrade
您可以重新连接。(幸运的是,我今天的升级几乎完成了......)screen -D -RR