配置本地和共享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