Gentoo 做桌面的话,有什么优势?
我怎么没发现。相反,gentoo需要编译,太慢啦
按票数排序
10 个回答
使用USE flag方便自定义特性,裁掉不需要的依赖
比如,我不需要vim的ruby binding,为什么要在安装vim时装上ruby?我不需要wget下载时出现"英国中部时间"这样的native language support,又需要用zh_CN.UTF-8的环境,可以直接去掉nls支持
emerge可以并行多个安装
至今想不通为什么apt的安装锁机制会解决不了并行安装问题,当然你也可以从另一个角度看,因为编译费时才需要支持并行安装
编译软件基本不需要再装-dev或-devel之类的包
省事!
打包方便
自己写ebuild打包太简单了,比RPM的spec或deb的什么rule简单多了。可以简单到arch的PKGBUILD文件的程度纯粹变成bash脚本,又可以规范到打包完成之后自动生成可分发的二进制包
即使不自己打包,新版本软件出现时改一下老ebuild文件的文件名(是的只要改文件名),有99%的概率你就可以安装新版本了
默认环境很爽
默认就启用了bash高亮,bash-completion这样的东西也会用eselect维护好
迁移成本低
有gentoo-prefix这样的神器,可以将此port系统在Mac、Windows上甚至是其他发行版上使用,降低学习成本和迁移成本
滚动更新
目前仅有Arch和Gentoo是滚动更新的发行版
比如,我不需要vim的ruby binding,为什么要在安装vim时装上ruby?我不需要wget下载时出现"英国中部时间"这样的native language support,又需要用zh_CN.UTF-8的环境,可以直接去掉nls支持
emerge可以并行多个安装
至今想不通为什么apt的安装锁机制会解决不了并行安装问题,当然你也可以从另一个角度看,因为编译费时才需要支持并行安装
编译软件基本不需要再装-dev或-devel之类的包
省事!
打包方便
自己写ebuild打包太简单了,比RPM的spec或deb的什么rule简单多了。可以简单到arch的PKGBUILD文件的程度纯粹变成bash脚本,又可以规范到打包完成之后自动生成可分发的二进制包
即使不自己打包,新版本软件出现时改一下老ebuild文件的文件名(是的只要改文件名),有99%的概率你就可以安装新版本了
默认环境很爽
默认就启用了bash高亮,bash-completion这样的东西也会用eselect维护好
迁移成本低
有gentoo-prefix这样的神器,可以将此port系统在Mac、Windows上甚至是其他发行版上使用,降低学习成本和迁移成本
滚动更新
目前仅有Arch和Gentoo是滚动更新的发行版
马陆坎通纳、Peiran kwok、知乎用户 赞同
个人用Gentoo做工作系统已经三四年了,工作是纯学术研究,与Linux开发等等完全无关。因此我只是从一个纯粹的普通使用者来说一下我的感想。
首先我想说的是,从我的角度来看, Gentoo并不折腾,或者说只需折腾一两次,之后就非常舒服了。的确,它的安装方式招来很多人的怨言,毕竟它不是Ubuntu那样可以一键到底。但是如果你自己走一遍这个过程,那么再走第二遍或者最多到第十遍的时候,你会觉得困难程度与一键到底没有区别,无非是一些固定的流程而已(而且如果你自己装过Gentoo就应该知道,万一系统崩溃、一开机grub到gentoo之后直接黑屏到底没法操作的时候你该如何维修你的Gentoo而不用重装,这个在Linux大牛们看来浅显的东西其实是一键到底的安装过程不能教给你的)。安装过程之后还有第二道关卡让一些人放弃使用Gentoo,那就是各种配置,例如内核的配置,USE的设置,还有make.conf的设置等等。不说别的,那漫天的USE和各种mask、keywords让人上来就摸不着头脑,更是给选择强迫症或者完美主义者带来极大的精神迫害。我的经验是 不用上来就追求完备,先用着再说,随用随改。在一定时期的积累之后,你的配置文件就会稳定(我自己是一年时间左右),从此之后你其实就不用再折腾了。由于工作需要,在我第一台Gentoo之后,我的服务器、笔记本几台电脑都装着Gentoo,这些之后的机器安装过程都是非常轻松的,因为我只需要把配置文件复制进去emerge一下,然后花上一点时间处理下最开始安装可能出现的各种mask问题等等,系统就安装好了。
Gentoo对我的一大好处是输出清晰、明确,而且网络上的解答十分完备。当你emerge出现错误的时候,看看那清晰的错误log,五成机会你能猜到问题所在并自己解决,而剩下五成情况直接复制log中的关键词句google一下就可知道解决方式。在这个过程中有些知识就慢慢积累起来了, 你会越来越熟练,觉得操作起来越来越轻松。当你出问题的时候,Gentoo能让你知道问题是什么,并且你有非常大机会从网上知道问题怎么解决,而且最终几乎一定能解决(哪怕你按开机键grub到gentoo之后就一直黑屏到底都动不了键盘),我觉得这是Gentoo的一大魅力所在 。
另外一个好处是Gentoo的包比较全比较新,包管理机制比较强大。这里讲一个小例子:由于工作需要,我需要手工编译numpy并链接上MKL库提升计算速度。MKL库在源里(layman,science)就有,而且几乎是最新的,这提供了一大方便。而且我虽然手工编译numpy,但我希望依赖numpy的很多其他的科学计算库(这又有一个好处:Gentoo源里基本有各种你可能需要的这种库,哪怕它很小众、很奇葩,也许是ebuild比较方便写的缘故?)依然通过portage自动管理。这时候我只需要在package.provided里面添加上numpy,Gentoo就会知道我已经自己弄好numpy的事情,然后在安装其他的依赖库时就当numpy已经存在,与我手工的操作互不干扰。当然这只是沧海一粟,其他我觉得很实用的功能比如安装特定版本的软件、USE的控制等等上面回答有提到。这些 定制功能虽然细小,但是很贴心实用。
至于你的顾虑:源码编译慢得让人抓狂。的确,Gentoo源码编译安装的过程会让几乎所有其他发行版过来的人觉得慢成渣,这也是我三四年前用着我的小破core2笔记本时与Gentoo初次约会的感受。但是现在时代不太一样了,corei7-4770能让这个过程快上非常多,甚至那快速刷屏的"installing xxx"都反倒让你产生了快感。在我早上刚开始工作却不知做什么时,升级一下系统让电脑先忙起来几乎成了我的惯性动作。
最后,我并不认为用Gentoo就能强迫让你学会很多Linux知识(这似乎是很多人都有的想法),我就是一个活生生的例子,我只会普通使用Gentoo却完全不懂Linux内核开发之类的东西。因为Gentoo的配置和安装过程都只涉及到最粗浅的东西,用上五年也不会让你成了高端Linux用户。如果你想彻底了解Linux的内核开发技术或者其他高端技术,那还是去买本书或者去接受专业的训练最为直接实在。
首先我想说的是,从我的角度来看, Gentoo并不折腾,或者说只需折腾一两次,之后就非常舒服了。的确,它的安装方式招来很多人的怨言,毕竟它不是Ubuntu那样可以一键到底。但是如果你自己走一遍这个过程,那么再走第二遍或者最多到第十遍的时候,你会觉得困难程度与一键到底没有区别,无非是一些固定的流程而已(而且如果你自己装过Gentoo就应该知道,万一系统崩溃、一开机grub到gentoo之后直接黑屏到底没法操作的时候你该如何维修你的Gentoo而不用重装,这个在Linux大牛们看来浅显的东西其实是一键到底的安装过程不能教给你的)。安装过程之后还有第二道关卡让一些人放弃使用Gentoo,那就是各种配置,例如内核的配置,USE的设置,还有make.conf的设置等等。不说别的,那漫天的USE和各种mask、keywords让人上来就摸不着头脑,更是给选择强迫症或者完美主义者带来极大的精神迫害。我的经验是 不用上来就追求完备,先用着再说,随用随改。在一定时期的积累之后,你的配置文件就会稳定(我自己是一年时间左右),从此之后你其实就不用再折腾了。由于工作需要,在我第一台Gentoo之后,我的服务器、笔记本几台电脑都装着Gentoo,这些之后的机器安装过程都是非常轻松的,因为我只需要把配置文件复制进去emerge一下,然后花上一点时间处理下最开始安装可能出现的各种mask问题等等,系统就安装好了。
Gentoo对我的一大好处是输出清晰、明确,而且网络上的解答十分完备。当你emerge出现错误的时候,看看那清晰的错误log,五成机会你能猜到问题所在并自己解决,而剩下五成情况直接复制log中的关键词句google一下就可知道解决方式。在这个过程中有些知识就慢慢积累起来了, 你会越来越熟练,觉得操作起来越来越轻松。当你出问题的时候,Gentoo能让你知道问题是什么,并且你有非常大机会从网上知道问题怎么解决,而且最终几乎一定能解决(哪怕你按开机键grub到gentoo之后就一直黑屏到底都动不了键盘),我觉得这是Gentoo的一大魅力所在 。
另外一个好处是Gentoo的包比较全比较新,包管理机制比较强大。这里讲一个小例子:由于工作需要,我需要手工编译numpy并链接上MKL库提升计算速度。MKL库在源里(layman,science)就有,而且几乎是最新的,这提供了一大方便。而且我虽然手工编译numpy,但我希望依赖numpy的很多其他的科学计算库(这又有一个好处:Gentoo源里基本有各种你可能需要的这种库,哪怕它很小众、很奇葩,也许是ebuild比较方便写的缘故?)依然通过portage自动管理。这时候我只需要在package.provided里面添加上numpy,Gentoo就会知道我已经自己弄好numpy的事情,然后在安装其他的依赖库时就当numpy已经存在,与我手工的操作互不干扰。当然这只是沧海一粟,其他我觉得很实用的功能比如安装特定版本的软件、USE的控制等等上面回答有提到。这些 定制功能虽然细小,但是很贴心实用。
至于你的顾虑:源码编译慢得让人抓狂。的确,Gentoo源码编译安装的过程会让几乎所有其他发行版过来的人觉得慢成渣,这也是我三四年前用着我的小破core2笔记本时与Gentoo初次约会的感受。但是现在时代不太一样了,corei7-4770能让这个过程快上非常多,甚至那快速刷屏的"installing xxx"都反倒让你产生了快感。在我早上刚开始工作却不知做什么时,升级一下系统让电脑先忙起来几乎成了我的惯性动作。
最后,我并不认为用Gentoo就能强迫让你学会很多Linux知识(这似乎是很多人都有的想法),我就是一个活生生的例子,我只会普通使用Gentoo却完全不懂Linux内核开发之类的东西。因为Gentoo的配置和安装过程都只涉及到最粗浅的东西,用上五年也不会让你成了高端Linux用户。如果你想彻底了解Linux的内核开发技术或者其他高端技术,那还是去买本书或者去接受专业的训练最为直接实在。
吴俊 赞同
肯定看不出的。全编译也太浪费时间(听说现在emerge不是全编译了?),不值得。
推荐:
Archlinux比较中立,配置也方便和简单。
Ubuntu资料比较多。不过ubuntu每个长期版本都可能有不同的桌面以及仓库(说错了请纠正,只在虚拟机用过一下debian以及ubuntu),所以感觉不太方便。
这两个也都有在线仓库,默认直接二进制安装,速度会快很多。针对个别的软件,可以考虑编译。( arch abs个人认为更加方便一些)
推荐:
Archlinux比较中立,配置也方便和简单。
Ubuntu资料比较多。不过ubuntu每个长期版本都可能有不同的桌面以及仓库(说错了请纠正,只在虚拟机用过一下debian以及ubuntu),所以感觉不太方便。
这两个也都有在线仓库,默认直接二进制安装,速度会快很多。针对个别的软件,可以考虑编译。( arch abs个人认为更加方便一些)
我来回答这个问题