A. JAXIS的手表好不好
蛮不错启败啊,我又一块jaxis的表,十悄薯颤多年前在日本买的手槐,到现在还在用,可以玻璃被我打碎了,不过没关系,总能换吗,,,
B. 程序化购买的优势在哪里
你好,程序化购买就是自动化流程购买广告位流量,具有单个受众的实时购买特性,相对于传统的人工售岩穗卖方式,程序化购买长指旅桥的是通过自动化流程购买广告位流量。
相对于人工售卖程序化购买的优势有:1.自动化;2.实时购买;3.单个受众购买。
国内出现了参差不齐的60-80多家DSP平台,但粗镇卜是建议你跟Trading Desk(媒体交易平台)咨询,因为DSP其实主要是技术开发。对于交易、投放和优化效果而言还是Trading Desk比较在行。可以看看像国内第一家Trading Desk创略Chinapex,或者像Xaxis, AOD等。
C. 如何有效的帮助电商增加网路订单量
如果是在电商平台上的品牌旗舰店推广,主要分站内和站外。站内就是电商运营推广了。站外可以考虑效果比较好的程式化媒体投放。可以咨询下专业程式化媒体交易平台,像创略Chinapex,Auen,Xaxis等。
我了解到的一家agency有下单给Trading Desk创略,当然同时也会把单子给到一些DSP。感觉如果单从 CPM,CPC去比较的话,应该说是没有太大区别。但是要从效果上去看,Trading Desk较DSP会有定位上的不同,在效果上下的功夫会更多。了解下来创略一些行业的单子在CPA效果上会做得更好。
原因有:Trading Desk在优化效果上的人力配置比DSP要多得多,花的工夫更多,自然效果好可以理解。;一些DSP主要核心是技术开发,希望能够做到市场份额然后卖掉,起量是关键。相较而言,Trading Desk更贴近客户一端,必须保证客户的投放效果从而达成长期合作。总体感觉Chinapex创略的效果是不错的。其在资源等其他方面的布局也会更全面更早一些。
权重和关键词在的排名有关系网站 IP 在 0 的时刻,权重是 0; 网站 IP 在 1——100 的时刻,权重是 1; 网站 IP 在 100——500 的时刻,权重是 2; 网站 IP 在 500——1000 的时刻,权重是 3; 网站 IP 在 1000——5000 的时刻,权重是 4; 网站 IP 在 5000——1 万的时刻,权重是 5; 网站 IP 在 1 万——10 万的时刻,权重是 6; 网站 IP 在 10 万——20 万的时刻,权重是 7; 网站 IP 在 20 万——100 万的时刻,权重是 8; 网站 IP 在 100 万以上,权重是 9. 以上所说的 IP,是从来的 IP。权重是按指数流量来划分标准的,所以当你希 望快速晋升你的网站权重, 那么首页晋升你全部网站的指数流量, 只要流量上升了, 那么权重天然就会上升
1、新使用者安装:可以在原来基数使用者之上设定一个数值。
2、新用交易转化率:
3、新使用者留存:
4、权重设定:
1)看你公司发展期,如果是早期,可以把重心放在新使用者安装和新使用者转化率上。参考权重比例:总分100分,1占比:50%。2占比30%,3占比20%。
2)如果是A轮后,可以把重心放在新使用者安装和使用者留存上槐帆。参考比例:总分100分,1占比30%,2占比30%,3占比40%
想想作瞎咐为顾客来购物,如果看到店内有琳琅满目的商品自然可以任由选择畅游其间,感受购物的乐趣.不断发现有更喜欢的宝贝如发现新大陆一般惊喜,不识店主真面目,只愿身在此店中.
淘宝网店装修风格有关
店铺的装修风格应与所售商品相匹配!比如卖女士精品的店应选比较柔美的店铺模版,体现其所售商品的属性.比如卖男士用品的店应选体现刚硬风格的店铺模版.
个性化装饰,如:店标\分类\公告\宝贝描述.这类个性装饰要与店铺模版风格统一,应突出简洁、干净利落,不宜太繁锁.如果店装饰效果非常突出,那么顾客只会赞叹店很漂亮,却不是说宝贝很漂亮,这就喧宾夺主适得其反了(当然卖店铺装修的例外,因为本来就是卖这的磨明纯).区域性装饰应该体现出品位,细部刻画得精致,为宝贝增色.
淘宝网店宝贝陈列有关
相信作为顾客都喜欢逛分类清晰、商品陈列有序的商店,随手可以轻意挑选到自己喜欢的商品,如果商品杂乱无章只会让顾客迅速逃离.
商品陈列方法:
首先,"店铺类目"相当于一本书的目录,你有哪些精彩的内容就先在这里预告.最好做到细分,比如我店里是卖床品的,床品首先要分品牌,品牌里又分三件套到十件套、又分印花绣花提花、又分套件芯类毯类、也分儿童类单人用品婚庆类、还可根据季节分.总之,一切为了顾客选购方便,一目了然.
其次,网店商品的显示是根据释出时间来的,那么这样也可以控制商品陈列的次序,做到每一时段也就是在店内显示的版面要每类商品交叉错落有致、颜色由深入浅、价位高低起伏.好处在于:由于每个顾客喜欢的风格不同、喜欢的颜色不同、承受的价位不同.避免看到同一版面都是相类似的东西,错以为都一样了没有她想要的宝贝.
陈列也是一门艺术,陈列好了可以紧紧抓住顾客的心,销量迅速提升.
店主服务有关
服务是老声长谈了,人者见仁志者见智.
市场优势有关
市场优势包括产品优势和价格优势.
商品品质无忧是关键,优质的商品自会有顾客的口碑做宣传,那么后来的顾客看到前面有人买了说效果很好,自然也就放心购买您的宝贝.
价格不是说越低越好,合理的定价是关键.合理的定价是:比市场价低这样才能突出网路的优势,和同类商品相差不大取其中间值(价格太低顾客认为质量估计有问题,价格太高感觉又不划算)提倡合理的利润,共同促进市场的繁荣.
淘宝网店宝贝活动有关
不是来写心情故事的,是来发布店内最新优惠活动的.优惠活动促销活动能为提升成交量推波助澜,商场总能抓住顾客的心理,他们那些小优惠总能引起顾客更大的购买欲望.同样网店也要不时推出各种优惠活动,一是与顾客拉近距离,二是逐进销售.促销方法比如送礼比如折扣,八仙过海,自己各显神通了.如果促销得当,销量将猛涨
主要从订单、产品、使用者、购物车、营销活动、站内搜寻、页面、路径等九个角度
,Topbox分析网站运营资料,帮助广告主发现订单背后规律,从而制定更好的营销和推广策略。
网上找客户技巧与方法很重要,不是网页做好了就万事大吉了,我们的后续工作非常重要,在做好相关的产品介绍,产品资讯释出等工作以外,还要做好以下几方面的工作:1.准确把握好客户对产品搜寻的习惯用语,搜寻方式等----特别是关键字的选择要把握好这很关键,我认为可以选择覆盖面比较广的关键字进行竞价,这样会让客户更快的找到你.2.要主动寻找相关的客户进行沟通,客户是找来的而不是等来的,“守株待兔”碰巧撞上的毕竟还是少数,要想更多更快的找到我们的目标客户就要主动出击,可以利用贸易通主动寻找客户交流,也可以利用电子邮件与留言与客户沟通,必要时也可以做电话跟踪等相关的工作.3.与客户的交流是一种艺术,渊博扎实的业务学识和广阔的视野更能赢得客户的信任与尊重, 我们可以运用一些幽默的语句让客户在听我们介绍产品的同时既调节了氛围,又加深了客户对自已的印象,同时也增加了客户的信任度.因为与客户在网路上的沟通不同于现实的实际接触,掌握一定的语句技巧与用词可以让客户感到亲切友好的同时拉近我们与客户之间的距离.这就是与客户交流的第一印象,记住做好这第一次的沟通很重要.我们要做到找准物件.切入主题.坦诚相待.目的明确.命中要害才能达到交流的目的4.要持之以恒坚持竞价持续排名前三.这样既能彰显公司的实力,又能增强客户对我们的印象.网上展现的产品或服务应以客户为中心。只有这样,我们才有机会与潜在客户进行有意义的沟通,进而影响他们。另外,及时地回复每一位客户的每一个问题,您会赢得信任和尊重。同时,在网上我们不仅要提供好的产品或服务,而且也应向客户提供多种选择机会。有付出才会有回报----这是一个人人都明白的道理.切记:网上生意不同,产品种类各异,其潜在的市场也不同。网路销售的技巧也有许多种,你所花的时间和你所做的努力会直接影响到你的销售业绩.俗话说:商机无时不在,机会处处都有,就看我们怎么把握了.我们的经验与技巧是在实践中找到的,我们要有不达目的永不言弃的精神与态度才能实现我们的销售目标.希望对朋友有所帮助,祝生意兴隆 检视原帖>>
楼上这些都不是理想的方法,最好的方式是利用小号给自己大号输送订单。假如你有50个小号,每天就有几百的订单,相信这几百个订单能有几个是你需要的订单吧?订单是获得金钱的最好方法了
可以拓展外卖渠道,除了三大外卖平台,还可以搭建微信外卖,微信小程式外卖等,广州餐道在这方面已经有了丰富的经验,建议可以理解一下。
理论上是可以的,但网路营销毕竟有利有弊,如果能发挥极致,可以在一定程度上提高利润
D. 请教视力验光报告中的AXIS和ADD是什么意思
左好厅雹眼实际度数是:+0.50×92度。这个散光度,伏清是可以用+0.25代替的。为了省事,实际上就买一副250度老花镜,就可以了。这样不但解决了看书看报的问题,而且也比较经济。
散光轴最大值是180度,002是指2度。ADD:是近用附加镜度(俗称下加镜友帆度).
E. 女血清停效果怎么样有人服用过女血清停吗月经淋漓不止怎么办香港什么地方能买到女血清停
你好,我只知道,救人一命胜造七级浮屠,欺骗人一个会遭报应!我也知道知恩报恩。我是内蒙古赤峰市的,我姓綦。只是离河北太远,暂时不能亲自报恩,但是有机会一定会亲自答谢的,也了了我一辈子的心愿。我只是把我的机遇,也算医缘吧,在这里说一下。 我也是个女人,深能感受功血这个病对我带来的痛苦,自己经历过,只有自己知道啊!整天流血,有多少血流啊!整天太受罪了,不能工作,孩子也照顾不了,心理压力多大啊!各大医院治疗了三年,中药西药啥法都使了,都没有治好,老公很心疼我,就是看着我受罪,他也无奈! 若是有半点方法的话,谁会在网上找医生看病啊!也是怕被一些不好的医生欺骗了!主要的是现在的好医生真的不多啊!这是我的感觉,不知道大家是怎么想的! 在我失去信心,走头无路的情况下,在网上查功血治疗方法的无意间,查到了徐斗公医术。看到徐医生论述治疗功血的文章写的和我的情况一样,就想办法联系到了徐医生,没有想到在交谈中,对我的病哪么负责,百问不厌,哪么的耐心,总之给我的感觉,是我遇见很关心病人的好医生。 因为我的病很麻烦,我问什么,徐医生都不嫌麻烦,而且哪么的有耐心,有时候我都不好意思了,医院的医生都没有这样对待我。我的感觉,是个不错的医生,我就下定决心,接受治疗了。真的没有想到,好几年的功血,我治疗吃药三年都没有好,徐医生给我治疗了20天,把我的出血全部止住了,我有卵巢囊肿,附件炎,白带还有血丝,经常腰酸小腹难受,这些症状也没有了,我的精神感到特别的轻松,老公看见我说简直换了一个人似得,真是无病一身轻啊,药就是难喝了点,老公也劝我,找到一个好医生,不容易的。就让我多坚持巩固,开始收到药的时候,说实话,开始的时候心理还有点不放心,可是服用后连我都没有想到的效果特好,对自己出满了信心。40天把我几年的功血给彻底治好了,现在月经周期很正常,身体很好,脸色也红润了,是徐医生救了我,真的无以为报。 我是信佛的,希望好人一生平安。我把我的情况写在这里,希望有和我一样,正在受罪的女性以帮助。我是内蒙古赤峰市人,姓綦。在我们医院检查做的彩超,彩超显示子宫内膜不厚0.3,宫内可见节育器回声,位置正常,双侧卵巢发育正常,陶氏腔未见积液,子宫宫颈管旁见直径0.6CM囊肿。 我于2009年得病,月经干净了之后就一直出血,后来赶紧找了一名中医开始吃中药,就一直吃着,每个月都得去吃,不吃就来月经不痛快,肚子疼账来事时候于着不来,吃药才来,一个月吃6副左右中药,反正就得靠中药维持,不吃就不来,还没时候好,后来吃的烦了,就停了两月左右就又犯了,接着又吃了12副中药,又打打的缩宫素才好的。 腊月我又吃了9副中药,因为要去北京过春节,又让医生给配了一副料药,在北京没吃,因为没来月经,在家来过了,正月初八从北京回来的,十一就又不行了,出血淋漓不止!又吃的药.吃了几副药后就接着吃料药,好了俩月又犯了,最后去找给我看病的中医吃中药都不管用了。 后来还是血流不止,不过量不多,就又换了一个医生,她怀疑说是环的事,就又把环摘了,流了5天的血还没有见少,就找医生问了,让吃独一味胶囊,吃了一盒血止住了两天。紧接着就是月经周期来了,先也是月经不来,后来医生让吃益母草颗粒,吃了几代后血多了,就停了,这就一发而不可收拾了!出血多了,服中药,打缩宫素都不管用了! 最后决定去市里看看,市里检查是子宫腺肌症,是计生服务站给定的,附属医院就是卵巢右侧有个囊肿,那的医生也要观察一下再给做手术,由于老公上班忙,所以我就决定回来治疗了,回来后做的清宫手术,吃的替硝唑,炔诺酮,按第一说明吃的,我走着去接孩子,路上宫颈疼的就不行了,回来好一些了,乳房还胀痛,早晨就来血水了,平时呆着肚子胀好像有气似的,往上打嗝.在我们做的子宫内膜病理是增殖期子宫内膜,子宫内膜炎,子宫内膜息肉,医生又让吃的妇乐颗粒,吃了一盒停了,在市里就给用的止血敏,还输的消炎药,要给下宫腔镜,我没让,就回来了,在那里是一天给做一样,最后才给下结论呢,医生说这次不给切除,下次再来血止不住就切除子宫。 出血不多,血淡红色,有时褐色,有血水量不多一点。来了月经后淋漓不净,吃了宫血宁止血药少了,干净几天又出血,来了就没时候好,吃什么药都不管用!可那啥时候是头啊,我的宫颈内检肥大,有时候还疼! 我的情况就是这样的,多亏了遇见徐斗公医生,让我彻底康复了,给了我做女人的幸福,不然我的病还不知道啥时候是个头呢!我只能说这些了,希望对一些像我这样的女性有帮助,也希望像我这样曽经受罪的女性早日摆脱功血带来的伤害。
F. 左眼PWR1.75 CYL0.75 AXIS160右眼PWR1.75 CYL1.75 AXIS030配多少度的隐形眼镜
左眼散光有点高了,建陆族议定制那种专门带散光度数的隐形眼镜,因为市场上唤悉和卖的都是成品隐形眼镜,而成品隐形眼镜都是只有近视度数和盯的。
如果买成品隐形眼镜,左眼带200度或是225度,右眼带250度,但右眼的效果带上去不是很好。
G. Axis I diagnoses 啥意思
axis diagnoses的意思是轴诊断。axis是轴或地轴的意思。
地轴,又称地球自转轴,是指地球自转时所绕的那根假想的轴,北端与地表的交点是北极,南端与地表的交点是南极。
地轴通过地心,连接南、北两极,和地球自转轨道面——赤道面垂直。
地轴空间指向:其北端始终指向北极星附近。
不管地球在轨道的哪里,其北极始终指向北极星附近,南极也一样,根据牛顿万有引力定律,其上方或者下方可能有一个星体吸引住了地球的南极或北极。
地轴是地球自转的假想轴。地球始终不停地绕着这个假想的轴运转。故又称地球自转轴。闭丛这个轴通过地心,连接南、北两极,与地球轨道面的夹角为66°34′。地轴正对着北极星。通过地心并与地轴垂直的平面称赤道面。
地轴在地球中的位置并不固橘辩定,而有微小的移动,造成“极移”。其延长线为“天轴”。地轴同地面的两个交点为“地极”。天轴同天球的两个交点为“天极”。
元音字母a在重读闭音节里发短元轿伍樱音/æ/的音,发音时,舌端靠近下齿,舌前部抬高,舌位低,是四个前元音中舌位最低的,但开口最大的一个,属于短元音,但是,在实际发音中有相当的长度,牙床介于半开和开之间,不圆唇。/æ/这个音出现在字首、字中位置。如:
mat 垫子
map 地图
bag 袋子,包
cat 猫
hat 宽边的帽子
fan 扇子,风扇
bat 球拍
apple 苹果
希望我能帮助你解疑释惑。
H. 我9月份买的天彩750机器,在前几天开始频繁出现InternalERROR;ShutdownCarriageAxisFailure这个英文字母
和皮带轮没有关孙手系,和皮带弹簧有关系,如果皮带过松请把皮带弹簧拉长,还判培有主板也掘凯唯可能会引起这方面的原因。
I. anylogic人流量统计折线图纵坐标为啥不是人流量
在AnyLogic中,人口流量统计折线图的纵坐标默认情况下是显示“平均数”,而液悉不是实际的人口数量。
当您使用人口流量统计功能时,AnyLogic会自动对数据进行统计敏埋闷和平均处理,以便更好地展示数据趋势和波动。因此,在人口流量统计折线图上,默认情况下显示的是每个时间段内的平均人数,并非实际的人数。
如果您想要查看实际的人口数量数据,可以通过调整图表属性来更改纵坐标显示方式。具体方法如下:
1. 在AnyLogic中打开您的模型并进入场景视图。
2. 选中要调整纵坐标显示方式的人口流量统计折线图。
3. 右键单击该折线图并选择“Properties”选项。
4. 在弹出窗口中选择“Data”选项卡。
5. 在“Data”选项卡中,找到并单击“Y-axis”设置区域下拉菜单旁边的按钮,并选择“Value”选项即可将纵坐标切换为实际值。
这样就能够查看到实际的人口数量了。不过需要注意的是,在实际应用场景中,对于大规模的人群活动,可能存在着难以精确测算、出入房间等其他影响因素,导致实际观测到的数桥弯据与模拟预测结果有所偏差,需要综合考虑多种因素来进行分析和判断。
J. 有谁知道如何安装配置安全的freeBSD还有php.ini怎么配置
我的FreeBSD5.3配置笔记(相同于5.4\答弯耐6.0)
接触FreeBSD时间不长,我发现配置FreeBSD对于象我这样的新手还是很有些困难,经过几天的研究取得了一点进展,现在我的配置方法写出来希望新手能少走一些弯路。
1.安装完成配置xorg,命令如下:
#Xorg -configure
这时,当前目录下就多了一个xorg.conf.new的文件,把它cp到/etc/X11/下:闹圆
#cp xorg.conf.new /etc/X11/xorg.conf
然后,编辑xorgcfg -textmode,修改一下屏幕的分辨率.
2.启动gnome
在用户主目录下创建.xinitrc文件,加入以下内容:
exec gnome-session
#startx 即进入gnome
3.启动KDE
方法1:
在用户主目录下创建.xinitrc文件,加入以下内容:
exec startkde
方法2:
修改一下/usr/X11R6/1ib/X11/xinit/xinitrc文件
拉到文件最后...看到..twm了吗...从这里起..后最后前面都加#吧..
然后加上一句:
startkde
方法3:
直接输入
# echo "/usr/local/bin/startkde" >> ~/.xinitrc 就行了
4.打开声音
修改/boot/defaults/loader.conf
将下面两项的NO改为YES
sound_load="NO"
snd_driver_load="NO"
5.汉化图形界面
1.安装kde-i18n-zh_CN:
#cd /usr/ports/chinese/kde3-i18n-zh_CN
#make install clean
2.安装字体
在/usr/X11R6/lib/X11/fonts/下建立TrueType目录
将windows下的SIMSUN.TTC复制到TrueType目录
双击SIMSUN.TTC,字体就安装好了
3.更改语言环境为中国,简体中文
4.在KDE的控制中心》外观和主题》字体 中修改字体为SIMSUN
6.安装fcitx输入法
1.通过ports安清春装fcitx
#cd /usr/ports/chinese/fcitx
#make install
2.修改~/.xinitrc,添加:
export LANG=zh_CN.eucCN
export LC_CTYPE=zh_CN.eucCN
export XMODIFIERS='@im=fcitx'
fcitx&
exec startkde
6.#qtconfig
然后选择-->Interface--->XIM Input Style 选Over the Spot(上面的复选框也选上)-->File--Save
7.挂载windows分区并支持中文文件名
1.建立挂载点,在/mnt/下建立文件夹C,D,E,F
2.修改/etc/fstab文件,加入windows分区,并把分区挂载到刚才建好的目录上,设置权限为读写,语言为中文并自动挂载
/dev/ad0s1 /mnt/C msdos rw,-L=zh_CN.eucCN,auto 0 0
/dev/ad0s5 /mnt/D msdos rw,-L=zh_CN.eucCN,auto 0 0
/dev/ad0s6 /mnt/E msdos rw,-L=zh_CN.eucCN,auto 0 0
/dev/ad0s7 /mnt/F msdos rw,-L=zh_CN.eucCN,auto 0 0
8.激活鼠标滚轮
修改/etc/xorg.conf
在"Mouse"中加入
Option "ZAxisMapping" "4 5"
保存推出,重启X。
9.调整屏幕偏移
开个终端窗口运行xvidtune,调整好之后现不要退出,点一下那个“Show”按钮,终端窗口中会显示几行类似于这样的信息:
hsync range 0: 31.50 - 48.50
vsync range 0: 40.00 - 70.00
"1024x768" 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync
打开/etc/X11/XF86Config或者xorg.conf文件,找到Section "Monitor"段,在EndSection前面加入一行:
# 这里填入上面显示的第3行信息,前面加上ModeLine
ModeLine "1024x768" 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync
保存退出,重启X。
FreeBSD配置:
更新FreeBSD
完成了安装、配置,FreeBSD基本上就算装完了。不过,目前为止没有哪个通用操作系统能够保证“bug-free”,FreeBSD也一样。在重新启动之后,我们需要做一些调整;并且,通过重新配置内核,我们可以得到一个更小、更快的操作系统。
第一步要做的是同步源代码。FreeBSD是一套开放源代码的操作系统,它的全部源代码都可以通过cvsup与中央cvsup服务器,或它的某个镜像同步。
cvsup是一个可选的package,同样的,它也可以从ports里面安装(/usr/ports/devel/cvsup和 /usr/ports/devel/cvsup-nogui)。考虑到许多应用程序都依赖X的库文件,在前面安装的部分我安装了它,并且直接安装了 cvsup的package。不过,如果你有足够的耐心去一个一个地make需要的ports,那么先安装ports collection,然后make cvsup-nogui也是一个不错的主意,尽管这需要比较长的时间。
创建一个用于cvsup(1)的supfile,命名为stable-supfile:
(default host中选定的cvsup服务器——ftp.bjpu.e.cn对访问的IP进行了限制,笔者只在北京工业大学校内使用过,因此如果您无法连接这个服务器,请尝试www.cn.freebsd.org,或cvsup.freebsd.org)
*default host=ftp.bjpu.e.cn
*default base=/usr
*default prefix=/usr
*default release=cvs tag=RELENG_4
*default delete use-rel-suffix
src-all
ports-all tag=.
随后执行
cvsup -g -L 2 stable-supfile
这里需要稍微解释一下FreeBSD的几种版本。
FreeBSD包括3类分支:-RELEASE,-STABLE和-CURRENT。FreeBSD 3.x、4.x和5.0是目前受到维护的版本,如果你期待稳定运行,那么,可以选择的最新版本将是FreeBSD 4.6-STABLE(如果你是在4.6.2-RELEASE发行之后更新的,那么它实际上比4.6.2-RELEASE新,并且,它正式的CVS tag是RELENG_4,即FreeBSD 4-STABLE)。
那么,三类分支有什么区别呢?
FreeBSD的开发是非常活跃的。系统中可能会随时引入一些新的特性。最新的代码是在-CURRENT分支中引入的。-CURRENT的修改非常频繁,每天都可能有数百处修改。使用-CURRENT分支的FreeBSD需要耐心和勇气,因为你的系统随时可能崩溃(随着FreeBSD 5.0开发尾声的接近,这种现象已经越来越少),make world也可能空手而归(没有人保证-CURRENT分支能够正常编译),此外,这个分支的性能也不好(因为调试的原因,这个分支引入了大量的调试选项,这意味着运行速度不会太快)。当然,正像它的名字那样,-CURRENT分支的版本也是最新的5.0,而且,一切FreeBSD的错误和漏洞的修正都是首先在-CURRENT分支引入的。目前,-CURRENT分支硕果仅存的只有FreeBSD 5-CURRENT(指定cvs tag时写“.”),这个分支包括了FreeBSD 5.0开发的最新进展。
FreeBSD 5中将引入大量的新特性,包括核心级线程(目前FreeBSD中的线程支持仅限于用户级线程,这在多处理器的环境下性能不够好,当然,目前使用fork ()来支持的多进程线程模拟能够提供类似核心级线程的功能,但并不是所有的程序员都知道如何使用fork)、完整的Soft Updates(这一变化将提供更好的文件系统性能,同时提供更好的稳定性),等等。如果你有快速的Internet连接,一台或一些空余的机器(当然,不是生产用的服务器),并且希望为FreeBSD的开发作贡献,或者你关心操作系统的最新发展,那么,-CURRENT分支是最好的选择。此外,
由于-CURRENT分支性能不好、稳定性不够等这些缺点,对于生产的服务器来说,通常运行的应该是FreeBSD-STABLE。如同它的名字那样, FreeBSD-STABLE的目的是“稳定地运行”。-CURRENT分支中的代码,在经过一段时间(通常是7到90天,但安全更新属于特例,通常会在几个小时)的验证之后,符合版本条件(有些新特性只能用于FreeBSD 5.0)的代码会被FreeBSD-STABLE吸收,这个操作称作MFC(Merge From -CURRENT,不是Microsoft Foundation Classes:P)。
由于FreeBSD 5.0的第一个RELEASE至今仍然没有发布,因此,目前还没有5.0-STABLE。目前,FreeBSD-STABLE有两个版本,FreeBSD 3-STABLE和FreeBSD 4-STABLE,分别对应3.x和4.x的最新稳定版代码(对应的cvs tag分别是RELENG_3和RELENG_4)。由于版本的更新换代,其中3.x的-STABLE正在逐渐消亡。FreeBSD-STABLE每天平均会修改10个左右的文件。
每隔一段时间,FreeBSD的发行工程组(Release Engineering Team)会对FreeBSD-STABLE的源代码树进行锁定。这段时间(目前的规定是30天,之前还有30天准备)内,所有的MFC操作都需要发行工程组的批准,因此,FreeBSD-STABLE在这个阶段基本不会引入任何新的特性。经过这段时间之后,发行工程组会在最后锁定ports树,并 build一份所有的package,之后,这份锁定的-STABLE,可能经过若干RC(Release Candidate),被命名为RELEASE,并制作光盘发行。
顾名思义,-RELEASE的设计目标是“发行”。一个版本一旦RELEASE,那么他的功能就不会再增加了。此后的所有维护的目标都只有一个,那就是绝对稳定。如果你和-RELEASE分支同步,那么绝不会出现make无法通过的情况,而且,通常这也可以保证你的系统“绝对”稳定,因为它不会引入任何新功能(例如,4.6就是4.6,如果你想要4.6.2的功能,必须明确地指定4.6.2)。
目前,FreeBSD有很多RELEASE版本,它们的cvs tag如下。我个人建议使用最新的4.6.2-RELEASE。
对于多数人来说,-RELEASE是一个比较极端的选择。无论何时出现版本升级,如果你想跟进,那都必须修改supfile,如果你选择不跟进,那么就可能造成ports工作异常。如果经常更新,-RELEASE可以保证操作系统本身的安全性,但同其他分支一样,如果ports出了问题,那么也得一块 make,而既然这样,还不如使用-STABLE。
如果你符合下面的条件,那么RELEASE分支可能比-STABLE分支更适合你
* 你使用的软件对于操作系统的变化非常敏感,比如,它只能FreeBSD 4.5,而无法在4.6上运行;同时,你不打算采用它的更新版本,或者它的作者拒绝更新
* 操作系统的更新对于你来说没有任何意义,比如,你打算把FreeBSD当作一个相对固定的嵌入式操作系统来使用,例如,作为防火墙的一部分
* 更新会对你造成困扰,操作系统的绝大多数新特性对于你来说除了增加烦恼之外,不能带来任何其他东西。
-并且,符合以下的全部条件-
* 你每天察看FreeBSD,以及使用的全部软件的安全公告
* 你的Internet连接比较通畅
目前我本人维护的所有主机,除了作为防火墙的那台之外,使用的都是FreeBSD-STABLE。
一旦同步完源代码,就应该对整个系统进行更新。如果你没有每天察看安全公告的习惯,那就应该关心一下cvsup到底更新了哪些代码。nectar是目前 FreeBSD的Security Officer。如果你发现他一下子更新了许多代码,那么对你来说立即make world和kernel很可能是必需的。
为了更新整个系统,在/usr/src中执行
make world
以及
make kernel KERNCONF=内核配置文件名
当然,也可以连起来执行:
make world kernel KERNCONF=内核配置文件名
如果你的计算机运行速度较慢,那么,对于基本系统的更新(相当于不包括库的一次world),可以用
make most
替代make world,但make world是一个不错的主意,因为它能够保证对C运行环境的改变应用到所有的程序中,如果修正的不是动态连接的C函数库,那么make world可以保证代码的一致性。
make kernel是一个需要重新启动的操作。如果你的make world修改了系统的关键服务,那么最好也重新启动一下。我很少有耐心看完make world和kernel的执行,根据系统的运行速度不同,这需要一个小时到一天的时间,而且,不是所有的SSH客户端都能够长时间正确的执行,例如, SecureCRT的多个版本都有内存泄漏问题。
为了解决这个问题,我用下面的命令来完成更新:
make world kernel KERNCONF=内核配置文件名 clean > /var/log/world,out && reboot &
这个命令能够记录更新的全过程,如果在什么地方编译失败,你可以很快地找到原因。对于多数人来说,由于后面的&&,只需要察看uptime就能知道便以是否成功。
需要说明的是,FreeBSD的make world并不总能成功。有时需要修改一些环境变量才能成功完成make。为了保证make成功,在/usr/src中执行任何make操作之前,建议你看一眼UPDATING中是否有特殊的要求(这种要求并不是在FreeBSD Release的时候才会出现,很多时候他会在某个CURRENT中引入,然后随着MFC进入-STABLE分支),并且,在进行大的版本升级之前(跨 RELEASE,甚至主版本号),首先执行下面的命令
mergemaster -p
并在make world之后执行
mergemaster -i
运行mergemaster脚本需要一定的Unix配置知识,不过,由于配置文件中包含很多帮助信息,因此,只要master.passwd、group 这样的文件不出大问题(如果cvsup更新了master.passwd,那么就需要留神,因为master.passwd标准配置是root口令为空,这时需要用m来合并,而不是使用i安装),mergemaster并不会引入什么新的问题。
前一条命令是更新make的配置(/etc/defaults/make.conf和/etc/make.conf)。对于多数人来说,除非进行跨版本升级,否则一般情况下是不需要这样做的。后一条命令是同步全部配置,并安装以前不存在的配置文件,而不进行提示。
笔者曾经遇到过FreeBSD因为系统日期不正确而无法make的情况,因此,再次特别提醒大家,如果你的系统日期不正确,最好是用date命令修改一下,或者干脆用ntpdate或ntpd来同步时间。关于如何使用ntp,将在以后说明。
以后我们将讲解FreeBSD内核的配置,以及如何配置make.conf来优化FreeBSD的编译结果。
“简单的东西不容易出问题。”
至理名言!事实上,削减操作系统中那些对你没用的功能是一件非常重要的事情。这不仅仅意味着一个更小的操作系统,占用更少的磁盘空间(现在的硬盘少说也有几十GB,几兆的空间根本就是九牛一毛),而且意味着你被攻击的可能性也更低——简而言之,你不需要担心操作系统中没有安装的模块存在问题会对你造成影响。
这篇文章中,我们将一起对FreeBSD-i386的内核进行优化配置。这篇文章是针对FreeBSD4.7-STABLE写的,并且,FreeBSD 4.x的配置不会和这篇文章有太大出入。如果你要优化FreeBSD 5或FreeBSD 2/3的内核的话,则需要仔细参考它们的LINT文件了(后面将会提到)。
[注意:FreeBSD 5.0预定将于2002年11月20日发布。FreeBSD的开发组非常重视发行版本的质量,并认为这比发行版本的计划还重要,但由于同样的原因,我们往往会发现FreeBSD实际发行的版本比预定计划晚一些,通常在半个月之内。FreeBSD 5.0作为FreeBSD近期最为重要的发行版本,很可能也会延后发表,但笔者个人认为无论如何我们在今年年底之前肯定是可以看到最终的发行版本的。 FreeBSD 5.0对系统进行了大量的修改,这一系列的文章将在FreeBSD 5.0发布当天发表针对5.0的修订版本,而现有版本将保留,但进入维护阶段,不再引入新的内容。]
FreeBSD的源代码可以直接从中央cvsup服务器同步,也可以作为系统的一部分在安装的时候一兵装上。前面已经说过如何同步源代码,在此不再赘述。 FreeBSD的源代码(通常在/usr/src)包含建造基本系统的全部代码,而在/usr/src/sys中则有若干个目录,对应不同的计算机体系结构(4.x只支持i386和alpha)。i386是一个泛指的名字,包含了与Intel 80386兼容的所有机器,并不是特指80386。
简单介绍一下FreeBSD的内核文件。在4.x系统中,/kernel这个文件是默认的内核,通常正常启动使用的就是它。 /kernel.GENERIC这个文件是兼容性较强的内核,如果/kernel无法引导系统,就得靠这个文件来引导。/kernel.old是本次make kernel之前的内核,通常如果你的kernel坏掉,也可以考虑使用/kernel.old来引导系统。
/moles/是内核的模块,而/moles.old/是对应/kernel.old的模块。这些文件在每次替换kernel的时候都会同时替换。
在5.0中,内核以及内核的模块都被保存在/boot/kernel中。
在/usr/src/sys/i386/conf中有两个配置文件,GENERIC和LINT。其中GENERIC是make kernel的默认配置文件,直接make kernel生成的是GENERIC内核,但安装时命名为/kernel。系统在安装时会安装一个kernel.GENERIC,以后,这个文件不会跟随系统的make kernel更新,因此,如果你认为这个文件有必要更新的话,需要手工make kernel,并把/kernel改名为kernel.GENERIC。当然,通常并不需要这样做。
LINT是包括几乎所有内核编译配置详细信息的文件。这个配置并不是用来真正建立kernel的,他的主要用途是向用户展示可用的内核编译配置。在修改内核编译配置时,最好先参考这个文件。
为了配置自己的内核,应将GENERIC复制为一个另外的文件。习惯上这个文件和主机名相同。例如,我把自己的这台Web机器命名为apache.intranet.frontfree.net,就把配置文件命名为APACHE:
cd /usr/src/sys/i386/conf
cp GENERIC APACHE
随后,用ee APACHE编辑它。我们拿一个实际的GENERIC文件来说明。
为了节省篇幅,这个文件头上的注释被删掉了一部分。
machine i386 # 体系模型为i386
cpu I386_CPU # 支持80386
cpu I486_CPU # 支持80486
cpu I586_CPU # 支持Pentium
cpu I686_CPU # 支持Pentium Pro以及更高
ident GENERIC # 内核文件的名字
maxusers 0 # 自动检测同时允许的最大用户数
#makeoptions DEBUG=-g # 包含调试符号。通常只有current版本打开
options MATH_EMULATE #支持协处理器模拟
options INET #支持互联网
options INET6 #IPv6通讯协议
options FFS #伯克利快速文件系统
options FFS_ROOT #FFS作为根设备[必须保留]
options SOFTUPDATES #打开FFS soft updates支持
options UFS_DIRHASH #提高大型目录的支持
options MFS #内存文件系统
options MD_ROOT #MD作为根设备
options NFS #Network Filesystem
options NFS_ROOT #NFS作为根设备(需要NFS)
options MSDOSFS #MSDOS文件系统
options CD9660 #ISO 9660文件系统(光盘)
options CD9660_ROOT #CD-ROM作为根设备(需要CD9660)
options PROCFS #进程文件系统
options COMPAT_43 #兼容4.3BSD[必须保留]
options SCSI_DELAY=15000 #检测SCSI设备前的延时(ms)
options UCONSOLE #用户可以夺取控制台
options USERCONFIG #boot -c编辑器 editor
options VISUAL_USERCONFIG #菜单式boot -c编辑器
options KTRACE #ktrace(1)支持
options SYSVSHM #SYSV-风格的共享内存
options SYSVMSG #SYSV-风格的消息队列
options SYSVSEM #SYSV-风格的信号量(semaphores)
options P1003_1B #Posix P1003_1B实时扩展
options _KPOSIX_PRIORITY_SCHEDULING
options ICMP_BANDLIM #对恶意ICMP请求进行限制
options KBD_INSTALL_CDEV # 在/dev安装一个CDEV设备
# 下面两项在制作对称多处理器(SMP)内核时需要
#options SMP #对称多处理器内核
#options APIC_IO #对称(APIC) I/O
device isa
device eisa
device pci
# 软驱
device fdc0 at isa? port IO_FD1 irq 6 drq 2
device fd0 at fdc0 drive 0
device fd1 at fdc0 drive 1
#
# 如果使用东芝Libretto以及他的Y-E Y-E Data PCMCIA软驱
# 不要使用上面的fdc0,而应使用
#device fdc0
# ATA以及ATAPI设备
device ata0 at isa? port IO_WD1 irq 14
device ata1 at isa? port IO_WD2 irq 15
device ata
device atadisk # ATA 磁盘驱动器(IDE硬盘)
device atapicd # ATAPI 光驱
device atapifd # ATAPI 软驱
device atapist # ATAPI 磁带机
options ATA_STATIC_ID #静态设备编号
# SCSI控制器
device ahb # EISA AHA1742 family
device ahc # AHA2940 板载AIC7xxx设备
device amd # AMD 53C974 (Tekram DC-390(T))
device isp # Qlogic family
device ncr # NCR/Symbios Logic
device sym # NCR/Symbios Logic (较新的芯片组)
options SYM_SETUP_LP_PROBE_MAP=0x40
# 使用ncr可以在配置了sym和ncr的情况下挂接旧的NCR设备
device adv0 at isa?
device adw
device bt0 at isa?
device aha0 at isa?
device aic0 at isa?
device ncv # NCR 53C500
device nsp # Workbit Ninja SCSI-3
device stg # TMC 18C30/18C50
# SCSI 外设
device scbus # SCSI 总线(如果使用SCSI设备,必须有)
device da # Direct Access (硬盘)
device sa # Sequential Access (磁带,等等)
device cd # CD
device pass # Passthrough device (直接 SCSI 访问)
# 通过SCSI子系统接口的RAID控制器
device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID
device dpt # DPT Smartcache - See LINT for options!
device iir # Intel Integrated RAID
device mly # Mylex AcceleRAID/eXtremeRAID
device ciss # Compaq SmartRAID 5* series
# RAID控制器
device aac # Adaptec FSA RAID, Dell PERC2/PERC3
device aacp # SCSI passthrough for aac (requires CAM)
device ida # Compaq Smart RAID
device amr # AMI MegaRAID
device mlx # Mylex DAC960 family
device twe # 3ware Escalade
# atkbdc0 控制键盘和PS/2鼠标
device atkbdc0 at isa? port IO_KBD
device atkbd0 at atkbdc? irq 1 flags 0x1
device psm0 at atkbdc? irq 12
device vga0 at isa?
# 启动画面和屏幕保护程序
pseudo-device splash
# syscons 是默认的控制台驱动,类似SCO控制台
device sc0 at isa? flags 0x100
# 对于pcvt vt220控制台,启用这个和PCVT_FREEBSD
#device vt0 at isa?
#options XSERVER # 在vt控制台支持X服务器
#options FAT_CURSOR # 使用大光标
# 如果你是用ThinkPad,将下面的一行和其他PCVT相关设备的注释去掉
#options PCVT_SCANSET=2 # IBM使用非标准键盘
# 浮点运算支持 - 请勿禁用
device npx0 at nexus? port IO_NPX irq 13
# 电源管理支持
device apm0 at nexus? disable flags 0x20 # Advanced Power Management
# PCCARD (PCMCIA) 支持
device card
device pcic0 at isa? irq 0 port 0x3e0 iomem 0xd0000
device pcic1 at isa? irq 0 port 0x3e2 iomem 0xd4000 disable
# 串口(COM)
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
device sio1 at isa? port IO_COM2 irq 3
device sio2 at isa? disable port IO_COM3 irq 5
device sio3 at isa? disable port IO_COM4 irq 9
# 并口
device ppc0 at isa? irq 7
device ppbus # 并口总线 (所有并口设备都需要)
device lpt # 打印机
device plip # 并口TCP/IP
device ppi # 并口接口设备
#device vpo # 需要scbus和da
# PCI 以太网适配器
device de # DEC/Intel DC21x4x (``Tulip'')
device em # Intel PRO/1000 adapter Gigabit Ethernet Card (``Wiseman'')
device txp # 3Com 3cR990 (``Typhoon'')
device vx # 3Com 3c590, 3c595 (``Vortex'')
# 使用公共的MII总线控制器代码的PCI以太网适配器
# 注意:一定要保留'device miibus'以确保可用
device miibus # MII总线支持
device dc # DEC/Intel 21143 and various workalikes
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
device pcn # AMD Am79C97x PCI 10/100 NICs
device rl # RealTek 8129/8139
device sf # Adaptec AIC-6915 (``Starfire'')
device sis # Silicon Integrated Systems SiS 900/SiS 7016
device ste # Sundance ST201 (D-Link DFE-550TX)
device tl # Texas Instruments ThunderLAN
device tx # SMC EtherPower II (83c170 ``EPIC'')
device vr # VIA Rhine, Rhine II
device wb # Winbond W89C840F
device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
device bge # Broadcom BCM570x (``Tigon III'')
# ISA以太网适配器
# 'device ed' 需要 'device miibus'
device ed0 at isa? port 0x280 irq 10 iomem 0xd8000
device ex
device ep
device fe0 at isa? port 0x300
# Xircom Ethernet
device xe
# PRISM I IEEE 802.11b wireless NIC.
device awi
# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
# exists only as a PCMCIA device, so there is no ISA attachment needed
# and resources will always be dynamically assigned by the pccard code.
device wi
# Aironet 4500/4800 802.11 wireless NICs. Note: the declaration below will
# work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP
# mode (the factory default). If you set the switches on your ISA
# card for a manually chosen I/O address and IRQ, you must specify
# those parameters here.
device an
# The probe order of these is presently determined by i386/isa/isa_compat.c.
device ie0 at isa? port 0x300 irq 10 iomem 0xd0000
#device le0 at isa? port 0x300 irq 5 iomem 0xd0000
device lnc0 at isa? port 0x280 irq 10 drq 0
device cs0 at isa? port 0x300
device sn0 at isa? port 0x300 irq 10
# 伪设备 - 数字表示分配多少个
pseudo-device loop # 环回网络
pseudo-de