yum仓库(局域yum仓库搭建、本地仓库搭建)、NFS(网络文件系统)、samba共享服务

yum仓库(局域yum仓库搭建、本地仓库搭建)和nfs

文章目录

一、yum仓库的介绍

【1】原理

Yum软件仓库的作用是为了进一步简化RPM管理软件难度以及自动分析所需软件包及其依赖关系的技术。您可以把Yum想象成是一个硕大的软件仓库,里面保存有几乎所有常用的工具,而只需要说出所需的软件包名称,系统就会自动的为您搞定一切。

【2】分类

(1)线网yum源http://(要ping通外网才可以使用)
(2)局域网yum源ftp://(要ping通局域网才可以使用)
(3)本地yum源file://(是用光盘中的软件包)

【3】配置文件

yum仓库放置路径:/etc/yum.repos.d/
ftp站点:/var/ftp/

二、局域网yum源搭建(ftp)

【1】服务端配置
(1)挂载光盘
[root@localhost ~]# hostname server(为了实验方便临时修改主机名)
[root@localhost ~]# bash
[root@server ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@server ~]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs                   tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs                   tmpfs     1.9G   13M  1.9G    1% /run
tmpfs                   tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        50G  4.5G   46G    9% /
/dev/mapper/centos-home xfs       245G   37M  245G    1% /home
/dev/sda1               xfs      1014M  238M  777M   24% /boot
tmpfs                   tmpfs     378M   12K  378M    1% /run/user/42
tmpfs                   tmpfs     378M     0  378M    0% /run/user/0
/dev/sr0                iso9660   4.4G  4.4G     0  100% /mnt
(2)安装vsftp服务
[root@server ~]# yum install -y vsftpd
[root@server ~]# cd /var/
[root@server var]# ls(查看是否有ftp目录)
account  cache  db     ftp    gopher    lib    lock  mail  opt       run    target  yp
adm      crash  empty  games  kerberos  local  log   nis   preserve  spool  tmp
(3)在ftp站点(/var/ftp/)中创建下载目录(centos7)
[root@server var]# cd ftp
[root@server ftp]# ls
pub
[root@server ftp]# mkdir centos7
[root@server ftp]# ls
centos7  pub
(4)将光盘的挂载点下所有复制到ftp下载目录中
[root@server ftp]# cp -rf /mnt/* centos7/ &(放在后台运行,可以继续执行后面的步骤)
[root@server ftp]# ls centos7/
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 ftp]# jobs(查看后台运行)
(5)创建yum索引环境
[root@server ftp]# mkdir other
[root@server ftp]# ls
centos7  other  pub
[root@server ftp]# createrepo -g /mnt/repodata/repomd.xml other/(使用光盘的索引模板)
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
(6)启动vsftp服务
[root@server ~]# systemctl stop firewalld.service 
[root@server ~]# setenforce 0
[root@server ftp]# systemctl start vsftpd
[root@server ftp]# netstat -natp |grep 21
tcp6       0      0 :::21                   :::*                    LISTEN      2711/vsftpd         
【2】客户端配置
(1)安装ftp服务源并查看连接
[root@client ~]# yum install -y ftp*
[root@client ~]# ftp 192.168.60.60(使用ftp连接服务器)
Connected to 192.168.60.60 (192.168.60.60).
220 (vsFTPd 3.0.2)
Name (192.168.60.60:root): ftp(匿名登录)
331 Please specify the password.
Password:(服务器的密码)
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls(查看站点信息)
227 Entering Passive Mode (192,168,60,60,47,117).
150 Here comes the directory listing.
drwxr-xr-x    8 0        0             220 Jul 13 02:59 centos7
drwxr-xr-x    3 0        0              22 Jul 13 03:01 other
drwxr-xr-x    2 0        0               6 Apr 01 04:55 pub
226 Directory send OK.
(2)创建ftp本地服务源
[root@client ~]# cd /etc/yum.repos.d/
[root@client yum.repos.d]# mkdir backup
[root@client yum.repos.d]# mv C* backup
[root@client yum.repos.d]# touch centos7.repo

