Linux系统-8单元-软件安装


前言

我们在windows中安装软件只能使用安装包,安装包通常有以下两种情况:

  • 一个安装文件(.exe或.msi),双击运行安装即可
  • 绿色软件、免安装软件,解压后可以直接运行。

在linux系统中,安装软件比windows下复杂,一般常见的方法如下:

  • 源码安装
  • rpm包安装
  • yum安装软件包
  • 为本机提供软件仓库

本文介绍了linux下使用rpm包安装及通过软件仓库进行安装的方法。

一、linux下软件包的类型

1.rpm包

是Redhat Linux提供的一种包封装格式,包的管理工具YUM,适用于Redhat/CentOS/fc/SUSE等平台。
例:software-1.2.3-1.i386.rpm

2.tar包

是使用UNIX系统的打包工具tar打包的。使用tar.gz(bz或bz2)打包的应用软件,这种软件包里面都是源程序,没有编译过,需要编译后才能安装。
例:software-1.2.3-1.tar.gz

3.dpkg包

是Debain linux提供的一种包封装格式,包的管理工具是apt-get,适用于UBlinux/DEBlinux/Ubuntu/B2D等平台。
例:software-1.2.3-1.deb

4.绿色软件包

不需要安装直接使用

注意:在rhel8中只能使用绿色软件,源码编译软件和rpm软件

二、软件包的名称结构及软件包里的内容

1.软件包名称结构

[dhcp-server]-[4.3.6-30].[el8].[x86_64].[rpm]
1 2 3 4 5
1.软件名称
2.软件版本号
3.软件的授权协议版本
4.软件架构
5.软件类型的后缀

2.了解软件包里的内容

一个linux应用程序的软件包中能包含两种不同的内容:

  • 可执行文件

是解压安装包后就能直接运行的。在视窗系统中所有的软件包都是这种类型的,安装完这个程序后,你就能使用,但是看不到源程序。并且下载时注意该软件是否是你所使用的平台,否则将无法正常安装。

  • 源程序

是解压安装包后,还需要使用编译器将其编译成二进制可执行文件。在视窗系统中几乎是没有的,因为视窗系统的思想是不开放源程序的。

通常tar打包的,都是源程式;而使用rpm、bin、dpkg打包的则通常是可执行文件。

三、rpm命令管理软件包

rpm软件管理程序,是以一种数据库记录的方式来将你所需要的软件安装到你的linux系统的一套软件管理机制。

1.rpm的优点

  • RPM内包含已经编译过的的程序与配置文件等数据,用户不需要重新编译
  • RPM在被安装之前,会先检查系统的硬盘容量、操作系统版本等,可避免文件被错误安装
  • RPM文件本身提供软件版本信息、依赖属性检查、软件用途说明、软件所含文件信息,便于了解软件
  • RPM管理的方式使用数据库记录RPM文件相关参数,便于升级、删除、查询与验证

2.rpm默认的安装路径

  • /etc #一些配置文件放置的目录 例 /etc/crontab
  • /usr/bin #一些可执行文件
  • /usr/lib #一些程序使用的动态函数库
  • /usr/share/doc #一些基本软件使用手册与说明文件
  • /usr/share/man #一些man page 文件

3.rpm安装(install)

rpm -ivh package_name 选项

  • -i : install 安装程序
  • -v :verbose 查看更详细的安装信息
  • -h :hash 显示安装进度

选项:

  • –force 强制安装软件 (使用场景:直接覆盖已安装文件,重复安装时,谨慎使用!)
  • –nodeps 忽略依赖性,安装软件 (使用场景:当软件发生属性依赖问题而无法安装,但执意安装时,可能造成软件无法正常使用。)

4.rpm查询(query)

rpm

  • -q # 仅查询,后面接的软件名称是否有安装
  • -qa # 列出已安装在本机Linux系统上所有软件名称
  • -qi # 列出该软件的详细信息(information)
  • –info # 显示软件详细信息
  • -ql # 列出该软件所有文件与目录所在完整文件名(list)
  • -qc # 列出该软件所有配置文件 (即 找出在 /etc/下面的文件名)
  • -qd # 列出该软件所有说明文件 (即 找出与man有关的文件)
  • -qR # 列出与该软件所有依赖软件所含有的文件 (Required 依赖)
  • -qf # 有后面接的文件名,找出该文件属于哪一个已安装的软件
  • -qp # 未安装的某个文件名称 —— 查看RPM文件
  • –script # 查询软件在安装或卸载过程中需要执行的脚本文件

5.rpm验证(Verify)

rpm

  • -V # 后面跟软件名,若该软件所含的文件被修改过才会显示修改信息
  • -Kv # 检测软件md5校验码

6.RPM属性依赖的解决方式:YUM在线升级

