实践:RPM 和 YUM 包管理

引用自:http://www.ibm.com/developerworks/cn/linux/l-setup-rpmyum-pr/solutions-sidefile.html

各种命令的确切输出会根据系统的配置而有所不同。

练习 1. 安装 RPM 包的解答

清单 1 显示了如何安装。


清单 1. 使用 rpm 命令安装包

				
[tbost@t60 ~]$ sudo yumdownloader rpl
[tbost@t60 ~]$ sudo rpm -ivh rpl-1.5.5-3.fc12.noarch.rpm 
Preparing...                ########################################### [100%]
   1:rpl                    ########################################### [100%]

练习 1 中步骤的顺序如下:

  1. 以 sudo 用户的身份使用 yumdownloader 命令下载 RPM 文件。

    根据 Linux 系统发行版本的不同,包的名称可能会不同。此外,您也可以从一个可信的镜像站点下载该包。

  2. sudo 用户使用 rpm -ivh命令安装文件。

    i 表示这是一个安装程序。v 表示详细的输出,而 h 标志将在安装期间以一系列的井号显示进度。

注意:根据您的 Linux 系统发行版本和下载方法的不同,rpl 版本可能会与清单 1 中显示的有所不同。

练习 2. 使用 RPM 查询信息的解答

清单 2 显示了具体方法。


清单 2. 使用 rpm -q 命令进行查询

				
[tbost@t60 ~]$ rpm -q rpl
rpl-1.5.5-3.fc12.noarch
[tbost@t60 ~]$ rpm -ql rpl
/usr/bin/rpl
/usr/share/doc/rpl-1.5.5
/usr/share/doc/rpl-1.5.5/COPYING
/usr/share/man/man1/rpl.1.gz
[tbost@t60 ~]$ rpm -qf /bin/ls
coreutils-8.5-7.fc14.i686

练习 2 中步骤的顺序如下:

  1. 使用 rpm -q rpl 命令查询是否已经安装了包。

    如果未安装 rpl,输出结果将会显示 package rpl is not installed

  2. 使用 rpm -ql rpl 命令将列出 rpl 包拥有的所有文件。
  3. 使用 rpm -qf /bin/ls 命令返回拥有 /bin/ls 文件的包。

    coreutils 包拥有 /bin/ls 文件。

注意:在 RPM 数据库上执行查询时不需要 Root 或 sudo 权限。根据您的 Linux 系统发行版本的不同,rpl 版本可能与清单 2 有所不同。

练习 3. 使用 RPM 卸载包的解答

清单 3 显示要使用的命令。


清单 3. 使用 rpm 命令卸载包

				
[tbost@t60 ~]$ sudo rpm -e rpl
[tbost@t60 ~]$ 

输入命令 sudo rpm -e rpl 来卸载包。e 表示 erase。成功卸载后返回到 shell,没有任何错误提示,如清单 3 所示。

练习 4. 使用 YUM 查找软件的信息的解答

清单 4 显示如何使用 YUM 查找软件的信息。


清单 4. 使用 YUM 安装软件

				
[tbost@t60 ~]$ yum list tcsh
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
Available Packages
tcsh.i686 
[tbost@t60 ~]$ yum info tcsh
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
Available Packages
Name        : tcsh
Arch        : i686
Version     : 6.17
Release     : 12.fc14
Size        : 404 k
Repo        : updates
Summary     : An enhanced version of csh, the C shell
URL         : http://www.tcsh.org/
License     : BSD
Description : Tcsh is an enhanced but completely compatible version of csh, the C
            : shell.  Tcsh is a command language interpreter which can be used both
            : as an interactive login shell and as a shell script command processor.
            : Tcsh includes a command line editor, programmable word completion,
            : spelling correction, a history mechanism, job control and a C language
            : like syntax.

