Linux系统下软件包管理(yum apt)_Sun Black Shine_百度空间
二、软件包管理工具;

1、system-config-packages ;

再重提一下这个工具,放在软件包基础中显示极重要性,放在这里再提一下也适合;

2、yum 在线更新软件包,也能管理本地已经安装的软件包工具;

Fedora/Redhat 由于有yum 和apt,这两个强大的在线更新工具以及Fedora 扩充计划的推出,才使其有了第二生命力;yum和apt工具能自动解决依赖关系;常期以来由于软件包的依赖关系不能得到很好的解决,使很多Fedora / Redhat 用户投入到更容易解决软件包依赖的发行版;yum 和apt 无疑是Fedora / Redhat 强心剂;

我们用的是Redhat/Fedora通过在线安装更新软件包,除了系统自带的up2date以外,我们还有更为强大的在线升级工具 yum 和 apt-get 可用。主要资源有 freshrpms.net和 rpm.livna.org ;

一、 yum 的使用;

不用系统自带的图形化工具up2date来升级,却要用 yum是因为up2date 真是奇慢xx,而且经常失去响应;造成机器假死的情况。所以我们还是试一试yum ;另外freshrpms.net 可能比官方站更快的更新升级源,也没有理由不用 yum;
1、首先我们要到下面的地址下载与自己系统相对应的版本的 yum;



比如我用的是Fedora core 4.0 就下载如下的包安装;

[root@localhost]# rpm -ivh freshrpms-release-1.1-1.fc.noarch.rpm
warning: freshrpms-release-1.1-1.fc.noarch.rpm: Header V3 DSA signature: NOKEY, key ID e42d547b
Preparing... ########################################### [{bfb}]
1:freshrpms-release ########################################### [{bfb}]



2、安装软件举例;

比如我要安装能听mp3的 bmp-mp3,只要输入下面的命令行即可,系统就自己工作了;

[root@localhost]# yum install bmp-mp3

内容全景如下:

[root@localhost]# yum install bmp-mp3
Setting up Install Process
Setting up repositories
updates-released {bfb} |=========================| 951 B 00:00
extras {bfb} |=========================| 1.1 kB 00:00
base {bfb} |=========================| 1.1 kB 00:00
freshrpms {bfb} |=========================| 951 B 00:00
Reading repository metadata in from local files
primary.xml.gz {bfb} |=========================| 42 kB 00:03
freshrpms : ################################################## 122/122
Added 122 new packages, deleted 0 old in 0.72 seconds
Parsing package install arguments
Resolving 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 {bfb} |=========================| 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. {bfb} |=========================| 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 {bfb} |=========================| 14 kB 00:03
---> Package bmp.i386 0:0.9.7-10.fc4 set to be updated
--> Running transaction check
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
bmp-mp3 i386 0.9.7-1.2.fc4 freshrpms 95 k
Installing for dependencies:
bmp i386 0.9.7-10.fc4 extras 912 k
id3lib i386 3.8.3-11.fc4 extras 752 k
Transaction Summary
=============================================================================
Install 3 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 1.7 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): id3lib-3.8.3-11.fc {bfb} |=========================| 752 kB 01:04
(2/3): bmp-0.9.7-10.fc4.i {bfb} |=========================| 912 kB 02:14
(3/3): bmp-mp3-0.9.7-1.2. {bfb} |=========================| 95 kB 00:05
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: bmp ######################### [1/3]
Installing: id3lib ######################### [2/3]
Installing: bmp-mp3 ######################### [3/3]
Installed: bmp-mp3.i386 0:0.9.7-1.2.fc4
Dependency Installed: bmp.i386 0:0.9.7-10.fc4 id3lib.i386 0:3.8.3-11.fc4
Complete!

注:yum优点:软件包依赖关系自行解决,比如上面的,我们可以看到本来我们只安装的是bmp-mp3,结果yum 安装也安装了 id3lib ;bmp
一、 yum的一点小用法;
1、查询软件包;

面对成千上万的软件,我们可能无从下手,有时也不知道它的文件名;这时就要用到查询;我们可以用 yum list 来列出yum升级源上的包有文件;然后我们再来查看 info有以下几个组合可以用;比如;

[root@localhost]# yum list |more

