首页 文章

在python中获取deb包中的conffiles列表

提问于
浏览
4

我想使用python获取与deb包相关的conffiles列表 . 我正在开发一个项目,我需要知道是否修改了包安装的任何conffile所以我需要有一个包安装的conffiles列表,以便我可以使用它来查看哪个conffile已被修改 .

我试图使用python-apt library documentation,但找不到任何方法,请建议我这样做的方法 . 我知道我可以提取控制信息并读取原始的conffiles文件,但我认为库中可能有一个方法 .

2 回答

  • 2

    这是在python-apt on squeeze上测试的:我使用的包是:

    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

    状态标志

    dpkg --status bash
    

相关问题