<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Leakon &#187; FreeBSD</title>
	<atom:link href="http://www.leakon.com/archives/category/freebsd/feed" rel="self" type="application/rss+xml" />
	<link>http://www.leakon.com</link>
	<description>勤奋 - 创新 - 矢志不渝 - 锲而不舍</description>
	<lastBuildDate>Sat, 24 Jul 2010 14:50:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Build FreeBSD Installation CDs To One DVD</title>
		<link>http://www.leakon.com/archives/129</link>
		<comments>http://www.leakon.com/archives/129#comments</comments>
		<pubDate>Thu, 03 Apr 2008 03:18:01 +0000</pubDate>
		<dc:creator>leakon</dc:creator>
				<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://www.leakon.com/archives/129</guid>
		<description><![CDATA[本文分别以 Windows 平台和 Linux 平台描述了如何把 FreeBSD 的多张安装 CD 合并为一张 DVD。
Windows Platform
Windows 平台
通常需要CD2、CD3的情况是在安装CD1上的package时需要安装CD2上的某些package才会被用到，并且安装期间很容易出现频繁的置换两张CD。
所以得出一个简单的、为了实现方便安装package的、制作单张FreeBSD DVD的方法：
制作平台是Windows + UltraISO =&#62; Freebsd 7.0。
其实可以用任何编辑ISO的软件，如果配合一个虚拟光驱来测试镜像，制作起来会更方便些。
步骤：
1、将CD2、CD3中的packages文件夹完整的复制到计算机硬盘的一个临时位置；
2、编辑刚复制到硬盘的packages文件夹中的INDEX文件，CD1和CD2、CD3的是同样的内容，编辑一个就可以了，这个是关 键，它记录了一个FreeBSD发行版所有package的光盘位置的信息，安装package判断在CD1还是CD2、CD3就是靠这个文件来判断的；
3、现在我们找一个文本编辑器将他打开，搜索并将"&#124;2"和"&#124;3"替换为"&#124;1"，从字面上看就能明白，就是将指向到CD2、CD3的package修改为指向CD1，因为我们只有一张DVD；
4、用UlrtaISO(或其他编辑镜像的软件)打开CD1，将刚才复制到硬盘上的CD2、CD3的packages文件夹追加到CD1 中，确保CD1的packages包含了发行版CD1和CD2、CD3所有packages的文件，并且INDEX文件是刚才我们编辑过的文件；
5、忽略CD2、CD3下的cdrom.inf，它已被遗弃；
6、还可以把docs盘的内容也相应的追加过来；
7、保存镜像 -&#62; [测试镜像] -&#62; 刻录光盘 -&#62; 完成。
Linux Platform
详情请见 LeakonWiki ：
http://wiki.leakon.com/BuildFreeBSDInstallationCDsToDVD
]]></description>
			<content:encoded><![CDATA[<p>本文分别以 Windows 平台和 Linux 平台描述了如何把 FreeBSD 的多张安装 CD 合并为一张 DVD。</p>
<h2><span class="mw-headline">Windows Platform</span></h2>
<p>Windows 平台</p>
<p>通常需要CD2、CD3的情况是在安装CD1上的package时需要安装CD2上的某些package才会被用到，并且安装期间很容易出现频繁的置换两张CD。</p>
<p>所以得出一个简单的、为了实现方便安装package的、制作单张FreeBSD DVD的方法：</p>
<p>制作平台是Windows + UltraISO =&gt; Freebsd 7.0。</p>
<p>其实可以用任何编辑ISO的软件，如果配合一个虚拟光驱来测试镜像，制作起来会更方便些。</p>
<p>步骤：</p>
<p>1、将CD2、CD3中的packages文件夹完整的复制到计算机硬盘的一个临时位置；</p>
<p>2、编辑刚复制到硬盘的packages文件夹中的INDEX文件，CD1和CD2、CD3的是同样的内容，编辑一个就可以了，这个是关 键，它记录了一个FreeBSD发行版所有package的光盘位置的信息，安装package判断在CD1还是CD2、CD3就是靠这个文件来判断的；</p>
<p>3、现在我们找一个文本编辑器将他打开，搜索并将"|2"和"|3"替换为"|1"，从字面上看就能明白，就是将指向到CD2、CD3的package修改为指向CD1，因为我们只有一张DVD；</p>
<p>4、用UlrtaISO(或其他编辑镜像的软件)打开CD1，将刚才复制到硬盘上的CD2、CD3的packages文件夹追加到CD1 中，确保CD1的packages包含了发行版CD1和CD2、CD3所有packages的文件，并且INDEX文件是刚才我们编辑过的文件；</p>
<p>5、忽略CD2、CD3下的cdrom.inf，它已被遗弃；</p>
<p>6、还可以把docs盘的内容也相应的追加过来；</p>
<p>7、保存镜像 -&gt; [测试镜像] -&gt; 刻录光盘 -&gt; 完成。</p>
<h2><span class="mw-headline">Linux Platform</span></h2>
<p>详情请见 <a href="http://wiki.leakon.com/" title="Leakon Wiki" target="_blank">LeakonWiki</a> ：</p>
<p><a href="http://wiki.leakon.com/BuildFreeBSDInstallationCDsToDVD" title="Build FreeBSD Installation CDs To One DVD" target="_blank">http://wiki.leakon.com/BuildFreeBSDInstallationCDsToDVD</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.leakon.com/archives/129/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD /etc 文件简介</title>
		<link>http://www.leakon.com/archives/116</link>
		<comments>http://www.leakon.com/archives/116#comments</comments>
		<pubDate>Wed, 27 Feb 2008 03:13:18 +0000</pubDate>
		<dc:creator>leakon</dc:creator>
				<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://www.leakon.com/archives/116</guid>
		<description><![CDATA[FreeBSD中/etc下的文件可以说是纷繁复杂，对熟悉它的人来讲不算什么，但对于一个新手来说就。。。太乱了，下面是一些经常用到的配置文件的作用和配置方法，但愿能给你一点帮助。
1. aliases
2. crontab
3. csh.cshrc
4. csh.login
5. csh.logout
6. daily
7. defaultdomain
8. exports
9. fbtab
10.fstab
11.ftpusers
12.group
13.host.conf
14.hosts
15.inetd.conf
16.localtime
17.login.conf
18.make.conf
19.monthly
20.motd
21.netstart----新版已改名为/etc/rc.network
22.passwd
23.printcap
24.profile
25.rc
26.rc.conf----代替原来的/etc/sysconfig
27.rc.conf.local----代替原来的/etc/rc.local
28.rc.i386
29.rc.local----新版改名为/etc/rc.conf.local
30.rc.network----代替原来的/etc/netstart
31.resolv.conf
32.services
33.shells
34.sysconfig----新版已改名为/etc/rc.conf
35.syslog.conf
36.termcap
37.ttys
38.weekly
1. aliases
这个档案主要是告诉 sendmail 要将信转寄给哪些使用者, 或是交由哪个程式处理.
如. root: user1,name2,user3
usenet: "&#124;/usr/local/bin/mail-post.pl"
如上范例, sendmail 会将原先寄给的 root 的信分送给 user1 和 name2 和 user3, 而把寄给 usenet 的信交由  mail-post.pl 处理.
在你修改完之後, 要记得执行 "newaliases" 来更新 /etc/aliases.db
关於 aliases 之详细说明, 请 man aliases 查询.
2. crontab
这是给 root 用的 crontab file, 你也可以杀掉这个档案以 "crontab -e" 来替代.
格式如下...
#分 小时 天 月 礼拜几 [...]]]></description>
			<content:encoded><![CDATA[<p>FreeBSD中/etc下的文件可以说是纷繁复杂，对熟悉它的人来讲不算什么，但对于一个新手来说就。。。太乱了，下面是一些经常用到的配置文件的作用和配置方法，但愿能给你一点帮助。</p>
<p>1. aliases<br />
2. crontab<br />
3. csh.cshrc<br />
4. csh.login<br />
5. csh.logout<br />
6. daily<br />
7. defaultdomain<br />
8. exports<br />
9. fbtab<br />
10.fstab<br />
11.ftpusers<br />
12.group<br />
13.host.conf<br />
14.hosts<br />
15.inetd.conf<br />
16.localtime<br />
17.login.conf<br />
18.make.conf<br />
19.monthly<br />
20.motd<br />
21.netstart----新版已改名为/etc/rc.network<br />
22.passwd<br />
23.printcap<br />
24.profile<br />
25.rc<br />
26.rc.conf----代替原来的/etc/sysconfig<br />
27.rc.conf.local----代替原来的/etc/rc.local<br />
28.rc.i386<br />
29.rc.local----新版改名为/etc/rc.conf.local<br />
30.rc.network----代替原来的/etc/netstart<br />
31.resolv.conf<br />
32.services<br />
33.shells<br />
34.sysconfig----新版已改名为/etc/rc.conf<br />
35.syslog.conf<br />
36.termcap<br />
37.ttys<br />
38.weekly</p>
<p>1. aliases</p>
<p>这个档案主要是告诉 sendmail 要将信转寄给哪些使用者, 或是交由哪个程式处理.</p>
<p>如. root: user1,name2,user3<br />
usenet: "|/usr/local/bin/mail-post.pl"</p>
<p>如上范例, sendmail 会将原先寄给的 root 的信分送给 user1 和 name2 和 user3, 而把寄给 usenet 的信交由  mail-post.pl 处理.</p>
<p>在你修改完之後, 要记得执行 "newaliases" 来更新 /etc/aliases.db</p>
<p>关於 aliases 之详细说明, 请 man aliases 查询.</p>
<p>2. crontab</p>
<p>这是给 root 用的 crontab file, 你也可以杀掉这个档案以 "crontab -e" 来替代.<br />
格式如下...</p>
<p>#分 小时 天 月 礼拜几 用谁的身份 命令<br />
*/5 * * * * root /usr/libexec/atrun</p>
<p>minute: 分钟/小时, 范围自 0 至 59<br />
hour: 小时/天, 范围自 0 至 23<br />
mday: 天/月, 范围自 0 至  31<br />
month: 月/年, 范围自 0 至 12<br />
wday: 天/周, 范围自 0 至 7 (0, 7 表示星期天)<br />
who:  表是以谁的身份执行这个 command<br />
(这只对 /etc/crontab 有用, crontab -e 无此栏位)<br />
command: 命令或是  shell script</p>
<p>*/N: 表示每 N 一算, 像小时而言, */3 指的是 0,3,6,9,12</p>
<p>请 man 5 crontab 去看详细说明.</p>
<p>3. csh.cshrc</p>
<p># 系统内定给 csh shell 用的 .cshrc 档</p>
<p>## 确定 HOME 目录<br />
setenv HOME $HOME<br />
set home=$HOME<br />
cd $HOME</p>
<p>## 档案权限设定<br />
umask 022</p>
<p>## 就是 Aliases 嘛<br />
alias pftp '/usr/local/bin/pftp'<br />
alias free 'pstat  -s|grep -v not'<br />
alias talk ytalk<br />
alias ruptime '/usr/bin/ruptime|grep -v  down'<br />
alias ftp ncftp<br />
alias rwho '/usr/bin/rwho -a|grep -v LOGIN'<br />
alias more less<br />
alias zmore zless<br />
alias m less<br />
alias pss 'ps  auxw|sort -k 2|grep $USER'<br />
alias psm 'ps auxw|sort -k 1,2|more'<br />
alias  psl psm<br />
alias psv 'ps auxw|grep -v $USER|sort -k 2|more'<br />
alias d  '/usr/local/bin/colorls -G -alFgk \!* | more'<br />
alias dir  '/usr/local/bin/colorls -G -alFgk \!*'<br />
alias rd rmdir<br />
alias md mkdir<br />
alias cls clear<br />
alias cd.. 'cd ..'<br />
alias del '/bin/rm -i'<br />
alias  xdel '/bin/rm -rf'<br />
alias mv 'mv -i'<br />
alias dir/w '/bin/ls -aFgk'<br />
alias dw '/bin/ls -aFgk'<br />
#alias x '(startx  &amp;)&gt;&amp;/dev/console;sleep 300;lo'<br />
#alias lpr 'lpr -m'<br />
alias cp  'cp -i'<br />
alias rm 'rm -i'<br />
alias lo 'clear;exit'<br />
alias bye  'clear;exit'<br />
#alias vi cvi<br />
alias unlo 'unset autologout;unsetenv  autologout'<br />
alias q joe<br />
alias .. 'cd ..'<br />
alias ... 'cd ../..'<br />
#alias ku 'ku -W'<br />
alias tin rtin<br />
#alias s 'exec screen'</p>
<p>## 环境设定<br />
set path = (/sbin /usr/sbin /bin /usr/bin /usr/local/sbin  /usr/local/bin)<br />
set path = ($path /etc /usr/etc /usr/local/etc)<br />
set path  = ($path /usr/X11R6/bin /usr/games)<br />
set path = ($path ~ ~/bin .)<br />
set  mail = (10 /var/mail/$USER)<br />
set recexact<br />
set autolist<br />
set matchbeep  = ambiguous<br />
set autoexpand<br />
set autocorrect<br />
set ignoreeof<br />
set  noclobber<br />
set notify<br />
set correct = all<br />
if ( ! $?WINDOW ) then<br />
#  set prompt = "%B%m [%/] [%?] -%n- "<br />
set prompt = "%B%m [%/] -%n- "<br />
else<br />
set prompt = "%B%m [%/] -%n- [W$WINDOW] "<br />
endif<br />
set prompt2 = "(%t  %m)%~ #%% "<br />
set prompt3 = "%SDo you mean [%R] (y/n/e) ? "<br />
set history =  500<br />
set savehist = 500<br />
set time=100<br />
#set watch=(1 any any)<br />
set  symlinks = ignore<br />
set listlinks<br />
set listjobs<br />
set rmstar<br />
set  showdots<br />
#set tperiod = 30<br />
# set autologout = (60 2)<br />
#setenv MANPATH  /usr/man:/usr/local/man:/usr/man/preformat:/usr/X11/man:/usr/openwin/man<br />
setenv EDITOR /usr/local/bin/joe<br />
setenv VISUAL /usr/local/bin/joe<br />
setenv EXINIT 'set ai'<br />
setenv LESS "-EsPm-LESS-"<br />
setenv LESSCHARDEF  "8bcccbcc18b95.."<br />
setenv PAGER "less -Em"<br />
#setenv PAGER more<br />
setenv  LC_CTYPE lt_LN.ISO_8859-1<br />
setenv LANG C<br />
setenv BLOCKSIZE 1k<br />
setenv  MACHINE_ARCH i386<br />
setenv MACHINE i386<br />
setenv ORGANIZATION "交大资工 ADONIS"</p>
<p>## X 相关设定<br />
setenv XWINHOME '/usr/X11R6'<br />
setenv X11HOME '/usr/X11R6'<br />
setenv OPENWINHOME '/usr/X11R6'<br />
setenv XKEYSYMDB  /usr/X11R6/lib/X11/XKeysymDB<br />
setenv XNLSPATH /usr/X11R6/lib/X11/nls<br />
#setenv LD_LIBRARY_PATH /usr/lib:/usr/X11R6/lib:/usr/local/lib<br />
stty  erase '^?'</p>
<p>if ( $?TERM ) then<br />
if ($TERM == "xterm" || $TERM == "xterms") then<br />
stty erase '^H'<br />
endif<br />
endif</p>
<p>## 杂七杂八设定<br />
#set term = vt100<br />
#set TERM = vt100<br />
#setenv term vt100<br />
#setenv TERM vt100<br />
#stty extb<br />
stty 38400<br />
stty crt<br />
stty -tabs<br />
stty -istrip<br />
stty pass8<br />
unlo<br />
#bindkey "[HOME]" beginning-of-line<br />
#bindkey "[ESC]" keyboard-quit<br />
limit coredumpsize 0</p>
<p># 给 FSP Client 用<br />
setenv FSP_PORT 21<br />
setenv FSP_HOST nctuccca.edu.tw<br />
setenv FSP_DIR /<br />
setenv FSP_TRACE<br />
setenv FSP_DELAY 3000</p>
<p># Aii.. 就是 fsp aliases <img src='http://www.leakon.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
alias fcat '(set noglob; exec fcatcmd \!*)'<br />
alias fcd 'setenv FSP_DIR `(set noglob; exec fcdcmd \!*)`;fpwd'<br />
alias  fdu \(set noglob\; exec fducmd \!\*\)<br />
alias ffind \(set noglob\; exec  ffindcmd \!\*\)<br />
alias fget '(set noglob; exec fgetcmd \!*)'<br />
alias fgrab  '(set noglob; exec fgrabcmd \!*)'<br />
alias fls '(set noglob; exec flscmd -F  \!*)'<br />
alias fll '(set noglob; exec flscmd -l \!*)'<br />
alias fdir '(set  noglob; exec flscmd -l \!*)'<br />
alias fmore \(set noglob\; exec fcatcmd \!\* \|  more\)<br />
alias fpro '(set noglob; exec fprocmd \!*)'<br />
alias fpwd 'echo  "$FSP_HOST ($FSP_PORT): $FSP_DIR"'<br />
alias frm '(set noglob; exec frmcmd \!*)'<br />
alias frmdir '(set noglob; exec frmdircmd \!*)'<br />
alias fhost 'setenv  FSP_HOST \!*;setenv FSP_DIR /'</p>
<p>4. csh.login</p>
<p># 系统内定的 .login 档.</p>
<p>#stty extb<br />
stty 38400<br />
#stty crt<br />
#stty -tabs<br />
stty -istrip<br />
stty pass8</p>
<p># Mesg y if not console<br />
mesg y<br />
if ( `tty | cut -c 6-` == console )  then<br />
mesg n<br />
endif</p>
<p>msgs -fp</p>
<p>5. csh.logout</p>
<p># 系统内定的 .logout<br />
clear<br />
.</p>
<p>6. daily</p>
<p>cron 会依照 /etc/crontab 去做每日例行的工作. 注意一下有些 commands 对你的硬盘造成很大的负荷, 像是最後一行的 "sh  /etc/security", 他会从你的根目录开始查询. 你可以加些每天你想要执行的commands, 像是 "quotacheck -a",  "bin/rm/-f /tmp*junk*.</p>
<p>7. defaultdomain</p>
<p>这个档案记载你的 domainname, 你有跑 yp (nis) 时才有用. 当然闲闲填一填也没差啦.</p>
<p>8. exports</p>
<p>这个档案定义哪些目录可经由 NFS 给别人使用.<br />
例如 /cdrom -ro host1,host2<br />
/home  -maproot=root host3</p>
<p>Notice: 若你没加 "-ro" 表示可以写入, 所以你应当小心点.</p>
<p>做完修正後, "kill -1 $mountd_pid", 然後用 "showmount -e" 去看看 NFS 是否做的正确. 如果有错, 用  "tail /var/log/messages" 来看错误讯息.</p>
<p>你应该要将 /etc/rc.conf 中的 nfs_client_enable, nfs_server_enable 设为 YES.</p>
<p>详细说明请 man 5 exports.</p>
<p>9. fbtab</p>
<p>/dev/ttyv0 0600 /dev/console<br />
/dev/ttyv1 0600 /dev/console<br />
/dev/ttyv2  0600 /dev/console<br />
/dev/ttyv3 0600 /dev/console<br />
#/dev/ttyv0 0600  /dev/pcaudio:/dev/pcaudioctl</p>
<p>10.fstab</p>
<p>这个档案定义当你开机时, 你想 mount 哪些 partition.<br />
例如.</p>
<p>/dev/sd0a / ufs rw 1 1<br />
/dev/sd0e /dos msdos ro,-gmsdos,-m750 1 1<br />
/dev/sd0g /usr/local ufs rw,userquota 1 1<br />
/dev/sd0h /home ufs  rw,userquota,groupquota 1 1<br />
/dev/sd0b none swap sw 0 0<br />
proc /proc procfs  rw 0 0<br />
kern /kern kernfs rw 0 0</p>
<p>详情请 man fstab.</p>
<p>如果你的 /usr 没有跟 / 放在一起，要特别注意，/usr 不可以放在使用 LKM 载入的 filesystem 後面。例如，你的 MSDOSFS  是利用 LKM 载入的(也就是说，你没有把 MSDOSFS 编译在 kernel 中)，你的 /dos<br />
一定要放在 /usr  後面，不然开机会失败，例如：</p>
<p>modload:exec(/usr/bin/ld):NO such file or directiory<br />
msdos:vfsload(msdos):Operation not permitted<br />
Filessystem mount  failed,startup aborted<br />
Enter pathname of shell or RETURN for sh</p>
<p>11.ftpusers</p>
<p>这个档注明的 users 将无法 ftp 这台机器. 只要写 username 即可. 算是禁止 ftp 进来的黑名单吧.</p>
<p>12.group</p>
<p>这个档案主要记载著 group 名称, group id 以及隶属於该 group 的使用者.</p>
<p>要记得在 FreeBSD 中, 只有属於 wheel group 的使用者才能 su 成 root.</p>
<p>在升级时特别注意 /usr/src/etc/group 中是否有新增系统 group， 如 network 这个 group 就是最近新增的 group.</p>
<p>其他详细请用 man group.</p>
<p>13.host.conf</p>
<p>这个档案决定 DNS-name-lookup 的先後顺序. 你最好先 "hosts", 其次 "bind", 最後用 "nis".</p>
<p>hosts: 自 /etc/hosts 查询.<br />
bind: 自 nameserver (参考 /etc/resolv.conf 设定) 查询.<br />
nis: 自 nis server 查询.</p>
<p>14.hosts</p>
<p>这个档案记载了你所需要的 ip 和 hostname, 最少要包括 localhost 和你自己的 hostname, 通常是提供优先於  nameserver 的查询, 或是没有 nameserver 时的查询.</p>
<p>格式如下：<br />
IP-addr full-hostname alias<br />
如. 123.456.789.123 heaven.net.com  heaven</p>
<p>请 man hosts 去看详细说明.</p>
<p>15.inetd.conf</p>
<p>这个档案定义由 inetd 所提供的服务, 应该要和 /etc/services 保持一致性.</p>
<p>当你修改这个档案的时候, 记得要 kill -1 $inetd_pid 去知会 inetd 要重新更新资料.</p>
<p>你可以安装 tcp-wrapper (tcpd) 以增加安全性.</p>
<p>16.localtime</p>
<p>这个档记载你所在的时区资料, 你可以从 /usr/share/zoneinfo 中选一个适合的来用.</p>
<p>就台湾而言, 你应该用 /usr/share/zoneinfo/Asia/Taipei, 正常来说, 在 install 时会自动将此档案 copy 到  /etc/localtime.</p>
<p>17.login.conf</p>
<p>此档案可控制系统资源与帐号各方面的限制，亦可设定内定之环境变数。</p>
<p>"man login.conf" for detail.</p>
<p>18.make.conf</p>
<p>当你用 make 时, 这个定义档将被参考.</p>
<p>如果不是以 BSD 格式撰写的 Makefiles, 你应该安装 gmake (GNU)</p>
<p>19.monthly</p>
<p>每月例行的 jobs.</p>
<p>20.motd</p>
<p>Message Of Today, 顾名思义, 就是当你 login 时所出现的画面.</p>
<p>假如你要有自己的 motd, 你必须把 /etc/rc.local 前面几行在开机时会更改 motd 的命令拿掉, 否则你每次开机 motd 会被乱改.</p>
<p>21.netstart----新版已改名为/etc/rc.network</p>
<p>目前此档已由 /etc/rc.network 取代 目前此档只作为 root 在 single user mode 要手动启动网路服务<br />
时使用。  这个档案不要做更动, 应该去修改 /etc/rc.conf</p>
<p>22.passwd</p>
<p>/etc/passwd /etc/master.passwd /etc/spwd.db /etc/pwd.db 都是 由 vipw 所产生的.  关於怎样去建一个帐号, 请参考 HOW-TO-adduser.</p>
<p>你可以 man passwd, vipw, chpass, chfn 查询详细说明.</p>
<p>23.printcap</p>
<p>这个档案定义印表机的设定, 在修改後, 试著用 lpr 去列印一些东西, 假如你觉得很慢, 试著用 lptcontrol -p 去改变 /dev/lpt0  到 poll 模式, 当然, 你可以将 lptcontrol -p 加到 /etc/rc.local 里 以使每次开机都有效.</p>
<p>man lptcontrol 查询详细说明.</p>
<p>24.profile</p>
<p>这是 /bin/sh 的 default 设定.</p>
<p>25.rc</p>
<p>当系统开机时, kernel 会先去载入 /sbin/init, 然後 /sbin/init 会去执行 /etc/rc, 所以 /etc/rc 相对於  DOS 而言就好像 AUTOEXEC.BAT. 这个档案不要去更改, 假如你不希望每次开机时 /tmp 会被清乾净, 那你可以将跟 /tmp 相关的几行给砍掉.  (个人偏好)</p>
<p>26.rc.conf----代替原来的/etc/sysconfig</p>
<p>这主要用来做系统开机时的环境设定. /etc/rc, /etc/rc.i386, /etc/rc.conf.local, /etc/rc.network,  /etc/[bla bla] 都会参考这个档案. 所以这个档案可以说非常重要.</p>
<p>大多都有注解, 以下列举一些你该注意的地方...<br />
1) hostname : 你的完整 hostname (FQDN: 像是  freebsd.csie.nctu.edu.tw)<br />
2) network_interfaces : 网路卡的 device name, 像是 "ed0  lnc0".<br />
3) ifconfig_xxx : 定义网路卡及其 ip address.<br />
像是 ifconfig_ed0="inet  140.113.145.1 netmask 0xffffff00"<br />
ifconfig_ed1="inet 140.113.190.1 netmask  0xffffff00"<br />
方法如下...<br />
ifconfig_$device-name="inet $IP netmask $netmask",<br />
netmask 0xffffff00 就是 255.255.255.0 表 Class C 网路.<br />
4) defaultrouter: 内定的  router IP.(比如: 140.113.122.254)<br />
5) routdflags : 通常 NO. 但是假如你想要跑 routed, 则用  "-s" 或 "-q".<br />
详细说明请 man routed.<br />
6) rwhod : YES 执行 rwho daemon. rwho 跟  ruptime 须此 daemon.<br />
7) sendmail_flags : 执行 sendmail daemon, 通常设为 "-db -q30m"<br />
 <img src='http://www.leakon.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> nfs_* : 执行 nfs client 或 server<br />
