5

我需要使用 python 脚本将 ppa 添加到远程服务器。我想做的 bash 等价物是:

$ add-apt-repository ppa:user/ppa-name

我假设它看起来像这样:

import apt
cache = apt.Cache()
# ?? add the ppa here ??
cache.update()
cache.open(None)
cache['package_from_ppa'].mark_install()
cache.upgrade()
cache.commit()

但我无法在与添加存储库相关的 apt 模块源中找到太多内容。

4

2 回答 2

5

取自当前(在 11.04 natty 中)add-apt-repository 代码:

from softwareproperties.SoftwareProperties import SoftwareProperties
sp = SoftwareProperties()
sp.add_source_from_line(ppa_name)
sp.sourceslist.save()

您应该添加检查错误等...查看当前安装的版本,如下所示:

less `which add-apt-repository`
于 2011-08-14T09:09:10.517 回答
0

我注意到 op 从来没有得到他想要的答案,所以这里是解决方案。

import aptsources.sourceslist as s
repo = ('deb', 'http://ppa.launchpad.net/danielrichter2007/grub-customizer/ubuntu', 'xenial', ['main'])
sources = s.SourcesList()
sources.add(repo)
sources.save()
于 2017-04-20T06:44:04.730 回答