网络文件共享服务--------FTP文件传输协议 多种方式搭建安装yum仓库

目录

一、网络文件共享服务

1.存储类型分三种:

2.三种存储架构的应用场景

二、 FTP文件传输协议

1.FTP 工作原理

2.两种模式:从服务器角度来看

3.用户认证:

4.常见FTP相关软件

三、vsftpd 软件介绍

1.vsftpd服务常见配置

1.1修改默认命令端口

1.2修改主动模式端口

1.3 修改被动模式端口

1.4使用当地时间

2. 匿名用户的配置

2.1 匿名用户登录

2.2 匿名用户上传

2.3 匿名用户下载及删除

2.4 指定匿名用户的上传文件的默认的所有者和权限

 2.5禁止匿名用户登录

2.6linux系统用户的配置

2.7  将所有系统用户映射为指定的guest用户

2.8禁锢系统用户

2.9日志

2.10 提示信息

2.11控制传输速率

四、yum仓库简介

(1)yum实现过程

(2)如何实现安装服务

(3)yum配置文件

1.主配置文件: /etc/yum.conf     

2.仓库设置文件

3.日志文件  

(4)yum命令详解

(5)搭建仓库的方式

1.搭建本地yum仓库

2.通过ftp服务,搭建内网yum仓库服务器

服务端192.168.246.7进行配置:

客户端192.168.246.8进行配置:

3.通过httpd协议,搭建内网yum仓库服务器

服务端配置(192.168.246.7):

进入客户端配置:

4.搭建阿里云仓库(http方式外网环境)

(6)yum 工作环境

1.如果误将 rpm 软件删除,解决办法 

2.自行打包后建立元数据

3. epel源 本地  

4 离线安装软件​​​​​​​

5.制作镜像

6.升级内核


一、网络文件共享服务

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

  • 42
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值