RPM
一、应用程序与系统命令的关系
角色 | 系统命令 | 应用程序 |
---|---|---|
文件位置 | 一般在/bin和/sbin目录中,或为Shell内部指令 | 通常在PATH的/usr/bin、/usr/sbin和/usr/local/bin、/usr/local/sbin目 录中 |
主要用途 | 完成对系统的基础管理工作,例如IP配置工具 | 完成相对独立的其他辅助任务,例如网页浏览器 |
使用环境 | 一般只在字符操作界面中运行 | 根据实际需要,有些程序可在图形姐买你中运行 |
运行格式 | 一般包括命令字、命令选项和命令参数 | 通常没有固定的执行格式,由程序开发者自行定义 |
二、典型应用程序的目录结构
文件类型 | 保存目录 | 说明 |
---|---|---|
普通的可执行程序文件 | /usr/bin | 所有用户可执行 |
服务器程序、管理程序文件 | /usr/sbin | 只有管理员能执行 |
应用程序配置文件 | /etc | 通过rpm或yum方式安装的应用程序 |
日志文件 | /var/log | 系统日志 |
应用程序参考文档文件 | /usr/share/doc | 关于应用程序的参考文档等数据 |
应用程序手册页文件 | /usr/share/man | 执行文件及配置文件的man手册页 |
三、常见的软件包封装类型
文件类型 | 保存目录 |
---|---|
RPM软件包 | 扩展名为".rpm" ,适用于RHEL、CentOS等系统 |
DEB软件包 | 扩展名为".deb" , 适用于Ubuntu、Debian等系统 |
源代码软件包 | 一般为".tar.gz" 、” .tar.bz2"等格式的压缩包 包含程序的原始代码,需要编译安装 |
附带安装程序的软件包 | 在软件包中会提供用于安装的可执行程序或脚本文件,如install.sh、setup等 安装时只需运行安装文件就可以根据向导程序的提示完成安装操作 |
四、RPM包管理工具
1.RPM软件包管理器Red-Hat Package Manager
1)由Red Hat公司提出,被众多Linux发行版所采用
2)建立统一的文件数据库
3)详细记录软件包安装、卸载、升级等变化信息
4)自动分析软件包依赖关系
2.RPM软件包
软件素材参考网址:http:www.rpm.org
一般命名格式为:bash-4.2.46-28.el7.x86_64.rpm
bash是软件名称,-4.2.46是版本号,-28是发布次数,el7是centos7的版本,x_86代表了硬件的服务器架构平台,64是64位的, .rpm是扩展名
如果硬件平台显示noarch的话,就不区分硬件平台,在任何硬件平台上通用!
3.rpm命令
1)简介
■rpm命令能够实现几乎所有对RPM软件包的管理功能
■执行"man rpm"命令可以获得关于rpm命令的详细帮助信息
2)rpm命令功能
●1.查询、验证RPM软件包的相关信息
●2.安装、升级、卸载RPM软件包
●3.维护重建RPM数据库信息等综合管理操作
3)RPM命令的格式、常用选项
rpm命令能够实现几乎所有对RPM软件包的管理功能
执行"man rpm"命令可以获得关于rpm命令的详细帮助信息
rpm命令功能:
●查询、验证RPM软件包的相关信息
●安装、升级、卸载RPM软件包
●维护重建RPM数据库信息等综合管理操作
查询已安装的RPM软件信息
rpm -q [子选项] [软件名]
rpm -qa #显示当前系统中以rpm方式安装的所有软件列表
rpm -qa | grep nfs # 显示当前系统中以rpm方式安装的所有软件且过滤出有关nfs的软件包
rpm -qi #显示已安装的指定软件的详细信息
rpm -ql #显示已安装的指定软件的文件列表
rpm -qc #显示已安装的指定软件的配置文件
rpm -qd #显示已安装的指定软件的软件包文档所在位置
rpm -qR #显示已安装的指定软件的依赖的软件包及文件
rpm -qf #查询已安装的指定软件属于哪个安装包
查询 未安装的 RPM软件包 文件中的信息
rpm -qpi RPM包文件名 #查询指定软件包的详细信息
rpm -qpl #查询指定软件包的文件列表
rpm -qpc #查询指定软件包的配置文件
rpm -qpd #查询指定软件包的软件包文档的位置
4.安装、升级、卸载 RPM软件包
格式:
rpm 【选项】 RPM 包文件
rpm -ivh RPM软件包的名称
常用选项 | 说明 |
---|---|
-i | 安装一个新的 RPM 软件包 |
-U | 升级某个软件包,若未安装过,则进行安装。 |
-F | 升级某个软件包,若未安装过,则放弃安装。 |
-h | 在安装或升级软件包的过程中,以“#”号显示安装进度。 |
–force | 显示软件安装过程中的详细信息。 |
-e | 卸载指定名称的软件包 |
–nodeps | 在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系 |
5.维护 RPM 数据库
维护RPM数据库
1.重建 RPM 数据库
当RPM 数据库发生损坏,可通过重建RPM数据库修复
格式:rpm --rebuilddb 或者 rpm --initdb
2.导入验证公钥
在没有导入用于数字签名验证的公钥文件之前,安装光盘中的一部分RPM软件包时会报错。需要向RPM数据库中导入位于光盘根目录下的公钥文件
格式:mount /dev/sr0 /mnt/
rpm --import /mnt/RPM-GPG-KEY-Cent0s-7
yum 软件包管理器
能够解决软件包的依赖关系,实现一键安装软件包
配置本地yum源仓库的操作
第一步:挂载 光盘镜像
mount /dev/ar0 / mnt
/dev/cdrom / mnt
第二步:进入yum仓库配置目录,备份源文件
cd / etc/ yum. repos.d
mkdir repo. bak
mv *. repo repo.bak/
第三步:创建本地yum源配置文件
cd /etc/yum. repos.d
vim local . repo
[ A ] A是设置的名称
name= A
file:// 是固定格式 再加上存在哪个目录的路径
enabled=1/0 1是启动,0是关闭
gpgkey=0
yum clean all && yum makecache
yum install -y XXXX软件名
yum常用的操作命令 | 说明 |
---|---|
yum install -y 软件名 | 安装或升级软件包(-y表示自动确认,-q表示静默安装) |
yum remove/erase -y 软件名 | 卸载软件包,可自动解决其依赖关系 |
yum update -y 软件名 | 升级软件包 |
yum list | 查询软件包列表 |
yum list installed | #查询系统中EL安装的软件包 |
yum list available | #查询仓库中尚未安装的软件包 |
yum list updates | #查询可以升级版本的软件包 |
yum info 软件名 | #查询软件包的描述信息 |
yum search [all] 关键词
#根据某个关键词来查找相关的软件包
yum search all httpd / yum whatprovides命令
#查询命令属于哪个软件包
编译安装的基本过程
源码编译安装软件
(1)yum安装软件依赖包
yum install -y gcc gcc -c ++ make zlib-devel pcre-devel
(2) 下载,解压软件包
下载:下载到opt目录
解压:tar xf XXXX (解压软件包)
(3)配置软件的安装路径或安装关闭相关模块功能
cd软件包目录
. /configure --prefix=软件安装目录 --XXX
--help(查看--help的使用方法)
(4)make编译(将源码转换可执行的二进制程序文件)
默认时用一个CPU进行编译
make -j2 用两个CPU进行编译
(5)make install 安装软件