国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Linux系統(tǒng)下YUM倉庫的配置與搭建

2015-05-30 10:11:00曹新鴻

摘要:闡述Linux操作系統(tǒng)選軟件安裝中兩種常見的形式,并分析了RPM軟件包管理存在的問題,引入YUM技術(shù)并對YUM倉庫的安裝、配置與搭建進(jìn)行研究,實(shí)現(xiàn)使用YUM倉庫解決RPM管理中存在的依賴關(guān)系。

關(guān)鍵詞:YUM倉庫 RPM 開源軟件 Linux系統(tǒng)

對于Linux初學(xué)者來說,安裝軟件是一件很讓人頭疼的事,因?yàn)樵贚inux以開源著稱,Linux下安裝軟件不像在 Windows中那樣簡單。在Linux系統(tǒng)中大多數(shù)軟件提供的是源代碼,而不是現(xiàn)成的可執(zhí)行文件,這就要求用戶根據(jù)自己系統(tǒng)的實(shí)際情況和自身的需要來配置、編譯源程序后,軟件才能使用。這也是Linux之所以不能被普遍人群所接受的重要原因。隨著Linux的不斷升級,軟件的安裝也在不斷的改進(jìn),本文旨在研究Linux下的YUM技術(shù)。

1 問題描述

隨著Linux的不斷升級與進(jìn)步,目前Linux下的軟件安裝包主要有兩種形式,其一是RPM包,其二是壓縮成*.tar.gz的形式。*.tar.gz的格式需要有一定的Linux專業(yè)功底,RPM包是最受歡迎的形式。Linux是開源的操作系統(tǒng),并且一向推崇自由軟件,正是因?yàn)殚_源與自由造成了RPM包具有很深的依賴關(guān)系。使用RPM在Linux中安裝軟件或者服務(wù)時經(jīng)常會涉及到rpm包的依賴,往往我們在安裝A軟件時,提示會依賴于B,安裝B時會依賴于C,安裝時會……等一系列的依賴關(guān)系,YUM倉庫技術(shù)可以自動解決RPM的依賴關(guān)系,方便軟件的安裝。因此本文的研究具有重要的意義。

2 YUM技術(shù)介紹

Yum(全稱為Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器。基于RPM包管理,能夠從指定的服務(wù)器自動下載RPM包并且安裝,可以自動處理依賴性關(guān)系,并且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。

我們在安裝好Linux后要進(jìn)行YUM源的設(shè)置,是為了方便日后對軟件包的管理,解決單獨(dú)安裝RPM軟件包時可能產(chǎn)生的軟件包依賴關(guān)系。在企業(yè)中,我們會設(shè)置企業(yè)自己的YUM源(庫)方便企業(yè)Linux系統(tǒng)(主要是紅帽和紅帽的Fedora)對軟件包的管理,更重要的原因是保證YUM源的安全性,因?yàn)橐粋€軟件包從源頭就被修改過或者做過手腳的話,那么這樣的軟件的安裝已經(jīng)沒有什么意義了。

3 YUM倉庫的搭建

第一步:設(shè)置虛擬光驅(qū),裝入Red Hat Enterprise Linux 6.0光盤,如圖1,圖2所示。

第二步:掛在光驅(qū)到/mnt/目錄下。

root@seashorewang ~]# mount /dev/cdrom /mnt/

mount: block device /dev/sr0 is write-protected, mounting read-only

第三步:創(chuàng)建cangku文件夾,并拷貝/mnt/Packages/下的所有文件到cangku文件下。

[root@seashorewang /]# mkdir cangku

[root@seashorewang /]#cd cangku

[root@seashorewang /]# cd /cangku

[root@seashorewang cangku]# cp -r /mnt/Packages/ /cangku/

說明:因?yàn)楣獗P中的Packages目錄中的內(nèi)容過大,需要1-2分鐘的等待,當(dāng)然不同配置的計(jì)算機(jī)的時耗不一樣。

第四步:安裝createrepo文件。

[root@seashorewang yum.repos.d]# cd /mnt/Packages/

[root@seashorewang Packages]# rpm -e creterapo-0.9.8.4.el6.noarch deltarpm-3.5-0.5.20090913git.el6.

I686 python-deltarpm-3.5-0.5.20090913git.el6.i686

[root@seashorewang Packages]#rpm -ivh createrepo-0.9.8-4.el6.noarch.rpm

Warning: createrepo-0.9.8.4.el6.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY error: Failed dependendcies:

Deltarpm is needed by createrepo-0.9.8-4.el6.noarch

Python-deltarpm is needed by createrepo-0.9.8-4.el6.noarch

說明:這里因?yàn)閏reaterepo-0.9.8-4.el6.noarch.rpm軟件包依賴于另外兩個軟件包,所以安裝出現(xiàn)了錯誤。

[rot@seashorewang Packages]# rpm -ivh createrepo-0.9.8-4.el6.noarch.rpm deltarpm-3.5-0.5.20090913git.el6.i686.rpm pytho

Warning: createrepo-0.9.8-4.el6.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY

Preparing... ###########################[100]

1:deltarpm ###########################[33%]

2:python-deltarpm ###########################[67%]

3:createrepo ###########################[100%]

