红联Linux门户
Linux帮助

windows眼光学linux问题之一----编译安装的软件包对发行版版本的挑剔型如何

发布时间:2010-12-24 10:02:08来源:红联作者:crazyeda
[i=s] 本帖最后由 crazyeda 于 2010-12-24 10:04 编辑 [/i]

一直在linux门口徘徊多时,有些问题由来已久,望热心人给赐教一二,让我茅塞顿开

1、linux的发行版很多,且长久以来linux的内核版本也很多,请问发行版的差异和内核版本的差异对于提供原代码编译安装的软件包有什么要求上的区别,这些软件包也会for xxx版本内核或者only for xxx版本的linux吗。简单点讲,我想在小芭比上安装lamp,用编译安装包能成功稳定的运行吗?

2、如此众多的发行版,他们的区别可否类比为windows世界里的番茄花园版、雨林木风版、深度版XP的区别(gentoo这样的不在讨论范围,仅仅指二进制发行版),如果是这样,是否理论上一个源码编译型软件包可以运行在相同内核版本的各种发行版上,只不过偶尔需要补齐所缺的库文件罢了,就好像那些精简的XP有时候也要装一些功能补丁包

PS:我的思维还是没有完全从win转到linux模式下,问题很白,请勿见笑
文章评论

共有 13 条评论

  1. hlinuxer 于 2011-01-01 00:18:33发表:

    不管懂不懂,先混个脸熟

  2. hanven2011 于 2010-12-27 14:53:50发表:

    学习中

  3. wangyu 于 2010-12-26 12:44:05发表:

    11# shenhao0129


    呵呵,你都说了,早知道往后翻一页,就不用花太多流量了

  4. wangyu 于 2010-12-26 12:42:59发表:

    10# crazyeda


    没什么,只是puppy不是一个完整的linux,它是精简过的,很多依赖没有,你想编译安装,首先得装个gcc,然后才考虑各种依赖的安装,真的挺麻烦。但给win用户使用,还是蛮不错的。

  5. shenhao0129 于 2010-12-25 19:00:40发表:

    锟斤拷锟斤拷:
    越来越清晰了。谢谢各位,
    puppy的编译很烦是什么意思,是不是说软件安装好以后还要打包进那个系统镜像文件里
    crazyeda 发表于 2010-12-25 13:24

    wangyu不是说的很清楚了嘛?puppy由于系统极度的精简,所以很多可有可无的东西都没有集成在里面,编译环境更不谈了,所以编译什么东西起来就错误很多,提示缺少这个,缺少那个

  6. crazyeda 于 2010-12-25 13:24:27发表:

    越来越清晰了。谢谢各位,
    puppy的编译很烦是什么意思,是不是说软件安装好以后还要打包进那个系统镜像文件里

  7. rxotav 于 2010-12-25 08:54:32发表:

    番茄花园版、雨林木风版、深度版XP这些都是CN里自创,原则上只有一家微软XP,而Linux内核谁都可以用,用它来开发很多不同的版本,也能搞基于某个发行版的版本出来

  8. wangyu 于 2010-12-24 17:56:50发表:

    大部分软件用的都是通用的依赖,极个别的也只要装上依赖就能用了。一般而言,通过编译安装的是肯定可以用的,除非你没有编译成功。顺便说一下,puppy的版本里有基于lamp定制的,不用自己编译安装了,而且puppy的编译很烦,会缺很多依赖。
    查询软件依赖可以用ldd。

    我曾经用slackware的软件在一些系统里试了,可以运行,没有深入了解下,多完美就不清楚了。事实上,我系统里还有些软件是通用的,不局限于某个发型版,比如thunderbird(完美,一直用它,唯一的邮件客户端)、picasa(不完美,字体难看,基于wine),这些是别人编译好的二进制文件,我拿来就能用。

  9. crazyeda 于 2010-12-24 11:08:26发表:

    [color=Red]1、有预编译包的发行版,就不需要自己编译了,因为无法通过包管理器管理,相对麻烦。如果要编译,在源代码包里面的README或者INSTALL文档有安装说明,包括依赖要求,安装步骤等等。[/color]

    ----多谢,请解释一下“因为无法通过包管理器管理”这句话,难道手动编译安装软件的时候,包管理器还会出来干涉吗?

    2、这样的类比实在是让我哭笑不得,所有发行版的包都是基于同样的源代码进行编译的,只不过会加入每个发行版自己的patch。所以源代码编译的方式是可以通吃所有发行版的。

    ----哈哈,虽说有点尴尬,不过这就是我要的明确答案,多谢啦

  10. woodelf 于 2010-12-24 10:59:37发表:

    1、有预编译包的发行版,就不需要自己编译了,因为无法通过包管理器管理,相对麻烦。如果要编译,在源代码包里面的README或者INSTALL文档有安装说明,包括依赖要求,安装步骤等等。
    2、这样的类比实在是让我哭笑不得,所有发行版的包都是基于同样的源代码进行编译的,只不过会加入每个发行版自己的patch。所以源代码编译的方式是可以通吃所有发行版的。

  11. yangdawei50 于 2010-12-24 10:56:10发表:

    不错

  12. crazyeda 于 2010-12-24 10:17:23发表:

    谢谢楼上,但期待更明确些的答案,比如原因和解决方向

  13. tvnet 于 2010-12-24 10:11:27发表:

    满足它的安装要求,很多版本都是不同,多用几个,感觉它们的不同,找出合适的