Linux软件包管理工具是一组命令的集合,其作用是提供在操作系统中安装,升级,卸载需要的软件的方法,并提供对系统中所有软件状态信息的查询,简言之包管理器(package manager)是一种让用户安装,卸载,更改,配置的软件包管理工具。不同的Linux发行版会有不同的包管理器,比较常见的包管理工具有DPKG,APT(APT-GET),RPM,YUM,DNF等。
DPKG
Debian包管理系统,是Debian Linux家族的基础包管理系统,它用于安装、删除、存储和提供deb包的信息。
选项
-i:安装软件包
-r:删除软件包
-P:删除软件包的同时删除其配置文件
-L:显示于软件包关联的文件
-l:显示已安装软件包列表
–unpack:解开软件包
-c:显示软件包内文件列表
–confiugre:配置软件包
常用命令示例
APT (高级打包工具)安装包
dpkg-ipackage.deb
删除包
dpkg-rpackage
删除包(包括配置文件)
dpkg-Ppackage
列出与该包关联的文件
dpkg-Lpackage
显示该包的版本
dpkg-lpackage
解开deb包的内容
dpkg--unpackpackage.deb
搜索所属的包内容
dpkg-Skeyword
列出当前已安装的包
dpkg-l
列出deb包的内容
dpkg-cpackage.deb
配置包
dpkg--configurepackage
列出已安装软件包
dpkg-query-l
dpkg-query-l|less
dpkg-query-l|greppackage
一个dpkg包管理系统的前端工具,它是一个非常受欢迎的、自由而强大的,有用的命令行包管理器系统。Debian及其衍生版,例如Ubuntu、Linux Mint。apt-get命令是Debian Linux发行版中的APT软件包管理工具。所有基于Debian的发行都使用这个包管理系统。
常用命令示例
RPM安装包
apt install package
卸载安装包
apt remove package
检测并清除无用的安装包
apt autoremove
更新所有安装包
apt update&upgrade package
更新所有已安装的软件包
apt-getupgrade
将系统升级到新版本(解决依赖关系并升级)
apt-getdist-upgrade
更新
apt-getupdate
安装一个新软件包
apt-getinstallpackage
卸载一个已安装的软件包(保留配置文件)
apt-getremovepackage
卸载一个已安装的软件包(删除配置文件)
apt-get–purgeremovepackage
移除已安装的软件的旧版本软件包(删除为了满足其他软件包的依赖而安装的,但现在不再需要的软件包。)
apt-getautocleanpackage
移除下载到本地的已经安装的软件包
apt-getclean
列出已安装软件包
sudoaptlist--installed
sudoaptlist--installed|less
sudoaptlist--installed|greppackage
红帽包管理器是红帽创建的Linux基本标准(LSB)打包格式和基础包管理系统。基于这个底层系统,有多个前端包管理工具可供使用
选项
-a:查询所有套件
-c:只列出组态配置文件,本参数需配合"-l"参数使用
-d:只列出文本文件,本参数需配合"-l"参数使用
-e<套件档>或–erase<套件档>:删除指定的套件
-f<文件>+:查询拥有指定文件的套件
-h或–hash:套件安装时列出标记
-i:显示套件的相关信息
-i<套件档>或–install<套件档>:安装指定的套件档
-l:显示套件的文件列表
-p<套件档>+:查询指定的RPM套件档
-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户
-R:显示套件的关联性信息
-s:显示文件状态,本参数需配合"-l"参数使用
-U<套件档>或–upgrade<套件档>:升级指定的套件档
-v:显示指令执行过程
-vv:详细显示指令执行过程,便于排错
常用命令示例
YUM安装软件包
rpm-ivhpackage.rpm
强制安装
rpm--force-ivhpackage.rpm
卸载软件包
rpm-epackage
列出所有安装过的包
rpm-qa或者 rpm-qa|greppackage
升级软件包
rpm -Uvh package.rpm
查询软件包的信息
rpm -qpi package.rpm
YUM是一个开源、流行的命令行包管理器,它是用户使用 RPM 的界面(之一)。YUM命令是在Fedora和RedHat以及SUSE中基于RPM的软件包管理器,它可以使系统管理人员交互和自动化地更新与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
参数
install:安装rpm软件包
update:更新rpm软件包
check-update:检查是否有可用的更新rpm软件包
remove:删除指定的rpm软件包
list:显示软件包的信息
search:检查软件包的信息
info:显示指定的rpm软件包的描述信息和概要信息
clean:清理yum过期的缓存
shell:进入yum的shell提示符
resolvedep:显示rpm软件包的依赖关系
localinstall:安装本地的rpm软件包
localupdate:显示本地rpm软件包进行更新
deplist:显示rpm软件包的所有依赖关系
选项
-h:显示帮助信息
-y:对所有的提问都回答“yes”
-c:指定配置文件
-q:安静模式
-v:详细模式
-d:设置调试等级(0-10)
-e:设置错误等级(0-10)
-R:设置yum处理一个命令的最大等待时间
-C:完全从缓存中运行,而不去下载或者更新任何头文件
常用命令示例
DNF是一个用于基于RPM的发行版的包管理器,Fedora 18引入了它,它是下一代 YUM.它是Fedora 22及更新版本的默认包管理器,Rhel 8和CentOS 8也在应用。yum install
全部安装
yum install package
安装制定的安装包package
yumgroupinsallgroup
安装程序组group
yum update
全部更新
yumupdatepackage
更新指定程序包package
yum check-update
检查可更新的程序
yumupgradepackage
升级指定程序包package
yumgroupupdategroup
升级程序组group
常用命令示例
安装软件包
dnfinstallpackage
升级软件包
dnfupdatepackage
升级所有系统软件
dnfupdate && dnfupgrade
检查系统软件包的更新
dnfcheck-update
删除软件包
dnfremovepackage
dnferasepackage
删除无用孤立的软件包
dnfautoremove
删除缓存的无用软件包
dnfcleanall
查看系统中可用的DNF软件库
dnfrepolist
查看系统中可用和不可用的所有的DNF软件库
dnfrepolistall
列出所有RPM包
dnflist
列出所有安装了的RPM包
dnflistinstalled
列出所有可供安装的RPM包
dnflistavailable
搜索软件库中的RPM包
dnfsearchpackage
查找某一文件的提供者(查找bash的提供者)
dnfprovides/bin/bash
查看软件包详情
dnfinfopackage
查看所有的软件包组
dnfgrouplist
安装一个软件包组(安装’Educational Software’这个软件包组)
dnfgroupinstall‘EducationalSoftware’
升级一个软件包组中的软件包(升级’Educational Software’这个软件包组)
dnfgroupupdate‘EducationalSoftware’
删除一个软件包组(删除’Educational Software’这个软件包组)
dnfgroupremove‘EducationalSoftware’
重新安装特定软件包
dnfreinstallpackage
回滚某个特定软件的版本
dnfdowngradepackage
查看DNF命令的执行历史
dnfhistory
查看所有的DNF命令及其用途
dnfhelp
获取有关某条命令的使用帮助
dnfhelpclean