亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁 php教程 PHP開發(fā) YUM解決RPM包安裝依賴關(guān)系及yum工具介紹本地源配置方法詳解

YUM解決RPM包安裝依賴關(guān)系及yum工具介紹本地源配置方法詳解

Jan 07, 2017 pm 01:53 PM

1、背景概述

在實際生產(chǎn)環(huán)境下,對于在linux系統(tǒng)上安裝rpm包,主要面臨兩個實際的問題

1)安裝rpm包過程中,不斷涌現(xiàn)的依賴關(guān)系問題,導(dǎo)致需要按照提示或者查詢資料,手工安裝更多的包

2)由于內(nèi)外網(wǎng)的隔離,無法連接外網(wǎng)的yum源

鑒于上述因此,本文將詳細(xì)介紹,yum工具以及配置本地yum源的方法

2、yum工具簡介

?yum工具作為rpm包的軟件管理器,可以進(jìn)行rpm包的安裝、升級以及刪除等日常管理工作,而且對于rpm包之間的依賴關(guān)系可以自動分析,大大簡化了rpm包的維護(hù)成本。

?yum工具的配置,主要由兩個文件控制:/etc/yum.conf以及/etc/yum.repos.d/filename.repo ?關(guān)于/etc/yum.conf文件:主要承擔(dān)全局配置[main],此外也可以在此處配置軟件倉庫(repository)

?關(guān)于/etc/yum.repos.d/filename.repo:主要承擔(dān)具體軟件倉庫的配置(若上面yum.conf中配置了軟件倉庫,此處也可以選擇不配置),filename可自行定義。

3、/etc/yum.conf文件主要參數(shù)詳解

該文件主要負(fù)責(zé)全局配置,若不在此文件中進(jìn)行repository的配置,一般不需要進(jìn)行改動

下面是系統(tǒng)yum默認(rèn)的一份yum.conf配置,具體解釋如示:

[root@sunny yum.repos.d]# cat /etc/yum.conf 
[main] --main定義全局屬性,只能有一個 
cachedir=/var/cache/yum --定義yum緩存目錄,用于儲存下載存儲的rpm包等
keepcache=0 --成功安裝后,緩存數(shù)據(jù)是否保存。0:不保存,1:保存 
debuglevel=2 --調(diào)試級別(0-10),默認(rèn)為2
logfile=/var/log/yum.log --定義yum日志目錄
distroverpkg=redhat-release --通過指定針對系統(tǒng)發(fā)行版的rpm包,判斷當(dāng)前系統(tǒng)的版本。默認(rèn)值為redhat-release
tolerant=1 --定義是否容忍命令行發(fā)生與軟件包有關(guān)的錯誤。0:不容忍,1:容忍
exactarch=1 --定義當(dāng)更新rpm包時,yum是否僅僅升級當(dāng)前架構(gòu)的包。 --當(dāng)設(shè)置為1,不會發(fā)生i386包升級到i686
obsoletes=1
gpgcheck=1 --定義是否對rpm包進(jìn)行GPG校驗。0:不校驗,1:校驗
plugins=1 --定義是否使用插件。0:不允許,1:允許 
# Default.
# installonly_limit = 3
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

除上述的參數(shù)外,可能用到的主要參數(shù)還有:
exclude : 該參數(shù)主要用于屏蔽不想更新的RPM包,可使用通配符,多個RPM包之間使用空格分離。

4、/etc/yum.repos.d/filename.repo文件主要參數(shù)詳解

該文件主要負(fù)責(zé)具體軟件倉庫的配置,若在/etc/yum.conf文件中進(jìn)行了配置,可以選擇不配置。

下面是系統(tǒng)yum默認(rèn)的一份軟件倉庫的配置文件:

[root@sunny yum.repos.d]# cat rhel-debuginfo.repo 
[rhel-debuginfo]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

參數(shù)解釋如下:

[rhel-debuginfo]:用于區(qū)分不同的repository,在一個filename.repo文件中,可以定義一個或者多個repository

name:用于對repository的描述

baseurl:用于指定獲取rpm包的源位置,支持http://、ftp://、file://三種協(xié)議。

enabled:用于定義此軟件倉庫是否可用。0:不可用,1:可用

gpgcheck:定義是否對rpm包進(jìn)行GPG校驗。

gpgkey:用于定義校驗的gpg密鑰文件的位置。

5、常用命令介紹

以下是關(guān)于yum管理的常用命令

yum repolist : 查看可用的軟件倉庫信息

yum list rpm包 : 查看rpm包的安裝情況,支持通配符*,若為被安裝,顯示可用的軟件倉庫

yum list installed |grep rpm包: 查看rpm包是否被安裝

yum info rpm包 : 查看rpm包詳細(xì)信息

yum check-update : 檢查可用的rpm包更新

yum install rpm包 : 安裝rpm包,支持通配符*

yum remove rpm包 : 刪除rpm包

yum clean packages : 清除rpm包緩存

yum clean headers : 清除rpm頭文件緩存

yum clean all : 清除rpm頭文件以及包緩存

6、配置本地yum源的具體示例

本次示例使用的系統(tǒng)為redhat 5.8 64位,具體過程及說明如下:

