很多朋友在使用Linux操作系统的时候,会觉得安装软件包是一件挺麻烦的事,主要缘由是(RedHat/CentOS):

1、RPM安装方式很多情况下不能有效解决复杂的包依赖关系。

2、YUM安装方式能够有效解决包依赖关系,但需要连接到互联网(不少使用者的理解)。

综上所述,对RPM软件包的安装方式显然我们有时不得不摒弃,要是能够在没有网络连接的情况下也能使用YUM来安装软件包,则事情就变得简单了。

默认情况下,yum的库是指向互联网的,在主机上网不是很方便的情况下,我们可以改变yum库的指向,使其指向光盘媒介,从而轻松实现本地yum方式查询、安装应用软件了。

下面据此给大家介绍其操作方法,让你从此不再为安装软件烦恼(以Redhat 5.8为例):

1)用mkdir命令在/media目录下新建一个cdrom目录

[root@oracle ~]# mkdir /media/cdrom

2)将安装光盘放入光驱,挂载到某目录,然后将光盘内容全部复制到/media/cdrom目录下

[root@oracle ~]# mount /dev/cdrom /mnt/iso

[root@oracle iso]# cp -r * /media/cdrom/

3)修改/etc/yum.repos.d/目录下rhel-debuginfo.repo文件,编辑bashurl将自己的光盘路径写入

[root@oracle yum.repos.d]# cp rhel-debuginfo.repo rhel-debuginfo.repo.bak

[root@oracle yum.repos.d]# vi rhel-debuginfo.repo

[r5-media]

name=Red Hat Enterprise Linux $releasever - $basearch - Debug

baseurl=file:///media/cdrom/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

4)用此命令查询、安装软件包:yum --disablerepo=\* --enablerepo=r5-media [command] xxxx-xxxx ,其中command可以是info, install,groupinstall等等

5)如果觉得每次输入这条命令太麻烦,你还可以用别名的方式来替代这条命令,以后用别名就简单多了。

注释:xxxx-xxxx为软件包或软件包名,--disablerepo=\*的意思是禁止其它所有的repo源,--enablerepo=r5-media表示启用光盘repo源(它认为/media/cdrom是光盘挂载的目录),这样实际上是相当于我们在本地建立了一个YUM源的仓库,每次安装软件的时候,它就会直接到这个仓库来查找软件,自动分析依赖关系,帮我们顺利安装软件。

比如我要在主机上安装一个网络通讯报文捕捉软件wireshark, 这个软件默认是不安装的,则可以

使用命令:yum --disablerepo=\* --enablerepo=r5-media info wireshark ,系统反馈软件在库r5-media中有此软件,可以安装。

[root@oracle ~]# yum --disablerepo=\* --enablerepo=r5-media info wireshark

Loaded plugins: katello, product-id, security, subscription-manager

Updating certificate-based repositories.

Unable to read consumer identity

Available Packages

Name       : wireshark

Arch       : x86_64

Version    : 1.0.15

Release    : 1.el5_6.4

Size       : 12 M

Repo       : r5-media

Summary    : 网络交通分析器

URL        : http://www.wireshark.org/

License    : GPL

Description: Wireshark is a network traffic analyzer for Unix-ish operating

          : systems.

          :

          : This package lays base for libpcap, a packet capture and filtering

          : library, contains command-line utilities, contains plugins and

          : documentation for wireshark. A graphical user interface is packaged

          : separately to GTK+ package.

使用命令:yum --disablerepo=\* --enablerepo=r5-media install wireshark ,安装自动解决依赖的问题并安装完成,直接可以使用。

[root@oracle ~]# yum --disablerepo=\* --enablerepo=r5-media install wireshark

Loaded plugins: katello, product-id, security, subscription-manager

Updating certificate-based repositories.

Unable to read consumer identity

Setting up Install Process

Resolving Dependencies

--> Running transaction check

---> Package wireshark.x86_64 0:1.0.15-1.el5_6.4 set to be updated

--> Finished Dependency Resolution

Dependencies Resolved

================================================================================

Package          Arch          Version                   Repository       Size

================================================================================

Installing:

wireshark        x86_64        1.0.15-1.el5_6.4          r5-media         12 M

Transaction Summary

================================================================================

Install       1 Package(s)

Upgrade       0 Package(s)

Total download size: 12 M

Is this ok [y/N]:

以上方法针对Redhat5/6、CentOS5/6系列都有效,不过会略有点细节不同。