如何使用 apt 从缓存中安装一些 .deb 包?

如何使用 apt 从缓存中安装一些 .deb 包?

我想texlive-full在我的 Ubuntu 20.04 中安装。下载量很大,而且我的互联网连接是计量的。

我将它安装在另一台运行 Xubuntu 20.04 的计算机上,并从它的 中复制了软件包var/cache/apt

我可以这样做sudo dpkg -i *.deb,但它会明确安装所有依赖项(我不想明确安装依赖项),并且它还可能会安装其他不需要的软件包(因为我从中复制了所有 .deb 软件包var/cache/apt)。

我如何使用apt安装texlive-full,以便它使用这些 .deb 包作为依赖项而不是下载它们?

答案1

创建个人存储库

安装 dpkg-dev,在终端中输入

 sudo apt-get update
 sudo apt-get install dpkg-dev

创建脚本来更新你的包目录

这只是三行简单代码:

 #! /bin/bash
 cd /var/cache/apt
 dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

以上内容剪切并粘贴到 gedit 中,然后在 /bin 中将其保存为 update-debs。

接下来,使脚本可执行:

 sudo chmod u+x /bin/update-debs

脚本的工作原理:

dpkg-scanpackages 查看 /var/cache/apt 中的所有软件包,并将输出压缩并写入文件 Packages.gz,以便 apt-get update 可以读取

编辑: ===============================================================

为存储库创建 Ubuntu 配置文件

sudo touch /etc/apt/sources.list.d/mysources.list

编辑空文件并添加以下行:

sudo nano /etc/apt/sources.list.d/mysources.list

并添加这一行:

deb [trusted=yes] file:/var/cache/apt ./

您已经完成。

每当你将新的 deb 放入 /var/cache/apt 目录时,运行

sudo update-debs
sudo apt-get update

现在,您可以使用 Synaptic、aptitude 和 apt 命令(apt-get、apt-cache 等)来操作本地包。

相关内容