通过PXE安装FreeBSD系统

目标

在已有一台运行 FreeBSD 的计算机(我们称其为 S)的情况下,使用 PXE 在一台计算机(我们称其为 D)安装 FreeBSD。

硬件需求

S 必须拥有一块 FreeBSD 可以正常使用的网卡。
D 必须可以支持 PXE 引导,并且其网卡要可以在 FreeBSD 里面正常使用。 一条用于双机直连的网线。

软件需求

tftpd,已经包含在 FreeBSD 发行版的 base 中。
nfsserver,已经包含在 FreeBSD 中。
isc-dhcp3-server 3.0.5,通过 ports 安装。
FreeBSD 发行版 DISC1 的 ISO 镜像(我使用的镜像是 FreeBSD 8-CURRENT 今年一月的快照,8.0-CURRENT-200801-amd64-disc1.iso)。

S 上使用的 FreeBSD 是 7.0-BETA2-i386。

网络设置

假设 S 的 IP 地址为 192.168.0.1,子网掩码为 255.255.255.0。

准备工作

允许 tftpd 运行

默认情况下,inetd 里面的 tftpd 是不会运行的。在 inetd.conf 中找到 tftpd 所对应的一行,去掉行首的#,保存。注意,去除注释的这行应该是使用 udp 而不是 udp6。

配置 nfsserver

echo "/mnt -ro -alldirs" > /etc/exports

安装 isc-dhcp3-server

cd /usr/ports/net/isc-dhcp3-server && make BATCH=yes install

配置 isc-dhcp3-server

编辑 /usr/local/etc/dhcpd.conf

default-lease-time    7200;
max-lease-time    7200;
ddns-update-style    none;
subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.2 192.168.0.254;
    server-identifier    192.168.0.1;
    next-server        192.168.0.1;
    filename        "/pxeboot";
    option    root-path    "/mnt";
}

这里是整个 PXE 安装最重要的部分之一,能否正常进行 PXE 安装关键就在这里。这里面最关键的几个选项是 next-server,filename 和 root-path。
要理解这些选项的作用,首先要理解 PXE 工作的流程。按照 FreeBSD PXE 引导的过程,我们将其分成三个阶段。
第一阶段主要是 D 上 PXE 的 firmware 和 S 上 dhcpd 协商的过程。在这里,要商定 D 的 IP 地址,并且确定下一步 PXE 要加载的文件,及其位置。
第二阶段是 D 加载上一阶段商定好的文件。对于 FreeBSD 来说,主要就是 pxeboot(8),一个 PXE 的 bootloader。
第三阶段是根据 pxeboot(8) 的指示加载 loader(8) 和 kernel。
在这里,我们可以看到 D 要从网络加载两次文件,一次是 pxeboot(8),另外一次是 loader(8) 和 kernel。这两次加载文件的位置就是由上面的三个选项来确定的。下面我们逐一分析这几个语句的作用。

next-server 语句主要控制了整个 PXE 引导中两次加载的文件所在的服务器的地址。pxeboot(8) 是通过 tftp 从 S 传递到 D 的,所以 next-server 第一个作用就是指定一个 tftp server 的地址。在第三阶段,要加载 loader(8) 和 kernel,这个加载过程是通过 nfs 完成的。next-server 同时也指定了 nfs server 的地址。值得注意的是,有一些文档说第一阶段确定的 PXE 在下一阶段要加载的文件(也就是 pxeboot(8))所在的服务器地址是通过 server-identifier 给定的,但是对于 isc-dhcp3-server 来说,这一点并不成立,而恰恰是 next-server 决定了 pxeboot(8) 所在的服务器的地址(在 dhcpd.conf(5) 里面已经明确指出了这一点)。

filename 指定的是 pxeboot(8) 在 tftp 传输过程中的名字。由于 tftpd 将在 inetd 中来使用,根据 inetd.conf 中给 tftpd 传递的选项,tftpd 启动的时候会进行 chroot,于是 filename 的地址是要相对于其 chroot 之后的根路径来说的。默认情况下,tftpd 会 chroot 到 /tftpboot,我们要在 /tftpboot 中放入 pxeboot(8) 这个文件。由于相对 /tftpboot 作为根路径来说,pxeboot(8) 的位置是 /pxeboot,所以我们直接填入 /pxeboot 便可。

root-path 这个选项指定的是第三阶段加载 loader(8) 和 kernel 在 nfs 的根路径的位置(也就是包含了 boot 目录的位置)。因为我们导出的是 /mnt,所以这里填 /mnt。

正式安装

1、为了避免 S 上的 dhcpd 影响网络中其他机器,也为了避免 D 受到网络上其他机器的影响,用直连网线将 S 和 D 连接起来。

2、挂载准备好的 ISO 镜像。 使用 mdconfig 将 FreeBSD 的 ISO 文件连接成为一个 vnode 类型的内存盘:

mdconfig -atvnode -f 8.0-CURRENT-200801-amd64-disc1.iso

挂载这个 md 节点(假设为 /dev/md0)到 /mnt:

mount_cd9660 /dev/md0 /mnt

3、把 pxeboot(8) 放到 /tftpboot:

cp /mnt/boot/pxeboot /tftpboot

4、在 S 上启动 tftpd, dhcpd 和 nfsd:

/etc/rc.d/inetd forcestart
/etc/rc.d/nfsd forcestart
/usr/local/etc/rc.d/isc-dhcpd forcestart

5、由于我们已经使用直连网线将 S 和 D 连接,假设 S 上没有配置 BIND 服务,也没有额外的到 Internet 的网络连接,那么需要禁止 S 上的 DNS 解析。可以修改 /etc/resolv.conf,将其中所有以 nameserver 开头的行注释掉。否则 mountd(因为 nfsd 依赖这个 daemon,所以 mountd 也会随 nfsd 启动而启动)会去查 DNS,而有可能导致最终 PXE 启动连不上 nfs,不能加载 kernel 而超时失败。

6、在 D 的 BIOS 中设置为 PXE 引导,重新启动计算机。

7、D 此时已经启动,并通过 PXE,加载了 loader。此时需要选择 loader 启动选项的第 6 项,进入 loader prompt。输入以下命令:

set vfs.root.mountfrom="ufs:/dev/md0c"
boot

第一行保证我们可以启动到正确的安装程序,第二行提示系统继续执行启动的各个步骤。

