如何生成软件包下载列表?


10

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

我该如何实现?

Answers:


16

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

为此,请打开一个终端并发出此命令。(此步骤必须具有有效的互联网连接)

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用于获取事物的侏儒等。

现在,您可以使用此文件来提供支持带有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,仅执行脚本就足够了。

步骤如下

  1. 使用终端安装Synaptic软件包管理器

     sudo apt-get update 
     sudo apt-get install synaptic
    

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

  2. 然后通过在破折号中键入Synaptic打开Synaptic软件包管理器。

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

    升级按钮的图像

  4. 当询问您是否要标记其他必需的选项时,请按标记按钮。

    附加标记窗口的图像

  5. 然后转到文件 -> 生成软件包下载脚本,通过为脚本命名并选择保存目录来将其另存为文件。现在,您已经有了一个用于程序包下载的脚本。

如果要下载,请转到脚本目录并运行sh ./<script-name>。例如,如果脚本的名称为download-list且位于您的“ 下载”文件夹中,则命令为

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

0

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.