关于作者

用户名:ivanhero
笔名:ivanhero
地区:
行业:其他

日历  

快速登录

+ 用户名:
+ 密 码:

在线留言



Linux

BSD

访问统计:
文章个数:9
评论个数:69
留言条数:1




Powered by BlogDriver 2.1

Thinking In Linux

 

我们坚持原创. 欢迎转载本站文章 请注明出处为TIL小组及原作者为ivanhero

文章

OpenBSD 3.6 安装指南(简体中文译本)下
在这里我要特别感谢一个人,正是由于她的鼓励和支持,我才能在4天里完成了这项翻译工作,在这里我想和她说:亲爱的viola^_^,谢谢你的支持,希望在我以后的道路中一直有你的支持和鼓励相伴^_^


4.5.3 - 设置系统的主机名

现在你必须设置一下主机名. 这个值, 连同 DNS 域名(specified below), 会被存放在 /etc/myname, 这个文件会在启动时用来设置主机名. 如果你不设置系统的域名, 系统就会使用默认的 'my.domain' .

设置这个名字很重要, 因为当系统安装后第一次启动生成系统密钥时会被用到. 不论网络有没有被配置好,密钥都会被生成.

  Enter system hostname (short form, e.g. 'foo'): puffy

4.5.4 - 配置网络

现在到配置你的网络了. 如果你打算做一个 FTP 或者 NFS 的基本安装那必须要配置网络, NFS的安装需要以你输入的信息为基础. 这里就是一个安装过程中的网络配置的例子.

  Configure the network? [yes] Enter
  Available interfaces are: fxp0.
  Which one do you wish to initialize? (or 'done') [fxp0] Enter
  Symbolic (host) name for fxp0? [puffy] Enter
  The default media for fxp0 is
          media: Ethernet autoselect (100baseTX full-duplex)
  Do you want to change the default media? [no] Enter
  IP address for fxp0? (or 'dhcp') 199.185.137.55
  Netmask? [255.255.255.0] Enter
  Done - no available interfaces found.
  DNS domain name? (e.g. 'bar.com') [my.domain] example.com
  DNS nameserver? (IP address or 'none') [none] 199.185.137.1
  Use the nameserver now? [yes] Enter
  Default route? (IP address, 'dhcp' or 'none') 199.185.137.128
  add net default: gateway 199.185.137.128
  Edit hosts with ed? [no] Enter
  Do you want to do any manual network configuration? [no] Enter

在上面这个例子中, 我们用了静态 IP 地址. 需要指出的是, 你可以在很多平台上使用 "dhcp"  (除了 Alpha), 如果你的环境支持的话. 如果使用 DHCP, 大多数信息会由远端的 DHCP 服务器获取; 并会要求你确认信息. 这里又是一个安装过程中配置网络的例子, 这次是用 DHCP:

  Configure the network? [yes] Enter
  Available interfaces are: fxp0.
  Which one do you wish to initialize? (or 'done') [fxp0] Enter
  Symbolic (host) name for fxp0? [puffy] Enter
  The default media for fxp0 is
          media: Ethernet autoselect (100baseTX full-duplex)
  Do you want to change the default media? [no] Enter
  IP address for fxp0? (or 'dhcp') dhcp
  Issuing hostname-associated DHCP request for fxp0.
  Sending on   Socket/fallback/fallback-net
  DHCPDISCOVER on fxp0 to 255.255.255.255 port 67 interval 1
  DHCPOFFER from 199.185.137.128
  DHCPREQUEST on fxp0 to 255.255.255.255 port 67
  DHCPACK from 199.185.137.128
  New Network Number: 199.185.137.0
  New Broadcast Address: 199.185.137.255
  bound to 199.185.137.55 -- renewal in 43200 seconds.
  Done - no available interfaces found.
  DNS domain name? (e.g. 'bar.com') [example.org] Enter
  DNS nameserver? (IP address or 'none') [199.185.137.1] Enter
  Use the nameserver now? [yes] Enter
  Default route? (IP address, 'dhcp' or 'none') [199.185.137.128] Enter
  Edit hosts with ed? [no] Enter
  Do you want to do any manual network configuration? [no] Enter

注意: 安装的时候用 DHCP 方式来配置单个接口是很简单的. 如果你想用 DHCP 来配置多个接口那你会碰到很多错误. 你必须在安装后手工配置额外的接口.

现在,我们输入一下根用户的口令t:

Password for root account? (will not echo) pAssWOrd
Password for root account? (again) pAssWOrd

记得使用一个安全点的口令. 你也可以在启动后用 passwd(1) 建立新的口令:

    The new password should be at least six characters long and not purely
    alphabetic.  Its total length must be less than _PASSWORD_LEN (currently
    128 characters).  A mixture of both lower and uppercase letters, numbers,
    and meta-characters is encouraged.

4.5.5 - 选择安装媒介

网络建立好之后, 安装脚本会给你一个手工调整配置的机会. 你建立的文件系统会被挂载根用户的口令也会被要求输入. 这样你的硬盘就能准备好安装 OpenBSD 的软件包套件了.

下面,你要挑选一下安装媒介. 选项都被列出来了.

  You will now specify the location and names of the install sets you want to
  load. You will be able to repeat this step until all of your sets have been
  successfully loaded. If you are not sure what sets to install, refer to the
  installation notes for details on the contents of each.
 
  Sets can be located on a (m)ounted filesystem; a (c)drom, (d)isk or (t)ape
  device; or a (f)tp, (n)fs or (h)ttp server.
  Where are the install sets? c
  Available CD-ROMs are: cd0.

在这里我们用 CD-ROM 安装. 会有一个被系统识别为 CD-ROM 的设备列表被显示出来. 大多数人只有一个. 如果你有很多个那就选你哟给你来安装 OpenBSD 的那个.

注意: 所有可用的源码安装方式都会被列出来, 但不是所有的方式都能在你的机器上工作的. 比如. "(n)fs" 就被列出来了 但是不是所有的平台都支持 NFS 安装的. 如果你选了一种不可行的方式, 你会收到一条错误信息然后会被要求重新选择安装方式.

  Available CD-ROMs are: cd0.
  Which one contains the install media? (or 'done') [cd0] Enter

  Pathname to the sets?  (or 'done') [3.6/i386] Enter

这里,你要设定一下安装文件所在的文件夹的位置, 官方 CD-ROM 上的位置是 3.6/i386/ .
4.5.6 - 选择安装套件.

现在就是选择你要安装的软件套件的时候了. 在后面一段中你能看到对这些包的描述. 被安装程序所找到的文件会被显示在屏幕上. 你的工作就是确定哪些文件是你需要的. 非 X 的包默认被选中; 然而有人需要限制包的数量来运行基本的 OpenBSD 系统, 那只要选 base36.tgz, etc36.tgz 和 bsd.其他人或许想要安装所有的软件包套件.下面这个例子就是完全安装.

  The following sets are available. Enter a filename, 'all' to select
  all the sets, or 'done'. You may de-select a set by prepending a '-'
  to its name.

          [X] bsd
          [X] bsd.rd
          [ ] bsd.mp
          [X] base36.tgz
          [X] etc36.tgz
          [X] misc36.tgz
          [X] comp36.tgz
          [X] man36.tgz
          [X] game36.tgz
          [ ] xbase36.tgz
          [ ] xetc36.tgz
          [ ] xshare36.tgz
          [ ] xfont36.tgz
          [ ] xserv36.tgz

  File Name? (or 'done') [bsd.mp] all

  The following sets are available. Enter a filename, 'all' to select
  all the sets, or 'done'. You may de-select a set by prepending a '-'
  to its name.

          [X] bsd
          [X] bsd.rd
          [X] bsd.mp
          [X] base36.tgz
          [X] etc36.tgz
          [X] misc36.tgz
          [X] comp36.tgz
          [X] man36.tgz
          [X] game36.tgz
          [X] xbase36.tgz
          [X] xetc36.tgz
          [X] xshare36.tgz
          [X] xfont36.tgz
          [X] xserv36.tgz

在这你能发挥一下你的才能-- -x* 会移除所有 X 部件, 如果你改变主意的话. 在这个例子中, 我们要案装所有的套件. 即使系统不会用到所有的套件, 我们还是推荐开启或者安装所有的套件. 这里有更多的选择细节.

一旦你成功选定了你要的的套件, 你会看到提示问你要不要解压并安装这些套件.一条显示出来的进程栏会告诉你安装信息以及需要消耗多少时间. 安装时间的长短取决于你安装 OpenBSD 的机器如何, 安装套件的多寡, 安装源的速度如何. 这个过程从十几分钟到几小时不等.

  File Name? (or 'done') [done] Enter
  Ready to install sets? [yes] Enter
  Getting bsd ...
  100% |**************************************************|  5232 KB    00:08    
  Getting bsd.rd ...
  100% |**************************************************|  4614 KB    00:02    
  Getting bsd.mp ...
  100% |**************************************************|  5285 KB    00:03    
  Getting base36.tgz ...
  100% |**************************************************| 31396 KB    00:22    
  Getting etc36.tgz ...
  100% |**************************************************|  1655 KB    00:01    
  Getting misc36.tgz ...
  100% |**************************************************|  2193 KB    00:01    
  Getting comp36.tgz ...
  100% |**************************************************| 18232 KB    00:15    
  Getting man36.tgz ...
  100% |**************************************************|  6792 KB    00:05    
  Getting game36.tgz ...
  100% |**************************************************|  2536 KB    00:01    
  Getting xbase36.tgz ...
  100% |**************************************************| 10121 KB    00:07    
  Getting xetc36.tgz ...
  100% |**************************************************|   430 KB    00:00    
  Getting xshare36.tgz ...
  100% |**************************************************|  1888 KB    00:02    
  Getting xfont36.tgz ...
  100% |**************************************************| 31742 KB    00:22    
  Getting xserv36.tgz ...
  100% |**************************************************| 15460 KB    00:11    

  Sets can be located on a (m)ounted filesystem; a (c)drom, (d)isk or (t)ape
  device; or a (f)tp, (n)fs or (h)ttp server.
  Where are the install sets? (or 'done') [done] Enter

在这里你能从其它源添加想要的额外的包(包括自定义的包套件) , 或者当你已经安装了你所要的所有包套件,那就敲击 'done' .
4.5.7 - 打包收工
下面你会被问到一些有关设定你刚装好的系统的问题.首先是 sshd(8) 要不要在系统启动的时候开启. 通常你都是希望 sshd(8) 运行的, 但是有时你不打算这样做. 如果你的应用软件对于 sshd(8) 没有依赖, 在理论上不运行它还是有一点安全优势的.

  Started sshd(8) by default? [yes] y

你会被问到要不要在这个系统上运行 X . 如果你回答 'Y', /etc/sysctl.conf 就会被修改加入 machdep.allowaperture=1 或者 machdep.allowaperture=2, 是加入哪条那要看你使用什么硬件平台.在有些平台上这个问题不会被问到.

  Do you expect to run the X Window System? [yes] y

下面你会被问到是否要用一个串级的控制台, 而不是一个标准的显示器和键盘. 如果你选 "yes" 并且回答了其它几个简单的问题, /etc/boot.conf 和 /etc/ttys 会根据你的情况被修改. 大多数人会选择默认选项-- no.

  Change the default console to com0? [no] Enter

