Linux安装及管理程序

前言

在 Linux 系统的广阔天地中,应用程序的安装与管理是极为关键的环节,其重要性堪比系统的基石了解不同软件封装类型以及熟练掌握相应的安装管理方法,是每一位 Linux 用户必须具备的核心技能,这直接关系到系统的功能完整性、稳定性以及安全性。

一.系统命令与应用程序区别

系统命令应用程序
文件位置对于内部命令,常集成在 Bash 程序内,而不是独立地执行文件应用程序的执行文件通常放在/usr/bin、/usr/sbin和/usx/local/bin、/usr/local/sbin 等目录中
主要用途用于辅助操作系统本身的管理应用程序需要在操作系统之外另行安装,提供相对独立于操作系统的功能,与“软件”同概念
所需环境命令只在字符操作界面中运行。应用程序有的会用到图形界面,有的应用程序提供执行文件,可以像Linux命令一样的格式运行,称为程序命令。
命令格式命令行大多适用于“命令字 选项 参数”形式的一般格式应用程序一般没有固定的执行格式,运行方式由程序开发者自定义

Linux应用程序的组成

安装完应用程序后文件都会分配到各个目录,
典型的应用程序通常由这些组成

普通的可执行程序文件:一般保存在/usr/bin 目录中,普通用户即可执行。
服务器程序、管理程序文件:一般保存在/usr/sbin 目录中,只有管理员能执行。
配置文件:一般保存在/etc 目录中,配置文件较多时会建立相应的子目录。
日志文件:一般保存在/ar/log目录中。
关于应用程序的参考文档等数据:一般保存在/usr/share/doc/目录中。
执行文件及配置文件的 man 手册页:一般保存在/usr/share/man/目录中。

二.Linux软件包的封装类型

对于各种应用程序软件包,在封装的过程中可以采用各种不同的类型,不同的软件包类型安装的方式也不同

①RPM 软件包 : 对于这种扩展名为".rpm"

只能在使用 RPM(软件包管理器)机制的 Linux操作系统中安装,如 RHEL、Fedora、Cent0s、0penEuler 等。RPM 软件包一般针对特定版本的操作系统定制,依赖性强。安装rpm类型应用程序得需要用的rpm命令。

②DEB软件包 : 扩展名为“deb”

只能在使用 **DPKG(Debian 包管理器)**机制的 Linux 操作系统中进行安装,如 Debian、ubuntu等。安装 DEB 软件包需要使用操作系统中的 dpkg命令。

③源码包软件包

这种软件包都是程序员开发的完整原始代码,会做成“.tar.gz”或“.tar.bz2”等格式的压缩包,使用 tar 命令打包源码包,所以经常被称为“TarBal1”。安装源代码软件包需要用对应编译工具,Linux 中的 c语言编译器 gcc。安装操作系统的时尽量勾选开发工具项来安装基本编译环境。

④附带安装程序的软件包

这种软件包的扩展名不一,但仍以 TarBal1 格式的居多,安装时会有向导说明进行安装。

三.RPM软件包描述

①RPM 软件包管理机制最早由 Red Hat 公司提出的,随着版本的升级逐渐融入更多的优秀特性 ,变成众多 Linux发行版中公认的软件包管理标准

②RPM软件包管理器通过建立统一的文件数据库,Linux 中安装、卸载、升级的各种.rpm进行的动作会被详细的记录,并能够自动分析软件包之间的依赖关系

③“软件名-软件版本-发布次数.操作系统类型.硬件架构类型.rpm”的文件名形式 如下
“ bash-4.2.46-20.e17_2.x86_64.rpm”

挂在光盘查看rpm软件包格式
手动挂载光驱! 创建挂载点 进行挂在

