玄子Share-安装及管理程序
Linux 应用程序基础
应用程序与系统命令的关系
| 角色 | 系统命令 | 应用程序 |
|---|---|---|
| 文件位置 | 一般在/bin和/sbin目录中,或为Shell内部指令 | 通常在/usr/bin和/usr/sbin目录中 |
| 主要用途 | 完成对系统的基本管理工作 | 完成相对独立的任务 |
| 适用环境 | 一般只在字符操作界面中运行 | 根据实际需要,有些程序可在图形界面中运行 |
| 运行格式 | 一般包括命令字、命令选项和命令参数 | 通常没有固定的执行格式 |
典型应用程序的目录结构
| 文件类型 | 保存目录 |
|---|---|
| 普通用户执行程序文件 | /usr/bin |
| 管理员执行程序文件和管理程序文件 | /usr/sbin |
| 应用程序配置文件 | /etc |
| 日志文件 | /var/log |
| 应用程序参考文档文件 | /usr/share/doc |
| 应用程序手册页文件 | /usr/share/man |
常见的软件包封装类型
| 文件类型 | 保存目录 |
|---|---|
| RPM软件包 | 扩展名为 ".rpm" |
| DEB软件包 | 扩展名为 ".deb" |
| 源代码软件包 | 一般为 ".tar.gz"、".tar.bz2" 等格式的压缩包 包含程序的原始代码 |
| 绿色免安装的软件包 | 软件包的扩展名不一,以TarBall格式的居多 在压缩包内提供已编译好的执行程序文件 解开压缩包后的文件即可直接使用 |
RPM 包管理工具
Red-Hat Package Manager
- 由Red Hat公司提出,被众多Linux发行版所采用
- 建立统一的数据库文件
- 详细记录软件包安装、卸载、升级等信息
- 自动分析软件包之间的依赖关系
RPM软件包
-
一般命名格式:
bash-4.1.2-15.el7_4.x86_64.rpm-
bash:软件名称
-
4.1.2:版本号
-
15.el7_4:发布次数
-
x86_64:硬件平台
-
rpm:扩展名
-
-
软件素材参考:http://www.rpm.org
RPM命令格式
rpm 命令能够实现几乎所有对RPM软件包的管理功能
执行man rpm命令可以获得关于rpm命令的详细帮助信息
rpm 命令功能
- 查询、验证RPM软件包的相关信息
- 安装、升级、卸载RPM软件包
- 维护RPM数据库信息等综合管理操作
查询已安装的 RPM 软件包信息
shell
rpm -q[子选项] [软件名]
| 选项 | 功能 |
|---|---|
| -qa | 查看所有已安装的rpm软件包列表 |
| -qi | 查看指定已安装软件包的名称、版本、用途等信息 |
| -ql | 查看指定已安装软件包包含的子目录、文件等 |
| -qf | 查看指定已安装软件包的文件或目录由哪个软件包提供 |
| -qc | 查看已安装软件包的配置文件 |
| -qd | 查看已安装软件包的相关帮助信息 |
| -qa | wc -l | 查看已安装所有软件包的总个数 |
- 查看已安装软件包的名称、版本、用途等信息
shell
rpm -qi openssh-server
- 查看已安装软件包所包含的子目录和文件等\
shell
rpm -ql openssh-server
- 查看文件或目录由哪个软件包提供
shell
rpm -qf /etc/ssh/sshd_config
- 查看已安装软件包所包含的配置文件
shell
rpm -qc openssh-server
查询未安装的 RPM 软件包
shell
rpm -qp[子选项] RPM包文件.rpm
| 选项 | 功能 |
|---|---|
| -qpi | 查看指定未安装软件包的名称、版本、用途等信息 |
| -qpl | 查看指定未安装软件包包含的子目录、文件等 |
| -qpc | 查看指定未安装软件包的配置文件 |
| -qpd | 查看指定未安装软件包的相关帮助信息 |
- 查看未安装软件包的名称、版本、用途等信息
shell
rpm -qpi httpd.rpm
- 查看未安装软件包所包含的子目录和文件等
shell
rpm -qpl httpd.rpm
- 查看未安装软件包所包含的配置文件
shell
rpm -qpc httpd.rpm
管理 RPM 软件包
安装RPM软件
shell
rpm [选项] RPM包文件.rpm
| 选项 | 功能 |
|---|---|
| -i | 安装一个新软件包 |
| -v | 显示安装详细信息 |
| -h | 显示安装软件包的进度信息 |
升级RPM软件
shell
rpm [选项] RPM包文件.rpm
| 选项 | 功能 |
|---|---|
| -U | 检查并升级安装系统中某个软件包,若软件包没有安装,相当于 "-i" |
| -F | 检查并升级安装系统中某个软件包,若软件包没有安装,则放弃安装 |
| -h | 显示安装软件包的进度信息 |
| -v | 显示安装详细信息 |
卸载RPM软件
shell
rpm -e 软件名
| 选项 | 功能 |
|---|---|
| --force | 强制安装或卸载软件包,用于替换老版本软件包 |
| --nodeps | 忽略软件包依赖关系,安装或卸载软件包 |
软件包依赖关系
- 安装有依赖关系的多个软件时
- 被依赖的软件包需要先安装
- 可同时指定多个 .rpm 包文件进行安装
- 卸载有依赖关系的多个软件时
- 依赖其他程序的软件包需要先卸载
- 可同时指定多个软件名进行卸载
- 忽略依赖关系
- 结合
--nodeps选项,但可能导致软件异常
- 结合
维护 RPM 数据库
- 重建RPM数据库
shell
[root@localhost ~]# rpm --rebuilddb
shell
[root@localhost ~]# rpm --initdb
导入验证公钥
shell
[root@localhost ~]# rpm --import /media/cdrom/RPM-GPG-KEY-CentOS-7
源代码编译概述
- 使用源代码安装软件的优点
- 获得最新的软件版本,及时修复bug
- 根据用户需要,灵活定制软件功能
- 应用场合举例
- 安装较新版本的应用程序时
- 当前安装的程序无法满足需要时
- 需要为应用程序添加新的功能时
Tarball封包
.tar.gz和.tar.bz2格式居多- 软件素材参考:http://sourceforge.net
完整性校验:md5sum校验工具
shell
[root@localhost ~]# md5sum httpd-2.4.25.tar.gz
24fb8b9e36cf131d78caae864fea0f6a httpd-2.4.25.tar.gz
确认源代码编译环境
需安装支持C/C++程序语言的编译器,如:gcc、gcc-c++、make、......
编译安装过程

