很多朋友在使用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系列都有效,不过会略有点细节不同。