Debian

在 debian repo 上使用 apt-get source 而不使用 /etc/apt/source.list

  • October 5, 2020

我正在嘗試在 debian系統apt-get source上作為普通使用者使用。squeeze

我想cyrus-imapd-2.4testing/wheezy儲存庫中檢索原始碼。

apt-get source無需root權限即可工作;但是,似乎沒有辦法讓 apt-get 從不在/etc/apt/sources.list.

是否有任何命令行選項、備用sources.list文件、環境變數可以apt與自定義儲存庫一起使用?

我確實有 root 訪問權限,所以我可以更改/etc/apt/sources.list,但是出於多種原因我真的不想這樣做。

因此,我使用丹尼斯和奧拉夫答案中最有用的資訊制定了一個解決方案。這涉及使用自定義配置腳本apt,以及更多選項。

Dir::State "some-dir/tmp/var/lib/apt";
Dir::State::status "some-dir/tmp/var/lib/dpkg/status";
Dir::Etc::SourceList "some-dir/tmp/etc/apt.sources.list";
Dir::Cache "some-dir/tmp/var/cache/apt";
pkgCacheGen::Essential "none";

此處引用的所有目錄和文件都必須存在於文件系統上,並且要發出更多命令才能apt按預期工作:

builduser@host$ mkdir some-dir/tmp/var/lib/apt/partial
builduser@host$ mkdir some-dir/tmp/var/cache/apt/archives/partial
builduser@host$ touch some-dir/tmp/var

我的some-dir/etc/apt.sources.list文件如下所示:

deb-src http://ftp.debian.org/debian wheezy main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free

cyrus-imapd-2.4然後,通過發出以下命令,我能夠以 Squeeze 上的普通使用者身份從 Wheezy 儲存庫成功下載源包:

builduser@host$ apt-get update -c some-dir/etc/apt.conf
builduser@host$ apt-get source cyrus-imapd-2.4 -c some-dir/etc/apt.conf 

對於那些對以下步驟感興趣的人——將 cyrus 包建構為非 root 使用者——答案就在這裡

引用自:https://serverfault.com/questions/447457