你最后一个任务就是填写一下时区. 这取决于你的机器的所在地, 这里或许会有数个等同的适用的答案. 下面这个例子中, 我们选择 US/Eastern, 同样也可以用 EST5EDT 或者 US/Michigan 和其他等同的选项.敲击键盘 ? 提示符会指导你作出选择.

  Saving configuration files......done.
  Generating initial host.random file ......done.
  What timezone are you in? ('?' for list) [US/Pacific] ?
  Africa/      Chile/       GB-Eire      Israel       NZ-CHAT      Turkey
  America/     Cuba         GMT          Jamaica      Navajo       UCT
  Antarctica/  EET          GMT+0        Japan        PRC          US/
  Arctic/      EST          GMT-0        Kwajalein    PST8PDT      UTC
  Asia/        EST5EDT      GMT0         Libya        Pacific/     Universal
  Atlantic/    Egypt        Greenwich    MET          Poland       W-SU
  Australia/   Eire         HST          MST          Portugal     WET
  Brazil/      Etc/         Hongkong     MST7MDT      ROC          Zulu
  CET          Europe/      Iceland      Mexico/      ROK          posix/
  CST6CDT      Factory      Indian/      Mideast/     Singapore    posixrules
  Canada/      GB           Iran         NZ           SystemV/     right/
  What timezone are you in? ('?' for list) [US/Pacific] US
  What sub-timezone of 'US' are you in? ('?' for list) ?
  Alaska          Central         Hawaii          Mountain        Samoa
  Aleutian        East-Indiana    Indiana-Starke  Pacific
  Arizona         Eastern         Michigan        Pacific-New
  Select a sub-timezone of 'US' ('?' for list): Eastern
  Setting local timezone to 'US/Eastern'...done.

如果你不确定精确的时间, 你可能会希望读一下这个.

最后一步就是为系统建立 /dev 目录 (在一些机器上可能会比较耗时间, 特别是当你的 RAM 很小的时候), 并且安装启动区段.

  Making all device nodes...done.
  Installing boot block...
  boot: /mnt/boot
  proto: /usr/mdec/biosboot
  device: /dev/rwd0c
  /usr/mdec/biosboot: entry point 0
  proto bootblock size 512
  /mnt/boot is 3 blocks x 16384 bytes
  fs block shift 2; part offset 3069360; inode block 152, offset 4136
  using MBR partition 1: type 166 (0xa6) offset 3069360 (0x2ed5b0)
  done.

  CONGRATULATIONS! Your OpenBSD install has been successfully completed!
  To boot the new system, enter halt at the command prompt. Once the
  system has halted, reset the machine and boot from the disk.
  # halt
  syncing disks... done

  The operating system has halted.
  Please press any key to reboot.

OpenBSD 已经在你的机器上装好并等待第一次启动啦, 你只要...

在你重启前
现在, 你的系统已经准备好重启并开始配置服务了. 然而,在这之前, 查看一下勘误表来检查有没有会有一些对你有影响的错误还是比较明智的选择.
你重启之后

在你安装好系统后要阅读的第一样东西就是 afterboot(8).

你也可以在下面这些很有用的连接里找找看:

    * Adding users in OpenBSD
    * Initial Network Setup
    * Man Pages of popular/useful commands
    * OpenBSD man pages on the Web
    * The OpenBSD Ports and Packages system for installing software, as well as here and here

最后一件事...
 OpenBSD 开发小组希望你发送一份 dmesg. 所有的开发人员,还有所有的用户,都会感谢你的.

4.6 - 安装需要那些文件?

一次完整的 OpenBSD 安装可以分解成一定数量的独立软件包套件. 不是所有的应用都需要所有的包套件的的. 这是对每个包的描述:

    * bsd - 这是内核,一定要的
    * bsd.mp - 多处理器内核 (SMP)  (只用于某些平台)
    * bsd.rd - RAM 磁碟内核
    * base36.tgz - 包含了所需的基本 OpenBSD 系统
    * etc36.tgz - 包含了所有需要的 /etc 里的文件
    * comp36.tgz - 包含了编译器和它的工具, 头文件 和库文件. 推荐使用
    * man36.tgz - 包含了man页 推荐使用
    * misc36.tgz - Contains misc info, setup documentation
    * game36.tgz - Contains the games for OpenBSD
    * xbase36.tgz - 包含了基本 X11 安装
    * xetc36.tgz - 包含了 /etc/X11 和 /etc/fonts 配置文件
    * xfont36.tgz - 包含了 X11 的字体服务器和字体
    * xserv36.tgz - 包含了 X11 的X 服务器
    * xshare36.tgz - 包含了 X 的 man 页, 本地设置,等等

 etc36.tgz 和 xetc36.tgz 套件不作为升级安装的部分, 只在完全安装中用到, 所以你做的任何定制都会丢失. 你必须通过手动修改来升级你的 /etc, /dev 和 /var 文件夹.

4.7 - 安装 OpenBSD 需要多少空间 ?

下面讲的是安装一个完整系统所要的最小空间. 这个大小包括了足够大的能容许你运行一个连到互联网上的 home 系统所需的额外空间.

    * 这里都是最小的值.
    * 如果你打算安装很多第三方的软件, 把你的 /usr 分区设得大一点! 起码三倍于这些值!
    * 如果是一个要处理大量 email 或者网页(个子存放于 /var/mail 和 /var/www) 你要把你的 /var 分区留大一点,或者把它们放到独立的分区.
    * 如果是一个多用湖系统那会生成很多日志, 你仍然要把你的 /var 分区留得大一点 (/var/log).
    * 如果你打算用源代码重新编译内核或者系统, 你要把 /usr 分区留大点, 起码要比下面的大 2G .

As you read this, keep in mind that /usr and /usr/X11R6 are usually both parts of the same filesystem, that is, /usr, as there is no big advantage to making them into separate filesystems.


SYSTEM          /       /usr    /var    /usr/X11R6
alpha           80M     250M    25M     140M
hp300           80M     250M    25M     140M
hppa           100M     200M    25M     120M
i386            60M     250M    25M     140M
mac68k          80M     250M    25M     100M
macppc          80M     250M    25M     140M
mvme68k         80M     250M    25M     100M
sparc           80M     250M    25M     120M
sparc64         80M     250M    25M     100M
vax            100M     200M    25M     120M

另外, 建议使用 /tmp 分区.  /tmp 分区用于编译 ports 的软件,  所以它需要多大空间取决于你要派它作多大用场. 50M 对答多数人够了, 但是一些大型应用软件会需要 100M 或更多的 /tmp 空间.

在你用 disklabel 进行编辑的时候, 你可以只给你的系统选一个 'a' (住文件系统) 和 'b' (swap) .  你在 disklabel设的 'a' 将会是你的根分区, 它会包含了三个主要的文件夹 (/, /usr, and /var) 还会留一定的空间给 /tmp. 你设定的 'b' 分区会自动得变成系统里的交换分区 -- 我们建议最小要分给它 32MB 但是如果你的空间有余那至少要给它 64MB. 如果你的空间还有很多,拿给它 256MB, 甚至 512MB.

交换分区是用来存放系统核心备份以防发生崩溃. 如果你考虑过这个因素, 你的交换分区就改比你的主内存更大一些. 注意,在重启的时候, savecore(8) 会把交换分区里的东西放到 /var/crash , 如果你觉得这样做很有必要, 你的 /var 应该有足够大的空间来存放这些备份文件.

使用独立的文件系统有很多好处, 要比只使用一个或两个文件系统强:

    * 安全: 你可以把一些文件系统标记为 'nosuid', 'nodev', 'noexec', 'readonly',等. 事实上只要你建立了上述分区安装程序会自动为你做这些事的.
    * 稳定性: 一个用户,或者一个糟糕的程序, 当他们有写的权限的后他们会弄得文件系统里都是垃圾. 你的一个危险的程序, 如果实在另一个文件系统运行,就不会干扰其他文件系统.
    * 速度: 一个文件系统如果频繁读写很容易产生碎片. (幸运的是, OpenBSD 使用的 ffs 文件系统, 不容易产生大量的碎片.)
    * 健壮性: 如果你的一个区发生了问题那么其它的区是不会有问题的.
    * 大小: 许多机器对启动ROM加载内核的磁碟有一定的限制 . 有时有, 这种限制可能不大 ( 对老的486机器回是 504M ), 或者, 会能更大一些 (比如, 在i386的机器上会是 2G, 8G, 或者 128G ). As the kernel can end up anywhere within the root partition, the entire root partition should be within this area. 想要获得更多详情, 请参见这里的章节. 一个好的建议可能会是把你的 / 分区控制在 2G 以下, 除非你很了解你的机器 (很特殊的机器) 并且能处理这些问题 .

一些对分区作的考虑:

    * 如果你第一次是想做一个实验型的系统, 在你还不知道到底需要如何分配空间时,建立一块很大的 / 分区和交换分区会比较容易. 但是这样做你会损失一些 OpenBSD 默认的安全特性 因为这些特性需要独立的 /, /tmp, /var, /usr和 /home 分区.
    * 一个连到互联网上的系统或者为了防范恶意入侵需要一个独立的 /var (或者还需要一个独立的 /var/log) 分区来做记录.
    * 留个 /home 分区是个很不错的主意. 想试试新版本的操作系统? 其它的文件会被擦除和重新载入, 但是你的 /home 分区不需要变动. 不过记得留一份你的配置文件的附件!
    * 如果你的一个独立分区上有很多文件需要删除的话那么快速得重新格式化要比删除那些文件来的快. 在 upgrade-minifaq 有那么一个例子 (/usr/obj).
    * 如果由于一些原故你要用源码重新编译系统, t源码会被放在 /usr/src. 如果你没有给 /usr/src 分配一个独立的分区, 那一定要给 /usr 足够大的空间.
    * 一个很平常但很容易忘记的事实: 在你启动机器的时候你不一定想挂起所有的空间! 既然现在已经很少能买到比 20G 还小的硬盘了, 你或许会想留一些空间不被挂载. 如果你发现一块分区不够用了, 你就可以把还没使用的空间挂载上去, 或者将你已有的分区复制一下, 编辑 /etc/fstab 来添加你新建的分区, 这样,你就能使用更多空间了.
    * 如果你的分区大小过于接近最小空间要求, 那当你以后升级系统的时候你会后悔的.
    * 如果你允许用户在 /var/www (i.e., 个人网页文件)里拥有写的权限, 你或许想把它规划在一个独立的分区, 这样你就能分摊用户使用空间的限额, 如果他们吧这个分区都塞满了, 那么你的系统的其它分区就不会受影响.

4.8 - 多系统启动 OpenBSD/i386
多操作系统启动就是在一台机器上有多个操作系统, 有些是选择启动哪个系统的意思. 这是一件比较麻烦的工作! 如果你对你所做的这些工作还不太理解的话(安装使用OpenBSD), 那你就可以停下不要忙着删除电脑里的资料了. New OpenBSD 用户一般会被建议一开始从一块空白的硬盘上开始使用 OpenBSD , 先在一台不承担重要工作的机器上开始练习做各种你想要的配置,然后再在比较重要的机器上配置多操作系统启动. FAQ 14 理由很多关于 OpenBSD 启动进程的信息.

这里是一些多操作系统启动的选项:
设置活动(active)分区
通常这是最先被想到的, 而且很多时候这是多操作系统启动最好的解决方法. 只要把你现在正使用的操作系统所在的分区设为活动分区那么下次启动他就能默认启动了. 每个操作系统都会有那么一个程序来做这件事; OpenBSD 下的是 fdisk(8), 和 Windows 9x 和DOS 和其它一些操作系统下的那个程序一样的名字. 这对于一个需要很长时间来关机或者重启的系统来说还是不错的 -- 你可以设定好它然后进行重启, 到旁边休息一下喝杯咖啡, 回来的时候就会发现系统如你所愿的那样开始启动了 -- 不用等待 Magic Moment 来选择进入哪个 OS.
用软盘启动
如果你想用什么硬盘外的东西来启动 OpenBSD (或者你不想其它的用户查觉机器上有什么变化), 那就是软盘了 只要制作一张标准的 OpenBSD 安装软盘就好了, 并编辑一个 /etc/boot.conf 文件 (当然,你也要在软盘上建立一个 /etc 文件夹) 加入以下内容

     boot hd0a:/bsd

