如何生成包下载列表?
我想生成一个包下载列表,可以用来从另一个系统下载这些包。 (我连接速度很慢) 。 我想使用这些下载的文件来创建一个本地存储库,我可以从中安装/升级我的系统。
我怎样才能做到这一点?
首先请注意,您必须具有更新的软件包索引(软件包管理软件使用这些索引来获取有关可用软件包的信息) 。 因此,您必须至少下载这些索引文件。
为此,请打开终端并提供此命令。 (此步骤必须具有可用的Internet连接)
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 --allow-unauthenticated -y --print-uris | grep -o '\'http.*\' | tr "\'" " " > download-list
将
替换为
实际名称。 例如gtg
for 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包管理器具有生成包下载脚本的内置function,您甚至不需要在终端中显式使用wget,只执行脚本就足够了。
程序如下
-
使用终端安装Synaptic Package Manager :
sudo apt-get update sudo apt-get install synaptic
(如果您更新了包索引文件,则不需要第一个命令,如果您不确定,请同时使用这两个命令) 。
-
然后通过在破折号中键入Synaptic打开Synaptic Package Manager。
-
在窗口右侧部分选择一个包,右键单击→将其标记为安装 。 或者,如果要生成升级脚本,请按工具栏中的“ 标记所有升级 ”按钮。 下图使用第二种方法。
-
当系统询问您是否要标记其他所需的通道时 ,请按“标记”按钮。
-
然后转到文件 – > 生成包下载脚本 ,将脚本保存为文件名,并选择保存目录。 现在,您有一个包下载包的脚本。
如果要下载,请转到scripts目录并运行sh ./
。 例如,如果脚本的名称是download-list
并且它位于Downloads文件夹中,则命令为
cd ~/Downloads && sh ./download-list
Synaptic还有一个菜单项,用于将选定的包导出到文件中。