RedHat Linux 8 软件管理

软件安装包格式类型

rpm

软件后缀为.rpm,redhat linux (suse centos redhat)
可以使用在红帽的Linux系统中,但是不能指定安装路径
在这里插入图片描述
类似这种文件,是由官方提供的安装包,有认证可以直接使用

deb

后缀为.deb是Debain Linux提供的一种包封装格式,对于我们当前的红帽系统是不适用的

tar

可以指定安装路径

  • 绿色软件
    直接使用安装命令就可以完成安装程序,并且可以打开使用
    RedHat Linux 8 软件管理_第1张图片
    我们进入这个安装包,里面有一个README文件vim 进入查看内容,在How to Run描述里可以看到
    RedHat Linux 8 软件管理_第2张图片
    并且这个软件就在我们拆解开的目录包里,直接找到双击就可以运行
    在这里插入图片描述
    这样的软件我们就成为绿色软件

  • 源码编译
    我们这里用ntfs-3g这个软件来看,这是U盘读取的软件
    RedHat Linux 8 软件管理_第3张图片
    可以看到这里面也存在README文件,我们来查看
    RedHat Linux 8 软件管理_第4张图片
    这里描述了安装的步骤,"./configure" 检测系统环境要先去看符不符合要求,然后才可以编译、安装
    RedHat Linux 8 软件管理_第5张图片
    检测的结果报错,是缺少acceptable C compiler这个环境,所以我们先去安装这个环境,这个安装我们在下面的yum软件仓库搭建会讲到,这里只看效果,安装完后再进行检测
    RedHat Linux 8 软件管理_第6张图片
    RedHat Linux 8 软件管理_第7张图片
    RedHat Linux 8 软件管理_第8张图片
    检测完后会多出一个Makefile文件,表明我们检测成功了,然后再执行上面安装步骤说的 “make” 命令,最后执行 “make install” 命令完成安装。


rpm软件包分析

我们找一个安装包来做解析,dhcp安装包,上面我们展示了在系统中显示为红色,并且是系统镜像带的
< dhcp >-<4.2.5-68>...< rpm >

< dhcp >:软件名称
<4.2.5-68>:软件版本
:软件授权
:软件多少位
< rpm >:软件后缀表示软件包是rpm类型的

管理rpm软件包时用rpm命令

rpm

参数 说明
-ivh 安装
-v 显示过程
-h hash 检测查看软件中的hash值是否有改变
-i install 安装
-e 卸载
-q 查看
-a #所有
-qa 查看所有安装过的软件
-l 列出安装然后在系统中生成的文件
-p 操作对象为软件包
- -scripts 查看软件在安装或卸载时在系统中执行的脚本
- -force 强制安装
-nodeps 忽略软件依赖性安装
-K 检测软件是否是原版软件

实验演示
首先我们将镜像重新挂载到我们新建立的目录上

  • mkdir /test
  • 在虚拟机光驱中添加系统匹配景象
  • 挂载景象到/westos
    在vm虚拟机中:“mount /dev/cdrom /test”
    RedHat Linux 8 软件管理_第9张图片
    注意:在linux 系统中的虚拟机执行 :“mount /xxx/xxxxxxx.iso /test”

完成挂载后,我们来演示参数现象

  • -ivh
    RedHat Linux 8 软件管理_第10张图片

  • -qa
    RedHat Linux 8 软件管理_第11张图片
    也可以用管道符过滤出我们刚安装的dhcp软件
    在这里插入图片描述

  • -e
    上面查看到安装的dhcp软件,我们可以用-e命令删除
    RedHat Linux 8 软件管理_第12张图片

  • -l
    RedHat Linux 8 软件管理_第13张图片

  • -p
    在这里插入图片描述

  • –scripts
    这里我们用两个脚本来做实验
    RedHat Linux 8 软件管理_第14张图片
    可以看到A软件在安装是会添加用户并且设置用户id为0,0是我们超级用户的id,而且还会删除我们的 “/” 目录
    所以可以得到–scripts命令可以查看软件预安装的一个情况

  • –force
    强制安装可以应用于我们在某个rpm类型的软件有损坏无法使用使,我们使用来覆盖安装时文件回复使用
    RedHat Linux 8 软件管理_第15张图片
    可以看到第一遍我们安装时检测显示我们已经安装过了,所以我们加–force来强制安装

  • -nodeps
    RedHat Linux 8 软件管理_第16张图片
    在安装软件时有的软件是存在依赖性的,需要安装其他的软件后才可以安装,如果要跳过这个阻拦,-nodeps
    RedHat Linux 8 软件管理_第17张图片
    但是因为软件本身存在依赖性,所以即使安装了也是不能够使用的

  • -K
    检测软件,加参数v显示过程
    RedHat Linux 8 软件管理_第18张图片
    MD5显示OK,表示没有问题,然后我们篡改这个软件包再检测
    RedHat Linux 8 软件管理_第19张图片
    然后看到MD5显示的是BAD,就是软件包有问题不可用

