<p>一般来说著名的linux系统基本上分两大类:</p>
<p>1.RedHat系列:Redhat、Centos、Fedora等</p>
<p>2.Debian系列:Debian、Ubuntu等</p>
<p>&nbsp;</p>
<p>RedHat&nbsp;系列<br />1&nbsp;常见的安装包格式&nbsp;rpm包,安装rpm包的命令是&ldquo;rpm&nbsp;-参数&rdquo;<br /><br />2&nbsp;包管理工具&nbsp;yum<br /><br />3&nbsp;支持tar包</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Debian系列<br />1&nbsp;常见的安装包格式&nbsp;deb包,安装deb包的命令是&ldquo;dpkg&nbsp;-参数&rdquo;<br /><br />2&nbsp;包管理工具&nbsp;apt-get<br /><br />3&nbsp;支持tar包</p>
<p>&nbsp;</p>
<p>tar&nbsp;只是一种压缩文件格式,所以,它只是把文件压缩打包而已。<br />rpm&nbsp;相当于windows中的安装文件,它会自动处理软件包之间的依赖关系。<br /><br />优缺点来说,rpm一般都是预先编译好的文件,它可能已经绑定到某种CPU或者发行版上面了。<br />tar一般包括编译脚本,你可以在你的环境下编译,所以具有通用性。<br /><br />如果你的包不想开放源代码,你可以制作成rpm,如果开源,用tar更方便了。<br /><br />tar一般都是源码打包的软件,需要自己解包,然后进行安装三部曲,./configure,&nbsp;make,&nbsp;make&nbsp;install. 来安装软件。</p>
<p>&nbsp;</p>
<p>rpm是redhat公司的一种软件包管理机制,直接通过rpm命令进行安装删除等操作,最大的优点是自己内部自动处理了各种软件包可能的依赖关系。<br /><br />&nbsp;--------------------------------&nbsp;*.rpm形式的二进制软件包[centos]<br /><br />  安装:rpm&nbsp;-ivh&nbsp;*.rpm<br /><br />  卸载:rpm&nbsp;-e&nbsp;packgename<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rpm&nbsp;-q&nbsp;nginx&nbsp;&nbsp;查看是否已经安装<br /><br />&nbsp;&nbsp;&nbsp; 升级:rpm&nbsp;-Uvh&nbsp;xxx<br /><br /> 查询:<br />查询所有安装的包:&nbsp;rpm&nbsp;-qa<br />查询某个包:rpm&nbsp;-qa&nbsp;|&nbsp;grep&nbsp;xxx<br />rpm&nbsp;-qi&nbsp;xxx<br />查询软件的安装路径:rpm&nbsp;-ql&nbsp;xxx<br />rpm&nbsp;-qc&nbsp;xxx<br />查询某个文件是那个rpm包产生:rpm&nbsp;-qf&nbsp;/etc/yum.conf<br />rpm&nbsp;-qpi&nbsp;xxx<br /><br />rpm&nbsp;-qa|grep&nbsp;php&nbsp;&nbsp;查看已安装的RMP包<br /><br />&nbsp;<br />安装:rpm&nbsp;-ivh&nbsp;xxx<br />移除:rpm&nbsp;-e&nbsp;xxx<br />升级:rpm&nbsp;-Uvh&nbsp;xxx<br /><br />查询:<br />查询所有安装的包:&nbsp;rpm&nbsp;-qa<br />查询某个包:rpm&nbsp;-qa&nbsp;|&nbsp;grep&nbsp;xxx<br />rpm&nbsp;-qi&nbsp;xxx<br />查询软件的安装路径:rpm&nbsp;-ql&nbsp;xxx<br />rpm&nbsp;-qc&nbsp;xxx<br />查询某个文件是那个rpm包产生:rpm&nbsp;-qf&nbsp;/etc/yum.conf<br />rpm&nbsp;-qpi&nbsp;xxx<br /><br />&nbsp;<br />--------------------------------&nbsp;src.rpm&nbsp;源代码分发软件包的安装与卸载<br /><br />  Linux软件的源代码分发是指提供了该软件所有程序源代码的发布形式,需要用户自己编译成可执行的二进制代码并进行安装,其优点是配置灵活,可以随意去掉或保留某些功能/模块,适应多种硬件/操作系统平台及编译环境,缺点是难度较大,一般不适合初学者使用。<br /><br />  1、*.src.rpm形式的源代码软件包<br /><br />  安装:rpm&nbsp;-rebuild&nbsp;*.src.rpm<br /><br />  cd&nbsp;/usr/src/dist/RPMS<br /><br />  rpm&nbsp;-ivh&nbsp;*.rpm<br /><br />  卸载:rpm&nbsp;-e&nbsp;packgename<br /><br />  说明:rpm&nbsp;&ndash;rebuild&nbsp;*.src.rpm命令将源代码编译并在/usr/src/dist/RPMS下生成二进制的rpm包,然后再安装该二进制包即可。packgename如前所述。<br /><br /> <br /><br />--------------------------------dpkg【ubuntu】<br /><br />dpkg&nbsp;-l&nbsp;|&nbsp;grep&nbsp;'php'&nbsp;&nbsp;使用dpkg&nbsp;-l&nbsp;来查看已经安装了的软件<br /><br />dpkg&nbsp;是Debian[待宾]&nbsp;Package&nbsp;的简写。为&nbsp;Debian&nbsp;专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自Debian的Linux&nbsp;发行版都使用&nbsp;dpkg,例如&nbsp;Ubuntu、Knoppix&nbsp;等。<br />  以下是一些&nbsp;Dpkg&nbsp;的普通用法:<br />  1、dpkg&nbsp;-i&nbsp;&lt;package.deb&gt;<br />  安装一个&nbsp;Debian&nbsp;软件包,如你手动下载的文件。<br />  2、dpkg&nbsp;-c&nbsp;&lt;package.deb&gt;<br />  列出&nbsp;&lt;package.deb&gt;&nbsp;的内容。<br />  3、dpkg&nbsp;-I&nbsp;&lt;package.deb&gt;<br />  从&nbsp;&lt;package.deb&gt;&nbsp;中提取包裹信息。<br />  4、dpkg&nbsp;-r&nbsp;&lt;package&gt;<br />  移除一个已安装的包裹。<br />  5、dpkg&nbsp;-P&nbsp;&lt;package&gt;<br />  完全清除一个已安装的包裹。和&nbsp;remove&nbsp;不同的是,remove&nbsp;只是删掉数据和可执行文件,purge&nbsp;另外还删除所有的配制文件。<br />  6、dpkg&nbsp;-L&nbsp;&lt;package&gt;<br />  列出&nbsp;&lt;package&gt;&nbsp;安装的所有文件清单。同时请看&nbsp;dpkg&nbsp;-c&nbsp;来检查一个&nbsp;.deb&nbsp;文件的内容。<br />  7、dpkg&nbsp;-s&nbsp;&lt;package&gt;<br />  显示已安装包裹的信息。同时请看&nbsp;apt-cache&nbsp;显示&nbsp;Debian&nbsp;存档中的包裹信息,以及&nbsp;dpkg&nbsp;-I&nbsp;来显示从一个&nbsp;.deb&nbsp;文件中提取的包裹信息。<br />  8、dpkg-reconfigure&nbsp;&lt;package&gt;<br />  重新配制一个已经安装的包裹,如果它使用的是&nbsp;debconf&nbsp;(debconf&nbsp;为包裹安装提供了一个统一的配制界面)。<br /><br />&nbsp;</p>
<p>--------------------------------&nbsp;使用yum和apt-get。软件管理方法的升级.<br /><br />yum的配置文件是/etc/yum.conf<br /><br />&nbsp;<br />1.&nbsp;我们来先讲Redhat的yum&nbsp;这种高级的包管理.<br /><br />yum&nbsp;install&nbsp;gcc&nbsp;&nbsp;[centos]<br /><br />更新:yum&nbsp;update<br />安装:yum&nbsp;install&nbsp;xxx<br />移除:yum&nbsp;remove&nbsp;xxx<br />清除已经安装过的档案(/var/cache/yum/):yum&nbsp;clean&nbsp;all<br />搜寻:yum&nbsp;search&nbsp;xxx<br />列出所有档案:yum&nbsp;list<br />查询档案讯息:yum&nbsp;info&nbsp;xxx<br /><br />#sudo&nbsp;-s<br />#LANG=C<br />#yum&nbsp;-y&nbsp;install&nbsp;gcc&nbsp;gcc-c&nbsp;autoconf&nbsp;libjpeg&nbsp;libjpeg-devel&nbsp;libpng&nbsp;libpng-devel&nbsp;freetype&nbsp;freetype-devel&nbsp;libpng&nbsp;libpng-devel&nbsp;libxml2&nbsp;libxml2-devel&nbsp;zlib&nbsp;zlib-devel&nbsp;glibc&nbsp;glibc-devel&nbsp;glib2&nbsp;glib2-devel&nbsp;bzip2&nbsp;bzip2-devel&nbsp;ncurses&nbsp;ncurses-devel&nbsp;curl&nbsp;curl-devel<br /><br />用YUM安装软件包<br />yum&nbsp;-y&nbsp;&lt;package_name&gt;<br />命令:yum&nbsp;install&nbsp;&lt;package_name&gt;<br /><br />用YUM删除软件包<br />命令:yum&nbsp;remove&nbsp;&lt;package_name&gt;<br /><br />yum&nbsp;-y&nbsp;remove&nbsp;httpd*&nbsp;&nbsp;&nbsp;<br /><br /><br />命令:yum&nbsp;search&nbsp;&lt;keyword&gt;<br /><br />列出所有可安装的软件包<br />命令:yum&nbsp;list<br /><br />yum&nbsp;list&nbsp;php*<br /><br />列出所有可更新的软件包<br />命令:yum&nbsp;list&nbsp;updates<br /><br />列出所有已安装的软件包<br />命令:yum&nbsp;list&nbsp;installed<br /><br />列出所有已安装但不在&nbsp;Yum&nbsp;Repository&nbsp;內的软件包<br />命令:yum&nbsp;list&nbsp;extras<br /><br />列出所指定的软件包<br />命令:yum&nbsp;list&nbsp;&lt;package_name&gt;<br /><br />yum&nbsp;=&nbsp;Yellow&nbsp;dog&nbsp;Updater,&nbsp;Modified<br />主要功能是更方便的添加/删除/更新RPM包.<br />它能自动解决包的倚赖性问题.<br />它能便于管理大量系统的更新问题<br /><br />yum特点<br />可以同时配置多个资源库(Repository)<br />简洁的配置文件(/etc/yum.conf<br />自动解决增加或删除rpm包时遇到的倚赖性问题<br />使用方便<br />保持与RPM数据库的一致性<br /><br />yum安装<br />CentOS&nbsp;自带(yum-*.noarch.rpm)<br />#rpm&nbsp;-ivh&nbsp;yum-*.noarch.rpm<br />在第一次启用yum之前首先需要导入系统的RPM-GPG-KEY:<br />#rpm&nbsp;--import&nbsp;/usr/share/doc/centos-release-3(4)/RPM-GPG-KEY-CentOS-3(4)<br /><br />yum指令<br />注:当第一次使用yum或yum资源库有更新时,yum会自动下载&nbsp;所有所需的headers放置于/var/cache/yum目录下,所需时间可能较长.<br /><br />rpm包的更新<br />检查可更新的rpm包<br />#yum&nbsp;check-update<br />更新所有的rpm包<br />#yum&nbsp;update<br />更新指定的rpm包,如更新kernel和kernel&nbsp;source<br />#yum&nbsp;update&nbsp;kernel&nbsp;kernel-source<br />大规模的版本升级,与yum&nbsp;update不同的是,连旧的淘汰的包也升级<br />#yum&nbsp;upgrade<br /><br />rpm包的安装和删除<br />安装rpm包,如xmms-mp3<br />#yum&nbsp;install&nbsp;xmms-mp3<br />删除rpm包,包括与该包有倚赖性的包<br />#yum&nbsp;remove&nbsp;licq<br />注:同时会提示删除licq-gnome,licq-qt,licq-text<br /><br />yum暂存(/var/cache/yum/)的相关参数<br />清除暂存中rpm包文件<br />#yum&nbsp;clean&nbsp;packages<br />清除暂存中rpm头文件<br />#yum&nbsp;clearn&nbsp;headers<br />清除暂存中旧的rpm头文件<br />#yum&nbsp;clean&nbsp;oldheaders<br />清除暂存中旧的rpm头文件和包文件<br />#yum&nbsp;clearn&nbsp;或#yum&nbsp;clearn&nbsp;all<br />注:相当于yum&nbsp;clean&nbsp;packages&nbsp;+&nbsp;yum&nbsp;clean&nbsp;oldheaders<br /><br />包列表<br />列出资源库中所有可以安装或更新的rpm包<br />#yum&nbsp;list<br />列出资源库中特定的可以安装或更新以及已经安装的rpm包<br />#yum&nbsp;list&nbsp;mozilla#yum&nbsp;list&nbsp;mozilla*<br />注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包<br />列出资源库中所有可以更新的rpm包<br />#yum&nbsp;list&nbsp;updates<br />列出已经安装的所有的rpm包<br />#yum&nbsp;list&nbsp;installed<br />列出已经安装的但是不包含在资源库中的rpm包<br />#yum&nbsp;list&nbsp;extras<br />注:通过其它网站下载安装的rpm包<br /><br />rpm包信息显示(info参数同list)<br />列出资源库中所有可以安装或更新的rpm包的信息<br />#yum&nbsp;info<br />列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息<br />#yum&nbsp;info&nbsp;mozilla#yum&nbsp;info&nbsp;mozilla*<br />注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包的信息<br />列出资源库中所有可以更新的rpm包的信息<br />#yum&nbsp;info&nbsp;updates<br />列出已经安装的所有的rpm包的信息<br />#yum&nbsp;info&nbsp;installed<br />列出已经安装的但是不包含在资源库中的rpm包的信息<br />#yum&nbsp;info&nbsp;extras<br />注:通过其它网站下载安装的rpm包的信息<br /><br />搜索rpm包<br />搜索匹配特定字符的rpm包<br />#yum&nbsp;search&nbsp;mozilla<br />注:在rpm包名,包描述等中搜索<br />搜索有包含特定文件名的rpm包<br />#yum&nbsp;provides&nbsp;realplay<br /><br />增加资源库<br />例如:增加rpm.livna.org作为资源库<br />安装Livna.org&nbsp;rpms&nbsp;GPG&nbsp;key<br />#rpm&nbsp;--import&nbsp;http://rpm.livna.org/RPM-LIVNA-GPG-KEY<br />检查GPG&nbsp;Key<br />#&nbsp;rpm&nbsp;-qa&nbsp;gpg-pubkey*<br />显示Key信息<br />#rpm&nbsp;-qi&nbsp;gpg-pubkey-a109b1ec-3f6e28d5<br />(注:如果要删除Key,使用#rpm&nbsp;-e&nbsp;gpg-pubkey-a109b1ec-3f6e28d5)<br /><br />yum常用的命令<br /><br />#&nbsp;yum&nbsp;install&nbsp;xxx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;安装xxx软件<br /><br />#&nbsp;yum&nbsp;info&nbsp;xxx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;查看xxx软件的信息<br /><br />#&nbsp;yum&nbsp;remove&nbsp;xxx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;删除软件包<br /><br />#&nbsp;yum&nbsp;list&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;列出软件包<br /><br />#&nbsp;yum&nbsp;clean&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;清除缓冲和就的包<br /><br />#&nbsp;yum&nbsp;provides&nbsp;xxx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以xxx为关键字搜索包(提供的信息为关键字)<br /><br />#&nbsp;yum&nbsp;search&nbsp;xxx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;搜索软件包(以名字为关键字)<br /><br />#&nbsp;yum&nbsp;groupupdate&nbsp;xxx<br /><br />#&nbsp;yum&nbsp;grouplist&nbsp;xxx<br /><br />#&nbsp;yum&nbsp;groupremove&nbsp;xxx<br /><br />这三个都是一组为单位进行升级&nbsp;列表和删除的操作。。比如&nbsp;"Mysql&nbsp;Database"就是一个组会同时操作相关的所有软件包;<br /><br />#&nbsp;yum&nbsp;update&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;系统升级<br /><br />#&nbsp;yum&nbsp;list&nbsp;available&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;列出所有升级源上的包;<br /><br />#&nbsp;yum&nbsp;list&nbsp;updates&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;列出所有升级源上的可以更新包;<br /><br />#&nbsp;yum&nbsp;list&nbsp;installed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;列出已经安装的包;<br /><br />#&nbsp;yun&nbsp;update&nbsp;kernel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;升级内核;<br /><br />yum常用的源<br /><br />1)&nbsp;自动选择最快的源<br /><br />由于yum中有的mirror速度是非常慢的,如果yum选择了这个mirror,这个时候yum就会非常慢,对此,可以下载fastestmirror插件,它会自动选择最快的mirror:<br /><br />#yum&nbsp;install&nbsp;yum-fastestmirror<br /><br />配置文件:(一般不用动)/etc/yum/pluginconf.d/fastestmirror.conf<br /><br />你的yum镜像的速度测试记录文件:/var/cache/yum/timedhosts.txt<br /><br />(2)使用图形界面的yum<br /><br />如果觉得命令行的yum不方便,那么可以使用图形化的yumex,这个看起来更方便,因为可以自由地选择软件仓库:<br /><br />#yum&nbsp;install&nbsp;yumex<br /><br />然后在系统工具中就可以看到yum&nbsp;extender了。实际上系统自带的&ldquo;添加/删除程序&ldquo;也可以实现图形化的软件安装,但有些yumex的功能它没有。<br /><br />&nbsp;<br /><br />&nbsp;2.讲讲Ubuntu中的高级包管理方法apt-get<br /><br />&nbsp;<br />配置文件/etc/apt/sources.list<br /><br />&nbsp;<br />对于Server版,&nbsp;推荐使用aptitude来查看,安装、删除deb包<br />sudo&nbsp;apt-get&nbsp;install&nbsp;aptitude<br />然后执行&nbsp;sudo&nbsp;aptitude&nbsp;进入管&nbsp;理<br /><br />也可以使用命令:<br />aptitude&nbsp;update&nbsp;更新可用的包列表<br />aptitude&nbsp;upgrade&nbsp;升级可用的包<br />aptitude&nbsp;dist-upgrade&nbsp;将系统升级到新的发行版<br />aptitude&nbsp;install&nbsp;pkgname&nbsp;安装包<br />aptitude&nbsp;remove&nbsp;pkgname&nbsp;删除包<br />aptitude&nbsp;purge&nbsp;pkgname&nbsp;删除包及其配置文件<br />aptitude&nbsp;search&nbsp;string&nbsp;搜索包<br />aptitude&nbsp;show&nbsp;pkgname&nbsp;显示包的详细信息<br />aptitude&nbsp;clean&nbsp;删除下载的包文件<br />aptitude&nbsp;autoclean&nbsp;仅删除过期的包文件<br /><br /><br /><br />考虑到系统的兼容性,并且上面的东东比较都大,不找最新版本了,直接用apt-get&nbsp;install&nbsp;XXX&nbsp;来安装.因为我们的Ubuntu是dailyBulid的,所以光盘的内容基本上都是最新的了,无需重新下载.一定要最新版本的话,不妨先apt-get&nbsp;update&nbsp;来更新一下软件的仓库,然后再&nbsp;apt-get&nbsp;install.<br /><br /><br />常用的APT命令参数:<br /><br />apt-cache&nbsp;search&nbsp;package&nbsp;搜索包<br /><br />apt-cache&nbsp;show&nbsp;package&nbsp;获取包的相关信息,如说明、大小、版本等<br /><br />sudo&nbsp;apt-get&nbsp;install&nbsp;package&nbsp;安装包<br /><br />sudo&nbsp;apt-get&nbsp;install&nbsp;package&nbsp;-&nbsp;-&nbsp;reinstall&nbsp;重新安装包<br /><br />sudo&nbsp;apt-get&nbsp;-f&nbsp;install&nbsp;修复安装"-f&nbsp;=&nbsp;&mdash;&mdash;fix-missing"<br /><br />sudo&nbsp;apt-get&nbsp;remove&nbsp;package&nbsp;删除包<br /><br />sudo&nbsp;apt-get&nbsp;remove&nbsp;package&nbsp;-&nbsp;-&nbsp;purge&nbsp;删除包,包括删除配置文件等<br /><br />sudo&nbsp;apt-get&nbsp;update&nbsp;更新源<br /><br />sudo&nbsp;apt-get&nbsp;upgrade&nbsp;更新已安装的包<br /><br />sudo&nbsp;apt-get&nbsp;dist-upgrade&nbsp;升级系统<br /><br />sudo&nbsp;apt-get&nbsp;dselect-upgrade&nbsp;使用&nbsp;dselect&nbsp;升级<br /><br />apt-cache&nbsp;depends&nbsp;package&nbsp;了解使用依赖<br /><br />apt-cache&nbsp;rdepends&nbsp;package&nbsp;是查看该包被哪些包依赖<br /><br />sudo&nbsp;apt-get&nbsp;build-dep&nbsp;package&nbsp;安装相关的编译环境<br /><br />apt-get&nbsp;source&nbsp;package&nbsp;下载该包的源代码<br /><br />sudo&nbsp;apt-get&nbsp;clean&nbsp;&amp;&amp;&nbsp;sudo&nbsp;apt-get&nbsp;autoclean&nbsp;清理无用的包<br /><br />sudo&nbsp;apt-get&nbsp;check&nbsp;检查是否有损坏的依赖</p>
<p>&nbsp;</p>
<p>转自:https://www.cnblogs.com/xingrun/p/3519385.html</p>