首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

嵌入式学习之——linux系统中二进制包和源码包

嵌入式学习之——linux系统中二进制包和源码包

使用一个操作系统的时候,我们总是需要安装一些软件,来扩展系统的功能,在windows中这些文件的格式是exe格式,在linux中就不是这样了,Windows中的exe文件是不能在linux中使用的,这使得windows中的大量病毒不能危害linux,但是软件不通用也会造成移植的不方面性,需要针对linux做单独的开发。

那么linux中的软件包格式主要包括:1. 源码包 2. 二进制包

源码包是未经过编译,直接看见源代码,一般就是c文件。二进制包就是编译后的软件包。在redhat系列的linux系统中,例如我学习的fedora系统中,二进制包就是rpm包。Windows中我们所使用的所有软件包,都是二进制包。


源码包优点:

1.
开源,如果有足够的能力,可以修改源代码

2.
可以自由选择所需要的功能

3.
软件是编译安装,所以更加适合自己的系统,更加稳定,也更加高效

4.
卸载方便,直接删掉安装目录。



源码包缺点:

1.
安装过程步骤较多,尤其安装较大的软件集合,容易出现错误

2.
编译时间过长,比二进制安装时间长,如果用源码来安装系统,顺利的话可能需要几天。

3.
因为是编译安装,安装过程中一旦报错新手很难解决,存在各种相互调用。


rpm包的优点:

1.
包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载

2.
安装速度比源码报安装快的多


rpm包缺点:

1.
经过编译,不能看见源代码

2.
功能选择不如源码包灵活

3.
依赖性是个大问题,就是当我装软件A的时候,它提示让我先装软件包B才行,有可能,我装B的时候,它提示我先装C。。。类似的卸载软件的时候,我们要先卸载A,然后B,然后Cwindows中这种依赖性不明显。



举个例子的话,如果我要做家具。

如果用源码包,我需要先去砍树,然后自己做钉子,自己制作油漆,自己设计样式,自己来做木工,这个家具是完完全全由我自己来定制的,所以它更能满足我们自己的要求。那么这样做的坏处,首先是时间长,可能一个大家具我们需要做好几年。上述这些流程建立的假设是我是一个熟练的家具工人,如果我是一个新手,没有家具的制作经验,那么在制作家具途中,遇到什么问题,我们这个家具可能就做不出来了。

    如果用二进制rmp包,就相当于我去商场直接买,买回来就能用。但是这个内部用了什么偷工减料我可能不是特别清楚,样式我只能在几种之间选,不够自由。
    以上就是我对二进制包和源码包的理解,有什么不对的地方,欢迎大家批评指证。
返回列表