【Linux】安装及管理程序

目录

一、Linux应用程序基础

1.应用程序与系统命令

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

3.软件包封装类型

二、RPM

1.RPM 软件包管理器

2.RPM软件包命名格式

3.RPM命令的格式

4.查询已安装的rpm软件信息

5.查询未安装的 RPM 软件包文件中信息

6.安装、升级、卸载 RPM 软件包

(1)格式:

(2)常用选项

7.维护RPM数据库

(1)重建 RPM 数据库

(2)导入验证公钥

三、YUM

四、源码编译安装软件


一、Linux应用程序基础

1.应用程序与系统命令

角色系统命令应用程序
文件位置

般在/bin和/sbin目录中,或为Shell内部指令

通常在/usr/bin、/usr/sbin 和/usr/local/bin、/usr/local/sbin目录中
主要用途完成对系统的基本管理工作,例如IP配置工具完成相对独立的其他辅助任务,例如网页浏览器
适用环境一般只在字符操作界面中运行根据实际需要,有些程序可在图形界面中运行
运行格式一般包括命令字、命令选项和命令参数通常没有固定的执行格式,由程序开发者自行定义

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

文件类型保存目录说明
普通可执行文件/usr/bin所有用户可执行
服务器程序、管理员程序文件/usr/sbin只有管理员可以执行
应用程序配置文件/etc通过rpm或yum方式安装的应用程序
日志文件/var/log系统日志
应用程序参考文档文件/usr/share/doc关于应用程序的参考文档等数据
应用程序手册页文件/usr/share/man执行文件及配置文件的 man 手册页

3.软件包封装类型

文件类型保存目录
RPM软件包扩展名为“.rpm”,适用于RHEL、CentOS等系统
DEB软件包扩展名为“.deb”适用于Ubuntu、Debian等系统
源代码软件包一般为“.tar.gz”".tar.bz2”等格式的压缩包包含程序的原始代码,需要编译安装
附带安装程序的软件包

软件包的扩展名不一,以TarBall格式的居多

在软件包中会提供用于安装的可执行程序或脚本文件,如install.sh、setup 等
安装时只需运行安装文件就可以根据向导程序的提示完成安装操作

二、RPM

1.RPM 软件包管理器

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

建立统一的文件数据库

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

自动分析软件包依赖关系

2.RPM软件包命名格式

bash-4.2.46-28.e17.x86_64.rpm

软件名称 版本号 发布次数 硬件平台 扩展名

3.RPM命令的格式

rpm命令能够实现几乎所有对RPM软件包的管理功能

执行“man rpm”命令可以获得关于rpm命令的详细帮助信息
rpm命令功能:查询、验证RPM软件包的相关信息·安装、升级、卸载RPM软件包;维护重建RPM数据库信息等综合管理操作

4.查询已安装的rpm软件信息

rpm -q【子选项】 【软件名】

常用选项

-qi显示已安装的指定软件的详细信息
-ql显示已安装的指定软件的文件列表
-qc列出已安装的指定软件的配置文件
-qd列出已安装的指定软件的软件包文档所在位置
-qR 列出已安装的指定软件的依赖的软件包及文件
-qf查询已安装的指定软件属于哪个安装包
[root@bogon ~]# rpm -q xz
xz-5.2.2-2.el7_9.x86_64
[root@bogon ~]# rpm -q gzip
gzip-1.5-11.el7_9.x86_64
[root@bogon ~]# rpm -q zip
zip-3.0-11.el7.x86_64

[root@bogon ~]# rpm -qa | grep nfs        #显示已安装的指定软件的详细信息
libnfsidmap-0.25-19.el7.x86_64
nfs4-acl-tools-0.3.3-21.el7.x86_64
nfs-utils-1.3.0-0.68.el7.2.x86_64
[root@bogon ~]# rpm -q nfs-utils
nfs-utils-1.3.0-0.68.el7.2.x86_64
[root@bogon ~]# rpm -qi nfs-utils
Name        : nfs-utils
Epoch       : 1
Version     : 1.3.0
Release     : 0.68.el7.2
Architecture: x86_64
Install Date: 2024年04月03日 星期三 00时34分10秒
Group       : System Environment/Daemons
Size        : 1114412
License     : MIT and GPLv2 and GPLv2+ and BSD
Signature   : RSA/SHA256, 2021年10月15日 星期五 22时00分36秒, Key ID 24c6a8a7f4a80eb5
Source RPM  : nfs-utils-1.3.0-0.68.el7.2.src.rpm
Build Date  : 2021年10月14日 星期四 20时29分29秒
Build Host  : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://sourceforge.net/projects/nfs
Summary     : NFS utilities and supporting clients and daemons for the kernel NFS server
Description :
The nfs-utils package provides a daemon for the kernel NFS server and
related tools, which provides a much higher level of performance than the
traditional Linux NFS server used by most users.

This package also contains the showmount program.  Showmount queries the
mount daemon on a remote host for information about the NFS (Network File
System) server on the remote host.  For example, showmount can display the
clients which are mounted on that host.

This package also contains the mount.nfs and umount.nfs program.

[root@bogon ~]# rpm -qc nfs-utils        #列出已安装的指定软件的配置文件
/etc/gssproxy/24-nfs-server.conf
/etc/modprobe.d/lockd.conf
/etc/nfs.conf
/etc/nfsmount.conf
/etc/request-key.d/id_resolver.conf
/etc/sysconfig/nfs
/var/lib/nfs/etab
/var/lib/nfs/rmtab
/var/lib/nfs/state
/var/lib/nfs/xtab

5.查询未安装的 RPM 软件包文件中信息