[tbost@t60 ~]$ yum deplist tcsh
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
Finding dependencies: 
package: tcsh.i686 6.17-8.fc14
  dependency: rtld(GNU_HASH)
   provider: glibc.i686 2.12.90-17
   provider: glibc.i686 2.13-1
  dependency: libc.so.6(GLIBC_2.3)
   provider: glibc.i686 2.12.90-17
   provider: glibc.i686 2.13-1
  dependency: libc.so.6
   provider: glibc.i686 2.12.90-17
   provider: glibc.i686 2.13-1
  dependency: libc.so.6(GLIBC_2.1)
   provider: glibc.i686 2.12.90-17
   provider: glibc.i686 2.13-1
  dependency: libc.so.6(GLIBC_2.0)
   provider: glibc.i686 2.12.90-17
   provider: glibc.i686 2.13-1
  dependency: grep
   provider: grep.i686 2.7-1.fc14.1
   provider: grep.i686 2.7-2.fc14
  dependency: libc.so.6(GLIBC_2.3.4)
   provider: glibc.i686 2.12.90-17
   provider: glibc.i686 2.13-1
  dependency: libcrypt.so.1(GLIBC_2.0)
   provider: glibc.i686 2.12.90-17
   provider: glibc.i686 2.13-1
  dependency: libcrypt.so.1
   provider: glibc.i686 2.12.90-17
   provider: glibc.i686 2.13-1
  dependency: /bin/sh
   provider: bash.i686 4.1.7-3.fc14
.....
.....
......
[tbost@t60 ~]$ 

任务 1 中步骤的顺序如下:

  1. 使用 yum list tcsh 命令查询 tcsh 的可用性。

    如果您对某个包的名称不确定,您也可以使用 yum search 命令。

  2. 一旦您知道软件的名称后,请使用 yum info tcsh 命令来查询更详细的信息,例如许可证、软件大小、可用的版本以及软件用途描述。
  3. 使用 yum deplist tcsh 命令查询可用软件所必须的依赖软件。

    YUM 的一项优秀的功能就是能够查找和安装依赖软件,这是 rpm 命令不具备的。

注意:rpm 命令一样,使用 YUM 执行查询时既不需要 root 权限也不需要 sudo 选项。根据您的 Linux 系统的发行版本的不同,软件的版本可能与清单 4 中所显示的有所不同。

练习 5. 使用 YUM 安装软件的解答

清单 5 显示预期的输入和输出。


清单 5. 安装软件与依赖软件

				
[tbost@t60 ~]$ sudo yum install tcsh
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package tcsh.i686 0:6.17-12.fc14 set to be installed
--> Finished Dependency Resolution

Dependencies Resolved

.....
.....
.....
.....

Install       1 Package(s)

Total download size: 404 k
Installed size: 1.1 M
Is this ok [y/N]: y
			

作为 sudo 用户输入 sudo yum install tcsh 来安装 tcsh,同时安装任何必需的但还未安装的依赖软件。请注意清单 5 的最后一行显示了 YUM 在试图安装任何软件之前需要征得您的同意。 默认值为 n,所以您必需明确地输入 y 来完成安装。 此外,您可以输入 sudo yum install -y tcsh 来指示 YUM 自动下载并安装该软件。

注意: 根据您的 Linux 系统的发行版本的不同,软件的版本可能与清单 5 中所显示的有所不同。

练习 6. 使用 YUM 卸载软件的解答

清单 6 给出了解答。


清单 6. 使用 yum 卸载软件

				
[tbost@t60 ~]$ sudo yum remove tcsh
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package tcsh.i686 0:6.17-12.fc14 set to be erased
--> Finished Dependency Resolution

Dependencies Resolved

........
........
........

Installed size: 1.1 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing  : tcsh-6.17-12.fc14.i686   1/1

Removed:
  tcsh.i686 0:6.17-12.fc14                                                            

Complete!
[tbost@t60 ~]$ 

作为 sudo 用户输入 sudo yum remove tcsh 来卸载 tcsh,同时卸载与其一起安装的依赖软件,而您计算机中的当前任何软件都不再需要这些依赖软件。 请再次注意清单 6 中 YUM 在试图卸载任何软件之前需要征得您的同意。默认值为 n,所以您必需明确地输入 y 来完成卸载过程。 或者,您可以输入 sudo yum remove -y tcsh 来指示卸载不再提示。

注意: 根据您的 Linux 系统的发行版本的不同,软件的版本可能与清单 6 中所显示的有所不同。

posted @ 2012-10-20 00:00  mugua250  阅读(402)  评论(0编辑  收藏  举报