1. 程式人生 > >配置本地和共享yum源,定製屬於自己的yum倉庫

配置本地和共享yum源,定製屬於自己的yum倉庫

使用yum安裝軟體

命令:
####檢視軟體包
yum list all ##列出yum源倉庫裡面的所有可用的安裝包
yum list installed ##列出所有已經安裝的安裝包
yum list available ##列出沒有安裝的安裝包
####安裝軟體
yum install softwarename ##安裝指定的軟體
yum reinstall softarename ##重新安裝指定的軟體
yum localinstall 第三方software ##安裝第三方檔案並且會解決軟體的依賴關係
yum remove softwarename ##卸裝指定的軟體
####查詢軟體的資訊
yum info software ##檢視軟的資訊
yum search keywords ##根據關鍵字查詢到相關安裝包軟體的資訊
yum whatprovides filename ##查詢包含指定檔案的相關安裝包
####對於軟體組
yum groups list ##列出軟體組
yum groups install ##安裝一個軟體組
yum group remove ##解除安裝一個軟體組
yum groups info ##檢視一個軟體組的資訊

關於yum源:

yum源倉庫指向檔案指向yum倉庫。
yum源的指向檔案存在於/etc/yum.repos.d/目錄下。

以下是通過修改配置倉庫指向檔案,製作本地yum源;通過配置http服務和yum倉庫指向檔案製作共享yum源。

開始之前看一下檢視一下當前的配置裡面有什麼已經安裝好的yum源倉庫
yum repolist

由上面可以知道現在的yum源配置沒有成功可以讀取利用的資訊,下面將修改yum倉庫指向檔案製作yum的軟體可用安裝源。

第一種:利用iso映象檔案進行本地yum源的製作

1.掛載

mkdir /mount ##建立的空的資料夾用於掛載iso映象檔案
mount /iso/ iso的檔案的名 /mount ##為了讓iso映象檔案能夠被像檔案一樣被便利地讀取利用,將iso檔案掛載在一個空的檔案裡面


(在這裡被掛載的iso映象檔案是一個存在的yum倉庫,但是系統並不能讀取識別,我們通過修改yum倉庫指向檔案讓系統可以讀取到這個倉庫,被我們利用)

2.修改yum源指向檔案

