CSS常见技巧20则
2009/05/10 00:51 ArthurXF
一、CSS字体属性简写规则 一般用CSS设定字体属性是这样做的: font-weight: bold; font-style: italic; font-varient: small-caps; font-size: 1em; line-height: 1.5em; font-family: verdana,sans-serif 但也可以把它们全部写到一行上去: font: bold italic small-caps 1em/1.5em verdana,sans-serif 真不错!只有一点要提醒的:这种简写方法只有在同时指定font-size和font-family属性时才起作用。而且,如果你没有设定font-weight, font-style, 以及 font-varient ,他们会使用缺省值,这点要记上。
二、同时使用两个类 一般只能给一个元素设定一个类(Class),但这并不意味着不能用两个。事实上,你可以这样:
三、CSS border的缺省值 通常可以设定边界的颜色,宽度和风格,如: border: 3px solid #000 这位把边界显示成3像素宽,黑色,实线。但实际上这里只需要指定风格即可。 如果只指定了风格,其他属性就会使用缺省值。一般地,Border的宽度缺省是medium,一般等于3到4个像素;缺省的颜色是其中文字的颜色。如果这个值正好合适的话,就不用设那么多了。
四、CSS用于文档打印 许多网站上都有一个针对打印的版本,但实际上这并不需要,因为可以用CSS来设定打印风格。 也就是说,可以为页面指定两个CSS文件,一个用于屏幕显示,一个用于打印: 第1行就是显示,第2行是打印,注意其中的media属性。 但应该在打印CSS中写什么东西呢?你可以按设计普通CSS的方法来设定它。设计的同时就可以把这个CSS设成显示CSS来检查它的效果。也许你会使用 display: none 这个命令来关掉一些装饰图片,再关掉一些导航按钮。
五、图片替换技巧 一般都建议用标准的HTML来显示文字,而不要使用图片,这样不但快,也更具可读性。但如果你想用一些特殊字体时,就只能用图片了。 比如你想整个卖东西的图标,你就用了这个图片: 这当然可以,但对搜索引擎来说,和正常文字相比,它们对alt里面的替换文字几乎没有兴趣这是因为许多设计者在这里放许多关键词来骗搜索引擎。所以方法应该是这样的:
六、CSS box模型的另一种调整技巧 这个Box模型的调整主要是针对IE6之前的IE浏览器的,它们把边界宽度和空白都算在元素宽度上。比如: #box { width: 100px; border: 5px; padding: 20px } 这样调用它: 这样,不管什么浏览器,宽度都是150点了。
七、块元素居中对齐 如果想做个固定宽度的网页并且想让网页水平居中的话,通常是这样: #content { width: 700px; margin: 0 auto } 你会使用
>>
二、同时使用两个类 一般只能给一个元素设定一个类(Class),但这并不意味着不能用两个。事实上,你可以这样:
...
同时给P元素两个类,中间用空格格开,这样所有text和side两个类的属性都会加到P元素上来。如果它们两个类中的属性有冲突的话,后设置的起作用,即在CSS文件中放在后面的类的属性起作用。三、CSS border的缺省值 通常可以设定边界的颜色,宽度和风格,如: border: 3px solid #000 这位把边界显示成3像素宽,黑色,实线。但实际上这里只需要指定风格即可。 如果只指定了风格,其他属性就会使用缺省值。一般地,Border的宽度缺省是medium,一般等于3到4个像素;缺省的颜色是其中文字的颜色。如果这个值正好合适的话,就不用设那么多了。
四、CSS用于文档打印 许多网站上都有一个针对打印的版本,但实际上这并不需要,因为可以用CSS来设定打印风格。 也就是说,可以为页面指定两个CSS文件,一个用于屏幕显示,一个用于打印: 第1行就是显示,第2行是打印,注意其中的media属性。 但应该在打印CSS中写什么东西呢?你可以按设计普通CSS的方法来设定它。设计的同时就可以把这个CSS设成显示CSS来检查它的效果。也许你会使用 display: none 这个命令来关掉一些装饰图片,再关掉一些导航按钮。
五、图片替换技巧 一般都建议用标准的HTML来显示文字,而不要使用图片,这样不但快,也更具可读性。但如果你想用一些特殊字体时,就只能用图片了。 比如你想整个卖东西的图标,你就用了这个图片: 这当然可以,但对搜索引擎来说,和正常文字相比,它们对alt里面的替换文字几乎没有兴趣这是因为许多设计者在这里放许多关键词来骗搜索引擎。所以方法应该是这样的:
Buy widgets
但这样就没有特殊字体了。要想达到同样效果,可以这样设计CSS: h1 { background: url(widget-image.gif) no-repeat; height: image height text-indent: -2000px } 注意把image height换成真的图片的高度。这里,图片会当作背景显示出来,而真正的文字由于设定了-2000像素这个缩进,它们会出现在屏幕左边2000点的地方,就看不见了。但这对于关闭图片的人来说,可能全部看不到了,这点要注意。六、CSS box模型的另一种调整技巧 这个Box模型的调整主要是针对IE6之前的IE浏览器的,它们把边界宽度和空白都算在元素宽度上。比如: #box { width: 100px; border: 5px; padding: 20px } 这样调用它:
...
这时盒子的全宽应该是150点,这在除IE6之前的IE浏览器之外的所有浏览器上都是正确的。但在IE5这样的浏览器上,它的全宽仍是100点。可以用以前人发明的Box调整方法来处理这种差异。 但用CSS也可以达到同样的目的,让它们显示效果一致。 #box { width: 150px } #box div { border: 5px; padding: 20px } 这样调用: ...
七、块元素居中对齐 如果想做个固定宽度的网页并且想让网页水平居中的话,通常是这样: #content { width: 700px; margin: 0 auto } 你会使用
来围上所有元素。这很简单,但不够好,IE6之前版本会显示不出这种效果。改CSS如下: body { text-align: center } #content { text-align: left; width: 700px; margin: 0 auto } 这会把网页内容都居中,所以在Content中又加入了 text-align: left 。
八、用CSS来处理垂直对齐 垂直对齐用表格可以很方便地实现,设定表格单元 vertical-align: middle 就可以了。但对CSS来说这没用。如果你想设定一个导航条是2em高,而想让导航文字垂直居中的话,设定这个属性是没用的。 CSS方法是什么呢?对了,把这些文字的行高设为 2em:line-height: 2em ,这就可以了。
九、CSS在容器内定位 CSS的一个好处是可以把一个元素任意定位,在一个容器内也可以。比如对这个容器: #container { position: relative } 这样容器内所有的元素都会相对定位,可以这样用:
十、直通到屏幕底部的背景色 在垂直方向是进行控制是CSS所不能的。如果你想让导航栏和内容栏一样直通到页面底部,用表格是很方便的,但如果只用这样的CSS: #navigation { background: blue; width: 150px } 较短的导航条是不会直通到底部的,半路内容结束时它就结束了。该怎么办呢? 不幸的是,只能采用欺骗的手段了,给这较短的一栏加上个背景图,宽度和栏宽一样,并让它的颜色和设定的背景色一样。 body { background: url(blue-image.gif) 0 0 repeat-y } 此时不能用em做单位,因为那样的话,一旦读者改变了字体大小,这个花招就会露馅,只能使用px。
十一、Block和inline元素对比 所有的HTML元素都属于block和inline之一。block元素的特点是: 总是在新行上开始; 高度,行高以及顶和底边距都可控制; 宽度缺省是它的容器的100%,除非设定一个宽度
八、用CSS来处理垂直对齐 垂直对齐用表格可以很方便地实现,设定表格单元 vertical-align: middle 就可以了。但对CSS来说这没用。如果你想设定一个导航条是2em高,而想让导航文字垂直居中的话,设定这个属性是没用的。 CSS方法是什么呢?对了,把这些文字的行高设为 2em:line-height: 2em ,这就可以了。
九、CSS在容器内定位 CSS的一个好处是可以把一个元素任意定位,在一个容器内也可以。比如对这个容器: #container { position: relative } 这样容器内所有的元素都会相对定位,可以这样用:
如果想定位到距左30点,距上5点,可以这样: #navigation { position: absolute; left: 30px; top: 5px } 当然,你还可以这样: margin: 5px 0 0 30px 注意4个数字的顺序是:上、右、下、左。当然,有时候定位的方法而不是边距的方法更好些。
十、直通到屏幕底部的背景色 在垂直方向是进行控制是CSS所不能的。如果你想让导航栏和内容栏一样直通到页面底部,用表格是很方便的,但如果只用这样的CSS: #navigation { background: blue; width: 150px } 较短的导航条是不会直通到底部的,半路内容结束时它就结束了。该怎么办呢? 不幸的是,只能采用欺骗的手段了,给这较短的一栏加上个背景图,宽度和栏宽一样,并让它的颜色和设定的背景色一样。 body { background: url(blue-image.gif) 0 0 repeat-y } 此时不能用em做单位,因为那样的话,一旦读者改变了字体大小,这个花招就会露馅,只能使用px。
十一、Block和inline元素对比 所有的HTML元素都属于block和inline之一。block元素的特点是: 总是在新行上开始; 高度,行高以及顶和底边距都可控制; 宽度缺省是它的容器的100%,除非设定一个宽度
,
,
,
跟着ArthurXF学FreeBSD50——启动时碰到virecover的问题解决办法
2009/05/09 21:21 ArthurXF
今天在配置服务器的时候,竟然服务器自动关机了。我正在编辑配置文件呢。那既然关机了也只能重启咯,重启以后就停在Recovering vi editor sessions:这里很长时间。
我还以为系统崩溃了。查了资料才知道。
virecover的功能是如果在/var/tmp/vi.recover目录下发现存在可恢复的文件,就发送通知邮件给用户。使用vi 加-r参数可以用来恢复指定的文件。
所以就坚守阵地,一直等待进入系统,第一件事就是
rm -r /var/tmp/vi.recover
为了避免在此发生这样事情。
echo 'virecover_enable="NO"' >> /etc/rc.conf
这样就无后顾之忧了,只是你以后在vi里面写东西可要经常存盘哦。要不然丢了就找不回来了。呵呵。
本文由ArthurXF倾情奉献。关注BIWEB开源商务智能网站系统就是对ArthurXF的最大支持!
我还以为系统崩溃了。查了资料才知道。
virecover的功能是如果在/var/tmp/vi.recover目录下发现存在可恢复的文件,就发送通知邮件给用户。使用vi 加-r参数可以用来恢复指定的文件。
所以就坚守阵地,一直等待进入系统,第一件事就是
rm -r /var/tmp/vi.recover
为了避免在此发生这样事情。
echo 'virecover_enable="NO"' >> /etc/rc.conf
这样就无后顾之忧了,只是你以后在vi里面写东西可要经常存盘哦。要不然丢了就找不回来了。呵呵。
本文由ArthurXF倾情奉献。关注BIWEB开源商务智能网站系统就是对ArthurXF的最大支持!
商人创业最不应该犯的100个错误
2009/05/09 11:06 ArthurXF
1、哥们式合伙,仇人式散伙
中国企业最常见的聚散模式——公司创办之初,合伙者们以感情和义气去处理相互关系,制度和股权或者没有确定,或者有而模糊。企业做大后,制度变得重要,利益开始惹眼,于是"排座次、分金银、论荣辱",企业不是剑拔弩张内耗不止,便是梁山英雄流云四散。
2、盲目崇拜社会关系
关系推动生产力,因此社会关系的建立和运用是商人必要的能力;但关系不等于生产力,把社会关系当成解决企业发展所有问题的灵丹妙药,忘记了"打铁还须自身硬"的真理,则企业本末倒置,大患迟早降临。
3、迷信"空降兵"
都说"外来的和尚会念经"。正确的做法应该是:不可不用"空降兵",不可乱用"空降兵",不可全用"空降兵"。这方面中国企业的教训已经太多,可永远会有人情不自禁地做错:放弃身边的人才,迷信远方的大师。
4、企业支柱亲信化
一个人控制人,而不是制度控制人的中国式组织。起源于农民打江山的传统,泛滥于信任危机加重的当代商业社会,是中国以情感为纽带的企业走向规范治理的主要瓶颈。
5、面子大于真理
面子是:我已经这样定了,而且全世界的人都知道了;真理是:这个方向是一条曲曲折折的弯路,而且很可能此路不通。爱面子的老板说:他的就这么去,谁不执行谁下课,玩也要玩到底。
6、商业式迷信
罗盘神签加卦相,诚惶诚恐,测风水测人才;香火缭绕进庙堂,顶礼膜拜,求机运求财富。商海无情,翻云覆雨,谁来保佑?
7、知人而不自知
看人头头是道,看己昏头昏脑。从来没有看清自己在行业中领先的关键因素,一段成功史,满脑糊涂账。也因此,从来没有清晰的战略规划:坚持什么,改进什么;如何创新,如何固守。
8、习惯性信用缺失
说话不算数、合同不算数、承诺不算数,这几乎是中国商人部落最常见的景观。对内,规则计划变幻无穷,今天立,明天改,后天再改,手下无所适从;对外,合同承诺一张废纸,视情况涂抹、打折甚至撕毁,合作者有去无回。
9、匪文化心态
民营企业老板如山寨大王,生于青萍之末,长于江湖之野,走的是匪文化路线:关上山寨大门,老子天下第一;冲出山寨掠财,碰壁拐弯,见缝就钻。图的是人生痛快,少一份使命精神;既没有经济上的长远目标,也没有文化上的成熟主张。
10、阶级斗争企业化
企业内部可以搞平衡,但不可以搞斗争。"文化大革命"告诉我们,"挑起群众斗群众"最后所失去的,是企业的效率和凝聚力。
11、沉湎酒色
有人因为无力控制欲望沉湎酒色;有人因为事业再无激情沉湎酒色;有人因为"过去吃了苦",怀着找补回来的心态沉湎酒色;有人因为"人生苦短",信奉找钱是为了享受的哲学沉湎酒色。
12、投资冒险主义
拿自己"吃稀饭"的钱去搞投资,或者借来甚至骗来别人"吃稀饭"的钱去搞投资,所谓成败荣辱在此一举,身家性命系于一线,战战兢兢,急功近利,举止失措,焉能不败?
13、投资经验主义
在另一个时间、另一个市场、另一个行业,面对另一群员工或消费者,以当年的感觉投资、布局、生产、销售。指挥还是昨天的指挥,音乐还是相同的音乐,可这一次为何起舞者寥寥数人?
14、投资极端主义
三月前兴奋地投下钱来,三月后沮丧地要抽身离去,前脚踩油门,后脚踩刹车,企业振荡,落英缤纷......投资者的常见毛病,主要原因是对产业投资纵深化及企业竞争复杂化的估计不足。
15、人力资源幻觉
一方面永远高估员工的高度,一方面永远低估员工的水平。
16、过度追求系统平衡
企业总是由各个系统各个部门组成,它们彼此之间需要有一种动态的平衡。但老板过分看重平衡,在奖惩政策、人员提升、部门权限、业绩考核等方面一味强调"一碗水端平",最后优者不奖、错者不罚,所有部门都吃大锅饭,企业所要的平衡反而荡然无存。
17、抬头批判潜规则,
低头猛搞潜规则,从不认为自己对理想社会的到来负有身体力行的责任。
18、完美主义群众化
完美主义不是坏事,但若将其扩大化,就会给个人和企业带来无尽的烦恼与麻烦。完美主义的老板总想达成最高的目标。他们对下属"高标准,严要求",因为求之深,所以责之切,总是有太高的眼光、太多的挑剔、太多的责备。
19、附庸风雅
一窝蜂登山,一窝蜂打高尔夫,一窝蜂EMBA,一窝蜂墙上挂艺术品......值得指出的是,这一切并不是因为爱好或需求,而是因为模仿及炫耀。
20、不学无术
老板每天要处理各种各样的情况,事情一多,就不愿意学习了。很多人不读书,不看报,不看电视,不上网,更不愿意专门花时间参加培训。在他们看来,市场是最好的老师,学习只是装点门面的过场罢了。由于长期沉溺于小圈子,信息封闭,知识结构老化,最终要么被市场淘汰,要么被主流遗忘。
21、公司小皇帝心态
人人三呼万岁,事事溜须拍马,恭顺者提拔,意见者遭殃,"我的地盘我作主"。
22、擦边球情结
总是在法律允许和禁止的边缘徘徊,总是希望利用政策的漏洞渔利。这些历史上打惯了擦边球的人们,在不用擦边更有胜算的新规则里,反而显得茫然失措,举手投足连连丢分。
23、强于战术弱于战略
这群商人的才华,几乎都表现在挽救一个错误的战略计划上了。
24、强于战略弱于战术
通俗地说,是想象力很够,行动力不够。当然按照他们自己的说法是,一个伟大的构想总是因为执行不到位而夭折。
25、强烈的政治情节
提到政治就兴奋,*近政治就愉悦,企业里面玩政治,人生目标搞政治;经商只是为当官做准备——属中国传统价值观"当官才能光宗耀祖"的新时代折射。然而经验证明,政治是把双刃剑,一个优秀的企业家可以懂政治、学政治,但不可玩政治。
26、自我膨胀
这类商人的逻辑是:财富比别人多,所以才能就比别人够,见识就比别人广,基因就比别人好......以此逻辑推演,一个人的自信心会在很短的时间里爆棚,一个人的命运也常在同一时间转轨。
27、迷恋赌博
人皆有赌性,富于冒险精神的商人或许更甚。但敢冒风险和迷恋赌博是两回事。所谓小赌怡情,大赌乱性;赌性是一朵恶之花,一遇温床便奢靡开放,不加节制就可能毁掉一切。
28、生活习惯不健康
总是第二天开始锻炼,总是旅游的时候最累,总是一应酬就喝,一喝酒就醉,事业充满激情,身体充满疲惫......
29、法制观念淡薄
原因如下:一,有钱难道不能搞定一切?二,这事天知地知你知我知,怎会翻船?三,别人都这么干,我为什么不能?四,天啦,这点小事也算违法?
30、武大郎开店
不能容忍部下在某一方面比自己强,为了保持心理上的优越感和便于管理,喜欢招聘和使用不如自己的人。这类企业往往缺乏活力,在竞争中越来越难以胜出。
31、漠视社会公德
尊老爱幼,扶贫济困;遵守交通规则,维护公共秩序;不骄不躁不蛮横,节水节电节资源......今天,你忘记了吗?
32、提着裤子找厕所
做企业没有预见性,事到临头才忙找对策。具体表现在:不储备人才,不建立良好和谐的公共关系,不开发换代产品,不准备足够的现金流等。
33、重业务轻财务
民营企业老板大都是跑业务出身,或至少是很长时间战斗在企业营销第一线。这决定了他们的潜意识:市场是决定企业生存与发展的根本动力,当领导市场知识比财务知识更重要,搞管理销售报表比财务报表更诱人,做决策来自市场的调查数据比来自财务的预算核算更关键。
34、个人表现主义
在一个企业里,我才是红花,大家都是绿叶;在一个圈子里,我才是中心,大家都是配角——否则向内就会"怒从心中起,恶向胆边生";向外就会"全无兴趣,恕不奉陪"。其客观效果是,企业越做越难,圈子越扯越小。
35、集团综合症
据说现在全世界号称"集团"的公司加在一起,都没有中国多——几十上百万净资产的企业老板号称某某集团董事长的,在我们身边比比皆是。这是中国人虚张声势、不顾信用、好大喜功的企业化写照。
36、速度幻觉症
以个人的才能及工作绩效衡量所有人,以一个小团队的状态衡量全社会,从而误判投资回报周期,错估目标达成速度。
37、企业掌控神经质
很多老板常常疑神疑鬼,怀疑这个对他不忠,那个在干私活;怀疑这个在挖墙角,那个在磨洋工。一天到晚都认为他的下属总是向他隐瞒了什么东西。不信任副手,不信任合作伙伴,不信任财务,不信任采购人员,不信任基层员工。自己累,员工也累。
38、会议综合症
有事开会,无事也开会;大事开会,小事也开会。仿佛只有通过会议,老板和员工才能沟通,企业的控制才能实现,老板的意志才能贯彻。然而在很多企业,无效而过多的会议,已经构成它们最大的成本浪费。
39、大企业形态小企业心态
规模已经够大,心态依然很小:没有战略,缺乏人才,对员工能省则省,科研费用能推就推。本来已有大资本,偏偏又是土财主。因为来不及知道怎么做大企业,于是往往在堂皇外表下面露出留着泥巴的脚。一旦有风吹草动,那颗小小的心脏就会被庞大的身躯累死。
40、营销唯一症
企业的生死成败、资源重心,全压在市场营销一个环节上,一荣俱荣一损俱损。经验证明,这类企业即便超速成长也多如"塑料大棚",抗风险能力极其脆弱,风光三年以上者寥寥无几。
41、制度管理教条主义
生搬硬套西方企业理论,忽略中国企业本土文化背景,企业管理全盘西化、制度化、文本化。其结果是企业形态不伦不类、企业文化不洋不土、企业命运不生不死。
42、管理幅度过大
一项研究证明,一个人最多管十几个人,多了就会乱套,所以事事抓在手上不如建立一套规则把权力放下去,要不然累垮了自己,也拖垮了企业。
43、形式主义借尸还魂
二十年前打破铁饭碗,冲破形式主义而成长起来的民营企业家,随着企业规模扩大年岁增长,论资排辈日趋固化,等级制度日趋习惯,企业理念日趋模糊,企业文化日趋空洞——"百年钟馗变钟鬼",形式主义又回来了。
44、缺乏民主
制定了一大堆政策、制度,要求员工绝对执行,到了自己面前却一推再推;大会小会上严厉禁止种种不轨行径,一转身自己就成了最大的破坏者。
45、野蛮管理
其中比较容易想到的现象是:粗暴、打骂、体罚、限制人生自由等。比较不容易想到的现象是:从生活、言行、习惯、价值观等方面对员工做过度要求,甚至盲目实行企业军事化管理。这其中隐藏着现代商人必须唾弃封建观念:主宰等于权力,独裁等于效率。
46、项目爱好癖
唰,老板的眼睛放光了!嚯,老板的脸色出彩了!瞧,老板又开始行动了——肯定又在谈项目了。唉,我们公司去年谈了76个项目,落实了一个,至今都还在亏损。
47、企业浮夸风
浮夸风害死人,国家如此,企业也如此。很多企业家喜欢到处吹牛,一些所谓的企业家高峰论坛往往成了数字吹嘘论坛。同时,四处招兵买马,动辄搞跨越式发展,超常规跃进,几年之内要进入世界500强行列。久而久之,形势一片大好,老子天下第一,精神面貌饱满,从上到下陷入自我吹嘘自我满足的陷阱。
48、合作伙伴同质化
中国企业合伙常见病。一群相同气质爱好、能力水平、资源范围的理想主义者共同创业,上路之后才发现,一艘大船的远航既需要舵手,也需要水手,既需要懂天气的,也需要懂水文的......于是结构性失败在所难免。
49、运动式管理
一种典型的头痛医头脚痛医脚式管理。比如纪律不严明了,质量下滑了,营销不得力了,总是*发动一场企业内部运动来突击解决。企业老板成消防队员,随时扑向失火的角落。最大的好处在于立竿见影;最大的坏处在于扰乱了企业经营的正常轨迹,透支了企业的人力物力财力。
50、泛官僚化
企业内从老板到管理者,每一个人都像计划经济体制下的干部,讲究程序、等级,习惯摆谱、弄权。此类现象严重的企业多半服务心态缺乏,学习能力欠缺,僵化保守直至竞争力丧失。
51、主意太多,朝令夕改
企业三天一小震,五天一大震,再强烈的信心也会全部震散,再优秀的团队也会茫然失措,再结实的建筑也会最终倒塌。
52、忙而效率低下
一个合理的建议是,立即停下你陀螺一样旋转的身体,去海边的沙滩晒着太阳理清以下问题:你的管理链条在哪一个环节开始打滑?你的企业动力是哪一个环节推而不动?哪些事情是必须做的,哪些不是?哪些事情是你应该做的,哪些是你应该授权别人做的?
53、专家依赖症
很多企业家对专家很迷信,事事以专家为准。但专家不是万能,他不可能对所有的事情都了如指掌,难免有局限,特别是在市场经验方面。所以,一旦过于迷信专家,往往会陷入教条化陷阱。
54、好大喜功
1000万的资金要盖70层的高楼;10岁的公司提出5年赶超世界500强的目标;30万身价的老板幻想着激动人心的远景,小项目不愿做大项目做不了......人性的弱点放在商人身上,其结局就更显悲壮。
55、用胆而不用心
中国的企业家从来不缺冒险精神,而是缺精益求精的精神。因此中国的企业从来不缺项目,而是缺把一个项目做到全世界无人能敌的专业精神、境界和才能。
56、只追求有形利益
换句话说就是只追求看得见的投入和产出,绝对的功利主义、实用主义和利润至上心态,有时候令企业丧失的不仅仅是形象,还包括企业的安全、长远的生命力等等。
57、实事求是口头化
民营企业"效率优先"、"一切按市场规律办事"是最大的实事求是。但很多企业真实的情况是"平衡优先","私欲优先",是"一切按照老板的喜好办事","一切按照长官的意志办事"......有人说,这是中国企业滑向"坏的市场经济"之前奏。
58、外行管死内行
企业雪球越滚越大,公司开始分隔为越来越多的精细领域,而每一个领域都需要相应的专业人才去加以管理。此时,创业者已经从原来的内行变成外行,但他仍然保持着内行的心态,用一竿子插到底的方式管理企业。很多时候,企业活力就这样慢慢窒息。
59、习惯性摆阔
前些年脖子上的金项链一个赛一个的粗,这些年屁股下的坐驾一个赛一个的牛;动辄"周末去巴黎购物",聚会永远聊高尔夫球场见闻......殊不知,面子害人,刻意要面子害死人:太工于摆阔的心计,往往让经营瞻前顾后;太重于摆阔的场面,往往让人生如履薄冰。
60、形象即业务,豪华出效益
一种肤浅的创业心态,加浪漫主义的创业形态。主要表现为:办公场地选高档写字楼,员工工资向大公司看齐,出差住四星级宾馆,请客上希尔顿酒店......最终的结果是,别人还没搞懂你的企业是干什么的,你的流动资金已开始告急。
61、摸着石头过大江
中国的民营企业早年习惯"摸着石头过小河",而今天他们要过的是大江,左有国有企业,右有外资公司,它们共同需要的都是现代化的帆船或者快艇。但也有经验主义者,想要"摸着石头过大江",其悲惨结局不问可知。
62、用人才而藐视人才
对于知识型人才,很多老板往往"既爱之,又恨之"。不得不用,却又从内心深处瞧不起他们,"百无一用是书生"的观念根深蒂固。因此在很多中国企业里,人才没有归宿感,老板没有放松感。
63、朋友式管理
在不少企业中,很多中干甚至高管都是和老板一起打天下的元老,碍于情面,老板不好将朋友和下属两种角色截然分开。最后导致老板没有权威,管理层相互较劲,员工无所适从,企业一片混乱。
64、管而不理
管是控制,理是训练;管是压力,理是疏导;管是条条框框中规中矩,理是苦口婆心指引成长。只管不理,企业不是在沉默中爆发,就是在沉默中灭亡。
65、要么迷信媒体,要么藐视媒体
前者最好的例子是秦池酒,盲目追求标王的媒体聚光效应,而终致惨败;后者的代表是德隆,由于不重视和媒体的沟通,结果企业一出事,全国媒体纷纷口诛笔伐,从而让企业的信任危机愈演愈烈。
66、候鸟式投资
这类投资者往往不愿意在一个行业里深耕,只愿意剥取最表面的一层机会,浅尝辄止。尽管投资常有回报,但企业总是做不大,一直在二三流企业的行列徘徊。
67、碰壁拐弯习惯化
一遇到困难,不对问题进行全面的分析,而是马上停止投资,调转方向另寻出路。这类投资者就像含羞草,一有风吹草动马上就缩成一团。这种看似谨慎的做法,往往却因不善于坚持而错过了真正的商业机会。
68、假平等
能干的下属是每个老板都梦寐以求的,但真的出现了能力出众的下属,老板往往又不能正确对待。为了维护表面上的平等,老板常常有意识地将机会让给其他员工,而把能干的人晾在一边。假平等的后果是,既增加了老板的机会成本,又挫伤了那些能力出众者的积极性。
69、总是打精神牙祭
在一些人看来这是惠而不费笼络人心的手段,是企业家不可缺少的画馅饼的才能。但现在的员工们已经越来越不相信它了,尤其当明天已经到来,"精神"并没有变"物质",而老板又在许诺后天的精神牙祭之时。
70、企业激励货币化
初衷是为了将公司做得规范,于是把各种激励政策完全货币化:加班给钱,提出好的建议给钱,互相帮助给钱,节约开支给钱......最后员工养成了习惯,做什么事情都要钱,甚至明明是自己分内的事,不给钱也不去做。
71、以江湖气为荣
耿直、爽快、兄弟多、与某某老大称兄道弟......在很多商人的心中,江湖形象和江湖背景,是一件比阅历背景、学历背景还要重要的事情。
72、听喜不听忧
只喜欢听员工汇报公司的正面消息,而不愿意听公司的负面情况。这是一种微妙的心理,一方面老板不愿意也不相信自己的企业会运作不佳,另一方面又害怕真的出事。最终的结果是人人报喜不报忧,中干会上歌舞升平,企业根基渐渐糜烂。
73、创业情结挥之不去
一家资产过亿的家电企业老板,大到人员招聘,小到办公室购买传真纸都要亲自过问,结果自己一天到晚疲惫不堪,而企业的发展也十分缓慢。这些多为创业型老板。他们对公司上上下下各个环节十分熟悉,对每一个员工甚至管理层都放心不下,总要亲自动手才踏实。
74、盲目做全国市场
想当然地认为只要做全国市场,各地销售额加起来肯定比在一个地方好。他们没有想到本来有限的精力一旦分散,更加不能和对手抗衡;而开拓全国市场,所需要的成本也比做地方市场要高出许多。
75、强于演说而弱于倾听
由于长期处于强势和核心地位,老板通常掌握了更多的话语权。这很容易让他们习惯性地表达自己的主张,而不注意倾听下属乃至朋友的意见。其实,上帝给了我们两只耳朵,一张嘴巴,就是暗示我们多倾听少定论。
76、过分维护个人权威
在员工面前永远一副冰冷的面孔,从来不在大众场合露出笑脸,说话喜欢用祈使语气,从来不主动和员工打招呼,有意识地和员工保持距离。
77、装腔作势
哎呀,胡总啊,来不了啊,今晚赵市长要请我吃饭,吃饭后电视台记者要来采访......哎呀,胡总啊,谁叫我们是兄弟呢,一定来一定来!市长的饭?不吃了不吃了,电视台也让他们明天再来......
78、一利遮百丑
片面追求利润,把现实的利润当成企业惟一重要的事情,不注重长期战略;一味压缩企业成本、降低员工待遇;忽视科研,不投入或少投入研发经费。老板应该注意对企业各个经营要素充分进行协调和平衡,这样企业才能长期持续健康地发展。
79、盲目裁员
一遇到困难,老板马上想到通过裁减员工来降低成本。盲目裁员,不但会挫伤员工的积极性,削弱员工对企业的归宿感,还会因为人员的流失造成企业的结构性紊乱。这一点上,不妨向日本一些企业学习:宁可降低工资也不裁员。
80、一味模仿竞争对手
永无创新,永远跟随:对手上一个新产品,自己马上跟进;对手在繁华路段开一个店,自己也跟着在附近开店;对手策划一个大型的公益性活动,自己也搞公益活动;对手提出一个新理念,自己马上也推出一个相同的理念。一味模仿竞争对手,看似贴身肉搏,实则很容易被对手扰乱了阵脚,被对手玩得团团转。
81、自我反省能力差
我们永远也不要低估人类追求创新追求真理的勇气和能力;但对人类固执己见坚持错误的"勇气"和"能力",恐怕同样也不能低估。
82、权力控制欲
极尽政治家才能,牢控企业每一个角落的权力不被流失——每一分钱的开支、每一个人的进出、每单生意的决策、每场会议的主持......此类习惯对小老板而言是美德,对大老板而言则是危机和病态。
83、归罪于外
企业利润下滑或经营不善时,总是习惯性地把问题归罪于外部因素,要么是政策环境不好,要么是对手卑劣,要么是行业不景气,要么是人才不足,而不从自身寻找原因。其实,任何时候,任何行业,总有赚钱的企业,关键还在于企业自身是否具有足够强的赢利能力。
84、优柔寡断
遇事不果断,前怕狼后怕虎,老在潜意识里想"这样做可能会有风险",结果把本来是自己的机会白白放过了。对待下属有争议的事情,也是左右摇摆,不知道该听谁的,结果被员工认为是"和蔼可欺",威信荡然无存。
85、迷恋直觉
崇尚"跟着感觉走",藐视基于市场调查的数据分析,认为决策没有什么理性可言,最可*的反而是长期做市场过程中培养起的直觉。对于抗风险能力还不强的企业,一旦决策出现失误,就会带来灭顶之灾。
86、产业投资步步高
今天做食品加工,明天做酒店连锁,后天做网络科技,大后天做文化传媒。总之什么高端时髦搞什么,感觉越来越好,利润越来越少。
87、假面认同
开会之前,老板心里已经有了答案,但还是要大家畅所欲言,结果凡是与老板相左的意见全部被否定掉。久而久之,员工都明白这只不过是走过场,于是全部按照老板的意思去说。到最后表面上看起来所有的议题都得到了一致同意,但实际上都是老板自己的意见而已。
88、零风险心态
只想收获,不愿付出,不愿担风险,把所有的风险都转嫁到合作伙伴身上。最后发觉自己成了孤家寡人,谁都不愿意和他做生意。
89、迷信高科技
以为越是高科技的产品越能赚钱,于是不顾企业自身实际情况,凡是和高科技沾上边的项目都跟着投钱,盲目将产业"升级"。
90、盲目进入资本市场
企业发展到一定程度,就想着上市,以为这样企业才能发展得更好。事实上,企业一旦成为公众性公司,财务和重大决策都要透明化,老板个人对企业的影响将随之受到很大制约。上市流通并不是所有企业都需要。
91、管理随意性
这样的公司也有制度,但绝大多数时候都是"一切看着办"——好一点的情况是"一切以老板心中的是非判定为准",坏一点的情况是"一切以老板此时此刻的情绪为准"。
92、节约到浪费
节约是美德,节约甚至是一种精神及信念,是中国企业最核心的竞争力所在。但万事万物过犹不及,节约过头,则企业内事事打折扣,处处差把火,人才留不住,留人不留心......最后是效果出不来,效率上不去,投资收不回,节约等于浪费。
93、以江湖手段解决企业竞争
自以为企业背后有靠山,面对竞争对手,便每每"拳打脚踢"。要么强行要求对方退出地方市场,要么背地里给竞争对手的产品下套破坏其市场形象,要么联合某些政府部门三天两头上门"服务"。对手知趣便罢,否则便拳脚相加、大打出手。
94、好了伤疤忘了痛
企业遭遇困难的时候,三省其身,痛定思痛,誓言必革除种种弊端;一旦危机过去,又恢复了老样子,想当然地以为天下哪有这么巧的事情,同样的劫数肯定不会再发生了。
95、有患难,无富贵
笃信"人多好干活,人少好吃馍",对创业的功臣,既怕其功高震主,更惧其伸手要财。企业走上平稳发展的快车道之日,就是上演过河拆桥、卸磨杀驴之时。这种看似聪明的做法,往往只会带来"财散人散"的结局。
96、同行之间妖魔化
在同行之间挑拨离间,以为可以渔翁得利,却被揭穿谎言,落得里外不是人;或为竞争需要,乱说同行是非,惹来同行鱼死网破的反击,致全行业受损。
97、独掌公司股权不放
公司是自己辛辛苦苦创立起来的,凭什么要"白白分给其他人"?以为守住了金元宝,其实掉进了大陷阱。随着企业的壮大和社会分工的越来越细密,管理者在企业中的作用越来越大,他们必然不会满足于永远打工的地位。吸引部分管理者入股是大势所趋,既是企业长期稳定发展的基础,又是当代社会企业社会化的必然要求。
98、人格分裂症
极端的高尚和极端的卑劣并存,极端的向善和极端的无耻共生;愿意承担责任却又不断逃避责任,热爱有真理的世界却又时时制造虚假;对抗自私,却每天都在镜子里看到它。
99、企业经营短期行为
短期行为和长期行为的根本区别,在于一个经营者大多数时候,是在放弃品牌建设、制度建设、人力资源建设、核心竞争力打造等以获得眼前利益,还是相反。
100、存小术,废大道
一个企业要获得持续成长,企业家必须具备两种能力,一是应付各种复杂局面的能力和技巧,是为小术;二是立身社会、凝聚人才的信仰及人格魅力,是为大道。存小术而废大道,企业终究只是获小利而失根基。
跟着ArthurXF学FreeBSD49——freebsd7.2 +nginx+php+mysql+zend+ phpmyadmin+系统优化+防止ddos +傻瓜式ports安装法
2009/05/04 19:32 ArthurXF
一、安装软件前的准备
系统的安装:插入freebsd7.2以上的光盘,最小化安装系统,同时安装好ports
二、手动安装nginx+php
1) 进入系统后,准备cvs更新:
1. cd /usr/ports/net/cvsup-without-gui
2. cp /usr/share/examples/cvsup/ports-supfile /etc/ports-supfile
3. # vi /etc/ports-supfile
将其中的#*default host=CHANGE_THIS.FreeBSD.org一行改为
*default host=cvsup.cn.freebsd.org
4. 更新ports
/usr/local/bin/cvsup -g -L 2 /etc/ports-supfile
2) 安装mysql
#cd /usr/ports/databases/mysql51-server
#vi Makefile
把--localstatedir=/var/db/mysql 改成--localstatedir=/usr/local/db/mysql后保存退出。这步主要是因为/var目录缺省分配的空间比较小。我们直接指定到一个大空间去存储mysql数据。
#make WITH_CHARSET=utf8 WITH_COLLATION=utf8_general_ci WITH_XCHARSET=all WITH_PROC_SCOPE_PTH=yes BUILD_OPTIMIZED=yes BUILD_STATIC=yes SKIP_DNS_CHECK=yes WITHOUT_INNODB=yes install clean
#cp /usr/local/share/mysql/my-large.cnf /etc/my.cnf ##mysql的优化参数,也可以手动修改
# mysql_install_db --user=mysql ##初始化mysql
#/usr/local/bin/mysqld_safe & ##启动mysql
#/usr/local/bin/mysqladmin -u root password 'newpass' ##修改root密码,newpass是你需要改的密码
关闭mysql可以使用mysqladmin -uroot -p shutdown
3) 安装php
#cd /usr/ports/lang/php5
#make config ##配置编译参数
[X] CLI Build CLI version
[X] CGI Build CGI version
[ ] APACHE Build Apache module
[ ] DEBUG Enable debug
[X]] SUHOSIN Enable Suhosin protection system
[X] MULTIBYTE Enable zend multibyte support
[ ] IPV6 Enable ipv6 support
[ ] REDIRECT Enable force-cgi-redirect support (CGI only)
[ ] DISCARD Enable discard-path support (CGI only)
[X] FASTCGI Enable fastcgi support (CGI only)
[X] PATHINFO Enable path-info-check support (CGI only)
#make install clean
# cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini ##cp php.ini配置文件
4) 安装php5-extensions
# cd /usr/ports/lang/php5-extensions/
#make config
Options for php5-extensions 1.1
-------------------------------------------------
[X] CURL CURL support
[X] FTP FTP support
[X] GD
[X] GETTEXT
[X] MBSTRING multibyte string support
[X] MCRYPT Encryption support
[X] MYSQL
[X] PCRE Perl Compatible Regular Expression support
[ ] POSIX //去掉.
[ ] SQLITE //去掉.
[X] ZIP ZIP support
[X] ZLIB
# make install clean
5) 安装Zend Optimizer
#cd /usr/ports/devel/ZendOptimizer/
#make #不要安装,只需要下载解包
#cd /usr/ports/devel/ZendOptimizer/work/ZendOptimizer-*
#./install-tty ##会出现一个文字的安装界面,只是最后一步,不要选择apache就可以了
#vi /usr/local/etc/php.ini #插入zend的路径,一般来说,上面的安装会自动加入下面的文字,假如没有,请手动添加。
[Zend]
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.0
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.0
zend_optimizer.version=3.3.0a
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so
小提示:安装zend,在freebsd下面,目前只有支持到php5.1.x,对于php5.2.x还不能支持,因为zend还没有为php5.2.x开发版本,在网上查了好多关于解决此类的问题,但得到的结果是,zend可以顺利安装,phpinfo也显示zend正常了,但程序无法调用,即zend没有工作,也就是目前无法解决,我想只有等到zend php5.2.x的版本后,才可以解决此问题,也希望哪位已经解决此类问题的兄弟,share一下你的经验。假如你非要使用zend,那就请你将php降到5.1.x,或者你不当心已经升级了ports,那建议你可以安装php4.x,毕竟目前php4.x还通用于大部分的环境
6) 安装nginx
#cd /usr/ports/www/nginx/
#make install
7) 安装lighttpd,为了得到fastcgi
# cd /usr/ports/www/lighttpd/
#make install
#rehash
8) 配置nginx
vi /usr/local/etc/nginx/nginx.conf
#user nobody
删除前面的注释#,改成 user www
#log_format main '$remote_addr - $remote_user [$time_local] '
# '"$request" $status $body_bytes_sent '
# '"$http_referer" "$http_user_agent"';
log_format main '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
##以上步骤,为了能够正常分析log的pv,hits,访问量,才设定的,默认的log格式,是无法准确分析出所需要的结果
location / {
root /usr/local/www/nginx;
index index.html index.htm;
}
在index.html前面添加一个index.php
location / {
root /data/web/www.jk0086.com/htdocs;
index index.php index.html index.htm;
}
#location ~ \.php$ {
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script.name;
# include fastcgi_params;
#}
将前面的#去掉,修改为
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/etc/nginx$fastcgi_script.name;
include fastcgi_params;
}
##去掉注释,其实就是激活了nginx的fastcgi功能,也说明了nginx本身就已经准备用于fastcgi的环境中
9) 配置spawn-fcgi,就是一个启动fastcgi命令,使得nginx可以通过9000端口访问(纯粹个人理解-_-)
参数说明:监听127.0.0.1的9000端口,进程数为64(如果服务器内存小于3GB,可以只开启25个进程),用户为www
/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www -g www -C 64 -f /usr/local/bin/php-cgi
10) 这边请注意启动顺序,先启动fastcgi,再启动nginx
Nginx.conf由于经常需要修改,即经常需要重启nginx,因此这边写了一个启动脚本,请查看:
#!/usr/local/bin/bash
case $1 in
start)
/usr/local/sbin/nginx
;;
stop)
killall -9 nginx
;;
test)
nginx -t -c /usr/local/etc/nginx/nginx.conf
;;
restart)
ps auxww | grep nginx | grep master | awk '{print $2}' | xargs kill -HUP
;;
show)
ps -aux|grep nginx
;;
esac
保存为nginx.sh使用方法为:
nginx.sh start #启动nginx
nginx.sh stop #停止nginx
nginx.sh restart #重启nginx
nginx.sh test #测试nginx.conf的准确性
11) 安装phpMyAdmin
#cd /usr/ports/databases/phpmyadmin
#make install
#mv /usr/local/www/phpmyadmin /data/web/ www.jk0086.com/htdocs/
#cd /data/web/www.jk0086.com/htdocs/phpmyadmin
#vi config.inc.php ##这边要说明一下,freebsd默认安装的phpmyadmin,里面配置文件有问题,需要手动修改,请修改成如下内容:
/* $Id: config.sample.inc.php 9689 2006-11-10 20:05:49Z nijel $ */
// vim: expandtab sw=4 ts=4 sts=4:
/**
* phpMyAdmin sample configuration, you can use it as base for
* manual configuration. For easier setup you can use scripts/setup.php
*
* All directives are explained in Documentation.html and on phpMyAdmin
* wiki .
*/
/*
* This is needed for cookie based authentication to encrypt password in
* cookie
*/
$cfg['blowfish_secret'] = 'asdf:LKJ'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
/*
* Servers configuration
*/
$i = 0;
/*
* First server
*/
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
/* Select mysqli if your server has it */
$cfg['Servers'][$i]['extension'] = 'mysql';
/* User for advanced features */
// $cfg['Servers'][$i]['controluser'] = 'pam';
// $cfg['Servers'][$i]['controlpass'] = 'pampasswd';
/* Advanced phpMyAdmin features */
// $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
// $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
// $cfg['Servers'][$i]['relation'] = 'pma_relation';
// $cfg['Servers'][$i]['table_info'] = 'pma_table_info';
// $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
// $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
// $cfg['Servers'][$i]['column_info'] = 'pma_column_info';
// $cfg['Servers'][$i]['history'] = 'pma_history';
// $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
/*
* End of servers configuration
*/
/*
* Directories for saving/loading files from server
*/
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
?>
以上只是一个配置文件,当你打开Phpmyadmin的时候,会提示你输入用户名密码,然后登陆数据库,相对比较安全的
三、系统优化+防止ddos
1) 这个话题有点大,我相信我做的只是其中很小的一部分,同时很多人也会问我,是不是要编译内核,这边的回答是不需要编译任何内核,只需要copy文件,然后重启一下服务器就可以了。
2) 加载文件修改
# 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. 第四行是读取的文件数,如果你下载的文件比较大,且比较多,加大这个参数,是非常爽的
3) Sysctl修改
#vi /etc/rc.local
sysctl kern.ipc.maxsockets=100000 ##增加并发的socket,对于ddos很有用
sysctl kern.ipc.somaxconn=65535 ##打开文件数
sysctl net.inet.tcp.msl=2500 ##timeout时间
4) 通过上述的简单优化,会给你带来意外的惊喜,如果有兴趣的兄弟,可以尝试一下看看,绝无副作用。
四、其他
1) 加速ports安装
#vi /etc/make.conf ##加入如下
MASTER_SITE_OVERRIDE?=http://ports.hshh.org/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?=http://ports.cn.freebsd.org/${DIST_SUBDIR}/
2) 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就可以了
3) Other。。。。。。。。更新中
系统的安装:插入freebsd7.2以上的光盘,最小化安装系统,同时安装好ports
二、手动安装nginx+php
1) 进入系统后,准备cvs更新:
1. cd /usr/ports/net/cvsup-without-gui
2. cp /usr/share/examples/cvsup/ports-supfile /etc/ports-supfile
3. # vi /etc/ports-supfile
将其中的#*default host=CHANGE_THIS.FreeBSD.org一行改为
*default host=cvsup.cn.freebsd.org
4. 更新ports
/usr/local/bin/cvsup -g -L 2 /etc/ports-supfile
2) 安装mysql
#cd /usr/ports/databases/mysql51-server
#vi Makefile
把--localstatedir=/var/db/mysql 改成--localstatedir=/usr/local/db/mysql后保存退出。这步主要是因为/var目录缺省分配的空间比较小。我们直接指定到一个大空间去存储mysql数据。
#make WITH_CHARSET=utf8 WITH_COLLATION=utf8_general_ci WITH_XCHARSET=all WITH_PROC_SCOPE_PTH=yes BUILD_OPTIMIZED=yes BUILD_STATIC=yes SKIP_DNS_CHECK=yes WITHOUT_INNODB=yes install clean
#cp /usr/local/share/mysql/my-large.cnf /etc/my.cnf ##mysql的优化参数,也可以手动修改
# mysql_install_db --user=mysql ##初始化mysql
#/usr/local/bin/mysqld_safe & ##启动mysql
#/usr/local/bin/mysqladmin -u root password 'newpass' ##修改root密码,newpass是你需要改的密码
关闭mysql可以使用mysqladmin -uroot -p shutdown
3) 安装php
#cd /usr/ports/lang/php5
#make config ##配置编译参数
[X] CLI Build CLI version
[X] CGI Build CGI version
[ ] APACHE Build Apache module
[ ] DEBUG Enable debug
[X]] SUHOSIN Enable Suhosin protection system
[X] MULTIBYTE Enable zend multibyte support
[ ] IPV6 Enable ipv6 support
[ ] REDIRECT Enable force-cgi-redirect support (CGI only)
[ ] DISCARD Enable discard-path support (CGI only)
[X] FASTCGI Enable fastcgi support (CGI only)
[X] PATHINFO Enable path-info-check support (CGI only)
#make install clean
# cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini ##cp php.ini配置文件
4) 安装php5-extensions
# cd /usr/ports/lang/php5-extensions/
#make config
Options for php5-extensions 1.1
-------------------------------------------------
[X] CURL CURL support
[X] FTP FTP support
[X] GD
[X] GETTEXT
[X] MBSTRING multibyte string support
[X] MCRYPT Encryption support
[X] MYSQL
[X] PCRE Perl Compatible Regular Expression support
[ ] POSIX //去掉.
[ ] SQLITE //去掉.
[X] ZIP ZIP support
[X] ZLIB
# make install clean
5) 安装Zend Optimizer
#cd /usr/ports/devel/ZendOptimizer/
#make #不要安装,只需要下载解包
#cd /usr/ports/devel/ZendOptimizer/work/ZendOptimizer-*
#./install-tty ##会出现一个文字的安装界面,只是最后一步,不要选择apache就可以了
#vi /usr/local/etc/php.ini #插入zend的路径,一般来说,上面的安装会自动加入下面的文字,假如没有,请手动添加。
[Zend]
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.0
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.0
zend_optimizer.version=3.3.0a
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so
小提示:安装zend,在freebsd下面,目前只有支持到php5.1.x,对于php5.2.x还不能支持,因为zend还没有为php5.2.x开发版本,在网上查了好多关于解决此类的问题,但得到的结果是,zend可以顺利安装,phpinfo也显示zend正常了,但程序无法调用,即zend没有工作,也就是目前无法解决,我想只有等到zend php5.2.x的版本后,才可以解决此问题,也希望哪位已经解决此类问题的兄弟,share一下你的经验。假如你非要使用zend,那就请你将php降到5.1.x,或者你不当心已经升级了ports,那建议你可以安装php4.x,毕竟目前php4.x还通用于大部分的环境
6) 安装nginx
#cd /usr/ports/www/nginx/
#make install
7) 安装lighttpd,为了得到fastcgi
# cd /usr/ports/www/lighttpd/
#make install
#rehash
8) 配置nginx
vi /usr/local/etc/nginx/nginx.conf
#user nobody
删除前面的注释#,改成 user www
#log_format main '$remote_addr - $remote_user [$time_local] '
# '"$request" $status $body_bytes_sent '
# '"$http_referer" "$http_user_agent"';
log_format main '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
##以上步骤,为了能够正常分析log的pv,hits,访问量,才设定的,默认的log格式,是无法准确分析出所需要的结果
location / {
root /usr/local/www/nginx;
index index.html index.htm;
}
在index.html前面添加一个index.php
location / {
root /data/web/www.jk0086.com/htdocs;
index index.php index.html index.htm;
}
#location ~ \.php$ {
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script.name;
# include fastcgi_params;
#}
将前面的#去掉,修改为
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/etc/nginx$fastcgi_script.name;
include fastcgi_params;
}
##去掉注释,其实就是激活了nginx的fastcgi功能,也说明了nginx本身就已经准备用于fastcgi的环境中
9) 配置spawn-fcgi,就是一个启动fastcgi命令,使得nginx可以通过9000端口访问(纯粹个人理解-_-)
参数说明:监听127.0.0.1的9000端口,进程数为64(如果服务器内存小于3GB,可以只开启25个进程),用户为www
/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www -g www -C 64 -f /usr/local/bin/php-cgi
10) 这边请注意启动顺序,先启动fastcgi,再启动nginx
Nginx.conf由于经常需要修改,即经常需要重启nginx,因此这边写了一个启动脚本,请查看:
#!/usr/local/bin/bash
case $1 in
start)
/usr/local/sbin/nginx
;;
stop)
killall -9 nginx
;;
test)
nginx -t -c /usr/local/etc/nginx/nginx.conf
;;
restart)
ps auxww | grep nginx | grep master | awk '{print $2}' | xargs kill -HUP
;;
show)
ps -aux|grep nginx
;;
esac
保存为nginx.sh使用方法为:
nginx.sh start #启动nginx
nginx.sh stop #停止nginx
nginx.sh restart #重启nginx
nginx.sh test #测试nginx.conf的准确性
11) 安装phpMyAdmin
#cd /usr/ports/databases/phpmyadmin
#make install
#mv /usr/local/www/phpmyadmin /data/web/ www.jk0086.com/htdocs/
#cd /data/web/www.jk0086.com/htdocs/phpmyadmin
#vi config.inc.php ##这边要说明一下,freebsd默认安装的phpmyadmin,里面配置文件有问题,需要手动修改,请修改成如下内容:
/* $Id: config.sample.inc.php 9689 2006-11-10 20:05:49Z nijel $ */
// vim: expandtab sw=4 ts=4 sts=4:
/**
* phpMyAdmin sample configuration, you can use it as base for
* manual configuration. For easier setup you can use scripts/setup.php
*
* All directives are explained in Documentation.html and on phpMyAdmin
* wiki .
*/
/*
* This is needed for cookie based authentication to encrypt password in
* cookie
*/
$cfg['blowfish_secret'] = 'asdf:LKJ'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
/*
* Servers configuration
*/
$i = 0;
/*
* First server
*/
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
/* Select mysqli if your server has it */
$cfg['Servers'][$i]['extension'] = 'mysql';
/* User for advanced features */
// $cfg['Servers'][$i]['controluser'] = 'pam';
// $cfg['Servers'][$i]['controlpass'] = 'pampasswd';
/* Advanced phpMyAdmin features */
// $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
// $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
// $cfg['Servers'][$i]['relation'] = 'pma_relation';
// $cfg['Servers'][$i]['table_info'] = 'pma_table_info';
// $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
// $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
// $cfg['Servers'][$i]['column_info'] = 'pma_column_info';
// $cfg['Servers'][$i]['history'] = 'pma_history';
// $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
/*
* End of servers configuration
*/
/*
* Directories for saving/loading files from server
*/
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
?>
以上只是一个配置文件,当你打开Phpmyadmin的时候,会提示你输入用户名密码,然后登陆数据库,相对比较安全的
三、系统优化+防止ddos
1) 这个话题有点大,我相信我做的只是其中很小的一部分,同时很多人也会问我,是不是要编译内核,这边的回答是不需要编译任何内核,只需要copy文件,然后重启一下服务器就可以了。
2) 加载文件修改
# 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. 第四行是读取的文件数,如果你下载的文件比较大,且比较多,加大这个参数,是非常爽的
3) Sysctl修改
#vi /etc/rc.local
sysctl kern.ipc.maxsockets=100000 ##增加并发的socket,对于ddos很有用
sysctl kern.ipc.somaxconn=65535 ##打开文件数
sysctl net.inet.tcp.msl=2500 ##timeout时间
4) 通过上述的简单优化,会给你带来意外的惊喜,如果有兴趣的兄弟,可以尝试一下看看,绝无副作用。
四、其他
1) 加速ports安装
#vi /etc/make.conf ##加入如下
MASTER_SITE_OVERRIDE?=http://ports.hshh.org/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?=http://ports.cn.freebsd.org/${DIST_SUBDIR}/
2) 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就可以了
3) Other。。。。。。。。更新中
跟着ArthurXF学FreeBSD48——freebsd内核中文说明
2009/05/04 14:25 ArthurXF
内核参数说明
下面是一个 GENERIC 内核配置文件的例子,它包括了一些需要解释的注释。
machine i386
这是机器的架构, 他只能是 alpha, amd64, i386, ia64, pc98, powerpc, 或 sparc64 中的一种。
cpu I486_CPU
cpu I586_CPU
cpu I686_CPU
上面的选项指定了您系统中所使用的 CPU 类型。 您可以使用多个 CPU 类型 (例如,您不确定是应该指定 I586_CPU 或 I686_CPU)。
然而对于定制的内核, 最好能够只指定您使用的那种 CPU。如果您对于自己使用的 CPU 类型没有把握,
可以通过查看 /var/run/dmesg.boot 中的启动信息来了解。
ident GENERIC
这是内核的名字, 您应该取一个自己喜欢的名字, 这里我们取名LINUXEDU,
您放在 ident 后面的字符串在启动内核时会显示出来,因
此如果希望能够容易区分常用的内核和刚刚定制的内核,就应该采取不同的名字。
#To statically compile in device wiring instead of /boot/device.hints
#hints "GENERIC.hints" # Default places to look for devices.
device.hints 可以用来配置设备驱动选项。
在启动的时候 loader将会检查缺省位置 /boot/devicehints。
使用 hints 选项您就可以把这些 hints 静态编译进内核。 这样就没有必要在 /boot下创建devicehints。
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
一般的 FreeBSD 联编过程, 在所联编的内核指定了 -g 选项时,
由于此选项将传递给 gcc 表示加入调试信息, 因此会将调试符号也包含进来。
如果您使用 “旧式的” 方法来联编内核,通过使用 config的 -g 选项,
也可以达到类似的目的。
options SCHED_4BSD # 4BSD scheduler
这是 FreeBSD 传统上使用的默认系统调度器。 请保留此选项。
options PREEMPTION # Enable kernel thread preemption
允许内核线程根据优先级的抢占调度。 这有助于改善交互性,并可以让中断线程更早地执行, 而无须等待。
options INET # InterNETworking
网络支持,即使您不打算连网,也请保留它,大部分的程序至少需要回环网络(就是和本机进行网络连接),所以强烈要求保留它。
options INET6 # IPv6 communications protocols
这将打开IPv6连接协议。
options FFS # Berkeley Fast Filesystem
这是最基本的硬盘文件系统,如果打算从本地硬盘启动,请保留它。
options SOFTUPDATES # Enable FFS Soft Updates support
这个选项会启用内核中的 Soft Updates 支持, 它会显著地提高磁盘的写入速度。
尽管这项功能是由内核直接提供的, 但仍然需要在每个磁盘上启用它。
请检查 mount的输出,以了解您系统中的磁盘上是否已经启用了 Soft Updates。
如果没有看到 soft-updates 选项, 则需要使用 tunefs(对于暨存系统) 或
newfs (对于新系统) 命令来激活它。
options UFS_ACL # Support for access control lists
这个选项将启用内核中的访问控制表的支持。 这依赖于扩展属性以及 UFS2,
ACL 默认是启用的,并且如果已经在文件系统上使用了这一特性, 就不应再关掉它, 因为这会去掉文件的访问控制表,并以不可预期的方式改变受保护的文件的访问方式。
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
网络文件系统。 如果您不打算通过 TCP/IP 挂接 UNIX® 文件服务器的分区, 就可以注释掉它。
options MSDOSFS # MSDOS Filesystem
MS-DOS® 文件系统。 只要您不打算在启动时挂接由 DOS 格式化的硬盘分区,
就可以把它注释掉。 如前面所介绍的那样, 在您第一次挂接 DOS 分区时,
内核会自动加载需要的模块。 此外, emulators/mtools 软件提供了一个很方便的功能,
通过它您可以直接访问 DOS 软盘而无需挂接或卸下它们 (而且也完全不需要 MSDOSFS)。
options CD9660 # ISO 9660 Filesystem
用于 CDROM 的 ISO 9660 文件系统。 如果没有 CDROM 驱动器或很少挂接光盘数据 (因为在首次使用数据 CD 时会自动加载),
就可以把它注释掉。 音乐 CD 并不需要这个选项。
options PROCFS # Process filesystem (requires PSEUDOFS)
进程文件系统。 这是一个挂接在 /proc 的一个 “假扮的” 文件系统, 其作用是允许类似
ps这样的程序给出正在运行的进程的进一步信息。 多数情况下, 并不需要使用 PROCFS,
因为绝大多数调试和监控工具, 已经进行了一系列修改,使之不再依赖 PROCFS:默认安装的系统中并不会挂接这一文件系统。
options PSEUDOFS # Pseudo-filesystem framework
在 6.X 内核中, 如果希望使用 PROCFS, 就必须加入 PSEUDOFS 的支持。
options GEOM_GPT # GUID Partition Tables.
这个选项提供了在磁盘上使用大量的分区的能力。
options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]
使系统兼容4.3BSD。不要去掉这一行,不然有些程序将无法正常运行。
options COMPAT_FREEBSD4 # Compatible with FreeBSD4
为了支持在旧版本的FreeBSD下编译的程序,该选项在FreeBSD 5.X i386™和Alpha systems下需要打开。
最好在所有的i386和Alpha systems下打开这个选项,因为可能要运行老应用程序。
在5.X才开始支持的平台,比如ia64和Sparc64®,就不需要这个选项。
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
这将让内核在探测每个 SCSI 设备之前等待 5 秒。 如果您只有 IDE 硬盘驱动器,
就可以不管它, 反之您可能会希望尝试降低这个数值以加速启动过程。
当然, 如果您这么做之后 FreeBSD 在识别您的 SCSI 设备时遇到问题, 则您还需要再把它改回去。
options KTRACE # ktrace(1) support
这个选项打开内核进程跟踪,在调试时很有用。
options SYSVSHM # SYSV-style shared memory
提供System V共享内存(SHM)的支持,最常用到SHM的应该是X Window的XSHM延伸,
不少绘图相关程序会自动使用SHM来提供额外的速度。如果您要使用X Window,您最好加入这个选项。
options SYSVMSG # SYSV-style message queues
支持 System V 消息。 这只会在内核中增加数百字节的空间占用。
options SYSVSEM # SYSV-style semaphores
支持System V 信号量, 不常用到, 但只在kernel中占用几百个字节的空间。
注意: ipcs(1) 命令的 -p 选项可以显示出任何用到这些 System V 机制的进程。
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
在 1993 年 POSIX® 添加的实时扩展。 在 Ports Collection 中某些应用程序会用到这些 (比如StarOffice™)。
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
这个选项与键盘有关。 它在 /dev 中安装一个 CDEV 项。
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.
内核全局锁 (Giant) 是一种互斥机制 (休眠互斥体) 的名字, 它用于保护许多内核资源。
现在, 这已经成为了一种无法接受的性能瓶颈, 它已经被越来越多地使用保护单个资源的锁代替。
ADAPTIVE_GIANT 选项将使得内核全局锁作为一种自适应自旋锁。这意味着,
当有线程希望锁住内核全局锁互斥体, 但互斥体已经被另一个 CPU 上的线程锁住的时候,
它将继续运行, 直到那个线程释放锁为止。 一般情况下,另一个线程将进入休眠状态并等待下一次调度。
如果您不确定是否应该这样做的话,一般应该打开它。
device apic # I/O APIC
apic 设备将启用使用 I/O APIC 作为中断发送设备的能力。 apic 设备可以被 UP 和 SMP 内核使用, 但 SMP 内核必须使用它。 要支持多处理器, 还需要加上 options SMP。
device eisa
如果您的主机板上有EISA总线,加入这个设置。使用这个选项可以自动扫描并设置所有连接在EISA总线上的设备。
device pci
如果您的主板有PCI总线,就加入这个选项。使用这个选项可以自动扫描PCI卡,并在PCI到ISA之间建立通路。
# Floppy drives
device fdc
这是软驱控制器。
# ATA and ATAPI devices
device ata
这个驱动器支持所有ATA和ATAPI设备。您只要在内核中加入device ata选项,
就可以让内核支持现代计算机上的所有PCI ATA/ATAPI设备。
device atadisk # ATA disk drives
这个是ATAPI 磁盘驱动器所必须的。
device ataraid # ATA RAID drives
这个选项需要 device ata, 它用于 ATA RAID 驱动。
device atapicd # ATAPI CDROM drives
这个是ATAPI CDROM驱动器所必须的。
device atapifd # ATAPI floppy drives
这个是ATAPI 磁盘驱动器所必须的。
device atapist # ATAPI tape drives
这个是ATAPI 磁带机驱动器所必须的.
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 (Teckram 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)
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控制器。可以注释掉您系统中没有的设备。如果您只有IDE设备,您可以把这些一起删掉。
# 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)
SSCSI外围设备。也可以像上面一样操作。
注意: 目前系统提供的 USB umass(4) 以及少量其它驱动使用了 SCSI 子系统, 尽管它们并不是真的 SCSI 设备。 因此,如果在内核配置使用了这类驱动程序, 请务必不要删除 SCSI 支持。
# 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
支持RAID控制器。如果您没有这些,可以把它们注释掉或是删掉。
# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc # AT keyboard controller
键盘控制器(atkbdc)提供AT键盘输入以及PS/2指针设备的I/O服务。 键盘驱动程序(atkbd)与PS/2鼠标驱动程序(psm)需要这个控制器,所以不要删除它。
device atkbd # AT keyboard
atkbd驱动程序,与atkbdc控制器一起使用, 提供连接到AT键盘控制器的AT 84键盘与AT加强型键盘的访问服务。
device psm # PS/2 mouse
如果您的鼠标连接到PS/2鼠标端口,就使用这个设备驱动程序。
device kbdmux # keyboard multiplexer
针对键盘多路选择器的基本支持。
device vga # VGA video card driver
显卡驱动。
device splash # Splash screen and screen saver support
启动时的 splash 画面! 屏幕保护程序也需要这一选项。
# syscons is the default console driver, resembling an SCO console
device sc
sc 是默认的控制台驱动程序, 类似 SCO 控制台。由于绝大部分全屏幕程序都通过类似 termcap 这样的终端数据库函数库赖访问控制台, 因此无论您使用这个或与 VT220 兼容的 vt 都没有什么关系。如果您在运行这种控制台时使用全屏幕程序时发生问题, 请在登录之后将 TERM 变量设置为 scoansi。
# 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
这是一个兼容 VT220 的控制台驱动, 它同时能够向下兼容 VT100/102。
在同 sc 硬件不兼容的一些笔记本上它能够运行的很好。
当然, 登录系统时请把 TERM 变量设置为 vt100 或 vt220。
此驱动在连接网络上大量不同的机器时也被证明非常有用,因为此时
termcap 或 terminfo 通常没有可用的 sc 设备 ── 而 vt100 则几乎每种平台都支持。
device agp
如果您的机器使用 AGP 卡, 请把上面一行加入配置。 这将启用 AGP, 以及某些卡上的 AGP GART 支持。
# 电源管理支持 (参见 NOTES 了解更多选项)
#device apm
高级电源管理支持。 对笔记本有用, 不过在 FreeBSD 5.X 和更高版本中的 GENERIC 里默认禁用。
# 增加 i8254 的 挂起/恢复 支持。
device pmtimer
用于电源管理事件, 例如 APM 和 ACPI 的时钟设备驱动。
# 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
PCMCIA支持。如果您使用膝上型计算机,您需要这个。
# Serial (COM) ports
device sio # 8250, 16[45]50 based serial ports
这些串口在 MS-DOS/Windows® 的世界中称为 COM 口。
注意: 如果使用内置式的调制解调器, 并占用 COM4 而您另有一个串口在 COM2, 则必须把调制解调器的 IRQ 改为 2 (由于晦涩的技术原因, IRQ2 = IRQ 9) 才能够在 FreeBSD 中访问它。 如果有多口的串口卡,请参考 sio(4) 以了解需要在 /boot/device.hints 中进行的设置。 某些显卡 (特别是基于 S3 芯片的卡) 使用形如 0x*2e8 的 IO 地址,而许多廉价的串口卡不能够正确地对 16-位 IO 地址空间进行解码, 因此它们会产生冲突, 并造成 COM4 实际上无法使用。
每一个串口都需要有一个唯一的 IRQ (除非您使用支持中断分享的串口卡), 因此默认的 COM3 和 COM4 IRQ 是不能使用的。
# Parallel port
device ppc
ISA-bus并行接口。
device ppbus # Parallel port bus (required)
提供并行总线的支持。
device lpt # Printer
提供并口打印机的支持。
注意: 要使用并口打印机,就必须同时加入上面三行设置。
device plip # TCP/IP over parallel
这是针对并行网络接口的驱动器。
device ppi # Parallel port interface device
普通用途的I/O (“geek port”) + IEEE1284 I/O.
#device vpo # Requires scbus and da
这是针对Iomega Zip驱动器的。它要求scbus和da的支持。 最好的执行效果是工作在EPP 1.9模式。
#device puc
如果您有由 puc(4) 支持的 “哑” 串行或并行 PCI 卡, 则应去掉这一行的注释。
# 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网卡驱动器。注释或删除您系统中没有的设备.
# 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
MII总线支持对于一些PCI 10/100 Ethernet NIC来说是必需的。
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”)
使用MII总线控制器代码的驱动器。
# 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
# ISA devices that use the old ISA shims
#device le
ISA 以太网卡驱动。 参见 /usr/src/sys/i386/conf/NOTES 以了解关于哪个驱动程序能够驱动您的网卡的细节。
# 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
这是 TCP/IP 的通用回环设备。 如果您 telnet 或 FTP 到 localhost (也就是 127.0.0.1) 则将通过这个设备回到本机。 这个设备是 必需的。
device random # Entropy device
Cryptographically secure random number generator.
device ether # Ethernet support
ether 只有在使用以太网卡时才需要。它包含了通用的以太网协议代码。
device sl # Kernel SLIP
sl 用以提供 SLIP 支持。 目前它几乎已经完全被 PPP 取代了,因为后者更容易配置, 而且更适合调制解调器之间的连接, 并提供了更强大的功能。
device ppp # Kernel PPP
这一选项用以提供内核级的 PPP 支持, 用于拨号连接。 也有以用户模式运行的 PPP 实现,使用 tun 并提供包括按需拨号在内的更为灵活的功能。
device tun # Packet tunnel.
它会被用户模式的 PPP 软件用到。 参考本书的 PPP 以了解更多的细节。
device pty # Pseudo-ttys (telnet etc)
这是一个 “pseudo-terminal” 或模拟登入端口。 它用来接收连入的 telnet 以及 rlogin 会话、 xterm, 以及一些其它程序如 Emacs 等。
device md # Memory “disks”
内存盘伪设备。
device gif # IPv6 and IPv4 tunneling
它实现了在 IPv4 上的 IPv6 隧道、 IPv6 上的 IPv4 隧道、 IPv4 上的 IPv4 隧道、以及IPv6 上的 IPv6隧道。 gif 设备是 “自动克隆” 的,它会根据需要自动创建设备节点。
device faith # IPv6-to-IPv4 relaying (translation)
这个伪设备能捕捉发给它的数据包,并把它们转发给 IPv4/IPv6 翻译服务程序。
# 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
这是 Berkeley 包过滤器。这个伪设备允许网络接口被置于混杂模式, 从而,截获广播网 (例如,以太网) 上的每一个数据包。 截获的数据报可以保存到磁盘上,也可以使用 tcpdump(1) 程序来分析。
注意: bpf(4) 设备也被用于 dhclient(8) 来获取默认路由器(网关)的 IP 地址。如果使用DHCP,就不要注释掉这行。
# 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 urio # Diamond Rio 500 MP3 player
device uscanner # Scanners
# USB Ethernet, requires mii
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
支持各类 USB 设备。
# FireWire support
device firewire # FireWire bus code
device sbp # SCSI over FireWire (Requires scbus and da)
device fwe # Ethernet over FireWire (non-standard!)
支持各类火线设备。
要了解 FreeBSD 所支持的设备的其他情况, 请参考 /usr/src/sys/i386/conf/NOTES。
下面是一个 GENERIC 内核配置文件的例子,它包括了一些需要解释的注释。
machine i386
这是机器的架构, 他只能是 alpha, amd64, i386, ia64, pc98, powerpc, 或 sparc64 中的一种。
cpu I486_CPU
cpu I586_CPU
cpu I686_CPU
上面的选项指定了您系统中所使用的 CPU 类型。 您可以使用多个 CPU 类型 (例如,您不确定是应该指定 I586_CPU 或 I686_CPU)。
然而对于定制的内核, 最好能够只指定您使用的那种 CPU。如果您对于自己使用的 CPU 类型没有把握,
可以通过查看 /var/run/dmesg.boot 中的启动信息来了解。
ident GENERIC
这是内核的名字, 您应该取一个自己喜欢的名字, 这里我们取名LINUXEDU,
您放在 ident 后面的字符串在启动内核时会显示出来,因
此如果希望能够容易区分常用的内核和刚刚定制的内核,就应该采取不同的名字。
#To statically compile in device wiring instead of /boot/device.hints
#hints "GENERIC.hints" # Default places to look for devices.
device.hints 可以用来配置设备驱动选项。
在启动的时候 loader将会检查缺省位置 /boot/devicehints。
使用 hints 选项您就可以把这些 hints 静态编译进内核。 这样就没有必要在 /boot下创建devicehints。
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
一般的 FreeBSD 联编过程, 在所联编的内核指定了 -g 选项时,
由于此选项将传递给 gcc 表示加入调试信息, 因此会将调试符号也包含进来。
如果您使用 “旧式的” 方法来联编内核,通过使用 config的 -g 选项,
也可以达到类似的目的。
options SCHED_4BSD # 4BSD scheduler
这是 FreeBSD 传统上使用的默认系统调度器。 请保留此选项。
options PREEMPTION # Enable kernel thread preemption
允许内核线程根据优先级的抢占调度。 这有助于改善交互性,并可以让中断线程更早地执行, 而无须等待。
options INET # InterNETworking
网络支持,即使您不打算连网,也请保留它,大部分的程序至少需要回环网络(就是和本机进行网络连接),所以强烈要求保留它。
options INET6 # IPv6 communications protocols
这将打开IPv6连接协议。
options FFS # Berkeley Fast Filesystem
这是最基本的硬盘文件系统,如果打算从本地硬盘启动,请保留它。
options SOFTUPDATES # Enable FFS Soft Updates support
这个选项会启用内核中的 Soft Updates 支持, 它会显著地提高磁盘的写入速度。
尽管这项功能是由内核直接提供的, 但仍然需要在每个磁盘上启用它。
请检查 mount的输出,以了解您系统中的磁盘上是否已经启用了 Soft Updates。
如果没有看到 soft-updates 选项, 则需要使用 tunefs(对于暨存系统) 或
newfs (对于新系统) 命令来激活它。
options UFS_ACL # Support for access control lists
这个选项将启用内核中的访问控制表的支持。 这依赖于扩展属性以及 UFS2,
ACL 默认是启用的,并且如果已经在文件系统上使用了这一特性, 就不应再关掉它, 因为这会去掉文件的访问控制表,并以不可预期的方式改变受保护的文件的访问方式。
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
网络文件系统。 如果您不打算通过 TCP/IP 挂接 UNIX® 文件服务器的分区, 就可以注释掉它。
options MSDOSFS # MSDOS Filesystem
MS-DOS® 文件系统。 只要您不打算在启动时挂接由 DOS 格式化的硬盘分区,
就可以把它注释掉。 如前面所介绍的那样, 在您第一次挂接 DOS 分区时,
内核会自动加载需要的模块。 此外, emulators/mtools 软件提供了一个很方便的功能,
通过它您可以直接访问 DOS 软盘而无需挂接或卸下它们 (而且也完全不需要 MSDOSFS)。
options CD9660 # ISO 9660 Filesystem
用于 CDROM 的 ISO 9660 文件系统。 如果没有 CDROM 驱动器或很少挂接光盘数据 (因为在首次使用数据 CD 时会自动加载),
就可以把它注释掉。 音乐 CD 并不需要这个选项。
options PROCFS # Process filesystem (requires PSEUDOFS)
进程文件系统。 这是一个挂接在 /proc 的一个 “假扮的” 文件系统, 其作用是允许类似
ps这样的程序给出正在运行的进程的进一步信息。 多数情况下, 并不需要使用 PROCFS,
因为绝大多数调试和监控工具, 已经进行了一系列修改,使之不再依赖 PROCFS:默认安装的系统中并不会挂接这一文件系统。
options PSEUDOFS # Pseudo-filesystem framework
在 6.X 内核中, 如果希望使用 PROCFS, 就必须加入 PSEUDOFS 的支持。
options GEOM_GPT # GUID Partition Tables.
这个选项提供了在磁盘上使用大量的分区的能力。
options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]
使系统兼容4.3BSD。不要去掉这一行,不然有些程序将无法正常运行。
options COMPAT_FREEBSD4 # Compatible with FreeBSD4
为了支持在旧版本的FreeBSD下编译的程序,该选项在FreeBSD 5.X i386™和Alpha systems下需要打开。
最好在所有的i386和Alpha systems下打开这个选项,因为可能要运行老应用程序。
在5.X才开始支持的平台,比如ia64和Sparc64®,就不需要这个选项。
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
这将让内核在探测每个 SCSI 设备之前等待 5 秒。 如果您只有 IDE 硬盘驱动器,
就可以不管它, 反之您可能会希望尝试降低这个数值以加速启动过程。
当然, 如果您这么做之后 FreeBSD 在识别您的 SCSI 设备时遇到问题, 则您还需要再把它改回去。
options KTRACE # ktrace(1) support
这个选项打开内核进程跟踪,在调试时很有用。
options SYSVSHM # SYSV-style shared memory
提供System V共享内存(SHM)的支持,最常用到SHM的应该是X Window的XSHM延伸,
不少绘图相关程序会自动使用SHM来提供额外的速度。如果您要使用X Window,您最好加入这个选项。
options SYSVMSG # SYSV-style message queues
支持 System V 消息。 这只会在内核中增加数百字节的空间占用。
options SYSVSEM # SYSV-style semaphores
支持System V 信号量, 不常用到, 但只在kernel中占用几百个字节的空间。
注意: ipcs(1) 命令的 -p 选项可以显示出任何用到这些 System V 机制的进程。
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
在 1993 年 POSIX® 添加的实时扩展。 在 Ports Collection 中某些应用程序会用到这些 (比如StarOffice™)。
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
这个选项与键盘有关。 它在 /dev 中安装一个 CDEV 项。
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.
内核全局锁 (Giant) 是一种互斥机制 (休眠互斥体) 的名字, 它用于保护许多内核资源。
现在, 这已经成为了一种无法接受的性能瓶颈, 它已经被越来越多地使用保护单个资源的锁代替。
ADAPTIVE_GIANT 选项将使得内核全局锁作为一种自适应自旋锁。这意味着,
当有线程希望锁住内核全局锁互斥体, 但互斥体已经被另一个 CPU 上的线程锁住的时候,
它将继续运行, 直到那个线程释放锁为止。 一般情况下,另一个线程将进入休眠状态并等待下一次调度。
如果您不确定是否应该这样做的话,一般应该打开它。
device apic # I/O APIC
apic 设备将启用使用 I/O APIC 作为中断发送设备的能力。 apic 设备可以被 UP 和 SMP 内核使用, 但 SMP 内核必须使用它。 要支持多处理器, 还需要加上 options SMP。
device eisa
如果您的主机板上有EISA总线,加入这个设置。使用这个选项可以自动扫描并设置所有连接在EISA总线上的设备。
device pci
如果您的主板有PCI总线,就加入这个选项。使用这个选项可以自动扫描PCI卡,并在PCI到ISA之间建立通路。
# Floppy drives
device fdc
这是软驱控制器。
# ATA and ATAPI devices
device ata
这个驱动器支持所有ATA和ATAPI设备。您只要在内核中加入device ata选项,
就可以让内核支持现代计算机上的所有PCI ATA/ATAPI设备。
device atadisk # ATA disk drives
这个是ATAPI 磁盘驱动器所必须的。
device ataraid # ATA RAID drives
这个选项需要 device ata, 它用于 ATA RAID 驱动。
device atapicd # ATAPI CDROM drives
这个是ATAPI CDROM驱动器所必须的。
device atapifd # ATAPI floppy drives
这个是ATAPI 磁盘驱动器所必须的。
device atapist # ATAPI tape drives
这个是ATAPI 磁带机驱动器所必须的.
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 (Teckram 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)
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控制器。可以注释掉您系统中没有的设备。如果您只有IDE设备,您可以把这些一起删掉。
# 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)
SSCSI外围设备。也可以像上面一样操作。
注意: 目前系统提供的 USB umass(4) 以及少量其它驱动使用了 SCSI 子系统, 尽管它们并不是真的 SCSI 设备。 因此,如果在内核配置使用了这类驱动程序, 请务必不要删除 SCSI 支持。
# 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
支持RAID控制器。如果您没有这些,可以把它们注释掉或是删掉。
# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc # AT keyboard controller
键盘控制器(atkbdc)提供AT键盘输入以及PS/2指针设备的I/O服务。 键盘驱动程序(atkbd)与PS/2鼠标驱动程序(psm)需要这个控制器,所以不要删除它。
device atkbd # AT keyboard
atkbd驱动程序,与atkbdc控制器一起使用, 提供连接到AT键盘控制器的AT 84键盘与AT加强型键盘的访问服务。
device psm # PS/2 mouse
如果您的鼠标连接到PS/2鼠标端口,就使用这个设备驱动程序。
device kbdmux # keyboard multiplexer
针对键盘多路选择器的基本支持。
device vga # VGA video card driver
显卡驱动。
device splash # Splash screen and screen saver support
启动时的 splash 画面! 屏幕保护程序也需要这一选项。
# syscons is the default console driver, resembling an SCO console
device sc
sc 是默认的控制台驱动程序, 类似 SCO 控制台。由于绝大部分全屏幕程序都通过类似 termcap 这样的终端数据库函数库赖访问控制台, 因此无论您使用这个或与 VT220 兼容的 vt 都没有什么关系。如果您在运行这种控制台时使用全屏幕程序时发生问题, 请在登录之后将 TERM 变量设置为 scoansi。
# 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
这是一个兼容 VT220 的控制台驱动, 它同时能够向下兼容 VT100/102。
在同 sc 硬件不兼容的一些笔记本上它能够运行的很好。
当然, 登录系统时请把 TERM 变量设置为 vt100 或 vt220。
此驱动在连接网络上大量不同的机器时也被证明非常有用,因为此时
termcap 或 terminfo 通常没有可用的 sc 设备 ── 而 vt100 则几乎每种平台都支持。
device agp
如果您的机器使用 AGP 卡, 请把上面一行加入配置。 这将启用 AGP, 以及某些卡上的 AGP GART 支持。
# 电源管理支持 (参见 NOTES 了解更多选项)
#device apm
高级电源管理支持。 对笔记本有用, 不过在 FreeBSD 5.X 和更高版本中的 GENERIC 里默认禁用。
# 增加 i8254 的 挂起/恢复 支持。
device pmtimer
用于电源管理事件, 例如 APM 和 ACPI 的时钟设备驱动。
# 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
PCMCIA支持。如果您使用膝上型计算机,您需要这个。
# Serial (COM) ports
device sio # 8250, 16[45]50 based serial ports
这些串口在 MS-DOS/Windows® 的世界中称为 COM 口。
注意: 如果使用内置式的调制解调器, 并占用 COM4 而您另有一个串口在 COM2, 则必须把调制解调器的 IRQ 改为 2 (由于晦涩的技术原因, IRQ2 = IRQ 9) 才能够在 FreeBSD 中访问它。 如果有多口的串口卡,请参考 sio(4) 以了解需要在 /boot/device.hints 中进行的设置。 某些显卡 (特别是基于 S3 芯片的卡) 使用形如 0x*2e8 的 IO 地址,而许多廉价的串口卡不能够正确地对 16-位 IO 地址空间进行解码, 因此它们会产生冲突, 并造成 COM4 实际上无法使用。
每一个串口都需要有一个唯一的 IRQ (除非您使用支持中断分享的串口卡), 因此默认的 COM3 和 COM4 IRQ 是不能使用的。
# Parallel port
device ppc
ISA-bus并行接口。
device ppbus # Parallel port bus (required)
提供并行总线的支持。
device lpt # Printer
提供并口打印机的支持。
注意: 要使用并口打印机,就必须同时加入上面三行设置。
device plip # TCP/IP over parallel
这是针对并行网络接口的驱动器。
device ppi # Parallel port interface device
普通用途的I/O (“geek port”) + IEEE1284 I/O.
#device vpo # Requires scbus and da
这是针对Iomega Zip驱动器的。它要求scbus和da的支持。 最好的执行效果是工作在EPP 1.9模式。
#device puc
如果您有由 puc(4) 支持的 “哑” 串行或并行 PCI 卡, 则应去掉这一行的注释。
# 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网卡驱动器。注释或删除您系统中没有的设备.
# 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
MII总线支持对于一些PCI 10/100 Ethernet NIC来说是必需的。
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”)
使用MII总线控制器代码的驱动器。
# 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
# ISA devices that use the old ISA shims
#device le
ISA 以太网卡驱动。 参见 /usr/src/sys/i386/conf/NOTES 以了解关于哪个驱动程序能够驱动您的网卡的细节。
# 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
这是 TCP/IP 的通用回环设备。 如果您 telnet 或 FTP 到 localhost (也就是 127.0.0.1) 则将通过这个设备回到本机。 这个设备是 必需的。
device random # Entropy device
Cryptographically secure random number generator.
device ether # Ethernet support
ether 只有在使用以太网卡时才需要。它包含了通用的以太网协议代码。
device sl # Kernel SLIP
sl 用以提供 SLIP 支持。 目前它几乎已经完全被 PPP 取代了,因为后者更容易配置, 而且更适合调制解调器之间的连接, 并提供了更强大的功能。
device ppp # Kernel PPP
这一选项用以提供内核级的 PPP 支持, 用于拨号连接。 也有以用户模式运行的 PPP 实现,使用 tun 并提供包括按需拨号在内的更为灵活的功能。
device tun # Packet tunnel.
它会被用户模式的 PPP 软件用到。 参考本书的 PPP 以了解更多的细节。
device pty # Pseudo-ttys (telnet etc)
这是一个 “pseudo-terminal” 或模拟登入端口。 它用来接收连入的 telnet 以及 rlogin 会话、 xterm, 以及一些其它程序如 Emacs 等。
device md # Memory “disks”
内存盘伪设备。
device gif # IPv6 and IPv4 tunneling
它实现了在 IPv4 上的 IPv6 隧道、 IPv6 上的 IPv4 隧道、 IPv4 上的 IPv4 隧道、以及IPv6 上的 IPv6隧道。 gif 设备是 “自动克隆” 的,它会根据需要自动创建设备节点。
device faith # IPv6-to-IPv4 relaying (translation)
这个伪设备能捕捉发给它的数据包,并把它们转发给 IPv4/IPv6 翻译服务程序。
# 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
这是 Berkeley 包过滤器。这个伪设备允许网络接口被置于混杂模式, 从而,截获广播网 (例如,以太网) 上的每一个数据包。 截获的数据报可以保存到磁盘上,也可以使用 tcpdump(1) 程序来分析。
注意: bpf(4) 设备也被用于 dhclient(8) 来获取默认路由器(网关)的 IP 地址。如果使用DHCP,就不要注释掉这行。
# 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 urio # Diamond Rio 500 MP3 player
device uscanner # Scanners
# USB Ethernet, requires mii
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
支持各类 USB 设备。
# FireWire support
device firewire # FireWire bus code
device sbp # SCSI over FireWire (Requires scbus and da)
device fwe # Ethernet over FireWire (non-standard!)
支持各类火线设备。
要了解 FreeBSD 所支持的设备的其他情况, 请参考 /usr/src/sys/i386/conf/NOTES。