IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 最新项目干货图文讲解--Linux部署yum仓库 -> 正文阅读

[系统运维]最新项目干货图文讲解--Linux部署yum仓库

Linux部署yum仓库项目

1、yum仓库简介:

yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。

yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜狐云,还有一些非盈利组织比如学校等。

一个文件可以搭建多个yum仓库;

内核位置为:/boot X86代表架构;

yum info #显示所有可用包的信息

2、yum实现过程:

先在yum服务器上创建 yum仓库,在仓库中事先存储了众多rpm包,以及包的相关元数据文件;

当yum客户端利用yum工具进行安装时包时,会自动下载repodata中的元数据,查询元数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。

3、Linux部署yum仓库项目:

(1) 主配置文件:/etc/yum.conf

[root@localhost]# /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever //yum下载的RPM包的缓存目录 $basearch代表硬件 $releasever系统版本比如7
keepcache=0                                   //是否保存缓存  0代表不保存,1代表保存
debuglevel=2                                  //调试级别了解即可
logfile=/var/log/yum.log					 // 日志文件位置
exactarch=1								     //是否允许不同版本的rpm安装
obsoletes=1									//update 的一个参数是否可以允许旧版本的运行	
gpgcheck=1                                  //验证秘钥
plugins=1                                   //是否允许插件1代表可以
installonly_limit=5                         //保存几个内核 5代表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的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号,如:8,7,6
$arch: CPU架构,如:aarch64, i586, i686,x86_64等
$basearch:系统基础平台;i386, x86_64
$contentdir:表示目录,比如:centos-8,centos-7
$YUM0-$YUM9:自定义变量

(2) yum仓库文件位置:/etc/yum.repos.d

默认的yum仓库 是centos官方的yum源,需要联网才可以使用;

[root@localhost yum.repos.d]# ls /etc/yum.repos.d/
bak               CentOS-Debuginfo.repo  CentOS-Sources.repo
CentOS-Base.repo  CentOS-fasttrack.repo  CentOS-Vault.repo
CentOS-CR.repo    CentOS-Media.repo

(3) 日志文件:/var/log/yum.log

[root@localhost yum.repos.d]# cat /var/log/yum.log //查看日志文件
Jun 23 11:03:16 Installed: apr-1.4.8-3.el7.x86_64
Jun 23 11:03:16 Installed: apr-util-1.5.2-6.el7.x86_64
Jun 23 11:03:16 Installed: httpd-tools-2.4.6-67.el7.centos.x86_64

(4) yum相关命令:

命令作用
yum list显示所有可用包
yum info显示可用包的信息
yum search模糊查找相关信息
yum whatprovides精确查找
yum grouplist显示所有可用包组
yum groupinfo显示所有的包组具体信息
yum install安装具体软件包
yum update软件升级
yum remove卸载具体软件
yum history查看当前yum操作历史
yum history undo加入序号卸载序号里安装的软件
yum history redo加入序号重新执行序号里的操作
#显示可用的安装包,如不加软件名是显示所有的可用包,由于软件过多不做例子。
[root@localhost data]# yum list dhcp
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
已安装的软件包
dhcp.x86_64              12:4.2.5-58.el7.centos               @centos7
#显示安装包详细信息
[root@localhost ~]# yum info dhcp

在这里插入图片描述

#根据关键字查找软件安装包,有模糊查询和精确查询
[root@localhost ~]# yum search ftp   #模糊查询
[root@localhost ~]# yum whatprovides ftp   #精确查询

在这里插入图片描述

#安装包组的查询,若不加包组名就是显示所有(此处例子由于安装了中文环境,无法显示英文包组名称无法直接复制中文使用,建议直接安装英文操作系统)
[root@localhost data]# yum grouplist

在这里插入图片描述

#安装软件包
[root@localhost ~]# yum install httpd
#卸载已安装的软件必须加软件名
[root@localhost yum.repos.d]# yum remove httpd
#查看yum历史的使用记录
[root@localhost yum.repos.d]# yum history 

在这里插入图片描述

(5) 搭建yum仓库的方式:

软件仓库的提供方式
FTP服务:ftp://ip地址/站点里路径
HTTP服务:http://域名或者ip地址/站点里的路径
本地目录:file://绝对路径 (file:///mnt 此处第三个/为根目录

(6) 搭建本地yum仓库:

#首先将光驱中镜像文件进行挂载
[root@localhost ~]# mount /dev/sr0 /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# df -Th    //查看下挂载
/dev/sr0                iso9660   4.3G  4.3G     0  100% /mnt 

#切换到 /etc/yum.repo.d 目录 将自带的仓库移走
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir bak    #新建一个文件夹用来存放原来的.repo文件
[root@localhost yum.repos.d]# mv *.repo bak/    #将原来的.repo文件移走
[root@localhost yum.repos.d]# ls   #查看一下
bak

#新建yum仓库文件
[root@localhost yum.repos.d]# vim abc.repo
[abc]
name=abc
baseurl=file:///mnt
enabled=1
gpgcheck=0

[root@localhost yum.repos.d]#yum clean all   //清除一下yum
[root@localhost yum.repos.d]#yum list   //列出yum

(7)搭建阿里云仓库(http方式外网环境)

国外云仓库比较慢,可以使用阿里云仓库代替;

#新建阿里云yum仓库文件
[root@localhost yum.repos.d]# vim ali.repo
[ali]
name=aliyun
baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/
enabled=1
gpgcheck=0

