软件包管理@yum
========
最初就是由于安装新版本python导致了yum不可用才进一步的导致了RHEL的崩溃,才有机会了解CentOS的。所以yum软件包管理器从一开始就给了我很深的印象。
# yum list
列举资源库中所有可以安装或者更新的RPM包,这个操作可能会在开始的时候由于更新信息而消耗一些时间。
实际操作中,由于这个列表相当的庞大,所以一般都将输出重定向到一个文件中。
例如: # yum list >yumlist.txt 这样,就可以通过查看yumlist.txt这个文件来随时寻找可用的软件。
为了演示yum安装,首先删除系统上已经安装的chrome
# yum remove google* (chrome 的完整名称应该是google-chrome-stable ,这里使用通配符简化输入,表示删除所有google开头的包。 )
确认后,过一会儿删除完成。
# yum install google* (这时候会出现一些问题,这是由于chrome会有多个版本,yum不能直接自己决定安装什么。)
# yum install google-chrome-stable (输入完整的软件包名称,确认后安装开始)
安装显示如下
[root@localhost 桌面]# yum install google-chrome-stable
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package google-chrome-stable.x86_64 0:17.0.963.78-125577 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
google-chrome-stable x86_64 17.0.963.78-125577 google-chrome 33 M
Transaction Summary
================================================================================
Install 1 Package(s)
Total download size: 33 M
Installed size: 97 M
Is this ok [y/N]: y
Downloading Packages:
google-chrome-stable-17.0.963.78-125577.x86_64.rpm | 33 MB 05:09
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : google-chrome-stable-17.0.963.78-125577.x86_64 1/1
Installed:
google-chrome-stable.x86_64 0:17.0.963.78-125577
Complete!
其他的软件也可以照此办理。
CentOS本身的软件相当齐全,使用yum尝试了很多软件结果都是显示已经安装完成。
不过我们还是可以利用yum来更新已经安装的软件包
我们可以使用# yum check-update 命令来查看哪些软件包可以更新。
例如使用yum来更新php
[root@localhost 桌面]# yum update php
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package php.x86_64 0:5.3.3-3.el6_1.3 will be updated
---> Package php.x86_64 0:5.3.3-3.el6_2.6 will be an update
--> Processing Dependency: php-cli = 5.3.3-3.el6_2.6 for package: php-5.3.3-3.el6_2.6.x86_64
--> Processing Dependency: php-common = 5.3.3-3.el6_2.6 for package: php-5.3.3-3.el6_2.6.x86_64
--> Running transaction check
---> Package php-cli.x86_64 0:5.3.3-3.el6_1.3 will be updated
---> Package php-cli.x86_64 0:5.3.3-3.el6_2.6 will be an update
---> Package php-common.x86_64 0:5.3.3-3.el6_1.3 will be updated
---> Package php-common.x86_64 0:5.3.3-3.el6_2.6 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Updating:
php x86_64 5.3.3-3.el6_2.6 updates 1.1 M
Updating for dependencies:
php-cli x86_64 5.3.3-3.el6_2.6 updates 2.2 M
php-common x86_64 5.3.3-3.el6_2.6 updates 522 k
Transaction Summary
================================================================================
Upgrade 3 Package(s)
Total download size: 3.8 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): php-5.3.3-3.el6_2.6.x86_64.rpm | 1.1 MB 00:03
(2/3): php-cli-5.3.3-3.el6_2.6.x86_64.rpm | 2.2 MB 00:11
(3/3): php-common-5.3.3-3.el6_2.6.x86_64.rpm | 522 kB 00:04
--------------------------------------------------------------------------------
Total 197 kB/s | 3.8 MB 00:19
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Importing GPG key 0xC105B9DE:
Userid : CentOS-6 Key (CentOS 6 Official Signing Key) <centos-6-key@centos.org>
Package: centos-release-6-2.el6.centos.7.x86_64 (@anaconda-CentOS-201112091719.x86_64/6.2)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : php-common-5.3.3-3.el6_2.6.x86_64 1/6
Updating : php-cli-5.3.3-3.el6_2.6.x86_64 2/6
Updating : php-5.3.3-3.el6_2.6.x86_64 3/6
Cleanup : php-5.3.3-3.el6_1.3.x86_64 4/6
Cleanup : php-cli-5.3.3-3.el6_1.3.x86_64 5/6
Cleanup : php-common-5.3.3-3.el6_1.3.x86_64 6/6
Updated:
php.x86_64 0:5.3.3-3.el6_2.6
Dependency Updated:
php-cli.x86_64 0:5.3.3-3.el6_2.6 php-common.x86_64 0:5.3.3-3.el6_2.6
Complete!
可以看出这里面yum直接找到了php的依赖项并同时更新了这些依赖项,这就是yum的优点,它可以智能的安装软件包的依赖项而不用一个个手动的来添加。