软件安装

时间:2024-05-21 20:00:18

一、Linux中软件安装包的类型

软件安装包可以大致分为三类

rpm包 是Redhat Linux提供的一种包封装格式,包的管理工具yum
dpkg包 是Debain Linux提供的一种包封装格式,包的管理工具apt-get
tar包 是使用UNIX系统的打包工具tar打包的

按照安装类型的不同,软件安装包可以分为两种类型:
1、绿色软件:解压后可以直接运行
2、源码编译:解压后还需要使用编译器将其编译成为可执行文件

  • rpm软件安装包
    例如在浏览器中下载wps办公软件,会提醒下载哪一种类型的安装包,我们当前所使用到的是红帽Linux,所以选择rpm格式安装包,这种安装包是可以通过命令直接进行安装的
    软件安装
  • tar包
    当我们使用的U盘是ntfs格式时,需要在系统中安装ntfs-3g的软件,才能够识别这种格式的U盘,我们从浏览器上下载的这个软件是压缩包的格式,可以看到里面包含一个名为configure的文件,这个文件是用来检测系统环境的。这样的安装包就很有可能是一个源码包,需要对它进行编译以后再安装
    软件安装查看源码包中包含的内容:将压缩包解压并查看其中包含的内容
    软件安装读取其中文件README中包含的内容
    软件安装软件安装其中
    ./configure :检测系统环境
    make :编译
    make install :用编译后的规则进行安装
    执行第一步./configure检测系统环境出现错误,缺少C的编辑器
    软件安装

二、rpm安装包名称分析

例如dhcp软件的安装包名称为
软件安装
名称中主要包含5部分的信息,但是并不是所有的rpm软件包都包含这5部分,有可能授权被隐藏了,或者此处的软件名称和安装后的软件名称不一致

dhcp 软件名称
4.2.5.-68 软件的版本
el7_5.1 软件的授权/协议
x86_64 标明软件位数
rpm 后缀,表明软件是rpm类型

三、rpm命令

在管理rpm软件包时需要用到rpm命令,包含的主要参数如下表:

-ivh 安装
-ivh中的-i 安装
-ivh中的-v 显示过程
-ivh中的-h 做哈希校验,查看软件中的hash值是否有改变
-e 卸载
-qa 查看所有
-l 列出安装后在系统中生成的文件
-p 查看安装包
- -scripts 查看软件在安装或者卸载时系统中执行的脚本
- -force 强制安装(不能忽略依赖性)
- -nodeps 忽略依赖性安装
-K 检测软件是否为原版软件

找到镜像中包含的系统资源
软件安装示例1:安装dhcp软件
软件安装
示例2:查看系统中所有已经安装过的安装包
软件安装
示例3:查看系统中所有已经安装好的安装包数量
软件安装
示例4:查看dhcp是否已经安装完成
软件安装
示例6:卸载rpm软件,注意:此处卸载软件的名称是用grep过滤得到的名称
软件安装示例7:安装过程中只添加参数-i,没有校验过程
软件安装示例7:安装过程中添加参数-ih,有校验过程,可以查看软件中的内容有没有被篡改
软件安装示例8:查询软件包在安装后的名称
软件安装示例9:查询软件包在安装后会生成什么文件
软件安装示例10:查看软件在安装或者卸载时在系统中执行的脚本
软件安装示例11:明确查看系统在安装或者卸载时在系统中执行脚本的重要性,安装FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm时,会在系统中添加一个用户ID为0的用户FluffyMcAwesome,也就是窃取了超级用户的身份,并且卸载时会将/下的所有东西清空,对系统造成损害,所以这个软件不能安装
软件安装示例12:强制安装
当我们在系统安装完成了一个软件后不小心删除了这个软件配置文件所在目录或者软件受损后不能正常使用,就需要重新安装软件,但是重新安装时会提示这个软件已经安装过了,所以就需要强制安装一次
软件安装软件安装
示例13:忽略依赖性安装
当安装软件kolourpaint-4.10.5-4.el7.x86_64.rpm 时,直接安装会出现下图所示情况,会提示很多软件依赖性条目
软件安装忽略依赖性安装
软件安装但是,安装后的软件是不能用的,因为忽略了很多软件安装依赖性
示例14:检测软件MD5是否正确。在安装包dhcp-4.2.5-68.el7_5.1.x86_64.rpm 中追加内容改变安装包中的内容,检测安装包结果为MD5 NOT OK
软件安装

四、yum软件仓库

搭建yum仓库的目的:rpm不能解决软件的依赖关系,而yum仓库可以解决此问题
搭建步骤(在rhel7中):
1、得到与当前系统匹配的系统安装镜像文件
2、建立系统安装镜像挂载点
软件安装
3、挂载镜像到挂载点
软件安装
4、配置系统访问软件路径
软件安装
在文件zhuang.repo中写入内容
软件安装

[zhuangrhel7] 指定仓库名称
name=zhaung rhel7 source 仓库描述
baseurl=file:///softwaresource 资源路径
gpgcheck=0 不检测软件是否授权
gpgcheck=1 检测软件是否被授权
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 软件包授权码
enabled=1 软件仓库被启用(默认值为1)
enabled=0 软件仓库不被启用

5、对原仓库清空并且加载新的yum软件仓库
软件安装当不启用软件仓库时
软件安装
软件安装检测软件是否被授权,在安装过程中会出现是否检测授权码的询问
软件安装
软件安装软件安装6、安装之前存在依赖性问题的httpd软件,能够安装成功
软件安装软件安装
搭建步骤(在rhel8中):
1、得到与当前系统匹配的系统安装镜像文件
2、建立系统安装镜像挂载点
软件安装
3、挂载镜像到挂载点
软件安装
4、配置系统访问软件路径
软件安装
在文件zhuang.repo中写入内容
软件安装5、对原仓库清空并且加载新的yum软件仓库
软件安装

五、yum命令

yum后可以接的参数

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

示例1:安装
软件安装示例2:卸载
软件安装示例3:重新安装
软件安装示例4:列出所有已经安装的软件
软件安装示例5:列出所有可以安装的软件
软件安装示例6:列出指定软件的信息
软件安装示例7:列出所有已经安装过和可以安装的
软件安装
示例8:列出仓库信息
软件安装示例8:列出仓库历史:只显示更新,安装和卸载
软件安装示例9:查看历史详细信息
软件安装示例10:根据软件信息搜索
软件安装示例11:根据软件包含文件搜索
当删掉/bin/date时不能通过date查看时间,通过搜索文件名称找到对应软件名称
软件安装
软件安装重新安装软件
软件安装执行date命令
软件安装
示例12:列出所有的组
软件安装

五、第三方软件仓库

步骤1:把所有要安装的以rpm结尾的软件包存放到一个目录中。这个目录中的文件只能以rpm结尾
软件安装步骤2:在yum仓库指向文件中写入内容
软件安装
步骤3:在系统中搜索软件发现软件还是不存在
软件安装在系统资源中有一个非常重要的目录repodata,其中包含xml文件
查看文件中的内容,其中包含软件安装包的详细内容。由于光盘镜像中存在这样的文件而我们指定的第三方软件的目录中没有这样的文件,所以不能称之为第三方软件仓库,需要把这样的文件建立出来
软件安装软件安装步骤4:对目录中的所有软件包进行扫描,生成上述所需文件
软件安装软件安装步骤5:重新加载新的yum软件仓库,查找kolourpaint软件安装