尽管RPM能帮助查询软件的依赖关系,但是还是需要运维人员自己安装解决依赖问题,大型软件依赖非常多,安装起来是非常麻烦的。为了降低软件安装的难度和复杂度,设计了YUM软件仓库。
YUM:是一个在RedHat、Centos和Fedora中的shell前端软件包管理器。可以认为YUM仓库用于管理RPM软件包,仓库中的包可以是红帽官方发布的,也可以是自己编写的。YUM软件仓库可以根据用户需求分许所需软件包以及相关的依赖关系,并自动从服务器下载软件包并安装到系统中。
YUM机制:rpm文件内部会记录依赖性数据,将这些依赖属性的软件先建立一份清单列表,在有安装需求的时候,先到这个列表去找,同时与系统内已安装的软件比较,再将没有安装的依赖软件,一次性安装——为了重复利用既有软件的功能。

四、本地软件仓库的搭建

软件源:软件源是指一个由可以获得软件的地址组成的集合,这个地址可以是网站、光盘、或者是硬盘上的一个目录。软件源上有“软件仓库”,软件仓库中存储各种各样的软件,当你需要用到一个软件的时候,就可以通过工具下载并安装仓库中的软件。

1.搭建本地软件仓库的作用

在系统中对软件进行管理,rpm命令是不能解决依赖关系的,如果需要软件载安装过程中自动解决依赖关系,需要搭建系统软件仓库。

2.搭建本地软件仓库的步骤

  1. 在系统中加载安装系统时使用的系统镜像文件
  • 创建一个目录
  • 将镜像文件挂载到所建目录下
  1. 编写软件仓库repo文件
  • /etc/yum.repos.d/ 软件源指向文件配置目录
  • vim /etc/yum.repos.d/xxxx.repo##软件仓库指向文件
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

3.dnf软件管理命令

dnf

repolist 列出仓库信息
clean all 清除清除系统中已经加载的仓库缓存信息
list all 列出所有软件
list available 列出未安装软件
list installed 列出已安装软件
install 安装
remove 卸载
reinstall 重新安装
search 搜索
whatprovides 搜索包含文件的软件包
history dnf执行历史
history info dnf执行历史详细信息
group list 列出软件组
group list --installed 列出已安装软件组
group list --available 列出未安装软件组
group list --hidden 列出隐藏软件案组
group install 安装软件组
group info 查看软件组信息

五、网络软件仓库的搭建

1.搭建网络仓库的作用

在企业中,我们维护的系统数量庞大。如果每个系统中都各自搭建本地软件仓库,那样会浪费大量的资源。为了提高资源的利用率,我们可以将本地的软件仓库共享到互联网中,这样每个系统都可以利用网络访问到该软件仓库中的资源了。

2.搭建网络仓库的步骤

  1. 利用镜像搭载本地软件仓库
  2. 安装共享软件

共享方式http:// 超文本传输协议
提供此协议的软件 Apache
软件包名称 httpd
共享位置 /var/www/html
安装命令 dnf install httpd -y

  1. 启动共享软件Apache

systemctl stop firewalld 关闭火墙
systemctl disable firewalld
systemctl enable --now httpd 设置httpd开机自启动

  1. 建立共享文件目录

mkdir /var/www/html/xxx

  1. 挂载镜像到共享目录中
    注意:先卸载当前的挂载,再重新挂载到共享文件目录中

  2. 重新编辑软件仓库repo文件
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

3.网络源epel

EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux。
我们可以通过阿里云提供的epel,为本机安装一个阿里云的epel源。
步骤:

  1. 进入阿里云官网---->选择开发者工具------>镜像站----->选择epel---->拉至网页底部,在相关连接那点击下载地址----->根据我们系统的版本选择对应选择,复制地址https://mirrors.aliyun.com/epel/8/Everything/x86_64/
  2. 编辑repo文件
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

四、第三方软件仓库的搭建

可以使用dnf命令管理第三方软件,并使第三方软件在网络中共享。

  1. 建立目录

mkdir /software

  1. 把所有的第三方软件存放在新建的目录下

注意:该目录中只能存放rpm类型的文件,压缩包是不能使用dnf管理的

  1. 采集第三方软件数据生成repodate目录

dnf install createrepo -y 安装采集工具
cd /software 进入到目录
createrepo .对目录中进行扫描生成repodate数据目录
createrepo -v 指定目录

  1. 编写repo文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

本章学习了如何在linux系统下下载安装软件。
其中安装包的下载有两种途径:

  1. 直接再网上下载.rpm的安装包
  2. 通过使用linux中的一个下载文件的工具wget+URL进行下载。

方法一:可以在网上下载软件.rpm安装包,再使用rpm包的管理命令对软件包进行安装。
例:下载liunxqq

rpm -ivh Linuxqq_2.0.0-b2-1084_x86_64.rpm

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
方法二:使用linux中的一个下载文件的工具wget。

wget URL
URL:因特网的万维网服务程序上用于指定信息位置的表示方式。

例:下载wps-office
在这里插入图片描述
在这里插入图片描述
此外,我们可以通过创建软件仓库的方式,直接从储存各式各样软件的软件仓库下载软件。本文介绍了如何构建本地软件仓库、构建网络软件仓库及使用阿里云的镜像源、构建第三方软件仓库。

猜你喜欢

转载自blog.csdn.net/m0_46988935/article/details/109325315