yum配置

本节简要介绍本地yum配置以及网络yum源的配置

yum(全称为 Yellow dog Updater, Modified)

yum作用

yum是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载,RPM包并且安装,可以自动处理依赖性关系.

yum工作原理

基于c/s机构,在server端,存放了rpm包及rpm元数据,元数据的内容包括:rpm包说明、版本信息、依赖性等。客户端需要用yum时。写一个配置文件,把路径指向yum服务器,客户端向服务端发起请求,服务端先把元数据信息缓存至客户端,根据缓存信息再下载对应的rpm包至客户端进行安装。

yum缓存带来的额外问题

如果yum服务端地址发生改变,客户端也重新指定了路径,但客户端中缓存rpm的元数据还是比较老旧的,会导致安装失败,此时需要清除yum缓存,执行命令yum clean all。

yum配置文件
/etc/yum.conf
[main]                                                                                  ###yum的名称
cachedir=/var/cache/yum/$basearch/$releasever  ###元数据缓存,$basearch表示架构$releasever 表示版                                                                                              本信息
keepcache=0                                                                      ###rpm包缓存,0表示不缓存
debuglevel=2
logfile=/var/log/yum.log                                                ###日志信息
exactarch=1
obsoletes=1
gpgcheck=1                                                                        ###检查rpm包签名和完整性
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

配置yum

1.确保本地光盘已经挂载

mount /dev/sr0 /mnt/cdrom

2.在/etc/yum.repos.d/目录下编辑一个配置文件,以.repo后缀结尾的文件,如果该目录下还有系统自带配置的yum,先暂时禁用
[base]                                                    ###容器名称
baseurl=file:///mnt/cdrom            ###本地yum路径,找到光盘中repodata父目录即为yum路径
gpgcheck=0                                        ###不检rpm包查签名和完整性

一个简单的yum源配置完成,注:file后面的路径跟的是本地yum源的路径,http、https、ftp则跟的是网络yum的路径

3.还可以根据需要添加epel源
[base]
baseurl=file:///mnt/cdrom
gpgcheck=0

[epel]
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
gpgcheck=0

添加完成后清除缓存yum clean all
3.检查签名和完整性
gpgcheck=0表示不检查签名和完整性,检查签名和完整性需要导入公钥后才能检查,把此项换成gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7,系统则可根据路径自动导入密钥,也可以手动导入密钥rpm –import RPM-GPG-KEY-CentOS-6。

4.临时禁用repo容器,在其后面加上
enabled=0

5.baseurl可以写多个路径
baseurl=file:///mnt/cdrom
http://172.20.0.1/centos/7/

6.mirrorlist列表
mirrorlist=/data/baselist
baselist存放的内容如:
file:///mnt/cdrom
http://172.20.0.1/centos/7/

yum相关命令
yum repolist 列出所有repo容器
yum repolist 列出所有repo容器包括禁用的
yum list 列出所有包(缓存元数据)

 

配置网络yum源

按照https://mirrors.aliyun.com/centos/7/os/x86_64/格式配置一个专门yum服务器,为网络中的多台服务器提供yum服务(实验环境centos7)

 

1.在服务端安装http并启动服务  服务器ip172.20.109.4

yum -y install httpd

systemctl start httpd

注意关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

2.在/var/www/html/下创建目录

mkdir -p centos/{6,7}/os/x86_64

3.把6和7版本光盘中文件分别拷入/var/www/html/centos/6/os/x86_64和/var/www/html/centos/7/os/x86_64目录中,或者以光盘挂载形式

cp -avr /mnt/cdrom/* /var/www/html/centos/7/os/x86_64/

scp -vr /mnt/cdrom/* /var/www/html/centos/6/os/x86_64/

4.在浏览器上分别输入路径

http://172.20.109.4/ centos/7/os/x86_64/

http://172.20.109.4/ centos/6/os/x86_64/

5.在网络中的所有客户端服务器均可根据版本选择设置baseurl

baseurl= http://172.20.109.4/ centos/7/os/x86_64/

baseurl= http://172.20.109.4/ centos/6/os/x86_64/

也可以引用变量,无论在6版本和7版本,写成如下形式:

baseurl= http://172.20.109.4/ centos/ $releasever/os/ $basearch/

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/96812

(0)
王琪锋王琪锋
上一篇 2018-04-22 17:39
下一篇 2018-04-22 18:06

相关推荐

  • linux网络相关

    网络配置 重启失效 ifconfig 网络地址显示,地址配置 ifconfig 接口 IP/netmask [up|down] [-|+]promisc up 打开 down 关闭 -promisc关闭混杂模式 +promisc打开混杂模式,混杂模式用来监听网络数据 ifconfig eth0:1 ip/netmask route 路由管理命令 查看路由 -…

    Linux笔记 2018-05-06
  • Centos7默认网卡名如何修改成eth*

    Centos7 新添加网卡默认的识别名ens*,用起来很不习惯,为了方便系统的统一化管理,如何将默认命名规则改成eth*?

    2018-04-29
  • 命令行展开案例

    [Azuth@azuth ~]$ mkdir /home/Azuth/tmp/{a,b}_{c,d}[Azuth@azuth ~]$ ll /home/Azuth/tmp/total 0drwxrwxr-x. 2 Azuth Azuth 6 May 20 20:35 a_cdrwxrwxr-x. 2 Azuth Azuth 6 May 20 20:35 a_…

    Linux笔记 2018-05-20
  • 磁盘存储和文件系统

    磁盘存储和文件系统: 磁盘设备的文件命名:/dev/dev_file虚拟磁盘:/dev/vd磁盘标识: /dev/sda,/dev/sdb……磁盘分区:/dev/sda1,/dev/sdb2…… chs 磁盘sector 扇区 512bytestrack 磁道head 磁头cylinder柱面 使用磁盘: 分区创建文件系统:格式化挂载:分配目录名 hexdu…

    Linux笔记 2018-05-20
  • CentOS7.4上装apache2.4.33提示 mod_http2

    mod_http2下载地址
    http://httpd.apache.org/docs/2.4/mod/mod_http2.html

    Linux笔记 2018-04-23
  • N31-第二周作业—文件的管理

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
    2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
    3、请使用命令行展开功能来完成以下练习:
    (1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
    (2)、创建/tmp/mylinux目录下的:
    mylinux/
    ├── bin
    ├── boot
    │   └── grub
    ├── dev
    ├── etc
    │   ├── rc.d
    │   │   └── init.d
    │   └── sysconfig
    │   └── network-scripts
    ├── lib
    │   └── modules
    ├── lib64
    ├── proc
    ├── sbin
    ├── sys
    ├── tmp
    ├── usr
    │   └── local
    │   ├── bin
    │   └── sbin
    └── var
    ├── lock
    ├── log
    └── run
    4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
    5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
    6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
    7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
    8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
    9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
    10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
    11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
    12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

    2018-07-05