8、此时应该正常进入安装程序。到选择安装介质之前都按照一般的安装步骤。在选择安装介质时选择 nfs,然后输入 S 的 IP 地址,以及导出的路径,例如 192.168.0.1:/mnt。确认后,系统提示要设置网卡,在这里按照系统提示,使用 dhcp,保证 D 与 S 在同一个网络中。主机名和域名随意,DNS 以及网关可以暂时不填。后续步骤与从光盘安装一致。

9、最终退出安装程序,重新启动系统。并修改 D 的 BIOS 设置,禁止网络启动。

10、安装全部完成,可以开始享用 FreeBSD 了。

参考

rafan 的 PXE Install 笔记[URL:http://wiki.rafan.org/doc/freebsd#pxe_install]

原文链接:http://wiki.freebsdchina.org/howto/p/pxeinstall

FreeBSD学习笔记整理

FreeBSD学习笔记整理

1、查看CPU:
sysctl hw.model hw.ncpu
dmesg | grep “CPU:”

2、查看内存:
dmesg | grep “real memory” | awk -F ‘[( )]’ ‘{print $2,$4,$7,$8}’

查看swap:
top | grep “Swap:” | awk ‘{print $1,$2}’

3、查看硬盘:
diskinfo -vt /dev/ad0
disklable /dev/ad0s2 #查看分区信息
看硬盘大小:
dmesg | grep “sector” | awk ‘{print $1,$2}’
diskinfo -v /dev/da0 | grep “in bytes” | awk -F'[()]’ ‘{print $2}’

4、查看服务器品牌:
dmesg | grep “ACPI APIC”

5、挂载文件系统:
fat32:mount_msdosfs -L zh_CN.eucCN /dev/ad0s1 /mnt
ntfs:mount_ntfs -C eucCn /dev/ad0s1 /mnt
cdrom:mount_cd9660 /dev/acd0 /mnt
注:ntfs在FreeBSD中只能读无法写入

6、给文件添加或禁用系统禁删标志(目录不适用):
chflags sunlink file1
chflags nosunlink file1

7、初始化磁盘:
fdisk -BI ad1

8、建立FreeBSD分区:
disklabel -B -w -r ad1s1 auto

9、建立逻辑分区:
disklabel -e ad1s1

10、格式化分区,创建文件系统:
newfs /dev/ad1s1e

11、显示PCI硬件信息:
pciconf -lv

12、开启Linux 二进制兼容支持(启用这一功能最简单的方法是载入 linux KLD 模块):
kldload linux
让Linux兼容在系统初始化时自动启用,在/etc/rc.conf中中入:
linux_enable=”YES”

13、检查KLD模块是否加载:
kldstat

14、在内核中静态链接进Linux二进制兼容模式,在内核配置文件里面加入:
options COMPAT_LINUX

15、设置网卡em0的IP地址:
ifconfig em0 inet 192.0.2.10 netmask 255.255.255.0

16、给网卡em0设置添加一个别名IP地址:
ifconfig em0 inet 192.168.51.45/24 add

17、删除网卡的别名IP地址:
ifconfig em0 inet 192.168.51.45 -alias

18、设置网卡em0的工作模式为100baseTX全双式:
ifconfig em0 media 100baseTX mediaopt full-duplex

19、当/usr/local/etc/rc.d下的脚本无法自动启动时,可尝试在/etc/rc.conf中加入一行:
local_startup=”/usr/local/etc/rc.d”

20、在ports中寻找需要的软件,进入/usr/ports目录执行:
make search name=lsof 或 echo /usr/ports/*/*lsof* 或 whereis lsof
make search key=关键字 # 在名字、注释、描述中搜索关键字

21、使用package方式安装管理软件,使用以下命令:
pkg_add lsof-4.56.4.tgz # 安装软件包
pkg_info  # 列出已安装所有软件包
pkg_version  # 统计所有安装的软件版本,比较本地package的版本与ports目录中的当前版本是否一致
pkg_delete lsof-4.56.4 # 删除软件包,需提供完整包名

22、使用CVSup协议更新本地ports:(将cvsup.FreeBSD.org改为离得较近的CVSup服务器)
csup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfile

23、一些shell会缓存环境变量PATH中指定的目录里的可执行文件,以加快查找速度,这会造成一些新安装的命令无法运行,执行以下命令,然后才能运行新安装的那些命令:
rehash 或 hash -r

24、当不是所有时间都能上网时,可在/usr/ports下执行以下命令,所有需要的文件都将被下载:(此命令可以在下级目录中执行,如/usr/ports/comms/nmp)
make fetch # 只下载所需要文件,不下载依赖包
make fetch-recursive # 连同依赖包一起下载

25、改变默认的Ports目录:
make WRKDIRPREFIX=/usr/home/example/ports install # 在/usr/home/example/ports中编译port,安装到/usr/local
make PREFIX=/usr/home/example/local install # 在/usr/ports中编译port,安装到/usr/home/example/local
make WRKDIRPREFIX=../ports PREFIX=../local install # 在../ports中编译port,安装到../local

26、使用portsclean工具清除临时目录和distfiles目录:
portsclean -C # 清除安装时的临时目录
portsclean -D # 清除distfiles目录下所有port都不引用的文件
portsclean -DD # 删除目前安装的port没有使用的源码包文件

27、强制手动检测SCSI设备,SCSI总线扫描:
camcontrol rescan all

28、显示SCSI设备列表:
camcontrol devlist

29、利用管道修改用户密码:
echo “password” | pw usermod root -h 0
30、sed插入行:
sed -i -E ‘/service port/a \\
apex port : 18306\\
‘ /home/xiyou/config

31、用freebsd的MBR覆盖现有的MBR:
fdisk -B -b /boot/boot0 device

32、根据一个新的文件重新构建用户列表:
pwd_mkdb -p /etc/master.passwd.new # -p即为生成新的/etc/passwd

33、取时间:
date -v -1d +%Y%m%d # Freebsd取昨天日期方法
date -v -1w +%Y%m%d # Freebsd取上周今日方法
date -v -1m +%Y%m%d # Freebsd取上个月今日方法
date -v -1y +%Y%m%d # Freebsd取去年今日的方法

34、以xiyou用户身份执行命令或脚本:
su – xiyou -c “cd /home/xiyou/script; ./start_apex.sh &”

35、tar打包时排除某个子目录:
tar zcvf Apex09010702.tgz –exclude=ApexItemServer/hook_log ApexItemServer
注:上例是使用GUN版本的tar程序格式,否则–exclude参数应放在最后
36、锁住终端:
lock -np #-n 永不超时,-p 使用系统密码作为开启终端的密匙

37、显示ATA设备列表:
atacontrol list

38、查看网络流量:
systat -if 1 #1表示1秒刷新屏幕一次,Traffic 流量 peak 峰值 average 平均值
netstat 1

39、查看硬盘详细分区实时读写状况:
gstat

40、进单用户模式也需要密码:
a. vi /etc/ttys 找到when going to single-user mode
b. 修改console none unknown off后面的secure,改为insecure
c. 存盘退出

41、在FreeBSD5.X以上加载,卸载ISO文件:
mount:
mdconfig -a -t vnode -f myisofile.iso #屏幕输出md0或者类似的设备名
mount -t cd9660 /dev/md0 /mnt
umount:
umount /mnt
mdconfig -d -u 0 #-u后面的数字和前面的md?中的数字一致
mdconfig -l #可以列出关于配置md?设备的信息

42、更新配置文件,比如编辑了.cshrc等文件,就需要用source命令:
source .cshrc
43、修复UFS文件系统分区:
fsck_ufs /dev/ad1

44、pf防火墙
pfctl -e                 # 启动pf防火墙
pfctl -d                 # 停止pf防火墙
pfctl -sa | grep Status  #查看状态
pfctl -f /etc/pf.conf    # 载入 pf.conf 文件
pfctl -nf /etc/pf.conf   # 检查配置文件错误,但不载入
pfctl -Nf /etc/pf.conf   # 只载入文件中的NAT规则
pfctl -Rf /etc/pf.conf   # 只载入文件中的过滤规则
pfctl -sn    # 显示当前的NAT规则
pfctl -sr    # 显示当前的过滤规则
pfctl -ss    # 显示当前的状态表
pfctl -si    # 显示过滤状态和计数
pfctl -sa    # 显示任何可显示的

pfctl -t http_table -T show               #查看动态表
pfctl -t http_table -T add 192.168.1.X    #添加一个IP到表
pfctl -t http_table -T del 192.168.1.X    #从表中删除IP

45、系统优化+防止ddos
加载文件修改
# vi /boot/loader.conf #加入如下文本
kern.dfldsiz=”2147483648″             # Set the initial data size limit
kern.maxdsiz=”2147483648″             # Set the max data size
kern.ipc.nmbclusters=”0″             # Set the number of mbuf clusters
kern.ipc.nsfbufs=”66560″              # Set the number of sendfile(2) bufs
##解释:
a.   第一,第二行主要是为了突破1G内存设置的
b.   第三行其实是bsd的一个bug,当系统并发达到一个数量级的时候,系统会crash,这个是非常糟糕的事情,所幸更改了这个参数后,在高并发的时候,基本可以没有类似情况,当然非常bt的情况,还得进一步想办法
c.   第四行是读取的文件数,如果你下载的文件比较大,且比较多,加大这个参数,是非常爽的
Sysctl修改
#vi /etc/rc.local
sysctl kern.ipc.maxsockets=100000    ##增加并发的socket,对于ddos很有用
sysctl kern.ipc.somaxconn=65535      ##打开文件数
sysctl net.inet.tcp.msl=2500         ##timeout时间
加速ports安装
#vi /etc/make.conf     ##加入如下
MASTER_SITE_OVERRIDE?=http://ports.hshh.org/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?=http://ports.cn.freebsd.org/${DIST_SUBDIR}/
Freebsd颜色显示
secureCRT设置:仿真:终端->linux>勾选ANSI颜色–>确定
#vi /etc/csh.cshrc ##加入如下
setenv LSCOLORS ExGxFxdxCxegedabagExEx
setenv CLICOLOR yes
#cd /usr/ports/edit/vim;make install
#echo “syntax on”>/root/.vimrc
#echo “alias vi        vim” >>/root/.cshrc
##颜色主要是靠vim来显示的,因此需要安装vim,然后把vi alias成vim就可以了

46、查看系统状态
fstat     #报告系统中打开文件的信息
pstat -T   #显示这几个系统表的状态,包括当前使用的和可以利用的系统表空间,因此可以用来检查系统在当前负载下是使用多大的系统表,帮助进行优化系统性能
systat    #缺省情况下systat是报告处理器的使用率,包括总利用状态、空闲使用率和各个进程的使用率
通过指定参数,systat也能进行I/O的统计、虚存的统计、网络的统计等,这些参数包括-iostat, -vmstat, -mbufs, -netstat, -ip, -icmp, -tcp, -swap等
kldstat -v  #显示内核加载的模块
klsdstat -m ipfilter   #显示指定模块
pnpinfo    #即插即用设备
devinfo -u  #显示设备占用的IRQ和内存地址

原文链接:http://blog.chinaunix.net/u3/112017/showart_2213285.html

FreeBSD 7 Xorg7.3 KDE3.5 桌面系统安装及美化

这几天一直在整FreeBSD+KDE的桌面系统,现在基本上能满足偶的日常需要。把安装过程记录下来,方便以后重装。。。。 !!

一、安装系统

首先,最小化安装系统,没什么好说的,最好单独分一个/home出来,这样重装后,很多东西可以重用。然后装呗。。建议把src/base/kernels/man一并装上,以后可能会用到。 然后在sysinstall里建一个wheel用户,建用户的时候shell那里偶写上:/bin/csh,因为偶比较习惯用csh 再修改一下网卡属性,连接上网。

最小化安装好系统后,把cd1,cd2,cd3中的内容都拷到硬盘,这样pkg_add 软件方便,不用来回换光盘。

建个目录放拷来的tbz文件

#mkdir /usr/soft

挂载光驱

#mount /cdrom

拷贝packages下的所有文件到硬盘里

#cp -rf /cdrom/packages/* /usr/soft/

挂载掉光驱

#umount /cdrom

然后到/usr/soft目录,安装xorg,kde,linux程序支持,可以使用ls xorg*命令查看具体文件名。

#cd /usr/soft/All

#pkg_add xorg-7.3_1.tbz

#pkg_add kde-3.5.8.tbz

#pkg_add linux_base-fc-4.10.tbz

装完xorg,kde后,更新ports。/etc/portsnap.conf里是更新portsnap镜像的站点地址。可以改成国内比较快的镜像站点:SERVERNAME=portsnap.hshh.org 最小化安装时默认是不安装ports的,如果你装了ports,先删除ports目录

#rm -rf /usr/ports

然后继续,fetch是取得ports镜像,extract把ports镜像解压到/usr/ports,update是更新ports

#portsnap fetch

#portsnap extract

为了让ports的安装速度更快,做以下修改:

#ee /etc/make.conf

在make.conf中加入下面的内容,可以用wget在国内镜像站点下载ports包需要的软件。

MASTER_SITE_OVERRIDE=\

http://ports.hshh.org/${DIST_SUBDIR}/\

ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/

FETCH_CMD=wget -c -t 1

DISABLE_SIZE=yes

接下来安装显卡驱动,我的显示是nvidia7300gt。A卡的用户百度狗狗下~

#cd /usr/ports/x11/nvidia-driver

#make install clean

装好之后,最好重启一下。

#shutdown -r now

为了方便,偶装了偶比较习惯用的编辑器,如果你喜欢用ee,可以不装vim ,下面一些shell命令行,把vim 换成ee

#cd /usr/ports/editors/vim

make install clean

用PREFIX=/home/path/to/your/opt 命令,可以把vim装在你想要的目录,当然也可以直接装在默认目录下。偶一般在自己的home目录下建个opt文件夹,放安装的程序。

接下来配置xorg,进入kde桌面

#xorg -configure

这样/root下应该会生成xorg.conf.new文件,测试一下是否正常,如果屏幕上出现一个黑色的鼠标指针就差不多啦~如果不正常,接Ctrl+Alt+Backspace

#xorg -config xorg.conf.new

如果一切正常,把xorg.conf复制到公共目录里,不过偶装的时候好像没有手动复制也可以,像是装的时候自动放到位置上去了。具体参看手册。

之后,试试看可以了嘛~~

#startx

#startkde

界面可能不好看,没关系,改动一下配置文件,让kde随机启动。

#vim /etc/ttys

把 ttyv8这行,改成这样:

ttyv8 ”/usr/local/bin/kdm -nodaemon” xterm on secure

这样,系统启动时就默认登录KDE桌面。

如果想改成其它桌面,可以直接编辑Xsession文件。

#vim /usr/local/share/config/kdm/Xsession

default)那里,即是默认启动的窗口。

default)

exec startkde

编辑好,保存即可。

安装kde的汉化文件

#cd /usr/ports/chinese/kde3-i18n-zh_CN

#make install clean

为了方便,可以直接装下一个做好的ports

#cd /usr/ports/chinese/auto-cn-l10n

#make install clean

选择下需要安装的内容,wqy字体选中,fireflyttf字体选中,SCIM输入法选中。

上面的包装好后,如果你需要用五笔或拼音可以分别在下面二个位置安装

/usr/ports/chinese/scim-tables

/usr/ports/chinese/scim-pinyin

OK,在你用kdm进入kde前,用先前建的帐号,最好设置一下一些东西。

#su 用户名

%cd ~

因为我用的是csh,所以编辑.cshrc文件。

%vim .cshrc

加入这么二行,习惯了:) shell会更好看呵呵。

alias ls ls -FAG

setenv LSCOLORS ExGxFxdxCxegedabagExEx

如果上面装了scim,.cshrc文件中没有改下内容,则加入

setenv XMODIFIERS @im=scim

setenv QT_IM_MODULE scim

setenv GTK_IM_MODULE scim

保存.cshrc文件。退出。

设置本地化环境

%vim ~/.login_conf

加入:

me:\
:charset=zh_CN.UTF-8:\
:lang=zh_CN.UTF-8:\
:setenv=LC_ALL=zh_CN.UTF-8:\
:setenv=LC_COLLATE=zh_CN.UTF-8:\
:setenv=LC_CTYPE=zh_CN.UTF-8:

这样重启后,自动进入kde桌面环境。

第一次进入时,有桌面配置向导,看提示一步步点完即可。

二、定制内核

具体内容参看:http://docs.freebsd.org/doc/7.0-RELEASE/usr/share/doc/zh_CN/books/handbook/kernelconfig.html

定制内核前,看一下:http://docs.freebsd.org/doc/7.0-RELEASE/usr/share/doc/zh_CN/books/handbook/kernelconfig-trouble.html

FreeBSD7手册中内核配置文件部分,说的十分详细,怎么按自己要求修改内核文件参看:http://docs.freebsd.org/doc /7.0-RELEASE/usr/share/doc/zh_CN/books/handbook/kernelconfig-config.html

准备好了之后,继续。。。

之前安装时建议把src装上,现在就可以用上啦。按手册上面说的把内核文件修改好之后。

进入 /usr/src 目录:

# cd /usr/src

编译内核:

# make buildkernel KERNCONF=MYKERNEL

安装新内核:

# make installkernel KERNCONF=MYKERNEL

安装好新内核之后,先不急重启,看清楚手册上说的内核配置错误不能启动怎么办那章之后,再重启哦。

如果想临时换回默认的GENERIC内核,可以修改/boot/defaults/loader.conf文件。

三、美化系统

1、字体

之前装了wqy字体,可以在K菜单-控制中心-外观和主题-字体里,把所有的字体都换成WenQuanYi的。

2、KDE风格

在 http://kde-look.org 的左中方有搜索栏,搜索kollide。 找到 kollide 1.5 的Theme-Manager Theme 风格包,下载。。解压缩。 #tar zxvf kollide*.gz 具体地址是:http://kde-look.org/content/show.php/kollide?content=75295

下载后在K菜单-控制中心-外观和主题-主题管理器中,点击安装新主题,选中.kth主题文件,即可。 这样在这个目录里就应该有kollide主题的目录,如果没有,可以在包里复制过来。

~/.kde/share/apps/kthememanager/themes

这样风格好看了吧,还有漂亮的壁纸。

3、登录界面风格

同样,从kde-look下载你喜欢的kdm风格包,下载解压缩包到 /usr/local/share/apps/kdm/themes 里, 同时修改kdmrc文件 #vim /usr/local/share/config/kdm/kdmrc 把UseTheme=true前面的注释号去掉。 Theme路径设成你刚刚下载的kdm风格路径。 我的是:Theme=/usr/local/share/apps/kdm/themes/DEEP

ok,ctrl+alt+delete重新登录一下看看 🙂

4、面板设置

在面板空白处右击,面板菜单-添加新面板-选择外部任务栏

K菜单-控制中心-桌面-面板

在“排列”选项卡里,选择设置“主面板”,位置向下居中,长度30%,勾选“自动扩大到需要的尺寸”,大小选“大”。

在“排列”选项卡里,选择设置“外部任务栏”,位置向上居中,长度100%,勾选“自动扩大到需要的尺寸”,大小选“小”。

在“外观”选项卡里,“面板背景”项中勾选“允许透明” 确定。。

这样面板是不是好看多了~呵呵,这个全凭各人喜好。我这里配置“外部工具栏”不显示全部桌面中的窗口。。。不分组显示 。。个人爱好。

5、conky设置

首选安装conky,ports安装,注意root 权限。

#cd /usr/ports/sysutils/conky

#sudo make install clean

装好之后,在你的主目录中建一个文件.conkyrc ,然后编辑这个文件。注意帐号,不要用成root的了。

#su 用户名

%cd ~

% vim .conkyrc

加入以下内容:

background no
double_buffer

# X font used, you can pick one with program xfontsel
#font 5×7
#font 6×10
#font 7×13
#font 8×13
font wenquanyi Bitstream Vera Sans Mono-9
# font *mintsmild.se*
# font -*-*-*-*-*-*-34-*-*-*-*-*-*-*

# Update interval in seconds
update_interval 1.0

# Create own window instead of using desktop (required in nautilus)
own_window no

# Draw shades?
draw_shades yes

# Draw borders around text
draw_borders no

draw_outlines yes
default_outline_color gray30

# Stippled borders?
stippled_borders no

# Default colors and also border colors
default_color gray75
default_shadecolor gray41

# Text alignment, other possible values are commented
#alignment top_left
#alignment top_right
#alignment bottom_left
alignment bottom_right

# Gap between borders of screen and text
gap_x 16
gap_y 66

use_xft

# Substract file system buffers from used memory?
no_buffers yes

# set to yes if you want all text to be in uppercase
uppercase yes
# stuff after ‘TEXT’ will be formatted on screen

TEXT
${color grey69}CPU Usage :$color $cpu% @ ${freq}MHz
${cpubar 4}
$cpugraph
${color grey69}Processes :$color $processes ${color grey69}Running:$color $running_processes
${color grey69}Load      :$color ${loadavg 1} / ${loadavg 2} / ${loadavg 3}
$color$stippled_hr
${color grey69}RAM Usage :$color $mem / $memmax – $memperc%
${membar 4}
${color grey69}Swap Usage:$color $swap / $swapmax – $swapperc%
${swapbar 4}
$color$stippled_hr
${color grey69}Networking: re0: Up:$color ${upspeed re0} k/s${color grey69} – Down:$color ${downspeed re0} k/s
$color$stippled_hr
${color grey69}Disk: developer $color grey69} Used: $color${fs_used /home/developer} ${color grey69} Free:$color ${fs_free /}
${color grey69}    : usr: ${color grey69}Used: $color${fs_used /usr} ${color grey69} Free: $color ${fs_free /usr}

把网卡名换成你机子的网卡名,还有用户主目录换成你的主目录即可。

当然也可以从网上下载conky的风格放在主目录下改名为.conkyrc

设置conky自启动:

打开 ~/.kde/Autostart 目录,把conky的程序拖进autostart目录,选择在此处创建链接。即可。

四、安装常用软件

一些常用软件都可以使用ports安装

%whereis 软件名

即可看到这个软件在ports中的位置。

%whereis firefox3

firefox3: /usr/ports/www/firefox3 浏览器

%whereis kchmviewer

kchmviewer:/usr/ports/deskutils/kchmviewer CHM查看软件

%whereis kftpgrabber

kftpgrabber: /usr/ports/ftp/kftpgrabber FTP客户端

%whereis ktorrent

ktorrent: /usr/ports/net-p2p/ktorrent KDE下图形BT客户端

%whereis smplayer

smplayer: /usr/ports/multimedia/smplayer “暴风影音”?呵呵

%whereis amarok

amarok: /usr/ports/audio/amarok MP3播放器

%whereis eva

eva:/usr/ports/net-im/eva linux下的QQ

%whereis stardict2

stardict2: /usr/ports/textproc/stardict2 星际译王2

amarok有个歌词插件,名字叫lrcshow,可以从网上下载到。在amarok的菜单里有选项,选中下载回来的固定文件名包即可安装。这个插件需要系统中有py-qt才可以正常使用。

%whereis py-qt

py-qt: /usr/ports/x11-toolkits/py-qt

强烈建议大家安装下sudo,十分方便。以前用ubuntu时就喜欢上了sudo…ports中有包。

偶在FreeBSD下主要弄php程序,上面说的软件smplayer没有测试能不能正常放,如果不行可以从百度狗狗上找找怎么下载解码器之类安装。

在安装ports的过程中可能会无法继续

强制安装使用:FORCE_PKG_REGISTER=YES

还有NO_CHECKSUM之类的,PORTS安装还是比较简单方便的。

实在不行,可以在ftp://ftp.freebsd.org的相关目录里下载tbz文件回来安装。。

再不行,可以pkg_add -r 安装。。

五、其它

因为是装过之后,才写的一些安装过程,错误在所难免,请见谅。

有点白
alittlewhite.developer@gmail.com
http://developer.cublog.cn

原文链接:http://wiki.freebsdchina.org/doc/p/freebsd_desktop_kde

FreeBSD配置ZFS做为根系统

声明:不建议使用ZFS做根文件系统

需要的文件

需要FreeBSD的DVD镜像 或者 memstick.img文件,其他的都不完整,所以不推荐

启动到Fixit

1.启动DVD 2.选择Fixit 3.选择CDROM/DVD,回车

创建mbr结构分区表,如果已存可以省略

Fixit# gpart create -s mbr ad4

显示分区信息

Fixit# gpart show ad4

在ad4上创建FreeBSD使用的分区ad4s3

Fixit# gpart add -b 6313545 -s 119515536 -t freebsd ad4
ad4s3 added
Fixit# gpart create -s BSD ad4s3
ad4s3 created

创建FreeBSD Partition

ad4s3a的分区是去掉Swap分区后的大小,计算公式时1024x1024x2=1G

Fixit# gpart add -i 1 -b 0 -s 117418384 -t freebsd-zfs ad4s3
ad4s3a added
Fixit# gpart show ad4s3

Fixit# gpart add -i 2 -b 117418384 -s 8380811 -t freebsd-swap ad4s3
ad4s3b added
Fixit# gpart show ad4s3

安装FreeBSD自带的引导器,boot0阶段

Fixit# gpart bootcode -b /mnt2/boot/boot0 ad4
ad4 has bootcode

boot1阶段

Fixit# dd if=/mnt2/boot/zfsboot of=/dev/ad4s3 count=1

boot2阶段

Fixit# dd if=/mnt2/boot/zfsboot of=/dev/ad4s3a skip=1 seek=1024

加载zfs内核模块

Fixit# kldload /mnt2/boot/kernel/opensolaris.ko
Fixit# kldload /mnt2/boot/kernel/zfs.ko

创建ZFS存储池

Fixit# zpool create tank /dev/ad4s3a
Fixit# zpool set bootfs=tank tank

文件系统校验使用fletcher4方式

Fixit# zfs set checksum=fletcher4 tank

创建ZFS文件目录结构

Fixit# zfs create -o compression=on -o exec=on -o setuid=off tank/tmp
Fixit# chmod 1777 /tank/tmp
Fixit# zfs create tank/usr
Fixit# zfs create tank/home
Fixit# zfs create -o compression=lzjb -o setuid=off tank/usr/ports
Fixit# zfs create -o compression=off -o exec=off -o setuid=off tank/usr/ports/distfiles
Fixit# zfs create -o compression=off -o exec=off -o setuid=off tank/usr/ports/packages
Fixit# zfs create -o compression=lzjb -o exec=off -o setuid=off tank/usr/src
Fixit# zfs create tank/var
Fixit# zfs create -o compression=lzjb -o exec=off -o setuid=off tank/var/crash
Fixit# zfs create -o exec=off -o setuid=off tank/var/db
Fixit# zfs create -o compression=lzjb -o exec=on -o setuid=off tank/var/db/pkg
Fixit# zfs create -o exec=off -o setuid=off tank/var/empty
Fixit# zfs create -o compression=lzjb -o exec=off -o setuid=off tank/var/log
Fixit# zfs create -o compression=gzip -o exec=off -o setuid=off tank/var/mail
Fixit# zfs create -o exec=off -o setuid=off tank/var/run
Fixit# zfs create -o compression=lzjb -o exec=on -o setuid=off tank/var/tmp
Fixit# chmod 1777 /tank/var/tmp

安装FreeBSD到ZFS上

Fixit# cd /dist/8.1*
Fixit# export DESTDIR=/tank
这里推荐先不要释放ports,曾经8.0上释放ports会导致重启
Fixit# for dir in base catpages dict doc games info lib32 manpages; \
     do (cd $dir ; ./install.sh) ; done
Fixit# cd src ; ./install.sh all
Fixit# cd ../kernels ; ./install.sh generic
Fixit# cd /tank/boot ; cp -Rlp GENERIC/* /tank/boot/kernel/
Fixit# cd /
Fixit# zfs set readonly=on tank/var/empty

安装后配置

在rc.conf,src.conf,fstab,loader.conf文件里添加了这些内容就行,不管你使用什么方法ee,vi,echo。都行

Fixit# echo ‘zfs_enable="YES"’ > /etc/rc.conf
Fixit# echo ‘hostname="FreeBSD.tk.local"’ >> /etc/rc.conf
Fixit# echo ‘ifconfig_em0="DHCP"’ >> /etc/rc.conf
Fixit# echo ‘LOADER_ZFS_SUPPORT=YES’ > /tank/etc/src.conf
Fixit# echo ‘zfs_load="YES"’ > /tank/boot/loader.conf
Fixit# echo ‘vfs.root.mountfrom="zfs:tank"’ >> /tank/boot/loader.conf
Fixit# cat << EOF > /tank/etc/fstab
# Device                       Mountpoint              FStype  Options         Dump    Pass#
/dev/ad4s3b                    none                    swap    sw              0       0
EOF

重新编译引导器,添加zfs支持

Fixit# chroot /tank
Fixit# mount -t devfs devfs /dev
Fixit# export DESTDIR=""
Fixit# cd /usr/src/sys/boot/
Fixit# make obj
Fixit# make depend
Fixit# make
Fixit# cd i386/loader
Fixit# make install

设置密码

Fixit# passwd

设置时区

Fixit# tzsetup
Fixit# cd /etc/mail
Fixit# make aliases
Fixit# umount /dev
Fixit# exit

创建zpool.cache

Fixit# mkdir /boot/zfs
Fixit# zpool export tank && zpool import tank
Fixit# cp /boot/zfs/zpool.cache /tank/boot/zfs/zpool.cache
Fixit# export LD_LIBRARY_PATH=/mnt2/lib

修改zfs存储池tank的挂载点

Fixit# zfs set mountpoint=legacy tank
Fixit# zfs set mountpoint=/tmp tank/tmp
Fixit# zfs set mountpoint=/usr tank/usr
Fixit# zfs set mountpoint=/var tank/var
Fixit# zfs set mountpoint=/home tank/home

卸载所有

Fixit# zfs unmount -a

退出,重新引导系统

Fixit# exit

其他

1.有时会出现找不到引导器,重启后就可以引导了,原因不明

2.可能导致Windows7出现引导器修复界面

原文链接:http://wiki.freebsdchina.org/doc/z/zfsbootpartition

FreeBSD系统检测AMD处理器的硬件温度

FreeBSD系统检测AMD处理器的硬件温度

摘要:

这个wiki页面主要介绍如何在FreeBSD系统中如何检测AMD处理器的温度;
所写内容主要适用于k8以及k10系列处理器。

基本原理:

在处理器内部有一个温度传感器;
为了读取这个温度需要将适当的驱动程序编译或者加载进入内核。

具体操作:

在系统内核配置文件中增加k8temp的驱动,也既是添加下述内容到内核的配置文件中去:

device k8temp
然后重新编译安装内核即可。

如果不想重新编译内核,也可以采用加载模块的方法,把下述内容添加进入loader.conf即可:

k8temp_load=”YES”

检测温度:

在加载合适的驱动之后,系统就可以读取处理器内部传感器的温度了,系统将这个温度数值保存在sysctl的相应节点中,所以可以通过输入sysctl的相关信息来显示处理的温度。

检测方法如下:

sysctl -a | grep -i temp

注意:

根据k8temp(4)中的内容,k8temp这个驱动是在FreeBSD 7.1才进入系统的内核的,所以只有在7.1版本之后才可以直接通过内核加载。

对于之前的版本,似乎可以通过ports系统安装。

本文内容适用于7.2版本,由于在8.0版本中驱动的名字有所调整,所以8.0用户应将的将驱动调整为“device amdtemp”,

比较简单的方法是看看/boot/kernel/下面模块的名字,在FreeBSD系统中所有模块的名字都和自己的功能存在对应关系,

例如运行下述命令可以找出哪些模块和温度相关。

ls /boot/kernel | grep -i temp

如果在8.0系统上运行上述命令时,还可以发现Intel的Core对应的驱动是“device coretemp”。

参考:

k8temp(4)<URL:http://www.freebsd.org/cgi/man.cgi?query=k8temp&apropos=0&sektion=0&manpath=FreeBSD+7.2-RELEASE&format=html>

amdtemp(4)<URL:http://www.freebsd.org/cgi/man.cgi?query=amdtemp&sektion=4&apropos=0&manpath=FreeBSD+8.0-RELEASE>

loader.conf(5)<URL:http://www.freebsd.org/cgi/man.cgi?query=loader.conf&sektion=5&apropos=0&manpath=FreeBSD+7.2-RELEASE>

sysctl(8)

原文链接:http://wiki.freebsdchina.org/doc/a/amd_cpu_temperature

FreeBSD网络配置

FreeBSD网络配置

/etc/rc.conf 相关

如何修改 IP address

1 修改/etc/rc.conf,需要/etc/rc.d/netif重起,或reboot才能生效。

ifconfig_re0=”inet 192.168.0.76  netmask 255.255.254.0″

增加第二个 IP

ifconfig_re0_alias0=”inet 192.168.0.76  netmask 255.255.254.0″

2 直接使用ifconfig,立刻生效

#ifconfig re0 192.168.0.76 255.255.254.0

注意,使用方法2修改,重启机器后ip会变回未修改之前的ip

设定系统默认网关

1 修改 /etc/rc.conf

defaultrouter=”192.168.0.1″

2 直接使用 route 命令,立即生效

route add default 192.168.0.1

启用 NFS 客户端

1 修改 /etc/rc.conf

nfs_client_enable=”YES”

2 修改 /etc/fstab,添加远程 nfs 分区。例如:

remote_server:/path/to/export /local/mount/point nfs rw,late 0 0

注: 选项 late 也可以不添加。如果添加了,就可以用 /etc/rc.d/mountlate 来挂载启动时没有挂载或挂载失败的 nfs 分区。

3 执行 /etc/rc.d/nfsclient

#/etc/rc.d/nfsclient start

设定系统默认域名服务器

修改 /etc/resolv.conf 文件到如下内容,如果这个文件不存在,可以直接创建。

nameserver 192.168.0.1

更复杂的设定可以参考这个文件的 man 文档。

/etc/hosts 文件的作用

系统默认查询域名的顺寻是,先从 /etc/hosts 查询,如果查不到就从 dns 服务器查询。因此,你可以把一些常用的 域名-IP 地址对应写到 /etc/hosts 里面以加快网络速度。

原文链接:http://wiki.freebsdchina.org/faq/networking

在FreeBSD上搭建NTP时间服务器

电脑的时间放置不理的话过不久就会出现误差。
这个误差会反映在email送信时刻的time stamp上,会反映在你的论坛帖子发表时刻上。至少我遇到过这个问题。
网络上有ntp(network time protocol)服务器,提供当前的时刻。我们可以将本地的时刻与ntp服务器的时刻进行同步。

目的如下:
1,启动时用ntpdate进行时刻修正。
2,启动中,通过ntpd进行时刻校正的同时,将各个客户端电脑的时刻也进行同期校正。
3,如果不能找到ntp服务器,那么就使用local time,同时同步客户。

全世界约有100多个ntp服务器,从下面地址找一个离你最近的
http://www.eecis.udel.edu/~mills/ntp/clock1a.html
我选择了两个
clock.nc.fukuoka-u.ac.jp 133.100.9.2
clock.tl.fukuoka-u.ac.jp 133.100.11.8
步骤:

FreeBSD中有两个标准的ntp程序,其一为ntpdate。
ntpdate通过从ntp服务器获取时刻,调整本地时刻。
# ntpdate clock.nc.fukuoka-u.ac.jp
9 Oct 18:12:23 ntpdate: step time server 133.100.9.2 offset -19.112674
大约有19秒钟的误差

自动设定
# grep ntpdate /etc/defaults/rc.conf >>/etc/rc.conf
# vi /etc/rc.conf
ntpdate_enable="YES" # Run ntpdate to sync time on boot (or NO).
ntpdate_program="ntpdate" # path to ntpdate, if you want a different one.
ntpdate_flags="clock.nc.fukuoka-u.ac.jp" # Flags to ntpdate (if enabled).
重新启动以后就运行了,当然设定没有完,不必急着启动
FreeBSD的另一个标准ntp程序,ntp
ntp程序使的获取ntp时刻的同时,向其他pc提供时刻。

添加文件ntp.conf:

用来作为标准时刻的ntp服务器我选择了两个
clock.nc.fukuoka-u.ac.jp 133.100.9.2
clock.tl.fukuoka-u.ac.jp 133.100.11.8
同时指定复数个服务器也没有问题,系统会自动选择一个可以信赖的。
这里,为避免多余的DNS数据包传递,我们直接指定IP地址。
server行 server 127.127.1.0 为参考本地时刻时用的地址。然后用fudge指定阶层编号为5,降低其优先度。

接着用restrict对每一个IP地址指定相应的规则。
最后,指定波长校正用的drift文档保存地址。关于这个命令行,具体的含义不太清楚。不过如果没有的话,时间校正起来就会比较慢
# vi /etc/ntp.conf
server 133.100.9.2 #clock.nc.fukuoka-u.ac.jp
server 133.100.11.8 #clock.tl.fukuoka-u.ac.jp
server 127.127.1.0
fudge 127.127.0.1 stratum 5
restrict default ignore
restrict 127.0.0.0 mask 255.0.0.0
restrict 192.168.1.0 mask 255.255.255.0 noquery nopeer notrust
restrict 133.100.9.2 noquery
restrict 133.100.11.8 noquery
driftfile /etc/ntpd.drift
启动测试
# ntpd -p /var/run/ntpd.pid
# tail /var/log/messages
Oct 9 16:46:56 chiwawa ntpd[89409]: ntpd 4.1.0-a Thu Apr 3 08:26:24 GMT 2003 (1)
Oct 9 16:46:56 chiwawa ntpd[89409]: kernel time discipline status 2040
……
Oct 9 16:50:10 chiwawa ntpd[89409]: time set -0.189546 s
看到类似的结果就可以了。

运行测试
ntpd的运行用ntpq命令
# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*clock.nc.fukuok .GPS. 1 u 43 64 37 19.067 -6.884 10.339
+clock.tl.fukuok .GPS. 1 u 36 64 35 19.670 -3.259 2.341
LOCAL(0) LOCAL(0) 5 l 45 64 37 0.000 0.000 0.001
启动后到时刻校正完成需要一点时间。*是第一候补,+是第二。
本地时刻校正完成以后就可以为其他PC提供时刻校正服务了。

自动启动的设定
完成以上设定,确认运行无误以后:
# grep ntpd /etc/defaults/rc.conf >>/etc/rc.conf
# vi /etc/rc.conf
xntpd_enable="YES" # Run ntpd Network Time Protocol (or NO).
xntpd_program="ntpd" # path to ntpd, if you want a different one.
xntpd_flags="-p /var/run/ntpd.pid" # Flags to ntpd (if enabled).

往rc.conf追加上面3行内容,并修改。
客户端PC设定:
UNIX OS
# vi /etc/ntp.conf
server [local ntp server IP] prefer
driftfile /etc/ntpd.drift
或者追加下面内容到crontab,这样,每过一个小时0分的时候就自动更新。
# vi /etc/crontab
0 * * * * root ntpdate [ntp server IP] >/dev/null 2>&1
当然,你的主机其实也是一个客户机,这些内容也可以用上。
Windows
精工的网站上有下载软件,不过是日语的
http://www.seiko-p.co.jp/systems/down/time.html
windows2000自带了sntp机能,请自己研究吧。

原文链接: http://www.bsdlover.cn/html/12/n-112.html

FreeBSD NTP服务器配置笔记

一组服务器里面配置一台NTP服务器也是必要的,可以让所有服务器的时间同步。

一、配置NTP服务器

vi /etc/rc.conf

ntpd_enable="YES"

vi /etc/ntp.conf

server www.freebsd.org prefer
server time.windows.com
server 127.127.1.0
fudge 127.127.0.1 stratum 5

restrict default ignore
restrict 127.0.0.0 mask 255.0.0.0
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap

driftfile /var/db/ntp.drift

启动NTP服务:

/etc/rc.d/ntpd start

二、客户端配置

vi /root/scripts/synctime.sh

#!/bin/sh
/usr/sbin/ntpdate 192.168.0.100 #内网NTP服务器地址

chmod +x /root/scripts/synctime.sh
crontab -e

*/30 * * * * cd /root/scripts;./synctime.sh

这样客户端服务器每半小时就会和NTP服务器同步一次。

FreeBSD NFS架设

FreeBSD下的NFS配置

服务                 描述
nfsd NFS,          为来自NFS客户端的 请求服务。
mountd NFS          挂载服务,处理nfsd(8)递交过来的请求。
rpcbind             此服务允许 NFS 客户程序查询正在被 NFS 服务使用的端口。

配置NFS
NFS的配置过程相对简单。这个过程只需要 对/etc/rc.conf文件作一些简单修改。

安装rpc  #cd /usr/ports/math/rpc  make install clean

在NFS服务器这端,确认/etc/rc.conf 文件里头以下开关都配上了:

nfs_server_enable=”YES”
nfs_server_flags=”-u -t -n 4″
rpc_statd_enable=”YES”
rpc_lockd_enable=”YES”
mountd_flags=”-r”

只要NFS服务被置为enable,mountd 就能自动运行。

在客户端一侧,确认下面这个开关出现在 /etc/rc.conf里头:

nfs_client_enable=”YES”
nfs_client_flags=”-n 4″
像nfsd,-n 4告诉nfsiod运行自己的4个拷贝。

二,设置

etc/exports文件指定了哪个文件系统 NFS应该输出(有时被称为“共享”)。 /etc/exports里面每行指定一个输出的文件系统和哪些机器可以访问该文件系统。在指定机器访问权限的同时,访问选项开关也可以被指定。

格式:

[共享的目录] [主机名1或IP1(参数1,参数2)] [主机名2或IP2(参数3,参数4)]

下面是一些NFS共享的常用参数:

ro                      只读访问
rw                      读写访问
sync                    所有数据在请求时写入共享
async                   NFS在写入数据前可以相应请求
secure                  NFS通过1024以下的安全TCP/IP端口发送
insecure                NFS通过1024以上的端口发送
wdelay                  如果多个用户要写入NFS目录,则归组写入(默认)
no_wdelay               如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
hide                    在NFS共享目录中不共享其子目录
no_hide                 共享NFS目录的子目录
subtree_check           如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check        和上面相对,不检查父目录权限
all_squash              共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash           保留共享文件的UID和GID(默认)
root_squash             root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squas           root用户具有根目录的完全管理访问权限
anonuid=xxx             指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx             指定NFS服务器/etc/passwd文件中匿名用户的GID

配置文件/etc/exports内容如下:

$ cat /etc/exports
/home/share 192.168.1.15(rw,sync) *(ro)
配置说明: 对192.168.1.15赋予读写权限,其他机器仅有只读权限。

四.客户端配置

1.查看NFS服务器的输出
#showmount -e 192.168.1.1
2.挂载NFS服务器中的共享目录到本地目录/mnt/下
#mount -t nfs 192.168.1.1:/home  /mnt/
3.卸载系统中已挂载的NFS共享目录
#umount /mnt/
4.修改fstab文件让系统启动时自动挂载NFS文件
#vi /etc/fstab
192.168.1.1:/home    /mnt    nfs     defaults    0 0

五、安全性
———
portmap: 111
NFS: 2049
防止使用IP欺骗和RPC重定向技术通过lo回环进行攻击以及限定授权主机:
iptables -A INPUT -p udp -d 127.0.0.1 –dport 111 -j DROP
iptables -A INPUT -p udp -d 127.0.0.1 –dport 2049 -j DROP
iptables -A INPUT -p udp -s 10.0.0.2 –dport 111 -j ACCEPT
iptables -A INPUT -p udp -s 10.0.0.2 –dport 2049 -j ACCEPT

原文链接:http://blog.chinaunix.net/u/27383/showart_499159.html

FreeBSD 8.0 NFS服务器配置笔记

一组服务器系统里面必然存在一台NFS服务器,实现多服务器的文件共享。
NFS服务器:nfs_server
NFS客户端:host1,host2,host3
共享目录:/share

一、NFS服务器配置

vi /etc/rc.conf

rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"

二、客户端配置

vi /etc/rc.conf

nfs_client_enable="YES"

三、文件共享配置

vi /etc/exports

/share  -alldirs    host1 host2 host3

共享设置好了之后,重启NFS服务器以启动NFS服务。

四、客户端挂载NFS文件系统

mount nfs_server:/share /share

或者写进fstab让系统启动时自动挂载文件系统:
vi /etc/fstab

nfs_server:/share   /share  nfs rw  0   0

权限问题:最好让所有服务器上操作NFS共享文件的用户ID相同。

关于NFS的其他问题请参考FreeBSD手册。

原文链接: http://garey.bsdart.org/2010/11/freebsd-8-0-nfs%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%85%8D%E7%BD%AE%E7%AC%94%E8%AE%B0/