这样系统就从驱动器 0 启动,OpenBSD 的分区是 'a', 内核文件是 /bsd. 注意你也可以从其它驱动器启动只要添加类似于: "boot hd2a:/bsd" 就能从你的第三个驱动器启动了. 当你想要启动 OpenBSD, 把软盘塞到软驱里, 重启就好了. 想要启动其它 OS 的话, 把软盘拿出来,重启一下就好了.

下面这个例子就是如何从软盘启动, 看一下 /etc/boot.conf.  "boot hd0a:/bsd" 行告诉启动程序哪里去引导内核 -- 在这个例子中, 是 BIOS 里的第一块 HD (硬盘). 记住,软盘里只有一个很小的文件被读取出来 (/boot)  -- 系统还是会从硬盘中加载整个内核的, 所以这只增加了启动进程五秒钟的时间.
Windows NT/2000/XP NTLDR
如果要多重启动 OpenBSD 和 Windows NT/2000/XP, 你需要使用 NTLDR,  NT 用户的启动器. 要配合 NT 来多重启动, 你需要一份 OpenBSD Partition Boot Record (PBR)的附件. 运行了 installboot 之后, 你就能用 dd(1) 把它复制到一个文件中去了:

    # dd if=/dev/rsd0a of=openbsd.pbr bs=512 count=1

现在启动 NT 然后把t openbsd.pbr 让到 C:. 在 C:\BOOT.INI 加一行:

    c:\openbsd.pbr="OpenBSD"

重启之后, 你就能在NT的启动选项里看到 OpenBSD 了. 这里有更多关于 NTLDR 的修改指南.

在 Windows XP 上你也能用GUI编辑启动信息 GUI; 请查看 XP 的 Boot.ini HOWTO.

像这样的程序有很多, 比方说, BootPart. 这个程序能运行于 Windows NT/2000/XP, 它能查找 OpenBSD PBR, 然后放置于 NT/2000/XP 的分区, 并添加到 C:\BOOT.INI

 OpenBSD 的安装或升级程序会重新安装 OpenBSD 的 boot loader, 它会将系统的位置码写入 PBR, 所以如果你重新安装或者升级了你的 OpenBSD , 你要将前面的过程再做一遍并取一份新的 OpenBSD PBR.

注意: The Windows NT/2000/XP boot loader 只能启动装在主硬盘的操作系统. 你不能用它来启动装在第二硬盘的 OpenBSD .

其它的 boot loaders

其它的 OpenBSD 用户成功使用的启动器包括 GAG, OS-BS, The Ranish Partition Manager and GRUB.

OpenBSD 和 Linux (i386)

请参考 INSTALL.linux, 那里深入讨论了如何让 OpenBSD 和 Linux 公事一机.
4.9 - 安装之后发送你的 dmesg 到 dmesg@openbsd.org

在这里要提醒一下大家, 这对于 OpenBSD 开发人员获知硬件的工作情况很重要,.

一段来自 /usr/src/etc/root/root.mail 的引用

如果你想确认你的机器在 OpenBSD 运行的非常良好, 请帮我们一个忙 (在配置好你的邮件系统后!) 输入:
 # dmesg | mail -s "Sony VAIO 505R laptop, apm works OK" dmesg@openbsd.org
这样我们就可以知道大家都在用什么样的配置.  这些关于你的机器的信息中的每个字节都能很好的帮助我们.
我们将根据这些信息来改进我们未来的发行版中的设备驱动.  (请使用我们提供的 GENERIC 内核,而不是用户
自定义的内核, 除非你不能用 GENERIC 内核启动).  这些设备驱动信息将帮助我们改进现有驱动里的问题. 非常感谢你!

记得用一个同样能接收电子邮件的帐户来发送邮件这样开发人员才能联系到你 ,如果他们为了让你的机器顺利运行或许需要需要你进行一些测试或者修改. 如果是相同的运行 OpenBSD 的机器那就不许要都发送 dmesg 了, 如果这台机器不能接受电子邮件, 那就这样做:

$ dmesg | mail your-account@yourmail.dom

然后把这条信息转寄到

 dmesg@openbsd.org

your-account@yourmail.dom 就是你常用电子邮件帐号. (或者通过 FTP/scp/floppydisk/carrier-pigeon/...来发送信息)

注意 - 请发送基于 GENERIC 内核的 dmesgs. 自定义的内核可能删除了很多设备选项,所以它们的 dmesg 用处不大.

同样需要注意的是接收 dmasg 的机器是使用 spamd spam rejection 系统的. 这会造成你的 dmesg 会在相当一段时间内无法被邮件服务器接收. 非常难熬的是大概在半个或一个或一个多小时之后才能发出信息.
4.10 - 安装之后添加软件套件
"靠,不是吧!!我在装系统的时候忘了装个软件包了!"

有时侯你意识到你确实需要安装comp36.tgz (或者其它系统组件) , 但是你没意识到那该是在安装系统的时候.好消息: 这里有两种方法来让你在初次安装后再添加软件包:
使用升级程序
从你的安装媒介启动(CD-ROM 或者软盘), 选择升级 (不是安装). 当你看到要安装的软件套件列表时, 选中第一次你没安装的那个套件, 选择安装源, 然后让它为你安装.
用 tar(1)
安装包通常都是压缩在 tar 包里的, 你可以手工得把它解压到根分区:

  # cd /
  # tar xzvpf comp36.tgz

不要忘了用在上面的这个命令中用 'p' 选项,这样你就能正确得保存文件的许可信息!

一个常见的错误就是以为能用 pkg_add(1) 来补装软件包. 但是在这里这是不行的. pkg_add(1) 只能用于 package 文件, 普通的 tar 包是不能用的.
4.11 -  'bsd.rd' 是什么?
bsd.rd 是一个 "内存磁区(RAM Disk)" 内核. 这个文件非常有用; 大多数时候许多开发人员都很小心得把它放在系统的根文件夹里.

称之为是 "RAM Disk kernel" 是形容内核使用的根分区 -- 不是使用一个物理驱动器, 在从 bsd.rd 启动后应用软件都是被存放于内核中, 并且运行于一个基于内存的文件系统. bsd.rd 同样包含了一些能让你完成系统安装和维护的工具.

在一些平台上, bsd.rd 是一种很受欢迎的安装途径 -- 你把内核放置于一个已有的文件系统, 启动它, 从它开始执行安装程序. 在大多数平台上, 如果你已经有了一个老版本的 OpenBSD, 那你能用FTP下载一个新版本的 bsd.rd, 用它启动, 完全不用其它移动媒介来安装新版本的 OpenBSD .

这是一个在 i386 机器上启动 bsd.rd 的例子:

  Using Drive: 0 Partition: 3
  reading boot.....
  probing: pc0 com0 com1 apm mem[639k 255M a20=on]
  disk: fd0 hd0+
  >> OpenBSD/i386 BOOT 2.02
  boot> boot hd0a:/bsd.rd
. . . normal boot to install . . .

需要指出的是, 你将会进入安装程序, 但是你也可以中断它进入控制台来配置你的系统.

启动 bsd.rd 使用的规则就是不论你的机器上是怎么个情况,修改内核启动路径从 /bsd 改为 bsd.rd .


4.12 - 常见的安装问题
4.12.1 - 我的 Compaq 知认出 16M RAM
一些 Compaq 机器有那么一个问题:where the full system RAM is not detected by the OpenBSD 的第二级 boot loader 不能正常得探测出系统的全部内存, 只有16M内存能被 OpenBSD 识别并使用. 它能通过建立 / ,修改 /etc/boot.conf 文件来修正, 或者在 OpenBSD 引导前的 "boot>" 提示符下输入一条命令命令. 如果你的机器有 64M RAM,但是 OpenBSD 一开始只能认出 16M, 你要用的命令就是:

     machine mem +0x3000000@0x1000000

将 48M (0x3000000) 加到之前的 16M (0x1000000). 同样, 如果你的机器有同样的问题, 你可以在安装软盘/CD-ROM 的 boot> 提示符前输入上面的命令, 载入系统, 重启, 建立 /etc/boot.conf 文件并加入上面的那条语句这样以后启动的时候系统就能认出所有的内存了.

也曾有报告说对 ROM 的升级同样能解决这个问题.
4.12.2 - 我的 i386 在安装后不能启动
你的安装看上去没什么问题, 但是在第一次启动的时候, 你没看到任何 OpenBSD 的启动提示. 对于这个问题一般有这么几个原因:

    * 分区中没有一块被 fdisk(8) 标示为活动分区. 为了修正它, 用启动软盘或其它媒介重启机器,将一块分区标示为 "active" (bootable). 看一下这里(连接)
    * 磁碟上没有有效的引导器. 如果在安装时你对 "Use entire disk for OpenBSD?" 回答"Y", 或者使用了 fdisk 的 "reinit" 选项 , 那么 OpenBSD 的启动记录就会被安装在磁碟的主启动记录区; 不然, 原先的主启动代码是不会被修改的. 如果没有引导记录的话那是会出问题的. 一种解决方法就是重新用安装媒介启动, 进入控制台在 fdisk 下用命令行对 MBR 升级一下:

    # fdisk -u wd0

      注意:  "update" 选项搭配互联模式("-e")的fdisk不会写入使磁碟可启动的标识性代码.
    * 在一些罕见的例子中, 在第二阶段启动器安装的时候可能会有一些问题. 这里有一些关于第二阶段启动器的讨论.

4.12.3 - 我的 (老式的,运行慢的) 机器启动了,但是在ssh-keygen 这一步卡住了
很可能你的机器运行得很好, 只不多需要点时间来完成 ssh key 的生成.一台 SPARCStation2 或者 Macintosh Quadra 可能需要45分钟或者更长来完成ssh-keygen(1) 的三个步骤, 有的机器可能还要长. 就等着它弄完吧; 这只在每次安装运行一次.
4.12.4 - 我安装的时候看到了这样的一条信息 "Failed to change directory"
在 OpenBSD 开发小组的工作周期运行到发布新版本的 beta 阶段,你用FTP安装它的预览版的话, 你可能会看到:

  Do you want to see a list of potential FTP servers?  [yes] Enter
  Getting the list from 192.128.5.191 (ftp.openbsd.org)... FAILED
  Failed to change directory.
  Server IP address or hostname?

这是一个很正常的在预备发布期间可以预料到的一个情况. 安装程序会到FTP列表中的主要FTP服务器中去查询安装包的信息,但是那里的包直到新版本正式发布后才会更新, 所以你才会看到那些信息.

查看一下 FTP 列表中的镜像选择你常用的 FTP 镜像(你确定那里面有你要得软件包), 在提示符出现后手工输入它.

注意: 如果你是从 CD-ROM 安装那就不会有这个问题了.
4.12.5 - 我登录的时候, 看到 "login_krb4-or-pwd: Exec format error"
Kerberos IV 已经从 OpenBSD 3.4 总移除掉了, 但是如果你是升级的话, 老的 Kerberos IV 二进制包仍会留在你的系统里. 这是一个 i386 平台下的问题, 因为老的 Kerberos 文件是 a.out 格式的, 无法在标准的 ELF 内核中运行 (屏蔽了 a.out 模拟器). 如果你碰到这种问题, 那你登录的时候就要越过 krb4 认证模式:

    OpenBSD/i386 (puffy.openbsd.org) (ttyC0)

    login: joeuser:passwd
    password:

