安装及管理程序

1.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软件包 DEB软件包 源代码软件包
系统支持 RHEL、CentOS、OpenSUSE等系列 Ubuntu、Debian等系列 包含程序的源代码,需要编译安装
软件包名称格式 XXX.rpm XXX.deb XXX.tar.gz、XXX.tar.bz2等格式的压缩包
管理命令 rpm 、 yum dpkg 、 apt-get

附带安装程序的软件包:包含二进制程序文件,解压即可直接使用,包含安装脚本或程序,解压执行即可完成自动安装。


2.RPM软件包管理工具

(1)RPM软件管理器Red-Hat Package Manager

由Red Hat公司提出,被众多Linux发行版所采用;
建立统一的文件数据库;
详细记录软件包安装、卸载、升级等变化信息;
自动分析软件包依赖关系。


(2)RPM软件包

软件素材参考:http://www.rpm.org
一般命名格式:bash-4.2.46-28.el7.x86_64.rpm
软件名称:bash
版本号:4.2.46
发布次数:28.el7
硬件平台:x86_64
扩展名:rpm


(3)查询RPM软件报信息

(1)rpm命令的格式

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


(2)查询已安装的RPM软件信息

rpm -q [子选项] [软件名]

常用选项
-qa 全量查看已经安装的所有软件
-qi 查看软件的详细信息
-ql 查看软件的所有文件
-qc 查看软件的配置文件
-qd 查看软件的文档文件
-qR 查看软件的依赖包和文件
-qf 查看文件/目录属于哪个软件

*注:rpm -qa | grep 软件名 #全量查看已经安装的所有软件,再通过grep过滤


(3)查询RPM软件包文件中的信息

rpm -qp [子选项] RPM包文件

常用选项
-qpi 根据软件包查看软件的详细信息
-qpl 根据软件包查看软件的所有文件
-qpc 根据软件包查看软件的配置文件
-qpd 根据软件包查看软件的文档文件


(4)安装、升级、卸载RPM软件包

(1)安装或升级RPM软件

rpm [选项] RPM包文件...

常用选项
-i 安装一个新的 RPM 软件包
-U 安装或升级
-F 仅升级

*注:rpm -ivh 软件包 [--nodeps --force] #强制安装一个新的RPM软件包,vh显示安装进度可省略;[--nodeps --force] 强制安装
(DEP:dpkg -i XXX.deb)


(2)卸载指定的RPM软件

rpm -e 软件名

辅助选项
-e 卸载指定名称的软件包
--force 强制安装某个软件包,比如要安装版本更旧的软件包
--nodeps 在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系

*注:rpm -evh 软件名 [--nodeps --force]
(DEP:dpkg -r XXX.deb)


(5)维护RPM数据库

重建RPM数据库
rpm --rebuilddb #重建RPM数据库
rpm --initdb

导入验证公钥:
rpm --import 秘钥 #向RPM数据库导入验证秘钥文件


(6)解决软件包依赖关系方法

安装有依赖关系的多个软件时:
被依赖的软件包需要先安装;可同时指定多个.rpm包文件进行安装。
卸载有依赖关系的多个软件时:
依赖其他程序的软件包需要先卸载;可同时指定多个软件名进行卸载。
忽略依赖关系:
结合“--nodeps”选项,但可能导致软件异常。

(1)软件包管理器-yum

能够自动解决软件包的依赖关系,实现一键安装软件包。

(1)配置yum本地仓库源

(1)挂载光盘镜像
mount /dev/sr0 /mnt #把光驱挂载mnt目录下
df #验证挂载情况

(2)进入 yum 仓库配置目录,备份原仓库配置文件
cd /etc/yum.repos.d/
mkdir repo.bak
mv *.repo repo.bak/

(3)创建 yum 本地仓库源配置文件
cd /etc/yum.repos.d/
vim local.repo
[local] ##仓库类别
name=local ##仓库名称
baseurl=file:///mnt ##指定URL 访问路径为光盘挂载目录
enabled=1 ##开启此yum源,此为默认项,可省略
gpgcheck=0 ##不验证软件包的签名
(gpgcheck=1 #gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-7)

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


(4)使用 yum 安装软件
yum install -y 软件名


3.源代码编译安装

(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)使用yum安装编译安装环境依赖包
2)下载解压源代码软件包
3)进入软件包目录使用 ./configure 配置安装目录、安装模块
4)使用 make 编译
5)使用 make install 安装


yum remove/erase #卸载
yum update #升级
yum list [软件名] #查询软件列表
yum list installed/available/updates
yum info 软件名 #查看软件信息
yum search all 软件关键词 #根据关键词搜索软件包
yum whatprovides 命令子/命令文件 #根据命令搜索软件包

posted @   无敌小鲁班  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示