我想通过脚本用户将存储库添加到 apt-get(而不会弄乱 /etc/apt/sources.list)。此脚本可能会运行多次,因此我不能每次都附加条目。有什么方法可以在包含条目的目录中添加单个文件吗?
我知道您可以为 yum 执行此操作,但我不确定 apt-get 是否可以执行此操作。如果我需要添加更多信息,请告诉我。
答案1
您可以将文件放在 中。 (type )/etc/apt/sources.list.d
的手册页中对此进行了描述。手册页中写道:sources.list
man sources.list
较旧的 SOURCES.LIST.D
/etc/apt/sources.list.d 目录提供了一种在单独文件中添加 sources.list 条目的方法。格式与常规 sources.list 文件相同。文件名需要以 .list 结尾,并且只能包含字母(az 和 AZ)、数字(0-9)、下划线 (_)、连字符 (-) 和句点 (.)。否则它们将被默默忽略。
更新:
2016 来源.列表.D
/etc/apt/sources.list.d 目录提供了一种在单独的文件中添加 sources.list 条目的方法。允许使用两种不同的文件格式,如下两节所述。文件名需要具有扩展名 .list 或 .sources,具体取决于所包含的格式。文件名只能包含字母(az 和 AZ)、数字(0-9)、下划线(_)、连字符(-)和句点(.)。否则,APT 将打印一条通知,表明它已忽略某个文件,除非该文件与 Dir::Ignore-Files-Silently 配置列表中的模式匹配 - 在这种情况下,它将被默默忽略。
答案2
您可以尝试:
add-apt-repository <REPOSITORY LINE>
存储库行只是您要附加到 sources.list 或 PPA 存储库的内容。查看手册页这里,或者执行:
man add-apt-repository
答案3
我(认为我)需要将 ppa repo 添加到 crunchbang,(debian)安装
:(注意:“raring” 是与我使用的 debian 版本相匹配的 ubuntu 版本),因此我执行以下操作:
sudo su -
# you can call the file anything that you want, but it has to end with .list to be a valid for apt-get
echo 'deb http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu/ raring main'>> /etc/apt/sources.list.d/boot-repair.list
# get the keys for that repo so that apt can verify the signed .deb files
wget http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu/dists/raring/Release.gpg
apt-key add Release.gpg
#gpg --search-keys 60D8DA0B
apt-get update
其中大部分内容已在启动修复页,(虽然最后测试磁盘进而分区是我真正需要恢复丢失的分区和损坏的 MBR。)这可能不是这Debian 方式 (TM),但它对我来说有效。
有些 debian 仓库是“老式的”,那么您只需要一行:
deb http://repo.alexx.net/apt/ /
# the trailing slash needs to be there
如果您有 add-apt-repository 的话,它会很好用,但是它似乎更适合 ubuntu。
答案4
add-apt-repository
有第三种形式(除了 PPA URL 和完整的 apt 行),可以启用分发组件:
sudo add-apt-repository universe
sudo add-apt-repository contrib
这是在 12.10(Quantal)中引入的。