文件上传
rz:将宿主机(笔记本)的文件上传至虚拟机sz:将虚拟机中的文件下载至宿主机(笔记本)
部署教程
设置虚拟机
CD/DVD设置状态,勾选两个选项,确保镜像光驱挂载
使用XShell远程连接虚拟机
使用rz命令上传httpd-2.4.25.tar.gz,并使用md5sum命令校验MD5值
依次执行如下命令
shellmkdir /media/cdrom mount /dev/cdrom /media/cdrom cd /media/cdrom/Packages
mkdir /media/cdrom:创建一个名为cdrom的目录,该目录位于/media目录下。通常用来挂载光盘设备mount /dev/cdrom /media/cdrom:将光盘设备(/dev/cdrom)挂载到先前创建的/media/cdrom目录中,即可访问光盘上的内容cd /media/cdrom/Packages:切换当前工作目录到/media/cdrom/Packages目录中,即进入挂载的光盘中的Packages目录,以便查看或执行其中的文件
依次安装httpd所需七条依赖
shellrpm -ivh pcre-devel-8.32-15.el7_2.1.x86_64.rpm rpm -ivh apr-devel-1.4.8-3.el7.x86_64.rpm rpm -ivh expat-devel-2.1.0-8.el7.x86_64.rpm rpm -ivh libdb-devel-5.3.21-19.el7.x86_64.rpm rpm -ivh cyrus-sasl-devel-2.1.26-20.el7_2.x86_64.rpm rpm -ivh openldap-devel-2.4.40-13.el7.x86_64.rpm rpm -ivh apr-util-devel-1.5.2-6.el7.x86_64.rpm
- 这里 rpm 依赖的版本号,根据所使用镜像版本不同,也会有所差异,使用
rpm -ivh pcre-devel加Tab补全版本
shellyum -y install pcre-devel arp-devel apr-util-devle
- 或使用 yum 联网安装 rpm 依赖包
然后切换目录到root家目录,再使用tar -zxvf httpd-2.4.25.tar.gz -C /usr/src/命令将httpd解压到/usr/src/,并切换过去
shellcd ~ tar -zxvf httpd-2.4.25.tar.gz -C /usr/src/ cd /usr/src/httpd-2.4.25/
- 若解压失败执行
chmod 644 httpd-2.4.25.tar.gz命令,修改文件权限
依次执行如下命令
shell./configure --prefix=/usr/local/httpd make make install cd /usr/local/apache/
./configure --prefix=/usr/local/httpd: 配置软件安装的参数
./configure是一个常见的用于配置源代码的脚本--prefix=/usr/local/httpd指定了安装目录为/usr/local/httpdmake: 命令会编译软件,根据源代码生成可执行文件make install: 命令会将编译好的文件安装到系统中,通常是将可执行文件、库文件和其他必要的资源复制到指定的安装目录中
使用vim 命令查找并修改ServerName为如下格式保存并退出,然后执行/usr/local/apache/bin/apachectl start启动apache服务
在虚拟机内使用浏览器访问localhost即可查看部署
玄子Share-安装及管理程序 2024-03-11