关于NetBSD
NetBSD计画是集合自愿参加者的努力成果,以产生出与UNIX同样免费可用和重新散布的作业系统。 NetBSD可执行在一系列广泛的硬体平台上,并具备高度的轻便性,它伴随着完整的来源原始码和来自全球各地使用者的技术及应用软体支援,请参见(表一)。
很多人常问道NetBSD与其它BSD系统间的差异性,笔者认为在这里并不能够适当去解释他们的目标和哲学的不同,就简单说明一下他们之间的差异性,如(表二)所示。
《表二 NetBSD,FreeBSD及OpenBSD之间的比较》 |
|
若一个计画没有目标是无意义的。很幸运的,NetBSD计画有足够的目标去实行,一般而言,NetBSD的计画如下:
●提供完整的设计,稳定和快速的SSD系统
●避免不必要的licenses
●提供一个可在许多硬体平台上执行的轻便系统
●能与其它的系统做良好的沟通
●能实际符合同样多的开放系统标准
总而言之,NetBSD提供了一个免费的和重新散布的系统,专家、玩家和研究员均能够以其所希望的方式去使用、发展它。
安装NetBSD
安装前的预备工作
在安装NetBSD之前,必须先知道您所使用的电脑的硬体资讯、网路相关方面的IP位置如Gateway、Domain Name与Host等,您必须先准备一片可开机的NetBSD 1.4光碟片,然后直接安装。
开始安装NetBSD
如(图一),进入主安装画面,在下列的说明中,有些画面只是问您是否确定要安装等的问题,一般都是选「YES」即可,在这不多加说明,请选择「a :」开始安装。
如(图二),确定您的硬碟在BIOS中的设定是否正确,请选「a:」到下一个设定。
如(图三),选择您要的安装方式,在这里选「a:」,用部分的partial,接下来再选择往后用来分割partition的单位,建议选用熟悉的MegaBbyte单位。
如(图四),开始编辑您的partition,其中「partition 0」是Win98的partition,我们选择「b:」,编辑新的partition。
如(图五),照您的需要修改大小,并且选「c:」设定它能开机。
如(图六),编辑完之后,选「exit」到下一画面设定多重开机,设定Win98和NetBSD的lable即可。
如(图七),选择安装的方式,选择「standard」标准模式安装。
如(图八),设定NetBSD Partition的Disklabel,若有需要再自行修改,选「b:」继续安装,之后会出现完整安装或自订安装的画面,我们选「a:」完整安装。
如(图九),选择安装的方式,请选「cdrom」方式,接着会开始安装所需套件。
安装完后回到主安装画面,选「e:Utility Menu」,进入(图十)步骤,选「Logging functions」进入该功能子画面,将「a:」、「b:」均设为「On 」后再重新开机,即可进入NetBSD的世界。
系统设定
由于NetBSD 1.41在安装时的网路相关设定在您重新开机(reboot)后并没有真正的写入,因此,您需要重新来设定、启动网路。首先开机完之后login in,以root的身份进入系统,切换目录到/etc,使用vi修改netstart和rc.conf这两个档案。下列设定系以笔者的机器为范例所设定,请视需要加以修改。
vi /etc/netstart,您在档案里面可找到如下资讯,请在底下加入该设定:
ifconfig lo0 inet 127.0.0.1 启动内部回路网路
ifconfig ne2 inet 192.192.73.48 启动网路
vi /etc/rc.conf,在里面加入三行有关网路的设定:
host="net28.ee.oit.edu.tw" 设定hostname
defaultroute="192.192.73.1" 设定gateway
domain name="ee.oit.edu.tw" 设定domain name
设定完以上两个档案并重新开机(reboot)之后即可启动网路,可ping看看来测试设定是否正确,若能连线出去,即表示基本的架构已完成,接下来便是一般的设定。
新增一个使用者
NetBSD在新增使用者上并不像其它UNIX'like的系统一样简单,在NetBSD上并没有提供adduser这类方便的指令来使用,而是采用传统的方式来建立使用者,以root身份执行vipw ,然后依照格式来建立,格式为,请参见(表三):
username:passwd:UID:GID:nouse:change:expire:UserInfo:home:shell
例如:user::100:100::0:0:UserInfo:/home/user:/bin/ch
建立使用者目录并将权限改为使用者:
mkdir /home/user ; chown user /home/user
建立使用者目录,并将所有权转为user
更改密码:passwd user
若没有设定使用者密码,使用者可随意登入,为了安全起见,一定要设。
删除一个使用者
当您要删除使用者的帐号时,您必须要删掉以下四个地方:
1.执行vipw将该使用者的密码栏删除。
2.将/var/mail/username删除。
3.将使用者的所在目录删除。
4.将/etc/group这个档案里所定的使用群组删除。
安装系统所需的套件
NetBSD在安装完之后,只是一个最简单的系统,并没有其它的功能存在,与Linux将大部分功能都安装完毕相较,在安全性上有很大的差别。因此,您需要视个别的需求下载合适的安装套件,我们可以到NetBSD总站(http://www.netbsd.org)下载,在这里可先下载「bash.tar」,下载完毕后,用FTP将bash.tar上传到usr这个帐号的目录之下(/home/usr),到/usr下建立pkg这个目录,这是NetBSD解完套件预设存放的路径(mkdir /usr/pkg ; cd /usr/pkg),将所下载的bash.tar copy到这个目录来(cp /home/usr/ bash.tar/ usr/pkg),接下来就是解压缩(tar xvfz bash.tar),您会在/usr/pkg/bin/下得到一个bash的执行档,然后再执行chsh,将shell路径改为/usr/pkg / bin/bash即可使用bash这个shell。
以上是介绍安装套件所需的步骤,其余的套件安装方法都大同小异。
使用者环境
shell:显示目前使用shell最简单的方式是使用echo指令询问系统之SHELL环境变数,例如:echo $SHELL
更换shell:执行chsh来修改为其他的shell。
在这里所采用的shell是bash,至于bash的取得方法,已在上面介绍过了。
改变提示符号:vi /etc/profile设定提示符号,加上下列这一行:
PS1='\h:\w\$'
修改完之后,重新登入,提示符号会显示出您的Host和路径。例如:net28:/etc#
伺服器范例
Mail Server架设
下载qpopper-2-53.tar和imap-uw-4-5.tar这两个档,将这两个档案拷贝到/usr/pkg/下,再执行tar予解压缩。
檔名,將解出來的檔案放置於一個檔內,再用less來查看某些重要的檔案放置於哪裡。"可用tar zxvf qpopper 2.53.tar 档名,将解出来的档案放置于一个档内,再用less来查看某些重要的档案放置于哪里。
修改inetd.conf这个档
vi /etc/inetd.conf,在里面加入下列两行:
pop3 stream tcp nowait root /usr/pkg/libexec/qpopper qpopper
imap3 stream tcp nowait root /usr/pkg/libexec/imapd imapd
设定alias
必须为root建立一个别名,执行vi /etc/aliases,在里面建立root: root,再执行newaliases,使其生效。
启动方式
启动方式有如下二种:
1.ps - ax,查出inetd的执行序号,再执行kill - HUP序号
2.重开机(reboot)
重新开机后,用Win98中的Outlook来测试收发信件。
Apache Server架设
下载apache-1.3-9.tar这个档,将该档案拷贝到/usr/pkg/下,再执行tar予解压缩。
檔名,將解出來的檔案放置於一個檔內,再用less,來查看某些重要的檔案放置於哪裡。"可用tar zxvf apache-1.3-9.tar 档名,将解出来的档案放置于一个档内,再用less,来查看某些重要的档案放置于哪里。
切换目录
切换目录到/usr/pkg/etc/httpd/下,执行:
mv httpd.conf.default httpd.conf
mv magic.default magic
mv mime.types.default mime.types
接下来设定server name,执行cd /etc ; vi hosts增加自己的IP及DNS 192.192.73.48 net28.ee.oit. edu.tw,再切换目录到/var/log下,执行mkdir httpd,以产生可让Apache存放讯息的目录。
启动与停止执行httpd
切换目录到/usr/pkg/sbin下,执行./apachectl start,启动server。
若要让系统开机时自动执行httpd,我们必须在/etc/rc.local后加上/usr/pkg/sbin/apachectl start这行指令。 rc.local是在NetBSD开机程序中最后被执行的一个档案,相当于MS-DOS中的批次档。之后,执行ps -ax查看一下httpd目前是否已经在执行。
(网际先锋2000.4月号71期)