一、Linux软件包种类
- 1.源码包---tar.gz
这种格式下软件安装包,可以看到源码,安装比较灵活。 - 2.RPM 包
源码进行编译后的Linux软件包,看不到源码,相对没有源码包灵活,但rpm包安装起来比较方便,只需要几个简单的命令。
二、RPM包安装
1.RPM包命名原则
httpd-2.2.15-15.el6.centos.1.i868.rpm
httpd -- 软件包名
2.2.15 -- 软件版本
15 -- 发布次数
el6.centos -- 适合Linux的平台
i868 -- 适合硬件平台
rpm -- 包扩展名
2.包全名和包名
- 在操作系统没有安装软件包时,需要的为包全名。
- 操作已经安装的软件包时,使用包名,安装的RPM在,/var/lib/rpm数据库中。
3.rpm软件包安装命令
安装命令
rmp -ivh 包全名
i -- install 安装
v -- verbose 显示详细信息
h -- hash 显示进度
rpm包升级
rpm -Uvh 包全名
U - upgrade 升级
rpm包卸载
rpm - e 软件包
-e erase 卸载
查询rpm包安装情况
rpm - q 包名 //查询包是否安装
q - query
查询所有已经安装的RPM包
rpm -qa
a -- all
查询包中含有xxx关键字的所有包
rpm -qa | grep xxx
查询包的详细信息
rpm -qi 包名
i -- information
p -- 查询未安装包的详细信息
查询包中文件的安装位置
rpm -ql 包名
l -- list
常见的RPM默认安装位置
目录 | 文件属性 |
---|---|
/etc/ | 配置文件的安装目录 |
/usr/bin/ | 可执行的命令安装目录 |
/usr/lib/ | 程序使用的函数库的保存位置 |
/usr/share/doc/ | 基本的软件使用手册保存位置 |
/usr/share/man | 帮助文档的保存位置 |
查询系统文件属于哪一个RPM包
rpm -qf 系统文件名
f - file
查询软件包的依赖性
rpm -aR 包名
R -- requires
p -- 查询未安装包的信息
RPM包的校验
rpm -V 已经安装的包名
V 校验指定RPM 包中的文件
验证内容中的8个信息的具体内容如下:
S - 文加的大小是否改变
M - 文件的类型或者权限是否改变
5 - 文件的MD5校验和是否改变(可以看成文件内容是否改变)
D - 设备的主从代码是否改变
L - 文件的路径是否改变
U - 文件的属主(所有者)是否改变
G - 文件的属组是否改变
T - 文件的修改时间是否改变
二、源码包安装
rpm包存在默认安装目录,也可以指定安装目录,但是不建议这样做。
源码包需要指定安装目录,否则源码包会将安装文件放到各处,造成后续操作复杂。
- 具体源码包河RPM包的区别
rpm可以通过service 命令进行启动
rpm包的安装位置一般在包中由包作者指定,但是也可以进行自定义安装位置。
rpm包安装的服务可以使用系统服务管理命令(service)来管理,例如RPM包安装的appache的启动方法就是:
/etc/rc.d/httpd start (启动service服务)
service httpd start (通过service启动软件)源码包的安装位置一般需要指定位置,一般是: /usr/local/软件名
源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认的路径中,只能通过绝对路径进行服务管理:
/usr/local/appache2/bin/apachectl start/stop
安装准备
- 安装C语言编译器
- 下载源码包
- 基本步骤
- 下载源码包
- 解压源码包
- 进入解压目录
安装注意事项:
源代码保存位置: /usr/local/src
软件安装位置: /user/local/
如何确定安装过程报错:
安装过程停止
并出现error 、wraning或no的提示可自定义项:
进入到解压目录后, 可操作configure文件,进行软件配置和检查
可进行以下操作:
定义需要的功能选项
检测系统环境是否符合安装要求
把定义好的功能选项和检测系统环境的信息都写入Markfile文件,用于后续的编辑。
使用 --prefix=xxx 来自定义安装位置
具体的安装命令:
make 编译
由于错误造成编译失败,需要制定 make clean 进行删除相关的编译文件
make install 编译安装源码包的卸载
不需要卸载命令,直接删除安装目录即可,不会遗留任何的垃圾文件。