@
cxshun 你以为软件作者想只依赖某个特定版本啊?使用别人的东西,别人升级后改动了 API,如果有精力可以天天跟在屁股后面升级兼容。作为一个开发人员,这点相信你是知道的,现在的开发必定是建立在很多已有库、软件基础之上的
自己编译只是用来满足特定的需求,没有特别的需求的直接用包管理器拖一个二进制回来,省心又省力。当年玩 Gentoo 每周升级一次,遇到 DE、LibreOffice、Chromium、Firefox、GHC、GCC 之类需要升级的笔记本会哭一整天、呼呼地报怨,而当时还傻傻地以为她是接到任务,满心欢喜地卖弄着给我干活呢。所以节约能源,请善待你的电脑,不要让她哭泣
现在软件开发趋势是开发时使用各种依赖,生成的最终软件将依赖一起打包,毕竟现在硬盘和带宽足以支持大文件传输与存储。
最近新出的语言(Go、Rust等)默认都是静态编译,所以依赖问题会大大减少;但是开发过程中仍然不可避免地要与各种依赖干架,这个是与平台无关的,而且相对来说 Linux 在这方面要比 Win/Mac 容易处理
@
lilydjwg 小狐狸,我以前用过 Gentoo 一段时间,编译过好多次内核,尝试多次都没能在 console 界面显示中文,你编译几次成功的?
那些安利 debian 的,你们用的有几个软件是原作者最初的版本,deb 自行打各种 patch,随意篡改软件的结构,配置文件也是各种分割又篡改,出了问题可能软件原作者都不一定能帮你
centos/rhel 跑些比较老的应用还是不错的,但是源里面的东西少而且老,一旦需要 DIY 源里没有的东西就是噩梦的开始,真的是牵一发而动全身,因为你已经落后时代好久了,所以必需非常非常非常小心翼翼地,稍不注意可能就弄坏了系统的某个组件,而要修复那个组件很可能造成更大的破坏
没错,我是来安利 ArchLinux 的
Arch 作为一个为 686 优化的发行版,在现在绝大多数机器上跑得特别欢畅,pacman 是 C 写的,比 Gentoo 的 protage 快了n多倍,也比 apt/yum/zypper 之流快好多,Wiki 也是 Linux 界数一数二的,有时在 Fedora/Ubuntu/Debian 等发行版中遇到问题我也习惯先到 Arch Wiki 中查找,而且很多时候都可以找到好的解决方案,这个要比 Google 到 StackOverflow 众多答案中去试要高效得多。pacman 和 abs 两套系统让 Arch 支持二进制和源码两种方式,而且比较和谐,当然还有数量庞大的 aur,想到的没想到的在里面几乎都有,不过由于不是官方维护,质量也参差不齐,编译成功率比 Gentoo portage 低了一两个量级,所以如果真的要玩编译还是推荐 Gentoo。
另外使用 ArchLinux 可以第一时间尝到软件最新版本,当然这从某个方面来说这是很好的事情,但是好多时候新特性用上了,自己都会吓一跳,并不是说经常碰到bug,而是说对于新特性还没有作好心理准备就突然出现在你的系统里了,事实上用了这么多年 Linux,尝试过各种发行版,ArchLinux 中我遇到的 bug 最少,遇到问题也基本上是最快可以解决的
另外软件、库多版本共存并没有什么问题,现在已有成熟可用的 NixOS,同时 GNU 也正在构建一套这样的发行版 GuixSD,期待以后能用 Scheme 配置我的系统
NixOS:
http://nixos.orgGuix:
http://www.gnu.org/software/guix