1.yum仓库简介
1.1yum简介
-
yum是一个基于RPM包构建的软件更新机制,能够自动解决软件之间的依赖关系。
-
yum由仓库和客户端组成,也就是整个yum由两部分组成,,所以yum可以存放在两台服务器上。
1.2yum 实现过程
yum仓库里必须要有安装包
安装包:光驱(/dev/sr0)里自带的 ; 挂载提供软件包;
先在yum服务器上创建 yum repository(仓库)
在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下)
当yum客户端利用yum/dnf工具进行安装时包时,会自动下载repodata中的元数据
查询远数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。
yum需要依赖于环境,依赖于服务端和客户端,允许跨网络
1.yum客户端根据配置文件找到yum服务端的仓库位置
2.下载元数据到yum客户端
3.yum客户端通过配置文件找到对应包的位置
4.将包下载到yum客户端本地
服务器:
- RPM包 (Packages文件夹中)
- 元数据(repodata文件夹:目录(软件的目录),软件的依赖关系,软件的位置)
仓库类型:
- 光盘的仓库基本仓库 比较常用的
- epel扩展仓库 比较新
2. yum配置文件及命令
2.1 yum配置文件
主配置文件
位置:/etc/yum.conf //主配置文件
仓库设置文件
位置:/etc/yum.repos.d/*.repo //yum仓库文件位置
日志文件
位置:/var/log/yum.log //日志文件
2.2 yum命令详解
yum list :
不加关键词:显示所有可用包 加关键词、软件包、软件包组:单个可安装包
yum info
不加关键词: 显示所有可用包的信息 加关键词、软件包、软件包组:单个具体的信息
yum search
不加关键字:\ 加入关键词、软件包、软件包组:模糊查找所有的相关信息
yum provides
不加关键字:\ 加入关键词、软件包、软件包组:精确查找不知道安装包,只知道某个命令可用此方法查找
yum grouplist [包组名]
yum groupinfo <包组名>
不加包组名显示全部
yum安装升级
yum install [软件名]
安装软件包,如例子yum install安装http服务
yum groupinstall <包组名>
yum update
更新包组,可以单个也可以全部 后面加具体包组名称就是单个更新,不加就是全部更新。
但是首先你要有更新的包组库否则也无法更新。
软件卸载
无法彻底删除依赖关系yum remove <软件名>
卸载已安装的软件必须加软件名
- yum history 数字 redo(重新安装软件)
- yum history 数字 undo(反悔卸载等于重新安装一遍)
搭建仓库的方式
本地yum仓库 没有网络的情况下, 光盘
软件仓库的提供方式
- 本地目录:file://绝对路径 (file:///mnt 此处第三个/为根目录)
- HTTP服务:http://域名或者ip地址/站点里的路径
- FTP服务:ftp://ip地址/站点里路径
搭建阿里云
国外云仓库比较慢,可以使用阿里云仓库代替
1.切换到 yum.repo.d 目录 将自带的仓库移走
2.编写aliyun配置文件
编写内容如下
3.清理缓存
4.重新构建元数据
搭建本地yum仓库
本地yum仓库
- 1.将光驱挂载到mnt挂载点,就能直接使用里面的软件包
- 2.去本地yumcku,建立文件夹移走网络源减少干扰
- 3.编写本地yum仓库配置文件
- 编写内容如下
- 4.清里缓存,重新构建元数据
本地yum仓库构建结束
http 内网建立yum仓库操作
服务端是有网络的,客户端是没网的,服务端依靠网络安装网页软件
httpd,并且解决依赖关系,将光驱挂载,提供安装包.客户端直接搭建yum仓库,只需要将软件包来源指明:服务端的ip地址即可
操作过程
注意:关闭防火墙
1.服务端
- yum -y install httpd (安装网页软件,提供文件共享服务)
- mount /dev/sr0 /var/www/html (提供安装包)
- systemctl start httpd (开启网页服务)
2.客户端
1.先cd 去本地yum仓库,建立文件夹,移走网络源
2.编写http仓库
编写如下:
4.清理缓存
5.重新构建元数据
ftp文件传输协议
FTP工作原理介绍
文件传输协议:File Transfer Protocol 早期的三个应用级协议之一,基于C/S结构
数据传输格式:二进制(默认)和文本
双通道协议:命令和数据连接 21 命令端口(权限,认证) 20数据端口(真实传数据)
两种模式:
主动模式:服务端主动开启20端口号连接客户端
被动模式:客户端通过命令端口得知当前服务端的随机端口号,之后进行连接。
用户认证:
- 匿名用户:ftp,anonymous,对应Linux用户ftp
- 系统用户:Linux用户,用户/etc/passwd,密码/etc/shadow
- 虚拟用户:特定服务的专用用户,独立的用户/密码文件
常见FTP相关软件
vsftpd:Very Secure FTP Daemon,CentOS 默认FTP服务器
高速,稳定,下载速度是WU-FTP的两倍
配置文件: /etc/vsftpd/vsftpd.conf
vsftpd软件的基本操作
1.安装服务端
2.客户端连接服务端
3.登陆成功后可用查看一些帮助,命令
vsftpd服务常见配置
修改默认命令端口
vim /etc/vsftpd/vsftpd.conf
使用当地时间
use_localtime=YES 使用当地时间(默认为NO,使用GMT)
匿名用户登录
匿名用户上传
-
anon_mkdir_write_enable=YES 匿名建目录
-
chmod 777 /var/ftp/pub
服务端中
[root@node2 pub]#vim /etc/vsftpd/vsftpd.conf
#此处是被注释开启就可以了
anon_upload_enable=YES
anon_mkdir_write_enable=YES
[root@node2 pub]#ll /var/ftp/pub/
#没权限写 ,在传文件时需要考虑 文件系统权限, 你是远程用户吧文件放在磁盘上,需要考虑文件系统的权限
#程序权限,文件系统权限
匿名用户下载删除文件
在 vsftpd 软件中 只可以 下载有 读权限的文件, 没有读权限的文件时不可以直接下载的需要修改下面的选项
- anon_world_readable_only=NO 只能下载全部读的文件, 默认YES
- anon_umask=0333 指定匿名上传文件的umask,默认077,注意:0333中的0不能省略
- anon_other_write_enable=YES 可删除和修改上传的文件,默认NO
下载文件
p> lcd /opt 先传送到客户机opt文件夹下
Local directory now /opt
ftp> cd pub 再cd到服务机的文件夹下
0 Failed to change directory.
ftp> get 123 下载服务机的文件到客户机的opt文件夹下
cal:123 remote:123
7 Entering Passive Mode (192,168,223,100,36,24).
0 Opening BINARY mode data connection for 123 (0 bytes).
6 Transfer complete.
让每个用户拥有独有的配置
[root@node2 pub]#vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/conf.d/
#可以自由指定
针对 zhangsan lisi 用户
[root@node2 data]#mkdir -p /etc/vsftpd/conf.d
#先建立好配置文件夹
#编写子配置文件
[root@node2 data]#vim /etc/vsftpd/conf.d/lisi
local_root=/data/lisi
[root@node2 data]#vim /etc/vsftpd/conf.d/zhangsan
local_root=/data/zhangsan
[root@node2 data]#mkdir -p /data/{zhangsan,lisi}
[root@node2 data]#touch /data/zhangsan/zs.txt
[root@node2 data]#touch /data/lisi/lisi.txt
建立两个文件测试使用
vsftpd软件的基本操作
注意:关闭防火墙
1.服务端
1.安装vsftpd网页提供安装包
2.开启vsftpd网页服务
3.建立文件夹 并将光驱挂载到新建的文件夹下
2.客户端:
1.去客户端指定yum仓库
2.编写ftp 仓库
编写如下:
3.清理缓存
4.重新构建元数据
存储和NFS共享
存储类型分为三种
- 直连式存储 : 简称DAS ;存储和主机是直连的,家用电脑,服务和硬盘直连,存储和主机在一台机器上
- 网络附加存储 : 简称NAS;有一定距离,主机核存储设备距离先对较远 ,只提供空间不提供文件系统,管理等其他软件服务,只相当于多了一块硬盘
- 存储区域网络 : 简称SAN;存储在远程,文件系统也在远程,这块空间,你可以直接访问上面的文件,你只能看到文件,文件共享NFS FTP 等都是NAS
NFS是什么
-
NFS(Network File System 网络文件服务) 文件系统(软件)文件的权限
-
NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。
-
通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源,
-
NFS 也是 NAS 存储 设备必然支持的一种协议
NFS软件介绍
-
软件包:nfs-utils(包括服务器和客户端相关工具,CentOS8 最小化安装时默认没有安装)
-
相关软件包:rpcbind(必须),tcp_wrappers
-
Kernel支持:nfs.ko
端口:2049(nfsd), 其它端口由portmap(111)分配 NFS服务主要进程:
- rpc.nfsd 最主要的NFS进程,管理客户端是否可登录
- rpc.mountd 挂载和卸载NFS文件系统,包括权限管理
- rpc.lockd 非必要,管理文件锁,避免同时写出错
- rpc.statd 非必要,检查文件一致性,可修复文件
NFS配置文件:
/etc/exports
/etc/exports.d/*.exports
NFS共享配置文件格式
/dir 主机1(opt1,opt2) 主机2(opt1,opt2)...
NFS工具
exportfs
exportfs:可用于管理NFS导出的文件系统
-v 查看本机所有NFS共享
-r 重读配置文件,并共享目录
-a 输出本机所有共享
-au 停止本机所有共享
showmount
showmount -e hostname
[root@centos7 ~]#showmount -e 10.0.0.8
Export list for 10.0.0.8:
/data/wordpress *
mount.nfs
-
客户端NFS挂载
-
NFS相关的挂载选项:man 5 nfs
[root@centos7 ~]#mount 10.0.0.8:/data/wordpress /mnt/nfs 挂载命令 服务端ip地址 共享的文件 本机挂载点
NFS的文件共享操作
具体操作
1.先在服务机上下载nfs-utils软件
软件下载好后开启nfssystemctl start nfs
2.修改配置文件/etc/exports
3.刷新共享目录
重启nfs服务
4.远端客户机中下载nfs软件
5.挂载服务器的ip地址在本机的挂载点上
6.到挂载点中去查看文件