为了今后安装软件包方便,在一台测试服务器上进行本地YUM源配置。分别进行了本地YUM源、用FTP的YUM源、用HTTP的YUM源和光盘挂为本地YUM源的实验,下面就是具体过程。

环境:RHEL6.3

创建本地yum源步骤如下:

1、首先检查是否有YUM命令,如果没有请安装

#rpm -ivh yum-3.2.29-30.el6.noarch.rpm

再次检查是否有createrepo,如果没有请安装createrepo包,装这个包之前先装以下两个包;

[root@localhost Packages]# rpm -ivh deltarpm-3.5-0.5.20090913git.el6.i686.rpm

warning: deltarpm-3.5-0.5.20090913git.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY

Preparing...        ########################################### [100%]

1:deltarpm        ########################################### [100%]

[root@localhost Packages]# rpm -ivh python-deltarpm-3.5-0.5.20090913git.el6.i686.rpm

warning: python-deltarpm-3.5-0.5.20090913git.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY

Preparing...        ########################################### [100%]

1:python-deltarpm    ########################################### [100%]

[root@localhost Packages]#rpm -ivh createrepo-0.9.8-5.el6.noarch.rpm

2、新建本地源目录

#mkdir /Packages    #存放本地YUM所需的文件

将光盘上的Packages下的所有安装包都放置到这个目录中,还有把光盘上的RPM-GPG-KEY-redhat-release也拷贝到这个目录中

3. 在/Packages 目录下,执行createrepo /Packages

2842/2842 - xorg-x11-fonts-misc-7.2-9.1.el6.noarch.rpm

Saving Primary metadata

Saving file lists metadata

Saving other metadata

会生成 repodata目录,并有四个关键文件,现在查看一下

[root@localhost Packages]# ls -d */

HighAvailability/ images/ isolinux/ LoadBalancer/ repodata/

[root@localhost Packages]# cd repodata

[root@localhost repodata]# ls

filelists.xml.gz other.xml.gz primary.xml.gz repomd.xml

注:repodata作为软件的仓库,其目录下有四个必要文件:filelists.xml.gz other.xml.gz primary.xml.gz repomd.xml(md意思是metadata),其中最主要的是repomd.xml文件。一般出现的找不到repodata目录或文件的错误的原因通常有三个:一是路径问题;二是没有生成repodata目录;三是*.repo配置文件冲突(这个需要特别注意,需要将/etc/yum.repos.d下的其他repo文件的enabled=0设置或者删除其他的repo文件)。以上四个文件要建立yum库后才会出现,在下面的示例中,路径为:/Packages /repodata/

4. 在/etc/yum.repos.d下新建一个yum.repo。内容如下:

[RHEL]

name=rhel6.3

baseurl=file:///Packages

gpgcheck=1

gpgkey=file:///Packages/RPM-GPG-KEY-redhat-release

enabled=1

解释:

[....]   代表这个库的名字,必须是唯一的,不可以重复。

name=   是这个库的说明,没有太大的实际意义,只是一个字段说明。

baseurl= 说明采取什么方式传输,具体路径在哪里,可以使用的方式有,file://,ftp://,http://等

enabled=1 说明启用这个更新库,0表示不启用。

gpgcheck=0 表示不使用gpg文件来检查软件包的签名 1表示使用签名

gpgkey=  表示gpg文件所存放的位置,此处也可以有http方式的位置。

到此就可以测试yum库创建是否成功了。

5、测试一下

[root@localhost /]# yum -y install telnet*

Loaded plugins: product-id, refresh-packagekit, security, subscription-manager

Updating certificate-based repositories.

Unable to read consumer identity

Setting up Install Process

Resolving Dependencies

--> Running transaction check

---> Package telnet.i686 1:0.17-47.el6 will be installed

---> Package telnet-server.i686 1:0.17-47.el6 will be installed

--> Processing Dependency: xinetd for package: 1:telnet-server-0.17-47.el6.i686

--> Running transaction check

---> Package xinetd.i686 2:2.3.14-34.el6 will be installed

--> Finished Dependency Resolution

Dependencies Resolved

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

Package          Arch       Version           Repository    Size

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

Installing:

telnet          i686       1:0.17-47.el6        RHEL       57 k

telnet-server       i686       1:0.17-47.el6        RHEL       36 k

Installing for dependencies:

xinetd          i686       2:2.3.14-34.el6       RHEL       121 k

Transaction Summary

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

Install    3 Package(s)

Total download size: 214 k

Installed size: 409 k

Downloading Packages:

