当前位置: 首页 > news >正文

快速搭建YUM源和yum使用

yum是一种便捷,快速的RPM包安装方法,可以避免很多包的关联性,但RedHat的YUM源,不是免费的,需要他们的RHN才能够用,而CentOS得yum是免费的,由于CentOS和RedHat相似度高,所以很多人直接把CentOS的源,复制到RedHat里,这也是一种可取的办法,当然这种yum源都在公网上,所以有时候下载速度慢,没有本地局域网的源快,所以我们下面接介绍怎么自己搭建一个源。
下面我介绍怎么搭建Yum源,分2种方法:
1:本地文件的yum源
首先,把你所需要的系统ISO镜像copy到本地,这里以RHEL5为例子
加入我们首先把RHEL5的镜像 copy到了/tmp目录下
首先挂载
#mount -o loop /tmp/RHEL5.ISO /mnt/RHEL5
这样,就挂号了
然后
#vi /etc/yum.repos.d/rhel-debuginfo.repo
下面的内容复制到里面
#=============
[rhel-debuginfo]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=file:///mnt/RHEL5/Server
enabled=1
gpgcheck=1
gpgkey=file:///mnt/RHEL5/RPM-GPG-KEY-redhat-release
呵呵,这样就好了
你就可以用本地的yum源了
你直接用yum list测试一下

这种做法在RHEL4的系统中,可能有些不同,因为RHEL4的关盘结构跟这个不一致
但大体是这样做的,在RHEL4中,需要这样做
假如我的RHEL4的本地源放在 /var/ftp/pub目录下 我们需要把RedHat/RPMS放在第一级目录,然后把RedHat/RPMS/redporede这个目录也放在第一级目录,(名字记不太清了,大概是这个目录,大家可以到RPMS目录下找找) 然后定义/etc/yum.repos.d/rhel-debuginfo.repo文件,内容如下
#=============
[rhel-debuginfo]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=file:///var/ftp/pub/
enabled=1
gpgcheck=1
gpgkey=file:///var/ftp/pub/RPM-GPG-KEY-redhat-release
这样RHEL4的本地源也搭建好了

下面我们介绍用FTP方式来搭建
首先也需要你把光盘文件复制过来,已RHEL5为例吧
在/var/ftp/pub目录下,把光盘里面的内容全部复制在这个目录下
然后在客户端(需要使用yum的机器上) 定义/etc/yum.repos.d/rhel-debuginfo.repo内容
下面的内容复制到里面
#=============
[rhel-debuginfo]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=ftp://serverIP/pub/Server
enabled=1
gpgcheck=1
gpgkey=ftp://serverIP/pub/Server/RPM-GPG-KEY-redhat-release

OK,ftp的方式也弄好了,RHEL4也跟这个差不多,思路是一样的,就是目录结构需要参考上面的介绍!

转自http://hi.baidu.com/bubu600/item/e5dd9b50cbbb5b948c12ed1c

 

在CentOS中,新增了一個叫作yum的套件管理程式,跟Mandrake的urpmi系列工具一樣,能夠幫您快速的安裝、更新套件,也會幫您處理惱人的套件相依性問題。

接下來就讓我們來看看yum的使用方式吧

起手第一式---設定更新路徑

#vi /etc/yum.conf

 


[base]
name=Fedora Core $releasever - $basearch - Base
baseurl=http://ftp.cdpa.nsysu.edu.tw/Linux/Fedora/linux/core/$releasever/$basearch/os/

[updates-released]
name=Fedora Core $releasever - $basearch - Released Updates
baseurl=http://ftp.cdpa.nsysu.edu.tw/Linux/Fedora/linux/core/updates/$releasever/$basearch/



我將套件的路徑設成中山大學的伺服器,因為預設是用國外的站台,所以連線會比較慢,而且有時候可能會失敗,所以用國內的站台會比較好.

設定好路徑就開始進行下一步了,不過在進行下一步前我們先來看一下yum的常用指令。

------------------------------------------------
yum的常用指令
yum update


語法:

yum update [套件1] [套件2] [...]

用來更新套件,若後面不加任何的套件,則會更新所有系統目前已經安裝了的套件


yum install


語法:

yum install 套件1 [套件2] [...]

用來安裝套件


yum upgrade


語法:

yum upgrade [套件1] [套件2] [...]

用來升級套件,功能和 yum update 類似,不同處在於 yum upgrade 會連一些過舊即將洮汰的套件也一起升級,比較類似在做大規模的版本升級動作 (如從 xxx Linux 8.0 升級到 xxx Linux 9)


yum remove


語法:

yum remove 套件1 [套件2] [...]

用來移除套件


yum clean


語法:

yum clean packages

用來清除暫存(/var/cache/yum)目錄下的套件

yum clean headers

用來清除暫存(/var/cache/yum)目錄下的 headers

yum clean oldheaders

用來清除暫存(/var/cache/yum)目錄下舊的 headers

yum clean 或是 yum clean all

用來清除暫存(/var/cache/yum)目錄下的套件及舊的 headers 等於是執行 yum clean packages 及 yum clean oldheaders


yum list


語法:

yum list

列出所有的套件

yum list updates

列出所有可以更新的套件

yum list installed

列出所有已安裝的套件

yum list extras

列出所有已安裝但不在 Yum Repository 內的套件

yum list [參數]

