我正在寻找有关 Linux 包管理器架构之一的指南。例如apt-get(dpkg),或嗯(转/分钟)。我想知道他们如何管理包列表、文件列表、包版本等。
答案1
那么 yum 是基于 rpm 的 -http://en.wikipedia.org/wiki/RPM_Package_Manager
apt(通常)是基于 deb 的 -http://en.wikipedia.org/wiki/Deb_%28file_format%29
这两个页面都有链接解释更多信息
答案2
Yum 基于 RPM,并且完全用 Python 编写。
Yum 或 RPM 通常在“/var/lib/rpm”中维护一个数据库(Berkley DB)。
数据库路径是“/var/lib/rpm/Packages”。
见下文:
[root@ec092 rpm]# pwd
/var/lib/rpm
[root@ec092 rpm]# 文件包
软件包:Berkeley DB(哈希,版本 8,本机字节顺序)
当您使用类似命令时,rpm -qa
它会查询包数据库并维护所有属性,例如包列表、文件列表、包版本等。
Ubuntu 的 apt-get 是用 C++ 编写的,有些复杂。