软件包如何拆解

命令:rpm2cpio dhcp-4.2.5-68.el7_5.1.x86_64.rpm | cpio -id
因为软件包使用cpio方式压缩的,所以用来解压缩,参数-id,i表示input,d表示解压到当前目录
在这里插入图片描述


yum软件仓库

软件仓库搭建

因为rpm不能自动解决软件依赖关系
所以搭建yum仓库可以解决此问题

搭建软件仓库的步骤
  • 得到与当前系统匹配的系统安装景象文件
    用光驱载入镜像
  • 建立系统安装景象挂载点:
    mkdir /softwaresource
  • 挂载景象到景象挂载点:
    linux系统中虚拟机
    mount /rhel*-xxxxxx.xxxxxx.iso /softwaresource
    Windows系统中虚拟机
    mount /dev/cdrom /softwaresource
  • 配置系统访问软件路径(yum仓库指向文件)
    切换路径 “cd /etc/yum.repos.d”
    删除原本存在的所有文件 “rm -fr *”
    在rhel7中:
    vim test.repo
    RedHat Linux 8 软件管理_第20张图片
    解释:
配置 说明
[testrhel7] #仓库名
name=test rhel7 source 仓库描述
baseurl=file:///softwaresource 资源路径
gpgcheck=0\1 软件包授权检测开关,0表示关,1表示开
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 如果检测开关时1,软件包授权码路径
enabled=1\0 仓库启用开关,0表示关,1表示开

完成后 “yum clean all”,重新加载

在rhel8中:
也是编辑vim test.repo
RedHat Linux 8 软件管理_第21张图片
编辑配置文件里分别写AppSteam和BaseOS的配置,其他的内容类似
注意的是,命令yum在rhel8中被设置为了dnf的链接,所以可以用 “dnf clean all”

  • 完成配置后,我们再去安装软件就会自动去安装所有需要的依赖性然后安装软件
    RedHat Linux 8 软件管理_第22张图片

yum命令

命令介绍

命令 说明
yum install 安装
yum remove 卸载
yum reinstall 重新安装
yum list installed\available\all\软件名称 列出
yum update 更新
yum repolist 列出仓库信息
yum history 查看yum历史
yum info 查看软件包信息
yum clean all 清除yum缓存
yum search 根据软件信息搜索
yum whatprovides 根据软件包含文件搜索
yum groups install 组安装
yum groups remove 组卸载
yum groups info 组信息

实验演示

  • yum install
    上面安装httpd是演示的样子
  • yum remove
    RedHat Linux 8 软件管理_第23张图片
  • yum list
    yum list all 列出所有软件包
    RedHat Linux 8 软件管理_第24张图片
    yum list httpd
    RedHat Linux 8 软件管理_第25张图片
  • yum ropolist
    RedHat Linux 8 软件管理_第26张图片
  • yum info
    yum info dhcp-server
    RedHat Linux 8 软件管理_第27张图片
  • yum search
    搜索dhcp信息,会列出所有dhcp 的软件包
    RedHat Linux 8 软件管理_第28张图片

第三方软件仓库

操作步骤

  • 把所有rpm结尾的软件包存放到一个目录/software中
    RedHat Linux 8 软件管理_第29张图片

  • vim /etc/yum.repos.d/test.repo
    在这里插入图片描述
    清空缓存:yum clean all / dnf clean all

  • createrepo -v /sorftware ##生成软件数据库存放软件属性
    RedHat Linux 8 软件管理_第30张图片

  • 完成后我们就可以安装第三方软件了,如果添加新的软件到第三方软件仓库里,那就需要重新执行createrepo -v /sorftware 命令,生成数据库

  • 还有要注意的是,因为rhel8系统是新出的,所以和它配套的第三方软件并没有被大量开发出来,我们上面演示的第三方软件仓库操作是在rhel8中操作的,但是演示的kolourpaint-4.10.5-4.el7.x86.rpm软件包是rhel7的版本,并不能够在rhel8中安装,这里演示的只是第三方软件搭建的方式


