发信人: con() 
整理人: hahalee(1999-02-19 06:25:40), 站内信件
 | 
 
 
内容
      1. 配置你的.cshrc文件     2. 设置更多的虚拟控制台(Virtual Terminals)     3. 增加一个硬盘     4. 系统配置文件选项     5. 添加和安装软件     6. 怎样安装Linux模拟器
  1. 配置你的.cshrc文件
    这是系统自带的.cshrc文件.
          #csh .cshrc file
       alias h         history 25      alias j         jobs -l      alias la        ls -a      alias lf        ls -FA      alias ll        ls -lA      alias su        su -m
       setenv  EDITOR  vi      setenv  EXINIT  'set autoindent'      setenv  PAGER   more
       set path = (~/bin /bin /usr/{bin,games} /usr/local/bin /usr/X11R6/bin)
       if ($?prompt) then              # An interactive shell -- set some stuff up              set filec              set history = 1000              set ignoreeof              set mail = (/var/mail/$USER)              set mch = `hostname -s`              set prompt = "${mch:q}: {\!} "              umask 2      endif
    path语句告诉你的shell哪里能找到你要执行的程序. 它从列出的第一个目录 开始寻找与你输入的命令相匹配的文件. 如果找到就开始执行那个程序.
    它不会在没有列出的目录里寻找可执行文件. 哪怕就在你的当前目录下. 所以 如果你的当前目录没在path的列表里, 即使你要执行的文件就在这里也不能被找 到.
    如果要执行当前目录下的文件, 你得在命令前面加一个"./" . 例如, 你在 /usr/local/www/cgi-bin/目录里要测试一个编好的程序. 它名叫getdata.pl, 你输入getdata.pl, 然而并没有你期待的HTML输出, 你只是得到了一条错误信 息, getdata.pl: Command not found. 这是因为你的path语句里没有包含"." 目录. 要想这个文件被执行你得输入:
  ./getdata.pl
    现在你会看到期待的HTML. 除非你编的程序有误, 输出的是你所用的编程语言 的错误信息.
  一个 TCSH 的例子
    就象前面提及的, tcsh在csh的基础上增加了很多特性使得命令行界面更加易用. 这是一个能够体现出tcsh优越性的.cshrc文件的例子:
 
       #tcsh .tcshrc file
       alias h         history 25      alias j         jobs -l      alias la        ls -a      alias lf        ls -FA      alias ll        ls -lF      #alias su       su -m  -- bad for su'ing to root..
       setenv  EDITOR  vim      setenv  PAGER   less
       set path = ( ~/bin /usr/local/bin /bin /usr/{bin,games} /usr/sbin /sbin /usr/local/samba/bin /usr/X11R6/bin /usr/local/java/bin .)
       setenv IRCNICK ringzero      setenv IRCSERVER irc2.magic.ca      setenv NNTPSERVER news.sentex.ca
       if ($?prompt) then              # An interactive shell -- set some stuff up              set filec              set fignore = .o                # ignore object files for filec              set showmatch                   # for programming              set history = 100               set savehist = 75               # tcsh version of history..              set ignoreeof              set mail = (/var/mail/$USER)              set prompt="vinyl:{%h}%~ %% "   # tcsh version of above!
               set watch = (1 gabor any mike any adrian any pwardrop any)
               umask 2      endif
    第一点值得注意的是有关setenv的行. 在这个例子里, 它们设置了使用新的阅读 软件和irc客户端软件的环境变量. 另一个感兴趣的地方是set fignore = .o , 它 使得file completion(set filec)(译者注: 我对tcsh不太熟悉,我猜想这里的file completion 是指类似bash的命令补齐的东西,但又不敢确定,所以照搬下来了)忽略 结尾是".o"的文件. 如果你是一个C程序员的话这很有用, 因为你要编辑的是一个 ".c"文件而不是".o"文件. set showmatch 是 tcsh 特有的另一个file completion 机制. 至于它的用途, 自己试试吧! set prompt 选项为你的shell设置了一个很 友好的提示符. 它会在任何时候显示你的当前目录. 看起来会象这样:
       mark:{123}~ % cd /usr/src      mark:{124}/usr/src %
    注意波浪号表示你的home目录. 现在你已经知道了很多tsch和csh选项了, 如果想 知道更多,最好的方法是man tcsh! 所有两种shells的特征(比如tcsh的"watch"特征) 都在man page里. 自己去体验一下你所喜欢的那些窍门吧!
          注意:
          如果你更改了你的.cshrc文件, 你可以用source .cshrc来使你的         变动立即生效!
  2. 设置更多的虚拟控制台(Virtual Terminals)
    (译者注: 想来想去还是决定把Virtual Terminals译为虚拟控制台,    因为记得有人把Pseudo terminals称作虚拟终端的)
    一个虚拟控制台是一个内建在服务器主控制台上的终端. 它使你能同时打开好 几个屏幕, 当然一次只能看到一个. 缺省情况下设置了4个虚拟终端, 但只有3个 能用.按ALT加F2或F3(F1是一开始的那个)可以切换到第二或第三个虚拟控制台.  现在你会在屏幕上看到登录画面, 这和第一个虚拟控制台看起来没有什么不同.  按ALT加F1回到原来的屏幕.
    要增加虚拟控制台, 你必须以超级用户身份访问/dev目录. 然后运行MAKEDEV 程序. MAKEDEV是一个shell脚本, 所以你得用sh shell解释器来执行它. 在提示符 下输入:
  cd /dev
  sh MAKEDEV vty 16
          注意:
          (全部用大写输入MAKEDEV, 大小写有本质的区别)
    这将建立16个虚拟控制台. 它们可以用ALT+F?来访问. (译者注: 但是F键只有12个) 但是在你能使用它们之前你还要在/etc/ttys文件里激活它们. 去到/etc/目录里然后 用vi来编辑/etc/ttys文件.
  cd /etc
  vi ttys
  # # $Id: ttys,v 1.2 1998/09/02 01:34:57 brian Exp $ # @(#)ttys  5.1 (Berkeley) 4/17/89 # # name  gettytype  status    comments # # This entry needed for asking password when init goes to single-user mode # If you want to be asked for password, change "secure" to "insecure" here console noneunknown off secure # ttyv0 "/usr/libexec/getty Pc"   cons25  on  secure # Virtual terminals ttyv1 "/usr/libexec/getty Pc"   cons25  on  secure ttyv2 "/usr/libexec/getty Pc"   cons25  on  secure #ttyv3  "/usr/X11R6/bin/xdm -nodaemon"  xterm off secure ttyv3 "/usr/libexec/getty Pc"   cons25  on  secure ttyv4 "/usr/libexec/getty Pc"   cons25  on  secure ttyv5 "/usr/libexec/getty Pc"   cons25  on  secure ttyv6 "/usr/X11R6/bin/xdm -nodaemon"  xterm off secure # Serial terminals # The 'dialup' keyword identifies dialin lines to login, fingerd etc. ttyd0 "/usr/libexec/getty std.9600" dialup  off secure ttyd1 "/usr/libexec/getty std.9600" dialup  off secure ttyd2 "/usr/libexec/getty std.9600" dialup  off secure ttyd3 "/usr/libexec/getty std.9600" dialup  off secure # Pseudo terminals ttyp0 none      network   secure ttyp1 none      network   secure ttyp2 none      network   secure ttyp3 none      network (译者注: 原文里是一个图, 所以用我的/etc/ttys文件来代替)
    如果你运行X window, 必须保留一个关掉的虚拟控制台. 缺省情况下, ttyv4 是关闭的.
    你要在标着Virtual Terminals的部分添加几行. 如果你制造了16个虚拟 控制台设备, 那么你现在有16个虚拟控制台要配置. 也就是说在/etc/ttys 文件里要有16行有关虚拟控制台的内容; 现在还只有4行. 你可以通过拷贝 粘贴这些行来完成:
  ttyv2 "/usr/libexec/getty Pc" cons25 on secure
    把光标移到这行后按yy然后按j使光标下移再按12p来使这行被粘贴12次.现在 你有了ttyv2的12份拷贝, 你得把它们改为二进制数字. 从4开始,然后是5,6, 7,8,9,a,b,c,d,e,f.
    完成后你就在/etc/ttys里配好了从ttyv1 - ttyvf的虚拟控制台.
    在vi里你能用简单的方法来完成替换,把光标移到你要改变的数字上按r键再 输入要替换成的数字,然后按j使光标下移再重复前面的工作.
    结束编辑后按ZZ退出vi. 现在要重起init进程. 以超级用户身份输入: kill -HUP 1
    现在你的虚拟控制台已经随时待命了.
  3. 增加一个硬盘
    先要从物理上安装硬盘. 保证电缆已经接好, 从第一针到电源插头.(注意, 数据线上的红带要与电源线相邻). 再确保有电供给驱动器.
    然后重新启动FreeBSD,FreeBSD在启动的时候会检测出这个驱动器. 如果没有 的话用"-c"参数reboot. 在启动提示符下进入visual config使合适的控制器被 激活. 最可能的情况是你使用的核心是自己建立的并且附加的IDE驱动器以被核 心禁止,或者在一个SCSI被核心禁止的系统上添加第一个SCSI驱动器. 如果控制 器只是被核心*禁用*而不是删除, 只须在visual config里把它激活就行了. 否 则你必须重建核心以加入适当的控制器和驱动.
    如果你错过了启动时的信息, 登录后在提示符下敲dmesg. 这将重现你的启动 信息.
  /usr/> dmesg | more
    如果安装的是SCSI驱动器, 要确保驱动器已被SCSI BIOS找到并且用了适当的 SCSI termination.
    一旦所有东西都被找到, 就可以开始FreeBSD下的配置了.
  ******************************************************************
    要做的第一件事就是清扫干净磁盘上原有的任何东西. 很多硬盘驱动器厂商已 把新的驱动器分好区并且已格式化成DOS FAT文件系统. 在余下的部分, 我们假 设找到的硬盘驱动器是sd1, 也就是电缆上的第二个SCSI驱动器(用SCSI ID 1). 下面是如何清除FAT垃圾:
  dd if=/dev/zero of=/dev/rsd1 count=100
    然后要为驱动器准备一个"disk label". 假设你计划整个硬盘都在FreeBSD下 使用:
  disklabel -Brw sd1 auto
    *把rsd1和sd1替换成你添加的硬盘,不要在一个正在使用的磁盘上进行这些操作. 这将清除磁盘上的每样东西, 为FreeBSD能使用它做好准备. 一切顺利的话将不需要 使用fdisk.
    如果你计划在FreeBSD下把整个硬盘分成一个区, 那么用刚才 disklabel 建立的 缺省的单一分区就行了, 否则的话你要用disklabel编辑器来创建更小的分区.你也 许需要在磁盘上增加一个交换分区, 例如.
    编辑第一个IDE盘的disklabel:
  disklabel -e wd0
  # /dev/rwd0c: type: ESDI disk: wd0s1      label:  flags: bytes/sector: 512 sectors/track: 51 tracks/cylinder: 13 sectors/cylinder: 663 cylinders: 722 sectors/unit: 479298 rpm: 3600 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0           # milliseconds track-to-track seek: 0  # milliseconds drivedata: 0 
  8 partitions: #        size   offset    fstype   [fsize bsize bps/cpg]  a:    65536        0    4.2BSD        0     0     0   # (Cyl.    0 - 98*)  b:    85936    65536      swap                        # (Cyl.   98*- 228*)  c:   479298        0    unused        0     0         # (Cyl.    0 - 722*)  e:    61440   151472    4.2BSD        0     0     0   # (Cyl.  228*- 321*)  f:   266386   212912    4.2BSD        0     0     0   # (Cyl.  321*- 722*)
 
    这部分需要动动脑筋,以使那些数字正确. 给一个分区分配容量,较容易的方法是 给你要分配的分区一个通过计算得出的柱面(cylinders)数. size 是分区的扇区数 目. offset 是前一个分区的最后一个扇区. 分区 a 从扇区0开始. 分区必须在你 所分配给分区的柱面的范围内开始和结束. 计算分区大小的方法是, tracks/cylinder (每柱面的磁道数)乘以sectors/cylinder(每柱面的扇区数)再乘以你分配给分区的 柱面数.(扇区数*磁道数*柱面数=分区大小) 计算offset的方法是, 上个分区的大 小加上个分区的offset.(Size+Offset=下个分区的Offset)
    fstype是你在分区上使用的文件系统的类型. FreeBSD通常使用的文件系统是 4.2BSD. swap是交换文件使用的文件系统. FAT是DOS分区使用的文件系统.分区a 为启动扇区保留,它为空表示不需要启动扇区.
    分区 b 保留作交换文件. 它不能从offset 0开始. 它的前面必须要有一个分 区. 分区 e 可以从offset 0 开始并且可以是任意大小, 所以交换分区可以放在 分区 e 的后面.
    分区 c 不会被改变. 要从分区c开始制造你的文件系统.
    现在要用newfs命令在磁盘创建一个文件系统. 如果你使用的是整个磁盘, 可以 用disklabel 自动建立的c分区.
  newfs /dev/rsd1c
    c分区总是整个驱动器 - 所以这种情况下你建立的文件系统也就包括了整个磁盘.
    如果你把磁盘分的更小, 你必须在每个分区上使用newfs来建立文件系统,交换分 区除外.
    最后,你需要mount驱动器. 在这里我们假设你已用mkdir创建了"mount point" /d2 .
  mount /dev/sd1c /d2
    顺利的话, 你可以看到象这样的东西:
       #vinyl % df -k
       Filesystem  1K-blocks     Used    Avail Capacity  Mounted on      /dev/sd0a       31775    13530    15703    46%    /      /dev/sd0s1f   1913091  1086207   673837    62%    /usr      /dev/sd0s1e     29727    12663    14686    46%    /var      procfs              4        4        0   100%    /proc      /dev/sd1c     4108717   616594  3163426    16%    /d2
    现在你要在/etc/fstab文件里创建一个条目以使它在每次启动时都被mount. 否则你每次都要手工执行mount. 你要为创建的每个分区建立fstab条目,包括 交换分区.
    此外可以在man page里参考: fstab mount disklabel dmesg dd 和 newfs 
 
  4. 系统配置文件选项
      4.1 重要的启动时初始化选项     4.2 网络配置子项     4.3 (其他)网络daemon & NFS选项     4.4 网络时间服务选项     4.5 网络信息服务(NIS)选项     4.6 网络路由选项     4.7 系统控制台选项     4.8 其他管理选项     4.9 Allow local configuration override at the very end here
      注意:
      所有参数都必须括在单引号或双引号里. 多个条目间用空格格开
  4.1 重要的启动时初始化选项
  swapfile="NO" 
       # 设定交换文件的名字,如果希望使用辅助交换文件的话.      # Set to name of swapfile if aux swapfile desired.
  apm_enable="NO" 
       如果希望激活APM(高级电源管理)设为YES
  pccard_enable="NO" 
       要配置PCCARD设备的话设为YES.
  pccard_mem="DEFAULT" 
       如果ccard_enable=YES, 这是卡的内存地址.
  pccard_ifconfig="NO" 
       以太网pccard的特殊配置(否则 NO).
  local_startup="/usr/local/etc/rc.d /usr/X11R6/etc/rc.d" 
       本地启动目录.在启动期间,FreeBSD会搜索某些目录,并执行里面的任何      程序.有些象Windows里的"启动"文件夹.local_startup选项让你指定那      些目录在启动期间会被搜索.可以列多个目录,中间用空格格开.它们将按      顺序被搜索,每个文件都会被执行.这是除/etc/rc.local外另一个启动程      序的方法.
 
  4.2. 网络配置子项
  基本网络选项: 
  hostname="myname.my.domain" 
       这是你的主机名. 如果你连在Internet上的话还要包括域名.这个名字      也会出现在你的DNS表里.
  nisdomainname="NO" 
       设定 NIS 域 如果使用 NIS (否则 NO).
  firewall="NO" 
       防火墙类型 (参见 /etc/rc.firewall) 否则 NO.
  tcp_extensions="YES" 
       # 允许 RFC1323 & RFC1544 扩展 (否则 NO).
  network_interfaces="lo0" 
       这是你配置你的所有网卡的地方.每块网卡都要有一项.lo0      是环路(loopback)设备也称作"localhost".网卡,比如ed0      (NE2000)和fxp0(Intel Ether Express)在上面加入.
  ifconfig_lo0="inet 127.0.0.1" 
       在这里配置你上面列出的每块网卡.
  ifconfig_lo0_alias0="inet 127.0.0.254 netmask 0xffffffff" 
       通过lo0为localhost设置一个别名.
  4.3. (其他)网络daemon & NFS选项:
  syslogd_enable="YES" 
       Syslog 是你的登录服务.它把所有的错误记录在/var/log/.它用      /etc/syslog.conf来配置. 
  syslogd_flags="" 
       # syslogd 的命令参数 (如果被允许).
  inetd_enable="YES" 
       这是你所有的网络服务. 如果它被禁止你将不能telnet到这台计算机      上. 它通过/etc/inetd.conf来配置. 它管理着所有动态服务, 也就是      说在需要时才会被启动的服务, 比如: finger, telnet,rlogin, ftp,      pop3 等等...
  inetd_flags="" 
       # inetd 的参数.
  named_enable="NO" 
       这将运行你的Internet域名服务, 或者说, BIND. 如果你已经有了一个      DNS你就不必把它打开了.它通过 /etc/namedb/named.boot来配置, 除非      你专门指定了另一个. 你将会有至少两个DNS servers.
  named_flags="-b /etc/namedb/named.boot" 
       这是你指定给named的配置文件.
  kerberos_server_enable="NO" 
       # 运行一个kerberos主服务程序 (否则 NO).      # Run a kerberos master server(or NO).
  rwhod_enable="NO" 
       # 运行 rwho daemon (否则 NO).
  amd_enable="NO" 
       # 以$amd_flags运行amd服务. (否则 NO).
  amd_flags="-a /net -c 1800 -k i386 -d my.domain -l syslog /host /etc/amd.map" 
       例子
  nfs_client_enable="NO" 
       # 这台主机是一台 NFS 客户机 (否则 NO).
  nfs_client_flags="-n 4" 
       # nfsiod 的参数 (如果被允许).
  nfs_server_enable="NO" 
       # 这台主机是一台 NFS 服务器 (否则 NO).
  nfs_server_flags="-u -t 4" 
       # nfsd 的参数 (如果被允许).
  weak_mountd_authentication="NO" 
       # 运行 PCNFSD / 其他 non-root nfsd (否则 NO).
  nfs_reserved_port_only="NO" 
       # 仅在安全端口上提供NFS (否则 NO).
  rpc_lockd_enable="NO" 
       # 运行 NFS rpc.lockd (*broken!*) 如果 nfs_server.
  rpc_statd_enable="YES" 
       # 运行 NFS rpc.statd 如果 nfs_server (or NO).
  portmap_enable="YES" 
       # 运行 portmapper 服务 (否则 NO).
  portmap_flags="" 
       # portmap 的参数(如果被允许).
  xtend_enable="NO" 
       # 运行 X-10 电源控制器 daemon.
  xtend_flags="" 
       # xtend 的参数(如果被允许).
  4.4. 网络时间服务选项: 
  timed_enable="NO" 
       运行时间 daemon (否则 NO).
  timed_flags="" 
       timed 的参数(如果被允许).
  ntpdate_enable="NO" 
       运行ntpdate 使时间同步 (or NO).
  ntpdate_flags="" 
       ntpdate 的参数(如果被允许).
  xntpd_enable="NO" 
       允许 xntpd 网络时间协议 (否则 NO).
  xntpd_flags="" 
       xntpd 的参数(如果被允许).
  tickadj_enable="NO" 
       运行 tickadj (否则 NO).
  tickadj_flags="-Aq" 
       tickadj 的参数(如果被允许).
  4.5. 网络信息服务(NIS)选项:
  nis_client_enable="NO" 
       我们是一台NIS客户机 (否则 NO).
  nis_client_flags="" 
       ypbind 的参数 (如果被允许).
  nis_ypset_enable="NO" 
       在启动时运行ypset (否则 NO).
  nis_ypset_flags="" 
       ypset 的参数(如果被允许).
  nis_server_enable="NO" 
       这是一台NIS服务器 (否则 NO).
  nis_server_flags="" 
       ypserv 的参数(如果被允许).
  nis_ypxfrd_enable="NO" 
       启动时运行rpc.ypxfrd(否则 NO).
  nis_ypxfrd_flags="" 
       rpc.ypxfrd 的参数(如果被允许).
  nis_yppasswdd_enable="NO" 
       启动时运行rpc.yppasswdd(否则 NO).
  nis_yppasswdd_flags="" 
       rpc.yppasswdd 的参数(如果被允许).
  4.6. 网络路由选项: 
  defaultrouter="NO" 
       这里设置你的缺省网关.这是你连接Internet的路由器的IP地址.如果      你没有设置这项,你将仅能ping通同一子网内的地址.如果你的IP地址      是10.1.1.3,子网掩码是255.255.255.0,你将能看到10.1.1.2而不能      看到10.1.2.2,因为没有设置缺省的路由.
  static_routes="" 
       静态路由是作为路由器位于两个不同网络间的机器的高级选项. 
  gateway_enable="NO" 
       如果你的机器要当作网关的话设成YES.如果你机器上有不只一块网卡并      把它们用作路由,网桥,ipnat或者当作拨号服务器时设定为YES.
  router_enable="YES" 
       设置为 YES 以允许一个路由daemon.
  router="routed" 
       如果被允许,这是路由daemon的名字.
  router_flags="-q" 
       路由daemon的参数.
  mrouted_enable="NO" 
       作 multicast routing (参见 /etc/mrouted.conf).
  ipxgateway_enable="NO" 
       设成 YES 以允许 IPX 路由.
  ipxrouted_enable="NO" 
       设成 YES 以运行 IPX 路由 daemon.
  ipxrouted_flags="" 
       IPX 路由 daemon的参数.
  arpproxy_all="" 
       替换已废除的核心选项 ARP_PROXY_ALL. 当作拨号服务器时需要.
  4.7. 系统控制台选项 
  keymap="NO" 
       /usr/share/syscons/keymaps/* 里的keymap (否则 NO).
  keyrate="NO" 
       设键盘速率为: slow, normal, fast (否则 NO).
  keybell="NO" 
       bell to duration.pitch or normal or visual (or NO).
  keychange="NO" 
       功能键的缺省值 (否则 NO).
  cursor="NO" 
       光标类型 {normal|blink|destructive} (否则 NO).
  scrnmap="NO" 
       /usr/share/syscons/scrnmaps/* 里的屏幕映射(否则 NO).
  font8x16="NO" 
       /usr/share/syscons/fonts/* 里的8x16字体(否则 NO).
  font8x14="NO" 
       /usr/share/syscons/fonts/* 里的8x16字体(否则 NO).
  font8x8="NO" 
       /usr/share/syscons/fonts/* 里的8x8字体(否则 NO).
  blanktime="NO" 
       blank time (in seconds) or "NO" to turn it off.
  saver="NO" 
       屏幕保护: blank/daemon/green/snake/star/NO. 当你没有X运行时      这里设置屏幕保护.
  moused_type="NO" 
       rc.conf(8) 的man page 里列出了可用的选项.
  moused_port="/dev/cuaa0" 
       设置你的鼠标端口 (必须,mousetype 被设置).
  moused_flags="" 
       moused 的附加参数.
  4.8. 其他管理选项 
  cron_enable="YES" 
       运行周期作业的daemon. Cron 是调度事件发生的 "daemon". 以一定的周期      运行三个标准脚本文件: /etc/daily /etc/weekly 和 /etc/montly.      你可以通过配置它们来完成要做的事
  lpd_enable="YES" 
       运行排队打印机 daemon. 你需要这个来使用打印机. 它通过/etc/printcap      配置.
  lpd_flags="" 
       lpd 的参数(如果被允许).
  sendmail_enable="YES" 
       运行 sendmail daemon (否则 NO). 你需要这个来获得e-mail服务除非你换成      了其他邮件daemon. 它通过/etc/sendmail.cf来配置.
  sendmail_flags="-bd -q30m" 
       -bd is pretty mandatory.
  savecore_enable="NO" 
       核心crash时转储内存的映像 (否则 NO).
  dumpdev="NO" 
       Device name to crashdump to (if enabled).
  check_quotas="NO" 
       检查磁盘限额 (否则 NO).
  accounting_enable="NO" 
       打开进程记帐 (否则 NO).
  ibcs2_enable="NO" 
       启动时装入Ibcs2 (SCO) 模拟器 (否则 NO).
  linux_enable="NO" 
       启动时装入Linux 模拟器 (or NO). 参见设置Linux模拟器部分.
  rand_irqs="NO" 
       Stir the entropy pool (like "5 11" or NO).
  4.9.   Allow local configuration override at the very end here 
       if [ -f /etc/rc.conf.local ]; then              . /etc/rc.conf.local      fi
 
  5. 添加和安装软件
    在FreeBSD下添加/安装软件很容易.FreeBSD维护着一套"packages",它包含了几乎 所有流行软件的已预先建立好并马上可以运行的二进制文件. 如果你有一套CD, 它们 全在#1盘上,你能直接浏览(有个叫packages的目录..), 或者用"/stand/sysinstall" 工具,到Post Configuration,然后选择Packages. 将出现一个分类列出所有packages 并带有简短描述的屏幕.
    通常,你需要ftp到ftp.freebsd.org以取得一个package的最新版本 -  ftp://ftp.freebsd.org/pub/FreeBSD/packages-stable 是你要注意的地方.如果你 下载了一个package,它会以 .tgz结尾.你不必人工的untar/展开它. 只须用命令 "pkg_add".
    例如: 我下载了一个叫 spaz-1.32.tgz 的package
              1. su to root (你需要成为root 来安装 packages)
       2. pkg_add spaz-1.32.tgz 
    就是这样!现在这个package已在你系统上被安装和设置. 如果你用csh或tcsh,你得 用rehash来让你的shell重新扫描系统里的 bin 目录...
    这个package已被登记到/var/db/pkg目录里 - 你能 cd 到那里取得一个目录列表 来看看你系统上安装了哪些packages. 如果你不再需要一个package,你能用 pkg_delete命令来删除它: pkg_delete spaz-1.32.tgz (从/var/db/pkb目录)
    FreeBSD的ports系统的工作也一样, 使用port登记使删除以后不再需要的东西变得 很容易. 不同点是ports使用的是"源程序",需要被编译.如果你有一个Internet连接, 并且安装了ports tree(在安装FreeBSD时会询问你是否需要)可以 cd 到/usr/ports 里看看.
    假设你要在/usr/ports/net/spaz目录里安装port:
        1. su root
        2. cd /usr/ports/net/spaz         3. make              注意:
        这里make实际在为你下载port!
        4. make install (如果前面的make成功的话,现在将把你的劳动果实安装到       系统的 bin/lib 目录,随时供你使用)
        5. make clean (如果你想清除编译时产生的目标文件以节省空间的话)
    再说一遍,在/var/db/pkg里使用pkg_delete删除已安装的ports.
 
  6. 怎样安装Linux模拟器
    Linux模拟器允许你在你的FreeBSD系统上运行Linux的二进制文件.实际上它工作 的很好.这是运行这个模拟器的两种方法:
      * 编译到核心里
      * 当作一个可装载的核心模块(lkm)
    不管用哪种方法, 你都必须先从ports collection里安装Linux库.
  cd /usr/ports/emulators/linux_lib
  make install
    这将把所有的Linux库安装到/usr/compat. 还将安装脚本/usr/bin/linux,它在 需要Linux模拟器的时候装入可装载的核心模块.
    如果你希望用lkm来运行Linux模拟器, 你所有要做的就是在/etc/rc.conf里修改 下面这行.
      linux_enable="YES"      # Linux emulation loaded at startup (or NO). 
    它将在启动时激活Linux模拟器. 如果要在不重新启动的情况下开始Linux模拟器, 只需输入 linux.(需要root身份)
    如果不用lkm,你需要在核心配置文件里包括下面一行,然后重建核心
        options         COMPAT_LINUX 
    Linux模拟器将总是被允许.而不必修改你的rc.conf文件. -- ※ 修改:.con 于 Feb 19 02:13:57 修改本文.[FROM: 203.208.6.130] ※ 来源:.网易 BBS bbs.netease.com.[FROM: 203.208.6.169]
  | 
 
 
 |