Linux中安装及管理程序
引言
在Linux中,就已经具备了基本的软件服务和网络服务等功能,随着操作系统一起安装的软件包毕竟占少数,实现功能也比较局限性,当需要为主机提供更多功能时,则需要安装新的应用程序,有三种安装软件的方式,分别是RPM包安装、YUM源安装、源代码编译安装。
三种安装方式的区别:
RPM:安装rpm包时,如有关系依赖包,需要自己去解决依赖关系。
YUM:可以自动解决依赖关系,可以配置多个资源仓库。
编译安装:可以指定安装路径,根据自己需求进行定制。
一、RPM包管理工具
由Red Hat公司提出,被众多Linux发行版所采用,建立统一的数据文件,详细记录软件包的安装,卸载等变化信息,能够自动分析软件包的依赖关系
1.1、RPM软件包
一般命名格式:
1.2、RPM中查询已安装的软件包
选项 | 效果 |
-qa(all) | 显示当前系统中以RPM方式安装的所有软件列表 |
-q | 查询指定软件是否已安装 |
-qi | 查看指定软件包的名称、版本、许可协议、用途描述等详细信息 |
-ql(list) | 显示指定的软件包在当前系统中安装的所有目录、文件列表 |
-qc | 列出已安装的指定软件的配置文件 |
-qd | 列出已安装的指定软件的软件包文档所在位置 |
-qf(file) | 查看指定的文件或目录是由哪个软件包所安装的 |
1.3、RPM中查询未安装的软件包信息
- rpm -qpi RPM包文件名 ###查询指定软件包的详细信息
- rpm -qpl RPM包文件名 ###查询指定软件包的文件列表
- rpm -qpc RPM包文件名 ###查询指定软件包的配置文件
- rpm -qpd RPM包文件名 ###查询指定软件包的软件包文档的位置
1.4、安装、卸载、升级RPM软件包
基本格式:rpm [选项] rpm软件包
|
效果
|
---|---|
-i
|
安装一个新的RPM软件包
|
-U
|
升级某个软件包,若未安装过则进行安装
|
-F
|
升级某个软件包,若未安装过则直接结束
|
-h
|
在安装或升级过程中已#号显示读条
|
-v
|
显示安装过程的详细信息
|
--force
|
强制安装某个软件包
|
-e 软件名
|
卸载指定的软件
|
--nodeps
|
|
1.5、解决包依赖关系的方法
a、安装有依赖关系的多个软件时
- 被依赖的软件包需要先安装
- 可同时指定多个.rpm包文件进行安装
b、卸载有依赖关系的多个软件时
- 依赖其他程序的软件包需要先卸载
- 可同时指定多个软件名进行卸载
c、忽略依赖关系
- 结合"-nodeps" 选项,但可能导致软件异常
二、YUM安装
2.1、配置本地yum源仓库
mount /dev/sr0 /mnt/ ###挂载到/mnt目录下
挂载 目录或文件夹
注:最好是空的,原来的数据将被隐藏,一个挂载点同一时只能挂载一个设备。
cd /etc/yum.repos.d/ ###进入yum源仓库
mkdir bak
mv *.repo bak/
创建本地源
cd /etc/yum.repos.d/
vim local.repo
[local] ###仓库名称
name=local ###仓库名称
baseurl=file:///mnt ###指定URL 访问路径为光盘挂载目录
enabled=1 ###开启此yum源,此为默认项,可省略
gpgcheck=0 ###不验证软件包的签名
yum clean all && yum makecache ###删除yum缓存并更新
yum install httpd -y
2.2、实操
安装中
三、编译安装过程
3.1、tar解包
习惯上将软件包释放到/usr/src/目录
解包后的源代码文件位置
/usr/src/软件名-版本号/
解压源代码包,并指定释放目录
#yum命令安装apache 库文件以及依赖包
yum install gcc* apr-devel* pkgconfig* libapr* pcre pcre-devel libtool libxml2-devel apr-util* -y
3.2、 ./configure配置
①使用源码目录中的configure脚本
②执行"./configure --help"可查看帮助
③典型的配置选项
--prefix=软件安装目录
3.3、make编译与安装
①编译
执行make命令
②安装
执行make install命令