[root@localhost yum.repos.d]#yum clean all   //清除一下yum缓存
#两个小游戏
#小火车
[root@centos7 ~]#yum -y install epel-release
[root@centos7 ~]#yum -y install sl
[root@centos7 ~]#sl -a
#牛
[root@localhost ~]#yum install -y install cowsay
[root@localhost ~]#cowsay hello

(8)ftp方式搭建云仓库:

服务端:192.168.111.122

客户端:192.168.111.130

#服务端安装vsftp服务
[root@localhost ~]# yum install vsftpd.x86_64 -y
#服务端切换到 ftp目录下新建一个centos7,other目录
[root@localhost ~]# cd /var/ftp/
[root@localhost ftp]# ls
pub
[root@localhost ftp]# mkdir centos7 other
[root@localhost ftp]# ls
other centos7  pub

#服务端将光驱里的文件包全部拷到centos7里面(此处我已经先将光驱挂载到 了mnt目录下了)
[root@localhost ftp]#mount /dev/sr0 /mnt/
[root@localhost ftp]# cp -rf /mnt/* centos7/ &                                //&代表后台运行应为文件较大
[root@localhost ftp]#jobs  #查看shell作业信息(后台下载的)
[root@localhost ftp]# cd centos7/
[root@localhost centos7]# ls                                                 //已将安装包文件拷入
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL

[root@localhost ~]# cd /var/ftp/other
#建立数据库文件
[root@localhost other]# createrepo -g      /mnt/repodata/repomd.xml ./

#服务端开启相关服务,关闭防火墙和selinux
[root@localhost repodata]# systemctl stop firewalld.service
[root@localhost repodata]# setenforce 0
[root@localhost repodata]# systemctl start vsftpd   //重启vsftpd服务
[root@localhost ftp]#netstat -natp | grep ftp   //过滤查找ftp
tcp6       0      0 :::21                   :::*                    LISTEN      20518/vsftpd
#客户端安装ftp 服务并启动关闭防火墙和selinux
[root@localhost yum.repos.d]# yum install ftp
[root@localhost repodata]# systemctl stop firewalld.service
[root@localhost repodata]# setenforce 0

#测试ftp服务是否正常
[root@localhost yum.repos.d]# ftp 192.168.111.122

在这里插入图片描述

在这里插入图片描述

#编写yum仓库文件
[root@localhost yum.repos.d]# vim centos7.repo
[centos7]
name=centos7
baseurl=ftp://192.168.111.122/centos7
enabled=1
gpgcheck=0

[other]
name=other
baseurl=ftp://192.168.111.122/other
enabled=1
gpgcheck=0
#测试是否yum可以正常使用
[root@localhost ftp]#yum clean all
[root@localhost ftp]#yum list
[root@localhost yum.repos.d]# yum install dhcp

在这里插入图片描述

4、NFS共享文件:

(1) NFS简介:

NFS(Network File System 网络文件服务)
NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。
通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
NFS 也是 NAS 存储 设备必然支持的一种协议。

(2) 特点:

采用TCP/IP传输网络文件;
安全性低;
简单易操作;
适合局域网环境;

(3) 原理:

NFS优势:节省本地存储空间,将常用的数据如:/home 目录,存放在NFS服务器上且可以通过网络访问,将减少本地磁盘的使用率。

(4) 搭建过程:

#服务器端:192.168.111.122
[root@localhost httpd]#systemctl stop firewalld
[root@localhost httpd]#setenforce 0
[root@localhost share]#yum install nfs-utils.x86_64  -y
#安装软件包盘用作共享使用

在这里插入图片描述

#新建共享目录
[root@localhost httpd]#mkdir /share
[root@localhost httpd]#cd /share/
[root@localhost share]#chmod -R 777 /share/
#修改权限
[root@localhost share]#vim /etc/exports
#编辑配置文件
/share *
/share 192.168.91.0/24(rw,sync,no_root_squash)
#共享目录  网段           读写,同步,无root权限

#重启rpcbind和nfs服务
[root@localhost ~]# systemctl start rpcbind 
[root@localhost ~]# systemctl start nfs 
[root@localhost ~]#exports -vr
#不重启生效
[root@localhost share]#exportfs -v
#查看详细的nfs信息

[root@localhost ~]# netstat -anpt | grep rpc
[root@localhost share]# showmount -e
Export list for localhost.localdomain:
/share (everyone)

在这里插入图片描述

#客户机端:192.168.111.130
[root@localhost ~]#mkdir /data   //创建一个挂目录
#挂载服务器端地址文件在自己目录下
[root@localhost ~]# mount 192.168.111.122:/share /data
[root@localhost ~]#df -hT
192.168.111.122:/share  nfs4       17G  8.6G  8.5G   51% /data
#测试一下
#服务器 touch 一个文件,在客户端看看有没有
[root@localhost share]# touch 1.txt
#客户端:
[root@localhost yum.repos.d]# cd /data
[root@localhost data]# ls
1.txt
#因为给了 share 777权限,因此客户端也可以 touch 文件
[root@localhost data]# touch 2.txt
[root@localhost data]# ls
1.txt  2.txt

#强制解挂载
[root@localhost ~]# umount /mnt
t umount. nfs: /mnt : device is busy 
[root@localhost ~]# umount -lf /mnt

在这里插入图片描述

总结:
这些项目比较容易上手,在学习过程中还是要多敲多练习,俗话说:好记性不如烂笔头,说明了多动手敲命令很重要,好好学习,天天向上!

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-15 12:08:50  更:2021-10-15 12:09:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 19:31:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码