1.yum仓库简介
yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间 为什么会有依赖关系的发生 因为linux本身就是以系统简洁为自身优势,所以在安装操作系统的时候并没有将所有的库文件以及编译软件包进行安装,所以在linux操作系统上进行软件安装的时候会出现软件包依赖的情况。yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜狐云,还有一些非盈利组织比如学校等。官方的源一般在国外,下载速度肯定有限,手动更改成国内的云可以大幅提升下载速度。
1.1 yum如何实现安装服务的
1.yum客户端根据配置文件找到yum服务端的仓库位置
2.下载元数据到yum客户端
3.yum客户端通过配置文件找到对应包的位置
4.将包下载到yum客户端本地
1.2 yum配置文件
位置:/etc/yum.conf //主配置文件
仓库设置位置:/etc/yum.repos.d/*.repo
例子里是默认的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
1.3yum命令详解
| 命令 | 不加关键字 | 加入关键词、软件包、软件包组 |
|---|---|---|
| yum list | 显示所有可用包 | 单个的可安装包 |
| yum info | 显示所有可用包的信息 | 单个具体的信息 |
| yum search | \ | 模糊查找所有的相关信息 |
| yum provides | \ | 精确查找 |
| yum grouplist | 显示所有可用包组 | 显示具体的包组 |
| yum groupinfo | 显示所有的包组具体信息 | 显示具体的包组的具体信息 |
| yum install | \ | 安装具体软件包 |
| yum groupinstall | \ | 安装具体软件包组 |
| yum update | 所有软件升级 | 具体软件升级 |
| yum group update | 所有包组升级 | 具体包组升级 |
| yum remove | \ | 卸载具体软件 |
| yum groupremove | \ | 卸载具体包组软件 |
| yum history | 查看当前yum操作历史 | \ |
| yum history undo | 加入序号卸载序号里安装的软件 | \ |
| yum history redo | 加入序号重新执行序号里的操作 | \ |
#/data/目录如果不存在,会自动创建
yum -y install --downloadonly --downloaddir=/data/bind bind
# 只下载 指定下载目录(如不存在会新建) 软件名
1.3 搭建仓库的方式
软件仓库的提供方式
- FTP服务:ftp://ip地址/站点里路径
- HTTP服务:http://域名或者ip地址/站点里的路径
- 本地目录:file://绝对路径 (file:///mnt 此处第三个/为根目录)
1.4 搭建阿里云
国外云仓库比较慢,可以使用阿里云仓库代替
1.切换到 yum.repo.d 目录 将自带的仓库移走
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv *.repo bak/
[root@localhost yum.repos.d]# ls
bak
2.新建aliyun仓库
【aliyun】
name=aliyun
baseurl=https://mirrors.aliyun.com/epel/$releasever/x86_64
https://mirrors.cloud.tencent.com/epel/$releasever/x86_64
https://mirrors.huaweicloud.com/epel/$releasever/x86_64
https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/x86_64
gpgcheck=0
[epel] //epel源仓库
name=epel
baseurl=https://mirrors.aliyun.com/centos/7/extras/x86_64/
gpgcheck=0
[update] //更新包仓库
name=update
baseurl=https://mirrors.aliyun.com/centos/7/updates/x86_64/
gpgcheck=0
2.FTP文件传输协议
2.1FTP工作原理介绍
文件传输协议:File Transfer Protocol 早期的三个应用级协议之一,基于C/S结构
数据传输格式:二进制(默认)和文本
双通道协议:命令和数据连接 21 命令端口(权限,认证) 20数据端口(真实传数据)
两种模式:
主动模式:服务端主动开启20端口号连接客户端
被动模式:客户端通过命令端口得知当前服务端的随机端口号,之后进行连接。
用户认证:
- 匿名用户:ftp,anonymous,对应Linux用户ftp
- 系统用户:Linux用户,用户/etc/passwd,密码/etc/shadow
- 虚拟用户:特定服务的专用用户,独立的用户/密码文件
2.2常见FTP相关软件
vsftpd:Very Secure FTP Daemon,CentOS 默认FTP服务器
高速,稳定,下载速度是WU-FTP的两倍
配置文件:/etc/vsftpd/vsftpd.conf
2.2.1 vsftpd软件的基本操作
1.安装服务端
yum install vsftpd -y
#安装 ftp 服务器
systemctl start vsftpd
#开启服务
2.客户端连接服务端
先yum install ftp -y
并开启服务
[root@localhost ~]#ftp 192.168.91.101
# ftp 客户端 工具 服务端地址
onnected to 192.168.91.101 (192.168.91.101).
220 (vsFTPd 3.0.2)
Name (192.168.91.101:root): anonymous #此处填写用户名 默认使用 ftp 或者匿名用户
#默认没有密码
3.登录成功后就可以查看帮助,查看一些命令
ftp> help
#可以使用help 查看帮助
ftp> ls
#可以使用 ls 查看文件列表
ftp> ls
227 Entering Passive Mode (192,168,91,101,24,148)
# Passive 消极被动 默认使用 被动模式
ftp> passive
#可以人为指定被动主动
ftp> get bigfile
#下载大文件, 后可以 使用 ss -nt 看到又打开一个通道
2.3 vsftpd服务常见配置
2.3.1修改默认命令端口
[root@node2 pub]#vim /etc/vsftpd/vsftpd.conf
#随便一行插入
listen_port=2121
[root@node2 pub]#systemctl restart vsftpd
#重启服务
[root@node2 pub]#ss -ntl
2.3.2使用当地时间
use_localtime=YES 使用当地时间(默认为NO,使用GMT)
2.3.3 匿名用户登录
anonymous_enable=YES 支持匿名用户,CentOS8 默认不允许匿名
no_anon_password=YES 匿名用户略过口令检查 , 默认NO
2.3.4匿名用户上传
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/
#没权限写 ,在传文件时需要考虑 文件系统权限, 你是远程用户吧文件放在磁盘上,需要考虑文件系统的权限
#程序权限,文件系统权限
客户端中
2.3.5 匿名用户下载删除文件
在 vsftpd 软件中 只可以 下载有 读权限的文件, 没有读权限的文件时不可以直接下载的需要修改下面的选项
anon_world_readable_only=NO 只能下载全部读的文件, 默认YES
anon_umask=0333 指定匿名上传文件的umask,默认077,注意:0333中的0不能省略
anon_other_write_enable=YES 可删除和修改上传的文件,默认NO
2.3.6 下载文件
ftp> lcd /opt 先传送到客户机opt文件夹下
Local directory now /opt
ftp> cd pub 再cd到服务机的文件夹下
550 Failed to change directory.
ftp> get 123 下载服务机的文件到客户机的opt文件夹下
local: 123 remote: 123
227 Entering Passive Mode (192,168,223,100,36,24).
150 Opening BINARY mode data connection for 123 (0 bytes).
226 Transfer complete.
2.3.7,让每个用户拥有独有的配置
[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
#建立两个文件测试使用
3.NFS
3.1 NFS是什么
NFS:Network File System 网络文件系统,基于内核的文件系统。Sun 公司开发,通过使用 NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,基于RPC(Remote Procedure Call Protocol 远程过程调用)实现。
NFS的优势: 节省本地存储空间,将常用的数据,如:/home目录,存放在NFS服务器上且可以通过网络访问,本地终端将可减少自身存储空间的使用。
3.2NFS软件介绍
软件包: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)...
3.3 NFS工具
3.3.1 exportfs
exportfs:可用于管理NFS导出的文件系统
-v #查看本机所有NFS共享
-r #重读配置文件,并共享目录
-a #输出本机所有共享
-au #停止本机所有共享
3.3.2 showmount
showmount -e hostname
[root@centos7 ~]#showmount -e 10.0.0.8
Export list for 10.0.0.8:
/data/wordpress *
3.3.3 mount.nfs
客户端NFS挂载
NFS相关的挂载选项:man 5 nfs
[root@centos7 ~]#mount 10.0.0.8:/data/wordpress /mnt/nfs
挂载命令 服务端ip地址 共享的文件 本机挂载点
http内网建立yum仓库操作
操作内容
建立yum服务端,和客户端,使客户端在没网的情况下也能下载http软件
具体操作
1.先建立服务端,安装http软件,提供文件共享服务
2.将光驱挂载到/var/www/html上提供安装包
3.重启服务
4.到客户端中先传动到/etc/yum.repos.d文件中
5.将文件里的网络源换成http.repo源,建立一个文件将网络源移进入
6.建立文件http.repo文件
7.文件内容
8.清理yum缓存数据
9.建立元数据
ftp方式共享操作
具体操作
1.先安装服务端的vsftpd软件
2.开启vsftpd服务
3.在/var/ftp/ 内里自建一个文件夹
4.将光驱挂载到自己建立的文件夹下,目的是提供安装包
5.设置客户端操作也是在/etc/yum.repos.d/文件夹下建立ftp.repo的文件。这边不使用网络源所以先建立文件,将网络源移进去
6.创建ftp文件,并进行配置
7.清理yum缓存
8.建立元数据
9.使用客户机安装一下查看是否可以安装就证明是否成功
NFS的文件共享操作
具体操作
1.先在服务机上下载nfs-utils软件
2.修改配置文件/etc/exports
3.刷新共享目录
4.远端客户机中下载nfs软件
5.挂载服务器的ip地址在本机的挂载点上
6.到挂载点中去查看文件