在显示的软件列表中,会有软件名称、版本、是否安装等;仔细的看一下吧。熟悉了就好了。也没有什么难的。

[root@localhost]# yum list |more
Setting up repositories
Reading repository metadata in from local files
Installed Packages
4Suite.i386 1.0-8.b1 installed
Canna.i386 3.7p3-13 installed
Canna-devel.i386 3.7p3-13 installed

如果想知道软件的详细信息,可能得用上info参数了。比如:

用法:

[root@localhost]# yum info 软件名

比如:

[root@localhost]# yum info bmp-mp3
Setting up repositories
updates-released {bfb} |=========================| 951 B 00:00
extras {bfb} |=========================| 1.1 kB 00:00
base {bfb} |=========================| 1.1 kB 00:00
freshrpms {bfb} |=========================| 951 B 00:00
Reading repository metadata in from local files
Installed Packages
Name : bmp-mp3
Arch : i386
Version: 0.9.7
Release: 1.2.fc4
Size : 234 k
Repo : freshrpms
Summary: MP3 playback plugin for the Beep Media Player
Description:
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]# yum search kernel |more ,也就是yum --help提供的参数,也是一样的;

[root@localhost]# yum list |grep kernel



我们看一下机器工作的结果,如下:

[root@localhost]# yum list |grep kernel
GFS-kernel.i686 2.6.11.8-20050601.1526 installed
cman-kernel.i686 2.6.11.5-20050601.1526 installed
dlm-kernel.i686 2.6.11.5-20050601.1526 installed
gnbd-kernel.i686 2.6.11.2-20050420.1331 installed
kernel.i686 2.6.11-1.1369_FC4 installed
kernel-devel.i686 2.6.11-1.1369_FC4 installed
kernel-doc.noarch 2.6.11-1.1369_FC4 installed
GFS-kernel.i586 2.6.11.8-20050601.1526 base
GFS-kernel-debuginfo.i686 2.6.11.8-20050601.1526 updates-released
GFS-kernel-debuginfo.i586 2.6.11.8-20050601.1526 updates-released
GFS-kernel-smp.i686 2.6.11.8-20050601.1526 base
GFS-kernel-xen0.i686 2.6.11.8-20050601.1526 base
GFS-kernel-xenU.i686 2.6.11.8-20050601.1526 base
cman-kernel.i586 2.6.11.5-20050601.1526 updates-released
cman-kernel.i686 2.6.11.5-20050601.1526 updates-released
cman-kernel-debuginfo.i586 2.6.11.5-20050601.1526 updates-released
cman-kernel-debuginfo.i686 2.6.11.5-20050601.1526 updates-released
cman-kernel-smp.i686 2.6.11.5-20050601.1526 updates-released
cman-kernel-xen0.i686 2.6.11.5-20050601.1526 updates-released
cman-kernel-xenU.i686 2.6.11.5-20050601.1526 updates-released
dlm-kernel.i686 2.6.11.5-20050601.1526 updates-released
dlm-kernel.i586 2.6.11.5-20050601.1526 updates-released
dlm-kernel-debuginfo.i586 2.6.11.5-20050601.1526 updates-released
dlm-kernel-debuginfo.i686 2.6.11.5-20050601.1526 updates-released
dlm-kernel-smp.i686 2.6.11.5-20050601.1526 updates-released
dlm-kernel-xen0.i686 2.6.11.5-20050601.1526 updates-released
dlm-kernel-xenU.i686 2.6.11.5-20050601.1526 updates-released
gnbd-kernel.i686 2.6.11.2-20050420.1331 updates-released
gnbd-kernel.i586 2.6.11.2-20050420.1331 updates-released
gnbd-kernel-debuginfo.i586 2.6.11.2-20050420.1331 updates-released
gnbd-kernel-debuginfo.i686 2.6.11.2-20050420.1331 updates-released
gnbd-kernel-smp.i686 2.6.11.2-20050420.1331 updates-released
gnbd-kernel-xen0.i686 2.6.11.2-20050420.1331 updates-released
gnbd-kernel-xenU.i686 2.6.11.2-20050420.1331 updates-released
kernel.i586 2.6.12-1.1398_FC4 updates-released
kernel.i686 2.6.12-1.1398_FC4 updates-released
kernel-debuginfo.i686 2.6.12-1.1398_FC4 updates-released
kernel-debuginfo.i586 2.6.12-1.1398_FC4 updates-released
kernel-devel.i586 2.6.12-1.1398_FC4 updates-released
kernel-devel.i686 2.6.12-1.1398_FC4 updates-released
kernel-doc.noarch 2.6.12-1.1398_FC4 updates-released
kernel-smp.i686 2.6.12-1.1398_FC4 updates-released
kernel-smp-devel.i686 2.6.12-1.1398_FC4 updates-released
kernel-xen0.i686 2.6.12-1.1398_FC4 updates-released
kernel-xen0-devel.i686 2.6.12-1.1398_FC4 updates-released
kernel-xenU.i686 2.6.12-1.1398_FC4 updates-released
kernel-xenU-devel.i686 2.6.12-1.1398_FC4 updates-released



