4

Python を使用して、deb パッケージに関連付けられている conffile のリストを取得したいと考えています。パッケージによってインストールされた conffile が変更されているかどうかを知る必要があるプロジェクトに取り組んでいるため、パッケージによってインストールされた conffile のリストを使用して、どの conffile が変更されたかを確認できるようにする必要があります。

python-apt ライブラリのドキュメントを使用しようとしまし たが、それを行う方法が見つかりませんでした。その方法を提案してください。制御情報を抽出して生の conffiles ファイルを読み取ることができることはわかっていますが、ライブラリ自体にメソッドがある可能性があると思います。

4

2 に答える 2

2

これは、squeezeの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#......'

最初のスラッシュを取り除く必要があります

于 2011-11-09T21:26:29.777 に答える
0

ステータスフラグ

dpkg --status bash
于 2011-11-09T21:29:09.557 に答える