• 软件包的管理


    概念

    在早期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文件夹

    1. [root@localhost ~]# rpm -qa |grep telnet
    2. [root@localhost ~]# mkdir /mnt/cdrom
    3. [root@localhost ~]# mount /dev/sr0 /mnt/cdrom
    4. mount: /dev/sr0 写保护,将以只读方式挂载
    5. mount: /dev/sr0 已经挂载或 /mnt/cdrom 忙
    6. /dev/sr0 已经挂载到 /run/media/root/CentOS 7 x86_64 上
    7. /dev/sr0 已经挂载到 /mnt/cdrom 上
    8. [root@localhost ~]# cd /mnt/cdrom
    9. [root@localhost cdrom]# ls
    10. CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
    11. EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
    12. [root@localhost cdrom]# cd Packages
    13. [root@localhost Packages]# ls telnet-*.rpm
    14. telnet-0.17-66.el7.x86_64.rpm telnet-server-0.17-66.el7.x86_64.rpm
    15. [root@localhost Packages]# rpm -ivh telnet-0.17-66.el7.x86_64.rpm telnet-server-0.17-66.el7.x86_64.rpm
    16. 准备中... ################################# [100%]
    17. 正在升级/安装...
    18. 1:telnet-server-1:0.17-66.el7 ################################# [ 50%]
    19. 2:telnet-1:0.17-66.el7 ################################# [100%]
    20. [root@localhost Packages]# telnet 192.168.222.130 3306
    21. Trying 192.168.222.130...
    22. Connected to 192.168.222.130.
    23. Escape character is '^]'.
    24. N
    25. 5.7.40-log`,eEfV'ÿ!EnJ8
    26. \M.Fmysql_native_passwordConnection closed by foreign host.
    27. [root@localhost Packages]#
    28. [root@localhost Packages]# netstat -n6
    29. Active Internet connections (w/o servers)
    30. Proto Recv-Q Send-Q Local Address Foreign Address State
    31. [root@localhost Packages]#

    Yum软件仓库安装     

    yum软件仓库中的RPM软件包可以是由红帽官方发布的,也可以是由第三方发布的,当然也可以自己编写。Yum软件仓库的拓扑结构图如下所示:

    Yum软件仓库     语法:yum [参数]     

    常用参数:

     

     

    配置软件安装仓库

    方法一:配置本地yum仓库

    1.挂载光驱:

    1. [root@localhost ~]# mount /dev/cdrom /mnt/cdrom
    2. mount: /dev/sr0 写保护,将以只读方式挂载
    3. mount: /dev/sr0 已经挂载或 /mnt/cdrom 忙
    4.        /dev/sr0 已经挂载到 /run/media/root/CentOS 7 x86_64 上
    5.        /dev/sr0 已经挂载到 /mnt/cdrom 上
    6. [root@localhost ~]# 

    2.切换到存放yum仓库配置文件的目录,找到配置文件(/etc/yum.repos.d/redhat.repo) 

    1. [root@localhost ~]# cd /etc/yum.repos.d/
    2. [root@localhost yum.repos.d]# ls
    3. CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
    4. CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-x86_64-kernel.repo
    5. [root@localhost yum.repos.d]#

     3.先备份下原来的配置文件

    1. [root@localhost yum.repos.d]# cp CentOS-Base.repo CentOS-Base.repo.bak
    2. [root@localhost yum.repos.d]# ls
    3. CentOS-Base.repo CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-x86_64-kernel.repo
    4. CentOS-Base.repo.bak CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
    5. [root@localhost yum.repos.d]#

    4.使用vim编辑器,打开配置文件,进行配置文件编辑:文件格式如下:

    5.重新缓存信息

    [root@localhost yum.repos.d]# yum clean all
    

    6. 检查是否可以安装软件

    1. [root@localhost yum.repos.d]# rpm -qa | grep vsftpd
    2. [root@localhost yum.repos.d]# yum install vsftpd

    方法二:配置网络yum仓库(阿里云yum源)

    1. [root@localhost ~]# mv /etc/yum.repos.d /etc/yum.repos.d.bak
    2. [root@localhost ~]# mkdir /etc/yum.repos.d
    3. [root@localhost ~]# vim /etc/yum.repos.d/CentOS.repo
    4. # yum源的名称
    5. [CentOS]
    6. #描述信息
    7. name=CentOS_DVD
    8. #安装包位置
    9. baseurl=file:///mnt/cdrom
    10. #是否启动
    11. enabled=1
    12. #是否检查验证文件
    13. gpgcheck=0
    14. [root@localhost ~]# mkdir /mnt/cdrom
    15. [root@localhost ~]# mount /dev/sr0 /mnt/cdrom
    16. [root@localhost ~]# yum clean all
    17. [root@localhost ~]# yum makecache
    18. --网络镜像源
    19. [root@localhost network-scripts]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    20. [root@localhost network-scripts]# yum makecache
    21. [root@localhost network-scripts]# cd /etc
    22. [root@localhost etc]# ls yum.repos.d.bak/
    23. CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
    24. CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-x86_64-kernel.repo
    25. [root@localhost etc]# cp yum.repos.d.bak/CentOS-Base.repo yum.repos.d/CentOS_Base.rep
    26. [root@localhost etc]# cd yum.repos.d
    27. [root@localhost yum.repos.d]# ll
    28. 总用量 12
    29. -rw-r--r--. 1 root root 1664 918 23:46 CentOS_Base.rep
    30. -rw-r--r--. 1 root root 2523 94 2022 CentOS-Base.repo
    31. -rw-r--r--. 1 root root 190 918 23:06 CentOS.repo
    32. [root@localhost yum.repos.d]#
    33. sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' \
    34. -e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos|g' \
    35. -i.bak \
    36. /etc/yum.repos.d/CentOS_Base.repo
    37. [root@localhost yum.repos.d]# yum makecache

    1.yun仓库的作用:管理系统中的rpm程序包

    2. yum特点:安装程序简单方便;易用;减少公网带宽资源占用

    3、yum仓库类型:

      

  • 相关阅读:
    Rust原子类型和内存排序
    WPF程序中 Invoke的使用
    《大型网站技术架构演进与性能优化》之无线时代下的构架演进[二]
    软件测试需求分析
    springboot+乡村图书管理系统 毕业设计-附源码191505
    Socket编程,客户端与服务端是如何通信的
    心知天气api接口怎么用?
    PyQT5 普通按钮互斥选中
    C++征途 --- List链表容器
    【非真实渲染】【卡通渲染技术点介绍】
  • 原文地址:https://blog.csdn.net/weixin_65824274/article/details/132991436