安装及管理程序(RPM、YUM)
目录
1.应用程序与系统命令的关系
2.典型应用程序的目录结构
3.常见的软件包封装类型
二:RPM包管理工具
1.RPM软件包概述
2.RPM软件包格式
3.RPM命令格式
4.查询已安装的RPM软件信息
5.查询RPM软件包试例
6.查询RPM软件包文件中的信息
7.查询RPM软件包文件中的信息试例
8.安装、升级、卸载RPM软件包
9.升级、卸载软件包试例
10.维护RMP数据库
三:配置本地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软件包概述
RPM 软件包管理器Red-Hat Package Manager,由Red Hat公司提出,被众多Linux发行版所采用
,建立统一的文件数据库,详细记录软件包安装、卸载、升级等变化信息,自动分析软件包依赖关系。
2.RPM软件包格式
●RPM软件包格式是Red Hat公司首先提出并使用的,目前广泛应用在各类Linux发行版本中
●其中硬件平台通常为”1386”、“1586":“i686” 或"noarch ”(不区分硬件架构)等
●有些软件包的文件名中还会增加所适用的操作系统信息,例如“wget- 1.10.2-7.e15.i386.rpm”
3.RPM命令格式
RPM命令能够实现几乎所有对RPM软件包的管理功能,执行“man rpm”命令可以获得关于rpm命令的详细帮助信息。
rpm命令功能:
查询、验证RPM软件包的相关信息
安装、升级、卸载RPM软件包
维护重建RPM数据库信息等综合管理操作
一般命名格式:bash -4.1.2 -15.el6_4 .x86_64 .rpm
| | | | |
从左到右:软件名称——版本号——发布次数——硬件平台——扩展名
4.查询已安装的RPM软件信息
通用格式: rpm -q [子选项] [软件名]
常用选项:
查询已安装的rpm 软件信息 | |||
rpm -q 软件名 | 查询指定软件是否已安装 | ||
rpm -qi 软件名 | 并显示已安装的指定软件的详细信息 | ||
rpm -ql 软件名 | 并显示已安装的指定软件的文件列表 | ||
rpm -qc 软件名 | 并列出已安装的指定软件的配置文件 | ||
rpm -qd 软件名 | 列出已安装的指定软件的软件包文档所在位置 | ||
rpm -qR 软件名 | 列出已安装的指定软件的依赖的软件包及文件 | ||
rpm -gf 文 件 目 录 | 并查询已安装的指定软件属于哪个安装包 | ||
rpm -qa | 并显示当前系统中以 rpm 方式安装的所有软件列表 | ||
rpm -qa l grep -i postfix | 查询软件postfix 是否已安装 |
5.查询RPM软件包试例
rpm -q [软件名] #查询指定软件是否安装
rpm -qi [软件名] #显示已安装的指定软件的详细信息
rpm -ql [软件名] #显示已安装的指定软件的文件列表
rpm -qc [软件名] #列出已安装的指定软件的配置文件
rpm -qd [软件名] #列出已安装的指定文件的软件包文档所在位置
rpm -qR [软件名] #列出已安装的指定文件的依赖的软件包及文件
rpm -qf [文件或目录] #查询已安装的指定软件属于哪个安装包
rpm -qa | grep -i postfix #查询软件postfix是否已安装
6.查询RPM软件包文件中的信息
通用格式: rpm -q[子选项] [软件名]
常用选项:
查询未安装的rpm 软件包文件中信息 | |||
rpm -qpi RPM包文件名 | 查询指定软件包的详细信息 | ||
rpm -qpl RPM包文件名 | 并查询指定软件包的文件列表 | ||
rpm -qpc RFM包文件名 | 并查询指定软件包的配置文件 | ||
rpm -qpd RPM包文件名 | 查询指定软件包的软件包文档的位置 |
7.查询RPM软件包文件中的信息试例
rpm -qpi RPM包文件名 #查询指定软件包的详细信息
rpm -qpl RPM包文件名 #查询指定软件包的文件列表
rpm -qpc RPM包文件名 #查询指定文件包的配置文件
rpm -qpd RPM包文件名 #查询指定软件包的软件包文档的位置
8.安装、升级、卸载RPM软件包
通用格式: rpm [选项] RPM包文件
rpm -ivh RPM软件包
常用选项:
-i | 安装一个新的RPM包文件 |
-U | 升级某个软件包,若未安装过,则进行安装 |
-F | 升级某个软件包,若未安装过,则放弃安装 |
-h | 在安装或升级软件包的过程中,以“#”显示安装进度 |
-v | 显示软件安装过程中的详细信息 |
--force | 强制安装某个软件包,比如要按装版本更旧的软件包 |
-e | 卸载指定名称的软件包 |
--nodeps | 在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系 |
9.升级、卸载软件包试例
rpm -Uvh 软件包 #以“#”显示软件包升级过程,若未安装,则进行安装
rpm -evh 软件包 #以“#”显示卸载软件包的过程
10.维护RMP数据库
RPM数据库:用于记录在Linux系统中安装、卸载、升级应用程序的相关信息,由RPM包管理系统自动完成维护,一般不需要用户干预。当RPM数据库发生损坏(误删文件、非法关机、病环等导致),且Lnux系统无法自动完修复时,将导致无法使用rpm命令正常地安装、及查询软件包,这可以使用-rebuilddb或-initdb重建RPM数据库。
在Linux/Unix应用领域,相当一部分软件厂商会对发布的软件包进行数字签名,以确保软件的完整性、合法性,对于用户来说,可以利用软件官方提的公明文件,自动对下载的软件包行验证,如果在安装软件出现验证失败的提示,则表示该软件包可能已经被非法算改。
重建RPM数据库
rmp --rebuilddb #重建RPM数据库
rmp --initdb #重建RPM数据库
导入验证公钥
[root@localhost ~]# rpm --import /media/cdrom/RPM-GPG-KEY-CentOS-7
三:配置本地YUM源仓库
yum常用操作命令格式
yum -y install 软件名 #安装、升级软件包,-y选项表示自动确认,-q选项表示静默安装
yum -y remove/erase 软件名 #卸载软件包,可自动解决其依赖关系
yum -y update 软件名 #升级软件包
yum list #查询软件包列表
yum list installed #查询系统中已安装的软件包
yum list available #查询仓库中尚未安装的软件包
yum list uodates #查询可以升级版本的软件包
yum info 软件名 #查询软件包的描述信息
yum info httpd
yum search [al1] 关键词 #根据某个关键词来查找相关的软件包
yum search all httod
yum whatprovides 命令 #查询某个命令属于哪个软件包
yum whatprovides netstat
yum install -y gcc gcc-c++ make #使用yum方式进行安装
1.挂载光盘镜像,右击虚拟机,选择设置。
2.点击CD/DVD,将设备状态都选择上,选择映像文件,点击确定。
3.挂载光盘镜像
4.进入yum仓库配置目录,备份原文件
5.创建本地yum源配置文件
cd /etc/yum.repos.d
vim local.repo
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0
6.清理缓存,重新缓存,安装软件
7.安装软件
四:编译源码及安装
1.安装依赖包
yum install -y gcc gcc-c++ make zlib-devel pcre-devel
2.下载,解压缩包
3.配置软件模块, 将软件安装到预定的路径下
./configure --prefix=目标路径 #将软件安装到目标路径
4.编译(将源代码转换成可执行的程序)
make #编译
5.安装
make install #安装
6.进行验证
总结:
yum安装软件比rpm简单快捷,不用顾虑软件的依赖关系。
积少成多,: 在哪里培训的朋友
跞放: 博主大大,你第一个图里服务器和交换机中间那个是个箭头指向中心圆点的设备是什么呀?
m0_64128097: PC2ping的通PC4是属于同一局域网,但PC2ping不通PC3
m0_64128097: 我按照步骤设置的,最后ping的时候确ping不通,显示From 192.168.10.20: Destination host unreachable,是因为没设置网关吗
17ha_qTB00: 清楚明了