在天气好的日子上班,简直就是造孽
概念
rpm
- Red Hat Package Manager
- 红帽公司开发的软件包管理方式
- 可进行软件的安装,查看,升级,卸载等工作
- 只能安装已经下载到本地机器上的rpm 包
- 不处理软件包之间的依赖关系
- 若安装的软件包有依赖关系,则需要一个一个安装其余依赖的包
yum
- Yellow dog Updater, Modified
- 基于RPM包管理,从指定的服务器自动下载RPM包并且安装
- 可以自动处理依赖性关系
- 一次安装所有依赖的软体包,无须繁琐地一次次下载、安装
- 可以同时配置多个资源库(Repository)
- 简洁的配置文件(/etc/yum.conf)
dpkg
- Debian Packager
- 为 “Debian”专门开发的套件管理系统
- 执行软件的安装、更新及移除
- 只能安装已经下载到本地机器上的.deb文件
- 不会解决模块的依赖关系
- 不会关心ubuntu的软件仓库内的软件
apt-get
- Advanced Package Tool
- 建立在dpkg之上的软件管理工具
- 适用于deb包管理式的操作系统
- 自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统
- 出色的解决软件依赖关系的能力
- 不会安装本地的deb文件
aptitude
- 整合了 dselect 和 apt-get的所有功能(dselect是debian发布中重要的软件包管理工具)
- 提供更多特性,特别是在依赖关系处理上
- 在删除一个包时,会同时删除本身所依赖的包,比aptitude的效果好
概念分类
- linux分类
- RedHat系列:Redhat、Centos、Fedora等
- Debian系列:Debian、Ubuntu等
- 管理工具分类
- apt-get:ubuntu、Debian的包管理工具
- yum:Redhat、Centos包管理工具
综合对比
RedHat 系列
- 常见的安装包格式 rpm包,安装rpm包的命令是“rpm -参数”
- 包管理工具 yum
- 支持tar包
Debian系列
- 常见的安装包格式 deb包,安装deb包的命令是“dpkg -参数”
- 包管理工具 apt-get,aptitude
常用命令
常用的rpm命令
- 安装:rpm -ivh *.rpm
- 卸载:rpm -e packgename
- 升级:rpm -Uvh xxx
- 查询是否已经安装:rpm -q xxx
- 查询所有安装的软件:rpm -qa
- 查询已安装的软件:rpm -qa | grep xxx
- 查询软件的信息(通过package name):rpm -qi xxx
- 查询rpm包的信息:rpm -qpi xxx.rpm
- 查询软件的安装路径:rpm -ql xxx
- 查询软件的组成文件(通过package name):rpm -qc xxx
- 查询某个文件是那个rpm包产生:rpm -qf /etc/yum.conf
常用的yum命令
- 安装
yum install xxx // 安装指定的的rpm包
yum -y // 安装包时的选择一律选yes
- 更新
yum check-update // 检查可更新的rpm包
yum update // 更新所有的rpm包
yum update xxx // 更新指定的rpm包
yum update kernel // 升级内核;
yum upgrade // 大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级
- 移除
yum remove xxx // 删除rpm包,包括与该包有倚赖性的包
yum -y remove xxx // 删除包时的选择一律选yes
- 清除缓存
yum clean packages // 清除缓存目录下的软件包
yum clean headers // 清除缓存目录下的 headers
yum clean oldheaders // 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) //清除缓存目录下的软件包及旧的headers
- 搜寻
yum search xxx // 使用YUM查找软件包,xxx可以是关键字
- 查询
yum list // 列出所有可安装的软件包
yum list xxx // 列出所指定的软件包
yum list updates // 列出所有可安装的软件包
yum list installed // 列出列出所有已安装的软件包
yum list extras // 列出所有已安装但不在Yum Repository內的软件包
yum list available // 列出所有升级源上的包
yum provides xxx // 查询指定文件在哪个包里
- 组操作
yum groupupdate xxx // 以组为单位进行升级,同时操作相关的所有软件包
yum grouplist xxx // 以组为单位进行列表,同时操作相关的所有软件包
yum groupremove xxx // 以组为单位进行删除,同时操作相关的所有软件包
常用的dpkg 命令
- 安装Debian软件包,本地文件:dpkg -i xxx.deb
- 移除一个已安装的包裹(只是删掉数据和可执行文件,不处理配置文件,remove):dpkg -r xxx
- 完全移除一个已安装的包裹(包括配置文件,purge):dpkg -P xxx
- 查询软件安装的所有文件:dpkg -L xxx
- 查询一个 .deb 文件的内容:dpkg -c xxx.deb
- 查询已安装包裹的信息:dpkg -s xxx
- 查询Debian 存档中的包裹信息:apt-cache
- 查询一个.deb 文件中提取的包裹信息:dpkg -I xxx.deb
- 重新配制一个已经安装的包裹,如果它使用的是 debconf (debconf 为包裹安装提供了一个统一的配制界面):dpkg-reconfigure xxx
常用的apt命令
- 搜索包:apt-cache search xxx
- 获取包的相关信息,如说明、大小、版本等:apt-cache show xxx
- 安装包:apt-get install xxx
- 重新安装包:apt-get install xxx –reinstall
- 修复安装”-f = –fix-missing”:apt-get -f install
- 删除包:apt-get remove xxx
- 删除包(包括删除配置文件等):apt-get remove xxx –purge
- 更新源:apt-get update
- 更新已安装的包:apt-get upgrade
- 升级系统:apt-get dist-upgrade
- 使用dselect升级:apt-get dselect-upgrade
- 了解使用依赖:apt-cache depends xxx
- 是查看该包被哪些包依赖:apt-cache rdepends xxx
- 安装相关的编译环境:pt-get build-dep xxx
- 下载该包的源代码:apt-get source xxx
- 清理无用的包:apt-get clean && apt-get autoclean
- 检查是否有损坏的依赖:apt-get check
常用的aptitude命令
对于Server版, 推荐使用aptitude来查看,安装、删除deb包
安装aptitude
apt-get install aptitude //安装 aptitude
aptitude //执行 aptitude 进入管理
也可以使用命令:
- 更新可用的包列表:aptitude update
- 升级可用的包:aptitude upgrade
- 将系统升级到新的发行版:aptitude dist-upgrade
- 安装包:aptitude install pkgname
- 删除包:aptitude remove pkgname
- 删除包及其配置文件aptitude purge pkgname
- 搜索包:aptitude search string
- 显示包的详细信息:aptitude show pkgname
- 删除下载的包文件:aptitude clean
- 仅删除过期的包文件:aptitude autoclean