是否对 apt-get 使用自定义目录?

是否对 apt-get 使用自定义目录?

当我们运行apt-get updateubuntu 时从中读取 URL /etc/apt/sources.list,并将包信息保存在 中/var/lib/apt/lists

我可以自定义这些目录吗?没有危害/var/apt/lists/etc/apt/sources.list。当我想使用 apt-get 安装软件包时,它将从特定目录(/custom/apt/lists)而不是读取软件包信息,并从而不是/var/lib/apt/lists更新。/custom/apt/sources.list/etc/apt/sources.list

答案1

是的,你可以,你要寻找的两件事是:

  • 相当于。/etc/apt/sources.list.d/*Dir::Etc::SourceParts
  • 相当于/etc/apt/sources.listDir::Etc::SourceList
  • 相当于/var/lib/apt/lists/Dir::State::Lists

手册页中有很多apt-get。下面是一个使用它们全部的示例:

apt-get update -o Dir::Etc::SourceParts "/some/path/with/lists/" -o Dir::Etc::SourceList "some.list" -o Dir::State::Lists "/custom/apt/lists"

答案2

我所做的是向其中添加一个文件,该/etc/apt/sources.list.d/文件仅包含 deb 文件所在文件夹的路径(但该文件夹必须包含一个名为Packagesgenerated by 的文件dpkg-scanpackages),然后apt update从该文件夹安装我需要的任何包,然后再次从中删除文件/etc/apt/sources.list.d/,然后再次调用apt update

这是可以复制到的文件的示例/etc/apt/sources.list.d/

deb file:///path/to/where/your/deb/files/are/ ./

这种方法的问题在于您必须apt update使用标志进行调用--allow-insecure-repositories --allow-unauthenticatedapt install使用标志进行调用--allow-unauthenticated

我必须这样做才能创建一个脚本,该脚本可以递归下载 apt 包(及其依赖项)的 .deb 文件。如果您想查看,这是实现上述操作的相关提交:https://github.com/nblockchain/geewallet/commit/dea77d07c40dd63a82094c65635fdd73c7bfbcc4

相关内容