2021-05-12 14:32:11
Linux基礎教學 - Linux yum 命令
yum( Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟體包管理器。
基於RPM包管理,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。
yum提供了查詢、安裝、刪除某一個、一組甚至全部軟體包的命令,而且命令簡潔而又好記。
yum 語法
yum [options][command][package...]
- options:可選,選項包括-h(幫助),-y(當安裝過程提示選擇全部為"yes"),-q(不顯示安裝的過程)等等。
- command:要進行的操作。
- package操作的物件。
yum常用命令
- 1.列出所有可更新的軟體清單命令:yum check-update
- 2.更新所有軟體命令:yum update
- 3.僅安裝指定的軟體命令:yum install <package_name>
- 4.僅更新指定的軟體命令:yum update <package_name>
- 5.列出所有可安裝的軟體清單命令:yum list
- 6.刪除軟體包命令:yum remove <package_name>
- 7.查詢軟體包 命令:yum search <keyword>
- 8.清除快取命令:
- yum clean packages: 清除快取目錄下的軟體包
- yum clean headers: 清除快取目錄下的 headers
- yum clean oldheaders: 清除快取目錄下舊的 headers
- yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除快取目錄下的軟體包及舊的headers
範例 1
安裝 pam-devel
[root@www ~]# yum install pam-devel Setting up InstallProcessParsingpackage install arguments ResolvingDependencies<==先檢查軟體的屬性相依問題-->Running transaction check --->Package pam-devel.i386 0:0.99.6.2-4.el5set to be updated -->ProcessingDependency: pam =0.99.6.2-4.el5forpackage: pam-devel -->Running transaction check --->Package pam.i386 0:0.99.6.2-4.el5set to be updated filelists.xml.gz 100%|=========================|1.6 MB 00:05 filelists.xml.gz 100%|=========================|138 kB 00:00->FinishedDependencyResolution……(省略)
範例 2
移除 pam-devel
[root@www ~]# yum remove pam-devel Setting up RemoveProcessResolvingDependencies<==同樣的,先解決屬性相依的問題-->Running transaction check --->Package pam-devel.i386 0:0.99.6.2-4.el5set to be erased -->FinishedDependencyResolutionDependenciesResolved=============================================================================PackageArchVersionRepositorySize=============================================================================Removing: pam-devel i386 0.99.6.2-4.el5 installed 495 k TransactionSummary=============================================================================Install0Package(s)Update0Package(s)Remove1Package(s)<==還好,並沒有屬性相依的問題,單純移除一個軟體Isthis ok [y/N]: y DownloadingPackages:Running rpm_check_debug RunningTransactionTestFinishedTransactionTestTransactionTestSucceededRunningTransactionErasing: pam-devel ######################### [1/1]Removed: pam-devel.i386 0:0.99.6.2-4.el5Complete!
範例 3
利用 yum 的功能,找出以 pam 為開頭的軟體名稱有哪些?
[root@www ~]# yum list pam*InstalledPackages pam.i386 0.99.6.2-3.27.el5 installed pam_ccreds.i386 3-5 installed pam_krb5.i386 2.2.14-1 installed pam_passwdqc.i386 1.0.2-1.2.2 installed pam_pkcs11.i386 0.5.3-23 installed pam_smb.i386 1.1.7-7.2.1 installed AvailablePackages<==底下則是『可升級』的或『未安裝』的 pam.i386 0.99.6.2-4.el5base pam-devel.i386 0.99.6.2-4.el5base pam_krb5.i386 2.2.14-10base
國內 yum 源
網易(163)yum源是國內最好的yum源之一 ,無論是速度還是軟體版本,都非常的不錯。
將yum源設定為163 yum,可以提升軟體包安裝和更新的速度,同時避免一些常見軟體版本無法找到。
安裝步驟
首先備份/etc/yum.repos.d/CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
下載對應版本 repo 檔案, 放入 /etc/yum.repos.d/ (操作前請做好相應備份)
- CentOS5 :http://mirrors.163.com/.help/CentOS5-Base-163.repo
- CentOS6 :http://mirrors.163.com/.help/CentOS6-Base-163.repo
- CentOS7 :http://mirrors.163.com/.help/CentOS7-Base-163.repo
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo mv CentOS6-Base-163.repoCentOS-Base.repo
執行以下命令生成快取
yum clean all
yum makecache
除了網易之外,國內還有其他不錯的 yum 源,比如中科大和搜狐。
中科大的 yum 源,安裝方法檢視:https://lug.ustc.edu.cn/wiki/mirrors/help/centos
sohu 的 yum 源安裝方法檢視: http://mirrors.sohu.com/help/centos.html
設定本地Yum倉庫
實現此案例需要按照如下步驟進行。
步驟一:搭建一個本地Yum,將RHEL6光碟手動掛載到/media
命令操作如下所示:
[root@localhost ~]# mount /dev/cdrom /media/ mount: block device /dev/sr0 is write-protected, mounting read-only [root@localhost ~]# mount | tail -1/dev/sr0 on /media type iso9660 (ro)
步驟二:將本地設定為用戶端,進行Yum驗證
Yum用戶端需編輯組態檔,命令操作如下所示:
[root@localhost ~]# cd /etc/yum.repos.d///必須在這個路徑下[root@localhost yum.repos.d]# ls //此路徑下事先有組態檔的模板 rhel-source.repo [root@localhost yum.repos.d]# cp rhel-source.repo rhel6.repo //組態檔必須以.repo結尾[root@localhost yum.repos.d]# vim rhel6.repo [rhel-6]//中括號裡內容要求唯一,但不要出現特殊字元 name=RedHatEnterpriseLinux6//此為描述資訊,可以看情況填寫 baseurl=file:///media/ //此項為yum軟體倉庫位置,指向光碟掛載點 enabled=1//此項為是否開啟,1為開啟0為不開啟 gpgcheck=1//此項為是否檢查簽名,1為監測0為不檢測 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release //簽名認證資訊的路徑[root@localhost /]# yum repolist Loaded plugins: product-id, refresh-packagekit, security, subscription-manager This system isnot registered to RedHatSubscriptionManagement.You can use subscription-manager to register. rhel-6|3.9 kB 00:00... rhel-6/primary_db |3.1 MB 00:00... repo id repo name status rhel-6RedHatEnterpriseLinux63,690 repolist:3,690
對於 Linux 軟體安裝時提示缺失庫的,可以使用 yum 的 provides 引數檢視 libstdc++.so.6 的庫檔案包含在那個安裝包中只需要執行:
yum provides libstdc++.so.6
然後按查詢到安裝包包名,使用 yum install 安裝即可。
相關文章