如何启用“合作伙伴”软件源?

我一直看到有地方提到“合作伙伴”存储库是一个可以获取软件的地方,我该如何启用这个存储库?请具体说明如何通过图形界面和命令行来操作。
7个回答

图形用户界面 (GUI) 方法:

点击 Ubuntu 按钮,然后搜索 "软件源"(或在 Ubuntu 16.04+ 上为 "软件和更新"),进入 "其他软件" 选项卡。

enter image description here

命令行方式:

打开sources.list文件:gksudo gedit /etc/apt/sources.list(或者使用您选择的命令行编辑器,sudo nano /etc/apt/sources.list会在没有图形界面的情况下使用nano)
通过删除以下行前面的#号来添加合作伙伴存储库(maverick是您的Ubuntu安装版本,可能不同,所以请使用您正在使用的发行版的代号而不是'maverick'。如果您不确定,请运行lsb_release -c来查找。)
# deb http://archive.canonical.com/ubuntu maverick partner # deb-src http://archive.canonical.com/ubuntu maverick partner

Using GEdit to edit the sources.list file

  • 保存并关闭。
  • 从源重新同步软件包索引文件:sudo apt-get update

  • 参考官方文档


从Ubuntu Precise开始,“软件源”不再可以通过启动器访问。现在必须通过菜单(编辑 => 编辑软件源)来访问它。 - Lekensteyn
@Sid 我觉得你在这里重复了。你的图形用户界面的方法可能更有道理,但是你的命令行方法已经过时了,Hieu 的贡献是更好的建议。你是否反对将这个方法简化为只使用图形用户界面的方法?我不想因为你的图形用户界面的贡献而给你点踩,但是我确实想给那个劣质的命令行方法点踩(而且它其实并不是真正的命令行,因为你使用的是 gedit)。 - Evan Carroll
因为@ThomasWard决定回滚编辑,而且命令行界面的说明不够好也过时了,所以被踩了。本不该把两者合并在一起。 - Evan Carroll
2@EvanCarroll 指示并不一定是次优的-这里指定的方法仍然有效,只需将“maverick”替换为适用的代号。您说得对,编辑CLI版本的GUI方式是错误的-请注意我所做的编辑,指示使用文本编辑器而非GUI(例如' nano')来进行命令行操作。 - Thomas Ward
1@EvanCarroll 有一种叫做“更新”的东西,通过编辑实现。效果非常好 :) - Seth

启用“合作伙伴”软件源的最简单方法是:
sudo sed -i.bak "/^# deb .*partner/ s/^# //" /etc/apt/sources.list
sudo apt-get update

这在Ubuntu 18.04上不起作用。 - fx-kirin

命令行方法

这种方法使用以下命令:

  • lsb_release -sc 获取Ubuntu(代号)版本。
  • add-apt-repository 修改适当的配置文件。

它具有在所有版本的Ubuntu中工作的优点。

sudo add-apt-repository "deb http://archive.canonical.com/ubuntu $(lsb_release -sc) partner"

这是来自一个Skype教程


太棒了。从现在开始我会一直使用这个。 - Evan Carroll
1请注意,您只能运行此命令一次。如果再次运行,将会出现重复条目的问题。 - Pilot6

要从命令行启用合作伙伴存储库,请编辑 `/etc/apt/sources.list` 文件:
运行命令 `sudoedit /etc/apt/sources.list` 并删除这两行开头的#符号。
#deb http://archive.canonical.com/ubuntu maverick partner  
#deb-src http://archive.canonical.com/ubuntu maverick partner

所以他们就是这样的:
deb http://archive.canonical.com/ubuntu maverick partner  
deb-src http://archive.canonical.com/ubuntu maverick partner

然后更新您的apt缓存:sudo apt-get update

终端版本,只需复制并粘贴这些命令以激活合作伙伴存储库(Skype等):

DISTRO=`cat /etc/*-release | grep DISTRIB_CODENAME | sed 's/.*=//g'`
sudo sed -i 's/\(# \)\(deb .*ubuntu '${DISTRO}' partner\)/\2/g' /etc/apt/sources.list
sudo apt-get -y update

@ERGuille:我修正了一下,给你一个更干净的版本。

1解析配置文件是一个糟糕的主意。 - Evan Carroll
解析 sources.list 文件其实没有什么问题。不过建议先备份一下(使用 sed -i.bak 而不是只用 sed -i)。 - Zanna

这是我在Shell中完成的方法,我花了一些时间进行微调,以增加稳定性、可重复使用性和幂等性(而不是检查发行版本):
grep -qe '^# deb[- ].* partner$' /etc/apt/sources.list \
  && sudo sed -i"~$(date -%s)" 's/^# \(deb[- ].* parnter$\)/\1/' /etc/apt/sources.list
  • grep 检查:仅在需要更改时更改文件。
  • sed 备份:保留时间戳备份,以便您可以回到过去。
  • 处理源和非源。
  • 使用名称(最后一个字段)而不是发行版来标识存储库。

这里有一些替代方案:

最后可能需要再迭代一两次。我希望除了个人评论之外,这些总结对您有所帮助。


终端 为了更方便, 复制并粘贴以下命令: sed 's/\# deb http\:\/\/archive\.canonical\.com\/ubuntu natty partner/deb http\:\/\/archive\.canonical\.com\/ubuntu natty partner/' /etc/apt/sources.list | sed 's/\# deb-src http\:\/\/archive\.canonical\.com\/ubuntu natty partner/deb-src http\:\/\/archive\.canonical\.com\/ubuntu natty partner/' - > /tmp/newfile && sudo mv -f /tmp/newfile /etc/apt/sources.list

жңүжӣҙз®ҖеҚ•гҖҒжӣҙдјҳйӣ…зҡ„дёҖиЎҢе‘Ҫд»ӨеҸҜд»ҘдҪҝз”ЁгҖӮsed -i~ 's|^# *\(deb\(-src\)* http://archive\.canonical\.com/ubuntu natty partner|\1|' /etc/apt/sources.list дҪҝз”ЁдәҶдёҖдёӘжӯЈеҲҷиЎЁиҫҫејҸпјҢдҪҶеңЁ /etc/apt/sources.list.d/ зӣ®еҪ•дёӢеҲӣе»әдёҖдёӘж–°ж–Ү件дјҡжӣҙеҘҪгҖӮ - tripleee