用于软件包管理的21个Linux YUM命令
2013-11-26 10:07
225 查看
用于软件包管理的21个Linux YUM命令
[align=center][/align] 我们在本文中将学习如何使用红帽公司开发的YUM(Yellowdog Updater Modified)工具,安装、更新、移除和查找软件包,并管理软件包和软件库。本文中显示的示例命令都在我们的CentOS 6.3服务器上进行了实际测试,你可以将这些材料用于学习、认证,或者仅仅为了琢磨如何安装新的软件包,确保系统版本最新。本文的基本要求是,你对这些命令要有一个基本的了解,还要有一个正常运行的Linux操作系统,那样才可以探究和执行下面所列的所有命令。 YUM到底是啥东东? YUM(Yellowdog Updater Modified)是一款开源命令行及图形化软件包管理工具,面向基于RPM(红帽软件包管理器)的Linux系统。它让广大用户和系统管理员可以在系统上轻松地安装、更新、移除或搜索软件包。它由Seth Vidal开发和发布,采用了GPL(通用公共许可证),是一款开源工具。这意味着,谁都可以下载和访问代码,以修复软件错误,开发定制的软件包。YUM通过解决软件包的依赖项问题,使用众多的第三方软件库来自动安装软件包。 1. 使用Yum安装软件包 想安装一个名为Firefox 14的软件包,只要运行下面这个命令,它会自动寻找并安装Firefox浏览器的所有必要依赖项。 # yum install firefox Loaded plugins: fastestmirror Dependencies Resolved ==================================== Package Arch Version Repository Size ==================================== Updating: firefox i686 10.0.6-1.el6.centos updates 20 M Updating for dependencies: xulrunner i686 10.0.6-1.el6.centos updates 12 M Transaction Summary ===========================================Install 0 Package(s) Upgrade 2 Package(s) Total download size: 32 M Is this ok [y/N]: y Downloading Packages: (1/2): firefox-10.0.6-1.el6.centos.i686.rpm | 20 MB 01:10 (2/2): xulrunner-10.0.6-1.el6.centos.i686.rpm | 12 MB 00:52 ------------------------------------------------------------------------------------------------ Total 63 kB/s | 32 MB 02:04 Updated: firefox.i686 0:10.0.6-1.el6.centos Dependency Updated: xulrunner.i686 0:10.0.6-1.el6.centos Complete! 上述命令会先要求予以确认,然后再将任何软件包安装到你的系统上。如果你不要求任何确认,就想自动安装软件包,可使用选项-y,如下例所示。 # yum -y install firefox 2. 使用Yum移除软件包 想完全移除软件包连同所有依赖项,只要运行下面这个命令,如下所示。 # yum remove firefox Loaded plugins: fastestmirror Setting up Remove Process Resolving Dependencies --> Running transaction check ---> Package firefox.i686 0:10.0.6-1.el6.centos set to be erased --> Finished Dependency Resolution Dependencies Resolved ===========================================Package Arch Version Repository Size ===========================================Removing: firefox i686 10.0.6-1.el6.centos @updates 23 M Transaction Summary =========================================== Remove 1 Package(s) Reinstall 0 Package(s) Downgrade 0 Package(s) Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Erasing:firefox-10.0.6-1.el6.centos.i686 1/1 Removed: firefox.i686 0:10.0.6-1.el6.centos Complete! 同样,上述命令会先要求予以确认,然后再移除软件包。想禁用确认提示,只要添加选项-y,如下所示。 # yum -y remove firefox 3. 使用Yum更新软件包 假设你有过时版本的MySQL软件包,想把它更新到最新的稳定版本。只要运行下面这个命令,它就会自动解决所有的依赖项问题,并安装依赖项。 # yum update mysql Loaded plugins: fastestmirror Dependencies Resolved ===========================================Package Arch Version Repository Size ===========================================Updating: vsftpd i386 2.0.5-24.el5_8.1 updates 144 k Transaction Summary Install 0 Package(s) Upgrade 1 Package(s) Total size: 144 k Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Updating : vsftpd 1/2 Cleanup : vsftpd 2/2 Updated: vsftpd.i386 0:2.0.5-24.el5_8.1 Complete! 4. 使用Yum列出软件包 使用list函数,可搜索带名称的特定软件包。比如说,想搜索一个名为openssh的软件包,使用该命令。 # yum list openssh Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.neu.edu.cn * epel: mirror.neu.edu.cn * extras: mirror.neu.edu.cn * rpmforge: mirror.nl.leaseweb.net * updates: mirror.nus.edu.sg Installed Packages openssh.i386 4.3p2-72.el5_6.3 installed Available Packages 4.3p2-82.el5 base 想让你的搜索更精确,明确软件包名称的版本,如果你知道的话。比如说,想搜索软件包的特定版本openssh-4.3p2 ,使用该命令。 # yum list openssh-4.3p2 5. 使用Yum搜索软件包 要是你不记得软件包的确切名称,那么可以使用search函数,搜索与指定软件包的名称相匹配的所有可用软件包。比如说,想搜索与vsftpd这个单词匹配的所有软件包。 # yum search vsftpd Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.neu.edu.cn * epel: mirror.neu.edu.cn * extras: mirror.neu.edu.cn * rpmforge: mirror.nl.leaseweb.net * updates: ftp.iitm.ac.in ============================== Matched: vsftpd ======================== ccze.i386 : A robust log colorizer pure-ftpd-selinux.i386 : SELinux support for Pure-FTPD vsftpd.i386 : vsftpd - Very Secure Ftp Daemon 6. 使用Yum获取软件包信息 假设你想在安装软件包之前先知道它的信息。想获得某软件包的信息,只要执行下面这个命令。 # yum info firefox Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.neu.edu.cn * epel: mirror.neu.edu.cn * extras: mirror.neu.edu.cn * rpmforge: mirror.nl.leaseweb.net * updates: ftp.iitm.ac.in Available Packages Name : firefox Arch : i386 Version : 10.0.6 Release : 1.el5.centos Size : 20 M Repo : updates Summary : Mozilla Firefox Web browser URL : http://www.mozilla.org/projects/firefox/ ; License : MPLv1.1 or GPLv2+ or LGPLv2+ Description : Mozilla Firefox is an open-source web browser, designed for standards : compliance, performance and portability. 7. 使用Yum列出所有的可用软件包 想列出Yum数据库中所有的可用软件包,使用下面这个命令。 # yum list | less 8. 使用Yum列出所有的已安装软件包 想列出系统上所有的已安装软件包,只要执行下面这个命令,它会显示所有的已安装软件包。 # yum list installed | less 9. Yum Provides函数 Yum provides函数用于查找某个特定文件属于哪个软件包。比如说,如果你想知道含有/etc/httpd/conf/httpd.conf文件的软件包的名称。 # yum provides /etc/httpd/conf/httpd.conf Loaded plugins: fastestmirror httpd-2.2.3-63.el5.centos.i386 : Apache HTTP Server Repo : base Matched from: Filename : /etc/httpd/conf/httpd.conf httpd-2.2.3-63.el5.centos.1.i386 : Apache HTTP Server Repo : updates Matched from: Filename : /etc/httpd/conf/httpd.conf httpd-2.2.3-65.el5.centos.i386 : Apache HTTP Server Repo : updates Matched from: Filename : /etc/httpd/conf/httpd.conf httpd-2.2.3-53.el5.centos.1.i386 : Apache HTTP Server Repo : installed Matched from: Other : Provides-match: /etc/httpd/conf/httpd.conf 10. 使用Yum检查可用更新版 想找出你系统上有多少已安装软件包有可用更新版,只要使用下面这个命令。 # yum check-update 11. 使用Yum更新系统 想确保系统版本最新,打上了所有的安全补丁和二进制软件包更新,只要运行下面这个命令。它会为你的系统安装所有最新的补丁和安全更新版。 # yum update 12. 列出所有的可用群组软件包 在Linux中,软件包数量与特定群组捆绑在一起。你可以安装某个群组,它就会安装属于该群组的所有相关软件包,用不着使用Yum安装单个软件包。比如说,想列出所有的可用群组,只要执行下面这个命令。 # yum grouplist Installed Groups: Administration Tools DNS Name Server Dialup Networking Support Editors Engineering and Scientific FTP Server Graphics Java Development Legacy Network Server Available Groups: Authoring and Publishing Base Beagle Cluster Storage Clustering Development Libraries Development Tools Eclipse Educational Software KDE (K Desktop Environment) KDE Software Development 13. 安装群组软件包 想安装某个软件包群组,我们使用选项groupinstall。比如说,想安装"MySQL Database",只要执行下面这个命令。 # yum groupinstall 'MySQL Database' Dependencies Resolved ==================================================================Package Arch Version Repository Size ==================================================================Updating: unixODBC i386 2.2.11-10.el5 base 290 k Installing for dependencies: unixODBC-libs i386 2.2.11-10.el5 base 551 k Transaction Summary ==================================================================Install 1 Package(s) Upgrade 1 Package(s) Total size: 841 k Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : unixODBC-libs 1/3 Updating : unixODBC 2/3 Cleanup : unixODBC 3/3 Dependency Installed: unixODBC-libs.i386 0:2.2.11-10.el5 Updated: unixODBC.i386 0:2.2.11-10.el5 Complete! 14. 更新群组软件包 想更新任何现有的已安装群组软件包,只要运行下面这个命令,如下所示。 # yum groupupdate 'DNS Name Server' Dependencies Resolved ==================================================================Package Arch Version Repository Size ================================================================== Updating: bind i386 30:9.3.6-20.P1.el5_8.2 updates 981 k bind-chroot i386 30:9.3.6-20.P1.el5_8.2 updates 47 k Updating for dependencies: bind-libs i386 30:9.3.6-20.P1.el5_8.2 updates 864 k bind-utils i386 30:9.3.6-20.P1.el5_8.2 updates 174 k Transaction Summary Install 0 Package(s) Upgrade 4 Package(s) Total size: 2.0 M Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Updating : bind-libs 1/8 Updating : bind 2/8 Updating : bind-chroot 3/8 Updating : bind-utils 4/8 Cleanup : bind 5/8 Cleanup : bind-chroot 6/8 Cleanup : bind-utils 7/8 Cleanup : bind-libs 8/8 Updated: bind.i386 30:9.3.6-20.P1.el5_8.2 bind-chroot.i386 30:9.3.6-20.P1.el5_8.2 Dependency Updated: bind-libs.i386 30:9.3.6-20.P1.el5_8.2 bind-utils.i386 30:9.3.6-20.P1.el5_8.2 Complete! 15. 移除群组软件包 想从系统删除或移除任何现有的已安装群组软件包,只要使用下面这个命令。 # yum groupremove 'DNS Name Server' Dependencies Resolved ==========================================Package Arch Version Repository Size ==========================================Removing: bind i386 30:9.3.6-20.P1.el5_8.2 installed 2.1 M bind-chroot i386 30:9.3.6-20.P1.el5_8.2 installed 0.0 Transaction Summary ==========================================Remove 2 Package(s) Reinstall 0 Package(s) Downgrade 0 Package(s) Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Erasing : bind 1/2 warning: /etc/sysconfig/named saved as /etc/sysconfig/named.rpmsave Erasing : bind-chroot 2/2 Removed: bind.i386 30:9.3.6-20.P1.el5_8.2 bind-chroot.i386 30:9.3.6-20.P1.el5_8.2 Complete! 16. 列出启用的Yum软件库 列出系统里面所有启用的Yum软件库,使用下面这个选项。 # yum repolist repo id repo name status base CentOS-5 - Base enabled: 2,725 epel Extra Packages for Enterprise Linux 5 - i386 enabled: 5,783 extras CentOS-5 - Extras enabled: 282 mod-pagespeed mod-pagespeed enabled: 1 rpmforge RHEL 5 - RPMforge.net - dag enabled: 11,290 updates CentOS-5 - Updates enabled: 743 repolist: 20,824 17. 列出所有启用和禁用的Yum软件库 下面这个命令会显示系统上所有启用和禁用的yum软件库。 # yum repolist all repo id repo name status C5.0-base CentOS-5.0 - Base disabled C5.0-centosplus CentOS-5.0 - Plus disabled C5.0-extras CentOS-5.0 - Extras disabled base CentOS-5 - Base enabled: 2,725 epel Extra Packages for Enterprise Linux 5 - i386 enabled: 5,783 extras CentOS-5 - Extras enabled: 282 repolist: 20,824 18. 安装来自特定软件库的软件包 想安装来自某个启用或禁用的软件库的某个软件包,必须在yum命令中使用-enablerepo选项。比如,想安装PhpMyAdmin 3.5.2软件包,只要执行这个命令。 # yum --enablerepo=epel install phpmyadmin Dependencies Resolved ================================================================== Package Arch Version Repository Size ==================================================================Installing: phpMyAdmin noarch 3.5.1-1.el6 epel 4.2 M Transaction Summary ==================================================================Install 1 Package(s) Total download size: 4.2 M Installed size: 17 M Is this ok [y/N]: y Downloading Packages: phpMyAdmin-3.5.1-1.el6.noarch.rpm | 4.2 MB 00:25 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : phpMyAdmin-3.5.1-1.el6.noarch 1/1 Verifying : phpMyAdmin-3.5.1-1.el6.noarch 1/1 Installed: phpMyAdmin.noarch 0:3.5.1-1.el6 Complete! 19. 交互式Yum外壳 Yum实用工具提供了一个自定义外壳,你可以在这个环境下执行多个命令。 # yum shell Loaded plugins: fastestmirror Setting up Yum Shell > update httpd Loading mirror speeds from cached hostfile * base: mirrors.sin3.sg.voxel.net * epel: ftp.riken.jp * extras: mirrors.sin3.sg.voxel.net * updates: mirrors.sin3.sg.voxel.net Setting up Update Process > 20. 清理Yum缓存内容 默认情况下,yum将所有软件库中启用软件包的数据,连同每个子目录保存在/var/cache/yum/中,想清除启用软件库中的所有缓存文件,你要定期运行下面这个命令,清理所有缓存内容,并确保没有任何东西在使用不必要的存储空间。我们不想给出下面这个命令的输出结果,因为我们想保持缓存数据的原来样子。 # yum clean all 21. 查看Yum的历史记录 想查看Yum命令的所有过去的事务,只要使用下面这个命令。 # yum history Loaded plugins: fastestmirror ID | Login user | Date and time | Action(s) | Altered ------------------------------------------------------------------ 10 | root | 2012-08-11 15:19 | Install | 3 9 | root | 2012-08-11 15:11 | Install | 1 8 | root | 2012-08-11 15:10 | Erase | 1 EE 7 | root | 2012-08-10 17:44 | Install | 1 6 | root | 2012-08-10 12:19 | Install | 2 5 | root | 2012-08-10 12:14 | Install | 3 4 | root | 2012-08-10 12:12 | I, U | 13 E< 3 | root | 2012-08-09 13:01 | Install | 1 > 2 | root | 2012-08-08 20:13 | I, U | 292 EE 1 | System | 2012-08-08 17:15 | Install | 560 history list |
相关文章推荐
- 用于软件包管理的21个Linux YUM命令
- 用于软件包管理的21个Linux YUM命令 转载
- 用于软件包管理的21个Linux YUM命令 转载
- 简单了解Linux中用于配合管理定时任务的atrm与batch命令
- ubuntu下管理软件包的apt-get和dpkt命令
- Linux 基础命令(七)—— 软件包的管理
- 用 dpkg 命令在 Debian 系的 Linux系统中管理软件包
- Linux 软件包管理常用命令 -- yum
- linux yum命令详解 yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能
- linux软件管理和安装(yum命令--修改yum源)
- 系统管理指南:基本管理 第19 章• 使用软件包命令管理软件(任务)
- linux 软件管理命令
- Linux系统下软件包管理命令之rpm
- 27 个 Linux 下软件包管理工具 DNF 命令例子
- rpm命令_Linux rpm 命令用法详解:RPM软件包的管理工具
- 用 dpkg 命令在 Debian 系的 Linux系统中管理软件包
- Linux软件安装管理(二)-RPM命令管理
- Ubuntu_ubuntu下管理软件包的apt-get和dpkt命令
- 软件包管理-rpm命令管理-包命名与依赖性
- Yum软件管理命令详解