1、安装之前的区别
源码包:
可以查看并修改源代码
安装更自由,可以自行选择所需功能
安装完之后效率更高
缺点就是安装速度过慢,安装时容易报错,且报错信息不易解决
RPM包:
经过编译,看不到源代码
功能选择受限
安装速度更快,且报错信息容易解决,大多数错误都是依赖关系的错误
2、安装之后的区别—安装位置不同
RPM包安装在默认安装位置,源码包需要手动指定安装位置
RPM包默认安装位置:
这里只是绝大多数RPM安装包的默认安装位置,如果你想查看某个安装的包的文件安装位置,可以使用rpm -ql 包名
命令进行查看,如果查看未安装包文件查看位置可以使用rpm -ql -p 包名
进行查看
RPM包默认位置 | # |
---|---|
/etc/ | 配置文件安装目录 |
/usr/bin | 可执行的命令的安装位置 |
/usr/lib | 程序函数库保存位置 |
/usr/share/doc | 软件使用手册保存位置 |
/usr/share/man | 帮助手册保存位置 |
源码包默认安装位置:
可以手动指定但是一般是/usr/local/软件名/
3、安装位置不同带来的服务管理命令的不同
RPM包服务管理:
由于RPM包采用的是系统默认的安装位置,它们的安装目录有着一定的规律,所以可以开发一些工具来进行RPM包的服务管理。例如开启、重启、关闭服务
3.1 RPM包服务管理方式1:绝对路径管理
大多数的RPM包可执行程序都安装在以下目录中
/etc/rc.d/init.d
进入这个绝对路径,指定里面要管理的服务,输入相关的服务管理命令,就可以进行RPM包的服务管理,例如:重启网络服务
/etc/rc.d/init.d/network restart
3.2 RPM包服务管理方式2:service工具包进行服务管理
注意,这也是RPM包与源码包的不同点所在处,RPM包可以有很多工具来进行RPM包的服务管理,可是源码包没有,源码包只有通过绝对路径的方式来进行相应的服务管理
注意:service工具是RedHat系列专有的,别的Linux版本不一定有
例如上个例子的效果就和下面这个命令的效果是相同的
service network restart
源码包服务管理:
源码包只能通过绝对路径的形式来进行服务管理
例:通过绝对路径启动源码包安装的apache服务
/usr/local/apache2/bin/apachectl start