Мне нужно добавить ppa на удаленные серверы с помощью скрипта python. Эквивалент того, что я хочу сделать в 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 много информации, связанной с добавлением репозиториев.
Вот что я в итоге сделал.
Установите пакет свойств программного обеспечения:
$ 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()
add-apt-repository
написан на Python; должно быть довольно тривиально изучить, что он делает, и воспроизвести необходимые строки кода в вашей собственной программе.