cnblogs/dcrenl/yum和apt-get用法及区别.html
2024-09-24 12:43:01 +08:00

15 lines
17 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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>