我想通过脚本用户向apt-get添加一个存储库(而不会弄乱/etc/apt/sources.list)。该脚本可能会运行多次,所以我不能每次都只是追加条目。有什么办法可以在包含条目的目录中添加单个文件?
我知道您可以做到这一点,但是我不确定apt-get是否可能。请让我知道是否需要添加更多信息。
我想通过脚本用户向apt-get添加一个存储库(而不会弄乱/etc/apt/sources.list)。该脚本可能会运行多次,所以我不能每次都只是追加条目。有什么办法可以在包含条目的目录中添加单个文件?
我知道您可以做到这一点,但是我不确定apt-get是否可能。请让我知道是否需要添加更多信息。
Answers:
您可以将文件放在中/etc/apt/sources.list.d
。在sources.list
(type man sources.list
)的手册页中对此进行了描述。手册页显示:
较旧的SOURCES.LIST.D
/etc/apt/sources.list.d目录提供了一种在单独文件中添加sources.list条目的方法。格式与常规sources.list文件的格式相同。文件名必须以.list结尾,并且只能包含字母(az和AZ),数字(0-9),下划线(_),连字符(-)和句点(。)字符。否则,它们将被静默忽略。
更新:
2016 SOURCES.LIST.D
/etc/apt/sources.list.d目录提供了一种在单独文件中添加sources.list条目的方法。如以下两节所述,允许使用两种不同的文件格式。根据所包含的格式,文件名需要具有扩展名.list或.sources。文件名只能包含字母(az和AZ),数字(0-9),下划线(_),连字符(-)和句点(。)字符。否则,APT会打印一条已忽略文件的通知,除非该文件与Dir :: Ignore-Files-Silently配置列表中的模式匹配-在这种情况下,它将被忽略。
您可以尝试:
add-apt-repository <REPOSITORY LINE>
存储库行就是您要追加到sources.list或PPA存储库中的行。在此处查看手册页,或执行:
man add-apt-repository
我(以为我)需要添加PPA回购的crunchbang,(Debian的)安装:
(NB “铆足了劲”是Ubuntu的版本匹配的Debian的版本,我用),所以我所做的:
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
这其中大部分是在解释启动修复页面,(虽然最终testdisk,然后用Gparted是什么,我确实需要恢复丢失的分区和损坏的MBR)。这可能不是在 Debian的方式(TM),但它为我工作。
一些debian仓库是“旧样式”,然后您只需要这样的行:
deb http://repo.alexx.net/apt/ /
# the trailing slash needs to be there
如果有的话,add-apt-repository很好,但这似乎更麻烦。
add-apt-repository
具有第三种形式(除了PPA URL和完整的apt行),它使分发组件成为可能:
sudo add-apt-repository universe
sudo add-apt-repository contrib
这是在12.10(定量)中引入的。
Error: 'contrib' invalid
使用Ubuntu 16.04