你同样可以用 "username:passwd" 语法来做 ssh 连接 或者用 su(1) 来控制你的系统. 现在编辑一下 /etc/login.conf, 把 krb4 配置删了.
4.12.6 - 我的分区表被毁了或者被清空了!
很少有的, 一个用户发现本来他的系统是没问题的, 但是在运行 fdisk wd0 后, 他们发现分区表里什么都没了(有时侯只留了点没用的东西). 这通常是因为他们在用 fdisk(8) 建立分区的时候留下了0扇区的空间做分区补偿, 而不是需要的一个磁道的补偿 (注意: 这里的假设是针对 i386 or amd64 平台的. 不同的平台有不同的补偿要求, 有的还不需要补偿). 系统会通过 PBR 引导, 而不是 MBR.

即使这样配置好了系统也能工作, 但仍然有个遗留问题要修改. 为了修复它, 这块磁碟上的文件系统要被重建 (现在你该知道你要做的工作是什么了吧, 你可能只需重新建立你的 disklabel 和 MBR, 你也只会丢失并重建这块磁碟上的第一块 OpenBSD 分区).
4.13 - 定制安装过程
siteXX.tgz file
 OpenBSD 安装/升级脚本中允许用户自己配置的套件叫 "siteXX.tgz",  XX 就是发行版本号 (e.g. 36). siteXX.tgz 文件里有, 和其它套件一样, 一个gzip(1) 压缩的 tar(1) 包, '/' 像其它包一样用 xzpf 解压. 在所有其它包安装好之后这个包才能安装.

这个文件能使用户从"一般的"软件包套件搭配中添加和移除出软件包并且能用它来自定义安装或者升级.

一些 siteXX.tgz 的适用例子:

    * 新建一个 siteXX.tgz ,里面包含了你第一次安装 OpenBSD 后使用的软件包的修改信息. 然后, 如果你要重新安装系统的话你只要很简单的选择 siteXX.tgz 那你之前做过的修改就会自动完成而不用再次去做定制.
    * 对各种不同的机器都制作一个 siteXX.tgz 文件,就能使记录各种不同机器的配置信息得到保存. 在一种类型的机器上安装系统 (e.g. 使用不同显示卡的机器) 只要选择对应系统伤制作的的 siteXX.tgz 就能完成所有的工作.
    * 把一些常规的配置文件放进 siteXX.tgz  -- /etc/skel files, /etc/pf.conf, /var/www/conf/httpd.conf, /etc/rc.conf.local, etc.

install.site/upgrade.site scripts
作为安装或升级过程最后的一步, 安装脚本会在新安装或者升级系统的根目录中寻找 install.site 或者 upgrade.site, 根据当前的安装进程, chroot 到新安装或者升级的 root 目录中,在chroot的环境中运行脚本. 记得,升级是在一个启动了的文件系统上完成的, 所以你的目标文件系统应该被挂载到 /mnt. 然而如果你是在正规的 root 目录下运行脚本的话,你的脚本可能要修改一下. 由于脚本是在所有软件都装好后运行的, 在你运行这个脚本的时候你应该事先优化一下你的系统功能 (在单用户模式的时候) .

注意: install.site 脚本必须被包含在 siteXX.tgz 中, 尽管 upgrade.site script 可以在升级前放置于 root 文件夹或者放置于 siteXX.tgz 中的.

T这些脚本可以做很多事:

    * 可以移除一些已经装在或升级到系统上但是你不想要的软件包.
    * 快速得恢复或建立一个新的系统.

稍有些可惜的是, 在这个环境中部能使用 pkg_add(1) .

整合 siteXX.tgz 和 install.site/upgrade.site 的目的是为了给用户更大的定制修改系统的能力,而不需要让他们自己去手工编译定制套件.
4.14 - 我怎么安装一批相同的系统 ?
如果你想要安装很多相同的 OpenBSD 系统那么有很多工具可用.
siteXX.tgz 和 install/upgrade.site files
看一下上面一节.
用 dump(8) 做备份恢复
在大多数平台上, 启动媒介都是包含了备份程序的, 可以用来恢复由 dump(8) 制作的备份文件. 你从 floppy, CD, 或者 bsd.rd 启动, 然后运行 fdisk, disklabel, 将存放在磁带机或其它媒介上的文件配置备份恢复过来, 并安装启动磁区. 更多详情请看着里.
磁盘镜像
不幸的是, 现在还没有一个已知的能在 FFS 文件系统上使用的并能制作只包含启动分区的软件包. 大多数主流的镜像软件会把 OpenBSD 分区当作一块 "常规" 分区, 并且会制作整块硬盘的镜像. 这样能达成你的目的, 但是这样会造成很大的空间浪费 -- 一个空的, 10G 的/home 分区会要求 10G 的空间来存放镜像文件, 即使里面什么都没有. 即使你把镜像文件安装到了更大的驱动器, 你也不能直接使用多出来的空间, 你也不能把镜像安装到一个比原来的驱动器小的驱动器里.

如果条件允许你这样做, 你可以用 dd 来实现你想要的, 允许你将磁碟从一块复制到另一块 , 扇区对扇区得复制. 这样就能免费得完成商业软件所能完成的事.
4.15 - 我如何发送 dmesg(8) 来报告安装问题?
在报告问题的时候, 发送完整的系统 dmesg(8) 才是正确的. 但是当你想要这样做的时候, 由于系统无法正常工作或者根本没法安装以至于你没有磁碟网络或者其它你需要的资源来发送 dmesg 到邮件列表. 这里有些解决的办法:

    * 软盘: 一个启动磁碟和 CD-ROM 有足够的工具来让你将 dmesg 存放到 MSDOS 软盘,再放到另外一台能发送邮件的机器上去. 把 MSDOS 的格式化好的软盘放进驱动器然后执行下面的命令:

     mount -t msdos /dev/fd0a /mnt
     dmesg >/mnt/dmesg.txt
     umount /mnt

      如果你另外还有一个 OpenBSD 系统, 你可以把它写入一个 OpenBSD 兼容的软盘 -- 通常软盘会有足够的空见存放 dmesg. 如果用这种软盘, 就去掉上面命令中的 "-t msdos" 参数.

    * 串行终端: 使用串行终端来捕获另外一台机器上的输出常常是最好的捕获诊断信息的办法 - 特别是当机器启动之后马上就出问题的时候. 那第二台电脑, 你需要一根合适的串行缆线 (通常是裸的调制解调器缆线), 还有一个终端模仿器用来将屏幕输出存放到一个文件中.

      在这个 FAQ 里有一些常见的关于建立一个串行终端的信息; 下面的这些命令足够用来捕获安装的记录.

      i386

      在启动提示符下输入

boot> set tty com0

      这会告诉 OpenBSD 使用第一个串行端口 (在PC文档中一般被称为 COM1 或 COMA ) 作为串行终端. 默认的波特率是 9600.

      Sparc/Sparc64

      如果没有配备键盘的话这种机器会自动使用串行终端. 如果你配备了键盘和显示器, 你仍能在 ok 提示符后面用下面的语句使系统强制使用串行终端.

ok setenv input-device ttya
ok setenv output-device ttya
ok reset

    * FTP: 有些情况下, 你可以用启动磁碟或 CD 上的 FTP 客户端软件来发送 dmesg 到本地 FTP 服务器, 之后你再把它取回来.

4.16 - 使用 bsd.rd-a.out安装或升级 OpenBSD/i386
一般使用 bsd.rd 内核来做升级或者安装没什么特别的问题. 但是, 在 OpenBSD 3.4 上,  i386 平台上的执行格式由 a.out 变为了 ELF, 以至于一些老的启动引导器 (OpenBSD 3.3 或者更早)无法引导新格式的 bsd.rd 内核.

为了解决这个问题, 并且使得升级过程中能使用 bsd.rd, 一个 a.out 版本的 bsd.rd 被制作了出来并被作为了 OpenBSD/i386 v3.5 FTP 发布中一部分. 这个文件, bsd.rd-a.out, 可以被 OpenBSD 3.3 或者更老的系统所引导, 但是一个正规的 OpenBSD 3.5 内核, 包含了最新的 ELF 启动引导器, 能够在一个老机器上引导 OpenBSD/i386 3.5 .

只要把下载的 bsd.rd-a.out 放置到你的 root 目录. 用它,而不是用 bsd 或者 bsd.rd,来启动系统 (当然要修改一下启动项,使bsd.rd-a.out作为你的启动内核).

在安装了最小化的 3.5 后 (base35.tgz, etc35.tgz, bsd), 下载 3.6 的(or -snapshot) bsd.rd 然后再从它进行安装.

- 作者: ivanhero 2005年02月6日, 星期日 02:03  回复(7) |  引用(240) 加入博采

OpenBSD 3.6 安装指南(简体中文译本)上

OpenBSD是BSD家族中最年轻的一员,它诞生于1995年,今年是它诞生10周年庆,为了庆祝这个保持8年只被查出一个默认安装安全漏洞的操作系统的10岁诞辰,我在我大学生活最后的一个寒假中决定把它的安装文档翻译成中文,以使更多人能了解和使用OpenBSD。


本人的文字功底并不是很好,如果翻译中有这样或那样的不足,欢迎广大网友回复予以指正,谢谢
原文地址:http://www.openbsd.org/faq/faq4.html
4 - OpenBSD 3.6 安装指南

内容列表

    * 4.1 - 概述OpenBSD的安装过程
    * 4.2 - 安装前的检查
    * 4.3 - 制作可启动的OpenBSD安装介质
          o 4.3.1 - 制作在Unix上的软盘
          o 4.3.2 - 制作在Windows或DOS上的软盘
          o 4.3.3 - 制作一张可启动的CD
    * 4.4 - 引导OpenBSD安装介质
    * 4.5 - 执行安装
          o 4.5.1 - 开始安装
          o 4.5.2 - 设定硬盘
          o 4.5.3 - 设定系统的主机名
          o 4.5.4 - 配置网络
          o 4.5.5 - 选择安装媒介
          o 4.5.6 - 选择安装包
          o 4.5.7 - 打包收工
    * 4.6 - 哪些文件是安装过程所需要的?
    * 4.7 - 我需要多少空间来完成OpenBSD的安装?
    * 4.8 - 多系统引导OpenBSD/i386
    * 4.9 - 在安装后发送你的dmesg至dmesg@openbsd.org
    * 4.10 - 安装后添加一个包
    * 4.11 - 什么是'bsd.rd'?
    * 4.12 - 常见的安装问题
          o 4.12.1 - 我的Compaq只认出16M内存
          o 4.12.2 - 我的i386在安装后不能引导
          o 4.12.3 - 我的机器启动了, 但是在ssh-keygen的过程中停住了
          o 4.12.4 - 我在安装的时候看到这样一条信息"Failed to change directory"
          o 4.12.5 - 当我登陆的时候我看到"login_krb4-or-pwd: Exec format error"
          o 4.12.6 - 我的fdisk分区表不能用了或者是空白的!
    * 4.13 - 定制安装过程
    * 4.14 - 我如何安装一批相同的系统?
    * 4.15 - 我怎么来获得一个dmesg(8)来报告安装问题?
    * 4.16 - 用bsd.rd-a.out来升级或者重新安装OpenBSD/i386.

4.1 - 概述OpenBSD安装过程

OpenBSD 有一个强大的适用面很广的基于字符界面的安装程序, 能从单张磁碟进行安装. 大多数平台上的安装过程都是很相似的; 但是在细节上还是有些不同的. 无论如何, 我们强列建议您阅读在CD-ROM或者FTP站点内的各硬件平台文件夹里的 platform-specific INSTALL (平台特性-安装)文档  (比如有, i386/INSTALL.i386, mac68k/INSTALL.mac68k or sparc/INSTALL.sparc).

