在本文中,我们主要解介绍 Fedora core 4.0 通过软件包管理工具yum来在线安装更新软件;关于apt工具应用,我们会在另外一篇中介绍;
一、 yum 的使用;
有些初学Linux的弟兄可能问,为什么不用系统自带的图形化工具up2date来升级,却要用 yum呢。其实大家用一用就知道了,up2date 真是奇慢无比,而且经常失去响应;造成机器假死的情况。所以我们还是试一试yum ;另外freshrpms.net 可能比官方站更快的更新升级源,也没有理由不用 yum;1、首先我们要到下面的地址下载与自己系统相对应的版本的 yum;http://ayo.freshrpms.net/
比如我用的是Fedora core 4.0 就下载如下的包安装;
[root@localhost beinan]# rpm -ivh freshrpms-release-1.1-1.fc.noarch.rpmwarning: freshrpms-release-1.1-1.fc.noarch.rpm: Header V3 DSA signature: NOKEY, key ID e42d547bPreparing... ########################################### [100%]1:freshrpms-release ########################################### [100%]
2、安装软件举例;比如我要安装能听mp3的 bmp-mp3,只要输入下面的命令行即可,系统就自己工作了;
[root@localhost beinan]# yum install bmp-mp3
内容全景如下:
[root@localhost beinan]# yum install bmp-mp3Setting up Install ProcessSetting up repositoriesupdates-released 100% |=========================| 951 B 00:00extras 100% |=========================| 1.1 kB 00:00base 100% |=========================| 1.1 kB 00:00freshrpms 100% |=========================| 951 B 00:00Reading repository metadata in from local filesprimary.xml.gz 100% |=========================| 42 kB 00:03freshrpms : ################################################## 122/122Added 122 new packages, deleted 0 old in 0.72 secondsParsing package install argumentsResolving Dependencies--> Populating transaction set with selected packages. Please wait.---> Downloading header for bmp-mp3 to pack into transaction set.bmp-mp3-0.9.7-1.2.fc4.i38 100% |=========================| 2.9 kB 00:00---> Package bmp-mp3.i386 0:0.9.7-1.2.fc4 set to be updated--> Running transaction check--> Processing Dependency: libid3-3.8.so.3 for package: bmp-mp3--> Processing Dependency: libbeep.so.2 for package: bmp-mp3--> Processing Dependency: bmp >= 0.9.7 for package: bmp-mp3--> Restarting Dependency Resolution with new changes.--> Populating transaction set with selected packages. Please wait.---> Downloading header for id3lib to pack into transaction set.id3lib-3.8.3-11.fc4.i386. 100% |=========================| 38 kB 00:05---> Package id3lib.i386 0:3.8.3-11.fc4 set to be updated---> Downloading header for bmp to pack into transaction set.bmp-0.9.7-10.fc4.i386.rpm 100% |=========================| 14 kB 00:03---> Package bmp.i386 0:0.9.7-10.fc4 set to be updated--> Running transaction checkDependencies Resolved=============================================================================Package Arch Version Repository Size=============================================================================Installing:bmp-mp3 i386 0.9.7-1.2.fc4 freshrpms 95 kInstalling for dependencies:bmp i386 0.9.7-10.fc4 extras 912 kid3lib i386 3.8.3-11.fc4 extras 752 kTransaction Summary=============================================================================Install 3 Package(s)Update 0 Package(s)Remove 0 Package(s)Total download size: 1.7 MIs this ok [y/N]: yDownloading Packages:(1/3): id3lib-3.8.3-11.fc 100% |=========================| 752 kB 01:04(2/3): bmp-0.9.7-10.fc4.i 100% |=========================| 912 kB 02:14(3/3): bmp-mp3-0.9.7-1.2. 100% |=========================| 95 kB 00:05Running Transaction TestFinished Transaction TestTransaction Test SucceededRunning Transaction Installing: bmp ######################### [1/3] Installing: id3lib ######################### [2/3] Installing: bmp-mp3 ######################### [3/3]Installed: bmp-mp3.i386 0:0.9.7-1.2.fc4Dependency Installed: bmp.i386 0:0.9.7-10.fc4 id3lib.i386 0:3.8.3-11.fc4Complete!
注:yum优点:软件包依赖关系自行解决,比如上面的,我们可以看到本来我们只安装的是bmp-mp3,结果yum 安装也安装了 id3lib ;bmp
二、yum的一点小用法;1、查询软件包;面对成千上万的软件,我们可能无从下手,有时也不知道它的文件名;这时就要用到查询;我们可以用 yum list 来列出yum升级源上的包有文件;然后我们再来查看 info有以下几个组合可以用;比如;[root@localhost beinan]# yum list |more
加上一个管道 |,然后 more 一下,就能把所有的包分页显示出来。然后按一下空格键就能看下一页了。在显示的软件列表中,会有软件名称、版本、是否安装等;仔细的看一下吧。熟悉了就好了。也没有什么难的。
[root@localhost beinan]# yum list |moreSetting up repositoriesReading repository metadata in from local filesInstalled Packages4Suite.i386 1.0-8.b1 installedCanna.i386 3.7p3-13 installedCanna-devel.i386 3.7p3-13 installed
如果想知道软件的详细信息,可能得用上info参数了。比如:
用法:
[root@localhost beinan]# yum info 软件名
比如:
[root@localhost beinan]# yum info bmp-mp3Setting up repositoriesupdates-released 100% |=========================| 951 B 00:00extras 100% |=========================| 1.1 kB 00:00base 100% |=========================| 1.1 kB 00:00freshrpms 100% |=========================| 951 B 00:00Reading repository metadata in from local filesInstalled PackagesName : bmp-mp3Arch : i386Version: 0.9.7Release: 1.2.fc4Size : 234 kRepo : freshrpmsSummary: MP3 playback plugin for the Beep Media PlayerDescription:This package contains an MP3 playback plugin for BMP (Beep Media Player),a media player that uses a skinned user interface based on Winamp 2.x skins,and is based on ("forked off") XMMS.
在上面的例子中,如果Repo : freshrpms是这样的,表示您的系统没有安装这个软件,如果显示的是:Repo : installed,表示已经安装了。
查询软件包,也可以再加参数 grep ,比如我们想查询升级源上是否有内核的新版本,则我们可以用下面的命令查询;当然您也可以用 [root@localhost beinan]# yum search kernel |more ,也就是yum --help提供的参数,也是一样的;
[root@localhost beinan]# yum list |grep kernel
我们看一下机器工作的结果,如下:
[root@localhost beinan]# yum list |grep kernelGFS-kernel.i686 2.6.11.8-20050601.1526 installedcman-kernel.i686 2.6.11.5-20050601.1526 installeddlm-kernel.i686 2.6.11.5-20050601.1526 installedgnbd-kernel.i686 2.6.11.2-20050420.1331 installedkernel.i686 2.6.11-1.1369_FC4 installedkernel-devel.i686 2.6.11-1.1369_FC4 installedkernel-doc.noarch 2.6.11-1.1369_FC4 installedGFS-kernel.i586 2.6.11.8-20050601.1526 baseGFS-kernel-debuginfo.i686 2.6.11.8-20050601.1526 updates-releasedGFS-kernel-debuginfo.i586 2.6.11.8-20050601.1526 updates-releasedGFS-kernel-smp.i686 2.6.11.8-20050601.1526 baseGFS-kernel-xen0.i686 2.6.11.8-20050601.1526 baseGFS-kernel-xenU.i686 2.6.11.8-20050601.1526 basecman-kernel.i586 2.6.11.5-20050601.1526 updates-releasedcman-kernel.i686 2.6.11.5-20050601.1526 updates-releasedcman-kernel-debuginfo.i586 2.6.11.5-20050601.1526 updates-releasedcman-kernel-debuginfo.i686 2.6.11.5-20050601.1526 updates-releasedcman-kernel-smp.i686 2.6.11.5-20050601.1526 updates-releasedcman-kernel-xen0.i686 2.6.11.5-20050601.1526 updates-releasedcman-kernel-xenU.i686 2.6.11.5-20050601.1526 updates-releaseddlm-kernel.i686 2.6.11.5-20050601.1526 updates-releaseddlm-kernel.i586 2.6.11.5-20050601.1526 updates-releaseddlm-kernel-debuginfo.i586 2.6.11.5-20050601.1526 updates-releaseddlm-kernel-debuginfo.i686 2.6.11.5-20050601.1526 updates-releaseddlm-kernel-smp.i686 2.6.11.5-20050601.1526 updates-releaseddlm-kernel-xen0.i686 2.6.11.5-20050601.1526 updates-releaseddlm-kernel-xenU.i686 2.6.11.5-20050601.1526 updates-releasedgnbd-kernel.i686 2.6.11.2-20050420.1331 updates-releasedgnbd-kernel.i586 2.6.11.2-20050420.1331 updates-releasedgnbd-kernel-debuginfo.i586 2.6.11.2-20050420.1331 updates-releasedgnbd-kernel-debuginfo.i686 2.6.11.2-20050420.1331 updates-releasedgnbd-kernel-smp.i686 2.6.11.2-20050420.1331 updates-releasedgnbd-kernel-xen0.i686 2.6.11.2-20050420.1331 updates-releasedgnbd-kernel-xenU.i686 2.6.11.2-20050420.1331 updates-releasedkernel.i586 2.6.12-1.1398_FC4 updates-releasedkernel.i686 2.6.12-1.1398_FC4 updates-releasedkernel-debuginfo.i686 2.6.12-1.1398_FC4 updates-releasedkernel-debuginfo.i586 2.6.12-1.1398_FC4 updates-releasedkernel-devel.i586 2.6.12-1.1398_FC4 updates-releasedkernel-devel.i686 2.6.12-1.1398_FC4 updates-releasedkernel-doc.noarch 2.6.12-1.1398_FC4 updates-releasedkernel-smp.i686 2.6.12-1.1398_FC4 updates-releasedkernel-smp-devel.i686 2.6.12-1.1398_FC4 updates-releasedkernel-xen0.i686 2.6.12-1.1398_FC4 updates-releasedkernel-xen0-devel.i686 2.6.12-1.1398_FC4 updates-releasedkernel-xenU.i686 2.6.12-1.1398_FC4 updates-releasedkernel-xenU-devel.i686 2.6.12-1.1398_FC4 updates-released
上面的确显示出一大堆与内核有关的, installed表示我们的系统已经安装了;
咱们看前一列吧,看一下名字就能猜个差不多;比如 doc 肯定和内核文档有关了;smp是多处理器的内核;其它的我不懂了,请想知道的弟兄用 info来看吧。
比如我们用的机器是单处理器的X86机,想看一下是否有新内核可用。所以咱们试一下下面的这个。看是否已经有了新内核可以升级的;
[root@localhost beinan]# yum info kernel.i686[root@localhost beinan]# yum info kernel.i686Setting up repositoriesupdates-released 100% |=========================| 951 B 00:00extras 100% |=========================| 1.1 kB 00:00base 100% |=========================| 1.1 kB 00:00freshrpms 100% |=========================| 951 B 00:00Reading repository metadata in from local filesInstalled PackagesName : kernelArch : i686Version: 2.6.11Release: 1.1369_FC4Size : 37 MRepo : installedSummary: Linux 内核(Linux 操作系统的核心)。Description:kernel 软件包包含 Linux 内核 (vmlinuz),Red Hat Linux操作系统的核心。内核处理操作系统的基本功能:分配内存、处理分配、设备的输入和输出等等。Available PackagesName : kernelArch : i686Version: 2.6.12Release: 1.1398_FC4Size : 14 MRepo : updates-releasedSummary: The Linux kernel (the core of the Linux operating system)Description:The kernel package contains the Linux kernel (vmlinuz), the core of anyLinux operating system. The kernel handles the basic functionsof the operating system: memory allocation, process allocation, deviceinput and output, etc.
通过上面的信息,我们可以看到 2.6.11的是已经安装了,因为已经显示的是Repo : installed ,下面还有一个Version: 2.6.12 ,告诉我们是Repo : updates-released,看来这个是升级用的了。
所以是否升级就看我们的了。
[root@localhost beinan]# yum update kernel
升级内核全景如下:
[root@localhost beinan]# yum update kernelSetting up Upgrade ProcessSetting up repositoriesupdates-released 100% |=========================| 951 B 00:00extras 100% |=========================| 1.1 kB 00:00base 100% |=========================| 1.1 kB 00:00freshrpms 100% |=========================| 951 B 00:00Reading repository metadata in from local filesResolving Dependencies--> Populating transaction set with selected packages. Please wait.---> Downloading header for kernel to pack into transaction set.kernel-2.6.12-1.1398_FC4. 100% |=========================| 174 kB 00:18---> Package kernel.i686 0:2.6.12-1.1398_FC4 set to be installed--> Running transaction checkDependencies Resolved=============================================================================Package Arch Version Repository Size=============================================================================Installing:kernel i686 2.6.12-1.1398_FC4 updates-released 14 MTransaction Summary=============================================================================Install 1 Package(s)Update 0 Package(s)Remove 0 Package(s)Total download size: 14 MIs this ok [y/N]:
是不是升级,只需要在 Is this ok [y/N]:行的后面输入y或者N;y是yes,就是点头同意的意思;N就是摇头No的意思。
对于软件包的查询,还有,比如:
[root@localhost beinan]# yum list available 列出所有升级源上的包;[root@localhost beinan]# yum list updates 列出所有升级源上的可以更新包;[root@localhost beinan]# yum list installed 列出已经安装的包;
yum 的命令支持通配符; 比如;
[root@localhost beinan]# yum list mp* |moreSetting up repositoriesReading repository metadata in from local filesInstalled Packagesmpage.i386 2.5.4-5 installedAvailable Packagesmpc.i386 0.11.2-3 extrasmpeg2dec.i386 0.4.0-5b.2.fc4 freshrpmsmpeg2dec-devel.i386 0.4.0-5b.2.fc4 freshrpmsmpg321.i386 0.2.10-6.2.fc4 freshrpmsmplayer.i386 1.0-0.16.pre7.2.fc4 freshrpmsmplayer-docs.i386 1.0-0.16.pre7.2.fc4 freshrpmsmplayer-fonts.noarch 1.1-3.fc freshrpmsmplayer-skins.noarch 1.7-1.fc freshrpms[root@localhost beinan]#
2.安装和升级软件包;安装和升级分别是 install 和 update 参数;比如;
[root@localhost beinan]# yum update firefox
这样我们就可以升级 firefox了。
[root@localhost beinan]# yum update firefoxSetting up Update ProcessSetting up repositoriesupdates-released 100% |=========================| 951 B 00:00extras 100% |=========================| 1.1 kB 00:00base 100% |=========================| 1.1 kB 00:03freshrpms 100% |=========================| 951 B 00:02Reading repository metadata in from local filesResolving Dependencies--> Populating transaction set with selected packages. Please wait.---> Package firefox.i386 0:1.0.6-1.1.fc4 set to be updated--> Running transaction checkDependencies Resolved=============================================================================Package Arch Version Repository Size=============================================================================Updating:firefox i386 1.0.6-1.1.fc4 updates-released 18 MTransaction Summary=============================================================================Install 0 Package(s)Update 1 Package(s)Remove 0 Package(s)Total download size: 18 MIs this ok [y/N]:
如果不加参数的 update 会是什么呢??
[root@localhost beinan]# yum update
试着运行一下看看?会好长时间,对系统进行全面更新,我们要进行y和N了。3.移除软件包要用到remove参数;比如;
[root@localhost beinan]# yum remove bmp-mp3
内容全景如下:
[root@localhost beinan]# yum remove bmp-mp3Setting up Remove ProcessResolving Dependencies--> Populating transaction set with selected packages. Please wait.---> Package bmp-mp3.i386 0:0.9.7-1.2.fc4 set to be erased--> Running transaction checkDependencies Resolved=============================================================================Package Arch Version Repository Size=============================================================================Removing:bmp-mp3 i386 0.9.7-1.2.fc4 installed 234 kTransaction Summary=============================================================================Install 0 Package(s)Update 0 Package(s)Remove 1 Package(s)Total download size: 0Is this ok [y/N]:按y就移除了;
三、yum的图形工具;请参见:四、yum的帮助;在论坛中有好多,有兴趣的弟兄自己找找看吧;但也不要忘记了自救;呵。。。。
[root@localhost beinan]# yum --help Usage: yum [options] < update | install | info | remove | list | clean | provides | search | check-update | groupinstall | groupupdate | grouplist | groupinfo | groupremove | makecache | localinstall | shell > Options: -c [config file] - specify the config file to use -e [error level] - set the error logging level -d [debug level] - set the debugging level -y - answer yes to all questions -R [time in minutes] - set the max amount of time to randomly run in -C run from cache only - do not update the cache --installroot=[path] - set the install root (default '/') --version - output the version of yum --exclude=package to exclude --disablerepo=repository id to disable (overrides config file) --enablerepo=repository id to enable (overrides config file) -h, --help - this screen
还有更厉害的帮助;
[root@localhost beinan]#man yum