linux下package install和compile install 有什么区别?
发布网友
发布时间:2022-04-26 10:03
我来回答
共1个回答
热心网友
时间:2022-06-27 03:26
以下讨论只考虑开源软件(闭源一般也不会有compile install的说法),source based package manager暂时不讨论。
先说compile install。开源软件一般都是以源码的形式放出来的,compile install就是相当于自行将源码编译成二进制,然后安装。
所谓package install就是通过每个发行版自带的package manager从软件源里下载已经编译好的二进制包,然后验证,解压,安装,也就是编译这一步是在服务器上进行的。
compile的优点:
1,不是所有软件都有package,而只要有source就可以compile
2,优化,一般自己compile的话都会对自己的硬件进行优化,据说可以快上5-10%。然而这点存疑,而且有些发行版,如rhel,据说会大幅更改源码进行手动优化,可能比自己编译的包效果还好。
3,自定义,你可以自行打补丁,添加一些原本不支持的功能。
4,可靠性,如果软件源被黑,那么可能下载的软件会有漏洞。这点也存疑,因为一般的package manager会check sum和检查签名,个人用户反而不见得会检查源码。
package的优点:
1,快,某些大型软件在I7下可能都需要编译一个小时以上。
2,依赖,如果安装A需要B,自己编译就需要先下载编译安装B,搞不好B还依赖C。。。然而package manager就可以解决自动依赖问题。
综上:
如果您不是四核I7+ssd,双路E5,双路皓龙什么的,也不想打什么第三方补丁,还是安心用package manager吧。。。