比如我们用的机器是单处理器的X86机,想看一下是否有新内核可用。所以咱们试一下下面的这个。看是否已经有了新内核可以升级的;

[root@localhost]# yum info kernel.i686
Setting up repositories
updates-released {bfb} |=========================| 951 B 00:00
extras {bfb} |=========================| 1.1 kB 00:00
base {bfb} |=========================| 1.1 kB 00:00
freshrpms {bfb} |=========================| 951 B 00:00
Reading repository metadata in from local files
Installed Packages
Name : kernel
Arch : i686
Version: 2.6.11
Release: 1.1369_FC4
Size : 37 M
Repo : installed
Summary: Linux 内核(Linux 操作系统的核心)。
Description:
kernel 软件包包含 Linux 内核 (vmlinuz),Red Hat Linux
操作系统的核心。内核处理操作系统的基本功能:
分配内存、处理分配、设备的输入和输出等等。
Available Packages
Name : kernel
Arch : i686
Version: 2.6.12
Release: 1.1398_FC4
Size : 14 M
Repo : updates-released
Summary: The Linux kernel (the core of the Linux operating system)
Description:
The kernel package contains the Linux kernel (vmlinuz), the core of any
Linux operating system. The kernel handles the basic functions
of the operating system: memory allocation, process allocation, device
input and output, etc.

通过上面的信息,我们可以看到 2.6.11的是已经安装了,因为已经显示的是Repo : installed ,下面还有一个Version: 2.6.12 ,告诉我们是Repo : updates-released,看来这个是升级用的了。

[root@localhost]# yum update kernel

升级内核全景如下:

[root@localhost]# yum update kernel
Setting up Upgrade Process
Setting up repositories
updates-released {bfb} |=========================| 951 B 00:00
extras {bfb} |=========================| 1.1 kB 00:00
base {bfb} |=========================| 1.1 kB 00:00
freshrpms {bfb} |=========================| 951 B 00:00
Reading repository metadata in from local files
Resolving 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. {bfb} |=========================| 174 kB 00:18
---> Package kernel.i686 0:2.6.12-1.1398_FC4 set to be installed
--> Running transaction check
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
kernel i686 2.6.12-1.1398_FC4 updates-released 14 M
Transaction Summary
=============================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 14 M
Is this ok [y/N]:

是不是升级,只需要在 Is this ok [y/N]:行的后面输入y或者N;

对于软件包的查询,还有,比如:

[root@localhost]# yum list available 列出所有升级源上的包;
[root@localhost]# yum list updates 列出所有升级源上的可以更新包;
[root@localhost]# yum list installed 列出已经安装的包;

yum 的命令支持通配符; 比如;

[root@localhost]# yum list mp* |more
Setting up repositories
Reading repository metadata in from local files
Installed Packages
mpage.i386 2.5.4-5 installed
Available Packages
mpc.i386 0.11.2-3 extras
mpeg2dec.i386 0.4.0-5b.2.fc4 freshrpms
mpeg2dec-devel.i386 0.4.0-5b.2.fc4 freshrpms
mpg321.i386 0.2.10-6.2.fc4 freshrpms
mplayer.i386 1.0-0.16.pre7.2.fc4 freshrpms
mplayer-docs.i386 1.0-0.16.pre7.2.fc4 freshrpms
mplayer-fonts.noarch 1.1-3.fc freshrpms
mplayer-skins.noarch 1.7-1.fc freshrpms
[root@localhost]#



2.安装和升级软件包;

安装和升级分别是 install 和 update 参数;比如;