列出所指定的套件,參數可以是套件名稱或是在 shell 中所使用的表示式,如 ? 等


yum check-update


語法:

yum check-update

檢查可以更新的套件


yum info


語法:

yum info
列出所有套件的資訊

yum info updates

列出所有可以更新的套件資訊

yum info installed

列出所有已安裝的套件資訊

yum info extras


列出所有已安裝但不在 Yum Repository 內的套件資訊

yum info [參數]

列出所指定的套件資訊,參數可以是套件名稱或是在 shell 中所使用的表示式,如 ? 等


yum provides


語法:

yum provides 套件1 [套件2] [...]

列出套件提供哪些檔案


yum search


語法:

yum search [參數]

搜尋套件


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


看完以上的指令如果覺得眼花也沒有關系,要用的時候再查就好,一般我們常用的也就只有安裝跟更新囉

接下來我們要來進入主題更新套件

#yum update


好了,一步就ok
第一次更新它會先下載一些檔頭之類的東西,所以您可以先休息一下喝杯水。


mod_dav_svn-0-1.0.6-1.i38 100% |=========================| 3.3 kB 00:00
mozilla-mail-37-1.6-8.i38 100% |=========================| 5.4 kB 00:00
kde-i18n-Hungarian-1-3.2. 100% |=========================| 29 kB 00:00
kde-i18n-Hebrew-1-3.2.2-2 100% |=========================| 18 kB 00:00
mozilla-nss-devel-37-1.6- 100% |=========================| 9.1 kB 00:00
dhcp-devel-2-3.0.1rc14-1. 100% |=========================| 4.9 kB 00:00
mozilla-37-1.6-8.i386.hdr 100% |=========================| 20 kB 00:00



下載完了以後,它會開始分析有哪些套件需要被更新
如果你有看見像下面這種相依性的字眼,你就按y就好了

dependencies:
[deps: php-mbstring 4.3.8-2.1.i386]
[deps: libselinux-devel 1.11.4-1.i386]
Is this ok [y/N]: y


[update: nfs-utils 1.0.6-22.i386]
[update: krb5-libs 1.3.3-7.i386]
[update: libpng 2:1.2.5-5.i386]
[update: xorg-x11-Mesa-libGL 6.7.0-5.i386]
[update: mod_ssl 1:2.0.50-2.1.i386]
[update: squid 7:2.5.STABLE5-4.fc2.i386]
[update: rsync 2.6.2-1.i386]
[update: xorg-x11-libs-data 6.7.0-5.i386]
I will install/upgrade these to satisfy the dependencies:
[deps: php-mbstring 4.3.8-2.1.i386]
[deps: libselinux-devel 1.11.4-1.i386]
Is this ok [y/N]: y



接下來它就要開始抓更新的套件下來了,就讓它一直跑吧


Downloading Packages
Getting cups-1.1.20-11.1.i386.rpm
cups-1.1.20-11.1.i386.rpm 48% |============ | 1.2 MB 00:25 ETA


Running test transaction:
Test transaction complete, Success!
krb5-libs 100 % done 1/103
.........
............
Transaction(s) Complete



出現了Transaction(s) Complete就表示好了。
根據小弟的經驗,更新完後並不會馬上生效,所以您要自行restart service 或是最簡單的,重開機就好了.

當然如果您有些套件不想讓yum自動升級的話如kernel…等

編輯 /etc/yum.conf
在 [main] 中加入

exclude=kernel kernel-source

摘自 http://blog.chinaunix.net/uid-10618870-id-2945478.html

相关文章:

  • 添加菜单的窗口
  • NodeJS+Node Inspector简单使用
  • 修复libjson不支持utf8格式字符
  • 表空间在dba_tablespaces中存在,删除时却提示无法删除
  • MyEclipse 安装aptana插件
  • DZ论坛如何去掉“今日”“昨日”发帖数显示?
  • PHP+MYSQL 出现乱码的解决方法
  • mysql 按距离今日时间最近排序
  • Ruby小例子
  • MySQL安装方法及简单配置
  • 【好文翻译】码农们:效率与质量,你选择哪个?
  • [转]div 让文字或图片居中
  • 程序员能力矩阵 Programmer Competency Matrix
  • 【英文演讲】What are your strengths
  • Android 提示应用“正在发送大量短信”的解决办法
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • Android交互
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • gulp 教程
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JAVA之继承和多态
  • js中forEach回调同异步问题
  • MYSQL 的 IF 函数
  • node-glob通配符
  • Redis中的lru算法实现
  • Transformer-XL: Unleashing the Potential of Attention Models
  • Twitter赢在开放,三年创造奇迹
  • 初识 webpack
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 精彩代码 vue.js
  • 延迟脚本的方式
  • 找一份好的前端工作,起点很重要
  • mysql面试题分组并合并列
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (1)虚拟机的安装与使用,linux系统安装
  • (function(){})()的分步解析
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (Ruby)Ubuntu12.04安装Rails环境
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (转)【Hibernate总结系列】使用举例
  • .net core 控制台应用程序读取配置文件app.config
  • .net framework 4.0中如何 输出 form 的name属性。
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .NET gRPC 和RESTful简单对比
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • .net反编译的九款神器
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc
  • /etc/motd and /etc/issue
  • @四年级家长,这条香港优才计划+华侨生联考捷径,一定要看!