日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux软件包管理工具,Linux 软件包管理器-----yum配置详解一

發布時間:2024/1/23 linux 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux软件包管理工具,Linux 软件包管理器-----yum配置详解一 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、yum簡介

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

yum 的理念是使用一個中心倉庫(repository)管理一部分甚至一個distribution 的應用程序相互關系,根據計算出來的軟件依賴關系進行相關的升級、安裝、刪除等等操作,減少了Linux 用戶一直頭痛的dependencies 的問題。

yum 主要功能是更方便的添加/刪除/更新RPM 包,自動解決包的倚賴性問題,便于管理大量系統的更新問題。

yum 可以同時配置多個資源庫(Repository)。

二、yum的配置

yum的配置文件分為兩種:主配置文件和輔配置文件

1、主配置文件又稱全局配置文件:/etc/yum.conf

2、輔配置文件是/etc/yum.repos.d/目錄下所有以.repo結尾的文件,該配置文件定義了每個源/服務器的具體配置,可以有一個或多個。

主配置文件/etc/yum.conf詳解:#cat?/etc/yum.conf

[main]

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

//yum?緩存的目錄,yum?在此存儲下載的rpm?包和數據庫,默認設置為/var/cache/yum

keepcache=0?????//安裝完成后是否保留軟件包,0為不保留(默認為0),1為保留

debuglevel=2????//Debug?信息輸出等級,范圍為0-10,缺省為2(類似于rpm?-v??|-vv?)

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

exactarch=1????//是否只安裝與當前平臺架構匹配的軟件包

obsoletes=1????//這是一個update?的參數,允許更新陳舊的RPM包。

gpgcheck=1????///程序包安裝之前檢查其合法性與包完整性

plugins=1????//是否啟用插件,默認1為啟用,0表示不啟用。

installonly_limit=5????//一次安裝程序包個數限定

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

//bug追蹤路徑

distroverpkg=centos-release????//發行版本程序包應該以什么為例

#??This?is?the?default,?if?you?make?this?bigger?yum?won't?see?if?the?metadata

#?is?newer?on?the?remote?and?so?you'll?"gain"?the?bandwidth?of?not?having?to

#?download?the?new?metadata?and?"pay"?for?it?by?yum?not?having?correct

#?information.

#??It?is?esp.?important,?to?have?correct?metadata,?for?distributions?like

#?Fedora?which?don't?keep?old?packages?around.?If?you?don't?like?this?checking

#?interupting?your?command?line?usage,?it's?much?better?to?have?something

#?manually?check?the?metadata?once?an?hour?(yum-updatesd?will?do?this).

#?metadata_expire=90m

#?PUT?YOUR?REPOS?HERE?OR?IN?separate?files?named?file.repo

#?in?/etc/yum.repos.d

更多信息請參考man yum.conf 來獲取

yum?變量:

$basearch:?自動切換至yum倉庫所適用的平臺?如i686和athlon同屬i386,alpha和alphaev6同屬alpha。

$arch:cpu體系,如i686,athlon等

$releasever?:發行版版本??自動切換成yum發行版本的版本號

-----------------------------------------

eg:

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

如果當前系統為CentOS?6.6?x86_64

現實結果為:http://mirrors.163.com/centos/6/x86_64

