概念
在早期Linux系统中,要想在Linux系统中安装软件只能采取编译源码包的方式进行安装,所以早期安装软件是一件非常困难、耗费耐心的事情,而且大多数服务程序仅提供源代码,还需要运维人员编译后自行解决软件之间的依赖关系。所以在早期对Linux的运维人员技术能力要求非常高,而还需要有良好的耐心。
在经过一段时间的发展,RedHat公司推出了一款软件包管理器(RPM,为Linux系统的软件安装提供了便捷的服务,它可以实现像windows系统中的控制面板那样,建立统一的数据库,祥细记录软件信息,并能够自动分析依赖关系,使运维人员的工效率大大提高。即使有了RPM能够帮助用户查询软件之间的依赖关系,但问题还是需要运维人员自己来解决,而有些大型软件可能与数十个程序有依赖关系,在这种情况下安装软件依然是很繁锁,所以又出现了一款新的软件,即YUM软件仓库(DNF),而款软件的出现大大的降低了安装难度和复杂度。YUM软件仓库不但可以根据用户的要求分析出所需的软件包及其相关的依赖关系,而且还可以自动从服务器下载软件包并安装到系统。
RPM软件安装
安装语法:rpm 参数 软件名
常用参数:
RPM安装软件包名称解释:
- 以.rpm格式发布的软件里面封装的都是经过编译过的二进制形式的软件,可以直接安装。
- .rpm格式的文件又称为rpm软件包,简称rpm包。
查询系统中已安装的所有rpm软件包
- rpm -qa:查询系统中已安装的所有rpm软件包。
- rpm -qa | wc -l:统计安装的rpm软件包个数。
- rpm -qa | more:能够分页显示安装的软件包。
案例:使用 RPM 管理 telnet-server 软件包
1.telnet是什么
Telnet是teletype network的缩写,专业的说,Telnet是Internet上远程登录的一种程序;它可以让您的电脑通过网络登录到网络另一端的电脑上,甚至还可以存取那台电脑上的文件。
2.有什么用
Telnet服务器软件是我们最常用的远程登录服务器软件,是一种典型的客户机/服务器模型的服务,它应用Telnet协议来工作。那么,什么是Telnet协议?它都具备哪些特点呢?
Telnet是位于OSI模型的第7层---应用层上的一种协议,是一个通过创建虚拟终端提供连接到远程主机终端仿真的TCP/IP协议。这一协议需要通过用户名和口令进行认证,是Internet远程登陆服务的标准协议。应用Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。它提供了三种基本服务:
Telnet定义一个网络虚拟终端为远程系统提供一个标准接口。客户机程序不必详细了解远程系统,他们只需构造使用标准接口的程序;
Telnet包括一个允许客户机和服务器协商选项的机制,而且它还提供一组标准选项;
Telnet对称处理连接的两端,即Telnet不强迫客户机从键盘输入,也不强迫客户机在屏幕上显示输出。
3.可以用来干什么
Telnet 远程主机名
用户就会看到远程主机的欢迎信息或登录标志。在Windows系统中,用户将以具有图形界面的Telnet客户端程序与远程主机建立Telnet连接。
Telnet pingIP+端口号查看网络是否通常
1.查看是否安装有telnet
2.挂载光盘
3.安装telnet:进入到Packages文件夹
[root@localhost ~]# rpm -qa |grep telnet
[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/sr0 /mnt/cdrom
mount: /dev/sr0 写保护,将以只读方式挂载
mount: /dev/sr0 已经挂载或 /mnt/cdrom 忙
/dev/sr0 已经挂载到 /run/media/root/CentOS 7 x86_64 上
/dev/sr0 已经挂载到 /mnt/cdrom 上
[root@localhost ~]# cd /mnt/cdrom
[root@localhost cdrom]# ls
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
[root@localhost cdrom]# cd Packages
[root@localhost Packages]# ls telnet-*.rpm
telnet-0.17-66.el7.x86_64.rpm telnet-server-0.17-66.el7.x86_64.rpm
[root@localhost Packages]# rpm -ivh telnet-0.17-66.el7.x86_64.rpm telnet-server-0.17-66.el7.x86_64.rpm
准备中... ################################# [100%]
正在升级/安装...
1:telnet-server-1:0.17-66.el7 ################################# [ 50%]
2:telnet-1:0.17-66.el7 ################################# [100%]
[root@localhost Packages]# telnet 192.168.222.130 3306
Trying 192.168.222.130...
Connected to 192.168.222.130.
Escape character is '^]'.
N
5.7.40-log`,eEfV'ÿ!EnJ8
\M.Fmysql_native_passwordConnection closed by foreign host.
[root@localhost Packages]#
[root@localhost Packages]# netstat -n6
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
[root@localhost Packages]#
Yum软件仓库安装
yum软件仓库中的RPM软件包可以是由红帽官方发布的,也可以是由第三方发布的,当然也可以自己编写。Yum软件仓库的拓扑结构图如下所示:
Yum软件仓库 语法:yum [参数]
常用参数:
配置软件安装仓库
方法一:配置本地yum仓库
1.挂载光驱:
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom
mount: /dev/sr0 写保护,将以只读方式挂载
mount: /dev/sr0 已经挂载或 /mnt/cdrom 忙
/dev/sr0 已经挂载到 /run/media/root/CentOS 7 x86_64 上
/dev/sr0 已经挂载到 /mnt/cdrom 上
[root@localhost ~]#
2.切换到存放yum仓库配置文件的目录,找到配置文件(/etc/yum.repos.d/redhat.repo)
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-x86_64-kernel.repo
[root@localhost yum.repos.d]#
3.先备份下原来的配置文件
[root@localhost yum.repos.d]# cp CentOS-Base.repo CentOS-Base.repo.bak
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-x86_64-kernel.repo
CentOS-Base.repo.bak CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
[root@localhost yum.repos.d]#
4.使用vim编辑器,打开配置文件,进行配置文件编辑:文件格式如下:
5.重新缓存信息
[root@localhost yum.repos.d]# yum clean all
6. 检查是否可以安装软件
[root@localhost yum.repos.d]# rpm -qa | grep vsftpd
[root@localhost yum.repos.d]# yum install vsftpd
方法二:配置网络yum仓库(阿里云yum源)
[root@localhost ~]# mv /etc/yum.repos.d /etc/yum.repos.d.bak
[root@localhost ~]# mkdir /etc/yum.repos.d
[root@localhost ~]# vim /etc/yum.repos.d/CentOS.repo
# yum源的名称
[CentOS]
#描述信息
name=CentOS_DVD
#安装包位置
baseurl=file:///mnt/cdrom
#是否启动
enabled=1
#是否检查验证文件
gpgcheck=0
[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/sr0 /mnt/cdrom
[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache
--网络镜像源
[root@localhost network-scripts]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
[root@localhost network-scripts]# yum makecache
[root@localhost network-scripts]# cd /etc
[root@localhost etc]# ls yum.repos.d.bak/
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-x86_64-kernel.repo
[root@localhost etc]# cp yum.repos.d.bak/CentOS-Base.repo yum.repos.d/CentOS_Base.rep
[root@localhost etc]# cd yum.repos.d
[root@localhost yum.repos.d]# ll
总用量 12
-rw-r--r--. 1 root root 1664 9月 18 23:46 CentOS_Base.rep
-rw-r--r--. 1 root root 2523 9月 4 2022 CentOS-Base.repo
-rw-r--r--. 1 root root 190 9月 18 23:06 CentOS.repo
[root@localhost yum.repos.d]#
sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos|g' \
-i.bak \
/etc/yum.repos.d/CentOS_Base.repo
[root@localhost yum.repos.d]# yum makecache
1.yun仓库的作用:管理系统中的rpm程序包
2. yum特点:安装程序简单方便;易用;减少公网带宽资源占用
3、yum仓库类型: