3 Linux软件包知识
一、软件包分类
1、源码包
源码包的优点是:
- 开源,如果有足够的能力,可以修改源代码
- 可以自由选择所需的功能
- 软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高
- 卸载方便
源码包的缺点
- 安装过程步骤较多,尤其安装较大的软件集合时(如 LAMP 环境搭建),容易出现拼写 错误
- 编译过程时间较长,安装比二进制安装时间长
- 因为是编译安装,安装过程中一旦报错新手很难解决
2、二进制包
1、二进制包分类
- DPKG 包:是由 Debian Linux 所开发出来的包管理机制,通过 DPKG 包,Debian Linux 就可以进行软件包管理。主要应用在 Debian 和 unbuntu 中。
- RPM 包:是由 Red Hat 公司所开发的包管理系统。功能强大,安装、升级、查询和卸载 都非常简单和方便。目前很多 Linux 都在使用这种包管理方式,包括 Fedora、CentOS、 SuSE 等。
(这也是Redhat和Debian系列最大的区别之一)
2、特点
RPM包的优点
- 包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载。
- 安装速度比源码包安装快的多。
RPM包的缺点
- 经过编译,不再可以看到源代码。
- 功能选择不如源码包灵活。
- 需要解决复杂的依赖性。
3、RPM包的依赖性:
- 树形依赖 a---->b---->c
- 环形依赖 a---->b---->c---->a
- 函数库依赖
*注意*Linux中只有源码包和二进制包这两种软件包分类,没有什么yum包,yum只是rpm包的在线安装方法,可以解决RPM包的依赖性
二、RPM包管理的一些命令
- 安装:
rpm -ivh 包全名
- 升级:
rpm -Uvh 包全名
- 卸载 :
rpm -e 包名
- 查询:
查询是否安装
rpm -q 包名 rmp -qa |grep 包名
查询包信息
rmp -qi 包名 (已安装) rpm -qip 包全名(未安装)
查询安装位置
rpm -ql 包名(已安装) rpm -qlp 包全名(未安装)
查询系统文件名属于哪个包
rpm -qf 系统文件名
查询依赖性
rpm -qR 包名
检验
rpm -V 包名
- 导入数字证书(源认证)
rpm --import 数字证书
例如:rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-Centos-6
三、yum的一些命令
查询yum源服务器中是否包含某个软件包
yum list 包名
查询yum源服务器上所有和关键字相关的软件包
yum search 关键字
升级
yum -y update 包名
卸载
yum remove 包名
包组管理
1、查询可以安装的软件组
yum grouplist #列出所有可用的软件组列表
2、查询软件组内包含的软件
yum groupinfo 软件组名
安装软件组
yum groupinstall 软件组名
卸载软件组
yum groupremovre 软件组名
四、源码安装:
源码包报错的判断
1、安装过程必须停止
2、是否出现no、warning、error关键字
安装过程:
配置 ./configure --prefix=/usr/local/(xxx)
编译 make
安装 make install
如何让chkconfig和service识别源码包的服务???
如果想让源码包服务被 service命令识别并管理,只要做个软链接把启动脚本链接到/etc/init.d/或/etc/rc.d/init.d/目录中即可。要想让源码包服务被 chkconfig命令识别,除了需要把服务的启动脚本链接到/etc/init.d/目录中,还要修改这个启动脚本,在启动脚本的开头加入
#chkconfig:运行级别 启动顺序 关闭
#description:说明
这两句话虽然是前面有#号,但它们不是注释,这两句话代表了可以被chkconfig命令识别
然后需要使用“ chkconfig --add服务名”的方式把服务加入 chkconfig命令管理中。