--安裝gcc-c++包,提示因為依賴關(guān)系缺少包而無法安裝--若采用手工安裝,在安裝提示的rpm包過程中,可能還存在其他需要的依賴關(guān)系包[root@sunny Desktop]# rpm -ivh gcc-c++-4.1.2-52.el5.x86_64.rpm 
warning: gcc-c++-4.1.2-52.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
error: Failed dependencies:
gcc = 4.1.2-52.el5 is needed by gcc-c++-4.1.2-52.el5.x86_64
libstdc++-devel = 4.1.2-52.el5 is needed by gcc-c++-4.1.2-52.el5.x86_64
--下面開始通過配置本地源yum的方法從鏡像光盤安裝--查看文件系統(tǒng),此時未掛載cdrom
[root@sunny ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
16G 6.1G 8.7G 42% /
/dev/sda1 99M 13M 81M 14% /boot
tmpfs 1004M 0 1004M 0% /dev/shm
--創(chuàng)建cdrom的掛載點目錄--掛載點目錄名隨意,此處作者創(chuàng)建目錄名為cdrom的目錄作為掛載點
[root@sunny ~]# mkdir /cdrom
--掛載cdrom,并查看掛載情況
[root@sunny ~]# mount /dev/cdrom /cdrom
[root@sunny ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
16G 6.1G 8.7G 42% /
/dev/sda1 99M 13M 81M 14% /boot
tmpfs 1004M 0 1004M 0% /dev/shm
/dev/sr0 3.9G 3.9G 0 100% /cdrom
--進(jìn)入cdrom目錄,確定rpm包的位置--需要注意,rpm包所在的目錄絕對路徑將作為后面yum的url源路徑
[root@sunny Server]# pwd
/cdrom/Server
--創(chuàng)建filename.repo文件,此處作者定義filename.repo名為newyum.repo--需要注意,由于是baseurl以及gpgkey均是本地位置,因此采用file://協(xié)議--需要注意,file://后面是文件所在的絕對路徑,因此file://后面會以/開頭,因此是file:///(三個/)
[root@sunny yum.repos.d]# vi /etc/yum.repos.d/newyum.repo 
[redhatcdrom]
name=local resource 
baseurl=fill:///cdrom/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
--查詢此時可用的軟件倉庫,顯示剛剛配置的庫可用
[root@sunny yum.repos.d]# yum repolist
Loaded plugins: katello, product-id, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
redhatcdrom | 1.5 kB 00:00 
redhatcdrom/primary | 920 kB 00:00 
redhatcdrom 3285/3285
repo id repo name status
redhatcdrom local resource 3,285
repolist: 3,285
--利用yum安裝剛才的gcc-c++包--可以看到,安裝過程中,yum處理了依賴關(guān)系,并將相應(yīng)的包進(jìn)行了安裝
[root@sunny yum.repos.d]# yum install gcc-c++ -y
Loaded plugins: katello, product-id, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
redhatcdrom | 1.5 kB 00:00 
redhatcdrom/primary | 920 kB 00:00 
redhatcdrom 3285/3285
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package gcc-c++.x86_64 0:4.1.2-52.el5 set to be updated
--> Processing Dependency: libstdc++-devel = 4.1.2-52.el5 for package: gcc-c++
--> Processing Dependency: gcc = 4.1.2-52.el5 for package: gcc-c++
--> Running transaction check
---> Package gcc.x86_64 0:4.1.2-52.el5 set to be updated
--> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc
---> Package libstdc++-devel.x86_64 0:4.1.2-52.el5 set to be updated
redhatcdrom/filelists | 2.8 MB 00:00 
--> Running transaction check
---> Package glibc-devel.x86_64 0:2.5-81 set to be updated
--> Processing Dependency: glibc-headers = 2.5-81 for package: glibc-devel
--> Processing Dependency: glibc-headers for package: glibc-devel
--> Running transaction check
---> Package glibc-headers.x86_64 0:2.5-81 set to be updated
--> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers
--> Processing Dependency: kernel-headers for package: glibc-headers
--> Running transaction check
---> Package kernel-headers.x86_64 0:2.6.18-308.el5 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
======================================================================================
Package Arch Version Repository Size
======================================================================================
Installing:
gcc-c++ x86_64 4.1.2-52.el5 redhatcdrom 3.8 M
Installing for dependencies:
gcc x86_64 4.1.2-52.el5 redhatcdrom 5.3 M
glibc-devel x86_64 2.5-81 redhatcdrom 2.4 M
glibc-headers x86_64 2.5-81 redhatcdrom 596 k
kernel-headers x86_64 2.6.18-308.el5 redhatcdrom 1.4 M
libstdc++-devel x86_64 4.1.2-52.el5 redhatcdrom 2.8 M
Transaction Summary
======================================================================================
Install 6 Package(s)
Upgrade 0 Package(s)
Total download size: 16 M
Is this ok [y/N]: 
Exiting on user Command
Complete!
--查詢安裝結(jié)果,確定安裝完成。
[root@sunny yum.repos.d]# yum list gcc-c*
Loaded plugins: katello, product-id, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
Installed Packages
gcc-c++.x86_64 4.1.2-52.el5 installed

以上所述是小編給大家介紹的YUM解決RPM包安裝依賴關(guān)系及yum工具介紹本地源配置方法詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對PHP中文網(wǎng)的支持!

更多YUM解決RPM包安裝依賴關(guān)系及yum工具介紹本地源配置方法詳解相關(guān)文章請關(guān)注PHP中文網(wǎng)!


本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72