[OpenBSD]

[索引] [第八章 - 常见问题] [第十章 - 系统管理]

9 - 转到OpenBSD


目录

Linux用户可以参看 http://sites.inka.de/mips/unix/bsdlinux.html 以获得更多的信息

9.1 - 对其它类Unix操作系统用户的提示

因为OpenBSD是非常传统的类Unix操作系统, 所以对使用过其它类Unix系统的用户来说将显得很亲切, 但是它们之间存在着明显的不同。对OpenBSD的新用户来说必须看他的经验: 如果您的Unix知识仅限于使用过不同版本的Linux系统, 您可能会感觉OpenBSD有点"陌生", 放心, 对先接触OpenBSD的用户来说Linux对他们也同样很陌生, 您必须承认"标准"和您的经验是有差异的。

如果您学习Unix初期阅读了一些Unix的优秀书籍, 理解了"Unix哲学"并且在某个特定平台上扩展了您的知识, 您会发现OpenBSD是非常纯正和熟悉的Unix系统。如果您是用一种"说一套做另一套"的过程学习的Unix, 或者只读了类似"31.4小时精通PinkBeenie v8.3"后就认为自己已经掌握了Unix, 您很可能觉得OpenBSD与想象的不一样。

OpenBSD与其它很多操作系统的一点不同就是它的帮助文档, OpenBSD的开发者为系统的用户手册而自豪, OpenBSD中最权威的文档不是这篇FAQ, 也不是第三方独立的维护文档或者什么"HOW TO"之类的文档——用户手册才是OpenBSD问当中最具权威性的文档。当系统发生任何变化时开发者都会立刻更新用户手册、公布源代码, 这个更新过程没有任何拖延, 顺延或需要等什么人编译后。组合成系统的每个程序、工具、驱动、配置文件等几乎全有自己的用户手册, 它们使用户可以在手册上找到问题的答案而非在邮件列表上寻求帮助。

这里列出了OpenBSD与其它类Unix系统的一些常见区别:

9.2 - Linux和OpenBSD双启动

没错! 完全可能!

请参看 INSTALL.linux.

9.3 - 将您的Linux(或者其它第六版样式)密码文件转换成BSD格式

首先, 必须确认您的Linux密码是否是经过shadow, 如果是, 您需要安装packages or ports里的John the Ripper, 用它的自带的unshadow工具将您的密码和shadow文件组合成一个 Sixth Edition-style文件。

使用您的Linux密码文件, 我们这里暂且称之为linux_passwd, 您需要用 awk(1) 在field 4于7之间加入 ::0:0 。

# cat linux_passwd | awk -F : '{printf("%s:%s:%s:%s::0:0:%s:%s:%s\n",  \
> $1, $2, $3, $4, $5, $6, $7); }' > new_passwd

这里您需要编辑您的新密码文件, 删除已经在OpenBSD密码文件中提供了的或和OpenBSD系统有冲突的root或其他系统选项(所有的), 并确保这个linux密码文件中的username和user IDs不会与OpenBSD的系统的 /etc/passwd文件有重复, 最好的方式是新建一个/etc/passwd文件:

# cat new_passwd >> /etc/master.passwd
# pwd_mkdb -p /etc/master.passwd

最后是需要用 pwd_mkdb 重新建立 /etc/spwd.db 和 /etc/pwd.db 文件。它还产生一个第六版样式的密码文件(减去加密的密码)/etc/passwd供程序使用。OpenBSD使用强壮的blowfish方式进行加密, 它不同于任何使用第六版样式加密的系统。任何用户只需键入'passwd'就可以用这种加密方式更改密码, 您输入的新密码将采用默认方式加密(除非您修改了 /etc/login.conf 文件, 否则, 一般是用blowfish算法)。还有, 作为root, 您也可以用运行passwd username

9.4 - 在OpenBSD中运行Linux程序包

如果在编译内核时开启了 COMPAT_LINUX 选项, 并且运行时设置了 sysctl kern.emul.linux 您就可以运行Linux二进制软件包。如果您使用一个标准内核(您应该使用它)COMPAT_LINUX 选项默认就是开启的, 您只需:

# sysctl kern.emul.linux=1
如果想每次系统启动后自动开启这个选项您需要去掉/etc/sysctl.conf文件中的下行前面的 "#" (注释符):
# kern.emul.linux=1      # enable running Linux binarie
修改后像这样
kern.emul.linux=1       # enable running Linux binarie
重新启动系统后就可以生效了

如果您需要运行非静态链接的Linux程序包(大多数), 您需要参考用户手册中有关 compat_linux(8) 的说明。

安装所需Linux libraries的最简单的办法就是从FTP上获得并安装fedora/base package。想了解更多packages和ports的知识清参阅FAQ 15 - OpenBSD的packages和ports系统, 安装如上所述的软件包您需要运行:

# export PKG_PATH=ftp://your.ftp.mirror/pub/OpenBSD/4.5/packages/i386/
# pkg_add -i fedora_base

注意:pkg_add(1)在安装软件时会自动执行sysctl将kern.emul.linux设置成正确值, 然而它不修改 /etc/sysctl.conf 文件, 所以如果您需要默认启动Linux模拟, 您必须自己将 /etc/sysctl.conf 里的 kern.emul.linux 设置成1。

 

9.5 - 在OpenBSD中访问Linux文件

OpenBSD 支持 EXT2FS 文件系统。更多信息请参阅FAQ 14.

[索引] [第八章 - 常见问题] [第十章 - 系统管理]


[back]www@openbsd.org
$OpenBSD: faq9.html, v 1.91 2008/10/31 16:52:30 nick Exp $