yum使用與總結

 

yum使用與總結

 

1、yum是什麼

yum( Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器。

它基於RPM包管理,能夠從指定的服務器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。

yum提供了查找、安裝、刪除某一個、一組甚至全部軟件包的命令,而且命令簡潔而又好記。使用yum需要保持機器可以訪問Internet或者訪問自己構建的私有中心倉庫(repository)。它可以是http 或ftp 站點,也可以是本地軟件池。

yum 可以同時配置多個資源庫(Repository),簡潔的配置文件(/etc/yum.conf)。

 

yum 的配置文件分爲兩部分:main 和repository

main 部分定義了全局配置選項,整個yum 配置文件應該只有一個main。常位於/etc/yum.conf 中。

repository 部分定義了每個源/服務器的具體配置,可以有一到多個。常位於/etc/yum.repo.d 目錄下的各文件中。

 

2、yum配置文件詳解

2.1、/etc/yum.conf

yum.conf 文件一般位於/etc目錄下,一般其中只包含main部分的配置選項。

# cat /etc/yum.conf

[main]

cachedir=/var/cache/yum/$basearch/$releasever

//yum 緩存的目錄,yum 在此存儲下載的rpm 包和數據庫,默認路徑

keepcache=0 

//安裝完成後是否保留軟件包,0爲不保留(默認爲0),1爲保留

debuglevel=2

//Debug 信息輸出等級,範圍爲0-10,缺省爲2

logfile=/var/log/yum.log

//yum 日誌文件位置用戶可以到/var/log/yum.log 文件去查詢過去所做的更新。

exactarch=1

//有1和0兩個選項,設置爲1,則yum 只會安裝和系統架構匹配的軟件包,例如,yum 不會將i686的軟件包安裝在適合i386的系統中。默認爲1。

obsoletes=1

//這是一個update 的參數,具體請參閱yum(8),簡單的說就是相當於upgrade,允許更新陳舊的RPM包。

gpgcheck=1

// 有1和0兩個選擇,分別代表是否是否進行gpg(GNU Private Guard) 校驗,以確定rpm 包的來源是有效和安全的。

plugins=1

//是否啓用插件,默認1爲允許,0表示不允許。我們一般會用yum-fastestmirror這個插件。

installonly_limit=5

bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum

distroverpkg=centos-release

//指定一個軟件包,yum 會根據這個包判斷你的發行版本,默認是centos-release

,也可以是安裝的任何針對自己發行版的rpm 包。

2.2、repo

講repo之前,先說下linxu軟件包的構成,一般包括base、extras、updates、epel等軟件包。一般裝完系統就會配置幾個默認系統官方的yum 源,都是國外網站的,一般我們會使用國內的yun 源,比如163、阿里雲等。

獲取yun源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo

關於repo的格式:

cat /etc/yum.repos.d/CentOS-Base.repo

[base]

name=CentOS-$releasever - Base - 163.com

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os

baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/

enabled=1

gpgcheck=1

gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

 

說明:

CentOS-Base.repo :這個源文件的名字,這個根據實際的使用自己定義

[base]:repositry的名字,必須是獨一無二的,不能和其他源文件衝突

name :對於[base]的具體描述,這個可以根據具體使用描述

baseurl:這個是非常重要的一環,表明了repositry的地址,支持ftp協議,http協議和file協議;

enabled=0/1:只有兩個值,爲1時表示repositry可以獲取,0表示關閉

gpgcheck=0/1:有1和0兩個選擇,分別代表是否是否進行gpg校驗,如果沒有這一項,默認是檢查的

gpgkey=url:後面接的是gpgkey的地址,如果前面定義gpgcheck=1的話。

 

3、yum常用命令

 

# yum clean all               清除緩存目錄下的軟件包

# yum makecache                 更新緩存

# yum install xxx              安裝xxx軟件,軟件包安裝後默認緩存目錄會清理掉,如果要讓安裝軟件後不進行清理,可以把/etc/yum.cnf配置文件的keepcache設置爲1,默認軟件包就保存在緩存目錄底下了。

# yum install --downloadonly --downloaddir=/soft  java 下載某個軟件包及相關依賴到/soft目錄不進行安裝

# yum info xxx                 查看xxx軟件的信息

# yum remove xxx            刪除xxx軟件包

# yum list xxx                  列出xxx軟件包,如果有@就表示已經安裝該軟件包

# yum list                     列出yun源的所有軟件包,包括安裝與未安裝的。

# yum clean                     清除緩衝和就的包

# yum provides xxx              以xxx爲關鍵字搜索包(提供的信息爲關鍵字)

# yum search xxx              搜索軟件包 (注:在rpm包名,包描述等中搜索)

# yum groupupdate xxx       更新xxx軟件分組

# yum grouplist xxx

# yum groupremove xxx

# yum groupinfoinfo xxx

 

# yum update xxx   僅更新指定的軟件命令:

# yum update                  系統升級

# yum list available          列出所有升級源上的包;

# yum list updates            列出所有升級源上的可以更新包;

# yum list installed          列出已經安裝的包;

# yun update kernel           升級內核;

# yum history                 查看以前執行的yum命令

# yum history undo N          回滾yum history 中ID爲N的命令

# yum history redo N          重做yum history 中ID爲N的命令

 

4、構建私有yum倉庫

4.1、用光盤鏡像構建本地的yun倉庫

1. 掛載光盤

#mount /dev/cdrom /mnt

#cd /etc/yum.repos.d

#vim dvd.repo

 

2.製作本地yum

# vi  /etc/yum.repos.d/dvd.repo

[dvd]

enabled=1

name=dvd

baseurl=file:///mnt/

gpgcheck=0

#gpgkey = file:///mnt/RPM-GPG-KEY-redhat-release

 

3. 測試

#yum install vnc

 

​​​​​​​4.2、用ftp構建本地化yum倉庫

 

1、安裝vsftpd並啓動

# yum -y install vsftpd

# systemctl  start vsftpd

 

2、下載nginx並創建ftp目錄

# mkdir -p /var/ftp/nginx

#yum install --downloadonly --downloaddir=/var/ftp/nginx  nginx

 

3、安裝createrepo軟件包

# yum -y install createrepo

 

4、創建能夠讓yum識別的軟件包目錄倉庫

# cd /var/ftp/nginx

# createrepo -v ./

 

5、配置目標機器指向nginx yum倉庫的repo文件

# cd /etc/yum.repos.d

# vim nginx.repo

[nginx]

name=nginx

baseurl=ftp://127.0.0.1/nginx

gpgcheck=0

enabled=1

 

# yum -y clean all

# yum makecache

# yum install nginx

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章