9) check_quotas : enable 档案系统 quotas<br />
10) accountint : enable command accounting, "lastcomm" 须要.<br />
11)  firewall_enable : enable firewall 的功能<br />
firewall_type : 指定 firewall 的形态</p>
<p>你应该设定完後再重新开机以测试是否每个改变都合乎你的要求.</p>
<p>27.rc.conf.local----代替原来的/etc/rc.local</p>
<p>在这个档案加入你个人的设定, 你可以将开机时想要执行的动作放在这里. 像 gopherd, lptcontrol, swap-on-file 等.</p>
<p>28.rc.i386</p>
<p>这个档案不要更动.</p>
<p>29.rc.local----新版改名为/etc/rc.conf.local</p>
<p>新版已由/etc/rc.conf.local所取代。</p>
<p>30.rc.network----代替原来的/etc/netstart</p>
<p>有关网路方面各项设定请由 /etc/rc.conf 设定，原则上此档不需更动</p>
<p>31.resolv.conf</p>
<p>这定义 DNS 查询 nameserver 的先後顺序.</p>
<p>1. domain : 将你的 domainname 放这儿.<br />
2. nameserver : 将你的 nameservers 放这儿,  最前面的会被当成主要的nameserver.<br />
3. search : 将 domainnames 放这儿, 当你没有输入完整的 hostname 时,  他会将 domainnames 附加上去. 例如: search csie.NCTU.edu.tw NCTU.edu.tw edu.tw tw</p>
<p>详情请 man resolver.</p>
<p>32.services</p>
<p>定义 service 名字以及 port. 不需要更动。</p>
<p>33.shells</p>
<p>所有的 shell 都应该放在这个档案里, 像是 /bin/sh, /bin/tcsh, /home/bbs/bin/bbsrf 等等.</p>
<p>假如说有某个使用者的 shell 没有列在这个档案中, 有些程式如 ftpd 会拒绝该使用者 ftp, 如 adduser 将会拒绝执行.</p>
<p>man shells 查询详细说明.</p>
<p>34.sysconfig----新版已改名为/etc/rc.conf</p>
<p>参考 rc.conf。</p>
<p>35.syslog.conf</p>
<p>这个档案指出系统的 log 应该储存在哪儿.</p>
<p>36.termcap</p>
<p>这个应该 link 到 /usr/share/misc/termcap.</p>
<p>37.ttys</p>
<p>定义 tty 的形式及某些 tty 允不允许 root login. 假如某些 ttys 後面加有 "secure", 表示 root 可以 login.  你应当多加些, 如 /dev/tty[pqrs][0-9a-v]</p>
<p>详情请 man ttys。</p>
<p>38.weekly</p>
<p>每周例行的工作。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leakon.com/archives/116/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD 彩色 目录 LS gnuls</title>
		<link>http://www.leakon.com/archives/78</link>
		<comments>http://www.leakon.com/archives/78#comments</comments>
		<pubDate>Tue, 23 Oct 2007 17:22:19 +0000</pubDate>
		<dc:creator>leakon</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[原创]]></category>

		<guid isPermaLink="false">http://www.leakon.com/archives/78</guid>
		<description><![CDATA[我的FreeBSD，登录的时候，用ls列表目录，是彩色的。
可执行文件是绿色，目录是蓝色，链接是青色，看起来很舒服，也更容易辨认系统。
要做到这样，很容易，只要系统装了gnuls就可以。
这个软件的porst安装在/usr/ports/misc/gnuls。
到这个目录下面，执行make install就可以了。
等安装完毕，在你的home目录下，编辑.cshrc，加入下面折行代码：
alias ls 'gnuls --color=auto --show-control-chars'
保存，关闭，然后重新登录系统。
这个时候再用ls看看，都是彩色了吧。
如果不行，记得检查一下SecureCRT的设置，选择仿真终端的时候，我这边设置的是Linux  ANSI颜色。
有问题来找我~~
]]></description>
			<content:encoded><![CDATA[<p>我的FreeBSD，登录的时候，用ls列表目录，是彩色的。</p>
<p>可执行文件是绿色，目录是蓝色，链接是青色，看起来很舒服，也更容易辨认系统。</p>
<p>要做到这样，很容易，只要系统装了gnuls就可以。</p>
<p>这个软件的porst安装在/usr/ports/misc/gnuls。</p>
<p>到这个目录下面，执行make install就可以了。</p>
<p>等安装完毕，在你的home目录下，编辑.cshrc，加入下面折行代码：</p>
<p><coolcode lang="html" linenum="off">alias ls 'gnuls --color=auto --show-control-chars'</coolcode></p>
<p>保存，关闭，然后重新登录系统。</p>
<p>这个时候再用ls看看，都是彩色了吧。</p>
<p>如果不行，记得检查一下SecureCRT的设置，选择仿真终端的时候，我这边设置的是Linux  ANSI颜色。</p>
<p>有问题来找我~~</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leakon.com/archives/78/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux FreeBSD date 函数 昨天日期 yesterday</title>
		<link>http://www.leakon.com/archives/48</link>
		<comments>http://www.leakon.com/archives/48#comments</comments>
		<pubDate>Fri, 14 Sep 2007 10:34:10 +0000</pubDate>
		<dc:creator>leakon</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[原创]]></category>

		<guid isPermaLink="false">http://www.leakon.com/archives/48</guid>
		<description><![CDATA[写 shell 脚本的时候，需要用到昨天的日期（yesterday, lastday），Linux 和 FreeBSD 虽说都是 *nix 系统，但一个简单的 date 函数居然用法都不一样。
例如，今天是 2007-9-14
FreeBSD：
输入：date -v -1d +%Y%m%d
输出：20070913
Linux：
输入：date --date='yesterday' +%Y%m%d
输出：20070913
看到这里，会发现，Linux 的局限性，他只能输出昨天的，但前天和大前天的之类的日期就没办法了。
我还是比较喜欢 FreeBSD。
]]></description>
			<content:encoded><![CDATA[<p>写 shell 脚本的时候，需要用到昨天的日期（yesterday, lastday），Linux 和 FreeBSD 虽说都是 *nix 系统，但一个简单的 date 函数居然用法都不一样。</p>
<p>例如，今天是 2007-9-14</p>
<p>FreeBSD：<br />
<coolcode linenum="off" lang="html">输入：date -v -1d +%Y%m%d<br />
输出：20070913</coolcode></p>
<p>Linux：<br />
<coolcode linenum="off" lang="html">输入：date --date='yesterday' +%Y%m%d<br />
输出：20070913</coolcode></p>
<p>看到这里，会发现，Linux 的局限性，他只能输出昨天的，但前天和大前天的之类的日期就没办法了。</p>
<p>我还是比较喜欢 <strong><a href="http://www.freebsd.org" title="FreeBSD" target="_blank">FreeBSD</a></strong>。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leakon.com/archives/48/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>xampp xdebug configure phpize php-config</title>
		<link>http://www.leakon.com/archives/44</link>
		<comments>http://www.leakon.com/archives/44#comments</comments>
		<pubDate>Tue, 04 Sep 2007 08:58:44 +0000</pubDate>
		<dc:creator>leakon</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Web开发]]></category>
		<category><![CDATA[原创]]></category>

		<guid isPermaLink="false">http://www.leakon.com/archives/44</guid>
		<description><![CDATA[看标题，不太会理解这篇文章的主题，只不过是有着微妙关联的几个软件，按照时间顺序发生在了我的身上。
xampp，是一个集成的 apache + php + mysql + ... 的开发环境，如果你是做 web 开发，对各种服务器软件的安装比较头疼，尤其是在 unix 下编译和配置各种软件没有经验的时候，这个软件就能帮大忙了。只要下载回去，解压到 /opt 目录下，然后
#/opt/lampp/lampp start 即可！
/opt/lampp/htdocs 就是你的 web 根目录，所有的环境都默认配好了。
通常，我都是在 vmware 里安装一个 FreeBSD 6，然后装这个 xampp，就立刻有了一个开发环境。
后来， 需要用 xdebug 调试 php 程序，Windows 版的超级简单，下载一个 DLL 文件即可，但 Unix 版的必须得在本机环境中编译才行。
以前编译过 apache 和 php 等软件，第一步都是在安装目录执行 ./configure ，但解压完 xdebug 发现根本没有这个文件，上网站查文档，发现需要执行 phpize。
百度了一把，大概了解到，phpize 是根据源码包中的好像是 config.m4 这个文件，生成 configure 脚本的，目前来说，我也就能领悟到这个层次了。还好，我查了 /opt/lampp 目录下面，有这个 phpize 文件，可以执行。执行完了，目录下面果然出现了 configure 文件，这个 [...]]]></description>
			<content:encoded><![CDATA[<p>看标题，不太会理解这篇文章的主题，只不过是有着微妙关联的几个软件，按照时间顺序发生在了我的身上。</p>
<p>xampp，是一个集成的 apache + php + mysql + ... 的开发环境，如果你是做 web 开发，对各种服务器软件的安装比较头疼，尤其是在 unix 下编译和配置各种软件没有经验的时候，这个软件就能帮大忙了。只要下载回去，解压到 /opt 目录下，然后</p>
<p>#/opt/lampp/lampp start 即可！</p>
<p>/opt/lampp/htdocs 就是你的 web 根目录，所有的环境都默认配好了。</p>
<p>通常，我都是在 vmware 里安装一个 FreeBSD 6，然后装这个 xampp，就立刻有了一个开发环境。</p>
<p>后来， 需要用 xdebug 调试 php 程序，Windows 版的超级简单，下载一个 DLL 文件即可，但 Unix 版的必须得在本机环境中编译才行。</p>
<p>以前编译过 apache 和 php 等软件，第一步都是在安装目录执行 ./configure ，但解压完 xdebug 发现根本没有这个文件，上网站查文档，发现需要执行 phpize。</p>
<p>百度了一把，大概了解到，phpize 是根据源码包中的好像是 config.m4 这个文件，生成 configure 脚本的，目前来说，我也就能领悟到这个层次了。还好，我查了 /opt/lampp 目录下面，有这个 phpize 文件，可以执行。执行完了，目录下面果然出现了 configure 文件，这个 configure 文件会调用 php-config。</p>
<p>php-config 可能就是获得当前 php 的各种环境设置变量的，在编译 xdebug 这种 php 扩展的时候会用到。</p>
<p>用 phpize 和 php-config 做好 configure 后，就要用 make 编译 xdebug 了。</p>
<p>这个时候，问题来了，屏幕刷刷地显示了几屏错误信息后，停在一个严重错误的提示信息下面 。</p>
<p>说是 xdebug 的语法错误。</p>
<p>我想，不会吧，这么出名的开源软件，都是经过很多测试的，不至于编译都过不去。然后自己检查前面的每一项错误信息，都是提示一些  .h  文件找不到，关键的几行是 php/include 目录，编译程序要在这个目录下面找文件，但是这个目录不存在！</p>
<p>这个提醒了我，由于我的  apache 和 php 环境是 xampp 打包的，目录结构和默认的不一样，而且很多文件也没有在系统中注册，是无法自动找到的。</p>
<p>我到朋友的服务器上测试了一下，他的软件都是一项一项安装的，基本都是默认目录。果然不出所料，在那里配置和编译都没有问题。</p>
<p>大概找到了问题的根源，然后在自己的虚拟机上重新安装了 apache 和 php，都是默认安装，然后，重新编译  xdebug，这回可以顺利通过了！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leakon.com/archives/44/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>解决 Failed to enable the &#039;httpready&#039; Accept Filter</title>
		<link>http://www.leakon.com/archives/43</link>
		<comments>http://www.leakon.com/archives/43#comments</comments>
		<pubDate>Tue, 04 Sep 2007 07:40:21 +0000</pubDate>
		<dc:creator>leakon</dc:creator>
				<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://www.leakon.com/archives/43</guid>
		<description><![CDATA[在 FreeBSD 下安装 apache22 会出现类似的 warming:
No such file  or directory: Failed to enable the 'httpready' Accept Filter
解决方法是：
#kldload accf_http并在 /boot/defaults/loader.conf 中加入下面 2 行，以便下次启动自动装载模块
accf_data_load="YES"
accf_http_load="YES"
]]></description>
			<content:encoded><![CDATA[<p>在 FreeBSD 下安装 apache22 会出现类似<span class="postbody">的 warming:<br />
No such file  or directory: Failed to enable the 'httpready' Accept Filter</span></p>
<p><span class="postbody">解决方法是：<br />
</span><span class="postbody">#kldload accf_http并在 /boot/defaults/loader.conf 中加入下面 2 行，以便下次启动自动装载模块<br />
</span>accf_data_load="YES"<br />
accf_http_load="YES"</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leakon.com/archives/43/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
