很多朋友在使用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系列都有效,不過會略有點細節不同。