目录
一.yum仓库
1.1.yum基础知识及命令
yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间
yum安装,必须要有两个文件夹,一个是Packages文件夹(RPM包),一个是repodata文件夹(元数据,软件的目录、依赖关系和软件位置)
yum仓库:使用C/S架构,基于rpm构建的软件更新机制。
1.2.搭建本地yun仓库
适用范围:一台不能使用/etc/yum.repos.d/配置文件中的外网源进行下载软件,且有系统完整rpm包的光驱的情况下。 |
yum本地库建立步骤:①首先将硬盘挂载
挂载:将硬件设备和系统内的一个文件夹做关联,访问此文件夹就相当于访问硬件设备
挂载命令: mount命令 + 硬件设备文件夹 挂载点
解挂载:umount + 挂载的文件夹
若挂载失败查看设备状态是否都已勾选
②挂载光驱
[root@zrsb ~]# mount /dev/sr0 /mnt
③切换到仓库文件夹中,并将其他源都给移动到新建的文件夹中
[root@zrsb ~]# cd /etc/yum.repos.d/ #切换到仓库文件夹中
[root@zrsb yum.repos.d]# mkdir bak #创建新文件夹
[root@zrsb yum.repos.d]# mv *.repo bak/ #将所有源移动到新文件夹中,减少对本地源的影响
③创建一个本地配置文件并将配置填写
[root@zrsb yum.repos.d]# vim local.repo
[local] #文件名
name=local #源的名字
baseurl=file:///mnt # 安装包的路径
gpgcheck=0 #不使用密钥核实
④清除yum之前的缓存,重新建立元数据
⑤安装软件验证本地yum库
[root@zrsb yum.repos.d]# yum install -y tree #安装一个tree软件
1.3.通过httpd服务建立yum仓库
适用范围:多台不能使用/etc/yum.repos.d/配置文件中的外网源进行下载软件,且有至少一个服务有系统完整rpm包的光驱的情况下。
①首先将所有的服务防火墙和selinux关闭
systemctl stop firewalld #关闭防火墙
setenforce 0 #关闭selinux
②在有光驱的zrsb服务器上安装httpd服务并在/var/www/html目录下创建一个光驱挂载目录lbl,并将光驱挂载到lbl目录下
③开启lbl的httpd服务,在本机的浏览器中输入lbl服务器的ip地址和挂载路径查看光驱内容。
systemctl start httpd #开启httpd服务,不开启服务没办法加载网页
数据库文件即元信息
④创建配置文件
⑤清理yum缓存,重新获取元数据,进行yum安装httpd服务验证
1.4.ftp方式搭建yum仓库
①客户端ftp软件,服务端下载vsftp软件
客户端:
[root@xzq ~]#yum install -y ftp.x86_64
服务端:
[root@zrsb ~]#yum install -y vsftpd
②在服务端切换到/var/ftp目录下,新建一个liu目录
[root@zrsb ~]# cd /var/ftp/
[root@zrsb ftp]# mkdir centos7
[root@zrsb ftp]# ls
centos7 pub
③服务端将光驱里的文件包全部拷到liu里面
[root@zrsb ftp]# mount /dev/sr0 liu/
[root@zrsb ftp]# cp -rf /mnt/* liu/ &
④建立数据库文件
[root@zrsb ftp]# createrepo -g /var/ftp/liu/repodata/repomd.xml ./
⑤服务端开启vsftp服务,关闭防火墙和selinux
[root@zrsb ftp]#systemctl stop firewall.service #关闭防火墙
[root@zrsb ftp]#setenforce 0 #关闭selinux
[root@zrsb ftp]#systemctl start vsftpd #开启vsftp服务
⑥编写yum配置文件,清理yum缓存,重建元数据
[root@xzq yum.repos.d]#vim ftp.repo
[ftp]
name=ftp
baseurl=ftp://192.168.3.101/liu
gpgcheck=0
[root@xzq yum.repos.d]#yum clean all
[root@xzq yum.repos.d]#yum makecache
⑦客户端关闭防护墙和selinux,启动ftp服务
[root@xzq yum.repos.d]#systemctl stop firewall.service
[root@xzq yum.repos.d]#setenforce 0
[root@xzq yum.repos.d]#systemctl start ftp #下载后,就可以使用ftp,可以不启用ftp
⑧安装软件进行测试
[root@xzq yum.repos.d]# yum install -y tree.x86_64
二.网络文件共享服务
2.1.共享服务类型
存储类型分为三种
直连式存储:Direct-Attached Storage,简称DAS
网络附加存储:Network-Attached Storage,简称NAS(存储和管理空间都在远程)
存储区域网络:Storage Area Network,简称SAN(可以使用空间,管理也是你来管理)
三种存储架构的应用场景
DAS虽然比较古老了,但是还是很适用于那些数据量不大,对磁盘访问速度要求较高的中小企业
NAS多适用于文件服务器,用来存储非结构化数据,虽然受限于以太网的速度,但是部署灵活,成本低
SAN则适用于大型应用或数据库系统,缺点是成本高、较为复杂
2.2.FTP文件传输协议
基于C/S结构
数据传输格式:二进制(默认)和文本
双通道协议:命令和数据连接 21 命令端口(权限,认证) 20数据端口(真实传数据)
两种模式:从服务器角度:
主动(PORT style):服务器主动连接客户端
命令(控制):客户端:随机port ---> 服务器:21/tcp
数据:客户端:随机port <---服务器:20/tcp
被动(PASV style):服务器被动等待客户端连接
命令(控制):客户端:随机port ---> 服务器:21/tcp
数据:客户端:随机port ---> 服务器:随机port /tcp
FTP服务状态码
1XX:信息 125:数据连接打开
2XX:成功类状态 200:命令OK 230:登录成功
3XX:补充类 331:用户名OK
4XX:客户端错误 425:不能打开数据连接
5XX:服务器错误 530:不能登录用户认证
匿名用户:ftp,anonymous,对应Linux用户ftp
系统用户:Linux用户,用户/etc/passwd,密码/etc/shadow
虚拟用户:特定服务的专用用户,独立的用户/密码文件
FTP服务器端软件
Wu-ftpd,Proftpd,Pureftpd,Filezilla Server,Serv-U,Wing FTP Server,IIS
vsftpd:Very Secure FTP Daemon,CentOS 默认FTP服务器,高速,稳定,下载速度是WU-FTP的两倍,由 vsftpd 包提供。
用户认证配置文件:/etc/pam.d/vsftpd
用户和其共享目录
匿名用户(映射为系统用户ftp )共享文件位置:/var/ftp
系统用户共享文件位置:用户家目录
虚拟用户共享文件位置:为其映射的系统用户的家目录
vsftpd基础操作:
①安装服务端
[root@localhost ~]# yum install -y vsftpd
[root@localhost ~]# yum install -y ftp.x86_64
②启动服务
[root@localhost ~]# systemctl start vsftpd
③连接客户端
vsftpd服务常用配置:
①修改默认命令端口
在/etc/vsftpd/vsftpd.conf添加一行listen_port=9527,就可以将默认端口修改。
如:服务端修改默认命令端口,然后重启
[root@xzq ~]# vim /etc/vsftpd/vsftpd.conf
[root@xzq ~]# systemctl restart vsftpd
另一台服务器访问:
②主动模式和被动模式端口
主动模式
connect_from_port_20=YES 主动模式端口为20
ftp_data_port=20 (默认) 指定主动模式的端口被动模式
pasv_min_port=6000 0为随机分配,端口范围会影响客户端的并发数
pasv_max_port=6010
③匿名用户登录
④匿名用户上传和创建目录
⑤手动添加匿名用户下载和删除文件
anon_world_readable_only=NO 只能下载全部读的文件, 默认YES
anon_other_write_enable=YES 可删除和修改上传的文件,默认NO
⑥指定匿名用户的上传文件的默认的所有者和权限
匿名用户上传文件默认的所有者是ftp 用户 是可以修改的
⑦Linux系统用户
⑧将所有系统用户映射为指定的guest用户
guest_enable=YES 所有系统用户都映射成guest用户
guest_username=ftp 配合上面选项才生效,指定guest用户
local_root=/ftproot 指定guest用户登录所在目录,但不影响匿名用户的登录目录
user_config_dir=/etc/vsftpd/conf.d/ 每个用户独立的配置文件目录
2.3.NFS共享服务
NFS属于NAS功能性能大于ftp等,因为NFS工作在内核而ftp是一个程序。
直连存储:DAS,存储和主机是直连的。
网络附加存储:NAS 给一个文件系统可以看到文件不能更改,主机和设备距离相对较远。
存储区域网络:SAN 主机和存储设备距离相对较远,提供空间相当于多了一块硬盘。
NFS端口不固定,依靠rpcbind,rpcbind端口固定111,NFS会把端口号告诉rpcbind,rpcbind相当于一个中转站,所以使用NFS时rpcbind服务必须正常。
NFS配置文件路径:/etc/exports
NFS:Network File System 网络文件系统,基于内核的文件系统。Sun 公司开发,通过使用 NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,基于RPC(Remote Procedure Call Protocol 远程过程调用)实现。
NFS优势:节省本地存储空间,将常用的数据,如:/home目录,存放在NFS服务器上且可以通过网络访问,本地终端将可减少自身存储空间的使用。
NFS工作原理:
1)用户通过本地的rpcbind服务,向网络中的另一台服务器rpcbind服务查找NFS服务的方式;
2)通过rpcbind服务反馈的信息,是本机使用网络中的另一台服务器的NFS服务。
在访问NFS服务时,双方都得打开NFS服务。
①关闭2台服务器的防火墙和selinux关闭以及分别在2台服务器安装nfs软件
#2台服务器均执行
systemctl stop firewalld #关闭防火墙
setenforce 0 #关闭selinux
yum install nfs-utils.x86_64 -y
②在服务端并创建共享文件夹/share,/share中创建内容为‘llb’的a.txt文件。
服务端执行:
mkdir /share #创建共享文件夹/share
cd /share #进入共享文件夹/share
echo 'llb'>a.txt #在/share文件夹中创建内容为123的a.txt文件
chmod 777 /share #给所有人share文件夹的读写执行权限
③在服务器配置nfs配置文件将/share文件夹共享给所有人并给读权限
vim /etc/exports #打开nfs的配置文件
#配置文件内容:
/share 192.168.47.0/24(rw,sync,no_root_squash) #注意权限和共享对象之间不能有空格
共享目录 共享网段 rw读写 sync同步 no_root_squash将root权限压制成普通用户
#共享文件绝对路径 *表示所有人,可写网段rw表示服务的读写权限,
sync表示同步内容,no_root_squash表示不压缩共享对象root用户权限,
默认root用户在共享文件中创建文件夹的属主和属组
为nfsnobody用户非root用户,权限被压缩
④开启rpcbind、nfs服务并热加载配置文件内容,查看本机发布的nfs共享目录
⑤客户端打开nfs服务,并测试