[rootalocalhost Packages]# mkdir /media/cdrom
[rootalocalhost Packages]# mount /dev/cdrom /media/cdrom/
[rootalocalhost Packages]# cd /media/cdrom/Packages/
[rootalocalhost Packagesl# ls
abattis-cantarell-fonts-0.303.1-3.0e2403sp1.noarch.rpmabattis-

四.RPM软件包管理命令

1.rpm命令格式

如果不知道rpm命令的选项可以使用–help帮助查看信息
在这里插入图片描述
在手册页可以看到rpm的选项功能非常强大 功能多
结合不同的选项和子选项可以实现三类功能

  • 查询、验证 RPM软件包的相关信息
  • 安装、升级、卸载 RPI 软件包。
  • 维护 RPM 数据库信息等综合管理操作

rpm查询命令

查询已安装的选项格式
在这里插入图片描述

-qa:显示当前系统中以 RPM 方式安装的所有软件列表
-qi:查看指定软件包的名称、版本、许可协议、用途描述等详细信息(-info)
-q1:显示指定的软件包在当前系统中安装的所有目录、文件列表(一1ist)
-qf:查看指定的文件或目录是由哪个软件包所安装的(一file)

①查询所有可用的rpm软件包-“qa”列表*↓

如图下

=

②查询应用程序是否安装 以软件名称作为“参数”-“q"

如图所示
在这里插入图片描述

③如果安装完应用程序,不知道用途可以使用-“qi”

可以查询详细信息以及用途等请添加图片描述

④当需要查看某个软件包安装的目录和文件清单时可以使用-“ql”

参数指的软件名称
请添加图片描述

⑤如果想知道文件目录是由那个程序安装出来的使用-“qf”

[rootalocalhost ~]# which dhcpd
usr/sbin/dhcpd
[rootalocalhost ~l# rpm -gf /usr/sbin/dhcpd
dhcp-4.4.3-9.0e2403sp1.x86 64
[root@localhost ~]

2.查询 RPM 软件包文件中的相关信息

使用“-qp”选项时,必须以 RPI 软件包文件的路径作为参数(可以有多个),而不是软件包名称。(查询未安装的软件包可以使用”qp“)
其相关的子选项与使用“-q”查询时类似,常用的两个查询选项如下所述。
-qpi:查看指定软件包的名称、版本、许可协议、用途描述等详细信息。
-qp1:查看该软件包准备要安装的所有目标目录、文件列表。

3.安装、卸载、更新RPM软件包

在日常系统管理工作中,安装、更新及卸载软件包是管理应用程序最基本的工作内容
下面是RPM软件包选项

-i:在当前系统中安装(Instal1)一个新的 RPM 软件包。
-e:卸载指定名称的软件包。
-U:检查并升级系统中的某个软件包,若该软件包原来并未安装,则等同于“-i”选项。
-F:检查并更新系统中的某个软件包,若该软件包原来并未安装,则放弃安装。
-h:在安装或升级软件包的过程中,以“#”号显示安装进度。
-v:显示软件安装过程中的详细信息。
-force:强制安装某个软件包,当需要替换已安装的软件包及文件,或者安装一个比当前使用的软件版本更旧的软件时,可以使用此选项。
-nodeps:在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系。

①安装、更新RPM软件包

安装和更新

想要安装rpm软件包就需要知道本地仓库(第三方以及网络仓库)有哪些应用程序软件包,安装时可以选择-”ivh“ 可以查看详细信息与进度条 如图所示
请添加图片描述
也可以同时安装多个软件包 可以加”*“(空格)请添加图片描述!!若使用新版本的软件包替换旧的版本,则只需将“ivh”换成“U”即可。!!

卸载

如果不想要这个安装后的应用程序可以卸载掉 当需要安装、卸载一个与其他程序存在依赖关系的软件包时,系统将提示存在依赖关系而放弃执行。这时可以结合“一nodeps”选项忽略依赖关系,而强行安装或卸载指定的软件包。
下面就是卸载rpm软件包

[root@localhost Packages]#
rpm -e wget
[root@localhost Packages]#
  • 如图忽略依赖关系强制安装以及删除
    请添加图片描述

五.源代码编译安装描述

Linux 操作系统之所以能够在十余年的时间里发展壮大以至风靡全球,其开放源代码和操作简单的特性是很重要的原因之一,即 Linux 操作系统中包括内核在内的所有软件都可以获得源代码,并且可以经过定制修改后编译安装。
现代的 Linux 发行版本通常使用软件包管理机制对软件进行打包安装,省去了软件的编译安装过程, 简化了 Linux 操作系统的安装和使用难度。但是有些情况下,仍然需要使用源代码编译的方式为操作系统安装新的应用程序(RPM软件包不可二次修改) 以下是源代码编译的情况

①安装较新版本的应用程序时

rpm仓库提供软件包非常丰富但是版本会很落后,优化新版本的就需要去官网去下开源代码都是最新版本的
因为大多数的开源软件总是以源代码的形式最先
发布,之后才会逐渐出现.rpm、.deb 等二进制封装的版本。下载应用程序的最新源代码包并编译安装,可以在程序功能、安全补丁等方面得到及时更新

②安装的程序无法满足应用需求

对于 rpm格式封装的应用程序,一般只包含该软件所能实现的一小部分功能,而难以由用户自行修改、定制。通过对程序的源代码进行重新配置并编译安装后,可以定制更灵活、更丰富的功能

④应用程序添加新的功能

需要利用现有的程序源代码进行适当的修改以便增加新的功能时,必须释放出该软件的源代码,修改后再重新编译安装

编译源代码需要有相应的开发环境,对于自由软件来说,gcc 和 make是最佳的编译工具。gcc 和make是由 GIU 项目所贡献的功能强大的 c/c++语言编译器,Centos 7.3 中默认使用的 gcc 工具版本为 4.8.5,make工具版本为 3.82, 执行以下操作可以查看 gcc 和 make 开发工具的版本信息
如图
请添加图片描述

1.编译安装的基本过程

安装完编译环境后 对源码包安装步骤是如图

解包 配置 编译 安装
tar 解包用途:将源代码包解压、解包,释放到指定目录,等待编译
./configure 配置用途:设置安装的目标文件夹,选择要安装的功能模块等
make编译用途:根据前一步配置,将源代码变成可执行的二进制文件
make install安装用途: 将编译好的二进制文件复制到系统中,并设置应用环境

以下是源码包安装过程使用的是“apache”http源码包

①准备好软件和编译环境开始解包

对封装好的源码包进行解压 安装apache头库文件
解包前先安装编译环境和依赖包。
请添加图片描述

②将解压的源码包进行配置

在编译应用程序之前,需要进入源代码目录,通过目录下的脚本检查安装环境,并且对软件的安装目功能选择等参数进行预先配置

  • 安装到指定位置长格式"prefix"=
    请添加图片描述

③编译

编译的过程主要是根据 makefile 文件内的配置信息(若上一步的配置操作失败,将无法进行编译)将源代码文件进行编译生成二进制的程序模块、动态链接库、可执行文件等

[rootalocalhost httpd-2.4.25]# make

④安装

编译完成后可以进行下一步安装 可以执行“make install”命令将软件的执行程序、配置文件、帮助文档等相关文件复制到 Linux 操作系统中了,即应用程序的最后“安装”过程

[rootalocalhost httpd-2.4.25]# make install

⑤使用

完成前面的要求 就可以使用安装好的应用程序 服务等
我安装的是“apache”http服务
修改一下配置文件查看一下是否成功
在这里插入图片描述
进入末行模式wq保存退出
别忘了启动apache 没做系统服务脚本就需要找到执行文件的位置
在这里插入图片描述
启动完成之后进行“curl”查询是否能连接路径
在这里插入图片描述
成功连接到网页
感谢大家观看谢谢

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值