yum、ftp、nfp

1、yum配置文件及命令

2、http通过网页分享安装包

3、ftp文件共享方式分享安装包

4、FTP

5、NFS(包含实验)

YUM

基于RPM包构建的软件更新机制
可以自动解决依赖关系
所有软件包由集中的YUM软件仓库提供
 
0
 
 
mount /dev/sr0/mnt 之后有了packages和repodata。
file:///mnt因此才选择mnt
baseurl=地址 一定要写到 这个2个文件夹repodata packages的上级目录
仓库类型:
基本仓库 常用
epel扩展仓库 比较新
 
服务器:
RPM包(packages文件夹中)
元数据:软件的依赖关系,软件的位置
如何实现安装服务:
0

yum配置文件及命令

yum的配置文件:
主配置文件: /etc/yum.conf
仓库设置文件: /etc/yum.repos.d/*.repo //yum仓库文件位置
日志文件: /var/log/yum.log
 
yum命令
yum install 安装
yum remove 卸载要加卸载的包名字(坏处:只能卸载主包,依赖关系安装的包不能卸载)
yum list 列出当前仓库的所有包
yum info 安装包信息(要加名字)
yum search 模糊查找
yum provides 准确查找(反向查找,通过命令反向查找包
yum update 软件升级
yum history 可以查看yum的安装记录
yum grouplist 安装包组的查询,不加组名就显示所有
yum groupinstall 组安装
yum history undo 7 卸载第七次所有的安装包,卸载的很干净
yum history redo 6 重新安装第六次所有的安装包
yum history info 4 第四次一共安装了哪些包
 
软件仓库的提供方式:
FTP服务:ftp://ip地址/站点里路径
HTTP服务:http://域名或者ip地址/站点里的路径
本地目录: file://绝对路径 (file:///mnt 此处第三个/为根目录)
 
CentOS系统的yum源
#阿里云 https://mirrors.aliyun.com/centos/$releasever/

http内网仓库 通过网页共享安装包

yum install httpd -y //安装提供网页服务的软件
systemctl start httpd //开启服务
systemctl stop firewalld
setenforce 0
systemctl status httpd //查看状态
ss -ntap |grep http (或者grep ":80")
cd /var/www/html //放你想共享给别人的文件
mkdir /var/www/html/centos7
mount /dev/sr0 /var/www/html/centos7
去客户端编写配置文件(网络要通)
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
vim httpd.repo
[http]
name=http
baseurl=http://192.168.91.100/centos7
gpgcheck=0
yum clean all ; yum makecache
yum install tree 验证
 

FTP文件共享的方式去分享安装包

ftp 文件共享服务
linux vsftpd(服务端) ftp(客户端) 提供 ftp服务的软件
要在客户端和服务端安装
服务端:
yum install vsftpd.x86_64 -y
systemctl start vsftpd
 
cd /var/ftp/
mkdir /var/ftp/centos7
mount /dev/sr0 /var/ftp/centos7
ls centos7
客户端:
yum install ftp -y
验证ftp 是否能访问:ftp 192.168.91.100 (对方的IP)
ftp
cd centos7
退出来 quit
 
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
 
vim ftp.repo
[ftp]
name=ftp
gpgcheck=0
yum clean all
yum makecache
yum install tree 下载1个验证
 
没有外网:系统自带的yum 只要一些基础的包
 
createrepo -v 生成元数据(包的位置,包的依赖关系)
 
自研了一款软件,客户不希望编译:
服务端(安装包 元数据自己生成) 客户端
rpm -q tree
rpm -e tree (卸载)
mount /dev/sr0 /mnt
cd /data
cd /packages
cp tree-按tab /data
mkdir test
mv tree-1.6.0.10.el7.x855_64.rpm test/
cd test
mkdir packages
mv tree-1.6按tab packages/
ls
cd ..
createrepo -v test
cd tesr
ls
这就是元数据
 
 
网络文件共享服务
存储类型
直连式存储DAS
网络附加存储NAS
存储区域网络SAN(可靠,但是要硬件,花钱)
 

FTP

2个模式
主动:
服务器主动连接客户端
被动:
服务器被动等待客户端连接
 
FTP服务状态码
1XX:信息 125:数据连接打开
2XX:成功类状态 200:命令OK     230:登录成功
3XX:补充类     331:用户名OK
4XX:客户端错误 425:不能打开数据连接
5XX:服务器错误 530:不能登录
 
服务是FTP,实现服务的是VSFTPD
因此VSFTPD是服务端,客户是FTP
 
用户认证
匿名用户:ftp、anonymous,对应linux用户ftp
系统用户:Linux用户,用户/etc/passwd,密码/etc/shadow
虚拟用户:特定服务的专用用户,独立的用户/密码文件
用户认证配置文件:/etc/pam.d/vsftpd
配置文件:/etc/vsftpd/vsftpd.conf
用户和其共享目录
  • 匿名用户(映射为系统用户ftp )共享文件位置:/var/ftp
  • 系统用户共享文件位置:用户家目录
  • 虚拟用户共享文件位置:为其映射的系统用户的家目录
匿名用户登录:
/etc/vsftpd/vsftpd.conf
anonymous_enable=YES 支持匿名用户,CentOS8 默认不允许匿名//29行
no_anon_password=YES 匿名用户略过口令检查 , 默认N
注意:还需要开启文件系统访问的权限,不能给FTP根目录写权限,只能级子目录写权限
anon_world_readable_only=NO 只能下载全部读的文件, 默认YES
anon_umask=0333 指定匿名上传文件的umask,默认077,注意:0333中的0不能省略
anon_other_write_enable=YES 可删除和修改上传的文件,默认NO
Linux系统用户
local_enable=YES 是否允许linux用户登录
write_enable=YES 允许linux用户上传文件
local_umask=022 指定系统用户上传文件的默认权限对应umask
 
客户端
yum install ftp -y
ftp 192.168.91.100
 
使用网络共享服务
1、软件自身的权限
2、文件夹本身的权限
 

NFS网络文件系统

C/S模式,依赖于RPC(远端过程调用)
nfs端口号不固定(因此客户端直接去访问portmay)
NFS优势:节省本地存储空间,将常用的数据,如:/home目录,存放在NFS服务器上且可以通过网络访问,本地终端将可减少自身存储空间的使用。
 
端口:2049(nfsd), 其它端口由portmap(111)分配
 
软件包:nfs-utils(2边都要装)
主要进程:rs.nfsd /管理客户端是否可登录
rpc.mountd 挂载和卸载NFS文件系统,包括权限管理
rpc.lockd 非必要,管理文件锁,避免同时写出错
rpc.statd 非必要,检查文件一致性,可修复文件
日志:/var/lib/nfs/
NFS配置文件: /etc/exports
/dir 主机1(opt1,opt2) 主机2(opt1,opt2)...
anonymous:表示使用*通配所有客户端
wildcards:主机名通配,例如:*.kgc.com,IP不可以
netgroups:NIS域的主机组,@group_name
 
默认选项:(ro,sync,root_squash,no_all_squash)
ro,rw 只读和读写
async 异步,数据变化后不立即写磁盘,先写入到缓冲区中,过一段时间再写入磁盘,性能高,安全性
sync(1.0.0后为默认)同步,数据在请求时立即写入共享存储磁盘,性能低,安全性高
root_squash (默认)远程root映射为nfsnobody,UID为65534,CentOS8 为nobody,CentOS 7以前的版本为nfsnobody
no_root_squash 远程root映射成NFS服务器的root用户
all_squash 所有远程用户(包括root)都变成nfsnobody,CentOS8 为nobody
no_all_squash (默认)保留共享文件的UID和GID
anonuid和anongid 指明匿名用户映射为特定用户UID和组GID,而非nobody,可配合all_squash使用
 
exportfs:可用于管理NFS导出的文件系统
常见选项:
-v #查看本机所有NFS共享
-r #重读配置文件,并共享目录
-a #输出本机所有共享
-au #停止本机所有共享
 
客户端NFS挂载: mount.nfs
NFS相关的挂载选项:
fg #(默认)前台挂载
bg #后台挂载
hard #(默认)持续请求
soft   #非持续请求
intr   #和hard配合,请求可中断
rsize #和wsize 一次读和写数据最大字节数,rsize=32768
_netdev #无网络连接不挂载
vers    #指定版本,客户端centos8默认4.2 ,centos7默认4.1 centos6默认4.0
实例:
mount -o rw,nosuid,fg,hard,intr 172.16.0.1:/testdir /mnt/nfs/
mount 10.0.0.8:/data/wordpress /mnt/nfs
 
df -T /mnt/nfs
 
开机挂载
vim /etc/fstab  
172.16.0.1:/public   /mnt/nfs   nfs   defaults,_netdev  0  0
 
 
实际操作
服务端:
yum install nfs-utilst+tab -y
(服务端和客户端都装)
ll /etc/exports
mkdir /ky23
vim /etc/exports
/ky23 *(*是所有人,表示你想贡献给谁)
systemctl start nfs
exportfs -v
systemctl restart nfs(不推荐)
exportfs -r (刷新一下,但是不终止)
 
客户端:
yum install nfs-utilst+tab -y
systemctl start nfs
showmount -e 192.168.91.100
文件系统三步走:分区,格式化,挂载
mount 192.168.91.100:/ky23 /mnt
cd /mnt
df
 
到服务端:
cd /ky23/
touch 1111
 
客户端:
cd /mnt
ls
touch 222 无权限
服务端添加权限
注意:你客户端用的是服务端的文件夹,所以你客户端的用户对服务端来说就是没有用户(这里的用户是root,普通用户还是普通用户)
服务端:
vim /etc/exports
/ky23 *(rw)
exportfs -r
chmod 777 /ky23
现在就可以创建了
 
压榨:
都压榨成普通用户:
/share *(rw,no_root_squash)
#不压榨root
/share *(rw,no_root_squash,all_squash
#都压榨
/nfs1 *(rw,no_root_squash,all_squash,anonuid=1003,anongid=1003)
#指定压榨成统一用户
vim /etc/exports
/ky23 *(rw,all_squash,anonuid=1003,anongid=1003)
exportfs -r
 
到客户端
创建出来的就都是1003的用户了
posted @ 2022-10-23 02:09  七分人格  阅读(163)  评论(0编辑  收藏  举报