linux 软件包管理
一、软件包分类
1、源码包:编译慢,安装时间长
脚本安装包
源码包优点:
①、开源,如果有足够的能力,可以修改源代码
②、可以自由选择所需的功能
③、软件是编译安装,所以更加适合自己的系统。更加稳定效率也更加高
④、卸载方便:直接安装的目录文件夹就可以
源码包缺点:
①、安装步骤过多,尤其安装较大的软件集合时,容易出现拼写错误
②、编译过程时间较长,安装比二进制安装时间长
③、因为是编译安装,安装过程中一旦报错新手很难解决
2、二进制包(RPM包、系统默认包)
优点:
①、包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载
②、安装速度比源码包安装快的多
缺点:
①、经过编译,不再可以看到源代码
②、功能选择不如源码包灵活
③、依赖性
二、RPM包安装管理-rpm命令管理
1、RPM包命名原则
httpd-2.2.15-15.el6.centos.1.i686.rpm 这是包全名
httpd 软件包名
2.2.15 软件版本
15 软件发布的次数
el6.centos 适合的Linux平台
i686 适合的硬件平台
rpm rpm包扩展名
2、RPM包依赖性
树形依赖: a→b→c
环形依赖:a→b→c→a
模块依赖:模块依赖查询网站:www.rpmfind.net。模块依赖一般是so等结尾
三、RPM包安装管理-yum在线管理
这个命令可以在线下载所有包的依赖包或者依赖的模块
四、rpm命令管理-安装升级与卸载
包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意路径
包名:操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm/中的数据库
1、RPM安装
rpm -ivh 包全名
选项:
-i(install) 安装
-v(verbose) 显示详细信息
-h(hash) 显示进度
--nodeps 不检测依赖性
2、rpm包升级
rpm -Uvh 包全名
选项:
-U (upgrade) 升级
3、rpm卸载
rpm -e 包名
选项:
-e(erase) 卸载
--nodeps 不检查依赖性
五、RPM命令管理-查询
1、查询是否安装
① 查询包是否安装
命令:rpm -q 包名
选项: -q 查询(query)
② 查询所有已经安装的rpm包
命令:rpm -qa
选项: -a 所有(all)
示例:rpm -qa | grep httpd ( | grep 是管道符,筛选的意思)
2、查询软件包详细信息
命令:rpm -qi 包名
选项:
-i 查询软件信息(information)
-p 查询未安装包信息(package)这时后面是跟包全名
3、查询包中文件安装位置
4、查询系统文件属于哪个RPM包
5、查询软件包的依赖性
六、RPM包校验
七、RPM包中文件提取