查看gpgkey的路径

[root@server ~]# cd /var/ftp/centos7/
[root@server centos7]# ls
CentOS_BuildTag  EULA  images  LiveOS  repodata  RPM-GPG-KEY-CentOS-Testing-7
EFI    GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL

其中RPM-GPG-KEY-CentOS-7就是密钥存放的文件,进入yum源写入相关信息。

[root@client yum.repos.d]# vim centos7.repo
[base]
name=base.centos7
baseurl=ftp://192.168.60.60/centos7(软件包路径)
enabled=1
gpgcheck=1(开启验证功能)
gpgkey=ftp://192.168.60.60/centos7/RPM-GPG-KEY-CentOS-7(密钥路径)
[other]
name=other.centos7
baseurl=ftp://192.168.60.60/other
enabled=1
gpgcheck=0
(3)清除本地yum缓存,重新加载缓存
[root@client yum.repos.d]# yum clean all
已加载插件:fastestmirror, langpacks
正在清理软件源: base other
Cleaning up list of fastest mirrors
Other repos take up 21 M of disk space (use --verbose for details)
[root@client yum.repos.d]# yum list

三、搭建本地yum仓库(file)

【1】挂载光盘
[root@localhost ~]#mount /dev/cdrom /mnt(挂载光盘到/mnt目录下)
【2】移动线网yum源到文件夹中
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost 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@localhost yum.repos.d]# mkdir backup
[root@localhost yum.repos.d]# mv C* backup/
[root@localhost yum.repos.d]# ls
backup
【3】创建本地yum源
[root@localhost yum.repos.d]# touch local.repo
[root@localhost yum.repos.d]# ls
backup  local.repo
【4】在本地源中写入相关信息
[root@localhost yum.repos.d]# vim local.repo (编辑本地yum)
[local]
name=centos7
baseurl=file:///mnt(本地yum使用的路径光盘挂载的目录)
enabled=1
gpgcheck=0
【5】清除本地缓存并加载
[root@localhost yum.repos.d]# yum clean all(清空缓存)
[root@localhost yum.repos.d]# yum list(重新加载列表)

四、NFS共享储存

【1】原理

NFS 跟其他文件共享协议一样,也是采用了 C/S 架构。但是,NFS 只提供了基本的文件处理功能,而不提供任何 TCP/IP 数据传输功能。它需要借助 RPC 协议才能实现 TCP/IP 数据传输功能。NFS 文件系统对客户端来说是完全透明的,访问 NFS 文件系统上的文件或目录就跟在访问本地的文件或目录一样!

【2】配置文件

/etc/exports

【3】搭建
(1)在服务端添加共享的硬盘,格式化并挂载使用

1)添加新的磁盘并处理
在这里插入图片描述

[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x6f618b27 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-52428799,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-52428799,默认为 52428799):
将使用默认值 52428799
分区 1 已设置为 Linux 类型,大小设为 25 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:26.8 GB, 26843545600 字节,52428800 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x6f618b27
   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    52428799    26213376   83  Linux
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。

2)格式化磁盘

[root@localhost ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=1638336 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=6553344, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=3199, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

3)挂载

