安装及管理程序

本文介绍了Linux应用程序的基础知识,包括应用程序与系统命令的关系、典型应用程序目录结构和常见软件包封装类型。重点讲解了RPM包管理,包括RPM包的格式、查询和管理工具,以及如何使用RPM命令进行安装、升级和查询。此外,还探讨了源代码编译安装的过程,以及如何使用yum解决依赖问题。内容涵盖了从RPM包的查询到源代码安装的详细步骤,对于Linux系统管理和软件部署具有指导意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:Linux应用程序基础

        1:应用程序与系统命令的关系

        2:典型的应用程序的目录结构

        3:常见的软件包封装类型

二:RPM

        1:RPM包管理工具

        2:RPM命令的格式

        3:查询RPM软件包信息

        4:查询已安装RPM信息

5:安装升级RPM软件包

三:源代码编译安装

        1:tarball封包

        2:完整性校验

        3:用yum解决源码安装依赖问题

一:Linux应用程序基础

(一):应用程序徐系统文件的关系

1:

文件位置: 系统命令一般在/bin和/sbin目录中,一部分为shell内部命令。

                   应用程序通常在user/bin、lusr/sbin、/usr/local/sbin目录中。

主要用途:系统命令完成对系统的基本管理工作。

                  应用程序完成相对独立的副主任务。

适用环境:系统命令一般在字符操作界面中运行。

                   应用程序一般在图形界面中运行。

运行格式:系统命令一般包括命令字、命令选项和命令参数。

                  应用程序通常没有固定的执行格式,由程序开发者自行定义。

2:

/目录下的bin和sbin指向user中的bin和sbin,所以在安装时候需要做软连接指向user中的bin和sbin

(二):典型应用程序的目录结构

         

普通可执行文件/usr/bin所有用户可执行
服务器程序,管理程序文件

/usr/sbin

只有管理员可执行
应用程序配置文件  /etc     通过rpm或yum安装的程序
日志文件/var/log系统日志
应用程序参考文档文件/usr/share/doc关于应用程序的参考文档
应用程序手册页文件/usr/share/man执行及配置文件的man手册页

(三):常见的软件包封装类型

RPM软件包    扩展名为".rpm"

DEB软件包    扩展名为".deb"

源代码软件包    一般为".tar.gz",".tar.bz2"等格式的压缩包包含程序的原始代码

绿色免安装的软件包    软件包的扩展名不一,以TarBall格式的居多,在压缩包内提供已编译好的执行程序文件,解开压缩包后的文件即可直接使用

详细:

1:rpm包是红帽公司自主研发的一款工具,实用性强,RPM包是预先在Linux上编译并打包好的文件,安装起来非常快捷,但也有缺点如安装的环境必须与编译时的环境一致或者相当;包与包之间存在相互依赖的情况。

2:DEB包:再Linux系统中类似于Windows中的软件包(exe),几乎不需要什么复杂的编译就可以通过鼠标点击安装使用。DEB包是将包的文件信息以及包的内容,经过gzip和tar打包而成。

3:源代码编译成二进制的可执行文件。如果你读得懂这些源代码,那么你就可以去修改这些源代码自定义功能,然后再去编译成你想要的。使用源码包的好处除了可以自定义修改源代码外还可以定制相关的功能,因为源码包在编译的时候是可以附加额外的选项的。

4:绿色免安装的软件包 :顾名思义自行理解比如Windows的截图软件

2:查看rpm包:

rpm2cpio tree-1.6.0-10.el7.x86_64.rpm |cpio -tv

(四).RPM包管理工具

1:Red-Hat Package Manager

由Red Hat公司提出,被众多Linux发行版所采用

建立统一的数据库文件

详细记录软件包安装,卸载等变化信息

自动分析软件包依赖关系

2.RPM软件包

软件素材参考:http://www.rpm.org

一般命名格式:bash-4.1.2-15.e16_4.x86_64.rpm

其中bash是软件名称,

4.1.2是版本号

15.e16_4是发布次数

x86_64是硬件平台

rpm是扩展名

软件包之间可能存在依赖关系,甚至循环依赖,即:A包依赖B包,B包依赖C包,C包依赖A包安装软件包时,会因为缺少依赖的包,而导致安装包失败

3:rpm包获取途径:

1:红帽官方

2:第三方组织

3:软件项目官方站点

4:自己制作

4:rpm命令格式

1:查询

选项功能效果
rpm -qa(all)显示当前系统中以 RPM 方式安装的所有软件列表
rpm -q 软件名查询指定软件是否已安装
rpm -qi 软件名查看指定软件包的名称、版本、许可协议、用途描述等详细信息
rpm -ql(list) 软件名显示指定的软件包在当前系统中安装的所有目录、文件列表
rpm -qc (configfiles ) 软件名列出已安装的指定软件的配置文件
rpm -qd(docfiles) 软件名列出已安装的指定软件的软件包文档所在位置
rpm -qR (requires) 软件名列出已安装的指定软件的依赖的软件包及文件
rpm -qf(file) 软件名查看指定的文件或目录是由哪个软件包所安装的
rpm-qpd查询未安装指定软件包的文档位置
rpm -qpi查询未安装指定软件包的完整名称详细信息
rpm -qpl查询未安装指定软件包的文件列表
rpm -qpc查询未安装指定软件包的配置文件位置

5:挂载

1:mount        设备        加文件夹路径(已存在且是空的文件夹,原来的数据将被隐藏)

2:挂载规则

一个挂载点同一时间只能挂载一个设备

一个挂载点同一时间挂在了多个设备,只能看到最后一个挂在设备的数据,其他设备上的数据将被隐藏

一个设备可以同时挂载到多个挂载点

通常挂在带你一般是已存在的空目录

3:安装卸载升级软件包

1:格式

rpm         [选项]         rpm软件包

2:选项

选项效果
-i安装一个新的RPM软件包
-U升级某个软件包,若未安装过则进行安装
-F升级某个软件包,若未安装过则直接结束
-h在安装或升级过程中已#号显示读条
-v显示安装过程的详细信息
--force强制安装某个软件包
-e 软件名卸载指定的软件
--nodeps在安装或升级、卸载一个软件包时,不检查与其他包的依赖关系

3:维护RPM数据库

1.重建RPM数据库

当RPM 数据库发生损坏,可通过 重建RPM 数据库 修复

rpm --rebuild 或者 rpm --initdb

2.导入验证公钥

在没有导入用于数字签名验证的公钥之前,安装光盘中的一部分RPM 包时会报错。需要向RPM数

据库中导入位于光盘根目录下的公钥文件。

三:源代码编译安装

1:程序包编译安装

源代码-->预处理-->编译-->汇编-->链接-->执行

多文件:文件中的代码之间,很可能存在跨文件依赖关系

虽然有很多开源软件将软件打成包,供人们使用,但并不是所有源代码都打成包,如果想使用开源软件,可能需要自已下载源码,进行编译安装。另外即使提供了包,但是生产中需要用于软件的某些特性,仍然需要自行编译安装。但是利用源代码编译安装是比较繁琐的,庆幸的是有相关的项目管理工具可以大大减少编译过程的复杂度

2:yum安装

      yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间

实例:

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值