說明:這里將三個軟件包一起安裝,可以自動解決依賴關(guān)系。

第五步:創(chuàng)建依賴關(guān)系。

[root@seashorewang repodata]# cd /

[root@seashorewang /]# createrepo -g /mnt/repodata/3c26ed953dc3d25ef7bc8f1ff057le771cc16fefe6623ba654ele33a68cbaelb-comps-rhel6-Server.xml.gz /cangku/Packages/

2168/2679 -hunspell-nb-2.0.100.5.1.el6.noarch.rpm

Iso-8859-l encoding on Ville Skytt?- 2.4.2-2

2679/2679 -k3b-1.0.5-13.el6.i686.rpm

Saving Primary metadata

Saving file lists mesadata

Saving other metadata

說明:這里的/cangku/Packages/目錄一定要和后面創(chuàng)建的配置文件一致。

第六步:編寫配置文件。

[root@seashorewang /]# cd /etc/yum.repos.d/

[root@seashorewang yum.repos.d]# ls

wangluocangku.repo

說明:倉庫的配置文件保存到/etc/yum.repos.d/目錄下,這個非常重要。

[root@seashorewang yum.repos.d]# vim wodecangku.repo

[myyum]

name=wodecangku

Baseurl=file:///cangku/Packages/

endabled=1

Gpgchech=0

說明:以上是配置文件的內(nèi)容,下面對每一項(xiàng)逐一介紹。

[ ]是倉庫名字,這個可以隨意;

Name=….這個你可以理解為倉庫的描述,這個可以不寫這一行;

Baseurl=file:///cangku/Packages,這里解釋一下倉庫的baseurl可以指向本地,ftp和互聯(lián)網(wǎng),所有才有了三種配置。file:// ftp:// http://,這里要強(qiáng)調(diào)的是Linux中一切都以根開始的那路徑上要加個/,所以最后是file:///cangku/Packages,意思是在本地的/ cangku / Packages下;

Enable=1,這里是說是否用戶倉庫,1是啟用,0是不啟用;

Gpgcheck=0是說是否檢查軟件的KEY,我一般都不檢查;

Gpgkey=…這里是說你的KEY文件在哪里,默認(rèn)為不啟用,指定Red Hat發(fā)行版數(shù)字簽名公鑰文件。

第七步:測試。

[root@seashorewang yum.repos.d]# yum install xinetd

Loaded plugins: refresh-packagekit, rhnplugin

This system is not registered with RHN.

RHN support will be disabled.

Myyum | 2.0 kB 00:00...

Myyum/primary |1.3 MB 00:00...

Myyum 2679/2679

Setting up Install Process

Resolving Dependencies

--> Running taansaction check

---> Package xinetd.i686 2:2.3.14-29.el6 set to be updated

-->Finished Dependency Resolution

Dependencies Resolved

Package Arch Version Repository Size

Installing:

Xinetd i686 2:2.3.14-29.el6 myyum 121k

Transaction Summary

Install 1 Package(s)

Upgrade 0 Package(s)

Total download size: 121 k

Installed size:258 k

Is this ok [y/N]: y

Downloading Packages:

Running rpm_check_debug

Running Transaction Test

Transaction Test Succeeded

Running Rransaction

Warning: RPMDB altered outside of yum.

Installing : 2:xinetd-2.3.14-29.el6.i6861/1

Installed:

Xinetd.i686 2:2.3.14.29.el6

Complete!

4 總結(jié)

Linux下軟件的安裝分為源代碼和RPM包,RPM包的使用有效解決了大文件編譯難的問題,但是卻存在很多依賴關(guān)系,為了能夠自動解決依賴關(guān)系出現(xiàn)了YUM技術(shù),文章對YUM技術(shù)進(jìn)行研究并詳細(xì)介紹了YUM倉庫配置、搭建與測試的具體步驟。

參考文獻(xiàn):

[1]王海賓,白尚旺,等.基于Observer模式的AS/RS調(diào)度系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009,19(3):110-113.

[2]鳥哥.鳥哥的Linux私房菜基礎(chǔ)篇(第三版)[M].機(jī)械工業(yè)出版社,2009.7.

[3]鳥哥.鳥哥的Linux私房菜服務(wù)器架設(shè)篇(第三版)[M].機(jī)械工業(yè)出版社,2009.7.

作者簡介:

曹新鴻(1971-),男,陜西藍(lán)田人,重慶大學(xué)本科學(xué)歷,工程師,邢臺職業(yè)技術(shù)學(xué)院后勤集團(tuán)職工,研究方向:計(jì)算機(jī)應(yīng)用技術(shù)。

固阳县| 灵璧县| 仁怀市| 洞头县| 平定县| 铜川市| 英山县| 扬中市| 汉中市| 阜康市| 比如县| 四子王旗| 景宁| 通榆县| 方城县| 安岳县| 墨脱县| 三河市| 舞阳县| 慈溪市| 日喀则市| 龙山县| 临朐县| 兰西县| 永宁县| 贵州省| 胶州市| 克什克腾旗| 晋城| 阜阳市| 理塘县| 喀喇沁旗| 临沧市| 中超| 商河县| 建水县| 皮山县| 永德县| 遵义县| 兴山县| 奉新县|