跟着ArthurXF学FreeBSD6——如何将wget等常用命令加入环境变量
2007/01/19 12:01 ArthurXF
我们刚才安装了wget软件,现在要开始使用了,当我们输入命令之后,竟然告诉我们命令没找到,那么我们就要找到软件安装在哪里才能去使用它,这样是不是太不方便了啊?那么我们就把软件命令所在的目录加入到环境变量中去,那么我们就可以在任何目录下使用命令了。在加入环境变量之前,我们先说一下概念。
我们进入FreeBSD之后就进入命令解释状态,命令解释程序shell就相当于windows下面的dos啦。我们在shell下输入我们的操作命令,由shell去解释我们的命令告诉计算机如何去操作。在 Unix长期发展过程中,开发了很多种不同的shell,来解释用户的指令,包括sh、csh、bash等等。基本上,sh和csh是最基本的两种shell,而其他种类的shell通常是这两种shell的某种扩展。这两个基本shell的风格不太相同,某些基本指令也有所不同,不同的使用者常常会根据喜好来在两者之间进行选择。
在登录FreeBSD系统之后,这个shell将给出一个提示符等待用户输入,(sh为 “ $ ” ,csh为 “ % ” ,如果是使用root用户,登录提示符将是 “ # ” ),然后对用户的输入进行解释执行。当shell接收到用户的指令的时候,它需要在一定的路径中查找可执行的指令,这个路径就是由环境变量PATH来确定的。
上面的方法仅仅是临时改变环境变量,如果我们需要每次启动都改变呢?那么我们就要去修改环境变量的配置文件了。
明白原理之后,我们把wget所在的目录加进系统环境变量文件中去吧。
好了这样就可以在任何地方使用wget命令了。多方便啊!
现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。加我QQ:29011218交流也可。
PHP培训招生简章
我们进入FreeBSD之后就进入命令解释状态,命令解释程序shell就相当于windows下面的dos啦。我们在shell下输入我们的操作命令,由shell去解释我们的命令告诉计算机如何去操作。在 Unix长期发展过程中,开发了很多种不同的shell,来解释用户的指令,包括sh、csh、bash等等。基本上,sh和csh是最基本的两种shell,而其他种类的shell通常是这两种shell的某种扩展。这两个基本shell的风格不太相同,某些基本指令也有所不同,不同的使用者常常会根据喜好来在两者之间进行选择。
在登录FreeBSD系统之后,这个shell将给出一个提示符等待用户输入,(sh为 “ $ ” ,csh为 “ % ” ,如果是使用root用户,登录提示符将是 “ # ” ),然后对用户的输入进行解释执行。当shell接收到用户的指令的时候,它需要在一定的路径中查找可执行的指令,这个路径就是由环境变量PATH来确定的。
引用
可以使用echo指令来查看环境变量的内容。
echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/root/bin
echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/root/bin
引用
在 sh下通过下面方法重新设置环境变量:
$ PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
$ export PATH
$ PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
$ export PATH
引用
而在 csh中,需要使用setenv指令:
setenv PATH /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
setenv PATH /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
上面的方法仅仅是临时改变环境变量,如果我们需要每次启动都改变呢?那么我们就要去修改环境变量的配置文件了。
引用
用户登录时,sh将首先自动执行/etc/profile文件,为每个用户设置最基本的环境,而csh将使用/etc/csh.cshrc,csh.login和csh.logout作为系统级csh资源文件。执行了系统级别的登录文件之后,每个用户的shell就在该用户的主目录下寻找该用户个人的资源文件:sh使用.profile文件,csh使用.login和.cshrc文件。这些资源文件均使用相应的shell语言,/etc/profile和个人目录下的.profile使用sh风格的控制语言,/etc/cshrc和个人目录下的.login、.cshrc使用csh风格的控制语言。
明白原理之后,我们把wget所在的目录加进系统环境变量文件中去吧。
引用
cd etc
vi profile
在最后加入
export /usr/local/bin
:wq
vi profile
在最后加入
export /usr/local/bin
:wq
好了这样就可以在任何地方使用wget命令了。多方便啊!
现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。加我QQ:29011218交流也可。
PHP培训招生简章
跟着ArthurXF学FreeBSD5——使用Ports安装软件
2007/01/19 09:54 ArthurXF
昨天我们更新了Ports,那么我们就要用Ports安装软件了,可是这么多的软件到底我们要安装的软件在哪里呢?总不能一个一个去找吧?那么我们使用下面的命令来查找:
whereis 软件名
例如: whereis wgetpro
然后系统就会告诉我们
wgetpro: /usr/ports/ftp/wgetpro
呵呵,是不是很方便啊?
接着我们来看看怎么安装软件了
这样就安装好了,是不是很方便啊?
PORTS安装软件的几个常用命令
现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。加我QQ:29011218交流也可。
PHP培训招生简章
whereis 软件名
例如: whereis wgetpro
然后系统就会告诉我们
wgetpro: /usr/ports/ftp/wgetpro
呵呵,是不是很方便啊?
接着我们来看看怎么安装软件了
引用
进入软件所在的目录
cd /usr/ports/ftp/wgetpro
编译
make
执行安装
make install clean
cd /usr/ports/ftp/wgetpro
编译
make
执行安装
make install clean
这样就安装好了,是不是很方便啊?
PORTS安装软件的几个常用命令
引用
1.怎样找到我想安装的包路径:
# cd /usr/ports
# make search name=mysql
2.仅仅下载源码包,而不安装:
# cd /usr/ports/directory
# make fetch
3.预先知道需要那些包,才能安装这个软件:
# cd /usr/ports/directory
# make fetch-list
4.把软件装到指定的目录:
# cd /usr/ports/directory
# make PREFIX=/usr install
5.仅仅下载包,解包,而不安装:
# cd /usr/ports/directory
# make extract
6.用PORTS制作一个定制二进制包:
# cd /usr/ports/somewhere/frobble
# make extract
# cd work/frobble-2.8
[Apply your patches]
# cd ../..
# make package
7.强制安装:
# make install FORCE_PKG_REGISTER=yes clean
8.初始化一个port
# cd /usr/ports/directory
# make rmconfig
# make config
# cd /usr/ports
# make search name=mysql
2.仅仅下载源码包,而不安装:
# cd /usr/ports/directory
# make fetch
3.预先知道需要那些包,才能安装这个软件:
# cd /usr/ports/directory
# make fetch-list
4.把软件装到指定的目录:
# cd /usr/ports/directory
# make PREFIX=/usr install
5.仅仅下载包,解包,而不安装:
# cd /usr/ports/directory
# make extract
6.用PORTS制作一个定制二进制包:
# cd /usr/ports/somewhere/frobble
# make extract
# cd work/frobble-2.8
[Apply your patches]
# cd ../..
# make package
7.强制安装:
# make install FORCE_PKG_REGISTER=yes clean
8.初始化一个port
# cd /usr/ports/directory
# make rmconfig
# make config
现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。加我QQ:29011218交流也可。
PHP培训招生简章
跟着ArthurXF学FreeBSD4——查看ports安装软件的依赖关系
2007/01/18 18:25 ArthurXF
FreeBSD的ports安装软件有两种依赖,一种是编译时的依赖,一种是运行时的依赖。
如:
编译安装wget,需要安装gettext-0.14.5、libiconv-1.9.2_1、perl-5.8.7三个依赖。
用package安装,则只需要gettext-0.14.5、libiconv-1.9.2_1两个依赖
那么安装你要的软件的时候,前提你必须安装了依赖软件,如果你没有安装那些依赖软件呢,系统就会自动帮你装上去,如果你不想你的系统里很多你根本不用的垃圾软件呢。那么你就必须清楚安装的软件有哪些依赖软件使你运行软件所不需要的。
这样等你安装好了以后,就可以把不需要的依赖软件删掉。
查询依赖软件的命令是:
在ports里应该用
make search key="soft name"
或者
make search name="soft name"
查看说明。
命令可以使用*号还可以带上|more翻页阅读
现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。加我QQ:29011218交流也可。
PHP培训招生简章
如:
编译安装wget,需要安装gettext-0.14.5、libiconv-1.9.2_1、perl-5.8.7三个依赖。
用package安装,则只需要gettext-0.14.5、libiconv-1.9.2_1两个依赖
那么安装你要的软件的时候,前提你必须安装了依赖软件,如果你没有安装那些依赖软件呢,系统就会自动帮你装上去,如果你不想你的系统里很多你根本不用的垃圾软件呢。那么你就必须清楚安装的软件有哪些依赖软件使你运行软件所不需要的。
这样等你安装好了以后,就可以把不需要的依赖软件删掉。
查询依赖软件的命令是:
引用
cd /usr/ports
make search name=wget
make search name=wget
在ports里应该用
make search key="soft name"
或者
make search name="soft name"
查看说明。
命令可以使用*号还可以带上|more翻页阅读
现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。加我QQ:29011218交流也可。
PHP培训招生简章
跟着ArthurXF学FreeBSD3——用ftp.cn.FreeBSD.org更新ports
2007/01/18 18:04 ArthurXF
FreeBSD的Packages和Ports是应用程序的安装和配置及反安装的解决方案,基本上类似RedHat的RPM方案,再说的通俗一点就是windows的installer,这个还不知道啊?setup.exe总知道了吧?就是类似安装程序,只是FreeBSD把很多软件安装的接口都做到Ports里面去了,那么我们很多时候就想知道软件是不是有更新啦,我们要用新的软件,那么怎么办?那么我们就要更新Ports了。现在看看我们如何更新Ports的。
本文由ArthurXF倾情奉献,谢谢大家支持。
我们发现更新ports是一件痛苦的事情,主要的原因是很多软件都来自国外的服务器,那个下载速度只有几K,更新一次就要好几个小时。我们直接把下载服务器改成国内的服务器不是很好吗?网上虽然有很多教程说如何将MASTER_SITE_FREEBSD_ORG改成ftp.cn.FreeBSD.org,因为FreeBSD版本问题,很多方法都有些牛头不对马嘴了。这里ArthurXF直接奉献精华方法给大家。
大功告成,这样更新ports,就直接从中国的服务器下载了。这个速度就别提了,就是一个字,“快”!
1、安装cvsup
如果还没安装过cvsup,那么请执行以下命令安装:
cd /usr/ports/net/cvsup
make install clean
2、然后拷贝ports的配置文件到/etc/ports-supfile
cp /usr/share/examples/cvsup/ports-supfile /etc/ports-supfile
ee /etc/ports-supfile
将其中的# host=CHANGE_THIS.FreeBSD.org一行改为host=cvsup.cn.freebsd.org
cvsup.freebsdchina.org这个是中国的镜像服务器执行速度很快,不会连接过多
其他镜像站可以到http://www.freebsd.org/doc/handbook/cvsup.html#CVSUP-MIRRORS查找
3、更新ports
/usr/local/bin/cvsup -g -L 2 /etc/ports-supfile
4、修改/etc/make.conf文件
如果不存在则可以参考,/usr/share/examples/etc/make.conf文件新建一个,该文件主要是编译的时候需要用到。
如果要中文支持,就要加入这一段在make.conf中
下面是我的make.conf文件内容
好了,这样Ports就更新完了。想测试一下吗?赶快去安装一个软件试试吧。
我们以后要用ports方式安装软件,这些软件都是以源码形式安装的, 所以我们这里得做两方面的优化工作,第一是优化编译器,也就是GCC的编译指令,这样可以提高软件的效率,第二就是为ports下载软件加速了。
首先检查GCC的版本是否大于3.0
#gcc --version
接着我们调整一下GCC的编译参数。
# ee /etc/make.conf
加入:
CFLAGS= -march=prescott -O2 -pipe -msse2 -mmmx -mfpmath=sse
CXXFLAGS= ${CFLAGS}
其中-march是指你机器的CPU,不知道CPU型号可以用下面的方法来查,我的是Intel志强,结果如下:
# sysctl hw.model
hw.model: Genuine Intel(R) CPU 3.20GHz
以下是对照表,按照你的CPU型号改就OK了(参考金步国的《GCC编译优化指南》)。
i386 (Intel)
CFLAGS= -march=i386
CXXFLAGS+= -march=i386
i486 (Intel)
CFLAGS= -march=i486
CXXFLAGS+= -march=i486
Pentium 1 (Intel)
CFLAGS= -march=pentium
CXXFLAGS+= -march=pentium
Pentium MMX (Intel)
CFLAGS= -march=pentium-mmx
CXXFLAGS+= -march=pentium-mmx
Pentium PRO (Intel)
CFLAGS= -march=pentiumpro
CXXFLAGS+= -march=pentiumpro
Pentium II (Intel)
CFLAGS= -march=pentium2
CXXFLAGS+= -march=pentium2
Celeron (Mendocino), aka Celeron1 (Intel)
CFLAGS= -march=pentium2
CXXFLAGS+= -march=pentium2
Pentium III (Intel)
CFLAGS= -march=pentium3
CXXFLAGS+= -march=pentium3
Celeron (Coppermine) aka Celeron2 (Intel)
CFLAGS= -march=pentium3
CXXFLAGS+= -march=pentium3
Celeron (Willamette?) (Intel)
CFLAGS= -march=pentium4
CXXFLAGS+= -march=pentium4
Pentium 4 (Intel)
CFLAGS= -march=pentium4
CXXFLAGS+= -march=pentium4
Intel Core Solo/Duo(Intel)
model name : Genuine Intel(R) CPU TXXXX @ XXXGHz
CFLAGS= -march=prescott
CXXFLAGS+= -march=prescott
Eden C3/Ezra (Via)
CFLAGS= -march=i586 -m3dnow
CXXFLAGS+= -march=i586 -m3dnow
Core i7 and Core i5, Xeon 55xx
32 bit profile (x86) - for CHOST="i686-pc-linux-gnu"
CFLAGS=-O2 -pipe -march=nocona -msse3 -fomit-frame-pointer
CXXFLAGS=${CFLAGS}
32 bit profile (x86) - for >=sys-devel/gcc-4.3:
CHOST="i686-pc-linux-gnu"
CFLAGS=-O2 -pipe -march=core2 -msse4 -mcx16 -msahf -fomit-frame-pointer
CXXFLAGS=${CFLAGS}
64 bit profile (amd64) - for CHOST="x86_64-pc-linux-gnu"
CFLAGS=-march=nocona -O2 -msse3 -pipe
CXXFLAGS=${CFLAGS}
64 bit profile (amd64) - for >=sys-devel/gcc-4.3
CHOST="x86_64-pc-linux-gnu"
CFLAGS=-march=core2 -msse4 -mcx16 -msahf -O2 -pipe
CXXFLAGS=${CFLAGS}
K6 (AMD)
CFLAGS= -march=k6
CXXFLAGS+= -march=k6
K6-2 (AMD)
CFLAGS= -march=k6-2
CXXFLAGS+= -march=k6-2
K6-3 (AMD)
CFLAGS= -march=k6-3
CXXFLAGS+= -march=k6-3
Athlon (AMD)
CFLAGS= -march=athlon
CXXFLAGS+= -march=athlon
Athlon-tbird, aka K7 (AMD)
CFLAGS= -march=athlon-tbird
CXXFLAGS+= -march=athlon-tbird
Athlon-tbird XP (AMD)
CFLAGS= -march=athlon-xp
CXXFLAGS+= -march=athlon-xp
Athlon 4(AMD)
CFLAGS= -march=athlon-4
CXXFLAGS+= -march=athlon-4
Athlon XP (AMD)
CFLAGS= -march=athlon-xp
CXXFLAGS+= -march=athlon-xp
Athlon MP (AMD)
CFLAGS= -march=athlon-mp
CXXFLAGS+= -march=athlon-mp
更多类型请查阅http://en.gentoo-wiki.com/wiki/Safe_Cflags
最后我们的ports使用axel来多线程下载,不知道axel在ports的那个位置,可以用下面指令找找:
# cd /usr/ports
# make search key=axel
Port: axel-1.0b
Path: /usr/ports/ftp/axel
Info: A download accelerator
Maint: ports@FreeBSD.org
B-deps: gettext-0.14.5_2 gmake-3.81_1 libiconv-1.9.2_2
R-deps: gettext-0.14.5_2 libiconv-1.9.2_2
WWW: http://wilmer.gaast.net/main.php/axel.html
其实还有一个更方便的方法就是whereis
# whereis axel
axel: /usr/ports/ftp/axel
直接开始安装
# cd /usr/ports/ftp/axel
# make install clean
安装完成以后,我们到make.conf进行设置,axel才能工作。
# ee /etc/make.conf
加入:
FETCH_CMD=axel
FETCH_BEFORE_ARGS= -n 10 -a
FETCH_AFTER_ARGS=
DISABLE_SIZE=yes
这样编译出来的程序执行效率明显提高,呵呵。ArthurXF倾情奉献!
现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。加我QQ:29011218交流也可。
PHP培训招生简章
本文由ArthurXF倾情奉献,谢谢大家支持。
我们发现更新ports是一件痛苦的事情,主要的原因是很多软件都来自国外的服务器,那个下载速度只有几K,更新一次就要好几个小时。我们直接把下载服务器改成国内的服务器不是很好吗?网上虽然有很多教程说如何将MASTER_SITE_FREEBSD_ORG改成ftp.cn.FreeBSD.org,因为FreeBSD版本问题,很多方法都有些牛头不对马嘴了。这里ArthurXF直接奉献精华方法给大家。
引用
最近国内的服务器镜像的文件竟然不全,只有一部分,我找了半天,发现韩国的服务器是全的。
大家可以把下面的ftp.cn.FreeBSD.org替换成ftp.kr.FreeBSD.org即可
大家可以把下面的ftp.cn.FreeBSD.org替换成ftp.kr.FreeBSD.org即可
引用
cd /etc/
vi make.conf
加入下面的内容:
MASTER_SITE_FREEBSD_ORG= ftp://ftp.cn.FreeBSD.org/pub/FreeBSD/%SUBDIR%/
MASTER_SITE_GNOME= http://mirrors.geekbone.org/gnome/%SUBDIR%/
MASTER_SITE_LOCAL= ftp://ftp.cn.FreeBSD.org/pub/FreeBSD/ports/local-distfiles/%SUBDIR%/
MASTER_SITE_OVERRIDE=ftp://ftp.cn.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
vi make.conf
加入下面的内容:
MASTER_SITE_FREEBSD_ORG= ftp://ftp.cn.FreeBSD.org/pub/FreeBSD/%SUBDIR%/
MASTER_SITE_GNOME= http://mirrors.geekbone.org/gnome/%SUBDIR%/
MASTER_SITE_LOCAL= ftp://ftp.cn.FreeBSD.org/pub/FreeBSD/ports/local-distfiles/%SUBDIR%/
MASTER_SITE_OVERRIDE=ftp://ftp.cn.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
大功告成,这样更新ports,就直接从中国的服务器下载了。这个速度就别提了,就是一个字,“快”!
1、安装cvsup
如果还没安装过cvsup,那么请执行以下命令安装:
cd /usr/ports/net/cvsup
make install clean
2、然后拷贝ports的配置文件到/etc/ports-supfile
cp /usr/share/examples/cvsup/ports-supfile /etc/ports-supfile
ee /etc/ports-supfile
将其中的# host=CHANGE_THIS.FreeBSD.org一行改为host=cvsup.cn.freebsd.org
cvsup.freebsdchina.org这个是中国的镜像服务器执行速度很快,不会连接过多
其他镜像站可以到http://www.freebsd.org/doc/handbook/cvsup.html#CVSUP-MIRRORS查找
3、更新ports
/usr/local/bin/cvsup -g -L 2 /etc/ports-supfile
4、修改/etc/make.conf文件
如果不存在则可以参考,/usr/share/examples/etc/make.conf文件新建一个,该文件主要是编译的时候需要用到。
如果要中文支持,就要加入这一段在make.conf中
下面是我的make.conf文件内容
引用
SUP_UPDATE= yes
SUP= /usr/local/bin/cvsup
SUPFLAGS= -g -L 2
SUPHOST= cvsup.cn.FreeBSD.org
PORTSUPFILE= /etc/ports-supfile
WITH_CJK= yes
SUP= /usr/local/bin/cvsup
SUPFLAGS= -g -L 2
SUPHOST= cvsup.cn.FreeBSD.org
PORTSUPFILE= /etc/ports-supfile
WITH_CJK= yes
好了,这样Ports就更新完了。想测试一下吗?赶快去安装一个软件试试吧。
我们以后要用ports方式安装软件,这些软件都是以源码形式安装的, 所以我们这里得做两方面的优化工作,第一是优化编译器,也就是GCC的编译指令,这样可以提高软件的效率,第二就是为ports下载软件加速了。
首先检查GCC的版本是否大于3.0
#gcc --version
接着我们调整一下GCC的编译参数。
# ee /etc/make.conf
加入:
CFLAGS= -march=prescott -O2 -pipe -msse2 -mmmx -mfpmath=sse
CXXFLAGS= ${CFLAGS}
其中-march是指你机器的CPU,不知道CPU型号可以用下面的方法来查,我的是Intel志强,结果如下:
# sysctl hw.model
hw.model: Genuine Intel(R) CPU 3.20GHz
以下是对照表,按照你的CPU型号改就OK了(参考金步国的《GCC编译优化指南》)。
i386 (Intel)
CFLAGS= -march=i386
CXXFLAGS+= -march=i386
i486 (Intel)
CFLAGS= -march=i486
CXXFLAGS+= -march=i486
Pentium 1 (Intel)
CFLAGS= -march=pentium
CXXFLAGS+= -march=pentium
Pentium MMX (Intel)
CFLAGS= -march=pentium-mmx
CXXFLAGS+= -march=pentium-mmx
Pentium PRO (Intel)
CFLAGS= -march=pentiumpro
CXXFLAGS+= -march=pentiumpro
Pentium II (Intel)
CFLAGS= -march=pentium2
CXXFLAGS+= -march=pentium2
Celeron (Mendocino), aka Celeron1 (Intel)
CFLAGS= -march=pentium2
CXXFLAGS+= -march=pentium2
Pentium III (Intel)
CFLAGS= -march=pentium3
CXXFLAGS+= -march=pentium3
Celeron (Coppermine) aka Celeron2 (Intel)
CFLAGS= -march=pentium3
CXXFLAGS+= -march=pentium3
Celeron (Willamette?) (Intel)
CFLAGS= -march=pentium4
CXXFLAGS+= -march=pentium4
Pentium 4 (Intel)
CFLAGS= -march=pentium4
CXXFLAGS+= -march=pentium4
Intel Core Solo/Duo(Intel)
model name : Genuine Intel(R) CPU TXXXX @ XXXGHz
CFLAGS= -march=prescott
CXXFLAGS+= -march=prescott
Eden C3/Ezra (Via)
CFLAGS= -march=i586 -m3dnow
CXXFLAGS+= -march=i586 -m3dnow
Core i7 and Core i5, Xeon 55xx
32 bit profile (x86) - for
CFLAGS=-O2 -pipe -march=nocona -msse3 -fomit-frame-pointer
CXXFLAGS=${CFLAGS}
32 bit profile (x86) - for >=sys-devel/gcc-4.3:
CHOST="i686-pc-linux-gnu"
CFLAGS=-O2 -pipe -march=core2 -msse4 -mcx16 -msahf -fomit-frame-pointer
CXXFLAGS=${CFLAGS}
64 bit profile (amd64) - for
CFLAGS=-march=nocona -O2 -msse3 -pipe
CXXFLAGS=${CFLAGS}
64 bit profile (amd64) - for >=sys-devel/gcc-4.3
CHOST="x86_64-pc-linux-gnu"
CFLAGS=-march=core2 -msse4 -mcx16 -msahf -O2 -pipe
CXXFLAGS=${CFLAGS}
K6 (AMD)
CFLAGS= -march=k6
CXXFLAGS+= -march=k6
K6-2 (AMD)
CFLAGS= -march=k6-2
CXXFLAGS+= -march=k6-2
K6-3 (AMD)
CFLAGS= -march=k6-3
CXXFLAGS+= -march=k6-3
Athlon (AMD)
CFLAGS= -march=athlon
CXXFLAGS+= -march=athlon
Athlon-tbird, aka K7 (AMD)
CFLAGS= -march=athlon-tbird
CXXFLAGS+= -march=athlon-tbird
Athlon-tbird XP (AMD)
CFLAGS= -march=athlon-xp
CXXFLAGS+= -march=athlon-xp
Athlon 4(AMD)
CFLAGS= -march=athlon-4
CXXFLAGS+= -march=athlon-4
Athlon XP (AMD)
CFLAGS= -march=athlon-xp
CXXFLAGS+= -march=athlon-xp
Athlon MP (AMD)
CFLAGS= -march=athlon-mp
CXXFLAGS+= -march=athlon-mp
更多类型请查阅http://en.gentoo-wiki.com/wiki/Safe_Cflags
最后我们的ports使用axel来多线程下载,不知道axel在ports的那个位置,可以用下面指令找找:
# cd /usr/ports
# make search key=axel
Port: axel-1.0b
Path: /usr/ports/ftp/axel
Info: A download accelerator
Maint: ports@FreeBSD.org
B-deps: gettext-0.14.5_2 gmake-3.81_1 libiconv-1.9.2_2
R-deps: gettext-0.14.5_2 libiconv-1.9.2_2
WWW: http://wilmer.gaast.net/main.php/axel.html
其实还有一个更方便的方法就是whereis
# whereis axel
axel: /usr/ports/ftp/axel
直接开始安装
# cd /usr/ports/ftp/axel
# make install clean
安装完成以后,我们到make.conf进行设置,axel才能工作。
# ee /etc/make.conf
加入:
FETCH_CMD=axel
FETCH_BEFORE_ARGS= -n 10 -a
FETCH_AFTER_ARGS=
DISABLE_SIZE=yes
这样编译出来的程序执行效率明显提高,呵呵。ArthurXF倾情奉献!
现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。加我QQ:29011218交流也可。
PHP培训招生简章
跟着ArthurXF学FreeBSD2——给FreeBSD一个优化的新内核
2007/01/18 16:42 ArthurXF
FreeBSD安装好了以后呢,因为FreeBSD默认配置要支持很多的设备,要兼容各种设备管理啊,这样就启动了很多的驱动程序等等,这些东西我们都一般服务器配置好之后很多都用不到,而FreeBSD每次都要加载它们,这样FreeBSD启动慢,而且还占用资源,所以我们现在来重新配置FreeBSD的内核,去掉我们用不到的东西,这样我们就可以很快启动FreeBSD系统了。那么让我们开始:
cd /usr/src/sys/i386/conf
cp GENERIC ArthurXF
vi ArthurXF
大家自己选择一些要用到的设备,如果不用的就用#号注释掉,我把我的配置放出来仅供参考。
需要注意的是ident ArthurXF ,必须和你的内核文件名一致。
编辑完了以后就保存退出。然后执行:
cd /usr/src
make kernel KERNCONF=ArthurXF
系统开始编译内核了,如果全部通过了就可以继续操作了,如果编译出错了,就可能是哪个必须要用到的设备被你注释掉了,好好找找,把注释取消重新编译,直到编译通过为止。呵呵
编译通过之后,就重起让新内核加载:
shutdown –r now
重起之后,我们执行这个命令:
dmesg
这时我们将看到返回来的信息。
看到中间有这么一段吗?
这里就是在替换内核,说明我们的新内核已经启动了。哈哈,内核编译成功!
设置完成以后reboot机器。
如果要不重启机器加载改动的参数还可以使用:
# /etc/rc.d/sysctl reload
现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。加我QQ:29011218交流也可。
PHP培训招生简章24-bit>24-bit>16550a-compatible>16550a-compatible>16>16>
cd /usr/src/sys/i386/conf
cp GENERIC ArthurXF
vi ArthurXF
大家自己选择一些要用到的设备,如果不用的就用#号注释掉,我把我的配置放出来仅供参考。
需要注意的是ident ArthurXF ,必须和你的内核文件名一致。
引用
#
# GENERIC -- Generic kernel configuration file for FreeBSD/i386
#
# For more information on this file, please read the handbook section on
# Kernel Configuration Files:
#
# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ../../conf/NOTES and NOTES files.
# If you are in doubt as to the purpose or necessity of a line, check first
# in NOTES.
#
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.429.2.7.2.2 2006/05/01 00:15:12 scottl Exp $
machine i386
cpu I486_CPU
cpu I586_CPU
cpu I686_CPU
ident ArthurXF
# To statically compile in device wiring instead of /boot/device.hints
#hints "GENERIC.hints" # Default places to look for devices.
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
#options SCHED_ULE # ULE scheduler
options SCHED_4BSD # 4BSD scheduler
options PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
options INET6 # IPv6 communications protocols
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
options UFS_ACL # Support for access control lists
options UFS_DIRHASH # Improve performance on big directories
options MD_ROOT # MD is a potential root device
options NFSCLIENT # Network Filesystem Client
options NFSSERVER # Network Filesystem Server
options NFS_ROOT # NFS usable as /, requires NFSCLIENT
options MSDOSFS # MSDOS Filesystem
#options CD9660 # ISO 9660 Filesystem
options PROCFS # Process filesystem (requires PSEUDOFS)
options PSEUDOFS # Pseudo-filesystem framework
options GEOM_GPT # GUID Partition Tables.
options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]
options COMPAT_FREEBSD4 # Compatible with FreeBSD4
options COMPAT_FREEBSD5 # Compatible with FreeBSD5
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
options KTRACE # ktrace(1) support
options SYSVSHM # SYSV-style shared memory
options SYSVMSG # SYSV-style message queues
options SYSVSEM # SYSV-style semaphores
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~128k to driver.
options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~215k to driver.
options ADAPTIVE_GIANT # Giant mutex is adaptive.
device apic # I/O APIC
# Bus support.
device eisa
device pci
# Floppy drives
#device fdc
# ATA and ATAPI devices
device ata
device atadisk # ATA disk drives
device ataraid # ATA RAID drives
device atapicd # ATAPI CDROM drives
device atapifd # ATAPI floppy drives
device atapist # ATAPI tape drives
options ATA_STATIC_ID # Static device numbering
# SCSI Controllers
#device ahb # EISA AHA1742 family
#device ahc # AHA2940 and onboard AIC7xxx devices
#device ahd # AHA39320/29320 and onboard AIC79xx devices
#device amd # AMD 53C974 (Tekram DC-390(T))
#device isp # Qlogic family
#device ispfw # Firmware for QLogic HBAs- normally a module
#device mpt # LSI-Logic MPT-Fusion
#device ncr # NCR/Symbios Logic
#device sym # NCR/Symbios Logic (newer chipsets + those of `ncr')
#device trm # Tekram DC395U/UW/F DC315U adapters
#device adv # Advansys SCSI adapters
#device adw # Advansys wide SCSI adapters
#device aha # Adaptec 154x SCSI adapters
#device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
#device bt # Buslogic/Mylex MultiMaster SCSI adapters
#device ncv # NCR 53C500
#device nsp # Workbit Ninja SCSI-3
#device stg # TMC 18C30/18C50
# SCSI peripherals
#device scbus # SCSI bus (required for SCSI)
#device ch # SCSI media changers
#device da # Direct Access (disks)
#device sa # Sequential Access (tape etc)
#device cd # CD
#device pass # Passthrough device (direct SCSI access)
#device ses # SCSI Environmental Services (and SAF-TE)
# RAID controllers interfaced to the SCSI subsystem
#device amr # AMI MegaRAID
#device arcmsr # Areca SATA II RAID
#device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID
#device ciss # Compaq Smart RAID 5*
#device dpt # DPT Smartcache III, IV - See NOTES for options
#device hptmv # Highpoint RocketRAID 182x
#device rr232x # Highpoint RocketRAID 232x
#device iir # Intel Integrated RAID
#device ips # IBM (Adaptec) ServeRAID
#device mly # Mylex AcceleRAID/eXtremeRAID
#device twa # 3ware 9000 series PATA/SATA RAID
# RAID controllers
#device aac # Adaptec FSA RAID
#device aacp # SCSI passthrough for aac (requires CAM)
#device ida # Compaq Smart RAID
#device mfi # LSI MegaRAID SAS
#device mlx # Mylex DAC960 family
#device pst # Promise Supertrak SX6000
#device twe # 3ware ATA RAID
# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc # AT keyboard controller
device atkbd # AT keyboard
device psm # PS/2 mouse
#device kbdmux # keyboard multiplexer
device vga # VGA video card driver
device splash # Splash screen and screen saver support
# syscons is the default console driver, resembling an SCO console
device sc
# Enable this for the pcvt (VT220 compatible) console driver
#device vt
#options XSERVER # support for X server on a vt console
#options FAT_CURSOR # start with block cursor
device agp # support several AGP chipsets
# Power management support (see NOTES for more options)
#device apm
# Add suspend/resume support for the i8254.
device pmtimer
# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
#device cbb # cardbus (yenta) bridge
#device pccard # PC Card (16-bit) bus
#device cardbus # CardBus (32-bit) bus
# Serial (COM) ports
device sio # 8250, 16[45]50 based serial ports
# Parallel port
device ppc
device ppbus # Parallel port bus (required)
device lpt # Printer
device plip # TCP/IP over parallel
device ppi # Parallel port interface device
#device vpo # Requires scbus and da
# If you've got a "dumb" serial or parallel PCI card that is
# supported by the puc(4) glue driver, uncomment the following
# line to enable it (connects to the sio and/or ppc drivers):
#device puc
# PCI Ethernet NICs.
device de # DEC/Intel DC21x4x (``Tulip'')
device em # Intel PRO/1000 adapter Gigabit Ethernet Card
device ixgb # Intel PRO/10GbE Ethernet Card
device txp # 3Com 3cR990 (``Typhoon'')
device vx # 3Com 3c590, 3c595 (``Vortex'')
# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device miibus # MII bus support
device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet
device bfe # Broadcom BCM440x 10/100 Ethernet
device bge # Broadcom BCM570xx Gigabit Ethernet
device dc # DEC/Intel 21143 and various workalikes
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
device lge # Level 1 LXT1001 gigabit Ethernet
device nge # NatSemi DP83820 gigabit Ethernet
device nve # nVidia nForce MCP on-board Ethernet Networking
device pcn # AMD Am79C97x PCI 10/100(precedence over 'lnc')
device re # RealTek 8139C+/8169/8169S/8110S
device rl # RealTek 8129/8139
device sf # Adaptec AIC-6915 (``Starfire'')
device sis # Silicon Integrated Systems SiS 900/SiS 7016
device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet
device ste # Sundance ST201 (D-Link DFE-550TX)
device ti # Alteon Networks Tigon I/II gigabit Ethernet
device tl # Texas Instruments ThunderLAN
device tx # SMC EtherPower II (83c170 ``EPIC'')
device vge # VIA VT612x gigabit Ethernet
device vr # VIA Rhine, Rhine II
device wb # Winbond W89C840F
device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
# ISA Ethernet NICs. pccard NICs included.
#device cs # Crystal Semiconductor CS89x0 NIC
# 'device ed' requires 'device miibus'
#device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards
#device ex # Intel EtherExpress Pro/10 and Pro/10+
#device ep # Etherlink III based cards
#device fe # Fujitsu MB8696x based cards
#device ie # EtherExpress 8/16, 3C507, StarLAN 10 etc.
#device lnc # NE2100, NE32-VL Lance Ethernet cards
#device sn # SMC's 9000 series of Ethernet chips
#device xe # Xircom pccard Ethernet
# Wireless NIC cards
#device wlan # 802.11 support
#device an # Aironet 4500/4800 802.11 wireless NICs.
#device awi # BayStack 660 and others
#device ral # Ralink Technology RT2500 wireless NICs.
#device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device wl # Older non 802.11 Wavelan wireless NIC.
# Pseudo devices.
device loop # Network loopback
device random # Entropy device
device ether # Ethernet support
device sl # Kernel SLIP
device ppp # Kernel PPP
device tun # Packet tunnel.
device pty # Pseudo-ttys (telnet etc)
device md # Memory "disks"
device gif # IPv6 and IPv4 tunneling
device faith # IPv6-to-IPv4 relaying (translation)
# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device bpf # Berkeley packet filter
# USB support
#device uhci # UHCI PCI->USB interface
#device ohci # OHCI PCI->USB interface
#device ehci # EHCI PCI->USB interface (USB 2.0)
device usb # USB Bus (required)
#device udbp # USB Double Bulk Pipe devices
device ugen # Generic
#device uhid # "Human Interface Devices"
device ukbd # Keyboard
#device ulpt # Printer
#device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
#device ural # Ralink Technology RT2500USB wireless NICs
#device urio # Diamond Rio 500 MP3 player
#device uscanner # Scanners
# USB Ethernet, requires miibus
#device aue # ADMtek USB Ethernet
#device axe # ASIX Electronics USB Ethernet
#device cdce # Generic USB over Ethernet
#device cue # CATC USB Ethernet
#device kue # Kawasaki LSI USB Ethernet
#device rue # RealTek RTL8150 USB Ethernet
# FireWire support
#device firewire # FireWire bus code
#device sbp # SCSI over FireWire (Requires scbus and da)
#device fwe # Ethernet over FireWire (non-standard!)
# GENERIC -- Generic kernel configuration file for FreeBSD/i386
#
# For more information on this file, please read the handbook section on
# Kernel Configuration Files:
#
# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ../../conf/NOTES and NOTES files.
# If you are in doubt as to the purpose or necessity of a line, check first
# in NOTES.
#
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.429.2.7.2.2 2006/05/01 00:15:12 scottl Exp $
machine i386
cpu I486_CPU
cpu I586_CPU
cpu I686_CPU
ident ArthurXF
# To statically compile in device wiring instead of /boot/device.hints
#hints "GENERIC.hints" # Default places to look for devices.
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
#options SCHED_ULE # ULE scheduler
options SCHED_4BSD # 4BSD scheduler
options PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
options INET6 # IPv6 communications protocols
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
options UFS_ACL # Support for access control lists
options UFS_DIRHASH # Improve performance on big directories
options MD_ROOT # MD is a potential root device
options NFSCLIENT # Network Filesystem Client
options NFSSERVER # Network Filesystem Server
options NFS_ROOT # NFS usable as /, requires NFSCLIENT
options MSDOSFS # MSDOS Filesystem
#options CD9660 # ISO 9660 Filesystem
options PROCFS # Process filesystem (requires PSEUDOFS)
options PSEUDOFS # Pseudo-filesystem framework
options GEOM_GPT # GUID Partition Tables.
options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]
options COMPAT_FREEBSD4 # Compatible with FreeBSD4
options COMPAT_FREEBSD5 # Compatible with FreeBSD5
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
options KTRACE # ktrace(1) support
options SYSVSHM # SYSV-style shared memory
options SYSVMSG # SYSV-style message queues
options SYSVSEM # SYSV-style semaphores
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~128k to driver.
options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~215k to driver.
options ADAPTIVE_GIANT # Giant mutex is adaptive.
device apic # I/O APIC
# Bus support.
device eisa
device pci
# Floppy drives
#device fdc
# ATA and ATAPI devices
device ata
device atadisk # ATA disk drives
device ataraid # ATA RAID drives
device atapicd # ATAPI CDROM drives
device atapifd # ATAPI floppy drives
device atapist # ATAPI tape drives
options ATA_STATIC_ID # Static device numbering
# SCSI Controllers
#device ahb # EISA AHA1742 family
#device ahc # AHA2940 and onboard AIC7xxx devices
#device ahd # AHA39320/29320 and onboard AIC79xx devices
#device amd # AMD 53C974 (Tekram DC-390(T))
#device isp # Qlogic family
#device ispfw # Firmware for QLogic HBAs- normally a module
#device mpt # LSI-Logic MPT-Fusion
#device ncr # NCR/Symbios Logic
#device sym # NCR/Symbios Logic (newer chipsets + those of `ncr')
#device trm # Tekram DC395U/UW/F DC315U adapters
#device adv # Advansys SCSI adapters
#device adw # Advansys wide SCSI adapters
#device aha # Adaptec 154x SCSI adapters
#device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
#device bt # Buslogic/Mylex MultiMaster SCSI adapters
#device ncv # NCR 53C500
#device nsp # Workbit Ninja SCSI-3
#device stg # TMC 18C30/18C50
# SCSI peripherals
#device scbus # SCSI bus (required for SCSI)
#device ch # SCSI media changers
#device da # Direct Access (disks)
#device sa # Sequential Access (tape etc)
#device cd # CD
#device pass # Passthrough device (direct SCSI access)
#device ses # SCSI Environmental Services (and SAF-TE)
# RAID controllers interfaced to the SCSI subsystem
#device amr # AMI MegaRAID
#device arcmsr # Areca SATA II RAID
#device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID
#device ciss # Compaq Smart RAID 5*
#device dpt # DPT Smartcache III, IV - See NOTES for options
#device hptmv # Highpoint RocketRAID 182x
#device rr232x # Highpoint RocketRAID 232x
#device iir # Intel Integrated RAID
#device ips # IBM (Adaptec) ServeRAID
#device mly # Mylex AcceleRAID/eXtremeRAID
#device twa # 3ware 9000 series PATA/SATA RAID
# RAID controllers
#device aac # Adaptec FSA RAID
#device aacp # SCSI passthrough for aac (requires CAM)
#device ida # Compaq Smart RAID
#device mfi # LSI MegaRAID SAS
#device mlx # Mylex DAC960 family
#device pst # Promise Supertrak SX6000
#device twe # 3ware ATA RAID
# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc # AT keyboard controller
device atkbd # AT keyboard
device psm # PS/2 mouse
#device kbdmux # keyboard multiplexer
device vga # VGA video card driver
device splash # Splash screen and screen saver support
# syscons is the default console driver, resembling an SCO console
device sc
# Enable this for the pcvt (VT220 compatible) console driver
#device vt
#options XSERVER # support for X server on a vt console
#options FAT_CURSOR # start with block cursor
device agp # support several AGP chipsets
# Power management support (see NOTES for more options)
#device apm
# Add suspend/resume support for the i8254.
device pmtimer
# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
#device cbb # cardbus (yenta) bridge
#device pccard # PC Card (16-bit) bus
#device cardbus # CardBus (32-bit) bus
# Serial (COM) ports
device sio # 8250, 16[45]50 based serial ports
# Parallel port
device ppc
device ppbus # Parallel port bus (required)
device lpt # Printer
device plip # TCP/IP over parallel
device ppi # Parallel port interface device
#device vpo # Requires scbus and da
# If you've got a "dumb" serial or parallel PCI card that is
# supported by the puc(4) glue driver, uncomment the following
# line to enable it (connects to the sio and/or ppc drivers):
#device puc
# PCI Ethernet NICs.
device de # DEC/Intel DC21x4x (``Tulip'')
device em # Intel PRO/1000 adapter Gigabit Ethernet Card
device ixgb # Intel PRO/10GbE Ethernet Card
device txp # 3Com 3cR990 (``Typhoon'')
device vx # 3Com 3c590, 3c595 (``Vortex'')
# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device miibus # MII bus support
device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet
device bfe # Broadcom BCM440x 10/100 Ethernet
device bge # Broadcom BCM570xx Gigabit Ethernet
device dc # DEC/Intel 21143 and various workalikes
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
device lge # Level 1 LXT1001 gigabit Ethernet
device nge # NatSemi DP83820 gigabit Ethernet
device nve # nVidia nForce MCP on-board Ethernet Networking
device pcn # AMD Am79C97x PCI 10/100(precedence over 'lnc')
device re # RealTek 8139C+/8169/8169S/8110S
device rl # RealTek 8129/8139
device sf # Adaptec AIC-6915 (``Starfire'')
device sis # Silicon Integrated Systems SiS 900/SiS 7016
device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet
device ste # Sundance ST201 (D-Link DFE-550TX)
device ti # Alteon Networks Tigon I/II gigabit Ethernet
device tl # Texas Instruments ThunderLAN
device tx # SMC EtherPower II (83c170 ``EPIC'')
device vge # VIA VT612x gigabit Ethernet
device vr # VIA Rhine, Rhine II
device wb # Winbond W89C840F
device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
# ISA Ethernet NICs. pccard NICs included.
#device cs # Crystal Semiconductor CS89x0 NIC
# 'device ed' requires 'device miibus'
#device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards
#device ex # Intel EtherExpress Pro/10 and Pro/10+
#device ep # Etherlink III based cards
#device fe # Fujitsu MB8696x based cards
#device ie # EtherExpress 8/16, 3C507, StarLAN 10 etc.
#device lnc # NE2100, NE32-VL Lance Ethernet cards
#device sn # SMC's 9000 series of Ethernet chips
#device xe # Xircom pccard Ethernet
# Wireless NIC cards
#device wlan # 802.11 support
#device an # Aironet 4500/4800 802.11 wireless NICs.
#device awi # BayStack 660 and others
#device ral # Ralink Technology RT2500 wireless NICs.
#device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device wl # Older non 802.11 Wavelan wireless NIC.
# Pseudo devices.
device loop # Network loopback
device random # Entropy device
device ether # Ethernet support
device sl # Kernel SLIP
device ppp # Kernel PPP
device tun # Packet tunnel.
device pty # Pseudo-ttys (telnet etc)
device md # Memory "disks"
device gif # IPv6 and IPv4 tunneling
device faith # IPv6-to-IPv4 relaying (translation)
# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device bpf # Berkeley packet filter
# USB support
#device uhci # UHCI PCI->USB interface
#device ohci # OHCI PCI->USB interface
#device ehci # EHCI PCI->USB interface (USB 2.0)
device usb # USB Bus (required)
#device udbp # USB Double Bulk Pipe devices
device ugen # Generic
#device uhid # "Human Interface Devices"
device ukbd # Keyboard
#device ulpt # Printer
#device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
#device ural # Ralink Technology RT2500USB wireless NICs
#device urio # Diamond Rio 500 MP3 player
#device uscanner # Scanners
# USB Ethernet, requires miibus
#device aue # ADMtek USB Ethernet
#device axe # ASIX Electronics USB Ethernet
#device cdce # Generic USB over Ethernet
#device cue # CATC USB Ethernet
#device kue # Kawasaki LSI USB Ethernet
#device rue # RealTek RTL8150 USB Ethernet
# FireWire support
#device firewire # FireWire bus code
#device sbp # SCSI over FireWire (Requires scbus and da)
#device fwe # Ethernet over FireWire (non-standard!)
编辑完了以后就保存退出。然后执行:
cd /usr/src
make kernel KERNCONF=ArthurXF
系统开始编译内核了,如果全部通过了就可以继续操作了,如果编译出错了,就可能是哪个必须要用到的设备被你注释掉了,好好找找,把注释取消重新编译,直到编译通过为止。呵呵
编译通过之后,就重起让新内核加载:
shutdown –r now
重起之后,我们执行这个命令:
dmesg
这时我们将看到返回来的信息。
引用
Copyright (c) 1992-2006 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 6.1-RELEASE #0: Sun May 7 04:32:43 UTC 2006
root@opus.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC
ACPI APIC Table:
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Celeron(R) CPU 2.13GHz (2126.45-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0xf41 Stepping = 1
Features=0xbfebfbff
Features2=0x441d>
real memory = 528416768 (503 MB)
avail memory = 507715584 (484 MB)
ioapic0 irqs 0-23 on motherboard
kbd1 at kbdmux0
acpi0: on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
cpu0: on acpi0
acpi_throttle0: on cpu0
acpi_button0: on acpi0
pcib0: port 0xcf8-0xcff on acpi0
pci0: on pcib0
agp0: mem 0xd0000000-0xd7ffffff,0xdff80000-0xdfffffff irq 16 at device 2.0 on pci0
agp0: detected 8060k stolen memory
agp0: aperture size is 128M
uhci0: port 0xe400-0xe41f irq 16 at device 29.0 on pci0
uhci0: [GIANT-LOCKED]
usb0: on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: port 0xe800-0xe81f irq 19 at device 29.1 on pci0
uhci1: [GIANT-LOCKED]
usb1: on uhci1
usb1: USB revision 1.0
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2: port 0xec00-0xec1f irq 18 at device 29.2 on pci0
uhci2: [GIANT-LOCKED]
usb2: on uhci2
usb2: USB revision 1.0
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
ehci0: mem 0xdff7bc00-0xdff7bfff irq 23 at device 29.7 on pci0
ehci0: [GIANT-LOCKED]
usb3: EHCI version 1.0
usb3: companion controllers, 2 ports each: usb0 usb1 usb2
usb3: on ehci0
usb3: USB revision 2.0
uhub3: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub3: 6 ports with 6 removable, self powered
pcib1: at device 30.0 on pci0
pci3: on pcib1
rl0: port 0xcc00-0xccff mem 0xdfdfff00-0xdfdfffff irq 17 at device 4.0 on pci3
miibus0: on rl0
rlphy0: on miibus0
rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl0: Ethernet address: 00:14:78:25:fd:e6
rl1: port 0xc800-0xc8ff mem 0xdfdffe00-0xdfdffeff irq 18 at device 5.0 on pci3
miibus1: on rl1
rlphy1: on miibus1
rlphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl1: Ethernet address: 00:14:78:26:26:58
rl2: port 0xc400-0xc4ff mem 0xdfdffd00-0xdfdffdff irq 17 at device 10.0 on pci3
miibus2: on rl2
rlphy2: on miibus2
rlphy2: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl2: Ethernet address: 00:13:8f:78:da:51
isab0: at device 31.0 on pci0
isa0: on isab0
atapci0: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xfc00-0xfc0f at device 31.1 on pci0
ata0: on atapci0
ata1: on atapci0
pci0: at device 31.5 (no driver attached)
fdc0: port 0x3f2-0x3f3,0x3f4-0x3f5,0x3f7 irq 6 drq 2 on acpi0
fdc0: [FAST]
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A
sio1: port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
ppc0: port 0x378-0x37f,0x778-0x77b irq 7 drq 3 on acpi0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/9 bytes threshold
ppbus0: on ppc0
plip0: on ppbus0
lpt0: on ppbus0
lpt0: Interrupt-driven port
ppi0: on ppbus0
pmtimer0 on isa0
atkbdc0: at port 0x60,0x64 on isa0
atkbd0: irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
sc0: at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounter "TSC" frequency 2126445016 Hz quality 800
Timecounters tick every 1.000 msec
ad0: 76319MB at ata0-master UDMA100
Trying to mount root from ufs:/dev/ad0s1a
Waiting (max 60 seconds) for system process `vnlru' to stop...done
Waiting (max 60 seconds) for system process `bufdaemon' to stop...done
Waiting (max 60 seconds) for system process `syncer' to stop...
Syncing disks, vnodes remaining...1 1 1 0 0 0 done
All buffers synced.
Uptime: 23h16m32s
Shutting down ACPI
Rebooting...
Copyright (c) 1992-2006 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 6.1-RELEASE #2: Thu Jan 18 07:52:26 CST 2007
arthur@www.wap.com:/usr/obj/usr/src/sys/ArthurXF
ACPI APIC Table:
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Celeron(R) CPU 2.13GHz (2126.44-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0xf41 Stepping = 1
Features=0xbfebfbff
Features2=0x441d>
real memory = 528416768 (503 MB)
avail memory = 507731968 (484 MB)
ioapic0 irqs 0-23 on motherboard
acpi0: on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
cpu0: on acpi0
acpi_throttle0: on cpu0
acpi_button0: on acpi0
pcib0: port 0xcf8-0xcff on acpi0
pci0: on pcib0
agp0: mem 0xd0000000-0xd7ffffff,0xdff80000-0xdfffffff irq 16 at device 2.0 on pci0
agp0: detected 8060k stolen memory
agp0: aperture size is 128M
pci0: at device 29.0 (no driver attached)
pci0: at device 29.1 (no driver attached)
pci0: at device 29.2 (no driver attached)
pci0: at device 29.7 (no driver attached)
pcib1: at device 30.0 on pci0
pci3: on pcib1
rl0: port 0xcc00-0xccff mem 0xdfdfff00-0xdfdfffff irq 17 at device 4.0 on pci3
miibus0: on rl0
rlphy0: on miibus0
rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl0: Ethernet address: 00:14:78:25:fd:e6
rl1: port 0xc800-0xc8ff mem 0xdfdffe00-0xdfdffeff irq 18 at device 5.0 on pci3
miibus1: on rl1
rlphy1: on miibus1
rlphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl1: Ethernet address: 00:14:78:26:26:58
rl2: port 0xc400-0xc4ff mem 0xdfdffd00-0xdfdffdff irq 17 at device 10.0 on pci3
miibus2: on rl2
rlphy2: on miibus2
rlphy2: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl2: Ethernet address: 00:13:8f:78:da:51
isab0: at device 31.0 on pci0
isa0: on isab0
atapci0: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xfc00-0xfc0f at device 31.1 on pci0
ata0: on atapci0
ata1: on atapci0
pci0: at device 31.5 (no driver attached)
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A
sio1: port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
ppc0: port 0x378-0x37f,0x778-0x77b irq 7 drq 3 on acpi0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/9 bytes threshold
ppbus0: on ppc0
plip0: on ppbus0
lpt0: on ppbus0
lpt0: Interrupt-driven port
ppi0: on ppbus0
pmtimer0 on isa0
atkbdc0: at port 0x60,0x64 on isa0
atkbd0: irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
sc0: at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounter "TSC" frequency 2126443912 Hz quality 800
Timecounters tick every 1.000 msec
ad0: 76319MB at ata0-master UDMA100
Trying to mount root from ufs:/dev/ad0s1a
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 6.1-RELEASE #0: Sun May 7 04:32:43 UTC 2006
root@opus.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC
ACPI APIC Table:
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Celeron(R) CPU 2.13GHz (2126.45-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0xf41 Stepping = 1
Features=0xbfebfbff
Features2=0x441d
real memory = 528416768 (503 MB)
avail memory = 507715584 (484 MB)
ioapic0
kbd1 at kbdmux0
acpi0:
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
cpu0:
acpi_throttle0:
acpi_button0:
pcib0:
pci0:
agp0:
agp0: detected 8060k stolen memory
agp0: aperture size is 128M
uhci0:
uhci0: [GIANT-LOCKED]
usb0:
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1:
uhci1: [GIANT-LOCKED]
usb1:
usb1: USB revision 1.0
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2:
uhci2: [GIANT-LOCKED]
usb2:
usb2: USB revision 1.0
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
ehci0:
ehci0: [GIANT-LOCKED]
usb3: EHCI version 1.0
usb3: companion controllers, 2 ports each: usb0 usb1 usb2
usb3:
usb3: USB revision 2.0
uhub3: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub3: 6 ports with 6 removable, self powered
pcib1:
pci3:
rl0:
miibus0:
rlphy0:
rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl0: Ethernet address: 00:14:78:25:fd:e6
rl1:
miibus1:
rlphy1:
rlphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl1: Ethernet address: 00:14:78:26:26:58
rl2:
miibus2:
rlphy2:
rlphy2: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl2: Ethernet address: 00:13:8f:78:da:51
isab0:
isa0:
atapci0:
ata0:
ata1:
pci0:
fdc0:
fdc0: [FAST]
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A
sio1:
sio1: type 16550A
ppc0:
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/9 bytes threshold
ppbus0:
plip0:
lpt0:
lpt0: Interrupt-driven port
ppi0:
pmtimer0 on isa0
atkbdc0:
atkbd0:
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
sc0:
sc0: VGA <16 virtual consoles, flags=0x300>
vga0:
Timecounter "TSC" frequency 2126445016 Hz quality 800
Timecounters tick every 1.000 msec
ad0: 76319MB
Trying to mount root from ufs:/dev/ad0s1a
Waiting (max 60 seconds) for system process `vnlru' to stop...done
Waiting (max 60 seconds) for system process `bufdaemon' to stop...done
Waiting (max 60 seconds) for system process `syncer' to stop...
Syncing disks, vnodes remaining...1 1 1 0 0 0 done
All buffers synced.
Uptime: 23h16m32s
Shutting down ACPI
Rebooting...
Copyright (c) 1992-2006 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 6.1-RELEASE #2: Thu Jan 18 07:52:26 CST 2007
arthur@www.wap.com:/usr/obj/usr/src/sys/ArthurXF
ACPI APIC Table:
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Celeron(R) CPU 2.13GHz (2126.44-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0xf41 Stepping = 1
Features=0xbfebfbff
Features2=0x441d
real memory = 528416768 (503 MB)
avail memory = 507731968 (484 MB)
ioapic0
acpi0:
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
cpu0:
acpi_throttle0:
acpi_button0:
pcib0:
pci0:
agp0:
agp0: detected 8060k stolen memory
agp0: aperture size is 128M
pci0:
pci0:
pci0:
pci0:
pcib1:
pci3:
rl0:
miibus0:
rlphy0:
rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl0: Ethernet address: 00:14:78:25:fd:e6
rl1:
miibus1:
rlphy1:
rlphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl1: Ethernet address: 00:14:78:26:26:58
rl2:
miibus2:
rlphy2:
rlphy2: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl2: Ethernet address: 00:13:8f:78:da:51
isab0:
isa0:
atapci0:
ata0:
ata1:
pci0:
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A
sio1:
sio1: type 16550A
ppc0:
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/9 bytes threshold
ppbus0:
plip0:
lpt0:
lpt0: Interrupt-driven port
ppi0:
pmtimer0 on isa0
atkbdc0:
atkbd0:
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
sc0:
sc0: VGA <16 virtual consoles, flags=0x300>
vga0:
Timecounter "TSC" frequency 2126443912 Hz quality 800
Timecounters tick every 1.000 msec
ad0: 76319MB
Trying to mount root from ufs:/dev/ad0s1a
看到中间有这么一段吗?
引用
Rebooting...
Copyright (c) 1992-2006 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 6.1-RELEASE #2: Thu Jan 18 07:52:26 CST 2007
arthur@www.wap.com:/usr/obj/usr/src/sys/ArthurXF
Copyright (c) 1992-2006 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 6.1-RELEASE #2: Thu Jan 18 07:52:26 CST 2007
arthur@www.wap.com:/usr/obj/usr/src/sys/ArthurXF
这里就是在替换内核,说明我们的新内核已经启动了。哈哈,内核编译成功!
引用
编译完成以后,我们现在的工作就是对系统一些参数进行优化调整。
# ee /boot/loader.conf
加入:
kern.ipc.maxsockets=65535
kern.maxusers=256
kern.ipc.nmbclusters=32768
kern.ipc.nsfbufs=2496
# ee /etc/sysctl.conf
加入:
net.inet.ip.sourceroute=0
net.inet.ip.accept_sourceroute=0
net.inet.tcp.drop_synfin=1
kern.maxvnodes=8446
kern.maxfiles=65536
kern.maxfilesperproc=32768
kern.ipc.somaxconn=32768
kern.ipc.shmmax=67108864 # 64MB
kern.ipc.shmall=32768
kern.ipc.shm_allow_removed=0
kern.coredump=1
net.inet.ip.portrange.last=65535
net.inet.tcp.msl=2500
net.inet.udp.blackhole=1
net.inet.udp.log_in_vain=1
net.inet.tcp.always_keepalive=1
net.inet.udp.blackhole=1
net.inet.raw.maxdgram=65536
net.inet.raw.recvspace=65536
net.inet.tcp.blackhole=2
net.inet.tcp.delayed_ack=1
net.inet.tcp.inflight.enable=1
net.inet.tcp.inflight.debug=0
net.inet.tcp.inflight.rttthresh=10
net.inet.tcp.inflight.min=6144
net.inet.tcp.inflight.max=1073725440
net.inet.tcp.inflight.stab=20
net.local.stream.sendspace=65536
net.local.stream.recvspace=65536
net.inet.tcp.sendspace=32768
net.inet.tcp.recvspace=65536
net.inet.udp.maxdgram=24576
net.inet.udp.recvspace=49152
net.inet.ip.rtexpire=3600
net.inet.ip.rtminexpire=2
net.inet.ip.random_id=1
net.inet.icmp.icmplim=100
net.inet.icmp.icmplim_output=1
net.inet.icmp.drop_redirect=1
net.inet.icmp.log_redirect=1
net.inet.tcp.keepidle=600000
net.inet.ip.redirect=0
net.isr.direct=1
net.inet.ip.intr_queue_maxlen=4096
kern.ipc.shm_use_phys=1
net.inet.ip.fastforwarding=1
vfs.hirunningspace=4194304
vfs.ufs.dirhash_maxmem=33554432 # 32MB
vfs.write_behind=0
security.bsd.see_other_uids=1
security.bsd.see_other_gids=1
# ee /boot/loader.conf
加入:
kern.ipc.maxsockets=65535
kern.maxusers=256
kern.ipc.nmbclusters=32768
kern.ipc.nsfbufs=2496
# ee /etc/sysctl.conf
加入:
net.inet.ip.sourceroute=0
net.inet.ip.accept_sourceroute=0
net.inet.tcp.drop_synfin=1
kern.maxvnodes=8446
kern.maxfiles=65536
kern.maxfilesperproc=32768
kern.ipc.somaxconn=32768
kern.ipc.shmmax=67108864 # 64MB
kern.ipc.shmall=32768
kern.ipc.shm_allow_removed=0
kern.coredump=1
net.inet.ip.portrange.last=65535
net.inet.tcp.msl=2500
net.inet.udp.blackhole=1
net.inet.udp.log_in_vain=1
net.inet.tcp.always_keepalive=1
net.inet.udp.blackhole=1
net.inet.raw.maxdgram=65536
net.inet.raw.recvspace=65536
net.inet.tcp.blackhole=2
net.inet.tcp.delayed_ack=1
net.inet.tcp.inflight.enable=1
net.inet.tcp.inflight.debug=0
net.inet.tcp.inflight.rttthresh=10
net.inet.tcp.inflight.min=6144
net.inet.tcp.inflight.max=1073725440
net.inet.tcp.inflight.stab=20
net.local.stream.sendspace=65536
net.local.stream.recvspace=65536
net.inet.tcp.sendspace=32768
net.inet.tcp.recvspace=65536
net.inet.udp.maxdgram=24576
net.inet.udp.recvspace=49152
net.inet.ip.rtexpire=3600
net.inet.ip.rtminexpire=2
net.inet.ip.random_id=1
net.inet.icmp.icmplim=100
net.inet.icmp.icmplim_output=1
net.inet.icmp.drop_redirect=1
net.inet.icmp.log_redirect=1
net.inet.tcp.keepidle=600000
net.inet.ip.redirect=0
net.isr.direct=1
net.inet.ip.intr_queue_maxlen=4096
kern.ipc.shm_use_phys=1
net.inet.ip.fastforwarding=1
vfs.hirunningspace=4194304
vfs.ufs.dirhash_maxmem=33554432 # 32MB
vfs.write_behind=0
security.bsd.see_other_uids=1
security.bsd.see_other_gids=1
设置完成以后reboot机器。
如果要不重启机器加载改动的参数还可以使用:
# /etc/rc.d/sysctl reload
现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。加我QQ:29011218交流也可。
PHP培训招生简章24-bit>24-bit>16550a-compatible>16550a-compatible>16>16>