共享软件安装仓库

本节内容我们会在rhel7版本中演示,因为第三方软件是rhel7版本的,但是操作方式在rhel8中还是一样的,
搭建共享软件仓库的目的是为了方便我们在企业中用其他服务端的主机直接可以访问我们客户端中的资源,并安装在自己的主机中。
软件仓库支持的访问方式

格式 说明
file:// 本地文件
ftp:// 文本传输协议
http:// 超文本传输协议
nfs: 网络文件系统

而此处我们因为是公司里的都是内网,所以我们用到ftp:// 文本传输协议来进行

搭建共享软件仓库

实验环境:
主机rhel7-work:IP:192.168.0.10,作为客户端搭建
主机rhel7-sever1:IP:192.168.0.30,作为获取共享服务端

  • 在含有软件资源的主机中安装共享软件
    yum install vsftpd -y
    RedHat Linux 8 软件管理_第31张图片
    安装完后,还需要去开启服务:“systemctl start vsftpd”
    并且设定服务开启自动启动:“systemctl enable vsftpd”
    在这里插入图片描述

  • 关闭selinux和firewalld
    关闭这两个的原因是:selinux属于内核的安全服务会阻止外部访问,
    firewalld是火墙,也会组织访问,
    在当前我们不去管这两个服务如何设定直接关闭就好
    关闭selinux:
    首先用命令 getenforce 查看状态
    在这里插入图片描述
    Enforcing 表示开启,要关闭需要在配置文件里去设定关闭 “vim /etc/sysconfig/selinux”
    RedHat Linux 8 软件管理_第32张图片
    更改完后,因为是内核更改所以需要重启reboot
    关闭firewalld:
    关闭服务:systemctl stop firewalld
    关闭开机启动:systemctl disable firewalld

  • 建立共享目录
    服务vsftpd的共享目录的路径是 “/var/ftp”
    我们在里面建立镜像挂载和地方软件存放的目录
    mkdir /var/ftp/rhel7
    mkdir /var/ftp/software
    在这里插入图片描述

  • 在共享目录中存放软件资源
    目录建立完成后我们去存放和挂载
    把所有第三方软件放入 “/var/ftp/sorftware” 并执行 “createrepo -v /var/ftp/sorftware”
    RedHat Linux 8 软件管理_第33张图片
    挂载系统安装景象资源到 “/var/ftp/rhel7.6”
    mount /dev/cdrom /var/ftp/rhel7.6 使用此命令挂载为临时挂载
    在这里插入图片描述
    因为挂载命令是临时的,随着系统重启之前的挂载会失效,所以设定永久挂载系统安装景象资源到/var/ftp/rhel7.6
    编辑配置文件:“vim /etc/rc.d/rc.local”
    写入需要执行的命令:“mount /dev/cdrom /var/ftp/rhel7”
    RedHat Linux 8 软件管理_第34张图片
    另外还需要添加权限是这个配置文件可执行:“chmod +x /etc/rc.d/rc.local”
    在这里插入图片描述

完成上述操作后,我们的共享软件仓库就搭建好了,然后去用另一台主机测试

测试
  • 在主机rhel7-sever1中,我们先去打开浏览器,访问共享的主机文件
    RedHat Linux 8 软件管理_第35张图片

  • 去写yum的配置文件,使它支持yum软件仓库的使用vim /etc/yum.repos.d/sever1.repo
    RedHat Linux 8 软件管理_第36张图片
    注意这里写的文件路径就是用ftp去访问到的路径

  • yum clean all
    RedHat Linux 8 软件管理_第37张图片

  • 配置完成后我们尝试去安装软件
    RedHat Linux 8 软件管理_第38张图片
    可以看到安装的过程中是下载再安装
    再尝试安装第三方软件
    RedHat Linux 8 软件管理_第39张图片
    RedHat Linux 8 软件管理_第40张图片
    这样就完成第三方软件的安装了

你可能感兴趣的:(Redhat,Linux,8,知识讲解,linux)