时间:2017-08-17星期四注:本文部分内容摘自《Linux命令行与shell脚本编程大全》一书,版权归原作者所有。《Linux命令行与shell脚本编程大全》(第三版)第九章学习总结第九章:安装软件程序本章内容系统(packagemanagementsystem,PMS)控制软件和库的安装。PMS使用数据库记录各种相关内容。Linux系统安装了哪些软件包。每个包中安装了哪些文件?每个安装的软件包的版本存储在服务器上,可以使用本地Linux系统上的PMS工具。它=通过互联网访问。这些服务器称为存储库。您可以使用PMS工具搜索新包,或更新系统上已安装的包。PMS工具和相关命令在不同的Linux发行版中差异很大。Linux中广泛使用的两个主要的基于PMS的工具是dpkg和rpm。Debian基于Debian的发行版如Ubuntu、LinuxMint都使用了dpkg命令,这些发行版的PMS工具也是基于这个命令的。dpkg会直接与Linux系统上的PMS进行交互,实现软件包的安装、管理和删除。RedHat的基于RedHat的发行版(例如Efdora、openSUSE和Mandriva)使用rpm命令,这是其PMS的底层基础。与dpkg命令类似,rpm命令可以列出已安装的软件包、安装新软件包以及删除现有软件。9.2基于Debian系统命令:dpkg命令说明:基于Debian系统核心的PMS工具。此PMS中包含的其他工具是apt-get:搜索、安装、更新、删除包apt-cache:显示有关包的一些一般信息aptitude:常用命令。本质是apt工具和dpkg的前端9.2.1使用aptitude管理软件包命令:aptitude命令描述:进入aptitude全屏模式,查看安装包信息命令:q命令描述:退出查看安装包信息命令格式:aptitudeshowpackage_name命令描述:查看包的详细信息来自软件仓库。命令:dpkg命令描述:查看指定软件包相关的所有文件列表命令格式:dpkg-Lpackage_name命令描述:使用dpkg列出package_name包安装的所有文件命令格式:dpkg--searchabsolute_file_name命令描述:使用绝对文件路径查找特定文件属于哪个软件包9.2.3使用aptitude更新软件包命令格式:aptitudesafe-upgrade命令描述:更新系统中的所有软件包9.2.4使用aptitude卸载软件包命令格式:aptituderemovepackage_name命令描述:只删除软件包,不删除数据和配置文件命令格式:aptitudepurgepackage_name命令描述:删除软件包及相关数据和配置文件命令格式:aptitudesearchpackage_name命令描述:查看软件包信息来验证它是否已被删除。如果包名前面有i:表示系统已经安装了该包v:表示该包可用,但还没有安装c:表示该软件已经被删除,但是还没有配置文件clearedfromthesystemp:表示软件和配置文件也被删除9.2.5aptituderepositoryaptitude的默认存储库位置是在安装Linux发行版时设置的。具体位置保存在文件/etc/apt/sources.list中。提示:Linux发行版的开发人员竭尽全力确保添加到存储库的软件包版本不会相互冲突。通过存储库升级或安装包通常是最安全的。即使其他地方有更新的版本,您也应该等到它出现在您的Linux发行版的存储库中后再安装它。当你需要在你的sources.list文件中添加一个软件仓库时,在软件仓库网站或者各种包开发者网站上会有一行文字,你可以直接复制粘贴到sources.list文件中。最好谨慎行事,只需复制和粘贴即可。9.3基于RedHat的系统还有几种不同的前端工具可用于基于RedHat的系统。yum常见的三种:RedHat和Fedora中使用urpm:Mandriva中使用zypper:openSUSE中使用9.3.1列出已安装的包命令:yum命令描述:用于包管理命令格式:yumlistinstalled命令描述:outputinstalledpackages命令格式:yumlistinstalled>installed_software命令描述:输出信息可能会闪,最好重定向到一个文件命令格式:yumlistxterm命令描述:查看xterm软件包详细信息命令格式:yumlistinstalledxterm命令描述:查看xterm包是否被打包命令格式:yum提供file_name命令描述:查找指定文件属于哪个包。yum会分别寻找三个仓库:base、updates和installed。9.3.2yum安装软件命令格式:yuminstallpackage_name命令说明:安装package_name指定的软件,安装软件包、需要的库和其他依赖包命令格式:yumlocalinstallpackage_name.rpm命令说明:使用本地安装,manual下载rpm安装文件并用yum安装9.3.3用yum更新软件命令格式:yumlistupdates命令描述:列出已安装包的所有可用更新命令格式:yumupdatepackage_name命令描述:更新指定的package_name包命令格式:yumupdate命令描述:更新所有软件包9.3.4用yum卸载软件命令格式:yumremovepackage_name命令描述:只删除软件包,保留配置文件和数据文件命令格式:yumerasepackage_name命令描述:删除软件和其所有文件9.3.5处理损坏的软件包依赖关系有时在安装多个软件包时,一个软件包的软件依赖性可能会被另一个软件包的安装覆盖。这称为损坏的包依赖性。命令格式:yumcleanall命令描述:清理错放的文件命令格式:yumupdate命令描述:更新所有软件包命令格式:yumdeplistpackage_name命令描述:显示包依赖命令格式:yumupdate--skip-broken命令描述:忽略依赖关系损坏的软件包并更新其他软件包。9.3.6yum软件仓库类似于aptitude系统,yum也是安装发行版时设置的软件仓库。提示:坚持使用已批准的存储库。批准的存储库是发行版官方网站上指定的存储库。如果你添加了一个没有被批准的库,你就失去了稳定性的保证,可能会陷入依赖破坏的悲剧。命令格式:yumrepolist命令说明:查看软件仓库信息9.4从源安装命令格式:tar-zxvfpackage_name.tar.gz命令说明:解压安装包,使用make命令和makeinstall命令安装。注意:不同的Linux系统和软件包可能有不同的安装方法。9.5总结本章讨论了如何使用包管理系统(PMS)按命令安装、更新或删除软件。本章介绍aptitude、dpkg和yum命令。本章学习命令个人总结如下:aptitude:Debian系统软件管理dpkg:显示软件包安装的所有文件yum:RedHat系统软件管理
