目录html
RPM是 Redhat Package Manager的缩写,是Linux上的一种软件打包和管理的工具。 由于Linux的不一样发行版(distribution),甚至同一发行版的不一样版本之间每每有不少的不一样, 开发者在某个Linux发行版下开发和编译的程序,直接放到另一个Linux下有很是大的可能性没法运行。 所以早期的Linux的软件都是经过源码来分发,使用者基本都是经过在本身的Linux平台上从新编译源代码来安装软件。 可是这种编译源代码的方式比较繁琐和复杂,普通用户每每也难以掌握。后来 Redhat推出了RPM这个软件打包的方式。就是在特定的Linux平台上把软件编译好,而后把与这个软件相关的文件和库打包成一个文件(RPM包), 但须要注意的是: 一般不一样的distribution所发布的RPM包每每不能用于其余的Linux的distributions上面。 例如,针对Redhat的RPM包每每没法直接在OpenSUSE上进行安装。所以,在使用RPM方式进行安装的时候,必须选择和你使用的平台一致的RPM安装包。android
rpm -ivh google-chrome-33.xxxx.rpm
升级某个软件:chrome
rpm -Uvh abc.xxx.rpm //abc这个软件的新版本会覆盖原来的版本,若是原来没有安装,直接安装
查询某个软件是否安装apache
rpm -q httpd //查询是否安装了apache服务 rpm -qa | grep pam //查询是否安装了包含pam这个名字的软件 rpm -qi httpd //列出目前安装的apache服务的详细信息 rpm -qR httpd //列出apache的软件依赖关系
卸载软件centos
rpm -e httpd //卸载apache
虽然用RPM包来安装软件免去了编译源代码的麻烦,但软件之间的属性依赖问题并无解决,有的时候,为了安装某个软件,你不得不先要安装N个其余的软件才行。工具
为了解决软件依赖的问题,已经为了给用户提供一种更加方便简单的软件安装方法, YUM被开发出来了。 YUM 是Yellowdog Updater Modified 的缩写. YUM 是创建在RPM的基础之上的, 为用户提供软件安装,升级,卸载的功能。YUM最大的好处是解决了软件依赖的问题。YUM 把不少软件的RPM包放在RPM 容器(repository)中, 用YUM 方式来安装软件的时候,会自动分析你要安装的软件的依赖关系,并会自动帮你安装必须的“依赖软件”, 这样就解决了最为困扰用户的软件依赖的问题。ui
查询功能google
yum list/search /info xxx 例如:yum list httpd //检查apache是否已经安装 yum info httpd //查看apache的详细信息, 相似 rpm -qi httpd yum search httpd //查询和 apache (httpd)相关的软件
安装升级.net
yum install httpd yum update httpd
卸载软件code
yum remove httpd
用于Ubuntu。
dpkg 是一种比较低层的软件包安装管理工具,在安装时,不会安装软件包的依赖关系;只能安装所要求的软件包。
dpkg一般用于 安装.deb文件,不会自动解决软件安装过程当中的依赖关系。
dpkg -i package_name.deb #安装本地软件包,不解决依赖关系 dpkg -r package #删除软件包 dpkg -P #删除软件包及配置文件
用于Ubuntu。
apt-get 是一种高级的软件包管理工具,在安装软件时,会自动解决软件安装过程当中的依赖关系;
ap-get remove 不会自动删除不须要的软件包。
apt-get install package #在线安装软件包 apt-get install package --reinstall #从新安装软件包 apt-get remove package #删除软件包 apt-get remove package --purge #删除软件包及配置文件 apt-get autoremove #删除再也不须要的软件包 apt-get clean #清除 /var/cache/apt/archives 目录 apt-get autoclean #清除 /var/cache/apt/archives 目录,不过只清理过期的包 apt-get build-dep package #解决编译源码 package 的依赖关系
用于Ubuntu。
aptitude 是一种带有UI界面的更高级的软件包安装管理工具,自动解决软件包安装中的依赖关系;而且在删除的时候,会自动删除不须要的软件依赖关系安装包;更加的智能,高效。