软件源安装和源码编译安装的不同
2018-03-20 14:12
232 查看
用软件源的好处是不用处理依赖关系的问题,缺点是版本不新。
自己编译的好处是可以精确控制编译参数,修改代码,获得最新的版本。缺点是要处理复杂的依赖关系。
比如你提到的LAMP,其实Ubuntu上面可以用apt-get install lamp-server^ 命令来安装。其中lamp-server^是一个meta package,其实就是一系列包的组合。14.04里,lamp-server^大约包含几十个软件包,这些软件包如果都要自己从零编译的话,将会耗费大量的时间和磁盘空间。
再举一个例子,ffmpeg是一个功能很强大的视频/音频编解码软件。由于开发团队内讧,Ubuntu 14.04里没有包含官方的软件包,只有一个fork出来的版本。那时候我曾尝试过自己编译,折腾了一整天,最后才勉强编译出来一个可用的。因为有太多依赖的包需要安装了,有些包的配置文件还需要修改,文档也不全。
自己编译源代码还有一个问题是如果没有保存安装信息的话,卸载起来很不方便,因为你不知道装的时候产生了哪些文件和配置信息。这个问题可以用checkinstall这个工具解决。
另一方面,Ubuntu/Debian的软件源里的版本通常都不是最新的。除了自己从源代码编译之外,还可以找一下一些软件官方或者其他第三方的软件源,加入apt的source list里面即可。
自己编译的好处是可以精确控制编译参数,修改代码,获得最新的版本。缺点是要处理复杂的依赖关系。
比如你提到的LAMP,其实Ubuntu上面可以用apt-get install lamp-server^ 命令来安装。其中lamp-server^是一个meta package,其实就是一系列包的组合。14.04里,lamp-server^大约包含几十个软件包,这些软件包如果都要自己从零编译的话,将会耗费大量的时间和磁盘空间。
再举一个例子,ffmpeg是一个功能很强大的视频/音频编解码软件。由于开发团队内讧,Ubuntu 14.04里没有包含官方的软件包,只有一个fork出来的版本。那时候我曾尝试过自己编译,折腾了一整天,最后才勉强编译出来一个可用的。因为有太多依赖的包需要安装了,有些包的配置文件还需要修改,文档也不全。
自己编译源代码还有一个问题是如果没有保存安装信息的话,卸载起来很不方便,因为你不知道装的时候产生了哪些文件和配置信息。这个问题可以用checkinstall这个工具解决。
另一方面,Ubuntu/Debian的软件源里的版本通常都不是最新的。除了自己从源代码编译之外,还可以找一下一些软件官方或者其他第三方的软件源,加入apt的source list里面即可。
相关文章推荐
- 源码编译安装MySQL5.5
- 源码编译安装mysql5.5.33
- 源码编译安装php-3.5.8
- 查看源码安装时的编译参数
- 源码编译安装MySQL(rhel6.5)
- Hadoop监控之Ganglia源码编译安装方式(不建议采用)
- MySQL源码编译和安装配置
- 通过源码编译安装PostgreSQL步骤及问题总结
- Ubuntu11.10 源码编译安装PHP5.3.8
- 源码编译安装PHP5、PHP7
- Ubuntu12.04下OpenCV2.4.9源码编译安装
- fedora 11安装 samba 全过程(yum 和源码级编译)
- Linux的企业-saltstack源码编译安装lnmp
- 在ubuntu14.04上,源码编译安装Mplayer
- Think in Java源码编译与安装
- 一套源码编译多个APP,不同的签名,包名,界面,字段...
- Centos 6.3 源码编译安装sqlite
- KFS源码编译与安装
- CentOS5.6下使用cmake编译MySQL5.5.13源码和安装笔录
- CentOS 7 源码编译安装MySQL数据库