Error Downloading Packages:

1:telnet-0.17-47.el6.i686: failure: Packages/telnet-0.17-47.el6.i686.rpm from RHEL: [Errno 256] No more mirrors to try.

2:xinetd-2.3.14-34.el6.i686: failure: Packages/xinetd-2.3.14-34.el6.i686.rpm from RHEL: [Errno 256] No more mirrors to try.

1:telnet-server-0.17-47.el6.i686: failure: Packages/telnet-server-0.17-47.el6.i686.rpm from RHEL: [Errno 256] No more mirrors to try.

发现安装失败,没有自己发现软件包之间的依赖关系。更新一下

[root@localhost yum.repos.d]# yum clean all

Loaded plugins: product-id, refresh-packagekit, security, subscription-manager

Updating certificate-based repositories.

Unable to read consumer identity

Cleaning repos: RHEL

Cleaning up Everything

然后再装,就可以了

[root@localhost yum.repos.d]# yum -y install telnet*

Loaded plugins: product-id, refresh-packagekit, security, subscription-manager

Updating certificate-based repositories.

Unable to read consumer identity

RHEL                                  | 1.3 kB   00:00 ...

RHEL/primary                              | 1.3 MB   00:00 ...

RHEL                                         2842/2842

Setting up Install Process

Resolving Dependencies

--> Running transaction check

---> Package telnet.i686 1:0.17-47.el6 will be installed

---> Package telnet-server.i686 1:0.17-47.el6 will be installed

--> Processing Dependency: xinetd for package: 1:telnet-server-0.17-47.el6.i686

--> Running transaction check

---> Package xinetd.i686 2:2.3.14-34.el6 will be installed

--> Finished Dependency Resolution

Dependencies Resolved

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

Package          Arch       Version           Repository    Size

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

Installing:

telnet          i686       1:0.17-47.el6        RHEL       57 k

telnet-server       i686       1:0.17-47.el6        RHEL       36 k

Installing for dependencies:

xinetd          i686       2:2.3.14-34.el6       RHEL       121 k

Transaction Summary

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

Install    3 Package(s)

Total download size: 214 k

Installed size: 409 k

Downloading Packages:

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

Total                             4.1 MB/s | 214 kB   00:00

Running rpm_check_debug

Running Transaction Test

Transaction Test Succeeded

Running Transaction

Installing : 2:xinetd-2.3.14-34.el6.i686                         1/3

Installing : 1:telnet-server-0.17-47.el6.i686                      2/3

Installing : 1:telnet-0.17-47.el6.i686                          3/3

Installed products updated.

Verifying : 1:telnet-server-0.17-47.el6.i686                      1/3

Verifying : 2:xinetd-2.3.14-34.el6.i686                         2/3

Verifying : 1:telnet-0.17-47.el6.i686                          3/3

Installed:

telnet.i686 1:0.17-47.el6         telnet-server.i686 1:0.17-47.el6

Dependency Installed:

xinetd.i686 2:2.3.14-34.el6

Complete!

做一下YUM的缓存,方便加速

[root@localhost yum.repos.d]# yum makecache

Loaded plugins: product-id, refresh-packagekit, security, subscription-manager

Updating certificate-based repositories.

Unable to read consumer identity

RHEL                                  | 1.3 kB   00:00 ...

RHEL/filelists                             | 2.9 MB   00:00 ...

RHEL/other                               | 1.3 MB   00:00 ...

RHEL                                         2842/2842

RHEL                                         2842/2842

Metadata Cache Created

提醒注意:yum install [软件名] 这里最好不要用全名,虽然有些包的安装也是可以的。但是本人测试,遇到安装失败的麻烦。

一些有用的YUM命令:

yum remove | erase 软件名1 [软件名2] [...]

yum list [...]

yum info [...]

yum provides | whatprovides feature1 [feature2] [...]

yum clean [ packages | headers | metadata | dbcache | all ]

yum makecache

自动分析依赖性关系是YUM最好的一个特点,也是目前最方便的安装方法。

用的上的命令

createrepo --update /Packages/     # 更新本地源,如果新增了RPM包

createrepo /Packages/         # 重新生成metadata

createrepo --update:

有时候你的软件仓库中含有很多的软件包,虽然只是其中的一小部分有所改动但是你却不必为每个软件包重新产生元数据,这样做明显太浪费时间了。createrepo只更新那些在上次产生元数据之后被改变,添加或者删除了的项目.

使用ftp做 yum源

上面的设置只能使本机使用yum源,为了使其他机器也可以使用,所以在源机器上配置ftp server

