1. 程式人生 > >Liunx(centos8)下的yum的基本用法和例項

Liunx(centos8)下的yum的基本用法和例項

yum 命令

Yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟體包管理器。基於RPM包管理,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。

 

yum 語法

yum [options] [command] [package ...]
  • options:可選,選項包括-h(幫助),-y(當安裝過程提示選擇全部為"yes"),-q(不顯示安裝的過程)等等。
  • command:要進行的操作。
  • package操作的物件。

 

選項

-h:顯示幫助資訊;
-y:對所有的提問都回答“yes”;
-c:指定配置檔案;
-q:安靜模式;
-v:詳細模式;
-d:設定除錯等級(0-10);
-e:設定錯誤等級(0-10);
-R:設定yum處理一個命令的最大等待時間;
-C:完全從快取中執行,而不去下載或者更新任何標頭檔案。

引數

#常的命令
install:安裝rpm軟體包; update:更新rpm軟體包; check-update:檢查是否有可用的更新rpm軟體包; remove:刪除指定的rpm軟體包; list:顯示軟體包的資訊; search:檢查軟體包的資訊; info:顯示指定的rpm軟體包的描述資訊和概要資訊; clean:清理yum過期的快取; shell:進入yum的shell提示符; resolvedep:顯示rpm軟體包的依賴關係; localinstall:安裝本地的rpm軟體包; localupdate:顯示本地rpm軟體包進行更新; deplist:顯示rpm軟體包的所有依賴關係。 alias 列出或建立命令別名 autoremove 刪除所有原先因為依賴關係安裝的不需要的軟體包 check 在包資料庫中尋找問題 check-update 檢查是否有軟體包升級 clean 刪除已快取的資料 deplist 列出軟體包的依賴關係和提供這些軟體包的源 distro-sync 同步已經安裝的軟體包到最新可用版本 downgrade 降級包 group 顯示或使用組資訊 help 顯示一個有幫助的用法資訊 history 顯示或使用事務歷史 info 顯示關於軟體包或軟體包組的詳細資訊 install 向系統中安裝一個或多個軟體包 list 列出一個或一組軟體包 makecache 建立元資料快取 mark 在已安裝的軟體包中標記或者取消標記由使用者安裝 的軟體包。 module 與模組互動。 provides 查詢提供指定內容的軟體包 reinstall 重灌一個包 remove 從系統中移除一個或多個軟體包 repolist 顯示已配置的軟體倉庫 repoquery 搜尋匹配關鍵字的軟體包 repository-packages 對指定倉庫中的所有軟體包執行命令 search 在軟體包詳細資訊中搜索指定字串 shell 執行互動式的DNF終端 swap 執行互動式的 DNF 終端以刪除或者安裝 spec 描述檔案 updateinfo 顯示軟體包的參考建議 upgrade 升級系統中的一個或多個軟體包 upgrade-minimal 升級,但只有“最新”的軟體包已修復可能影響你 的系統的問題 外掛命令列表: builddep Install build dependencies for package or spec file changelog 檢視軟體包的改變日誌資料 config-manager 管理 dnf 配置選項和軟體倉庫 copr 與 Copr 倉庫互動 debug-dump 轉儲已安裝的 RPM 軟體包資訊至檔案 debug-restore 恢復除錯用轉儲檔案中的軟體包記錄 debuginfo-install 安裝除錯資訊軟體包 download 下載軟體包至當前目錄 needs-restarting 判斷所升級的二進位制檔案是否需要重啟 playground 與 Playground 倉庫互動。 repoclosure 顯示倉庫中未被解決的依賴關係的列表 repodiff 列出兩組倉庫中的不同 repograph 以點線圖方式輸出完整的軟體包依賴關係圖 repomanage 管理 RPM 軟體包目錄 reposync 下載遠端倉庫中的全部軟體包

 

 

安裝

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

更新和升級

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

查詢和顯示

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

刪除程式

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 clean all #清除全部快取目錄

 

Linux配置yum源

 

 

國內yum源:

 

  阿里:http://mirrors.aliyun.com

 

  網易:http://mirrors.163.com

 

  中科大:http://mirrors.ustc.edu.cn/

 

檢視yum源配置

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

 

 

 

 

 

 

 

 

[base]           #倉庫名稱
name=            #倉庫描述
mirrorlist=      #倉庫映象路徑
baseurl=         #倉庫url路徑
enabled=         #倉庫是否啟用,1表示啟用,0表示關閉
gpgcheck=1       #金鑰檢測,1表示開啟,0表示關閉
gpgkey=          #檢查key的地址,如果上面不檢查,這個可以不寫

 

 

 

 

 

 

 

1、yum源配置(網路):

  1.1先備份原有的yum源:

[root@alliancehacker ~]# mkdir -p /root/back
[root@alliancehacker ~]# mv /etc/yum.repos.d/CentOS-Base.repo  /root/back/CentOS-Base.repo.back

1.2下載新的yum源(阿里):

