rpm包命名规则,依赖性,安装和卸载,查询方法,校验和文件提取
1.软件包管理简介
1.软件包分类
- 源码包(脚本安装包,直接就是源代码)
- 二进制包(RPM包、系统默认包)(先在厂家进行了编译,编译之后的包,不能看到源代码)
2.源码包优点
- 开源
- 自由选择所需的功能
- 编译安装,更加适合自己的系统,稳定效率高
- 卸载方便
缺点:
- 安装过程步骤较多,尤其安装较大的软件集合的时候,容易出现拼写错误
- 编译过程时间较长,安装比二进制安装时间长
- 编译安装、安装过程一旦报错新手很难解决
3.二进制包缺点
- 经过编译,不能看到源代码
- 功能选择不如源码包灵活
- 依赖性
2.RPM包管理-rpm命令管理
Linux rpm 命令用于管理套件。
rpm(英文全拼:redhat package manager) 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度。
1.RPM包命名规则
2.RPM包依赖性
树形依赖:a->b->c
环形依赖:a->b->c->a
模块依赖:模块依赖查询网站
2.RPM安装
rpm -ivh包全名
选项:
-i (install) 安装
-v(verbose) 显示详细信息
-h(hash)显示进度
--nodeps 不检测依赖性
所有的包都在光盘中,所以要确定光盘是否挂载:
进到package目录下:
cd /mnt/cdrom/Package
安装:
3.RPM查询
- rpm -q 包名 -qa系统中所有安装的包
加管道符 ,查询出只包含阿帕奇的包
- rpm -qi 包名
-i 查询软件信息
-p 查询未安装包信息
- rpm -ql包名
-l 列表
-p 查询未安装包信息
- rpm -qf 查询系统文件属于哪个RPM包
系统文件名
-f 查询系统文件属于哪个软件包 ( file )
- 查询软件包的依赖性
rpm -qR 包名
-R 查询软件包的依赖性
-p 查询未安装包信息
4.校验和提取
1.RPM包校验
rpm -V 已安装的包名
验证内容中的8个信息的具体内容如下:
文件类型:
2.RPM包中文件提取
rpm2cpio 包全名 |\
cpio -idv .文件绝对路径
rpm2cpio #将rpm包转为cpio格式的命令
cpio 是一个标准工具,特用语创建软件档案文件和从档案文件中提取文件
cpio的标准格式:
cpio 选项 <文件|设备>
一个应用场景:假设把ls命令删除了,可以网上查询 ls属于哪个包,然后解压到丢失的目录
整个包强制安装一遍是可以解决问题的,但是只需要安装需要的;
3.RPM包管理-yum在线管理
只需要安装哪个包,自动会到服务器把需要的包全部安装好;包括环形依赖,等等
yum会自动的把所有的依赖包全部装上,比手工管理方便多。
包全名和包名:
包全名:操作的包是没有安装的软件包的时,使用包全名,而且要注意路径
包名:操作已经安装的包的时候,使用包名,是搜索/var/lib/rpm 中的数据库
1. IP地址配置和网络YUM源
setup 出现窗口模式 进行配制
网络yum源:只要能联网就可以进行下载安装升级
2.yum命令
yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。
基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
(1)yum list :查询所有可用软件包列表
(2)yun seach 关键字 搜索服务器上所有和关键字相关的包
(3)yum -y install 包名
(4)yum -y update 包名
如果没有包名,升级所有的软件包,包括linux内核都回升级,需要在本地做一定的配置,如果在远程使用,会导致服务器崩溃。
(5)yum -y remove 包名 会把依赖的包全部卸载,但是有些包会被其他部分依赖,如果会卸载全部崩溃。
3.光盘yum源搭建
4.源码包管理
1.源码包和RPM包的区别
1.区别
安装之前区别:概念上的不同
安装之后区别:安装位置不同
2.RPM包安装位置
3.源码包安装位置
安装在制定位置中,一般是 /usr/local/软件包/
local系统专门准备的安装外来软件的文件夹
4.安装位置不同带来的影响
启动 停止 重启动
RPM安装的服务 可以使用系统服务管理命令(service) 来管理,例如RPM安装的apache的启动方法是:
- /etc/rc.d/init.d/httpd start
绿色的包都是通过RPM安装的,都可以通过绝对路径安装
- service httpd start
service会自动的在上述的目录找安装文件,找到安装成功,找不到安装失败
service不能管理源码包。源码包安装在制定位置中,一般是 /usr/local/软件名/,不在service制定的位置
源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中,所以只能用绝对路径进行服务的管理
如:/usr/loclal/apa/bin/apachectl start
2.源码包安装过程
1.安装准备
下载GCC的源码包
2.安装注意事项
类似于c盘的program
3.源码包安装过程
- 下载源码包
- 解压缩下载的源码包
- 进入解压缩目录
5.脚本安装包与软件包选择
1.脚本安装包
脚本按