获取Deb包中的配置文件列表(Python)

4 投票
2 回答
1071 浏览
提问于 2025-04-17 05:42

我想用Python获取与deb包相关的配置文件列表。我正在做一个项目,需要知道某个包安装的配置文件是否被修改过,所以我需要一个安装的配置文件列表,这样我才能查看哪些配置文件被改动了。

我试着查阅了python-apt库的文档,但是没找到任何可以实现这个功能的方法。请给我推荐一个解决办法。我知道我可以提取控制信息并读取原始的配置文件,但我觉得这个库里应该有直接的方法。

2 个回答

0

状态标志

dpkg --status bash
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#......'

你需要去掉第一个斜杠

撰写回答