在大多数平台上, OpenBSD安装过程使用了存放在事先加载的内存分区上的特定内核以及一些公用程序和安装脚本.在内核被引导后,操作系统就从一些压缩的tar(1) (.tgz)文件中解压出来. 这里有很多方法来引导安装内核:

    * 磁盘(软盘): 磁盘镜像可以被用来在其他Unix-like系统或者 DOS/Windows系统上制作安装磁盘,它们随处可得. 典型的文件名是floppy36.fs, 尽管很多平台支持多种磁盘镜像.
    * CD-ROM: 在许多平台上CD-ROM 镜像文件(cd36.iso) 是被支持制作成一张可启动的CD-ROM光盘的. 他只包含了安装的内核 - 安装文件仍然要经由FTP站点或者其他安装源来获得. 当然,你也可以将你所想要的文件制作进你定制的CD-ROM光盘
    * bsd.rd: 支持内存分区的内核, 如果你打算从一个已经存在的OpenBSD分区或者网络启动的话,你可以用它.
    * 网络: 一些平台支持从网络启动.
    * 将系统镜像写入硬盘: 一个文件系统的镜像可以被写入一个已经存在的分区, 然后能被启动.
    * 可启动磁带: 一些平台支持从磁带机启动. 这些磁带能遵照 INSTALL.platform 介绍进行制作.


不是所有的平台都支持所有的启动选项:

    * alpha: 软盘, 光盘, 将磁盘镜像写入硬盘分区.
    * amd64: 软盘, 光盘, 网络.
    * cats:  光盘.
    * hp300: 光盘, 网络.
    * hppa:  网络.
    * i386:  软盘, 光盘, 网络.
    * mac68k: 在MAC OS上安装(或启动)公用程序请参阅 INSTALL.mac68k 以获得更多详情.
    * macppc: 光盘, 网络.
    * mvme68k: 网络, 可启动磁带.
    * mvme88k: 网络, 可启动磁带.
    * sparc: 软盘, 光盘, 网络, 将镜像写入已存在的交换分区, 可启动磁带.
    * sparc64: 软盘 (U1/U2 only), 光盘, 网络, 将镜像写入已存在的硬盘分区.
    * vax: 软盘, 网络.

所有的平台除了mac68k 能使用 bsd.rd t来重新安装或者升级系统.

当内核启动之后, 你将会获得数个选项以选择从哪里来获取软件包. 同样的,不是所有的平台支持所有选项.

    * CD-ROM: 当然,我们希望你用官方的 CD-ROM 文件, 但是如果有一些特别的要求, 你也可以制作自己的定制光盘.
    * FTP: 不论是哪个官方 OpenBSD FTP 镜像站点或者你自己的放有软件包的本地 FTP 服务器,都可以.
    * HTTP: 不论是哪个官方 OpenBSD HTTP 镜像站点或者你自己的放有软件包的本地 web 服务器,都可以.
    *本地硬盘分区: 在大多数情况下, 你能从本地硬盘的另外一个分区来安装软件包.比如, 在 i386 上, 你能从 FAT 分区或者 ISO9660、Rock Ridge 和 Joliet 格式的 CD-ROM 进行安装 . 在一些情况下, 你必须先挂载这些分区再使用它.
    * NFS(网络文件系统): 一些平台支持从挂载的NFS分区来安装这些软件包.
    * 磁带: 软件包也能从一台被支持的磁带机被读取.

4.2 - Pre-installation checklist

在你安装前, 你应该知道要完成些什么. 至少,这些东西是你所要知道的:

    * 主机名
    * 安装使用的硬件
          o 在你的平台硬件兼容性页查证你的硬件的兼容性
          o 如果 ISA(使用ISA设备?), 你也需要知道硬件设置, 并且确定它们符合 OpenBSD 的要求.
    * 将会被用到的安装介质 (CD-ROM, FTP, 等.)
    * 如何对系统升级和打补丁?
          o 如果是在本地完成这些工作, 你需要准备足够的空间来存放源代码树并编译安装它.
          o 其他情况的话, 你就要连接到另一台机器来编译安装补丁.
    * 硬盘分区规划要求
          o 有什么现有的资料要保存到其他地方吗?
          o OpenBSD 会和其他操作系统一同存在于同一台机器上吗? 如果是这样, 两个系统如何进行引导呢? 你需要安装"boot manager"(引导管理器)吗?
          o 整个硬盘都将给 OpenBSD 使用吗, 或者你想保留现存的分区和操作系统(或者一定的空间留给将来要装的操作系统)?
          o 你想如何替换你的硬盘中的 OpenBSD 分区?
    * 网络设置, 如果不用 DHCP:
          o 域名
          o DNS 地址
          o 给每个NIC的IP 地址 and 子网掩码
          o 网关地址
    * 你准备运行 X 窗口系统吗?

4.3 - 制作可启动的 OpenBSD 安装媒介

举个例子, 我们来看一下提供给 i386 和 sparc 平台的安装镜像.

i386 平台有六种独立的安装磁盘镜像可供选择:

    * floppy36.fs (桌面 PC) 支持很多 PCI 和 ISA NICs,支持 IDE 和简单的 SCSI 适配器 和一些 PCMCIA. 绝大多数用户会用这个镜像从磁盘(软盘)启动
    * floppyB36.fs (服务器) 支持许多 RAID 控制器, 和一些常见的 SCSI 适配器. 然而, 对许多标准 SCSI 适配器 和许多 EISA 和 ISA NICS 的支持被移除掉了.
    * floppyC36.fs (手提电脑) 支持 CardBus 和能在许多手提电脑上找到的 PCMCIA 设备.
    * cdrom36.fs 实际上整合了三种启动方式. 它能被用于制作可启动的2.88M的磁盘, 或者更常被用到的,是用作定制刻录CD的启动镜像.
    * cd36.iso 是一个能在许多平台上被很多通用的CD刻录软件制作成可启动CD的 ISO9660 镜像. 这个镜像文件被众多驱动其所支持, 如果您的机器能从CDROM启动,那么这将是我们最常推荐给您的选择.
    * cdemu36.iso 是一个ISO9660 镜像文件, 使用 "仿磁盘" 启动, 使用 2.88M 的镜像和cdrom36.fs. 非常少的人会需要用到它 -- 大多数人使用 cd36.iso,只有当您不能使用 cd36.iso 的时候才会需要 cdemu36.iso.

是的,也许会有这样的一种情况:一张安装碟需要支持你的 SCSI 适配器,而另一张碟需要支持你的网络适配器. 不过还好, 这种事情很少发生, 而且一般都能解决.

sparc 平台有三种独立的镜像供选择:

    * floppy36.fs: 支持用软盘的系统.
    * cd36.iso 一个能很方便得制作你自己的可以从 CD-ROM 启动 SPARC 系统的ISO 镜像.
    * miniroot36.fs 可以被写入交换分区然后启动.

4.3.1 - 在 Unix 上制作磁盘

