如何区分linux中的源码包和二进制包
Linux下的软件包可分为两种:
(1)源码包。
(2)二进制包。
1、源码包简单介绍:
实际上,源码包就是源代码程序的集合。
由程序员们通过特定的语言编写出来的。
例如:JAVA项目中的一个个类文件的集合。
众所众知,计算机只能识别机器语言(二进制[0,1])。
所以源码包安装需要先将特定语言编写的源代码翻译成机器语言(0,1)。
这样我们才能在Linux安装该包。
Java为例:
(1)使用javac命令将java代码编译成.class字节码文件[与平台无关]
(2)使用java命令将字节码文件解释成平台机器码
当然java本身属于半编译半解释型语言。
此外,源码包的安装需要把源代码编译为二进制代码,因此安装时间较长。
如果有小友使用源码包安装MySQL的,相信一定是深有体会。
当然源码包编译是比较费时间的,如果在编译过程中出现错误。
对于不熟悉程序语言初学者将会很难解决。
因此。
为了解决使用源码包安装方式的这些问题,Linux 软件包安装出现了使用二进制包的安装方式。发现问题解决问题,一步步的不断发展。
2、Linux二进制包
二进制包就是源码包经过成功编译之后产生的包。
由于二进制包在发布之前就已经完成了编译的工作,因此用户安装软件的速度较快,且安装过程报错几率大大减小。这就解决了源码包安装出现的问题。
当然,二进制包是Linux下默认的软件安装包。
3、源码包 PK 二进制包
(1)源代码包
优点:
1.源代码程序
2.可以修改源代码(需要在自己的能力范围内)
3.可以选择所需功能
4.卸载方便(直接删除安装目录即可)
缺点:
1.安装过程步骤较多(./configure make make install等等)
2.编译时间长
3.安装难度大
安装位置:
/usr/local/软件名/
例如:mysql
一般是/usr/local/mysql/
(2)二进制包
优点:
1.包管理系统简单
2.由于是编译过,所以安装速度快
缺点:
1.不能看源代码
2.功能选择不如源码包灵活
3.有可能依赖比较麻烦
安装位置(默认位置):
1. /etc:配置文件安装目录
2. /usr/bin/:可执行命令安装目录
3. /usr/lib/:程序所使用的函数库保存位置
4. /usr/share/doc/:基本的软件使用手册保存位置
5. /usr/share/man/:帮助文档保存位置
4、补充:
安装的服务可以使用系统服务管理命令(service)来管理
本质上是运行了/etc/rc.d/init.d/的命令
例如:
service network start
实质:
/etc/rc.d/init.d/network start
补充:
rc{0..6}.d目录下都是一些符号链接文件
这些链接文件都指向init.d目录下的service脚本文件
如果使用的是rpm包管理器(二进制包),并且安装在默认位置,那么可以直接使用service命令来管理。
如果安装的是源码包不能直接利用service,启动服务的时候必须要使用绝对路径。
例如:
/usr/local/Apache/bin/apachectl start
当然这个可以自己配置成自启动服务。
最后,感谢大家支持。