linux中软件包的管理rpm、dpkg

rpm是基于redhat内核版的

rpm 

查询

rpm {-q|--query} [select-options] [query-options]

安装
rpm {-i|--install} [install-options] PACKAGE_FILE ...

更新

rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...

删除

rpm {-e|--erase} [--allmatches] [--justdb] [--nodeps] [--noscripts]
[--notriggers] [--test] PACKAGE_NAME ...

select-options
[PACKAGE_NAME] [-a,--all] [-f,--file FILE]
[-g,--group GROUP] {-p,--package PACKAGE_FILE]
[--hdrid SHA1] [--pkgid MD5] [--tid TID]
[--querybynumber HDRNUM] [--triggeredby PACKAGE_NAME]
[--whatprovides CAPABILITY] [--whatrequires CAPABILITY]

query-options
[--changelog] [-c,--configfiles] [--conflicts]
[-d,--docfiles] [--dump] [--filesbypkg] [-i,--info]
[--last] [-l,--list] [--obsoletes] [--provides]
[--qf,--queryformat QUERYFMT] [-R,--requires]
[--scripts] [-s,--state] [--triggers,--triggerscripts]

查询所有已安装的包

rpm -qa    |grep -i packagename

加grep -i Packagename 查询特定包名。

基于rpm的包管理工具yum

列出已安装的包

yum list installed 

查询特定文件属于哪个包

yum provides file_name

安装软件

yum install package_name

列出已安装的可更新软件

yum list updates

更新特定包

yum update package_name

一键更新

yum update

用yum卸载软件

yum remove package_name #只删除软件包,保留配置文件和数据文件

删除软件和相关所有文件:

yum erase package_name

处理损坏的包依赖关系

yum clean all #先清理yum缓存

yum update package_name 

如果还不能解决问题,试着用下面命令:

yum deplist package_name #列出包的库依赖关系,找到包依赖的库,安装他们。

yum的仓库定义文件位于/etc/yum.repos.d

 

ubuntu中的dpkg


列出与某个特定软件包相关的所有文件的列表,要得到这个列表,只能用dpkg:
dpkg -L packge_name

也可以反向操作,查找某个特定文件属于哪个软件包:

dpkg --search absolute_file_name

查找软件包

aptitude search package_name

安装软件:

aptitude install package_name 

更新软件

aptitude safe-upgrade

卸载软件:

只删除软件包,不删除配置文件和数据:
aptitude remove package_name

全部删除:

aptitude purge

aptitude 默认的软件仓库位置在:/etc/apt/sources.list

 

linux中软件包的管理rpm、dpkg

上一篇:linux mailbox模型【转】


下一篇:个人管理 - 程序员的四个阶段