目录
1、yum仓库简介
何为yum仓库,即是存放rpm安装包的地方
1.1、yum简介
yum是一个基于RPM安装包的安装程序。
其性能优秀并且可以自动解决软件包之间的依赖关系,当你安装软件时他会自动检测该软件的依赖关系,并下载。解决了日常工作中的因为大量查找安装依赖包所浪费的时间。
所以在linux操作系统上进行软件安装的时候会出现软件包依赖的情况。yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜狐云,还有一些非盈利组织比如学校等。官方的源一般在国外,下载速度肯定有限,手动更改成国内的云可以大幅提升下载速度。
1.2、yum安装方式
既然是安装,那就必须要有 Packages软件安装包和 Repodate元数据,当客户端通过yum进行安装(yum install)时,会通过本地的文件配置去寻找安装包和元数据。
安装方式:本地安装(file://)和网络安装(http://和ftp://)
1、本地yum仓库:将终端中的光驱挂载到系统文件夹下,修改yum仓库设置文件,把网络源修改为本地的光驱挂载点。
2、网络yum仓库:系统自带的yum仓库设置文件。默认的网络源,通常为linux官方提供的,也可以自己修改成阿里云等其他第三方网站。(官方的软件安装包可以保障足够安全)
3、自建网络yum仓库(ftp、http协议):自己使用ftp或者http协议建立起一个服务器,当客户端连接上,既可以通过网络从服务器下载软件安装包,进行安装。(方法同网络yum仓库,但服务器要自己搭建,适用于公司的软件自研)
2、yum仓库设置文件
2.1、本地yum仓库
本地yum仓库需要自己手动编辑
2.2、网络yum仓库
默认为linux官方的,也可以自己修改成阿里云等其他第三方网站
2.3、自建网络yum仓库
3、yum命令
命令格式:yum [选项] [关键字]
3.1、查询
1、yum list
yum list [软件名]
查看 该软件的 安装包信息
当 没有 指定软件名时,查看所有安装包信息
2、yum info
yum info [软件名]
显示该软件安装包的详细信息
(比list更详细)
3、yum search
yum search [关键字]
根据关键字寻找安装包(安装包中的关键字)
4、yum provides
yum provides [命令]
用软件里面的命令,来查找软件的安装包
5、yum grouplist
yum grouplist
查看所有包组信息(安装包组合=包组=一组安装包)
6、yum groupinfo
yum groupinfo [组包名]
不加包组名显示全部
3.2、安装、升级
1、yum install
yum install [安装包名]
安装软件
2、yum groupinstall
yum group install [包组名]
安装包组
3、yum update
yum update [软件名]
升级软件
4、yum groupupdate
yum groupupdate [包组名]
升级包组
3.3、卸载
1、yum remove
yum remove [软件名]
卸载软件
2、yum groupremove
yum groupremove [包组]
卸载包组
3.4、history
yum history
yum history
查看yum操作的历史记录
1、yum history undo
yum history undo 5
反向操作yum记录里面第5条
2、yum history redo
yum history redo 5
重新进行第5步操作
3、yum history info
yum history info 5
查看第5步具体做了什么
4、yum仓库创建
yum仓库分为本地yum仓库和网络yum仓库
通常我们使用网络yum仓库,只有在特殊的情况下才使用本地yum仓库,因为网络yum仓库的安装包资源比本地yum仓库的资源更新,且本地yum仓库中种类太少
总结一下:
本地~:安装包安全,在无网络情况下可以使用,但文件版本和种类没网络的多
网络~:文件版本、种类相比本地跟全面,但安装时需要向服务器下载,如果网络环境太差会导致下载失败,导致无法安装
4.1、本地yum仓库的搭建方式
1、挂载
mount /dev/sr0 /mnt
将光驱挂载到/mnt文件夹(方便获取光驱内的安装包和元数据)
2、进入yum.repos.d文件夹
cd /etc/yum.repos.d/
yum.repos.d文件夹是用来存放所有yum仓库设置文件的
3、新建文件夹并将设置文件移动进去
mkdir bak
新建bak文件夹
mv *.repo bak
将当前文件夹下所有名字带有*.repo的文件移动到bak文件夹中
4、新建yum仓库设置文件
vim 123.repo
新建设置文件
[123]
name=123
baseurl=file:///mnt
gpgcheck=0
配置完成后
:wq
保存并退出
5、清除原有缓存并建立新的
yum clean all
清除所有缓存
yum makecache
建立新的元数据缓存
6、检测本地yum仓库是否搭建成功
yum install vsftpd
安装个软件,用于检测本地yum仓库是否搭建成功,若成功安装则搭建成功,反之失败
4.2、通过http 搭建yum仓库
服务端
1、安装httpd
yum install -y httpd
安装httpd
这里服务端和客户端都要安装
2、启动httpd服务
systemctl start httpd
启动服务
3、挂载
mount /dev/sr0 /var/www/html/
将光驱挂载到该文件夹下,可以通过ip访问到
客户端
1、安装httpd
yum install -y httpd
安装httpd
这里服务端和客户端都要安装
2、重启httpd服务
systemctl restart httpd
3、进入yum.repos.d文件夹
cd /etc/yum.repos.d/
yum.repos.d文件夹是用来存放所有yum仓库设置文件的
4、新建文件夹并将设置文件移动进去
mkdir bak
新建bak文件夹
mv *.repo bak
将当前文件夹下所有名字带有*.repo的文件移动到bak文件夹中
5、新建yum仓库设置文件
vim http.repo
[http]
name=http
baseurl=http://192.168.64.100
gpgcheck=0
新建yum仓库设置文件
并配置该文件
6、清除原有缓存并建立新的
yum clean all
清除所有缓存
yum makecache
建立新的元数据缓存
7、检测本地yum仓库是否搭建成功
yum install vsftpd
安装个软件,用于检测yum仓库是否搭建成功,若成功安装则搭建成功,反之失败
4.3、通过ftp 搭建yum仓库
1、安装软件
给客户端和服务端安装vsftpd
yum install -y vsftpd
安装软件
安装包叫做vsftpd
服务端操作
1、启动进程
systemctl start vsftp
启动vsftpd服务
2、挂载
mkdir /var/ftp/centos7/
在ftp目录下创建centos7目录,方便后续操作
mount /dev/sr0 /var/ftp/centos7
将光驱挂载,使其内部文件可以被查找到
客户端操作
1、启动服务
systemctl start vsftpd
启动服务
2、进入yum.repos.d文件夹
cd /etc/yum.repos.d/
yum.repos.d文件夹是用来存放所有yum仓库设置文件的
3、新建文件夹并将设置文件移动进去
mkdir bak
新建bak文件夹
mv *.repo bak
将当前文件夹下所有名字带有*.repo的文件移动到bak文件夹中
4、新建yum仓库设置文件
vim ftp.repo
[ftp]
name=ftp
baseurl=ftp://192.168.64.100/centos7/
gpgcheck=0
新建yum仓库设置文件
并配置该文件
5、清除原有缓存并建立新的
yum clean all
清除所有缓存
yum makecache
建立新的元数据缓存
6、测试
yum install httpd
安装软件,作为测试
4.4、离线安装
在公司,一部分机器是内网所以无法连接外网,一部分可以连接,这个时候想让内网的终端安装最新版的软件,可以用一台主机将安装包下载到本地,再把他作为服务器来让内网的主机下载
1、下载安装包
yum -y install --downloadonly --downloaddir=/data/vsftpd vsftpd
将vsftpd的安装包下载到本地指定文件夹,不会进行安装
2、查看是否下载成功
cd /data/vsftpd/
ls
进入文件夹,查看
5、储存
5.1、储存分类
存储类型分为三种
-
直连式存储:DAS (Direct-Attached Storage)
-
网络附加存储:NAS (Network-Attached Storage)
-
存储区域网络:SAN (Storage Area Network)
DAS | NAS | SAN | |
传输类型 | SCSI、FC | IP | IP、FC、SAS |
数据类型 | 数据块 | 文件 | 数据块 |
典型应用 | 任何 | 文件服务器 | 数据库应用 |
优点 | 磁盘和主机直接 连接方便管理 | 不占用服务器资源 支持许多操作系统 安装方式简便 | 高扩展性 高可用性 数据集中,易管理 |
缺点 | 连接距离短 数据分散,共享困难 存储空间利用率不高 扩展性有限 | 不适于储存过大的 文件,且数据恢复 和备份占用网络太 多 | 与NAS相比: 价格更贵,升级更 复杂 |
直连式存储:系统直接连接硬盘
网络附加存储:通过网络共享服务,远程储存信息,但是系统是固定的,
存储区域网络:也是通过网络共享服务,远程储存信息,但是系统可以自己设置,磁盘可以自己分区
5.2、NFS共享
NFS(Network File System 网络文件服务)所有Sun公司开发的一种基于 TCP/IP 传输的网络文件系统协议,NAS存储设备必然支持该协议
通过使用 NFS 协议,客户机可以像访问本地目录一样访问 远程服务器 中的共享资源,将像家一样
NFS 远程共享 的原理就是通过 NFS 协议将服务器所共享的文件夹挂载到客户端上
5.1、通过NFS完成共享
1、安装(客户端和服务端)
yum install -y nfs-utils
安装nfs安装包
2、启动(客户端和服务端)
systemctl start rpcbind nfs-server
启动服务,先rpcbind在nfs
systemctl enable rpcbind nfs-server
设置开机自启
3、服务端创建共享文件夹并完成共享
mkdir /etc/data
在opt下创建文件夹data,过会儿我们将把这个文件夹共享出去
touch /etc/data/11
创建文件
vim /etc/exports
进入exports文件中
/etc/data *(rw)
将/etc/data共享出去,所有人都可以对其读写
chmod 666 /etc/data/11
修改11文件的权限,使其所有人可以修改
exportfs -r
刷新共享状态使客户端可以发现该文件夹
exportfs -v
可以查看共享的文件夹
4、客户端连接服务端
showmount -e 192.168.64.100
连接至服务器
mount -t nfs 192.168.64.100:/etc/data /data
将服务端的/etc/data文件挂载到/data下
5、使用客户端修改服务器共享的文件并创建新的文件
客户端:
vim /data/11
进入共享文件随便修改一点
服务器:
cat /etc/data/11
检测是否被修改
5.3、ftp
1、什么是ftp
- 文件传输协议:File Transfer Protocol 早期的三个应用级协议之一,基于C/S结构
- 数据传输格式:二进制(默认)和文本
- 双通道协议:命令和数据连接 21 命令端口(权限,认证) 20数据端口(真实传数据)
命令端口21:传输客户端的权限、认证
数据端口20:传输真实的数据
主动连接:客户端 通过21端口 连接服务端,想下载一个文本,服务器 开启20端口 将数据传输 给客户端
被动连接:客户端 通过21端口 连接服务端,想下载一个文本,服务器 开启一个随机端口(端口 号随机)等待客户端自己连接, 然后告诉客户端该端口号,需要客户端自己去连接该 端口才可以下载
是否是被动或主动连接需要看软件和系统,有的是默认被动, 有的是默认主动
-
匿名用户:ftp,anonymous,对应Linux用户ftp
-
系统用户:Linux用户,用户/etc/passwd,密码/etc/shadow
-
虚拟用户:特定服务的专用用户,独立的用户/密码文件
2、常见FTP---vsftpd
Very Secure FTP Daemon 简称为 vsftpd 十分常见的ftp软件
使用该服务时需要在双端同时下载FTP 客户端用的是FTP 而服务端使用的是vsftpd
3、服务器操作
yum install -y vsftpd
服务端 ftp 服务器
yum install -y ftp
安装ftp服务
ftp 192.168.64.100
连接