rpm -qp【子选项】 RPM包文件

常用选项

-qpi查询指定软件包的详细信息
-qpl 查询指定软件包的文件列表
-qpc查询指定软件包的配置文件
-qpd查询指定软件包的软件包文档的位置

 

[root@bogon ~]# rpm -qf /etc/httpd/conf/httpd.conf
httpd-2.4.6-97.el7.centos.5.x86_64
[root@bogon ~]# cd /mnt/Packages/
[root@bogon Packages]# ls | grep httpd-2.4.6
httpd-2.4.6-97.el7.centos.5.x86_64.rpm
[root@bogon Packages]# rpm -qpi httpd-2.4.6-97.el7.centos.5.x86_64.rpm        #查询指定软件包的详细信息
警告:httpd-2.4.6-97.el7.centos.5.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
Name        : httpd
Version     : 2.4.6
Release     : 97.el7.centos.5
Architecture: x86_64
Install Date: (not installed)
Group       : System Environment/Daemons
Size        : 9821136
License     : ASL 2.0
Signature   : RSA/SHA256, 2022年03月25日 星期五 02时21分56秒, Key ID 24c6a8a7f4a80eb5
Source RPM  : httpd-2.4.6-97.el7.centos.5.src.rpm
Build Date  : 2022年03月24日 星期四 22时59分42秒
Build Host  : x86-02.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://httpd.apache.org/
Summary     : Apache HTTP Server
Description :
The Apache HTTP Server is a powerful, efficient, and extensible
web server.

6.安装、升级、卸载 RPM 软件包

(1)格式:

rpm 【选项】 RPM包文件
rpm -ivh RPM软件包

(2)常用选项

-i安装一个新的 RPM 软件包
-U升级某个软件包,若未安装过,则进行安装
-F升级某个软件包,若未安装过,则放弃安装
-h在安装或升级软件包的过程中,以“#”号显示安装进度
-v显示软件安装过程中的详细信息
--force强制安装某个软件包,比如要安装版本更旧的软件包
-e卸载指定名称的软件包
--nodeps在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系
[root@bogon Packages]# ls | grep zlib-devel        #安装一个新的 RPM 软件包,显示软件安装过程中的详细信息,并且以“#”号显示安装进度
zlib-devel-1.2.7-20.el7_9.x86_64.rpm
[root@bogon Packages]# rpm -ivh zlib-devel-1.2.7-20.el7_9.x86_64.rpm
警告:zlib-devel-1.2.7-20.el7_9.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中...                          ################################# [100%]
        软件包 zlib-devel-1.2.7-20.el7_9.x86_64 已经安装
[root@bogon Packages]#

[root@bogon Packages]# ls | grep pcre-devel        #升级某个软件包,若未安装过,则进行安装
pcre-devel-8.32-17.el7.x86_64.rpm
[root@bogon Packages]# rpm -U pcre-devel-8.32-17.el7.x86_64.rpm
警告:pcre-devel-8.32-17.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
        软件包 pcre-devel-8.32-17.el7.x86_64 已经安装
[root@bogon Packages]#

7.维护RPM数据库

(1)重建 RPM 数据库

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

或者

rpm --initdb

(2)导入验证公钥

在没有导入用于数字签名验证的公钥文件之前,安装光盘中的一部分RPM软件包时会报错。需要向RPM数据库中导入位于光盘根目录下的公钥文件

mount /dev/sr0 /mnt/
rpm --import /mnt/RPM-GPG-KEY-CentOS-7

注意:

RPM数据库:用于记录在Linux系统中安装、卸载、升级应用程序的相关信息,由RPM包管理系统自动完成维护,一般不需要用户干预

当RPM数据库发生损坏(误制文件、非法关机、病当破坏等导致),且Linux系统无法自动完成修复时,将导致无法使用rpm命令正常地安装、卸载及查询软件包,这时可以使用-rebuilddb或 initdb重建RPM数据库

在Linux/Unix应用领域,相当一部分软件厂商会对发布的软件包进行数字签名,以确保软件的完整性、合法性,对于用户来说,可以利用软件官方提供的公钥文件,自动对下载的软件包进行验证,如果在安装软件时出现验证失败的提示,则表示该软件包可能已经被非法算改

三、YUM

先配置本地yum源仓库
mount /dev/sr0 /mnt/                     #把光盘挂载到/mnt目录下

cd /etc/yum.repos.d/                          #备份系统自带yum仓库
mkdir repos.bak                                 
mv *.repo repos.bak

cd /etc/yum.repos.d/
vim local.repo
[local]                                                 #仓库类别
name=local                                        #仓库名称
baseurl=file:///mnt                              #指定URL 访问路径为光盘挂载目录
enabled=1                                          #开启此yum源,此为默认项,可省略
gpgcheck=0                                       #不验证软件包的签名

yum clean all && yum makecache     #删除yum缓存并更新

 

四、源码编译安装软件

编译安装的步骤
./config检测安装环境
个性化指定安装目录
个性化设置安装选项
make把人类的高级语言翻译成二进制语言
make install把安装好的程序放到指定的安装目录中

1.使用 yum 安装编译软件环境的依赖包  gcc  gcc-c++  make  ....

2.官网下载,解压软件包
tar xf XXX.tar.gz

3.进入软件包目标使用 ./configure 配置软件的安装目录、安装模块等
cd 软件包目录
./configure --prefix=软件安装目录  --XXX                 #可通过 --help 获取帮助

4.make 编译,将源代码转换成可执行的二进制程序文件

5.make install 安装,复制二进制程序文件和软件配置文件等到软件安装目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值