临时挂载
[root@server ~]# mount /dev/sdb1 /mnt
[root@server ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs                   tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs                   tmpfs     1.9G   13M  1.9G    1% /run
tmpfs                   tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        50G  4.5G   46G    9% /
/dev/mapper/centos-home xfs       245G   37M  245G    1% /home
/dev/sda1               xfs      1014M  238M  777M   24% /boot
tmpfs                   tmpfs     378M   24K  378M    1% /run/user/0
/dev/sr0                iso9660   4.4G  4.4G     0  100% /run/media/root/CentOS 7 x86_64
/dev/sdb1               xfs        25G   33M   25G    1% /mnt
永久挂载
[root@server ~]#vim /etc/fstab
/dev/sdb1   /mnt   xfs   defaults   0 0
[root@server ~]#mount -a
(2)安装nfs-utils和rpcbind软件包,并设置开机自启动

为了实验清晰临时修改主机名

[root@localhost ~]# hostname server
[root@localhost ~]# bash

安装nfs相关的软件包

[root@server ~]# yum install -y nfs-utils
[root@server ~]# yum install -y rpcbind
(3)修改配置文件
[root@server ~]# vim /etc/exports
/mnt    192.168.60.0/24(rw,sync,no_root_squash)
(4)关闭防火墙、防护,开启nfs服务、查看端口状态、查看是否共享
[root@server ~]# systemctl stop firewalld.service 
[root@server ~]# setenforce 0
[root@server ~]# systemctl start nfs
[root@server ~]# systemctl start rpcbind
[root@server ~]# netstat -natp |grep rpcbind
tcp        0      0 0.0.0.0:111       0.0.0.0:*        LISTEN      795/rpcbind         
tcp6       0      0 :::111            :::*             LISTEN      795/rpcbind      
[root@server ~]# showmount -e(查看是否共享)
Export list for server:
/mnt 192.168.60.0/24
(5)在客户端安装http服务
[root@localhost ~]# hostname client
[root@localhost ~]# bash
[root@client ~]# systemctl stop firewalld
[root@client ~]# setenforce 0
setenforce: SELinux is disabled
[root@client ~]# yum install -y httpd
(6)挂载共享目录到网页目录下
临时挂载
[root@client ~]# mount 192.168.60.60:/mnt /var/www/html/
[root@client ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        50G  4.2G   46G    9% /
devtmpfs                devtmpfs  470M     0  470M    0% /dev
tmpfs                   tmpfs     487M     0  487M    0% /dev/shm
tmpfs                   tmpfs     487M  8.3M  478M    2% /run
tmpfs                   tmpfs     487M     0  487M    0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  166M  849M   17% /boot
/dev/mapper/centos-home xfs       247G   37M  247G    1% /home
tmpfs                   tmpfs      98M   12K   98M    1% /run/user/42
tmpfs                   tmpfs      98M     0   98M    0% /run/user/0
192.168.60.60:/mnt      nfs4       25G   33M   25G    1% /var/www/html
永久挂载
[root@client ~]# vim /etc/fstab 
192.168.60.60:/mnt /var/www/html     nfs       defaults,_netdev      0 0
[root@client ~]# mount -a
(6)验证是否共享
[root@client ~]# vim /var/www/html/index.html
<h1>this is nfs web </h1>
[root@client ~]# systemctl start httpd

网页验证
在这里插入图片描述
查看服务器磁盘是否有客户端写的网页文件

[root@server ~]# cd /mnt
[root@server mnt]# ls
index.html
[root@server mnt]# cat index.html 
<h1> this is nfs web </h1> 
(7)模拟服务器宕机并处理

在服务端停止nfs共享模拟宕机

[root@server ~]# systemctl stop nfs

在客户端会出现查看挂载卡死
在这里插入图片描述
处理方法,ctrl+c结束查看,强制解挂载(不要自动补全)

[root@client ~]# umount -lf /var/www/html/
[root@client ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        50G  4.2G   46G    9% /
devtmpfs                devtmpfs  470M     0  470M    0% /dev
tmpfs                   tmpfs     487M     0  487M    0% /dev/shm
tmpfs                   tmpfs     487M  8.4M  478M    2% /run
tmpfs                   tmpfs     487M     0  487M    0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  166M  849M   17% /boot
/dev/mapper/centos-home xfs       247G   37M  247G    1% /home
tmpfs                   tmpfs      98M   12K   98M    1% /run/user/42
tmpfs                   tmpfs      98M     0   98M    0% /run/user/0

五、samba文件共享服务

【1】功能介绍

Samba是一个能让Linux系统应用Microsoft网络通信协议的软件。而SMB是Server Message Block的缩写,即为服务器消息块。常见的五种访问用户的方式:user(用户模式)、share(共享模式)、ads(活动目录模式)、server(服务器模式)、domain(域模式)。
Samba最大的功能就是可以用于Linux与Windows系统直接的文件共享和打印共享,Samba既可以用于Windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享。由于NFS(网络文件系统)可以很好地完成Linux与Linux之间的数据共享,因此Samba较多地用在了Linux与Windows之间的数据共享上面。

【2】配置文件相关参数

在samba的配置文件/etc/samba/smb.conf中关于集中模式的相关参数

(1)user模式下
security = user    #####工作模式
username map = /etc/samba/smbusers  #####别名登录设置,要在smbusers文件中添加别名
[user]
        path = /opt/test      #####访问的文件路径
        browseable = yes   ######允许访问
        create mask = 0644   ######对文件的读写权限
        directory mask = 0755   #######对目录的权限
        valid users=zhangsan,lisi   #######允许访问的允许
        write list=zhangsan    ######允许写入的用户
        hosts deny=192.168.60. 10.0.0.   #####访问控制列表,禁止某个或多个网段访问

在创建用户的时候可以创建samba密码

[root@hostlocal~]#sambapasswd -a zhangsan
[root@hostlocal~]#sambapasswd -a lisi
[root@hostlocal~]#pdbedit -L(查看samba密码列表用户)
zhangsan:500:
lisi:501:
[root@hostlocal~]#systemctl restart smb (重启samba服务)

pdbedit命令的相关参数

pdbedit –a username:新建Samba账户。
pdbedit –x username:删除Samba账户。
pdbedit –L:列出Samba用户列表,读取passdb.tdb数据库文件。
pdbedit –Lv:列出Samba用户列表的详细信息。
pdbedit –c “[D]” –u username:暂停该Samba用户的账号。
pdbedit –c “[]” –u username:恢复该Samba用户的账号。

在重启之前要到客户端清空用户缓存
在这里插入图片描述
用户别名访问修改smbusers文件的相关参数

[root@localhost samba]#vim smbusers
zhangsan = zhangsi zhangwu
(2)share模式下
security = share
[share]
        path = /opt/sam #####访问的文件目录是自己创建的
        public = yes     ######允许公共访问
        browseable = yes
        writable = yes    ######允许写入
        create mask = 0644
        directory mask = 0755

关闭防火墙,防护策略等重启服务器

[root@localhost ~]#systemctl stop firewalld
[root@localhost ~]#setenforce 0
[root@localhost ~]#systemctl restart smb

然后在客户机上面搜索服务器的IP地址,服务器就可以和客户机之间共享文件了。
在这里插入图片描述

【3】基于客户端共享文件
(1)在服务器上面创建一个挂载目录
[root@localhost ~]# mkdir samba
[root@localhost ~]# ls
samba 
(2)在客户机上面新建一个共享的文件

在这里插入图片描述

(3)使用匿名访问使用guest用户

在这里插入图片描述

(4)修改本地策略

1)打开本地策略命令
在这里插入图片描述
2)从本地拒绝访问权限中删除guest用户
在这里插入图片描述
3)在网络访问模型中设置仅来宾
在这里插入图片描述
4)更新策略gpupdate /force
在这里插入图片描述
5)共享客户机创建的文件夹,并给予权限
在这里插入图片描述
给予权限
在这里插入图片描述

(5)在服务器上面挂载使用
[root@localhost ~]# smbclient -L 192.168.60.12
Enter MYGROUP\root's password: (密码为空)
Anonymous login successful
[root@localhost ~]# mount.cifs //192.168.60.12/benet /samba
[root@localhost ~]#cd /samba
[root@localhost ~]#cp -r /samba /opt/samba.bak

挂载上去之后就可以使用cp命令拷贝,这样也达到了共享的效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值