手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>操作系统>FreeBSD>列表

FreeBSD kernel 编译大法(三)编kernel失败的处理

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

--localstatedir=/var/mysql \
--with-low-memory \
--without-bench \
--without-debug
我们解释一下配置程序里面各行的含义。./configure就是要执行的配置程序了;--prefix=/usr/local
表示,编译后的MySQL数据库服务程序将会安装到/usr/local/bin目录当中,而库文件会安装到
/usr/local/lib/mysql目录中,头文件将安装到/usr/local/include目录中;--localstatedir=/var/mysql
表示数据库所用到的数据将会安装到/var/mysql目录中(我们在安装OpenBSD的时候提到如果需要,
可以为/var/mysql建立一个独立的分区就是这个原因,这样可以方便管理);--with-low-memory这一
句至关重要,没有了它,基本上就不要指望在您的机器上面通过编译,除非您拥有超过1Gb的内存,这句
会指导编译程序使用交换分区作为虚拟内存;--without-bench和—without-debug告诉编译器和安装脚本
不需要测试程序和调试信息。
好了,解释得够清楚吗?

第四节、编译和安装MySQL
这个步骤非常简单,只需要执行下面的命令即可,其他得事情由电脑来完成。因为编译的过程非常久,
可以喝杯水歇一歇。
make
make install
make init-db

第五节、测试MySQL
对不起,本节的标题有点含糊。这里的测试是指测试MySQL的编译和安装是否正常。为了测试MySQL
是否被正确编译和安装,需要执行以下的命令:
/usr/local/bin/safe_mysqld > /dev/null &
/usr/local/bin/mysqladmin –u root password ‘123456’
如果第二条命令无声无息地结束了,那么就证明MySQL可以正常使用了。对了,第二条命令其实是更
改系统管理员的口令啊!那么您知道以后使用MySQL程序的时候需要的口令了吗?

第六节、让MySQL在系统启动的时候自动启动
我们需要做一些工作来让MySQL在系统启动的时候自动启动。首先我们修改/etc/rc.conf文件,添加
以下的行:
mysqld_flags=””
然后,需要修改/etc/rc文件,找到启动named的代码(第171行),添加以下的代码:
if [ “X${mysqld_flags}” != X”NO” ]; then
echo ‘starting mysqld’
/usr/local/bin/safe_mysqld > /dev/null &
fi
另外,为了让其他需要用到MySQL的程序编译可以顺利通过,就需要在/etc/rc.local文件中添加以
下的代码:
if [ “X${mysqld_flags}” != X”NO” ]; then
/sbin/ldconfig –m /usr/local/lib/mysql
fi








第四课、配置邮件服务
其实OpenBSD 2.8在系统安装完成之后,就已经安装且启动了邮件服务sendmail。我们在这里需要为
OpenBSD找一个比sendmail更加安全、更加容易使用和高效能的邮件服务程序,我们选择了qmail(利用
qmail加上vpopmail可以把系统用户和邮件用户分离,并且使用虚拟邮件域。再加上MySQL就可以实现邮件
用户的数据库口令校验,这是我选择qmail的原因)。

第一节、关闭sendmail
因为qmail作为sendmail的替代服务程序,不能和sendmail一起工作,所以必须先关闭sendmail程序。
执行以下的命令关闭正在执行的sendmail程序。
Kill –9 `cat /var/run/sendmail.pid`
同时,必须把sendmail相关的链接删除,并把senmail更名
chmod 0 /usr/sbin/sendmail /usr/sbin/sendmail.old
最后还必须修改/etc/rc.conf文件,更改sendmail_flags以避免系统重新启动时sendmail自动启动。
sendmail_flags=”-q 30m” 改为 sendmail_flags=NO

第二节、安装qmail
如果一直按照手册的例子进行练习,那么现在应该可以访问CD-ROM,如果系统曾经重新启动,那么
请按照第三课、第一节的内容来访问CD-ROM。
进入/mnt/packages目录并安装qmail执行代码包:
cd /mnt/packages
pkg_add qmail-1.03.tgz
安装的过程中会询问是否添加一些组和用户,默认选择Y,不用改变,直接回车继续就可以了。一定
要记录qmaild的uid和nofiles的gid,因为在以后的课程中启动smtp和pop的时候需要它们(例如qmaild的
uid是2850,nofiles的gid是32750)。Qmail被安装到/var/qmail目录。

第三节、配置qmail
要配置和运行需要DNS正确运行,如果还没有配置DNS服务,请按照第二课的内容进行配置。
首先执行以下的命令建立新的sendmail链接,以实现和sendmail的兼容:
ln –s /var/qmail/bin/sendmail /usr/sbin/sendmail
然后建立基础的域信息,使用下面的命令来完成:
/var/qmail/setup/config-fast 01tech.nat
当然,也可以通过/var/qmail/setup/config来设置基础域信息,不过既然DNS正常,为什么不使用更
快捷的方法呢?config的用法请参考/var/qmail/doc里面的文档。
复制rc文件,并对其进行修改,让它和sendmail兼容:
cp /var/qmail/boot/home /var/qmail/rc
qmail默认使用Mailbox,而sendmail默认使用Maildir,很多的程序都根据sendmail规则来编写,需
要使用Maildir,所以需要更改rc文件,作出以下的更改:
Mailbox 改为 Maildir

第四节、测试qmail
安装和配置完成之后当然要测试一下qmail的运作是否正常了,执行以下的命令启动qmail服务:
csh –cf ‘/var/qmail/rc &’ > /dev/null &
然后使用以下的命令查看是否存在qmail-lspawn ./Maildir。如果已经存在,则证明qmail服务已经
正常启动,如果没有找到,就需要按照第三节的内容重新配置。
ps -x

第五节、启动系统时自动运行qmail服务
首先修改/etc/rc.conf文件,添加以下的内容:
qmail_flags=””
然后修改/etc/rc文件,找到sendmail的启动代码,在后面添加以下的代码:
if [ “X${qmail_flags}” != X”NO” ]; then
echo –n ‘ qmail’; csh –cf ‘/var/qmail/rc &’ > /dev/null &
fi





第五课、分离系统用户和邮件用户
我们使用vpopmail来分离系统用户和邮件用户,这样可以提高系统的安全性。而且vpopmail还可以

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!