yum軟件管理使用詳解

  • yum介紹

  • yum客戶端的使用

    • 配置文件項作說明:

    • 案例repo配置文件。

    • 創建yum源命令(yum-config-manager)

  • yum list相關命令

  • yum安裝

  • yum更新和升級

  • yum查找和顯示

  • yum刪除程序

  • 查看倉庫

  • 實戰演練本地yum倉庫(光盤)

  • YUM內置變量

  • 創建YUM倉庫(http)

yum介紹

yum命令是在Fedora和RedHat以及SUSE中基于rpm的軟件包管理器,它可以使系統管理人員交互和自動化地更細與管理RPM軟件包,能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。

yum提供了查找、安裝、刪除某一個、一組甚至全部軟件包的命令,而且命令簡潔而又好記。

yum客戶端的使用

YUM的配置方式是基于分段配置的,yum 客戶端配置文件:

/etc/yum.conf :為所有倉庫提供公共配置
/etc/yum.repos.d/*.repo :為倉庫的指向提供配置

配置文件項作說明:

[ ... ]:        //倉庫的名稱。不能重復。
name:           //對倉庫的描述,該項必須有。
baseurl:        //配置倉庫的路徑。用于指定一個url。
mirrorlist:     //指向一個鏡像列表,里面有多個url。
enabled:        //是否啟用當前倉庫。值為1或0,默認為1。
gpgcheck:       //是否需要gpg校驗。值為1或0,默認為1。
gpgkey:         //驗證RPM包的密鑰文件路徑。該文件可以在遠處服務器上,也可以在本地。
cost:           //代價,其本質是倉庫優先級的配置。值越低,表示訪問的代價越低,也即優先使用。

案例repo配置文件。

[base]
name=CentOS 6.4 x86_64
baseurl=http://172.16.0.1/cobbler/ks_mirror/centos-6.4-x86_64/
enabled=1
gpgcheck=0

創建yum源命令(yum-config-manager)

生成172.16.0.1_cobbler_ks_mirror_CentOS-X-x86_64_.repo

yum-config-manager --add-repo=http://172.16.0.1/cobbler/ks_mirror/CentOS-X-x86_64/
yum-config-manager --disable “ 倉庫名" 禁用倉庫
yum-config-manager --enable “ 倉庫名”  啟用倉庫

yum list相關命令

獲取yum倉庫中所有的包信息。

命令:yum list all

結果說明:

第一列:軟件包名稱.平臺名稱。 
第二列:軟件版本號-release號。 
第三列:安裝情況。

若顯示@則表示該軟件已經通過倉庫安裝。如@anaconda-CentOS-201303020151.x86_64/6.4 表示已經通過naconda-CentOS-201303020151.x86_64/6.4倉庫安裝。 
install,則表示系統已經安裝,未通過倉庫安裝。 
若無@或不是install,則表示尚未安裝。如base,表示未安裝,包位于base倉庫中。updates,表示未安裝,包位于updates倉庫中。

yum安裝

yum install #全部安裝 
yum install package1 #安裝指定的安裝包package1
yum groupinsall group1 #安裝程序組group1

yum更新和升級

yum update #全部更新 
yum update package1 #更新指定程序包package1
yum check-update #檢查可更新的程序
yum upgrade package1 #升級指定程序包package1
yum groupupdate group1 #升級程序組group1

yum查找和顯示

yum info package1 #顯示安裝包信息package1 
yum list #顯示所有已經安裝和可以安裝的程序包
yum list package1 #顯示指定程序包安裝情況package1
yum groupinfo group1 #顯示程序組group1信息
yum search string 根據關鍵字string查找安裝包

yum刪除程序

yum remove | erase package1 #刪除程序包package1 
yum groupremove group1 #刪除程序組group1
yum deplist package1 #查看程序package1依賴情況 清除緩存
yum clean packages #清除緩存目錄下的軟件包
yum clean headers #清除緩存目錄下的 headers
yum clean oldheaders #清除緩存目錄下舊的 headers

查看倉庫

查看當前能夠使用的yum倉庫

命令:yun repo list

顯示所有倉庫

命令:yum repo list all

顯示禁用的倉庫

命令:yum repo list enabled

顯示啟用的倉庫

命令:yum repo list disabled

實戰演練本地yum倉庫(光盤)

yum倉庫又稱為yum源,yum倉庫一般會支持ftp協議(ftp://),http協議(http://),文件協議(file://)。

本地的YUM倉庫

使用系統安裝盤當作YUM倉庫。對于RHEL系列的Linux,其安裝光盤就是一個yum倉庫。掛在上光盤,將yum客戶端的倉庫指向光盤路徑。

1、掛載光盤

Host:BJ_Web_IP:252.97 User:root Dir:~$ >>mount /dev/cdrom /mnt/

2、移動etc/yum.repos.d目錄所有的repo文件

Host:BJ_Web_IP:252.97 User:root Dir:/etc/yum.repos.d$ >>mv * old

3、創建新文件dvd.repo

Host:BJ_Web_IP:252.97 User:root Dir:/etc/yum.repos.d$ >>vim dvd.repo

4、加入以下內容:

[dvd]
name=install dvd
baseurl=file:///mnt
enabled=1
gpgcheck=0

5、刷新 repos 生成緩存

Host:BJ_Web_IP:252.97 User:root Dir:/etc/yum.repos.d$ >>yum makecache

然后就可以使用yum命令安裝你所需要的軟件包了

YUM內置變量

yum內置變量是關于操作系統、CPU平臺的一些信息??捎糜趧討B的配置yum路徑。

Alt text 
說明: 
$releasever:當前操作系統的主版本號。若CentOS6.4 該值為6。 
$arch:當前平臺版本架構。x86_64 或 i386/i586/i686。 
$basearch:當前平臺的基本架構。x86_64 或 i386。 
$YUM0-9:這十個變量分別被 shell 環境中的同名變量的值所替代。如果 /etc/yum.conf 文件中設置了這些變量,而 shell 環境中沒有同名變量,它的值則不被代替。

創建YUM倉庫(http)

創建基于HTTP訪問的yum倉庫 
搭建Web服務器,讓瀏覽器能訪問到相應的yum倉庫目錄,即可通過HTTP訪問yum倉庫。 
使用createrepo命令創建YUM倉庫。該命令系統中默認是沒有的??梢允褂胷pm或yum安裝上該命令。

[root@localhost ~]# mkdir -p /var/www/html/yum_repo/my/Packages  
[root@localhost ~]# cp /mnt/Packages/* /var/www/html/yum_repo/my/Packages/;  
[root@localhost ~]# cd /var/www/html/yum_repo/my/Packages
[root@localhost Packages]# createrepo .  
[root@localhost Packages]# /etc/init.d/httpd start  

該命令會在指定目錄中生成repodata目錄。該目錄中是所有RPM包的信息文件,及其依賴關系的信息文件。以xml文檔和sqllite數據庫文件的形式存儲。

[root@localhost Packages]# cd repodata/
[root@localhost repodata]# ls
0bbdfd6e17cfa0c748811b501d8561a7da1035277ddd6810dc05d5b89167961e-other.sqlite.bz2
377ca12437cb6e66b02b5329f7b41b59dbe178525a491890b2b49605c73ddfd5-filelists.xml.gz
669fda84c4c170d0fa0b974f5fae3d2e65b47892d7aca1cc3362dca0881ad6ff-filelists.sqlite.bz2
8ecfdeda2f598228c77ad7cf2323c2d91f406f55c4eaea6dfa717aa2f97965d3-primary.xml.gz
8f16e9af726dd61d7c991eff8cc19167f5c30821ae0048699fa6797eb2cc56ed-other.xml.gz
a7d3fe72ec1f0670ae7f01f10f05a8b97777b3c29e39988d89a78e959f47384b-primary.sqlite.bz2
repomd.xml

在測試機器上創建新文件/etc/yum.repos.d/my.repo,內容如下

[my]  
name=my  
baseurl=http://<repos_host>/yum_repos/my/Packages  
enabled=1  
gpgcheck=0  
priority=1
//其中 <repos_host> 是 YUM 源的機器名或IP地址。

更新本地 YUM 緩存

[root@localhost ~]# yum clean all  
[root@localhost ~]# yum makecache

如果以后有新包加入需要重新更新yum庫

cd /var/www/html/yum_repo/my/Packages  
createrepo .

在客戶端更新

yum clean all  
yum makecache  

原創文章,作者:M20_he,如若轉載,請注明出處:http://www.www58058.com/43843

(0)
M20_heM20_he
上一篇 2016-09-05
下一篇 2016-09-06

相關推薦

  • 文件查找

        Linux上的所有資源都以文件的形式存在,如果是手工查找的話,勢必會浪費太多的時間,這里推薦倆款大家用于查找的工具。 文件查找    文件查找經常用到的倆款軟件,locate和find    二者區別 locate:1) 非實時查找;    &nbsp…

    Linux干貨 2016-08-18
  • 第一周作業

    1、描述計算機的組成及其功能。
    2、按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別。
    3、描述Linux的哲學思想,并按照自己的理解對其進行解釋性描述。
    4、說明Linux系統上命令的使用格式;詳細介紹ifconfig、echou、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相應的示例來闡述。
    5、如何在Linux系統上獲取命令的幫助信息,請詳細列出,并描述man文檔的章節是如何劃分的。
    6、請羅列Linux發行版的基礎目錄名稱命名法則及共用規定。

    Linux干貨 2017-12-03
  • 使用yum源碼編譯安裝程序

    需要的安裝包:httpd-2.2.29.tar.bz2 1、安裝develpment tools     yum groupinstall "Development Tools" 2、下載服務器中的http源安裝包到本地,然后解壓到指定文件夾中 lftp 10.1.0.1:/pub/Sources/…

    Linux干貨 2016-08-24
  • 文件的權限小結

    主要是setfacl 和chown的總結

    Linux干貨 2017-11-27
  • linux文件系統上的權限

    文件系統上的權限是指文件系統上的文件和目錄的權限,主要針對三類對象進行的(訪問者)進行的定義: 針對文件來說 r 使用工具cat nano去看文件里面內容的權限 w 可以修改文件的內容 x 二進制程序以及腳本需要發起系統調用,去啟動為一個進程 針對目錄來說 r 是否可以查看目錄里面的內容 有r權限的話 可以使用ls -l w 對目錄里面是否可以創建文件或者目…

    Linux干貨 2017-04-01
  • 馬哥教育網絡班22期+第5周課程練習

    1、顯示當前系統上root、fedora或user1用戶的默認shell;     cat /etc/passwd | grep -E '^(root|fedora|user1)\>' | awk -F …

    Linux干貨 2016-10-17
欧美性久久久久