.deb 相当于 .rpm 命令

nos*_*nos 17 package-management deb

我习惯了基于 RPM 的系统,并且有很多命令我还不确定如何处理 .deb 包。这主要用于自定义包,即不是安装 apt-get 的东西。

如果有人可以在这里提供命令的翻译,那就太好了:(“包文件”意味着在物理 .rpm/.deb 文件上运行)

功能 rpm deb
-------------------------------------------------- --------------------------------
查看所有已安装的包 rpm -qa
查看已安装包中的文件 rpm -ql packagename
查看包文件中的文件 rpm -qlp ./packagename.rpm
查看包信息,安装包 rpm -qi packagename (1)
查看包信息,包文件 rpm -qip ./packagename.rpm (1)
查看安装前/安装后的 shell 脚本 rpm -q --scripts 包名
查看包文件的变更日志 rpm -qp --changelog ./packagename.rpm
卸载软件包 rpm -e packagename dpkg -r/dpkg -P
安装包文件 rpm -ivh ./packagename.rpm dpkg -i
从文件 rpm -Uvh ./packagename.rpm 升级包
查找哪个包拥有文件 rpm -qif /some/file.foo
列出包的依赖项 rpm -q --requires packagename
列出包文件的依赖关系 rpm -qp --requires ./packagename.rpm

(1)在这里查看例如信息输出示例

enz*_*tib 12

我试图填补或补充@SeanBright 遗漏的内容:

Feature                              rpm                                   deb
----------------------------------------------------------------------------------
View all installed packages          rpm -qa                               dpkg -l, dpkg-query -Wf '${Package}\n'
View package info, installed package rpm -qi packagename (1)               apt-cache show packagename
View pre/post install shell scripts  rpm -q --scripts packagename          cat /var/lib/dpkg/info/packagename.{pre,post}{inst,rm}
View changelog for a package file    rpm -qp --changelog ./packagename.rpm dpkg-deb --fsys-tarfile packagename.deb | tar -O -xvf - ./usr/share/doc/packagename/changelog.gz | gunzip
Uninstall a package                  rpm -e packagename                    apt-get remove/purge packagename
Upgrade a package from a file        rpm -Uvh ./packagename.rpm            dpkg -i packagename.deb
Find which package owns a file       rpm -qif /some/file.foo               dpkg -S /dome/file.foo
List dependencies of a package       rpm -q --requires packagename         apt-cache depends package
List dependencies of a package file  rpm -qp --requires ./packagename.rpm  (shown in package's info)
Run Code Online (Sandbox Code Playgroud)