如何生成包下载列表?

我想生成一个包下载列表,可以用来从另一个系统下载这些包。 (我连接速度很慢) 。 我想使用这些下载的文件来创建一个本地存储库,我可以从中安装/升级我的系统。

我怎样才能做到这一点?

首先请注意,您必须具有更新的软件包索引(软件包管理软件使用这些索引来获取有关可用软件包的信息) 。 因此,您必须至少下载这些索引文件。

为此,请打开终端并提供此命令。 (此步骤必须具有可用的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,只执行脚本就足够了。

程序如下

  1. 使用终端安装Synaptic Package Manager

      sudo apt-get update sudo apt-get install synaptic 

    (如果您更新了包索引文件,则不需要第一个命令,如果您不确定,请同时使用这两个命令)

  2. 然后通过在破折号中键入Synaptic打开Synaptic Package Manager。

  3. 在窗口右侧部分选择一个包,右键单击→将其标记为安装 。 或者,如果要生成升级脚本,请按工具栏中的“ 标记所有升级 ”按钮。 下图使用第二种方法。

    升级按钮的图像

  4. 当系统询问您是否要标记其他所需的通道时 ,请按“标记”按钮。

    附加标记窗口的图像

  5. 然后转到文件 – > 生成包下载脚本 ,将脚本保存为文件名,并选择保存目录。 现在,您有一个包下载包的脚本。

如果要下载,请转到scripts目录并运行sh ./ 。 例如,如果脚本的名称是download-list并且它位于Downloads文件夹中,则命令为

 cd ~/Downloads && sh ./download-list 

Synaptic还有一个菜单项,用于将选定的包导出到文件中。