[root@localhost]# yum update firefox

这样我们就可以升级 firefox了。

[root@localhost]# yum update firefox
Setting up Update Process
Setting up repositories
updates-released {bfb} |=========================| 951 B 00:00
extras {bfb} |=========================| 1.1 kB 00:00
base {bfb} |=========================| 1.1 kB 00:03
freshrpms {bfb} |=========================| 951 B 00:02
Reading repository metadata in from local files
Resolving 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 check
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Updating:
firefox i386 1.0.6-1.1.fc4 updates-released 18 M
Transaction Summary
=============================================================================
Install 0 Package(s)
Update 1 Package(s)
Remove 0 Package(s)
Total download size: 18 M
Is this ok [y/N]:



如果不加参数的 update 会是什么呢??

[root@localhost]# yum update

试着运行一下看看?会好长时间,对系统进行全面更新,我们要进行y和N了。



3.移除软件包要用到remove参数;比如;

[root@localhost]# yum remove bmp-mp3

内容全景如下:

[root@localhost]# yum remove bmp-mp3
Setting up Remove Process
Resolving 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 check
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Removing:
bmp-mp3 i386 0.9.7-1.2.fc4 installed 234 k
Transaction Summary
=============================================================================
Install 0 Package(s)
Update 0 Package(s)
Remove 1 Package(s)
Total download size: 0
Is this ok [y/N]:
按y就移除了;



三、yum的图形工具;
一、yum 在线安装、移除、更新及管理rpm软件包工具;
我们除了系统提供的软件包管理工具 system-config-packages ,但这个软件包管理工具,只能用于系统安装盘提供的软件的管理;

Fedora也提供了 up2date升级工具,但这个工具明显无任何优势;升级速度慢,效率低下,大多人是忍受不了 up2date折磨的;

yum 工具是Fedora 推荐使用的在线升级更新软件包的工具,在安装系统时,一般都是默认安装;yum 是一个命令行式的工具,如果您不习惯命令行式的yum,您可以用yumex和kyum;

yumex和kyum并不是独立于yum的,而是yum的图形前端,也就是说,我们在安装和使用yumex和kyum同时,都是以yum的安装和配置为基 础;您在用yumex或kyum 时,必须先安装配置yum ;

二、安装yumex;

注:您在用yumex或kyum 时,必须先安装配置yum ;

如果您用 kde桌面,您可以用kyum,yunex和kyum二者任选其一,找一个自己习惯的就行;

1、yumex 的安装和使用;

首先确认系统是不是有yumex

[root@localhost]# rpm -q yumex
yumex-0.42-3.0.fc4

如果没有类似的输出,请用下面的命令安装,前提是您已经完成了前面说的yum的配置;

[root@localhost]# yum install yumex

2、yumex的调用:

[root@localhost]# yumex

3、yumex的操作;会点鼠标就会用 yumex





三、安装kyum ;

注:yumex 和kyum您只需选择一个适合您的就行,没有必要两个都安装,不过尝试一下再做选择也好;

1、安装kyum ;

[root@localhost]# yum install kyum

2、调用kyum ;

[root@localhost]# kyum

3、用法图示;




四、关于yum补充:
yum主页地址:





四、yum的帮助;

[root@localhost]# 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]#man yum


3、apt 在线更新软件包,也能管理本地已经安装的软件包工具;

apt+synaptic 小巧轻快,反应速度快,是{zj0}的搭档;

apt是轻量级的在线安装升级的软件包管理系统,synaptic 是图形化的apt软件包管理工具。能够管理Fedora core 4.0 系统及升级源的所有的软件包;是一个极为方便的软件包管理工具;两者配合,效果{zj0};

一、apt的安装和简单用法;

1、apt的安装;

#rpm -ivh ... cnc7-6.fc4.i386.rpm

2、导入GPG签名;

#rpm --import ... M-GPG-KEY.freshrpms
#rpm --import

3、加Fedora core 4.0的源;

在/etc/apt/目录中找到 sources.list,在里面加如下的两行;

rpm fedora/linux/4/i386 core extras updates freshrpms
rpm fedora/4/i386 lvn

4.apt 简单的应用;
1]安装和配置好apt的{dy}步是执行 apt-get update ,目的是来从apt源中取回软件包的列表;也就是我们上面说的那个sources.list提到的源;

