dpkg 和 rpm 的常用方法比较

系统 1749 0

http://blog.csdn.net/s464036801/article/details/7561164

rpm vs. dpkg 常用參數對照

 

安裝

目的 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
       dpkg 和 rpm 的常用方法比较
 

一、Ubuntu 采用 Debian 的软件包管理器 dpkg 来管理软件包, 类似 RPM. 系统中所有 packages 的信息都在 /var/lib/dpkg/
目录下, 其子目录 /var/lib/dpkg/info 用于保存各个软件包的配置文件列表:
 (1).conffiles 记录了软件包的配置文件列表
 (2).list 保存软件包中的文件列表, 用户可以从 .list 的信息中找到软件包中文件的具体安装位置.
 (3).md5sums 记录了软件包的md5信息, 这个信息是用来进行包验证的.
 (4).prerm 脚本在 Debian 包解包之前运行, 主要作用是停止作用于即将升级的软件包的服务, 直到软件包安装或升级完成.
 (5).postinst 脚本是完成 Debian 包解开之后的配置工作, 通常用于执行所安装软件包相关命令和服务重新启动.

/var/lib/dpkg/available 文件的内容是软件包的描述信息, 该软件包括当前系统所使用的 Debian 安装源中的所有软件包,
其中包括当前系统中已安装的和未安装的软件包.

/var/cache/apt/archives 目录是在用 apt-get install 安装软件时,软件包的临时存放路径

/etc/apt/sources.list 存放的是软件源站点, 当你执行 sudo apt-get install xxx 时,Ubuntu 就去这些站点下载软件包到本地并执行安装

二、相关命令使用示例:
 (1)查看某软件包的安装内容
    dpkg -L xxx

 (2)查找软件库中的软件包
    apt-cache search 正则表达式

 (3)显示系统安装包的统计信息
    apt-cache stats
 
 (4)显示系统全部可用软件包的名称
    apt-cache pkgnames

 (5)显示某软件包的详细信息
    apt-cache show xxx

 (6)查找某文件属于哪个包
    apt-file search xxx

 (7)查看已经安装了哪些软件包
    dpkg -l

 (8)查询某软件依赖哪些软件包
    apt-cache depends xxx

 (9)查询某软件被哪些软件包依赖
    apt-cache rdepends xxx

 (10)增加一个光盘源
    sudo apt-cdrom add
    注: 顾名思义, 就是安装更新软件包时让其优先从Ubuntu 光盘上找(如果你不能上网安装/更新, 但有 Ubuntu 的 DVD ISO, 这会对你非常有用)

 (11)系统升级
    sudo apt-get update

 (12)清除所有已删除软件包的残馀配置文件
    dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

 (13)编译时缺少h文件的自动处理
    sudo auto-apt run ./configure

 (14)查看安装软件时下载软件包的临时存放目录
    ls /var/cache/apt/archives

 (15)备份当前系统安装的所有软件包的列表
    dpkg --get-selections | grep -v deinstall > ~/somefile

 (16)从上面备份的安装包的列表文件恢复所有包
    dpkg --set-selections < ~/somefile
    sudo dselect

 (17)清理旧版本的软件缓存
    sudo apt-get autoclean

 (18)清理所有软件缓存
    sudo apt-get clean

 (19)删除系统不再使用的孤立软件
    sudo apt-get autoremove

 (20)查看软件包在服务器上面的地址
    apt-get -qq --print-uris install ssh | cut -d\' -f2

dpkg 和 rpm 的常用方法比较


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论