目录
4 离线安装软件
一、网络文件共享服务
1.存储类型分三种:
直连式存储:Direct-Attached Storage,简称DAS
存储区域网络:Storage Area Network,简称SAN(可以使用空间,管理也是你来管理)
网络附加存储:Network-Attached Storage,简称NAS(存储和管理空间都在远程)
2.三种存储架构的应用场景
DAS虽然比较古老了,但是还是很适用于那些数据量不大,对磁盘访问速度要求较高的中小企业
NAS多适用于文件服务器,用来存储非结构化数据,虽然受限于以太网的速度,但是部署灵活,成本低
SAN则适用于大型应用或数据库系统,缺点是成本高、较为复杂
SAN
SAN通常将存储设备连接到一个独立的高速网络,而NAS则通过普通的网络协议提供文件级别的数据访问服务。对于SAN,你只需要记住几个关键词:块级别存储、高速网络、数据完整性和可靠性、集中式管理、可扩展性
SAN(存储区域网络)在各种企业和数据中心环境中都有广泛的用例,特别是用于支持性能敏感的应用程序。
NAS
Network Attached Storage则是通过网络连接的文件级存储设备。通常,NAS系统由存储设备(通常是硬盘驱动器)、文件系统和网络连接组成。NAS设备使用网络协议如NFS(Network File System)或SMB(Server Message Block)来提供文件服务,使得用户可以通过普通网络协议访问存储设备上的文件。对于NAS,你也只需要记住几个关键词:集中式存储管理、共享文件夹、易用性、跨平台兼容性、灵活的存储扩展、远程访问、数据备份和保护、多媒体服务器功能。网络附加存储(NAS)在各种场景中都有广泛的用例,为用户提供了方便的文件共享和存储解决方案。
常见协议端口号
ftp 20(数据) 21(命令) 软件 要利用协议 协议是通过应用程序实现
ssh 22
http 80
https 443
telnet 23
mysql 3306
redis 6379
二、 FTP文件传输协议
FTP(File Transfer Protocol)即文件传输协议,是一种基于TCP的协议,采用客户/服务器模式,通过FTP协议,用户可以在FTP服务器中进行文件的上传或下载等操作,虽然现在通过HTTP协议下载的站点有很多,但是由于FTP协议可以很好地控制用户数量和宽带的分配,快速方便地上传、下载文件,因此FTP已成为网络中文件上传和下载的首选服务器,同时,它也是一个应用程序,用户可以通过它把自己的计算机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。
FTP即文件传输协议,是一种基于TCP的协议,采用客户/服务器模式。通过FTP协议,用户可以在FTP服务器中进行文件的上传或下载等操作。
使用端口TCP的20、21端口:
20端口:用于建立数据连接,传输文件数据。
21端口:用于建立控制连接。
缺点:不能主动同步数据需要手动同步
1.FTP 工作原理
文件传输协议:File Transfer Protocol 早期的三个应用级协议之一,基于C/S结构
数据传输格式:二进制(默认)和文本
双通道协议:命令和数据连接 21 命令端口(权限,认证、一些基本的信息传递)
20数据端口(真实传数据)
配置文件路径:
服务配置文件:/etc/vsftpd/vsftpd.conf
黑名单配置文件:/etc/vsftpd/user_list
匿名用户FTP服务的默认根目录:/var/ftp
本地用户FTP服务的默认根目录:/home/账户同名文件
错误日志路径:/var/log/messages
2.两种模式:从服务器角度来看
主动模式:服务器主动连接客户端
命令(控制):客户端:随机port ---> 服务器:21/tcp
数据:客户端:随机port <---服务器:20/tcp
被动模式:服务器被动等待客户端连接
命令(控制):客户端:随机port ---> 服务器:21/tcp
数据:客户端:随机port ---> 服务器:随机port /tcp
3.用户认证:
匿名用户:ftp,anonymous,对应Linux用户 ftp root
系统用户:Linux用户, 用户/etc/passwd, 密码/etc/shadow
虚拟用户:特定服务的专用用户,独立的用户/密码文件
4.常见FTP相关软件
FTP服务器端软件
Wu-ftpd,Proftpd,Pureftpd,Filezilla Server,Serv-U,Wing FTP Server,IIS
vsftpd:Very Secure FTP Daemon,CentOS 默认FTP服务器
高速,稳定,下载速度是WU-FTP的两倍
ftp.redhat.com数据:单机最多可支持15000个并发
vsftpd官网:
FTP服务器系统由服务器软件、客户端软件和FTP通信协议组成。FTP服务器常见的软件:vsftpd、wu-ftpd、Proftpd、微软 IIS FTP、Serv-U等。
三、vsftpd 软件介绍
vsftpd (Very Secure FTP Daemon) 是一个非常流行且安全的开源FTP服务器软件,专为类Unix系统设计,如Linux、FreeBSD等。
- 由 vsftpd 包提供,不再由xinetd管理
- 用户认证配置文件:/etc/pam.d/vsftpd
用户和其共享目录
-
匿名用户(映射为系统用户ftp )共享文件位置:/var/ftp
-
系统用户共享文件位置:用户家目录
-
虚拟用户共享文件位置:为其映射的系统用户的家目录
#服务端:
yum install -y vsftpd #安装ftp服务器
systemctl start vsftpd #开启服务
#客户端:
yum install -y ftp #安装ftp服务程序
ftp服务端192.168.246.7 ftp客户端192.168.246.8
都关闭防火墙、防护
服务端开启vsftpd服务:systemctl start vsftpd
客户端下载ftp :yum install ftp -y
[root@localhost ~]#ftp 192.168.246.7
# ftp 客户端 工具 服务端地址
onnected to 192.168.246.7 (192.168.246.7).
220 (vsFTPd 3.0.2)
Name (192.168.91.101:root): anonymous/ftp #此处填写用户名 默认使用 ftp 或者匿名用户
#默认没有密码
ftp> help
#可以使用help 查看帮助
ftp> ls
#可以使用 ls 查看文件列表 查看的是服务器上的列表 100 显示是的 100 服务器的 文件目录
ftp> ls
227 Entering Passive Mode
# Passive 消极被动 默认使用 被动模式
ftp> passive
#可以人为指定被动主动
ftp> get bigfile
#下载大文件, 后可以 使用 ss -nt 看到又打开一个通道
这里是客户端哦:
客户端:
客户端退出ftp服务端
方式一:输入快捷键:“Ctrl+D”
方式二:输入命令“quit”
1.vsftpd服务常见配置
1.1修改默认命令端口
vim /etc/vsftpd/vsftpd.conf
#随便一行插入
listen_port=1111 默认值为21
此时客户端连接时需要指明端口号
ftp 192.168.91.101 1111
服务端配置:
客户端192.168.246.8配置:
1.2修改主动模式端口
#在vsftpd配置文件下可修改主动模式的端口
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
connect_from_port_20=YES #主动模式端口为20
ftp_data_port=20 #指定主动模式的端口,默认为20
[root@localhost ~]#systemctl restart vsftpd #重启vsftpd服务
1.3 修改被动模式端口
#在vsftpd配置文件下可修改被动模式的端口
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
#0为随机分配,规定端口范围会影响客户端的并发数
pasv_min_port=6000
pasv_max_port=6010
[root@localhost ~]#systemctl restart vsftpd #重启vsftpd服务
1.4使用当地时间
#在vsftpd配置文件下可修改服务端的时间
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
use_localtime=YES #使用当地时间(默认为NO,使用GMT)
[root@localhost ~]#systemctl restart vsftpd #重启vsftpd服务
2. 匿名用户的配置
2.1 匿名用户登录
#在vsftpd配置文件下可修改匿名用户的相关配置
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES #支持匿名用户,CentOS8默认不允许匿名
no_anon_password=YES #匿名用户略过口令检查 , 默认NO
[root@localhost ~]#systemctl restart vsftpd #重启vsftpd服务
服务端:
客户端:
2.2 匿名用户上传
ftp协议默认匿名用户不允许上传文件, 为安全考虑,如果人人都传到ftp服务器,会出现病毒、空间容量等问题
#服务端添加程序的权限
#在vsftpd配置文件下可修改匿名用户的权限
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES #支持匿名用户上传,注意:文件系统权限
anon_mkdir_write_enable=YES #支持匿名用户建文件夹
[root@localhost ~]#systemctl restart vsftpd #重启vsftpd服务
**********************************************************************
#服务端添加ftp用户的文件系统权限
[root@localhost ~]#chmod 777 /var/ftp/pub/
[root@localhost ~]#getfacl /var/ftp/pub/ #查看指定目录的权限
***********************************************************************
#服务端删除添加到/var/ftp目录下的所有规则,恢复默认权限
[root@localhost ~]#setfacl -b /var/ftp
首先进入客户端:
然后进入服务端修改配置:
客户端:
2.3 匿名用户下载及删除
在 vsftpd 软件中 只可以 下载有 读权限的文件, 没有读权限的文件时不可以直接下载的需要修改下面的选项
#在vsftpd配置文件下可修改匿名用户的权限
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
anon_world_readable_only=NO #只能下载全部读的文件, 默认YES
anon_umask=0333 #指定匿名上传文件的umask,默认077,注意:0333中的0不能省略
anon_other_write_enable=YES #可删除和修改上传的文件,默认NO
[root@localhost ~]#systemctl restart vsftpd #重启vsftpd服务
服务端:
客户端:
2.4 指定匿名用户的上传文件的默认的所有者和权限
匿名用户上传文件默认的所有者是ftp 用户 是可以修改的
#在vsftpd配置文件下可修改匿名用户的权限
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
chown_uploads=YES #默认NO
chown_username=dh #指定匿名用户的上传文件的默认的所有者为dh用户
chown_upload_mode=0644 #指定上传文件的权限
[root@localhost ~]#systemctl restart vsftpd #重启vsftpd服务
2.5禁止匿名用户登录
#在vsftpd配置文件下可修改匿名用户的权限
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO #默认YES
[root@localhost ~]#systemctl restart vsftpd #重启vsftpd服务
2.6linux系统用户的配置
#在vsftpd配置文件下可修改系统用户的权限
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
local_enable=YES #是否允许linux用户登录
write_enable=YES #允许linux用户上传文件
local_umask=022 #指定系统用户上传文件的默认权限对应umask
[root@localhost ~]#systemctl restart vsftpd #重启vsftpd服务
2.7 将所有系统用户映射为指定的guest用户
#在vsftpd配置文件下可修改系统用户的权限
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
guest_enable=YES #所有系统用户都映射成guest用户
guest_username=ftp #配合上面选项才生效,指定guest用户
#local_root=/ftproot #注释此行,默认所有用户都在ftp用户的家目录
user_config_dir=/etc/vsftpd/conf.d/ #每个用户独立的配置文件目录,可自由指定
[root@localhost ~]#systemctl restart vsftpd #重启vsftpd服务
*******************************************************************************
#编写子配置文件
[root@localhost ~]#mkdir -p /data/{mimi,gugu}
[root@localhost ~]#vim /etc/vsftpd/conf.d/lisi
local_root=/data/mimi
[root@localhost ~]#vim /etc/vsftpd/conf.d/zhangsan
local_root=/data/gugu
[root@localhost ~]#systemctl restart vsftpd #重启vsftpd服务
2.8禁锢系统用户
禁锢所有系统用户在家目录中
#在vsftpd配置文件下可修改系统用户的权限
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES #禁锢系统用户,默认NO,即不禁锢
[root@localhost ~]#systemctl restart vsftpd #重启vsftpd服务
禁锢用户开启白名单和黑名单
#在vsftpd配置文件下可修改系统用户的权限
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
chroot_list_enable=YES #默认是NO
chroot_list_file=/etc/vsftpd/chroot_list #默认值
当chroot_local_user=YES和chroot_list_enable=YES时,则chroot_list中用户不禁锢,即白名单,只允许名单里的用户登录
当chroot_local_user=NO和chroot_list_enable=YES时, 则chroot_list中用户禁锢,即黑名单,只有文件里的用户禁锢
[root@localhost ~]#systemctl restart vsftpd #重启vsftpd服务
2.9日志
ftp服务端默认启动日志
#wu-ftp 日志:默认启用
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
xferlog_enable=YES #启用记录上传下载日志,此为默认值
xferlog_std_format=YES #使用wu-ftp日志格式,此为默认值
xferlog_file=/var/log/xferlog #可自动生成, 此为默认值
[root@localhost ~]#systemctl restart vsftpd #重启vsftpd服务
*************************************************************************
#vsftpd日志:默认不启用
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
dual_log_enable=YES #使用vsftpd日志格式,默认不启用
vsftpd_log_file=/var/log/vsftpd.log #可自动生成, 此为默认值
[root@localhost ~]#systemctl restart vsftpd #重启vsftpd服务
2.10 提示信息
#在vsftpd配置文件下可修改提示信息
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
ftpd_banner="welcome to dhyq ftp server"
banner_file=/etc/vsftpd/ftpbanner.txt
[root@localhost ~]#systemctl restart vsftpd #重启vsftpd服务
2.11控制传输速率
#在vsftpd配置文件下可修改限速
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
anon_max_rate=1024000 #1024000表示1MB/s
local_max_rate=102400
[root@localhost ~]#systemctl restart vsftpd #重启vsftpd服务
四、yum仓库简介
yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。
YUM(Yellow dog Updater,Modified):
- 基于RPM包构建的软件更新机制
- 可以自动解决依赖关系
- 所有软件包由集中到YUM软件仓库提供
(1)yum实现过程
要有安装包
安装包:
1.光驱里自带 挂载提供软件包
2.网络下载到本地
3.直接通过网络
先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装时包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装
yum需要依赖于环境,依赖于服务端和客户端,允许跨网络
服务器:
-
RPM包 (Packages文件夹中)
-
元数据(repodata文件夹:目录(软件的目录),软件的依赖关系,软件的位置)
客户端:配置文件
客户端的配置文件中
baseurl=地址 一定要写到到 这两个文件夹 repodata packages 的上级目录
最终形成两个文件夹Packages (包文件夹一般取名packages)和 repodata(元数据文件夹)
仓库类型:
-
光盘的仓库基本仓库 比较常用的
-
epel扩展仓库 比较新
(2)如何实现安装服务
(3)yum配置文件
1.主配置文件: /etc/yum.conf
[root@localhost]# /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever //yum下载的RPM包的缓存目录 $basearch代表硬件架构 $releasever系统版本比如7
keepcache=0 //是否保存缓存 0代表不保存,1代表保存
debuglevel=2 //调试级别了解即可
logfile=/var/log/yum.log // 日志文件位置
exactarch=1 //是否允许不同版本的rpm安装
obsoletes=1 //update 的一个参数是否可以允许旧版本的运行
gpgcheck=1 //验证秘钥
plugins=1 //是否允许插件1代表可以
installonly_limit=5 //保存几个内核 5代表5个
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
yum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号,如:8,7,6
$arch: CPU架构,如:aarch64, i586, i686,x86_64等
$basearch:系统基础平台;i386, x86_64
$contentdir:表示目录,比如:centos-8,centos-7
$YUM0-$YUM9:自定义变量
2.仓库设置文件
位置:/etc/yum.repos.d/*.repo yum仓库文件位置
3.日志文件
(4)yum命令详解
yum list [软件名] 显示可用的安装包,如不加 软件名是显示所有的可用包
[root@localhost ~]# yum list *httpd*
包含httpd 的软件包
yum info [软件名] 显示安装包详细信息 (如不加软件名是显示所有包的详细信息)
yum search <关键词> 根据关键字查找软件安装包
相当于你只知道这个包里的某个关键字会全部给你匹配出来
yum provides <关键词>
你知道某个命令 却不知道具体的包 可以用此命令查找
不写路径查找不到
加上通配符
yum install [软件名] 安装软件包 例如: yum install httpd -y
软件卸载 yum remove <软件名> 卸载已安装的软件必须加软件名
yum history 查看历史的使用记录
如果后悔 卸载 yum history redo 4 (重新安装一遍)
(5)搭建仓库的方式
软件仓库的提供方式 FTP服务:ftp://ip地址/站点里路径
HTTP服务:http://域名或者ip地址/站点里的路径
本地目录:file://绝对路径 (file:///mnt 此处第三个/为根目录)
1.搭建本地yum仓库
适用范围:一台不能使用/etc/yum.repos.d/配置文件中的外网源进行下载软件,且有系统完整rpm包的光驱的情况下。
mount /dev/sr0 /mnt #挂载提供安装包
cd /etc/yum.repos.d #切换到固定目录
mkdir bak #建立备份文件夹
mv *.repo bak #将所有网络源移走,减少干扰
vim local.repo #自建本地源的配置文件
[local] #自定义仓库描述
name=local #自定义仓库名
baseurl=file:///mnt #指明仓库位置
gpgcheck=0 #不验证安全性(若为1则验证)
yum clean all #清理缓存
yum makecache #重新建立元数据
HTTP主要用于浏览和下载网页等资源,而FTP则更偏向于文件的上传、下载和管理。
2.通过ftp服务,搭建内网yum仓库服务器
服务端
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum install vsftpd -y
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# cd /var/ftp/
[root@localhost ftp]# ls
pub
[root@localhost ftp]# mkdir centos7
[root@localhost ftp]# ls
centos7 pub
[root@localhost ftp]# mount /dev/sr0 /var/ftp/centos7/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ftp]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 10G 3.6G 6.4G 36% /
devtmpfs 897M 0 897M 0% /dev
tmpfs 912M 6.6M 906M 1% /dev/shm
tmpfs 912M 9.1M 903M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 1014M 179M 836M 18% /boot
tmpfs 183M 44K 183M 1% /run/user/0
/dev/sr0 4.3G 4.3G 0 100% /var/ftp/centos7
[root@localhost ftp]# ls centos7/
CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata TRANS.TBL
服务端192.168.246.7进行配置:
客户端可以验证下:
客户端192.168.246.8进行配置:
[root@localhost ~]# cd /etc/yum.repos.d/ //进入etc目录下的yum.repos.d
[root@localhost yum.repos.d]# mkdir bak //创建bak文件夹
[root@localhost yum.repos.d]# mv *.repo bak/
//将yum.repos.d下的所有以.repo结尾移动至bak目录下
[root@localhost yum.repos.d]# ls //查看yum.repos.d的文件
bak
[root@localhost yum.repos.d]# vim ftp.repo//新建并编辑ftp.repo
[ftp]
name=http //仓库名
baseurl=ftp://192.168.246.7/centos7 //指定设备服务器地址 指向服务端IP地址
gpgcheck=0 //进入不需验证
[root@localhost yum.repos.d]# yum clean all && yum makecache //清理缓存建立元数据
3.通过httpd协议,搭建内网yum仓库服务器
如果我们的yum仓库需要多台机器共同使用,此时把yum仓库做成本地的,然后一台台 推送过去比较麻烦,此时可以考虑搭建一个基于HTTP协议,供给内网其它机器使用
生产环境中,让一台机器(服务机)单独作为软件安装存储机器,其他机器可省下更多的空间
由于是内网环境,虚拟机全部设为仅主机模式,(如何设置仅主机模式可参考DHCP原理与配置)无法连接外部网络如果想要下载httpd服务则需要搭建一个本地yum仓库
适用范围:多台不能使用/etc/yum.repos.d/配置文件中的外网源进行下载软件,且有至少一个服务有系统完整rpm包的光驱的情况下。
systemctl stop firewalld #关闭防火墙
setenforce 0 #关闭selinux
服务端配置(192.168.246.7):
在有光驱的服务器上安装httpd服务并在/var/www/html目录下创建一个光驱挂载目录centos7,并将光驱挂载到centos7目录下。
在本机的浏览器中输入服务器的ip地址和挂载路径可以查看光驱内容
开启服务端的httpd服务且在客户端无内网和光驱的服务器上创建配置文件
进入客户端配置:
4.搭建阿里云仓库(http方式外网环境)
国外云仓库比较慢,可以使用阿里云仓库代替
[ali]
name=aliyun
#baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/
//开启哪个都可以正常使用,这边主要解释变量的作用
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/
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
#小火车
[root@centos7 ~]#yum -y install epel-release
[root@centos7 ~]#yum -y install sl
[root@centos7 ~]#sl -a
#牛
[root@localhost ~]#yum install -y install cowsay
[root@localhost ~]#cowsay hello
.切换到 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
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
新建aliyun仓库
[ali]
name=aliyun
#baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/ //开启哪个都可以正常使用,这边主要解释变量的作用
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/ //变量参见主配置文件2.1小节
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
(6)yum 工作环境
1.如果误将 rpm 软件删除,解决办法
进入虚拟机,读条的时候按esc,进入救援模式3,2,1
2.自行打包后建立元数据
实验目的:自研公司的小软件 想要用yum安装
原理,要到该软件所有的安装包和依赖关系(找开发要包)
假设tree是我们自己研发的软件,此时客户要求使用yum命令安装此软件
mount /dev/sr0 /mnt/
cp /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
mkdir test
mv tree-1.6.0-10.el7.x86_64.rpm test/
cd test
mkdir packages
mv tree-1.6.0-10.el7.x86_64.rpm packages/
createrepo -v test
cd /etc/yum.repos.d/
mkdir bak
mv *.repo bak/
vim tree.repo
[tree]
name=tree
baseurl=file:///data/test
gpgcheck=0
yum clean all
yum makecache
yum install tree -y
3. epel源 本地
目的:防止以后没网,也要下载网络元的软件,服务机先把网络仓库下到本地
没有外网 又想使用这个epel源
[root@localhost ~]#yum install epel-release
#安装epel源 生成epel仓库文件
[root@localhost ~]# reposync -r epel -p /root/
#下载同步epel源 根据epel仓库文件去找目录
[root@localhost ~]# yum -y install createrepo
#安装建立元数据命令
[root@localhost ~]# createrepo -v /root/epel
#建立元数据 软件目录 依赖关系
[root@localhost ~]# ls
anaconda-ks.cfg epel
[root@localhost ~]# cd epel/
[root@localhost epel]# ls
#查看元数据
4 离线安装软件
1.在可以上网的主机上下载该软件的安装包,然后将安装包及其依赖关系下载到指定的文件夹下
2.然后将该文件夹打包,通过NFS、FTP等文件传输工具共享给离线的主机,该离线的主机就可以安装软件了
root@localhost yum.repos.d]#yum install nginx
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 nginx.x86_64.1.1.20.1-9.el7 将被 安装
--> 正在处理依赖关系 nginx-filesystem = 1:1.20.1-9.el7,它被软件包 1:nginx-1.20.1-9.el7.x86_64 需要
--> 正在处理依赖关系 nginx-filesystem,它被软件包 1:nginx-1.20.1-9.el7.x86_64 需要
--> 正在处理依赖关系 libssl.so.1.1(OPENSSL_1_1_1)(64bit),它被软件包 1:nginx-1.20.1-9.el7.x86_64 需要
--> 正在处理依赖关系 libssl.so.1.1(OPENSSL_1_1_0)(64bit),它被软件包 1:nginx-1.20.1-9.el7.x86_64 需要
--> 正在处理依赖关系 libcrypto.so.1.1(OPENSSL_1_1_0)(64bit),它被软件包 1:nginx-1.20.1-9.el7.x86_64 需要
--> 正在处理依赖关系 libssl.so.1.1()(64bit),它被软件包 1:nginx-1.20.1-9.el7.x86_64 需要
--> 正在处理依赖关系 libcrypto.so.1.1()(64bit),它被软件包 1:nginx-1.20.1-9.el7.x86_64 需要
--> 正在检查事务
---> 软件包 nginx-filesystem.noarch.1.1.20.1-9.el7 将被 安装
---> 软件包 openssl11-libs.x86_64.1.1.1.1k-2.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
==========================================================================================================
Package 架构 版本 源 大小
==========================================================================================================
正在安装:
nginx x86_64 1:1.20.1-9.el7 epel 587 k
为依赖而安装:
nginx-filesystem noarch 1:1.20.1-9.el7 epel 24 k
openssl11-libs x86_64 1:1.1.1k-2.el7 epel 1.5 M
事务概要
==========================================================================================================
安装 1 软件包 (+2 依赖软件包)
总下载量:2.1 M
安装大小:5.2 M
Is this ok [y/d/N]:
[root@localhost yum.repos.d]# yum install nginx --downloadonly --downloaddir=/data/
[root@localhost http]#yum install nginx --downloadonly --downloaddir=/nginx/
--downloadonly #只下载相关包默认至某一目录
--downloaddir=绝对目录路径 #下载到某一目录
目的:客户机没有任何网 ,服务机只下载不安装,再把安装包一个一个拷给客户机
5.制作镜像
mkisofs -r -o /root/xxx.iso /data/centos7/epel
将光盘制作成镜像
6.升级内核
升级内核,危险系数很高,一般不升级内核哦
分为编译安装内核 和yum安装内核
[root@localhost ~]#yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm #安装内核源
[root@localhost ~]#cd /etc/yum.repos.d/
[root@localhost yum.repos.d]#vim elrepo.repo
[elrepo-kernel]
enabled=1 #打开内核库
[root@localhost yum.repos.d]#uname -r #查看当前内核版本
[root@localhost yum.repos.d]#yum list *kernel* #查看内核库里所有的版本的内核
[root@localhost yum.repos.d]#yum install -y kernel-lt.x86_64
#复制你选定的内核版本下载更新即可
[root@localhost ~]#ls /boot #查看是否生成新版本的内核文件
此次展示yum安装内核
轻松一刻:
yum install epel-release.noarch -y 额外源
yum install pssh -y
小火车
[root@centos7 ~]#yum -y install epel-release
[root@centos7 ~]#yum -y install sl
[root@centos7 ~]#sl -a牛
[root@localhost ~]#yum install -y install cowsay
[root@localhost ~]#cowsay hello