linux网络-yum远程仓库

一. yum概述

YUM (Yellow Dog Updater Modified)

  • 基于RPM包构建的软件更新机制
  • 可以自动解决依赖关系
  • 所有软件包由集中的YUM软件仓库提供

在这里插入图片描述

二. 构建yum仓库(服务器端)

2.1 yum仓库的提供方式和仓库rpm包的来源

2.11 软件仓库的提供方式

  • FTP服务: ftp://…
  • HTTP服务:http://…
  • 本地目录:file://…

2.12 RPM软件包的来源

  • CenOS发布的RPM包集合
  • 第三方组织发布的RPM包集合
  • 用户自定义的RPM包集合

2.2 准备安装源

2.21 构建CenOS 7 软件仓库

  • RPM包来自Centos 7 DVD 光盘
  • 通过FTP方式提供给客户机

在这里插入图片描述

2.22 在软件仓库加入非官方RPM包组

  • 包括存在依赖关系的所有RPM包
  • 使用createrepo工具创建仓库数据文件

在这里插入图片描述

三. 访问YUM 远程仓库

  • 为客户机指定yum仓库位置 配置文件:/etc/yum.repo.d/*.repo
  • 直接以CentOS 7光盘作软件仓库
    直接以CentOS 7光盘作软件仓库
    指定仓库位置,URL地址为file:///media/cdrom

四. 部署实验过程

4.1 yum服务端配置

第一步:将centos7光盘镜像挂载到服务端(光盘镜像要连接状态)

[root@localhost ~]# hostnamectl set-hostname server		'修改主机名为服务端,方便区分'
[root@localhost ~]# su

[root@server ~]# mount /dev/sr0 /mnt	'将镜像挂载到本地'

[root@server ~]# ls /mnt		'挂载成功'
CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7
EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL

第二步:进入服务器站点,将镜像复制到文件夹

[root@server ~]# cd /var
[root@server var]# ls		'发下没有ftp站点,所以需要安装vsftpd软件'
account  cache  db     games   kerberos  local  log   nis  preserve  spool  yp
adm      crash  empty  gopher  lib       lock   mail  opt  run       tmp
[root@server var]# yum install vsftpd -y	'安装vsftpd'
...省略部分内容
[root@server var]# ls
account  cache  db     ftp    gopher    lib    lock  mail  opt       run    tmp
adm      crash  empty  games  kerberos  local  log   nis   preserve  spool  yp
[root@server var]# cd ftp
[root@server ftp]# ls
pub
[root@server ftp]# mkdir centos7	'在站点下创建文件夹,存放镜像'
[root@server ftp]# ls
centos7  pub
[root@server ftp]# cp -rf /mnt/* centos7/&	'将镜像强制复制到centos7中,并在后台运行'
[1] 9301
[root@server ftp]# jobs			'查看后台运行程序'
[1]+  Running                 cp -i -rf /mnt/* centos7/ &

[root@server ftp]# mkdir other		'创建扩展目录,用于创建repodata数据文件'
[root@server ftp]# ls
centos7  other  pub
'若已将作为源发布的其他 rpm 安 装包文件存放到/var/ftp/other 目录下,则可执行以下操作为其创建 repodata 数据。'
[root@server ftp]# createrepo -g /mnt/repodata/repomd.xml  ./other		'以现有的repodata目录为样板 '

[root@server ftp]# ls other/repodata
01a3b489a465bcac22a43492163df43451dc6ce47d27f66de289756b91635523-filelists.sqlite.bz2
401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93-filelists.xml.gz
5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945-primary.sqlite.bz2
5f62201963ee83e178738d9f88078560377cc06f972a4c0094ab3be00cae515f-repomd.xml
6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670-other.xml.gz
7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4-other.sqlite.bz2
c48538ac0f65ece36eb71d41b76f1eb1f98c58cc26777348490feaed8f38ab56-repomd.xml.gz
dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9-primary.xml.gz
repomd.xml

第三步:开启vsftpd服务

[root@server ~]# systemctl start vsftpd
[root@server ~]# netstat -ntap | grep 21
tcp6       0      0 :::21                   :::*                    LISTEN      12216/vsftpd        
[root@server ~]# netstat -ntap | grep 20

注意:vsftpd中21端口负责连接服务器,20端口负责上传和下载

4.2 访问yum仓库客户端配置

备份所有的http形式提供的centOS 官方yum源

[root@client ~]# cd /etc/yum.repos.d/
[root@client yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
[root@client yum.repos.d]# mkdir bak
[root@client yum.repos.d]#mv *.repo bak
[root@client yum.repos.d]#ls bak
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo

清空缓存,自己写一个repo文件,并将秘钥复制到其中

[root@client yum.repos.d]# vim centos7.repo 
[base]		'//仓库类别'
name=centos7.packages		'//仓库名称(说明) '
baseurl=ftp://192.168.197.172/centos7		'//URL 访问路径 '
enabled=1		'//启用此软件仓库 '
gpgcheck=1		'//验证软件包的签名 '
gpgkey=ftp://192.168.197.128/centos7/RPM-GPG-KEY-CentOS-7		'将服务端复制的秘钥粘贴到此,//GPG 公钥文件的位置 '

[other]
name=other.packages
baseurl=ftp://192.168.197.172/other
enabled=1
gpgcheck=0		'//不验证软件包的签名 '
'在服务端查看秘钥并复制'

[root@client yum.repos.d]# yum clean all    //清除缓存
[root@client yum.repos.d]# yum makecache    //构建新的缓存,有时不做这两步会受到缓存的影响

五. yum 工具讲解

  • yum list 列出可用的rpm包
  • yum update 更新软件包,连内核一起更新
  • yum upgrade 只更新软件包,但不更新内核

yum 的配置文件
基本设置:/etc/yum.conf
仓库设置:/etc/yum.repos.d/*.repo
日志文件:/var/log/yum.log

yum缓存目录
存放下载的软件包,仓库信息等数据
位于/var/cache/yum/basearch ( 硬件架构等 )

清理缓存数据

  • yum clean all

查询软件包
yum list [软件名]…
yum info [软件名]…
yum search <关键词>…

查询软件包组
yum grouplist [包组名]…
yum groupinfo <包组名>…

软件安装升级与卸载

  • 安装软件
    yum install [软件名]
    yum groupinstall <包组名>

  • 升级软件
    yum update
    yum groupdate
    yum update 更新软件包,连内核一起更新
    yum upgrade 只更新软件包,但不更新内核

  • 卸载软件
    yum remove <软件名>…
    yum groupremove <包组名>…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值