有没有办法使用 python apt 模块添加 ppa?

有没有办法使用 python apt 模块添加 ppa?

我需要使用 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 模块源中找到太多与添加存储库相关的内容。

答案1

add-apt-repository是用 Python 编写的;检查它正在做什么并在你自己的程序中复制必要的代码行应该是相当简单的。

答案2

这就是我最终做的事情。

安装软件属性包:

$ sudo apt-get install python-software-properties

然后在你的python脚本中:

import apt
from softwareproperties.SoftwareProperties import SoftwareProperties

sp = SoftwareProperties()
to_add = 'ppa:user/repository'
sp.add_source_from_line(to_add)
sp.sourceslist.save()

cache = apt.Cache()
cache.update()
cache.open(None)
cache['package_from_ppa'].mark_install()
cache.upgrade()
cache.commit()

相关内容