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搜索包含文件的软件包
historydnf执行历史
history infodnf执行历史详细信息
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
在这里插入图片描述
在这里插入图片描述
此外,我们可以通过创建软件仓库的方式,直接从储存各式各样软件的软件仓库下载软件。本文介绍了如何构建本地软件仓库、构建网络软件仓库及使用阿里云的镜像源、构建第三方软件仓库。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值