AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 541978
Accepted
Monica For CEO
Monica For CEO
Asked: 2013-09-27 12:19:04 +0800 CST2013-09-27 12:19:04 +0800 CST 2013-09-27 12:19:04 +0800 CST

在 Debian 上,如何根据特定存储库中的软件包审核已安装的软件包?

  • 772

我管理着许多 Debian 服务器,通常会跟踪 Debian 稳定存储库,但偶尔会从 Debian 测试存储库或第三方来源安装。出于审计目的,在每台机器上,对于当前安装的所有软件包,我想将已安装的软件包版本与特定存储库(即 Debian 稳定存储库)中的软件包版本进行比较。

使用 aptitude 搜索模式,我可以识别 Debian 稳定存储库中可用或不可用的已安装软件包:

aptitude search "?installed?origin(Debian)?archive(stable)"
aptitude search "?installed?not(?origin(Debian)?archive(stable))"

但是对于 Debian 稳定存储库中可用的软件包,我无法确定安装的版本是否与存储库中的版本匹配。

我想可能可以使用 apt pinning 强制降级:

Package:      *
Pin:          release n=stable, o=Debian
Pin-Priority: 1001

然后使用空运行模式检查哪些包会受到影响:

apt-get update
apt-get --dry-run upgrade

但是要降低使用 apt pinning 超过 1000 个的风险,需要对 apt 进行单独配置,这似乎比需要的复杂得多。

未来的一种可能性是建立一个私有存储库,并且只从 Debian 稳定存储库或私有存储库安装。然后,如果可以从私有存储库获得一个包,则可以假设(出于审计目的)它没有从 Debian 稳定存储库安装。只要从不手动安装软件包,它就可以很好地工作。但是对于一个简单的命令来说,设置一个私有存储库似乎有点矫枉过正。

有没有更好的方法来审核包版本?或者更好的是,审计包签名?

debian
  • 1 1 个回答
  • 1719 Views

1 个回答

  • Voted
  1. Best Answer
    Monica For CEO
    2013-09-28T00:08:56+08:002013-09-28T00:08:56+08:00

    像这样:

    aptitude search "?installed?not(?narrow(?installed,?origin(^Debian$)?archive(^stable$)))"
    

    Using?narrow比较软件包名称和版本,因此上面将已安装的软件包名称和版本与 Debian 稳定存储库中的软件包名称和版本进行比较,然后反转匹配以查找与 Debian 稳定存储库中的版本不匹配的已安装软件包。

    Danila Ladner在评论中的建议也很有帮助;我将 aptitude 命令的结果输入到apt-cache policy <package>,以便查看在初始搜索中出现并需要仔细查看的包的版本详细信息。

    • 0

相关问题

  • 关闭 FTP

  • 如何在同一台电脑上从 putty 连接 debian vmware

  • debian- 文件到包的映射

  • Debian Ubuntu 网络管理器错误 [关闭]

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve