個人站長做哪些網(wǎng)站好開封網(wǎng)絡(luò)推廣哪家好
運(yùn)維人員不僅要熟悉操作系統(tǒng)、服務(wù)器、網(wǎng)絡(luò)等只是,甚至對于開發(fā)相關(guān)的也要有所了解。很多運(yùn)維工作者可能一時半會記不住那么多命令、代碼、方法、原理或者用法等等。這里我將結(jié)合自身工作,持續(xù)給大家更新運(yùn)維工作所需要接觸到的知識點(diǎn),希望大家喜歡。
今天我們要講的是?Yum。
一、簡介
YUM 是 Yellow dog Updater, Modified 的簡稱,是杜克大學(xué)為了提高 RPM 軟件包安裝性而開發(fā)的一種軟件包管理器。它是基于RPM包管理,能夠從指定的服務(wù)器自動下載RPM包并且安裝,可以自動處理依賴性關(guān)系,并且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。YUM 的宗旨是自動化地升級,安裝/移除RPM包,收集 RPM 包的相關(guān)信息,檢查依賴性并自動提示用戶解決。YUM ?的關(guān)鍵之處是要有可靠的軟件倉庫,它可以是 http 或 ftp 站點(diǎn),也可以是本地軟件池,但必須包含 RPM 的header,header 包括了RPM 包的各種信息,包括描述,功能,提供的文件,依賴性等。?
基本語法:
$ yum [options] [command] [package ...]
二、YUM 源
對于 YUM 來說最重要的就是YUM源,查看配置目錄后,你會發(fā)現(xiàn)/etc/yum.repos.d目錄下有非常多以.repo結(jié)尾的源文件,每個源文件都代表著一份設(shè)置,你可以編輯/etc/yum.repos.d/目錄下所有的.repo文件,同時一個源文件里面可以填寫多個源地址。一般官方的源文件CentOS-Base.repo下有[base], [updates], [extras]三個源。
YUM源配置字段說明:
- [base] #倉庫名稱
- name= #倉庫描述
- mirrorlist= #倉庫鏡像路徑
- baseurl= #倉庫url路徑
- enabled= #倉庫是否啟用,1表示啟用,0表示關(guān)閉
- gpgcheck=1 #密鑰檢測,1表示開啟,0表示關(guān)閉
- gpgkey= #檢查key的地址,如果上面不檢查,這個可以不寫
下面介紹幾種常用的源和設(shè)置辦法。
2.1. 官方源
這個就不多說了,以CentOS為例,如果安裝了CentOS的發(fā)行版,那么自帶的源應(yīng)該就是官方的,但源是國外的,一般不推薦使用。
[BaseOS]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=BaseOS&infra=$infra
#baseurl=http://mirror.centos.org/$contentdir/$releasever/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
2.2. 阿里云源
阿里云是比較推薦的,云服務(wù)業(yè)務(wù)比較大,源鏡像比較穩(wěn)定可靠,推薦使用。
配置方法:
# 1. 備份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup# 2. 下載新的 CentOS-Base.repo 到 /etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo# 3. 清除緩存
yum clean all# 4. 生成緩存
yum makecache# 5. 查看生效后的源地址
yum repolist
2.3. 騰訊云源
?配置步驟與阿里云源一樣:
# 1. 備份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup# 2. 下載新的 CentOS-Base.repo 到 /etc/yum.repos.d/
centos6:
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.cloud.tencent.com/repo/centos6_base.repo
centos7:
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.tencent.com/repo/centos7_base.repo# 3. 清除并生成緩存
yum clean all && yum makecache# 4. 查看生效后的源地址
yum repolist
2.4. 其他源
其他國內(nèi)還有華為云、清華大學(xué)、網(wǎng)易等等優(yōu)質(zhì)YUM源,配置方法均一致。
華為云:wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
清華大學(xué):https://mirrors.tuna.tsinghua.edu.cn/help/centos/
網(wǎng)易:wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
注意:/etc/yum.repos.d/目錄下文件名后綴為.repo的文件都是源文件,里面對應(yīng)的源都需要設(shè)置,但最好不要添加太多源,把暫時不用的源通過enabled=0關(guān)閉,只留下一個EPEL第三方源,這樣可以減少軟件的沖突和軟件搜索的速度。
三、管理 YUM 存儲庫
$ yum repolist # 顯示啟用的軟件存儲庫
$ yum repoinfo rhel-7-server-rpms # 顯示有關(guān)啟用的 yum 存儲庫的信息
$ yum repo-pkgs my-rpms list # 列出來自 my-rpms 存儲庫的軟件包
$ yum repo-pkgs my-rpms install # 從 my-rpms repo 安裝所有軟件包
$ yum repo-pkgs my-rpms remove # 從 my-rpms 存儲庫中刪除所有軟件包
$ yum makecache # 下載 yum 存儲庫數(shù)據(jù)到緩存
四、使用 YUM 管理語言包
$ yum langavailable # 列出已安裝的語言
$ yum langinfo es # 列出與西班牙語相關(guān)的軟件包
$ yum langinstall es # 安裝與西班牙語相關(guān)的軟件包
$ yum langlist # 列出已安裝的語言
$ yum langremove es # 刪除與西班牙語相關(guān)的軟件包
五、使用 YUM 管理軟件包
5.1. 列出存儲庫中的包名稱
# 列出存儲庫中的包名稱
yum list available
# 列出所有可用的包
yum list installed
# 列出所有已安裝的包
yum list all
# 列出已安裝和可用的軟件包
yum list kernel
5.2.?列出已安裝和可用的內(nèi)核包
# 列出有關(guān) `vsftpd` 軟件包的信息
$ yum info vsftpd
5.3.?顯示包的依賴項(xiàng)
# 顯示包的依賴項(xiàng)
$ yum deplist nfs-utils
# 查找提供查詢文件的包
$ yum provides “*bin/top”
# 顯示包含 README.top 文件的包
$ yum provides “*/README.top”
5.4. 查找包
# 查找名稱或描述中帶有 samba 的軟件包
$ yum search samba
# 獲取有關(guān)可用軟件包更新的信息
$ yum updateinfo security
5.5.?使用 YUM 安裝、刪除和升級軟件包
# 安裝 vsftpd 包
$ yum install vsftpd# 使用可用更新更新所有軟件包
$ yum update
# 更新 httpd 包(如果可用)
$ yum update httpd
# 應(yīng)用與安全相關(guān)的包更新
$ yum update --security# 更新包考慮過時,只升級所有包,不升級軟件和系統(tǒng)內(nèi)核
$ yum -y upgrade# 從本地文件、http 或 ftp 安裝包
$ yum localinstall abc-1-1.i686.rpm
# 從本地目錄安裝 abc 包
$ yum localinstall http://myrepo/abc-1-1.i686.rpm# 將 abc 包降級到早期版本
$ yum downgrade abc# 重新安裝 util-linux(以替換任何已刪除的文件)
$ yum reinstall util-linux# 刪除 ftp 包并安裝 lftp 包
$ yum swap ftp lftp# 刪除 vsftpd 包和依賴
$ yum remove vsftpd# 刪除 httpd 和其他不需要的包
$ yum autoremove httpd# 安裝 Web 服務(wù)器包
$ yum groupinstall "Web server"
5.6.?從 repo 下載一個包到當(dāng)前目錄
# 使用本地源離線安裝 net-tools 工具包
$ yumdownloader net-tools.x86_64
# 使用 –destdir 參數(shù)設(shè)置下載的目標(biāo)目錄
$ yumdownloader net-tools.x86_64 --destdir=/usr/local/bin/
# 使用 –resolve 參數(shù)解決依賴關(guān)系并下載所需的安裝包
$ yumdownloader net-tools.x86_64 --resolve --destdir=/usr/local/bin/
六、YUM 故障排除和維護(hù)
# 檢查本地 RPM 數(shù)據(jù)庫是否有問題(運(yùn)行了很長時間)
$ yum check# 列出所有 yum 安裝、更新和清理操作
$ yum history list
# 顯示 yum info 3 的詳細(xì)信息
$ yum history info 3
# 撤消事務(wù) 3 中的 yum 操作
$ yum history undo 3
# 重做事務(wù) 3 中撤消的 yum 操作
$ yum history redo 3# 刪除緩存中保存的包
$ yum clean packages
# 從緩存中清除所有包和元數(shù)據(jù)
$ yum clean all# 列出啟用的文件系統(tǒng)過濾器
$ yum fs filters
# 過濾所有正在安裝的文檔(小心!)
$ yum fs documentation
官方網(wǎng)站:http://yum.baseurl.org/