Получить список conffiles в пакете deb в python - PullRequest
4 голосов
/ 05 ноября 2011

Я хочу получить список conffiles, связанных с пакетом deb, использующим python. Я работаю над проектом, для которого мне нужно знать, был ли изменен какой-либо файл, установленный пакетом, поэтому мне нужно иметь список файлов, установленных пакетом, чтобы я мог использовать его, чтобы увидеть, какой из файлов был изменен.

Я пытался использовать документацию по библиотеке python-apt , но не смог найти какой-либо способ сделать это. Пожалуйста, предложите мне способ сделать это. Я знаю, что могу извлечь управляющую информацию и прочитать необработанный файл conffiles, но думаю, что в самой библиотеке может быть метод.

Ответы [ 2 ]

2 голосов
/ 10 ноября 2011

это проверено на python-apt при сжатии: пакет, который я использовал:

http://ftp.debian.org/debian/pool/main/o/openssh/openssh-server_5.5p1-6+squeeze1_amd64.deb

from apt.debfile import DebPackage
ssh = DebPackage('openssh-server_5.5p1-6+squeeze1_amd64.deb')
print ssh.control_content('conffiles').split('\n')

[u'/etc/init.d/ssh', u'/etc/default/ssh', u'/etc/network/if-up.d/openssh-server', u'/etc/ufw/applications.d/openssh-server', u'/etc/pam.d/sshd', u'']

вам нужно удалить последний

print ssh.data_content('etc/init.d/ssh')
u'#! /bin/sh\n\n### BEGIN INIT INFO\n#......'

вам нужно удалить первую косую черту

0 голосов
/ 10 ноября 2011

Флаг статуса

dpkg --status bash
...