// 因為我這是centos8,源就選擇了Centos-8.repo
[root@alliancehacker ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo

 

 

1.3清除原有yum快取:

[root@localhost ~]# yum clean all

1.4生成新的快取:

[root@localhost ~]# yum makecache

1.5新增多個網路源:

#在 /etc/yum.repo.d 中有幾個資料夾,每個資料夾就是一個源的配置檔案。#例如:
#(一)local.repo(本地源,名字隨意取)
[local]
name=local
baseurl=file:///mnt/cdrom
gpgcheck=0
enabled=1
#(二)163.repo(163的源)
[163]
name=163
baseurl=http://mirrors.163.com/centos/7.5.1804/os/x86_64/
gpgcheck=0
enabled=1
#這裡要注意的是,baseurl這一項,你要到http://mirrors.163.com/centos這裡,去找到你對應的redhat版本的目錄,然後點os、再點x86_64(一般都有),然後用你位址列上顯示的網址替換上面的baseurl就行了,儲存退出。

 

1.6命令補充

希望下面的資訊,可回答你的問題:
1. 查詢當前repo(全部、啟用的、禁用的)

yum repolist [all|enabled|disabled]

 

安裝軟體,並指定你不要使用的repo

yum –-disablerepo=repository-name install nagios

 

從設定為禁用(enabled=0)的repo中,安裝軟體

yum --enablerepo=epel install nagios

 

在某1個repo設定中,指定你要排除的軟體包名稱

exclude=nagios

 

如果多個repo中,某1個軟體有多個版本存在, 可在安裝時候,指定版本

yum install httpd-2.4.6-6

 

 

 2、yum源配置(本地):

2.1下載ISO檔案

從CentOS的官網下載CentOS的完整版iso檔案,並上傳到Linux檔案系統中,例如/opt/tools/。

2.2為ISO建立一個掛載目錄

1 mkdir /mnt/vcdrom

2.3將ISO檔案掛載到掛載目錄

mount -o loop -t iso9660 /opt/tools/CentOS-7-x86_64-bin-DVD1.iso /mnt/vcdrom

 

2.4移除或備份原yum源Centos-Base.repo檔案

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.back

 

2.5配置Centos-Media.repo檔案

[root@localhost ~]# cat /etc/yum.repos.d/CentOS-Media.repo 
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/vcdrom/           #將baseurl修改為DVD的掛載目錄
gpgcheck=0                            #關閉金鑰檢測
enabled=1                             #啟用倉庫
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

 

2.6清除原有yum快取:

[root@localhost ~]# yum clean all

 

2.7生成新的快取:

[root@localhost ~]# yum makecache

 

2.8編寫指令碼開機自動掛載映象

[root@localhost ~]#vim /opt/shell/mymount.sh
#!/bin/bash
#
mount -o loop -t iso9660 /opt/tools/CentOS-6.7-x86_64-bin-DVD1.iso /mnt/vcdrom

 

2.9修改指令碼許可權:

[root@localhost ~]#chmod 777 /opt/shell/mymount.sh

2.10修改/etc/rc.local配置檔案,在檔案最後一行加上 /opt/shell/mymount.sh

[root@localhost ~]#vim /etc/rc.local
/opt/shell/mymount.sh

2.11重啟伺服器測試:

[root@localhost ~]# reboot

 

 

例項1:使用yum安裝php7

 

參考:php7.3安裝@centos7

https://www.itgeeker.net/php7-3-yum-install-on-centos-7/

 

https://dl.fedoraproject.org/pub/epel/
http://rpms.remirepo.net/enterprise
自己上這個網址上找到自己的版本,然後替換就行了,可能有的源會失效的,到時自己找一下可用的吧
#新增幾個源,不然會報錯
#php高版本的yum源地址,有兩部分,其中一部分是epel-release,另外一部分來自webtatic。如果跳過epel-release的話,安裝webtatic的時候
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-8.rpm

 

 

 

 安裝你想要的擴充套件

yum --enablerepo=remi install php73-php php73-php-pear php73-php-bcmath php73-php-pecl-jsond-devel php73-php-mysqlnd php73-php-gd php73-php-common php73-php-fpm php73-php-intl php73-php-cli php73-php php73-php-xml php73-php-opcache php73-php-pecl-apcu php73-php-pdo php73-php-gmp php73-php-process php73-php-pecl-imagick php73-php-devel php73-php-mbstring php73-php-zip php73-php-ldap php73-php-imap php73-php-pecl-mcrypt

 

 執行並檢視版本, 重啟命令, 新增自動啟動,連結php檔案

# The current PHP memory limit is below the recommended value of 512MB.
vi /etc/opt/remi/php73/php.ini
memory_limit = 512M

#如果你執行的是nginx而不是apache,修改
vi /etc/opt/remi/php73/php-fpm.d/www.conf
user = apache
group = apache
# Replace the values with
user = nginx
group = nginx

 

解除安裝所有php7.3

 

yum remove php73-php*