Назад | Перейти на главную страницу

Есть ли способ добавить ppa с помощью модуля python apt?

Мне нужно добавить 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; должно быть довольно тривиально изучить, что он делает, и воспроизвести необходимые строки кода в вашей собственной программе.