[root@localhost]# apt-get update
You don't seem to have one or more of the needed GPG keys in your RPM database.
Importing them now...
Get:1 fedora/linux/4/i386 release [1834B]
Fetched 1834B in 8s (222B/s)
Get:1 fedora/linux/4/i386/core pkglist [518kB]
Get:2 fedora/linux/4/i386/core release [151B]
Get:3 fedora/linux/4/i386/extras pkglist [1262kB]
Get:4 fedora/linux/4/i386/extras release [155B]
Get:5 fedora/linux/4/i386/updates pkglist [1107kB]
Get:6 fedora/linux/4/i386/updates release [157B]
Get:7 fedora/linux/4/i386/freshrpms pkglist [65.3kB]
Get:8 fedora/linux/4/i386/freshrpms release [161B]
Fetched 2952kB in 59s (49.9kB/s)
Reading Package Lists... Done
Building Dependency Tree... Done

2]安装、升级、移除软件包的用法;
a)软件包的安装;

[root@localhost]# apt-get install 软件包名称

注:不要加版本号,软件名就好;

比如我们想安装或者升级firefox ,就可以直接用 apt-get install firefox ;

[root@localhost]# apt-get install firefox
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be upgraded
firefox (1.0.4-4 => 1.0.6-1.1.fc4)
1 upgraded, 0 newly installed, 0 removed and 234 not upgraded.
Need to get 19.2MB of archives.
After unpacking 17.0kB of additional disk space will be used.
Get:1 fedora/linux/4/i386/updates firefox 0:1.0.6-1.1.fc4 [19.2MB]
Fetched 19.2MB in 6m25s (49.8kB/s)
Checking GPG signatures... ########################################### [{bfb}]
Committing changes...
Preparing... ########################################### [{bfb}]
1:firefox ########################################### [{bfb}]
Done.
b)移除软件包;

[root@localhost]# apt-get remove 软件包名
举例:
[root@localhost]# apt-get remove firefox

c)对系统全面升级;

[root@localhost]# apt-get upgrade
[root@localhost]# apt-get dist-upgrade

这两个功能差不多;
d)常用的参数选项;
[root@localhost]# apt-get install -y 软件包名

比如:

[root@localhost]# apt-get install -y gaim

注:如果意外中断的包下载和安装,可以用-y参数来继续下载安装,如上面gaim我下载到10%,可以用上面的命令接着来下载安装或者升级;

[root@localhost]# apt-get install -d 软件包名

比如:

[root@localhost]# apt-get install -d

注:只是下载软件包,不解包,也不安装,下载到本地机的目录为 /var/cache/apt/archives

3]清理apt-get 后下载下来的包和未完成的包;

[root@localhost]# apt-get clean

通过apt-get下载下来的包存放在 /var/cache/apt/archives目录中;有时我们中断一些正在apt-get 的包,这样的包没有xx下载下来;我们也可以清理掉;也可以用继续接着下载安装,也可以清理掉;

这样apt-get clean 就会删除 已经下载完成的位于/var/cache/apt/archives目录的所有包;也会清理掉下载未完成的包位于/var/cache/apt /archives/partial/

这个功能还是比较有用的,因为apt-get 下载和安装量极大,要定期清理;

二、synaptic的安装和用法;

相对 apt-get的命令行操作来说,synaptic的操作还是极为简单的;synaptic全是点鼠标可视化操作;
1]安装:

[root@localhost]# apt-get install synaptic
Reading Package Lists... Done
Building Dependency Tree... Done
The following NEW packages will be installed:
synaptic (0.57.2-1.fc4)
0 upgraded, 1 newly installed, 0 removed and 234 not upgraded.
Need to get 1682kB of archives.
After unpacking 4311kB of additional disk space will be used.
Get:1 fedora/linux/4/i386/extras synaptic 0.57.2-1.fc4 [1682kB]
Fetched 1682kB in 46s (36.2kB/s)
Checking GPG signatures... ########################################### [{bfb}]
Committing changes...
Preparing... ########################################### [{bfb}]
1:synaptic ########################################### [{bfb}]
Done.

2]用法

想安装点什么就安装什么;


郑重声明:资讯 【Linux系统下软件包管理(yum apt)_Sun Black Shine_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——