如何在不编辑/etc/apt/sources.list的情况下添加apt-get存储库?


19

我想通过脚本用户向apt-get添加一个存储库(而不会弄乱/etc/apt/sources.list)。该脚本可能会运行多次,所以我不能每次都只是追加条目。有什么办法可以在包含条目的目录中添加单个文件?

我知道您可以做到这一点,但是我不确定apt-get是否可能。请让我知道是否需要添加更多信息。


如果双击/etc/apt/sources.list,它将打开一个GUI界面,其中包含用于添加存储库的向导。有一个复选框,您可以在其中启用和禁用条目(例如,仅在更新某些“外部”存储库软件时才允许使用新条目),并且可以删除条目。它还在同一目录中创建一个名为sources.list.save的备份。如果您需要额外的保护,则始终可以自己更改原始文件,然后再进行更改。因此,仅出于这个原因,如果您要执行脚本路由,就不会有混乱文件的风险。
fixer1234

Answers:


21

您可以将文件放在中/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配置列表中的模式匹配-在这种情况下,它将被忽略。


8

您可以尝试:

add-apt-repository <REPOSITORY LINE>

存储库行就是您要追加到sources.list或PPA存储库中的行。在此处查看手册页,或执行:

man add-apt-repository

1
快速浏览一下add-apt-repository的man文件时,看起来它只是将行添加到了sources.list文件中,它没有提及是否进行检查,因此与“ echo line >>”相同。我已经拥有的“ sources.list”。感谢您的回应。
大雪

2
@Daisetsu我知道,我以为您只是手动编辑文件感到不舒服!一定误会了!太棒了,但是您得到了一个对您有用的答案!
BloodPhilia

1

我(以为我)需要添加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很好,但这似乎更麻烦。


0

add-apt-repository 具有第三种形式(除了PPA URL和完整的apt行),它使分发组件成为可能:

sudo add-apt-repository universe
sudo add-apt-repository contrib

这是在12.10(定量)中引入的。


它显示了Error: 'contrib' invalid 使用Ubuntu 16.04
Jaffer Wilson
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.