我想生成一个包下载列表,可以用来从另一个系统下载这些包。(我的网速很慢)。我想使用这些下载的文件创建一个本地存储库,以便可以从中安装/升级我的系统。
我怎样才能实现这个目标?
答案1
首先请注意,您必须拥有更新的包索引(这些索引被包管理软件用来获取有关在线可用包的信息)。因此,你必须至少下载那些索引文件。
为此,打开终端并输入此命令。(此步骤你必须有可用的互联网连接)
sudo apt-get update
获得更新包索引文件后,请使用以下任一方法:
无突触的终末途径
使用此命令生成升级系统所需的文件列表
sudo apt-get upgrade --allow-unauthenticated -y --print-uris | grep -o '\'http.*\' | tr "\'" " " > download-list
该文件download-list
将在终端的当前文件夹中创建。
或者,如果您想为特定包生成下载脚本,请使用此命令(请参阅下面的更新部分以了解另一个命令)
sudo apt-get install <package-name> --allow-unauthenticated -y --print-uris | grep -o '\'http.*\' | tr "\'" " " > download-list
<package-name>
用包的实际名称替换。例如gtg
getting-things-gnome 等。
您现在可以使用此文件来为任何支持带有 URL 输入文件的下载管理器提供下载。
例如,要使用这个文件,请wget
使用下面的命令,
wget -c -i ./download-list
假设download-list
文件位于终端的当前目录中。下载的文件将存储在终端的当前工作目录中。
更新:我找到了另一个生成包下载列表的命令:
apt-get --allow-unauthenticated -y install --print-uris package-name | cut -d\' -f2 | grep http:// > download-list
更新命令的来源:回答者这个帖子
使用 Synaptic 的图形方式
Synaptic 包管理器具有生成包下载脚本的内置功能,您甚至不需要在终端中明确使用 wget,只需执行脚本就足够了。
流程如下
安装Synaptic 软件包管理器使用终端:
sudo apt-get update sudo apt-get install synaptic
(如果您已经更新了包索引文件,则不需要第一个命令,如果您不确定,请同时使用这两个命令)。
然后通过输入以下命令打开 Synaptic Package Manager突触在破折号中。
在窗口右侧选择一个包,右键单击 →标记为安装。或者,如果您想生成升级脚本,请按下按钮标记所有升级工具栏中的 。下图使用第二种方法。
当被问及是否想标记其他所需更改,按下标记按钮。
然后去文件-->生成包下载脚本,通过命名脚本并选择保存目录将其保存为文件。现在,您有一个用于包下载的脚本。
如果您要下载,请转到脚本目录并运行sh ./<script-name>
。例如,如果脚本的名称是download-list
,并且它在您的下载文件夹,命令是
cd ~/Downloads && sh ./download-list
答案2
Synaptic 还有一个菜单项用于将选定的包导出到文件。