Ted's Blog

Happy coding

rpm vs. dpkg 常用參數對照

dpkg 是 Debian Linux 的套件管理程式, 對於習慣 rpm 的人來說, 一開始接觸 dpkg 時還真有點不太能適應, dpkg --help 查了又忘、忘了又查...

於是整理了一下兩種指令的對照表, 這樣就比較好上手了 :)

安裝

目的 rpm 用法 dpkg 用法
安裝指定套件 rpm -i pkgfile.rpm dpkg -i pkgfile.deb

查詢

目的 rpm 用法 dpkg 用法
顯示所有已安裝的套件名稱 rpm -qa dpkg -l (小寫 L)
顯示套件包含的所有檔案 rpm -ql pkgname (小寫 L) dpkg -L pkgname
顯示特定檔案所屬套件名稱 rpm -qf /path/to/file dpkg -S /path/to/file
查詢套件檔案資訊 rpm -qip pkgfile.rpm (顯示套件資訊)
rpm -qlp pkgfile.rpm (小寫 L, 顯示套件內所有檔案)
dpkg -I pkgfile.deb (大寫 I )
dpkg -c pkgfile.deb
顯示指定套件是否安裝 rpm -q pkgname (只顯示套件名稱)
rpm -qi pkgname (顯示套件資訊)
dpkg -l pkgname (小寫 L, 只列出簡潔資訊)
dpkg -s pkgname (顯示詳細資訊)
dpkg -p pkgname (顯示詳細資訊)

移除

目的 rpm 用法 dpkg 用法
移除指定套件 rpm -e pkgname dpkg -r pkgname (會留下套件設定檔)
dpkg -P pkgname (完全移除)

在 Debian 使用 alien 處理 RPM 套件

alien 可處理 .deb、.rpm、.slp、.tgz 等檔案格式, 進行轉檔或安裝.
於 Debian 安裝非 Debian 套件時, 可使用 alien 進行安裝.
安裝 alien 套件: apt-get install alien

  • 在 Debian 安裝 RPM 套件: alien -i quota-3.12-7.i386.rpm
  • 製作成 deb 的套件格式: alien -d quota-3.12-7.i386.rpm
  • 製作成 rpm 的套件格式: alien -r quota_3.12-6_i386.deb

RPM简明中文手册


RPM是RedhatPackageManager,即redhat包管理器,rpm是一个功能强大的包管理器,可以创建,安装,查询,更改,升级和卸载软件包,一个包包含了文件的架构,包信息,名字,版本号和包的描述


更详细的信息,以自己系统上的rpm的manual为准 一、安装




命令格式:



rpm -i ( or --install) options file1.rpm ... fileN.rpm



参数:



file1.rpm ... fileN.rpm 将要安装的RPM包的文件名



详细选项:



-h (or --hash) 安装时输出hash记号 (``#'')


--test 只对安装进行测试,并不实际安装。


--percent 以百分比的形式输出安装的进度。


--excludedocs 不安装软件包中的文档文件


--includedocs 安装文档


--replacepkgs 强制重新安装已经安装的软件包


--replacefiles 替换属于其它软件包的文件


--force 忽略软件包及文件的冲突


--noscripts 不运行预安装和后安装脚本


--prefix 将软件包安装到由 指定的路径下


--ignorearch 不校验软件包的结构


--ignoreos 不检查软件包运行的操作系统


--nodeps 不检查依赖性关系


--ftpproxy 用 作为 FTP代理


--ftpport 指定FTP的端口号为



通用选项



-v 显示附加信息


-vv 显示调试信息


--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安


装程序都会安装到这个目录下


--rcfile 设置rpmrc文件为


--dbpath 设置RPM 资料库存所在的路径为



二、删除



命令格式:



rpm -e ( or --erase) options pkg1 ... pkgN



参数



pkg1 ... pkgN :要删除的软件包



详细选项



--test 只执行删除的测试


--noscripts 不运行预安装和后安装脚本程序


--nodeps 不检查依赖性



通用选项



-vv 显示调试信息


--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装


程序都会安装到这个目录下


--rcfile 设置rpmrc文件为


--dbpath 设置RPM 资料库存所在的路径为



三、升级



命令格式



rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm



参数



file1.rpm ... fileN.rpm 软件包的名字



详细选项



-h (or --hash) 安装时输出hash记号 (``#'')


--oldpackage 允许"升级"到一个老版本


--test 只进行升级测试


--excludedocs 不安装软件包中的文档文件


--includedocs 安装文档


--replacepkgs 强制重新安装已经安装的软件包


--replacefiles 替换属于其它软件包的文件


--force 忽略软件包及文件的冲突


--percent 以百分比的形式输出安装的进度。


--noscripts 不运行预安装和后安装脚本


--prefix 将软件包安装到由 指定的路径下


--ignorearch 不校验软件包的结构


--ignoreos 不检查软件包运行的操作系统


--nodeps 不检查依赖性关系


--ftpproxy 用 作为 FTP代理


--ftpport 指定FTP的端口号为



通用选项



-v 显示附加信息


-vv 显示调试信息


--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下


--rcfile 设置rpmrc文件为


--dbpath 设置RPM 资料库存所在的路径为



四、查询



命令格式:



rpm -q ( or --query) options



参数:



pkg1 ... pkgN :查询已安装的软件包



详细选项



-p (or ``-'') 查询软件包的文件


-f 查询属于哪个软件包


-a 查询所有安装的软件包


--whatprovides 查询提供了 功能的软件包


-g 查询属于 组的软件包


--whatrequires 查询所有需要 功能的软件包



信息选项



显示软件包的全部标识


-i 显示软件包的概要信息


-l 显示软件包中的文件列表


-c 显示配置文件列表


-d 显示文档文件列表


-s 显示软件包中文件列表并显示每个文件的状态


--scripts 显示安装、卸载、校验脚本


--queryformat (or --qf) 以用户指定的方式显示查询信息


--dump 显示每个文件的所有已校验信息


--provides 显示软件包提供的功能


--requires (or -R) 显示软件包所需的功能



通用选项



-v 显示附加信息


-vv 显示调试信息


--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下


--rcfile 设置rpmrc文件为


--dbpath 设置RPM 资料库存所在的路径为



五、校验已安装的软件包



命令格式:



rpm -V ( or --verify, or -y) options



参数



pkg1 ... pkgN 将要校验的软件包名



软件包选项



-p Verify against package file


-f 校验所属的软件包


-a Verify 校验所有的软件包


-g 校验所有属于组 的软件包



详细选项



--noscripts 不运行校验脚本


--nodeps 不校验依赖性


--nofiles 不校验文件属性



通用选项



-v 显示附加信息


-vv 显示调试信息


--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下


--rcfile 设置rpmrc文件为


--dbpath 设置RPM 资料库存所在的路径为



六、校验软件包中的文件



语法:



rpm -K ( or --checksig) options file1.rpm ... fileN.rpm



参数:



file1.rpm ... fileN.rpm 软件包的文件名



Checksig--详细选项



--nopgp 不校验PGP签名



通用选项



-v 显示附加信息


-vv 显示调试信息


--rcfile 设置rpmrc文件为




七、其它RPM选项



--rebuilddb 重建RPM资料库


--initdb 创建一个新的RPM资料库


--quiet 尽可能的减少输出


--help 显示帮助文件


--version 显示RPM的当前版本