mkdir /etc/backup      ##建立/etc 下的一個空資料夾用於備份原來的yum源讀取檔案 
mv /etc/yum.repos.d/* /etc/backup/    ##備份yum倉庫指定檔案
touch  /etc/yum.repos.d/myyum.repo 
cat > /etc/yum.repos.d/myyum.repo<<end      ##編寫自己的yum倉庫指向檔案(以repo結尾)當讀取yum源的時候系統查詢repo結尾檔案,讀取檔案內容,在相應的地方尋找資訊。
>[test] >name=myyumsource >baseurl=file:///mount >gpgcheck=0 ## 0表示不檢查rpm數字證書,1為檢查rpm數字證書 >end

3.重新整理測試

yum clean all ##清空本地/var/cache/yum容器清單列表舊資料。
yum repolist ##列出所有的可用的yum倉庫,執行這個命令,會重讀yum源設定志向檔案,重新整理本地容器清單列表。

現在看一下我們設定好的yum源倉庫集合

由上面我們可以看到我們的掛載已被成功讀取。

利用已經做好的iso-yum本地源安裝http 服務方便製作共享軟體源

yum install httpd


安裝http服務成功,現在我們啟動一下相關服務。
systemctl start httpd ##開啟http服務
systemctl enable httpd ##設定開機啟動http服務
systemctl stop firewalld ##關閉火牆服務方便下面的htpp服務的使用



第二種:利用iso映象檔案進行http共享yum源的製作

1.解掛載

umount /mount ##將掛載在/mount下的檔案解掛載將要掛載在http服務相關目錄下

2.重新掛載

mkdir /var/www/html/myshare ##在http服務的目錄下面建立一個掛載點(http服務可以預設的服務目錄)
mount /iso/iso檔名 /var/www/html/myshare


重新整理服務
systemctl restart httpd

3.瀏覽器測試

開啟瀏覽器,輸入設定的主機的ip地址後面加上掛載的檔案當看到檔案出現則成功了。

新增repo倉庫指向檔案,讓系統在尋找yum源的時候可以找到設定的http分享的yum源。

 touch  /etc/yum.repo.d/myshare.repo 
 cat > /etc/yum.repos.d/myshare.repo << end 
 >[share]
 >name=mysharesource
 >baseurl=http://172.25.6.10/myshare
 >gpgcheck=0
 >end


yum clean all
yum repolist 出現了錯誤

由於本文裡面我們本地yum源製作和http-yum分享源製作使用了同一個iso檔案所以我們解掛載了本地源掛載iso,執行yum repolist 命令yum源找不到我們在倉庫指向檔案裡面指定的原本掛載在/mount的內容。現在我們可以修改第一個檔案的查詢點,讓它找/var/www/html/myshare 掛載點。

yum repolist


這下本地的掛載也成功被讀取了,沒有出現報錯。

由於這僅僅是設定的臨時的掛載我們還可以設定開機自動掛載

cat  >> /etc/fstab << end
掛載檔案           掛載點      檔案型別  掛載引數 備份  檢測
/iso/***.iso  /var/www/html/myshare iso9660  ro  0 0 
end

利用rpm安裝包檔案進行自己的yum倉庫的製作

前面兩種是利用廠商釋出的iso映象檔案作為yum倉庫。當我們需要安裝一些第三方提供的軟體的時候我們需要到網上下載rpm的安裝包,但是每次都下載多麻煩,我們可以將較常使用的rpm安裝包歸到一個檔案裡面製作成一個可以被系統識別的yum倉庫,通過配置yum倉庫指向檔案可以將它設定成本地的yum源也可以是通過http釋出的共享yum源。

1.首先下幾個rpm包放在一個資料夾裡面。

2.生成符合要求的yum倉庫

執行createrepo /software ##將放置rpm安裝包的資料夾創造成一個倉庫檔案,資料夾裡面會多出一個repodata倉庫資料資料夾。

可以看到多了一個repodata的倉庫資料檔案,此時建立庫成功。


其實在iso的掛載點可以看到它也有一個repodata的檔案,這個標誌性的資料夾標誌著這個資料夾具備成為yum源的可能。

接下來可以修改yum的倉庫檔案,製作本地yum源以及http釋出共享yum源。

一個自動執行指令碼

#!/bin/bash
###make a local yum source to install httpd service#####
#before start,copy the **.iso to a file i choose '/iso' #

mkdir /mount     #make a file use to mount the **.iso
mount /iso/rhel-server-7.0-x86_64-dvd.iso /mount #mount the **.iso to the mount file
mkdir /etc/backup   ##make a file to bak the *.repo file 
mv /etc/yum.repos.d/* /etc/backup/   #move the *.repo file to the backfile
yum clean all  ##to refesh

######add the yum.repo file to add the yum source##
cat > /etc/yum.repos.d/yum.repo << end
>[test]
>name=myyum
>baseurl=file:///mount
>gpgcheck=0
>end

yum clean all   ## to refresh
yum repolist   ##to see whether the yum-repo-setting is working

### above, the local yum-source is ok! now use the local yum-source we create to down httpd server. setting the httpd server to share the local-iso-source with http###


######install http server###
yum install httpd -y    ##install the httpd server
systemctl start httpd   ##start the httpd server 
systemctl enable httpd  ##set start httpd server every time start the sys
systemctl stop firewalld 
systemctl disable firewalld 


###setting http server let the httpd server can find our iso source
umount /mount   #unmount the **iso file inorder to let it mount under the http sserver
yum clean all
yum repolist
mkdir /var/www/html/myshare  ##make a file in http server-file to let it find the iso-source
mount /iso/rhel-server-7.0-x86_64-dvd.iso /var/www/html/myshare   ##mount the iso-source to the http server

systemctl restart httpd

###now because we unmount the /mount that we set local-source to mount the http server so we can not use localyum###
###to modify the local-yum-source to let it share the source with http server###

cat > /etc/yum.repos.d/yum.repo << end
>[test]
>name=myyum
>baseurl=http://172.25.6.11/myshare
>gpgcheck=0
>end

yum clean all
yum repolist


#####set automount when start the system######
cat  >> /etc/fstab << end
>/iso/rhel-server-7.0-x86_64-dvd.iso  /var/www/html/myshare  iso9660 ro 0 0 
>end

all