POSIX in Windows实操:Gentoo-prefix/interix

引子:无论是MingW还是Cygwin,包括最近冒起的MSYS2,都存在各种奇怪之处,一言蔽之,就是离不开Windows但又对POSIX心痒难搔。Gentoo prefix让你实实在在地操练POSIX,又不失Windows的优雅。

什么是Gentoo prefix?

Gentoo是一种GNU/Linux发行版,就像Ubuntu是一种GNU/Linux发行版一样。Gentoo的特点就是好,真的好。其中的原理在于,Gentoo是基于POSIX标准的源代码发行版,而实现POSIX标准的二进制通常千奇百怪,由于二进制兼容的问题只能交给脱耦来解决,因此在POSIX的标准上提供了一个源代码文本兼容的优雅发行版,就是Gentoo。Gentoo prefix是让POSIX标准运行在普通账户之下的的版本。Gentoo prefix天然地继承了Gentoo的特点,能够紧密地贴合POSIX接口厂商具体实现的方式运行。

夸张类比来说,两台有细微差别的Gentoo计算机之间可能存在这样一对二进制文件,二者位置相同而内容有很大的不同,那么可以判断在用那些二进制发行版(Ubuntu等)时,这个位置的二进制文件很可能正在低效地运作着。

 

什么是interix?

Interix是Microsoft Windows对POSIX标准的实现,在Vista上叫SUA——基于UNIX应用程序的子系统。在早些时候它有别的称谓,统一的叫法是interix。Interix仅仅是提供了POSIX接口,它的具体实现依然是PE可执行文件。

与MingW相比,interix实现了更多的POSIX标准,比方说SUA 6.1提供了300多个实用工具。MingW的实现是值得赞誉的,它的许可证很友好,因此得到很多开源社区的支持。

与Cygwin相比,interix是纯原生的。Cygwin将POSIX标准接口封装在了几个核心的DLL文件中,更悲催的是它的许可证。尽管如此,Cygwin上手很容易,为许多新手和一些对POSIX高级应用有依赖的专家所采用。

与GNU/Linux相比,interix更有UNIX味。好吧,实际上一代人心中的UNIX是一种艺术,而非copyleft这种极客和社区文化。UNIX的实现是不同的,甚至用法律对UNIX的具体实现进行了保护。人们只需要集中于POSIX标准进行工作就行。实际上GNU/Linux几个发行版的快速普及已经极大稀释了这种艺术化的技术观,大家都会装一大堆根本用不上而又常常要更新的软件。UNIX说,软件是音乐。

Gentoo-prefix/interix能带来什么?

1、POSIX标准在Windows上真正应该具有的效率和稳定性。因为interix是Microsoft 自身的实现,而且到SUA6+已经调整得比较到位。实际上Microsoft一直雄心勃勃地想用interix征服UNIX市场,对历史有兴趣的同学可以查证一下,八卦这里就不摆了。

2、Gentoo的激进性。Gentoo社区本身是比较激进的。当然,过于逼格就适得其反了。Gentoo有相当优秀的“软件包管理系统”。虽然源代码依赖和二进制依赖不是一回事,但可以这么理解。

3、先进的GNU工具集。这是Gentoo-prefix/interix超过原版interix的重点。

4、极简的安装方法。既然Gentoo-prefix/interix是给Windows用户使用的,发行者已经制作好了易用的安装程序(还是用了一些C#写的哦~)。

5、自己从源代码扩展的灵活性。我只尝试写了几个C语言新手程序,汗。

 

安装方法

a.下载安装文件和安装教程

安装镜像:http://distfiles.gentoo.org/experimental/prefix/x86-interix/current/gpx-universal-20110831.iso

安装指导:http://distfiles.gentoo.org/experimental/prefix/x86-interix/current/gpx-installation-20110617.pdf

b.安装实操

安装镜像保存好,安装指导看着。真正的安装步骤是:

  1. 激活Windows的内置管理员账户,并以之登录进行操作
  2. 直接双击安装镜像。选中能选的所有关于Su的选项。让它安装一会。
  3. 等到提示重启的时候重启,仍然以内置管理员账户登录。
  4. 提示添加账户时注意只能添加管理员组的账户。对于标准账户,可以先使用Windows管理工具临时划到管理员组,安装完成后踢出管理员组。此外,要求被添加的账户至少登录过一次,这样Gentoo-prefix才能确定她的配置信息。
  5. 安装完成后打开C Shell,输入 “su 用户名”或”su -”(不引号),可以进入Gentoo-prefix的bash。此时也可以通过ssh登录到Gentoo-prefix。XServer也是可用的。
  6. 可以再次运行安装镜像来添加用户。只有添加到Gentoo-prefix的用户才有权限登进。在Windows管理工具中禁用了的账户不能登录到Gentoo-prefix。

 

额外项

最好能在安装Gentoo-prefix之前安装一套Visual Studio 2008,这样就能在Gentoo-prefix中开发Windows应用程序了。

推荐使用XMing作为X Server。因为发行者称XMing经过最充分的测试。

可以通过Putty以注册过的账户登录到Gentoo-prefix。

新的包最好通过源代码编译的方式签入。

Gentoo-prefix/interix的“安装源”已经被墙。更新的消息笔者无法获取。

Gentoo-portage-interix不能和最新的Gentoo-portage之间通用,它是定制过的。

Gentoo-prefix社区对Gentoo-portage-interix的维护程度是BAD。

你可能感兴趣的:(POSIX in Windows实操:Gentoo-prefix/interix)