安装 FreeBSD 系统

安装 FreeBSD 系统
2004年8月12日

这篇文章早就该写的了,我每次安装都看这帖看那贴的,这次把整个过程写下来,一来以防遗忘,二来可以和大家分享,一起切磋切磋,错处请大侠指点一两.

如果你只有一台机子,Freebsd 是不能完全代替 windows D,
先安装好 windows ,用 FTP 软件上 ftp.freebsd.org 上下载个 .iso 文件.现在最新版是5.2.X,可以下载个4.10发行版.把这个 iso 文件刻进光盘里.我觉得奇怪,我在一些论坛上还看到有人问刻好后不能启动,或启动到 DOS 下,他们定是把这个 ISO 文件当成平常文件来刻了.上网下载 “FreeBSD Handbook”,它是新手必读物,如果有健忘症,最好把那几页安装的打印出来.
安装 FreeBSD 系统
2004年8月12日

这篇文章早就该写的了,我每次安装都看这帖看那贴的,这次把整个过程写下来,一来以防遗忘,二来可以和大家分享,一起切磋切磋,错处请大侠指点一两.

如果你只有一台机子,Freebsd 是不能完全代替 windows D,
先安装好 windows ,用 FTP 软件上 ftp.freebsd.org 上下载个 .iso 文件.现在最新版是5.2.X,可以下载个4.10发行版.把这个 iso 文件刻进光盘里.我觉得奇怪,我在一些论坛上还看到有人问刻好后不能启动,或启动到 DOS 下,他们定是把这个 ISO 文件当成平常文件来刻了.上网下载 “FreeBSD Handbook”,它是新手必读物,如果有健忘症,最好把那几页安装的打印出来.
在 windows 下把机器的配置型号记下,比如网卡型号,主板型号,RIAD,SISC卡的型号等,很大可能这些记录以后用不到.
好了,重启,设置电脑光驱启动,对照 Handbook 安装,新手要做好心理准备,肯定不是一次两次的,高手把 Freebsd 装进电脑是很容易很快D,我一般是最小安装,安装过程中选择安装 cvsup 包和安装 /usr/ports 和 /usr/src/sys 目录.安装过程中最好把每个用户名和对应密码写在一个本了上,像我安装我的这台机子,系统用户加上数据用户加上论坛用户加上其它管理软件用户,多达十多个用户名与密码.@_@会头晕的.
OK,装好后重启,第一步修改/etc/resolv.conf文件.

vi /etc/resolv.conf

这是一个记录 DNS 的文件,现在我们一般都有两个 DNS ,格式如下:

domain org
nameserver XXX.XXX.XXX.XXX
nameserver XXX.XXX.XXX.XXX

第二步修改 /etc/rc.conf

vi /etc/rc.conf

查看是否有这一项:

kern_securelevel=”X”;
kern_securelevel_enable=”YES”

有的话把它的值X改为 -1 ;它是一个设置安全度的项.2是最高,-1是无.如果你的电脑要安装桌面的话,要改成如下:

# kern_securelevel=”X”;
kern_securelevel_enable=”NO”,

前加个#号,表示注释掉这一行.

OK,执行重启命令:

reboot

以root用户登陆,现在要做的就是升级了,一般我们升级两个:源代码和ports树.
如果想把源代码升级到指定版,可编辑文件:
vi /usr/share/examples/cvsup/stable-supfile
找到这一行 tag=RELENG_4 这个4表示升级到4.X,可改成5或3.
这一步加上编译源代码,时间要花上几小时.我们可做一个批处理文件:

vi cvsup #建立一个名为cvsup的文件,按i进入编辑状态,输入内容如下:
cd /usr/src
cvsup -gL 2 -h cvsup.cn.freebsd.org /usr/share/examples/cvsup/ports-supfile
cvsup -gL 2 -h cvsup.cn.freebsd.org /usr/share/examples/cvsup/stable-supfile
make buildworld #这四行表示编译源代码
make buildkernel
make installkernel
make installworld

按esc退出编辑状态,输入
:wq
退出 vi 编辑器,执行 chmod u+x cvsup ,给cvsup文件加上可执行属性.好了,执行它
./cvsup # 执行一个文件是加上 ./
这时可以去泡杯茶抽根烟聊聊天…….

完成后执行命令:

mergemaster -cv #更新/etc里的文件,看到有出现代码的输入i回车,表示安装最新.直到提示:

Do you wish to delete what is left of /var/tmp/tmproot? –> yes #删除

执行:

cap_mkdb /etc/login.conf #重建用户数据库

reboot #重启

用 root 登陆,执行:

cd /usr/src
make clean cleandir #清除编译留下的临时文件

这时可执行
uname -a
查看版本了

再来做一些事让系统更安装:
首先:
设置单用户模式启动需要密码验证

为了避免偶然的非法访问控制台造成的安全问题,所需要设置的第一件任务就是取消控制台的信任设置,这个设置位于/etc/ttys中。

su-2.05# cat /etc/ttys
———————snip———————-
29 # If console is marked “insecure”, then init will ask for the root password
30 # when going to single-user mode.
31 console none unknown off secure <--------这行
32 #
33 ttyv0 “/usr/libexec/getty Pc” cons25 on secure
34 # Virtual terminals
35 ttyv1 “/usr/libexec/getty Pc” cons25 on secure
36 ttyv2 “/usr/libexec/getty Pc” cons25 on secure

———————snip———————-

在这里我们需要把上面所指的第31行:
console none unknown off secure
改成
console none unknown off insecure

初始设置为secure表示系统重新启动之后,如果管理员要求进入单用户状态,将不询问root的口令进行验证,这是一个重要的安全漏洞。将secure更改为insecure可以使得进入单用户状态时首先验证root口令。当然它也有可能带来一定的问题,就是:一旦系统损坏了passwd文件(主要是 master.passwd文件),root口令无法认证,就没有办法进入单用户状态进行修复工作。解决方法是需要使用安装盘启动fixit 系统进行才能进行修正。

第二
锁定系统

这会给想 crack你系统的人一点小挫折。不过 /sbin 可能被改成别的名字,再重新创造一份新的 /sbin ,所以改变 /sbin 与
/bin 的 schg flag 是很合理的想法,我们可以依照以下的方式改变 /sbin 和 /bin
的 schg flag:

# chflags schg /bin/*
# chflags schg /sbin/*

这些 schg flag 的档案会让你在 “make world” 时有问题。
(”make installworld” 也是)

第三
cd /var/log
chmod g-w,o-r * ; chmod a+r wtmp

这会防止一般使用者读取纪录档, 除非它们在适当的 group (wheel 或之类的)。