1. yum install vsftpd

2. 在其他机器上通过ftp命令访问测试,如果出现500 OOPS: cannot change directry, 那么在源机器执行setsebool -P ftp_home_dir on, 然后service vsftpd restart

3. 在 /var/ftp/pub 下面做mount, 而不是做符号链接,因为如果是符号链接那么从浏览器访问会出现550 Failed to change directory.当然也可以把/Packages下的所有拷贝到pub下。

#mkdir /rh65
#umount /dev/sr0
# mount /dev/sr0 /rh65

cd /var/ftp/pub , mkdir yum, mount --bind /rh65 yum

4. 设置yum ftp连接方式(包括源机器也可以这样设置,两边的repo可以一样)

/etc/yum.repos.d下修改一下yum.repo

[RHEL1]

name=rhel6.3

baseurl=ftp://192.168.1.130/pub/yum/

gpgcheck=0

enabled=1

使用HTTP做YUM源

1 安装httpd安装包 #yum -y install httpd

2 如上创建本地更新源

#cd /var/www/html/

#mkdir yum

# mount --bind /rh65  /yum

或者比如yum文件都在/rh65下

[root@localhost html]# vi /etc/yum.repos.d/yum.repo

[root@localhost html]# cat /etc/yum.repos.d/yum.repo

[RHEL]

name=rhel6.3

baseurl=http://192.168.1.130/yum/

gpgcheck=0

enabled=1

3 service httpd start    #启动httpd守护进程,否则在其他机器上会提示找不到相关源

4 测试一下

[root@localhost yum.repos.d]# rpm -qa|grep telnet

[root@localhost yum.repos.d]# yum -y install telnet*

Installed:

telnet.i686 1:0.17-47.el6      telnet-server.i686 1:0.17-47.el6

Dependency Installed:

xinetd.i686 2:2.3.14-34.el6

Complete!

使用ISO光盘直接挂成本地YUM源

1、先把ISO光盘挂接到系统,然后mount看一下

[root@localhost network-scripts]# mount
/dev/sda3 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
vmware-vmblock on /var/run/vmblock-fuse type fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)
gvfs-fuse-daemon on /root/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev)
/dev/sr0 on /media/RHEL_6.3 i386 Disc 1 type iso9660 (ro,nosuid,nodev,uhelper=udisks,uid=0,gid=0,iocharset=utf8,mode=0400,dmode=0500)

2、接着在根下或在其他目录建一个目录

#cd /
#mkdir rhel6
#umount /dev/sr0
# mount /dev/sr0 /rhel6  
3、编辑REPO文件
#cd /etc/yum.repos.d
#vi yum.repo
[RHEL]
name=rhel6.3
baseurl=file:///rhel6  (如果是rhel5,则是file:///rhel5/Server,因为repodata/repomd.xml不在光盘根下)
enabled=1
# service iptables stop
# setenforce 0
# yum -y install telnet
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
RHEL                           | 4.0 kB   00:00 ...
RHEL/primary_db                     | 2.5 MB   00:00 ...
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package telnet.i686 1:0.17-47.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package     Arch      Version          Repository   Size
================================================================================
Installing:
telnet      i686      1:0.17-47.el6       RHEL      57 k

Transaction Summary
================================================================================
Install    1 Package(s)

Total download size: 57 k
Installed size: 102 k
Downloading Packages:
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY

Public key for telnet-0.17-47.el6.i686.rpm is not installed
注意这是出现NOKEY错误,检查YUM.REPO文件没有问题,那么需要看yum.conf主配文件

#cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3

将/etc/yum.conf中的gpgcheck=1改为gpgcheck=0(不检查软件包签名)即可。

注:在做YUM源时,确保源和使用源的LINUX主机的REPO文件和yum.conf文件配置一致。

最后再试就正常了

#yum -y install telnet

Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : 1:telnet-0.17-47.el6.i686                        1/1
Installed products updated.
Verifying : 1:telnet-0.17-47.el6.i686                        1/1

Installed:
telnet.i686 1:0.17-47.el6

Complete!

vim /etc/udev/rules.d/70-persistent-net.rules

vim /etc/sysconfig/network-scripts/ifcfg-eth0