輔配置文件/etc/yum.repo.d/*.repo倉庫配置[repositoryid]

//對于當前系統的yum來講,此repositoryid用于唯一標識此repository指向,因此,其必須唯一;

name=????????//?當前倉庫描述信息;

baseurl=url://path/to/repository/

//指明repository的訪問路徑,通常為一個文件服務器輸出的某repository;

baseurl格式如下:

ftp服務

ftp://SERVER/PATH/TO/REPOSITORY

http服務:

http://SERVER/PATH/TO/REPOSITORY

本地目錄:

file:///PATH/TO/REPOSITORY????//注意此處有三個“/”

enabled={1|0}????//此倉庫是否可被使用???不寫默認是啟用

gpgcheck={1|0|}????//?是否對程序包做校驗

gpgkey=url://path/to/keyfile????//指明gpgkey文件路徑;

cost=#????//用于指明當前repository的訪問開銷,默認為100

注:上述baseurl可以指向多個url,格式如下baseurl=url://server1/path/to/repository/

url://server2/path/to/repository/???//注意:此url不能頂格寫

url://server3/path/to/repository/

三、創建國內yum源

===========制作國內163yum源==========[163]

name=CentOS-$releasever-$basearch-mirrors.163

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

enable=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[163-SCL]

name=CentOS-$releasever-$basearch-SCL-mirrors.163

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

enable=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[updates]

name=CentOS-$releasever-$basearch-updates-mirrors.163

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

enable=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[163-OS]

name=CentOS-$releasever-$basearch-OS-mirrors.163

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

enable=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[extras]

name=CentOS-$releasever-$basearch-extras-mirrors.163

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

enable=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[centosplus]

name=CentOS-$releasever-$basearch-centosplus-mirrors.163

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

enable=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

驗證:[root@linux?yum.repos.d]#?yum?repolist

repo?id??????????????????????????????????repo?name????????????????????????????????????????????????????????????status

163??????????????????????????????????????CentOS-6-x86_64-mirrors.163??????????????????????????????????????????????0

163-OS???????????????????????????????????CentOS-6-x86_64-OS-mirrors.163???????????????????????????????????????6,518

163-SCL??????????????????????????????????CentOS-6-x86_64-SCL-mirrors.163????????????????????????????????????????676

centosplus???????????????????????????????CentOS-6-x86_64-centosplus-mirrors.163??????????????????????????????????50

extras???????????????????????????????????CentOS-6-x86_64-extras-mirrors.163??????????????????????????????????????37

updates??????????????????????????????????CentOS-6-x86_64-updates-mirrors.163????????????????????????????????????993

repolist:?8,274

[root@linux?yum.repos.d]#

利用已做好的yum源安裝tree命令包[root@linux?yum.repos.d]#?yum?-y?install?tree

Setting?up?Install?Process

Resolving?Dependencies

-->?Running?transaction?check

--->?Package?tree.x86_64?0:1.5.3-2.el6?will?be?installed

-->?Finished?Dependency?Resolution

Dependencies?Resolved

====================================================================================================================

Package??????Arch??????????Version??????????Repository?????????????????Size

====================================================================================================================

Installing:

tree?????????x86_64???????1.5.3-2.el6?????????163-OS????????????????36?k

......

驗證是否安裝成功

[root@linux yum.repos.d]# rpm -q tree

tree-1.5.3-2.el6.x86_64

[root@linux yum.repos.d]#

四、其他國內yum源列表如下:1.?企業貢獻:

搜狐開源鏡像站:http://mirrors.sohu.com/

網易開源鏡像站:http://mirrors.163.com/

2.?大學教學:

北京理工大學:

http://mirror.bit.edu.cn?(IPv4?only)

http://mirror.bit6.edu.cn?(IPv6?only)

北京交通大學:

http://mirror.bjtu.edu.cn?(IPv4?only)

http://mirror6.bjtu.edu.cn?(IPv6?only)

http://debian.bjtu.edu.cn?(IPv4+IPv6)

蘭州大學:http://mirror.lzu.edu.cn/

廈門大學:http://mirrors.xmu.edu.cn/

清華大學:

http://mirrors.tuna.tsinghua.edu.cn/?(IPv4+IPv6)

http://mirrors.6.tuna.tsinghua.edu.cn/?(IPv6?only)

http://mirrors.4.tuna.tsinghua.edu.cn/?(IPv4?only)

天津大學:http://mirror.tju.edu.cn/

中國科學技術大學:

http://mirrors.ustc.edu.cn/?(IPv4+IPv6)

http://mirrors4.ustc.edu.cn/

http://mirrors6.ustc.edu.cn/

東北大學:

http://mirror.neu.edu.cn/?(IPv4?only)

http://mirror.neu6.edu.cn/?(IPv6?only)

電子科技大學:http://ubuntu.uestc.edu.cn

五、常用命令

1、語法格式:

yum [options] [command] [package ...]

2、常用選項

-y :自動回答為“yes"

--disablerepo=:臨時禁用在配置文件中配置并啟用的某repository;

--enablerepo=: 臨時啟用指定的某repo:

--nogpgcheck: 禁止做包效驗;

3、常用命令

倉庫管理:

repolist:列出已經配置的所有可用倉庫

repolist [all|enabled|disabled]

緩存管理:

clean: 清理緩存

clean [ packages | metadata | expire-cache | rpmdb | plugins | all][root@linux?yum.repos.d]#?yum?clean?all

Cleaning?repos:?163?163-OS?163-SCL?centosplus?extras?updates

Cleaning?up?Everything

[root@linux?yum.repos]

-------------

注:為了徹底清除緩存還應刪除/var/cache/yum/目錄下的所有文件:

[root@linux?yum.repos.d]#?rm?-rf?/var/cache/yum/*

makecache:緩存創建

自動連接至每一個可用倉庫,下載其元數據,將其創建為緩存;

程序包查看:

list [...]

yum list [all | glob_exp1] [glob_exp2] [...]

eg : yum list php*

yum list {available|updates|installed|extras|obsoletes|recent} [glob_exp1] [...]

available:可安裝尚未安裝的包

updates:可用于升級的包

installed:安裝過額包

extras:倉庫內未提供,但已經安裝了

obsoletes:

recent:新包

grouplist [hidden] [groupwildcard] [...]

程序包安裝:

install package1 [package2] [...]Note:只需要提供包名:

如果某包有在不同倉庫中有多個不同版本,默認會安裝最新版本

如果要安裝指定版本?:install?PACKAGE-VERSION

重新安裝(覆蓋安裝)

reinstall package1 [package2] [...]

程序包升級:

update [package1] [package2] [...]如果只想升級指定版本使用:update?PACKAGE-VERSION

程序包降級:

downgrade package1 [package2] [...]

檢查有哪些升級可用:

check-update

卸載:

remove | erase package1 [package2] [...]

所有依賴于正卸載的程序包的程序包會被一并卸載

eg: yum remove php-common

查詢:

查詢程序的相關簡要信息: info [...]eg:

[root@linux?yum.repos.d]#?yum?info?tree

Installed?Packages

Name????????:?tree

Arch????????:?x86_64

Version?????:?1.5.3

Release?????:?2.el6

Size????????:?65?k

Repo????????:?installed

From?repo???:?163-OS

Summary?????:?File?system?tree?viewer

URL?????????:?http://mama.indstate.edu/users/ice/tree/

License?????:?GPLv2+

Description?:?The?tree?utility?recursively?displays?the?contents?of?directories?in?a

:?tree-like?format.??Tree?is?basically?a?UNIX?port?of?the?DOS?tree

:?utility.

search KEYWORD ...

在包名和簡要(sumary)信息中搜索指定的關鍵字:

provides | whatprovides /PATH/TO/SOMEFILE

查詢指定文件由哪個程序包安裝生成:[root@linux?yum.repos.d]#?yum?provides?/usr/bin/tree??//查詢/usr/bin/tree文件由哪個程序包安裝所生成

tree-1.5.3-2.el6.x86_64?:?File?system?tree?viewer

Repo????????:?163-OS

Matched?from:

Filename????:?/usr/bin/tree

tree-1.5.3-2.el6.x86_64?:?File?system?tree?viewer

Repo????????:?installed

Matched?from:

Other???????:?Provides-match:?/usr/bin/tree

包組管理:

列出所有包組:grouplist

顯示指定包組詳情:groupinfo group1 [...]

安裝:groupinstall group1 [group2] [...]

卸載:groupremove group1 [group2] [...]

升級:groupupdate group1 [group2] [...]

eg:列出yum源中的所有包組:[root@linux?yum.repos.d]#?yum?grouplist

Setting?up?Group?Process

Installed?Groups:

Additional?Development

Base

Desktop

Dial-up?Networking?Support

Directory?Client

E-mail?server

Emacs

Fonts

General?Purpose?Desktop

Graphical?Administration?Tools

Hardware?monitoring?utilities

Input?Methods

Internet?Browser

Legacy?UNIX?compatibility

Legacy?X?Window?System?compatibility

Network?Infrastructure?Server

Network?file?system?client

Networking?Tools

Performance?Tools

Perl?Support

Print?Server

Printing?client

SNMP?Support

Security?Tools

Server?Platform

System?administration?tools

X?Window?System

Installed?Language?Groups:

Arabic?Support?[ar]

......

OK ?有關yum的講解到此就告一段落了,有不足之處還請各位看官斧正........

參考博文:http://www.cnblogs.com/mchina/archive/2013/01/04/2842275.html

總結

以上是生活随笔為你收集整理的linux软件包管理工具,Linux 软件包管理器-----yum配置详解一的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。