要制作一张格式化的磁盘的话, 可以用 fdformat(1) 命令来进行格式化并检查坏的扇区.

  # fdformat /dev/rfd0c
  Format 1440K floppy `/dev/rfd0c'? (y/n): y
  Processing VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV done.

如果你的系统输出和上面的例子一样, 那么这张碟就没问题了. 但是,如果你没看到那些 "V"' 那么这张碟多办坏了, 你要试试新的碟了.

注意:许多 Unix-like 系统在格式化磁盘的时候用的是不同的命令. 参照你的系统文档来做进一步的操作.

一旦你有了一张干净的格式化了的磁盘那就可以写入安装镜像到磁盘里了. 这里, 你可以用 dd(1) 程序. 这里有一个 dd(1) 命令使用的例子:

  # dd if=floppy36.fs of=/dev/rfd0c bs=32k

镜像被写入后, 用 cmp(1) 命令检查一下复制的镜像是否和源文件相同. 如果软盘和镜像一样的话, 你就可以看另一个提示了.

  # cmp /dev/rfd0c floppy36.fs

4.3.2 - 在 Windows / DOS 制作软盘

这一节将会描述如何在 Windows / DOS 将安装镜像写入软盘. 你能从下文中提到的 FTP 镜像站点中的 tools 文件夹,或者 OpenBSD CD 套件中的 CD1 的 3.6/tools 文件夹获得制作工具.

在 MS-DOS / Windows 上准备一张软盘, 首先使用系统自带的格式化命令格式化软盘.

你可以使用 rawrite, fdimage, 或者 ntrw 来将安装镜像写入准备好的软盘. rawrite 无法在 Windows NT, 2000 或者 XP 上使用.

注意:  FDIMAGE.EXE 和 RAWRITE.EXE 都是 MS-DOS 程序, 它们受 MS-DOS 的 "8.3" 文件命名规则的限制. 由于 floppyB36.fs 和 floppyC36.fs 有着更长的文件名,在使用 FDIMAGE.EXE 或 RAWRITE.EXE 来制作你的启动软盘之前,记得看一下在"8.3 format"下你的系统如何命名这些文件.

使用 rawrite 的例子:

  C:\> rawrite
  RaWrite 1.2 - Write disk file to raw floppy diskette

  Enter source file name: floppy36.fs
  Enter destination drive: a
  Please insert a formatted diskette into drive A: and press -ENTER- : Enter

使用 fdimage 的例子:

  C:\> fdimage -q floppy36.fs a:

使用 ntrw 的例子:

  C:\> ntrw floppy36.fs a:
  3.5", 1.44MB, 512 bytes/sector
  bufsize is 9216
  1474560 bytes written

4.3.3 - 制作 CD-ROM 光盘

你能使用 cd36.iso 文件来制作启动光盘, 或者在 i386 平台下, 你也可以用 cdrom36.fs 作为可启动软盘镜像(它也可以在 i386 上是用来从CD-ROM来启动系统). 在这里更多的细节就留给读者根据自己的情况用这些工具来决定了.

 OpenBSD 上的一些工具:

    * mkhybrid(8)
    * cdrecord, OpenBSD Ports 系统中的 cdrtools 集里的一部分.

4.4 - 引导 OpenBSD 安装媒介
引导 i386
在 i386 PC 平台上引导一个启动镜像对大多数人来说并不陌生. 如果你用软盘, 那非常简单,把软盘放入软驱之后启动机器就可以了.启动镜像将会被加载,记得确认你的 BIOS 中设定了从软盘启动.如果你想要从 CD 启动, 你必须进入系统的 BIOS 然后调整器动选项以确保能从 CD 启动. 一些老的 BIOSes 没有这些选项, 那你就必须用软盘来引导你的安装镜像. 别担心; 就算你是从软盘启动你仍能用 CD 来安装.

你也可以从已有的OpenBSD分区引导 bsd.rd 来进行安装, 或者在网上使用 PXE 启动程序.
启动 sparc/sparc64
注意: 在 sparc64 平台上, 只有 SBus 类的机器 (Ultra 1, Ultra 2) 才能从软盘启动.

如果从软盘启动, 把载有 OpenBSD 安装镜像的软盘放入软驱就可以了. 然后用以下命令来从软盘启动:

  ok boot floppy

如果从 CD-ROM 启动, 把 OpenBSD CD-ROM 光盘放进驱动器就好了. 如果你的 Sun 只有一个 CD-ROM 驱动器, 你只要进入启动界面就能看到 'boot cdrom':

  ok boot cdrom

当然, 这只在新的命令模式中可行. 如果你在老的命令模式提示符下 (一个向右的箭头), 输入 'n' 来切换到新的命令模式. (如果你使用的是老式的 sparc 比如 pre-sun4c, 你应该是没有新的命令模式的. 在这种情况下, 你就要多方式尝试一下了.) 如果你有多种 CD-ROM 驱动器, 选用合适的那种进行启动. 在新的命令模式下输入 probe-scsi.

  ok probe-scsi

  Target 0
    Unit 0   Disk     QUANTUM LIGHTNING 365S
  Target 1
    Unit 0   Removable Disk     QUANTUM EMPIRE_1080S
  Target 3
    Unit 0   Removable Disk     Joe's CD-ROM

判断哪个盘是你要启动的 CD-ROM 驱动器. 注意标记号码.

  ok boot /sbus/esp/sd@X,0

4.5 - 执行安装
4.5.1 - 开始安装
不论你用什么来引导, 现在是时候上场了. 在启动过程中, 内核 以及所有用来安装 OpenBSD 的程序都会被载入内存. 启动时最常见的问题就是遇到损坏的软盘或者驱动器问题. 启动软盘要被很好得看护好 -- 任何污点损坏都会造成问题.

在 OpenBSD 安装过程中的任何阶段, 你能通过按下 CTRL-C 来终止当前安装,并能在无须重启的情况下在shell提示符下运行 install 来重新进入安装.

在你成功启动后, 你会在屏幕上看到一些文字信息. 这些文字, 在许多架构下都是呈蓝底白字的, 这就是 dmesg, 内核会告诉你哪些设备,在哪里,被找到了. 不用急着去记这些东西, 它会留一个备份放置于 /var/run/dmesg.boot. 在一些架构下, SHIFT+PGUP 能让你检查屏幕上闪过的文字信息.

然后,你会看到这个:

  rootdev=0x1100 rrootdev=0x2f00 rawdev=0x2f02
  erase ^?, werase ^W, kill ^U, intr ^C, status ^T
  (I)nstall, (U)pgrade or (S)hell? i

在这里,我们碰到了第一个问题.大多数情况下, 你会看到三种选择:

    * Install: 将 OpenBSD 载入你的机器, 覆盖掉里免的所有东西. 注意: 在这个过程中也可以使一些分区不被改动, 比如 /home, 不然的话, 所有的东西会被覆盖.
    * Upgrade: 在机器上安装新的套件, 但是不会覆盖原来的配置信息, 用户数据, 或者额外的程序. 硬盘不会被格式化,  /etc 或者 /var 文件夹也不会被覆盖. 一些重要的注意事项:
          o 你不会看到关于安装 etc36.tgz 文件的选项. 在安装之后, 你必须在系统中手工修改 etc36.tgz 的改变 ,这样它才能全功能得工作. 这是一个非常重要的必须要做的一步, 否则一些关键的服务 (比如 pf(4)) 可能会不启动.
          o 升级过程并没有对跨发行版进行过设计发行版! 它不支持这样做. OpenBSD 3.6, 只能供 3.5 升级到 3.6 . 如果你必须升级一个更老的版本, 你必须进行一次完整的重新安装.
    * Shell: 有时侯,当系统无法(或者不该)引导一个常规的内核时你需要对系统做一下修改和维护 . 这个选项能允许你对系统进行一些修缮.

有时, 你会看不到 "Upgrade" 选项.在"国庆节"(美)(可能是发行版本的名字)后可能是无法直接升级的。你必须要重新安装一下系统.

我们来作一个安装的例子, 升级的过程也是很相似的.

  Welcome to the OpenBSD/i386 3.6 install program.

  This program will help you install OpenBSD in a simple and rational way. At
  any prompt except password prompts you can run a shell command by typing
  '!foo', or escape to a shell by typing '!'. Default answers are shown in []'s
  and are selected by pressing RETURN. At any time you can exit this program by
  pressing Control-C and then RETURN, but quitting during an install can leave
  your system in an inconsistent state.

  Specify terminal type: [vt220] Enter
  Do you wish to select a keyboard encoding table? [no] Enter

多数情况下 默认的终端类型是非常合适的; 但是如果你使用一个 serial 终端来安装, 就不要用默认的了, 按合适的回答.

如果你没有选择一种键盘编码, US 键盘布局就会被使用.

  IS YOUR DATA BACKED UP? As with anything that modifies disk contents, this
  program can cause SIGNIFICANT data loss.

  It is often helpful to have the installation notes handy. For complex disk
  configurations, relevant disk hardware manuals and a calculator are useful.

  Proceed with install? [no] y

如果你在这里接受了默认选项, 安装进程就会终止,你将会进入一个shell操作环境.
4.5.2 - 设定硬盘

 OpenBSD 在各种平台下设定硬盘是有一点差异的. 对于 i386 和 macppc, 设定硬盘只有两个步骤. 首先, the OpenBSD 占用的 slice 是由 fdisk(8) 来划分的, 然后这块 slice 再由 disklabel(8) 二次划分成 OpenBSD 分区 .

一些用户可能会对这里的一些专用术语感到有点困惑. 在这里我们用的 "partition" 一词会有两种意思. This observation is correct. 在 OpenBSD 平台下的分区有两层, 第一层, 我们可以认为是操作系统分区, 就是各种操作系统标识在硬盘上哪块空间是属于他们的, 第二层就是 OpenBSD 下二次划分为独立文件系统的分区. 第一次是能作为一块硬盘分区被 DOS, Windows, 或其它共存于 IBM AT 后续机器上的操作系统所识别的. 而第二层分区只能被 OpenBSD 和那些能直接读取 OpenBSD 文件系统的的操作系统所识别.

  Cool!  Let's get to it...

  You will now initialize the disk(s) that OpenBSD will use. To enable all
  available security features you should configure the disk(s) to allow the
  creation of separate filesystems for /, /tmp, /var, /usr, and /home.

  Available disks are: wd0.
  Which one is the root disk? (or done) [wd0] Enter

 root disk 就是系统将会启动的那个盘, 通常就是交换分区所在的那块硬盘. IDE 硬盘一般会被标识为 wd0, wd1, 等., SCSI 硬盘 RAID 设备会被标识为 sd0, sd1, 依此类推. 所有 OpenBSD 能识别出来的硬盘都会被罗列在这里 -- 如果你的驱动器没有被识别出来, 那你的设备应该是没有获得支持或者你对硬件进行了错误的配置.

  Do you want to use *all* of wd0 for OpenBSD? [no] Enter

如果你对这个问题回答 "yes" , 那么整块硬盘都会被 OpenBSD 占据. 这样子就会建立一个标准的 Master Boot Record ,分区表也会被写入硬盘 -- 这块分区的大小就是整块硬盘的大小, 并会被设定为 OpenBSD 的分区类型和标示为启动分区. 对于大多数使用 OpenBSD 的机器这是最常用的选择; 然而, 对于有些系统我们就不能这样做了. 许多 Compaq 的系统, 许多 laptops, 一些 Dell 和其它系统要使用 "maintenance" 或者 "Suspend to Disk" 处理分区,以使其完好无损. 如果你的机器上还有其它类型的分区而你不想擦除它, 在以上的问题不要回答 "yes" .

下面的例子我们就来假设一下,这块硬盘将会被 OpenBSD 和 已有的 windows 2000 所共享, 所以我们选择 "no", 这样我们就会进入 fdisk(8) . 你在这里也能获得更多的关于 fdisk(8) 信息.

Important Note: Users with a large hard disk (larger than 8G on a newer i386, though on older machines and different platforms, often much smaller) will want to see this section before going any further.

  You will now create a single MBR partition to contain your OpenBSD data. This
  partition must have an id of 'A6'; must *NOT* overlap other partitions; and
  must be marked as the only active partition.

  The 'manual' command describes all the fdisk commands in detail.

  Disk: wd0       geometry: 2586/240/63 [39100320 Sectors]
  Offset: 0       Signature: 0xAA55
           Starting       Ending       LBA Info:
   #: id    C   H  S -    C   H  S [       start:      size   ]
  ------------------------------------------------------------------------
  *0: 06    0   1  1 -  202 239 63 [          63:     3069297 ] DOS > 32MB
   1: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
   2: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
   3: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
  Enter 'help' for information
  fdisk: 1> help
          help            Command help list
          manual          Show entire OpenBSD man page for fdisk
          reinit          Re-initialize loaded MBR (to defaults)
          setpid          Set the identifier of a given table entry
          disk            Edit current drive stats
          edit            Edit given table entry
          flag            Flag given table entry as bootable
          update          Update machine code in loaded MBR
          select          Select extended partition table entry MBR
          print           Print loaded MBR partition table
          write           Write loaded MBR to disk
          exit            Exit edit of current MBR, without saving changes
          quit            Quit edit of current MBR, saving current changes
          abort           Abort program without saving current changes
  fdisk: 1>

这里的一些命令是有必要解释一下的:

    * r or reinit: 清除现存的分区表, 使用整个硬盘建立一个 OpenBSD 分区, 将其标示为可启动, 并且写入 OpenBSD MBR 代码. 就相当于前面那个"use *all* of ..." 的问题回答 "yes".
    * p or print: 显示当前分区表. "p m" 将会以兆(M)为单位显示, "p g" 将会以千兆(G)为单位显示.
    * e or edit: 编辑分区表.
    * f or flag: 将一块分区标示为可启动分区, 之后机器将会从这块分区启动.
    * u or update: 将 MBR 升级为OpenBSD 启动代码, 这样做的效果类似于使用 "reinit", 不会改变现有得分去表.
    * exit and quit: 留心使用这两个命令, 有些用户使用 "exit" 和 "quit" 的时候搞反了他们的意思.

非常有必要在这里再次指出, 这一步的错误会造成非常严重的资料损失. 如果你是在一个没有什么重要数据的驱动器上进行这些操作, 那么在这个"可以随便操作"的驱动器上做些练习也是蛮有价值的, 记得要作好备份.

我们的驱动器上有一块 1.5G 的给 Windows 2000 的分区(使用 FAT 文件系统). 看一下上面显示的信息, 我们可以看到 Windows 的分区占据了从驱动器的 202 柱面结束的地方 . 所以, 我们要把硬盘上剩下的空间分配给  OpenBSD, 从柱面 203 开始. 你也可以通过将现存分区的起始扇区 (63) 和它的大小 (3069297)相加计算 OpenBSD'的起始扇区为 3069360 .

你能对驱动器的柱面/柱头/扇区的规划进行修改 或者就接受推荐的扇区. 只要选对你来说觉得容易的那种就可以了; 在这钟情况下,对于一块已经有现存分区的驱动器, 使用 CHS 格式会比较方便. 如果你是在建立这块硬盘上的第一块分区, 使用推荐的扇区会更方便点.

  fdisk: 1> e 1
           Starting       Ending       LBA Info:
   #: id    C   H  S -    C   H  S [       start:      size   ]
  ------------------------------------------------------------------------
   1: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
  Partition id ('0' to disable)  [0 - FF]: [0] (? for help) a6
  Do you wish to edit in CHS mode? [n] y
  BIOS Starting cylinder [0 - 2585]: [0] 203
  BIOS Starting head [0 - 239]: [0] Enter
  BIOS Starting sector [1 - 63]: [0] 1
  BIOS Ending cylinder [0 - 2585]: [0] 2585
  BIOS Ending head [0 - 239]: [0] 239
  BIOS Ending sector [1 - 63]: [0] 63
  fdisk:*1> p
  Disk: wd0       geometry: 2586/240/63 [39100320 Sectors]
  Offset: 0       Signature: 0xAA55
           Starting       Ending       LBA Info:
   #: id    C   H  S -    C   H  S [       start:      size   ]
  ------------------------------------------------------------------------
  *0: 06    0   1  1 -  202 239 63 [          63:     3069297 ] DOS > 32MB
   1: A6  203   0  1 - 2585 239 63 [     3069360:    36030960 ] OpenBSD
   2: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
   3: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
  fdisk:*1> p m
  Disk: wd0       geometry: 2586/240/63 [19092 Megabytes]
  Offset: 0       Signature: 0xAA55
           Starting       Ending       LBA Info:
   #: id    C   H  S -    C   H  S [       start:      size   ]
  ------------------------------------------------------------------------
  *0: 06    0   1  1 -  202 239 63 [          63:        1499M] DOS > 32MB
   1: A6  203   0  1 - 2585 239 63 [     3069360:       17593M] OpenBSD
   2: 00    0   0  0 -    0   0  0 [           0:           0M] unused
   3: 00    0   0  0 -    0   0  0 [           0:           0M] unused
  fdisk:*1>

非常重要的一点是第一块分区会避开硬盘上的第一个轨道, 在这个例子中, 就是从 63 扇区开始的. 如果一块 OpenBSD 分区被建立为从最前面的 0 扇区开始的话, 分区表就会被 OpenBSD 的分区启动标记所擦掉. 这个系统仍然能启动, 但是这很难维持下去, 这种配置是不合常规的,并且不被支持.

注意这个时候提示符多了个星号 ('*')以提醒你尚未保存修改. 我们输入一下 p m 就能看到我们没有改动 Windows 分区, 我们成功得将剩余的空间分配给了 OpenBSD, 分区也没有交错. 一切都很顺利,通常都是.

还有一件事我们没做的就是把分区标志为可启动的, 这样我们下次重启后就能引导 :

  fdisk:*1> f 1
  Partition 1 marked active.
  fdisk:*1> p
  Disk: wd0       geometry: 2586/240/63 [39100320 Sectors]
  Offset: 0       Signature: 0xAA55
           Starting       Ending       LBA Info:
   #: id    C   H  S -    C   H  S [       start:      size   ]
  ------------------------------------------------------------------------
   0: 06    0   1  1 -  202 239 63 [          63:     3069297 ] DOS > 32MB
  *1: A6  203   0  1 - 2585 239 63 [     3069360:    36030960 ] OpenBSD
   2: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
   3: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
  fdisk:*1>

现在,我们就可以保存一下修改了:

  fdisk:*1> w
  Writing MBR at offset 0.
  wd0: no disk label
  fdisk: 1> q

Creating a disklabel
下一步就是使用 disklabel(8) 分配 OpenBSD 分区(第二层). 更多使用 disklabel(8) 的细节可以在 FAQ 14 查看, disklabel.

  Here is the partition information you chose:
 
  Disk: wd0       geometry: 2586/240/63 [39100320 Sectors]
  Offset: 0       Signature: 0xAA55
           Starting       Ending       LBA Info:
   #: id    C   H  S -    C   H  S [       start:      size   ]
  ------------------------------------------------------------------------
   0: 06    0   1  1 -  202 239 63 [          63:     3069297 ] DOS > 32MB
  *1: A6  203   0  1 - 2585 239 63 [     3069360:    36030960 ] OpenBSD
   2: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
   3: 00    0   0  0 -    0   0  0 [           0:           0 ] unused

  You will now create an OpenBSD disklabel inside the OpenBSD MBR
  partition. The disklabel defines how OpenBSD splits up the MBR partition
  into OpenBSD partitions in which filesystems and swap space are created.

  The offsets used in the disklabel are ABSOLUTE, i.e. relative to the
  start of the disk, NOT the start of the OpenBSD MBR partition.

  disklabel: no disk label
  WARNING: Disk wd0 has no label. You will be creating a new one.
 
  # using MBR partition 1: type A6 off 3069360 (0x2ed5b0) size 36030960 (0x225c9f0)

  Treating sectors 3069360-39100320 as the OpenBSD portion of the disk.
  You can use the 'b' command to change this.

  Initial label editor (enter '?' for help at any prompt)
  > ?
  Available commands:
          ? [cmnd]  - this message or command specific help.
          a [part]  - add new partition.
          b         - set OpenBSD disk boundaries.
          c [part]  - change partition size.
          D         - set label to default.
          d [part]  - delete partition.
          e         - edit drive parameters.
          g [b|d|u] - use [b]ios, [d]isk or [u]ser geometry.
          M         - show entire OpenBSD man page for disklabel.
          m [part]  - modify existing partition.
          n [part]  - set the mount point for a partition.
          p [unit]  - print label.
          q         - quit and save changes.
          r         - recalculate free space.
          s [path]  - save label to file.
          u         - undo last change.
          w         - write label to disk.
          X         - toggle expert mode.
          x         - exit without saving changes.
          z         - zero out partition table.
  Numeric parameters may use suffixes to indicate units:
          'b' for bytes, 'c' for cylinders, 'k' for kilobytes, 'm' for megabytes,
          'g' for gigabytes or no suffix for sectors (usually 512 bytes).
          '%' for percent of total disk size, '&' for percent of free space.
          Non-sector units will be rounded to the nearest cylinder.
  Entering '?' at most prompts will give you (simple) context sensitive help.
  >

同样的,这里的一些命令要解释一下:

    * p - displays (prints) 显示当前的 disklabel , 你也能用 k, m 或者 g 来表示 kilobytes, megabytes 或者 gigabytes为单位进行显示.
    * D - 清除现有的 disklabel, 以覆盖当前的 OpenBSD 分区来建立一个新的默认的 disklabel. 当硬盘上本来有一个  disklabel,或者当 OpenBSD 分区被重新划分了大小 -- 老的 disk label 没有被删除的时候(会造成冲突)是很有用的.
    * m - 修改 disklabel 中已有的记录. 不要高估了这个命令能给予你的功能. 即使它可能可以更改 disklabel 分区的大小, 但是它不能改变驱动器上的文件类型. 如果你想丢失大量资料的话那么使用这个命令来调整现有分区的大小是个不错的办法.

在你的硬盘上进行 Slice 划分是很重要得 .  "How should I partition my system?" 的答案就是 "你需要用它做什么". 各种应用之间都是不同的. 在这里没有什么统一的答案. 如果你还没拿定主意如何划分你的系统, 看一些讨论.

在这台机器上, 我们给了 OpenBSD 17G以上的空间. 这是块很大的空间, 我们多数用不了那么多. 所以我们没必要使用最小的尺寸单位. 我们很可能会有上 G 的未使用空间, kilobyte 这个单位太小了.

在根分区上,  'a' 和 'b' 这两个分区必须要建立. 如果这两个分区不被建立的话安装程序是无法继续进行的. 'a' 会被用做根文件系统 (/) 而  'b' 会被用做交换分区.

稍作思考后,我们决定建立足够的分区来用作推荐使用各个独立文件系统 (/, /tmp, /var, /usr, /home) ,还有一个交换分区:

    * wd0a: / (root) - 150M. 应该够了.
    * wd0b: (swap) - 300M.
    * wd0d: /tmp - 120M. /tmp 会被用来编译一些软件, 120M 对于大多数软件还是足够的.
    * wd0e: /var - 80M. 如果这个系统是用做 web 或者 mail 服务器的话 我们希望这块分区能够更大一些, 但是在这里我们并不打算这么做.
    * wd0g: /usr - 2G. 我们希望这块分区能有足够的空间来存放用户的应用软件, 如果需要的话还能在这里通过源代码升级或者重新编译系统. Ports 树也会被放在这里, 在 ports 树建立前大概会在这里占用 100M 的空间. 如果你想在这里通过源代码编译许多应用程序而不是使用预编的 packages 包, 那你要在这里在多留点空间了.
    * wd0h: /home - 4G. 这里用来存放用户资料的.

现在,如果你添加了以上的分区, 你就会看到 10G 以上的空间被占用了! 空白空间不会造成什么问题, 而且它还给我们将来扩大分区提供了方便. 需要更多的 /tmp? 没问题, 在空白分区建立一块新的, 修改一下 /etc/fstab 就可以了 .

  > p m
  device: /dev/rwd0c
  type: ESDI
  disk: ESDI/IDE disk
  label: ST320011A
  bytes/sector: 512
  sectors/track: 63
  tracks/cylinder: 16
  sectors/cylinder: 1008
  cylinders: 16383
  total sectors: 39102336
  free sectors: 36030960
  rpm: 3600
 
  16 partitions:
  #        size   offset    fstype   [fsize bsize   cpg]
    a: 17593.2M  1498.7M    unused        0     0
    c: 19092.9M     0.0M    unused        0     0
    i:  1498.7M     0.0M     MSDOS
  > d a
  > a a
  offset: [3069360] Enter
  size: [36030960] 150M
  Rounding to nearest cylinder: 307440
  FS type: [4.2BSD] Enter
  mount point: [none] /
  > a b
  offset: [3376800] Enter
  size: [35723520] 300M
  Rounding to nearest cylinder: 614880
  FS type: [swap] Enter
  > a d
  offset: [3991680] Enter
  size: [35108640] 120m
  Rounding to nearest cylinder: 245952
  FS type: [4.2BSD] Enter
  mount point: [none] /tmp
  > a e
  offset: [4237632] Enter
  size: [34862688] 80m
  Rounding to nearest cylinder: 164304
  FS type: [4.2BSD] Enter
  mount point: [none] /var
  > a g
  offset: [4401936] Enter
  size: [34698384] 2g
  Rounding to nearest cylinder: 4194288
  FS type: [4.2BSD] Enter
  mount point: [none] /usr
  > a h
  offset: [8596224] Enter
  size: [30504096] 4g
  Rounding to nearest cylinder: 8388576
  FS type: [4.2BSD] Enter
  mount point: [none] /home
  > p m
  device: /dev/rwd0c
  type: ESDI
  disk: ESDI/IDE disk
  label: ST320011A
  bytes/sector: 512
  sectors/track: 63
  tracks/cylinder: 16
  sectors/cylinder: 1008
  cylinders: 16383
  total sectors: 39102336
  free sectors: 22115520
  rpm: 3600
 
  16 partitions:
  #        size   offset    fstype   [fsize bsize   cpg]
    a:   150.1M  1498.7M    4.2BSD     1024  8192    16  # /
    b:   300.2M  1648.8M      swap
    c: 19092.9M     0.0M    unused        0     0
    d:   120.1M  1949.1M    4.2BSD     1024  8192    16  # /tmp
    e:    80.2M  2069.2M    4.2BSD     1024  8192    16  # /var
    g:  2048.0M  2149.4M    4.2BSD     1024  8192    16  # /usr
    h:  4096.0M  4197.4M    4.2BSD     1024  8192    16  # /home
    i:  1498.7M     0.0M     MSDOS
  > q
  Write new label?: [y] Enter

在这里你会看到C分区被跳过了. 这块就是你的整个硬盘; 别指望去修改它. 你也会发现一块不是我们定义的 i 分区; 这就是已经存在的 Windows 2000 分区. 分区没有被定义为特定的字母 -- 除了 a (root), b (swap) 和 c (整块硬盘), 剩余的分区 (一直到字母 p) 可以由我们来命名.

如果你仔细看 disklabel 的输出, 你会发现你的驱动器的转速是错的. 这是个由来已久的问题; 这个系统(分区工具?)始终不能很好得显示驱动器的转速. 不过这个没什么关系.
配置你的文件系统挂在点并且格式化它
现在是对挂载点的最后配置了. 如果你用 disklabel(8) 来配置挂载点, 这里的步骤就是确认你的选择; 不然的话就在这里修改它.

  The root filesystem will be mounted on wd0a.
  wd0b will be used for swap space.
  Mount point for wd0d (size=122976k), none or done? [/tmp] Enter
  Mount point for wd0e (size=82152k), none or done? [/var] Enter
  Mount point for wd0g (size=2097144k), none or done? [/usr] Enter
  Mount point for wd0h (size=4194288k), none or done? [/home] Enter
  Mount point for wd0d (size=122976k), none or done? [/tmp] done
  Done - no available disks found.
 
  You have configured the following partitions and mount points:

  wd0a /
  wd0d /tmp
  wd0e /var
  wd0g /usr
  wd0h /home

  The next step creates a filesystem on each partition, ERASING existing data.
  Are you really sure that you're ready to proceed? [no] y
  /dev/rwd0a:     307440 sectors in 305 cylinders of 16 tracks, 63 sectors
          150.1MB in 20 cyl groups (16 c/g, 7.88MB/g, 1920 i/g)
  /dev/rwd0d:     245952 sectors in 244 cylinders of 16 tracks, 63 sectors
          120.1MB in 16 cyl groups (16 c/g, 7.88MB/g, 1920 i/g)
  /dev/rwd0e:     164304 sectors in 163 cylinders of 16 tracks, 63 sectors
          80.2MB in 11 cyl groups (16 c/g, 7.88MB/g, 1920 i/g)
  /dev/rwd0g:     4194288 sectors in 4161 cylinders of 16 tracks, 63 sectors
          2048.0MB in 261 cyl groups (16 c/g, 7.88MB/g, 1920 i/g)
  /dev/rwd0h:     8388576 sectors in 8322 cylinders of 16 tracks, 63 sectors
          4096.0MB in 521 cyl groups (16 c/g, 7.88MB/g, 1920 i/g)
  /dev/wd0a on /mnt type ffs (rw, asynchronous, local, ctime=Thu Oct 10 21:
  50:36 2004)
  /dev/wd0h on /mnt/home type ffs (rw, asynchronous, local, nodev, nosuid,
   ctime=Thu Oct 10 21:50:36 2004)
  /dev/wd0d on /mnt/tmp type ffs (rw, asynchronous, local, nodev, nosuid,
  ctime=Thu Oct 10 21:50:36 2004)
  /dev/wd0g on /mnt/usr type ffs (rw, asynchronous, local, nodev, ctime=Th
  u Oct 10 21:50:36 2004)
  /dev/wd0e on /mnt/var type ffs (rw, asynchronous, local, nodev, nosuid,
  ctime=Th u Oct 10 21:50:36 2004)

你可能会奇怪为什么安装程序会重复询问你挂载点. 这是为了让你有机会修改在建立 disklabel 时造成的挂载点遗失或错误. 比如, 安装程序会自动删除你在配置 disklabel 输入的想通的挂载点.  disklabel 程序允许你输入重复的挂载点, 但是它们必须在 disklabel 程序退出后检查一下. 重复的挂载点被删除后会造成分区失去挂载点, 如果你想用它的话还要再分配新的挂载点.

注意 "Are you really sure that you are ready to proceed?" 默认的回答是 no, 所以你要回答 yes 来让它继续安装过程并格式化分区. 如果你回答no,你就会进入一个字符终端, 输入 install 就能再次进入安装, 或者重启你的机器也行.

现在所有的分区都会被格式化,格式化的时间取决于分区的大小和硬盘的速度.

- 作者: ivanhero 2005年02月6日, 星期日 01:54  回复(1) |  引用(0) 加入博采

在Red Hat9.0下配置Debian Sarge桌面环境

前几天装了一下Debian Sarge,虽然它一直到现在还是属于测试版(去年这个时候就说要发布结果到现在还没发布),但是它已经相当成熟了,而且它拥有和FreeBSD的ports有着相同理念的apt,所以它对我的吸引力还是很强的,用了几天,简直爽到家了。好东西要大家分享,所以我把这次的配置过程写一下,希望对广大的Linuxer有用。

顺便提一下这个月碰到的衰事,我在10分钟前发现我们学校里12月才贴出来的威盛校园招聘在11月已经结束面试了,我竟然在1月份还投了简历过去,胸闷,这种感觉何止是胸闷形容得了啊,在此默哀3分钟。悲痛归悲痛,悲痛之后就要化悲愤为力量!!口语继续练,GTK继续编,Linux Desktop How to继续写,我相信是金子总会发光的!!!


首先我要说明一下我们的工作环境:已经安装好了的Debian Sarge base系统,配置好X的redhat9.0,虽然我们主要的工作是在终端中进行,但是开一个X进行复制粘贴可以提高工作效率,在下载deb的时候还能听听音乐什么的。

我们这次配置过程的主思路是引用了Knoppix ReMarsting的理念,就是挂载Debian所在的分区,然后chroot*到挂载它的那个目录,然后在chroot的环境下进行配置,这样的好处是可以可以提高配置的速度(用复制粘贴),而且一些文件的修改不用在终端中进行,可以在一些图形化的编辑器完成,这点对新手来说是很有用的。

下面我们就开始我们的Debian Sarge desktop配置之旅

首先做一个Sarge的挂载目录

#cd /mnt

#mkdir sarge

然后挂载Sarge所在的分区,我的是安装在hdb3,所以

#mount /dev/hdb3 /mnt/sarge

然后chroot到sarge目录里

#chroot /mnt/sarge    /*其实直接chroot sarge也是可以的

#mount -t proc /proc proc   /*这个很关键,这是系统的重要组成部分

再开一个终端,运行

#cd /etc/resolv.conf /mnt/sarge/etc/resolv.conf

或者你直接用资源管理器复制粘贴也行,这样chroot的系统就能上网了。

打开gedit,把以下内容保存为/mnt/sarge/etc/apt/sources.list

#
# Replace /etc/apt/sources.list with this file will change apt source to Debian Mirror on CN99
#
deb http://debian.cn99.com/debian sarge main non-free contrib
deb http://debian.cn99.com/debian-non-US sarge/non-US main contrib non-free
deb http://debian.cn99.com/debian testing-proposed-updates main contrib non-free
deb http://debian.cn99.com/debian-non-US testing-proposed-updates/non-US main contrib non-free
deb http://debian.cn99.com/debian-security sarge/updates main contrib non-free
deb-src http://debian.cn99.com/debian sarge main non-free contrib
deb-src http://debian.cn99.com/debian-non-US sarge/non-US main contrib non-free
deb-src http://debian.cn99.com/debian testing-proposed-updates main contrib non-free
deb-src http://debian.cn99.com/debian-non-US testing-proposed-updates/non-US main contrib non-free

好了,现在回到chroot的那个终端,我们开始配置了,

#apt-get update   

#apt-get upgrade 

在运行这个命令后会出来如下一些画面,按照图中的设置回车就可

这里我们就按照默认的直接选OK回车就好

 

这里是选择语言,我们一般只要选en_US加zh_CN 2312/GBK就够了(选择和取消都是空格)

 

这里选一下GBK

这个管理光驱的东西我们先不要

下面我们来安装一下X

#apt-get install x-window-system-core

之后很多用apt安装的过程中都会出现下面这个问你yes or no的问题,统统回答Y就好了,

或者直接回车

之后的一般只要回车就好,默认的设置多数能让你的机器正常工作,除非你的机器太新了

 

这里默认是NO,你要选成OK来对XFree86进行设置

 

 

 

 

 

下面是选择键盘,回车就好,大家都用美式键盘吧

 

接着是配置鼠标

选psaux

带滚轮的选ImPS/2

用LCD的要选Yes的,我用CRT的所以就选NO

 

这里选Medium

选择显示器的最大工作范围

选择工作时的显示器分辨率,我用1024X768。记得把800X600的取消掉(按空格)

 

 

选择色深,就24了

OK,我们的X就这样安装好了,下面安装GNOME先,个人比较偏爱它

#apt-get install gnome

我们又要回答一些问题了,基本还是选择默认选项,直接回车就好

 

 

 

 

 

 

下面这个画面我忘了在哪里出现了,记得选standard就好了

再来安装一下字体

#apt-get install ttf-arphic-bkai00mp ttf-arphic-bsmi00lp xfonts-intl-chinese

用gedit编辑/mnt/sarge/etc/X11/Xsession.d/55gnome-session_gnome

在里面添加:

export LANG=zh_CN.GBK

export LC_ALL=zh_CN.GBK

安装一下输入法 fcitx
# apt-get -y install fcitx

用gedit新建/mnt/sarge/etc/X11/Xsession.d/25xchinput-start
在里面写入
export G_FILENAME_ENCODING=@GBK
export LANG=zh_CN.GB2312
export XMODIFIERS=@im=fcitx
fcitx

安装ALSA,

# apt-get -y install alsa aumix xmix

完成后它会要求你运行alsaconf对声卡进行配置,我们等一下到Debian里面再配置

安装一些日常用的软件

# apt-get -y install openoffice.org openoffice.org-help-zh-cn openoffice.org-l10n-zh-cn xpdf

xpdf-chinese-simplified gimp amule-utils xmms gaim

全部完成之后

#umount /proc   

#umount -a

# exit    

重启机器进入Debian Sarge

以root登陆,我们还有些事要做

#startx

GNOME2.8就呈现在你眼前了

运行网络-》ADSL连接

一路回车,当中有个地方让你填用户名和密码的,添上就好了

连上了网我们就完成一些收尾工作

先是配置ALSA

#alsaconf

一路回车,表犹豫,ALSA的识别能力还是可以的,当然保险点每个画面看了没错再回车也行

#mkdir /usr/X11R6/lib/X11/fonts/TrueType

把准备好的simsun字体放进去

把附件里的fonts.conf放到/etc/fonts里去,记得把原来的文件备份一下

#mv fonts.conf fonts.conf.back

#fc-cache -f -v

所有字体选simsun10号,要是你觉得还不爽,那就用下面这个办法,在这里我要感谢一下台湾的FireFly大哥,

下面用的这个东西就是他制作的

#wget http://debian.okey.net/other/debian/ttf-fireflysung_1.0.0-1_i386.deb

# dpkg -i ttf-fireflysung_1.0.0-1_i386.deb

用gedit新建文件/etc/fonts/local.conf (把以前那个备份一下)

添加内容见最下面回复
  
注销一下,再startx就好了

在/etc/apt/sources.list里添加一行(用gedit)

deb http://debian.okey.net/debian-uo/ sid java marillat rareware misc

在终端里运行

#apt-get update

#apt-get -y install mplayer-586 w32codecs   /*    -y  参数可以省略问你Y/N的那个环节

最后推荐大家再装一下KDE体验一下QT环境

# apt-get -y install menu  kde kde-i18n-zhcn konversation kaffeine kaffeine-mozilla  icewm rcconf mlterm showimg

装了那么多X环境当然还要个管理器,我比较喜欢GDM,再多装个vim吧

#apt-get -y install GDM vim

重启一下机器,再次进入Debian Sarge的时候就看到GDM了,GDM现在默认是不能以root登陆的,要选择配置GDM,激活让root登陆的选项才能用root登陆的,建议在桌面配置好之后用usradd添加普通用户登陆,一直用root登陆X不是一个很好的习惯,

当然安装软件的时候可以在终端里用su命令来获得root身份。

现在你的Debian Sarge已经很强了,可以完成绝大多数的桌面工作。

这是一篇Debian Sarge桌面 How to的第一篇,介绍最基本的安装和配置。之后我还会再写几篇进阶How to,

如果写的有什么不妥的地方请各位网友指正,谢谢

 

 


 

 

 


 

- 作者: ivanhero 2005年01月27日, 星期四 01:39  回复(3) |  引用(0) 加入博采