rhel6.3yum源的几种配置解析相关推荐

  1. Dubbo 框架设计与源码解读(配置解析优先级、线程分配、负载均衡、容错方案)

    整体框架设计 图例说明: 图中左边淡蓝背景的为服务消费⽅使⽤的接⼝,右边淡绿⾊背景的为服务提供⽅使⽤的接⼝,位于中轴线上的为双⽅都⽤到的接⼝. 图中从下⾄上分为⼗层,各层均为单向依赖,右边的⿊⾊箭头代 ...

  2. Linux系统yum源的三种配置方法

    一.yum简述 yum是"Yellow dog Updater, Modified"的缩写,是一个软件包管理器当我们使用Linux操作系统时,我们绕不开的还是如何去下载软件,源码软 ...

  3. 什么是Mybatis配置解析?(源码+图文)

    什么是Mybatis配置解析?(源码+图文) 1. 核心配置文件 mybatis-config.xml configuration(配置)properties(属性)settings(设置)typeA ...

  4. 【SpringBoot】最新版2019Spring Boot配置解析,源码解析(速成SpringBoot)——学习笔记版【2】

    SpringBoot配置文件 文章目录 SpringBoot配置文件 四.配置文件 1.简介 2.YAML用法 2.1 简介 2.2语法 3.为属性注入值 3.1使用.yml配置文件 3.1编写.ym ...

  5. 配置 yum 源的两种方法

    配置 yum 源的两种方法 由于 redhat的yum在线更新是收费的,如果没有注册的话不能使用,如果要使用,需将redhat的yum卸载后,重启安装,再配置其他源,以下为详细过程: 1.删除redh ...

  6. MyBatis 源码解读-配置解析过程

    首先我们要清楚的是配置解析的过程全部只解析了两种文件.一个是mybatis-config.xml 全局配置文件.另外就是可能有很多个的Mapper.xml 文件,也包括在Mapper 接口类上面定义的 ...

  7. linux配置yum源的三种方法:

    linux配置yum源的三种方法: 1.配置网络yum源 2.通过上传镜像文件配置本地yum源 3.通过连接存储或本地镜像文件配置本地yum源(虚拟机) 配置各种yum源的时候,需要提前知道自己的li ...

  8. Windows Docker 配置国内镜像源的两种方法

    Windows Docker配置国内镜像源的两种方法 更新时间 2022.04.14 通过Docker-Desktop界面操作和修改daemon.json两种方法配置国内镜像源 方法一:通过Docke ...

  9. java log 配置,java日志系统--log4j配置解析过程,源码分析

    log4j 可以看成是非常类似jdk logger 结构 ,有个logger 与logManger 都是在logManger的静态块中初始化类,加载配置文件 Logger.getLogger(Test ...

最新文章

  1. com.google.gson.Gson 使用详解
  2. pythonis啥意思-isinstance在python中的意思是什么?
  3. Java操作Redis服务
  4. (chap1 网络基础知识)地址
  5. 4行代码满分:L1-052 2018我们要赢 (5分)
  6. 应用机器学习进行无人机航拍影像质量评估
  7. python 按键精灵识图_利用-百度云通用文字识别-图片转文字
  8. Apache禁止指定的user_agent、指定目录被访问
  9. 方舟服务器炸了怎么修复,《方舟:生存进化》诸事不顺!退款BUG修复服务器又炸...
  10. 随机效应估算与固定效应估算_面板数据固定效应 vs. 随机效应
  11. 浏览器劫持定义及危害、处理浏览器被劫持自动跳转到某个网页的修复教程
  12. U盘文件乱码?修复后U盘文件消失,但仍占有U盘空间?
  13. 再来学习一下“八荣八耻”
  14. JavaScript特效源码(8、其他特效)
  15. POJ 1647 One-move checkmate G++
  16. 个人博客,Springboot + Vue搭建属于自己的博客
  17. 迎难而上,2023Java面试突击指南手册。整合了各大技术栈常考知识点。
  18. 百度商家口碑将停止运营并下线
  19. 8086cpu指令系统———作业3
  20. 【优化求解】基于matlab遗传算法求解立体仓库出入库路径优化问题【含Matlab源码 2028期】

热门文章

  1. CNN手把手维修攻略:你的网络不好好训练,需要全面体检
  2. 百度李彦宏谈Google回归:真刀真枪地再PK一次,再赢一次
  3. 拍照手抖有救了!DeblurGAN消除运动模糊效果惊人 | 附论文+代码
  4. [Ramda] Complement: Logic opposite function
  5. C++自学笔记(3)
  6. UMeditor上传图片无反应
  7. 纯Java代码 图片压缩
  8. 深入理解Oracle索引(17):Cost 值相同 CBO 对索引的选择
  9. TurboMail成功建设某省建工集团邮件系统
  10. 向高端应用进军 杰和推高计算四路服务器