2009年4月14日星期二

PHP中$_SERVER的详细用法

$_SERVER[’PHP_SELF’] #当前正在执行脚本的文件名,与 document root相关。
$_SERVER[’argv’] #传递给该脚本的参数。
$_SERVER[’argc’] #包含传递给程序的命令行参数的个数(如果运行在命令行模式)。
$_SERVER[’GATEWAY_INTERFACE’] #服务器使用的 CGI 规范的版本。例如,“CGI/1.1”。
$_SERVER[’SERVER_NAME’] #当前运行脚本所在服务器主机的名称。
$_SERVER[’SERVER_SOFTWARE’] #服务器标识的字串,在响应请求时的头部中给出。
$_SERVER[’SERVER_PROTOCOL’] #请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。
$_SERVER[’REQUEST_METHOD’] #访问页面时的请求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。
$_SERVER[’QUERY_STRING’] #查询(query)的字符串。
$_SERVER[’DOCUMENT_ROOT’] #当前运行脚本所在的文档根目录。在服务器配置文件中定义。
$_SERVER[’HTTP_ACCEPT’] #当前请求的 Accept: 头部的内容。
$_SERVER[’HTTP_ACCEPT_CHARSET’] #当前请求的 Accept-Charset: 头部的内容。例如:“iso-8859-1,*,utf-8”。
$_SERVER[’HTTP_ACCEPT_ENCODING’] #当前请求的 Accept-Encoding: 头部的内容。例如:“gzip”。
$_SERVER[’HTTP_ACCEPT_LANGUAGE’]#当前请求的 Accept-Language: 头部的内容。例如:“en”。
$_SERVER[’HTTP_CONNECTION’] #当前请求的 Connection: 头部的内容。例如:“Keep-Alive”。
$_SERVER[’HTTP_HOST’] #当前请求的 Host: 头部的内容。
$_SERVER[’HTTP_REFERER’] #链接到当前页面的前一页面的 URL 地址。
$_SERVER[’HTTP_USER_AGENT’] #当前请求的 User_Agent: 头部的内容。
$_SERVER[’HTTPS’] — 如果通过https访问,则被设为一个非空的值(on),否则返回off
$_SERVER[’REMOTE_ADDR’] #正在浏览当前页面用户的 IP 地址。
$_SERVER[’REMOTE_HOST’] #正在浏览当前页面用户的主机名。
$_SERVER[’REMOTE_PORT’] #用户连接到服务器时所使用的端口。
$_SERVER[’SCRIPT_FILENAME’] #当前执行脚本的绝对路径名。
$_SERVER[’SERVER_ADMIN’] #管理员信息
$_SERVER[’SERVER_PORT’] #服务器所使用的端口
$_SERVER[’SERVER_SIGNATURE’] #包含服务器版本和虚拟主机名的字符串。
$_SERVER[’PATH_TRANSLATED’] #当前脚本所在文件系统(不是文档根目录)的基本路径。
$_SERVER[’SCRIPT_NAME’] #包含当前脚本的路径。这在页面需要指向自己时非常有用。
$_SERVER[’REQUEST_URI’] #访问此页面所需的 URI。例如,“/index.html”。
$_SERVER[’PHP_AUTH_USER’] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的用户名。
$_SERVER[’PHP_AUTH_PW’] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的密码。
$_SERVER[’AUTH_TYPE’] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是认证的类型。

$_SERVER[”HTTP_X_FORWARDED_FOR”] #透过代理服务器取得客户端的真实 IP 地址

转载原创文章请注明,转载自:web蓝草博客–LanCao’s Web

2009年4月12日星期日

自行车新手乱入(转)

新手乱入:关于山地套件之传动系统

自行车上把人的力量传递到车轮上的系统就是传动系统,包括牙盘组(也就是通常所说的牙盘,其实可以分为盘片、曲柄、中轴3部分),飞轮,链条。
牙盘在车子中经常被人忽视,实际上,一个牙盘几乎占到整个套件价格的1/4,可见其重要性和技术含量——牙盘对于车子的速度的影响是很大的。衡量一个牙盘的指标一般是硬度、重量、变速性能。牙盘越硬,踩踏起来的变形越小,损耗的力越小,越能够提高踩踏效率,因此软软的牙盘肯定不是好牙盘,这也就是中高档牙盘都使用铝合金的盘片的原因——铝合金能够提供远远超过钢的硬度。重量更好理解,越轻越好,当然越轻也会越贵。变速性能则是指牙盘在变速时候的顺畅度,这一点在另一篇写变速系统的文章中已经说过。
说到牙盘就不能不说中轴,说到中轴就不能不说3种不同的中轴结构:方孔、花键、一体。最早的牙盘都是将中轴轴承置于车架五通之内,轴心通过方形的形状与曲柄结合,结构简单,但是长时间使用磨损后后会产生异响;花键的结构类似于方孔,只是将结合处的正方形截面改为了10爪(ISIS结构)或者8爪(Shimano结构),结合较可靠;目前最合理的结构是一体结构,是一次重大变革,将轴承置于五通外侧,轴心固定在盘片一侧,通过花键和另一侧曲柄结合,安装方便,使用可靠,是高端车的不二之选。
还要顺便提一下中空技术,主流产品中只有Shimano比较喜欢应用这个技术,称之为Hollow Tech,基本就是通过精密铸造技术铸造出一个空心的曲柄,在减轻重量的同时保证了曲柄的刚度,是一种很实用的技术。
说到飞轮,除了看是8s还是9s以外,还要看重量和变速性能,不过主要还是重量。说到飞轮的重量就不得不提飞轮的两种不同结构。低端飞轮结构很简单,从大到小几片盘片依次铆接在一起呈宝塔状,结构简单,成本低廉,就是重量会很大,而高档飞轮,Shimano的XT与XTR、Sram的PG980、PG990都采用了塔基结构,即将几片大片铆接在一个放射型的铝合金支架上,而飞轮片本身则大幅度镂空,这样就可以在保证强度的情况下大量减轻了重量,是选择飞轮的首要目标。
连接飞轮和牙盘的就是链条了,影响链条的主要是两个指标,变速性能和重量。为了更轻,有的厂商例如kmc有高价的镂空链条,当然这只是发烧到一定程度才需要的东西,一般来说一根LX档次的Shimano HG73链条就足够使用了,如果预算足够,HG93甚至XTR等级的7701会提供更好的变速性能。

新手乱入:关于车轮的那档子破事

一辆自行车,在车手的力量经过传动系统之后,终究要通过后轮传递到地面,驱动车子前进,同时,车手还要操纵前轮来控制车辆的前进路线,因此,一辆好的自行车,就要有一对不差的轮子,否则,会有一部分力量被平白无故的消耗,或者无法让车子按照车手的意图正确前进。这里轮子指的是花鼓、钢丝、轮圈、轮胎(包括内外胎,其中主要是外胎)这一个整体。通常,专业点的说法应该称之为轮组,但是一般来说,“轮组”更经常被用于称呼厂编轮组(下面详述),故这里用“轮子”代替。
首先说说花鼓。
花鼓就是我们俗称的车轴。从外部结构上说,花鼓分为V刹花鼓和碟刹花鼓两种,区别就在于碟刹花鼓有一个安装刹车碟片的基座,不过价格要略高一点。因为碟刹花鼓也可以通过使用V刹圈而编成V/碟两用的轮组,因而更被人们青睐,唯一的不足就是重量会稍微大一点。
而花鼓的内部结构,即轴承方式才是花鼓的核心所在。花鼓轴承的结构不外乎两种:角接触轴承和深沟球轴承。前者俗称珠档结构,就是常见的钢珠碗+散钢珠+档的结构,常见于shimano所有的花鼓、久裕低端(打JOY品牌)和昆腾(QUANDO)。而后者,深沟球轴承,俗称培林结构(bearing的音译)或者轴承结构(不知道谁开的头,比较容易混淆,不过其实培林也是泛指轴承),常见于久裕高端(打NOVATEC品牌)和昆腾高端产品,是在运动车上广泛使用的一种结构,实际上是巧妙的使用了工业机械上广泛使用的标准密封轴承,因为这种结构实在是太成熟了,因此能在保证了润滑度、密封性的前提下使成本降低到很低的水平并且使可维修性(当然其实这种东西坏的概率很小)大大增加了。
至于花鼓的轴心、外壳和塔基(就是那个安装飞轮的地方),其实技术含量并不高,一般来说,都采用钢轴心、钢塔基,铝合金壳体的结构,高档点的产品会使用铝的轴心和塔基。在这两个零件上,追求的无非就是在保证强度的前提下尽量减轻重量。在花鼓两侧顶端的边塞部位、内部的棘轮结构各个厂家也有不同的技术,各有千秋,对于新人来说,这些内容比较琐碎,日后再研究也不迟。
虽然现在培林结构很流行,但是还是有必要说说珠档结构。也许刚开始接触自行车的朋友都会把它和过去那些代步车的轴承结构联想到一起。其实不然,虽然结构相同,但是shimano的珠档结构绝非那些普通珠档可比。通过shimano的精密的加工技术和精巧的设计以及精心的用料,shimano的高端珠档花鼓(XT和XTR)在润滑度、耐久性上都是顶尖级别的,只是重量略大,价格略高而已。至于它的LX级以下的花鼓,在那个价位上完全可以买到性能更好的培林花鼓(这也是爱好者中少有人用Deore和LX花鼓的原因)。当然,在GIANT ATX740之类的整车上面用的JOY珠档花鼓,充其量也就值个三五十块钱,死沉,不润,还容易坏……
说罢花鼓,再说说轮圈
轮圈从外部结构分为碟刹圈和V刹圈,区别很简单,V刹圈有车削出来的一圈刹车轨,碟刹圈没有,因为刹车轨部分是加厚的,所以V刹圈会比碟刹圈略重。
从内部结构来说,按照圈的截面形状分为刀圈(截面为三角形,例如ALEX X2100),和工形圈(截面为“工”字形,例如太阳的CR18)。一般来说,刀圈对于纵向的冲击抵抗较好,但是对于侧向的冲击抵抗较差,工形圈反之,具体如何选择要看各人爱好了。
至于轮圈的衡量,无非是两个方面:重量和硬度。重量是可以在称上有直观反映的,而硬度只有在实际使用中才能感觉到。只有在尝试过很多轮子之后,新手才能觉得那些mavic之类又轻又硬的圈是值那个价钱的。其实入门的话。一对CR18或者DP20的圈也挺不错了。
顺便说一下孔数(钢丝数)的问题,一般来说民用自行车都是36孔,山地车最多都是32孔,还有什么28、24、16孔,越少的钢丝意味着越轻的重量,但是也意味着对圈和钢丝强度更高的要求,同时也要注意花鼓的孔数必须和圈相一致,不然的话……嘿嘿……。新手入门,其实弄个32孔的也挺好了。
钢丝也许是新手们最为忽略的地方,估计几块钱一根的DT钢丝会让很多人开始觉得无法接受。没关系,当你频频遇到钢丝断掉、轮子变形之类的事情之后,你就会明白好的钢丝对于一辆山地车是多么重要,能做到重量、韧性、低风阻兼具的钢丝的价钱确实不会便宜。不过对于新手来说,一把顺利的钢丝也基本能满足需求了,好一点也可以用日本的N牌钢丝。
轮圈之外就是胎垫,这个应该不用说了吧,楼下修车师傅就可以用旧内胎作一条相当不错的胎垫,当然要是舍得花二三十块钱买一根高档胎垫也不错,可以用上一辈子了。
胎垫外面就是外胎,更没啥好说的了,10块钱一条的正新可以从2000的车子用到20000的车子,需要注意的内胎的尺寸要和外胎配合,不然用起来也许会有点小麻烦,还有就是气嘴的型号:分为英嘴(老式普通民用车那种,已经逐渐淘汰),美嘴(和摩托车、汽车相同,目前使用最广泛,强烈推荐),法嘴(性能最好,但是打气实在是很麻烦)。
最外面就是外胎了,是自行车几十个零件上唯一和地面直接接触的东西。外胎的规格就是宽度,就山地车而言,从1.00到2.35都有,全面适应广大消费者的需求,另外一个外观上区别就是胎的表面,从光头到浅花纹再到粗犷的大齿胎都有,这其中的区别我想就不用细说了,单凭想象也能知道其中都有哪些区别。实际上决定外胎档次的主要是两个:重量和胶质。重量当然是越轻越好,这个在称上就能看出来,而胶质的区别则是新手人所忽视的。其实也很简单,想想F1赛车,更软的胶质就能提供更好的抓地力,同时也会更快的被磨损掉(都舍得花几千块买自行车了,还在乎磨得快一点么?)。因而,30块钱一条的正新1.5光头胎和MAXXIS的80多块一条的同样宽度的光头胎,差距主要就是在胶质和重量(650g VS 450g)上,而直观的来说,当车子做出高速大转弯(例如山路中的下坡发卡弯)时,好的轮胎会给车手带来强烈的信心。
说了这么半天,总结成一句话,那就是,只有好的花鼓+好的钢丝+好的圈+好的轮胎搭配,才是一个真正好的轮子。
附:推荐选用的常见零件
花鼓:低档--久裕751/802(V刹花鼓),昆腾TX(碟刹花鼓)
中档--久裕D041/042,经典碟刹花鼓
高档--shimano XT/XTR,久裕D351/352,镂空碟刹花鼓
极高档--DT、King……只有买得起买不起,没有好不好
圈:低档--太阳CR18(V刹),ALEX DP20(碟刹)
中档--太阳UFO(V碟都有)
高档--maviv的317、517、817还有DT之类的……
外胎:米其林,maxxis,哈奇森,马牌总可以找到合适的宽度和纹路,至于正新、伊诺华这样的就算了吧,基本就是浪费钱了。

新手乱入:关于前叉的那档子破事

曾经有高人说过,山地车,无非是个车架加一个前叉(fork),虽然说得有点夸张,不过的确,前叉是山地车与其它类型自行车区别的最大标志,也是山地车类别中细分的一大标准。现在市场上流通的叉子各式各样,轻的重的*的贵的长的短的粗的细的,新手们在选择前叉时往往面对各式各样的前叉无所适从晕头转向,实际上,从叉子的不同结构和用途,当然还有价格上,很容易把他们区分开(当然这只是走上发烧路的第一步)。
从基本结构上说,常见的山地车前叉按照弹性介质(spring)分为两大类:弹簧(coil)和空气(air),作用都是依靠自身的压缩吸收车轮和地面碰撞而产生的冲击(顺便说一下,弹簧和空气在使用中的区别基本可以描述为弹簧对微小的冲击较为敏感,线形好,比较软,而空气对于微小冲击的反应稍差,但是在大动态的表现下远好于弹簧,且重量远轻于弹簧);而按照回弹(rebound)方式则又能分为有阻尼(damping)和无阻尼两种。
这里有必要说一下阻尼的概念:当一个冲击从地面经过轮子传递到前叉,弹簧或者空气被压缩,吸收掉了能量,而当这个冲击消失后,被吸收的能量就会从弹簧或者空气中释放出来,这时候如果能量毫无阻碍的释放,结果就是又产生了一个反向的冲击,直观的说,车手仍然会从车把上感受到一次强烈震动,只不过在吸收-释放的过程中这个震动的能量被消耗了一部分而已。因此,为了彻底实现我们想要的避震效果,就要引入阻尼这个概念,它存在的意义就是在被吸收的能量重新释放的时候把这个能量尽可能的消耗掉,直观的说,就是车手只能感受到一次小的震动而不是更多次,从而可以更加自如地操纵赛车。
再说回来,山地车前叉为了实现阻尼效果,靠的就是阻尼油(oil),其原理和摩托车、汽车还有其他很多很多机械设备上使用的油阻尼完全相同,无非是实现机构和油的粘稠度不同而已,基本来说就是一个类似于单向阀的东西,在前叉回弹时减缓油的流动,把能量转换为热量通过叉管壁散发出去,这也是油阻尼叉子在长时间越野后下端会发热的原因。此外,有些低端叉子使用了号称“阻尼胶”的阻尼机构,例如Rock Shox的低端叉子J1,而实际上其使用效果基本上等同于无阻尼的叉子,故将其归入无阻尼行列。
这样,将这两大类别组合,就能得到4种构造的叉子:弹簧无阻尼,弹簧有阻尼,气压无阻尼,气压有阻尼。其中气压无阻尼的构造是一种在技术和商业上都毫无意义的构造,故而从来没有出现过,因此,只剩下3种构造,为了简单起见,一般都分别称为:弹簧叉(无阻尼),油簧叉(有阻尼),油气叉(再简单一点就叫气叉,有阻尼)。
此外,需要注意的是,有些文章里面会用到“油叉”这个字眼并以其区分前叉档次,严格一点说,这种说法至少应该算不准确的,因为它只提到了前叉构造的一个基本方面,不过倒也有其合理性,因为连阻尼都没有的叉子肯定属于相当低档的叉子了。
区分叉子的另一个重要特征就是用途。山地车的几大分类,XC,AM,DS,FR,DH(关于分类方法请参见其它文章),每种车子都要使用特定的相应的叉子类型:XC追求的是在保证一定避震效果的前提下的轻量,AM追求一定重量以内缓冲行程要稍长,DH追求长的缓冲行程和高强度,等等。因此,买前叉之前第一件事就是弄明白自己想用自己的车干什么(或者是自己骑的是什么车)。
评价一根叉子的指标很多,一般来说有重量(weight),行程(travel),润滑度,强度,手感,附加功能等。重量和行程都是有数字的,如果是XC使用,自然是重量越轻越好,行程则是在80-100mm之间都可以,否则要么避震效果不好,要么整个车的力学特征改变。而润滑度和手感、强度都并没有指标可以看,基本上要靠个人体会了,在这个方面可以多看看网上其他车友对各款前叉的评价,不然就有了闭门造车之嫌(这里有个区别叉子润滑度的小窍门,除了直接按压叉子之外,如果看到叉子的滑管上不是电镀的银色,而是金色、黑色或者黄色时候,说明这个叉子使用了特氟隆涂层,就是不粘锅的材料,这样的叉子的润滑度通常都不会差,当然ROCK SHOX的个别高档前叉比如SID WC版本就是银色特氟隆)。而附加功能指的是厂家们在前叉上加上的各种五花八门的东西,最常见的就是锁死(lock),能让叉子在上坡和平地时候变成硬叉保证车手的发力,高级点就是软硬调节(spring adjust)、阻尼调节(damping adjust)、行程调节(travel adjust)之类之类。有了这些附加功能,当然是给叉子锦上添花,但是需要注意的是,叉子的最基本功能是用来缓冲和吸收冲击的,考察一根叉子的出发点也是这个最基本的功能,离开了这个出发点,再多再好的附加功能也是空中楼阁,对于这点新手一定要牢记。
说了这么多,也许新手们最关心的还是价格问题。一般来说,市场上常见的叉子,400元以内的几乎就是清一色弹簧叉,400-1000元内是油簧叉的天下,而上了1000块的几乎清一色都是气叉了(上不封顶……),而各种附加功能在各个价格区间的叉子上面几乎都有提供,至于作为避震的最基本功能基本上还是与你所付出的钱同方向变化,一分钱一分货不是么,大家量力而行吧。
最后再分别举3个本地车友叉子的例子,分别代表了常见的3种档次的叉子。
车友timeattack:使用Rock Shox J1(即J系列的中细分的一个型号),行程80mm,为无阻尼弹簧叉,重量2000克以上,双侧弹簧(即两侧管子内都有弹簧),双侧软硬调节,很软,但润度稍差。价格3xx元
车友月半猫:使用Rock Shox Reba Team(即Reba系列的中细分的一个型号),单侧正负气压(即只有一边管子内为气压,且分为上下两个正负气压,高档前叉的标志,防止打底),可调阻尼,可调节行程(75-115mm),可调节软硬,可以锁死,重量1800克以内。价格2600元以上。
我自己:使用Marzocchi EXR PRO(即EXR系列中的一个细分出来的型号),行程105mm,双侧气压无负气压,无锁死,无阻尼调节,软硬调节依靠打气时候控制气压,重量1940克,结构相当简单,功能相当少,但是润度、强度、手感都相当好。价格1200元。
注:市场上常见的前叉品牌——
Rock Shox,美国,代表作SID/Reba/Recon/Judy等
Marzocchi,意大利,代表作Z3/EXR PRO/Marrathon等
Manitou,美国,代表作Skareb/R7/Axel等
Fox,,美国,代表作F80x/F100x等
RST,台湾,代表作CAPA系列/OMEGA系列等低端前叉
Spinner,台湾,代表作Talon等
SR Suntour,台湾,代表作XCP75等

新手乱入:关于刹车的那档子破事

自行车上所有的零件都是为了更快,唯有刹车部件是让车子变慢的,而且是要迅速减速,但是正如任何的赛车,在这里,慢,其实是为了更快。
现在山地自行车上的刹车无非是两种,V刹和碟刹(吊刹现在只有民用车还在用),当然这两者的区别不用多说了,傻子也能看出来,不过再往下细分还是有很大的不同的。
首先说说V刹。
现在大部分的山地车都是V刹,但是个中区别很大。V刹分为普通结构和平推结构。普通结构就是我们平时所见到的,从20块钱一副到两百多一副的结构,通过一根刹车线传递力量使两个刹车臂靠近,使刹车皮紧贴在轮圈上进行制动。注意此时刹车皮的运动轨迹是围绕主转点划了一个弧线。而平推V刹比较少见,通过增加平衡机构,使得刹车皮的运动轨迹为一条直线,这样的好处就是使刹车的抱死临界范围更宽,在实际使用中,平推V刹几乎能做到无忧虑刹车,而普通结构的V刹必须对刹车技巧有一定的掌握,不然在高速状态和复杂情况下就有潜在的危险。
V刹,尤其是普通结构的V刹,其本身结构并没有多高深的秘密,因此即使是个山寨小厂也能生产出来,但是在使用中,差别就显露出来了。现在市场上常见的V刹,除了KCNC之类这种BT产品,也就是shimano和Avid两个厂的东西了。便宜的V刹和好的V刹区别最大在于做工和用料。廉价产品的刹车臂都是很软的,因此在刹车时候会感觉到很不爽,而粗糙的做工使得故障频发几乎无法正常使用,典型的代表就是ATX660/740上面用的刹车。稍微好一点适合入门的就是shimano M421和avid SD3,再好点就是Deore和SD7档次,当用到M760平推档次的时候,基本上来说V刹就已经到头了(XTR是真正的头)。
顺带说一下刹把和刹皮,这是V刹系统的两个端点,一端和车手接触,一端和车圈接触。较差的刹把,比如说整车的联体变速刹把的那种,手感都是非常的差,很涩很模糊,至少应该选择avid FR5档次的刹把才能获得较好的手感(同时还得搭配较好的刹车线和线管,例如Jagwire银色编织线管)。而好的刹车皮和较差的差别也很大,主要体现在制动力和手感上,不过需要注意,就像好轮胎不耐磨一样,好的刹车皮也是消耗很快,比如我的M760原装刹车皮仅仅2000公里就彻底报销。
vid FR5刹把,价钱便宜效果不错
再来说说碟刹。
从结构上来说,碟刹也有两种,一种是液压碟刹(俗称油碟),一种是线拉碟刹(俗称线碟)。前者原理同汽车、摩托车之类的刹车,是靠刹把通过液压油驱动活塞,把刹车片夹在刹车盘上进行制动。后者则有点不伦不类,应该说是油碟和V刹的混合体——用刹车线拉动刹车片,夹住刹车盘进行制动。从使用感受上来说,线碟的手感很硬,类似于普通结构的V刹,能明显感觉到刹车片夹住刹车盘,这也就导致抱死临界范围很小,容易导致抱死,同时会使频繁刹车之后手感到疲劳甚至疼痛。而油碟的就像平推V刹一样,有一个很宽的临界范围,就是刹车时有一种渐进感,这对于越野时候对于速度的控制至关重要。
vid 顶级Juicy Ultimate 油碟
很多人以为碟刹就是高档自行车的标志,其实不然,这个东西,尤其是线碟,其实也没啥技术含量,即使是Hayes这样的大厂,其低档线碟MX1也不过区区300元售价,比M760平推V刹还要便宜不少,更别说那些山寨小厂了。只有油碟才是高档山地车的标志之一(用了油碟的档次都不低,反之不然)。其实油碟的价格也并非高不可攀,Avid最便宜的油碟Juicy 3和Shimano的Deore也不过800左右的售价,而其性能绝非这个档次的线碟如BB7之流可以相比。
顺带说一下刹把和碟片。线碟的刹把和V刹通用,不再重复说。油碟的刹把往往是刹车本身的一部分,不可更换,因此用油碟不能像线碟那样随意更换刹把,不过到了油碟这个档次,刹把本身做的都不差了,因此并不需要刻意追究。盘片是碟刹的一个重要部分,好的盘片的优点一个是重量轻,另一个就是表面平整度极高,例如XTR的盘片,看起来就是贴在了刹车片上,但是就是不蹭碟,而较差的刹车盘片骑起来往往就会无谓消耗很多的力量了。
最后说一下V刹和碟刹的选择。其实碟刹和V刹并非是档次的区分,而是各有特点:V刹重量轻,易调整,刹车力量大,但是在有水的环境中性能大打折扣,并且存在着过热失效的可能(不过很少见,因为大长下坡不是哪里都有的),在剧烈颠簸时的手感不是很好;而碟刹虽然重一点,维护保养调整复杂一点,但是在任何天气中都有很好的刹车性能,不怕过热,在剧烈环境中也能够掌握住。因此,在中低强度的XC中,V刹还是很不错的选择,对于大强度的越野一般就是油碟的天下了,事实上,很多职业山地车选手在晴天比赛时候还是选择V刹,在雨天比赛时候才选择碟刹。个人建议,如果爱好山地骑行,且预算充足,可以直接选择油碟,如果预算较为紧张,可以先用V刹,然后直接上油碟,毕竟线碟还是个比较鸡肋的东西。

新手乱入:关于附件的那档子破事

自行车上还有些杂七杂八的附件,也许花不了多少钱,很多刚入门的车友往往并不重视,其实如果不在意它们,也许会吃亏的。这些东西就是坐垫、脚踏、把组(包括把横、把立)、坐杆。
一个个来说,首先是坐垫。
坐垫的问题和骑行舒服与否有着重大的关系,因为上面承载了车手一半的身体重量(另一半在车把上)。一个好坐垫肯定要有较轻重量,但是对于舒适度和适合发力的性能来说,就不得不只侧重一方面了——坐垫如果要舒适,那么它肯定要足够宽大,这样才能保证人体和坐垫的接触面积,减小压强,同时材质也应该较为柔软;但是如果要让车手能更好的发力,那么它的形状就应该是狭长的,并且要比较硬才行,所以坐垫就出现了两种分化:竞技型和舒适型。前者都是用在山地车和公路车上,后者一般是长途党的最爱。当然,成品整车上配置的那种廉价坐垫往往都是人造革包裹着一大块海面而构成,这样的坐垫既没有竞技性可言也没有舒适性可言。
那么一个好的坐垫应该是什么样的呢?从结构上说,坐弓的材质首先要好,这样才能保证轻量化,铬钼钢是起码的,有些钛合金坐弓的坐垫价格也并不高,碳纤维的虽然很高档但是价格不是人人承受得了。再者就是坐垫的填充物,廉价坐垫多是填充海绵,时间长了会老化,臀感大大下降,好一点的坐垫现在都是以硅胶(GEL)等材料作为填充物,舒适性大大超过海绵。第三就是坐垫表面,廉价坐垫都是人造革,不透气且时间一长就会开裂,好一点的坐垫就是合成材料,比人造革好很多,但是如果要舒服,还是要真皮表面,不但不会老化开裂而且还很透气。还有就是坐垫中间最好能开个槽,这个可不是给车手放JJ的,而是给JJ冷却的,不然烧裆的滋味可不好受。
不过买坐垫第一得看用处,第二得看实际臀感。我当初买了一个Selle Royal Viper坐垫,也算还好的坐垫,铬钼钢弓,硅胶填充,合成材料表面,比较宽大,但是因为不合我的臀形,怎么都觉得PP疼,而且中间没有开槽,JJ都快捂出痱子了,只能一咬牙买了个Selle Italia C2,真皮开孔开槽意大利手工缝制(听起来很像沙发),属于狭长的硬邦邦的竞技型坐垫,但是坐上去非常舒坦,即使不穿骑行裤骑几个小时一点事情也没有,裤裆也很凉爽,重量也进了300克以内,确实很有性价比。这里建议大家买坐垫主要还是挑一些大品牌比如Velo的高端,Selle Royal,Selle Italia,WTB,San Marco,fizik之类,毕竟大家交口称赞的东西究竟不会差,当然最好还是有机会试试各种不同的坐垫来找寻最适合自己的那种。
再来说说脚踏。
脚踏是车手对车发力做功的第一个环节,但实际上脚踏本身并不会损耗太多的能量,它注重的主要还是功能性。脚踏结构主要分为两种:普通脚踏和自锁脚踏。普通脚踏通俗的说就是一个轴上安装了一个镂空的金属板,两面都是钉子,它的目的就是让车手的脚能够稳当的踩住车子,要知道一旦在越野的时候鞋底从脚踏上面滑脱,那么结果十有八九就是翻车。但是要彻底解决这个问题,同时作为专业标志的还是自锁脚踏。自锁脚踏本身是一个带有弹簧的锁扣,在骑行鞋的鞋底用螺丝安装一个锁片,骑行时候把锁片卡入锁扣,这样车手的脚、骑行鞋、锁片、脚踏、车子就牢靠的连在了一起。这样的好处主要有两点:第一是在踩踏时车手可以一只脚往下踩,另一只脚往上提,这样可以发出更多的力量,或者说让两条腿都能同时分担负荷;第二则是在越野时候彻底不用去顾虑脚和脚踏是否会打滑,从而能更专注于观察路面情况进行骑行而不会分心导致危险。当然对于新手来说,首先还是用一个普通脚踏来寻找感觉,等到具有一定的车感的时候再上自锁,否则没有车感就用这玩艺很容易导致危险发生,反正无论山地还是公路,玩车到一定程度的时候上自锁都是必然的事情。
评价脚踏好不好也就是重量和轴的结构两点。重量轻的脚踏,一般使用的是特殊材料,比如Wellgo的MG-1和VP550,外形结构基本一样,但是MG-1因为使用了镁合金,其重量和VP550不在一个等级上(当然价格也差了10多倍)。而轴这点,一般好的脚踏都是使用培林轴,轴心也是铝合金之类,普通的多为珠档轴和钢质轴心,不过这点其实在没有玩到一定狂热程度之前并没有必要去追求了。
第三个说说车把。
车把是车手直接操控前轮转向的部件,也是堆砌刹车和变速手柄的地方,有时候还有码表车灯等乱七八糟的东西,车把的关键词有重量、材质和角度。
其实车把的重量基本上由材质决定了——铝合金的往往重一些(其中也有区别,比如GIANT整车的铝合金车把就是相当的重,以至于让很多人怀疑是钢质的),碳纤维包铝的则肯定轻一些,而全碳纤维的则一般是最轻的(也是最贵的)。碳纤维还有另外一点好处:因为碳纤维具有一定的弹性,因而能够吸收一定的震动,使车手的手部能更舒适一点。所以,如果有钱的话,选择碳纤维肯定没错。
车把最主要的还是角度问题(这里把长度也归于角度问题)。对比GIANT的整车和爱好者自己装的车,形状上最大的不同就是车把的角度了。一般适合越野骑行的都是低角度的把立+直把或者小燕把,这样车手的身体才能向前倾,好处就是第一极大减少了风阻,第二更加便于发力,第三能更好的控制车子。GIANT那种高高翘起来的把立+燕把完全就是一种民用车的骑行姿势,根本无法进行运动骑行。
一般来说山地把立的长度在9-11cm(也有超短的,少见),角度为正负7度左右(即正着装则为相对于前叉上管的垂直线向上偏7度,反着装则向下偏7度),把横一般是580mm长度,略带5度左右的弯曲(弯曲方向一般是对着车手)。车手在安装车把时,通过选择把立长度(如果车架上管稍短可以选择稍长的把立,反之则选择稍短的,但一般都在9-11cm,否则会影响到操控性能)、正装还是反装,以及碗组垫圈与把立的相对位置(即调整把立在前叉上管上的与车架相对距离)来微调车把的位置,找到车手最喜欢的骑行姿势。
最后来说坐杆
坐杆就是连接坐垫与车架之间的那根杆子,根据车架型号不同,坐杆口径也不同,往往有27.2、30.8、31.6等,不过这个并不重要。
选择坐杆的第一要素就是材质,同把组一样,坐杆分为铝合金(再往下还能分出不同型号的铝合金)、碳纤维包铝和全碳纤维,特性也和把组一样,铝合金的便宜,但是稍重,没有弹性,全碳纤维的轻,有弹性,但是价格昂贵,这个量力而行了,有钱的话买碳纤维还是没错的。
需要关注的是坐杆的顶端,这里是一个螺丝锁紧机构,夹在坐垫的坐弓上,可以在一定范围内调整坐垫和坐杆的相对位置(作用类似于把立长度的选择)以及坐垫和坐杆的角度(太高了会杠到JJ的哦)。螺丝锁紧机构根据螺丝的数量还可分为单钉和双钉两种,单钉的强度较小重量较轻,双钉的重量大但是强度也大,这个就是依照个人的喜好来选择了,并不是一种决定性因素。
总而言之,一辆车子如果主要部件都很好,那么这些附件都应该选配相应档次的产品,因为在骑行中,这些不起眼的附件的一个提升,往往就能带来车手很大的骑行快感的提升,所以,不要忘了在选配它们的时候也要花一番心思啊。

2009年2月22日星期日

[转]什么是爱情

有一天,柏拉图问老师苏格拉底什么是爱情?老师就让他先到到麦田里去,摘一棵全麦田里最大最金黄的麦穗来,期间只能摘一次,并且只可向前走,不能回头。

柏拉图于是按照老师说的去做了。结果他两手空空的走出了田地。老师问他为什么摘不到?

他说:因为只能摘一次,又不能走回头路,期间即使见到最大最金黄的,因为不知前面是否有更好的,所以没有摘;走到前面时,又发觉总不及之前见到的好,原来最大最金黄的麦穗早已错过了;于是我什么也没摘。

老师说:这就是“爱情”。

之后又有一天,柏拉图问他的老师什么是婚姻,他的老师就叫他先到树林里,砍下一棵全树林最大最茂盛、最适合放在家作圣诞树的树。其间同样只能砍一次,以及同样只可以向前走,不能回头。

柏拉图于是照着老师的说话做。今次,他带了一棵普普通通,不是很茂盛,亦不算太差的树回来。老师问他,怎么带这棵普普通通的树回来,他说:“有了上一次经验,当我走到大半路程还两手空空时,看到这棵树也不太差,便砍下来,免得错过了后,最后又什么也带不出来。”

老师说:“这就是婚姻!”

人生就正如穿越麦田和树林,只走一次,不能回头。要找到属于自己最好的麦穗和大树,你必须要有莫大的勇气和付出相当的努力

爱情还是婚姻都这样,爱了就不能后悔,爱了就没了退路,即然爱了就要义无反顾的爱下去,一直等缘尽的时候再放开彼此......

2009年2月20日星期五

aptitude 简明手册

本文档是面向初学者的一个简短的指南, aptitude 是用于Debian GNU/Linux 软件包操作的一个控制台前端. 希望本文对进入Debian GNU/Linux 殿堂的初学者有所裨益.

概述

aptitude 是 Debian GNU/Linux 系统中, 非常神奇的的软件包管理器, 基于大名鼎鼎的 APT 机制, 整合了 dselect 和 apt-ge2 的所有功能, 并提供的更多特性, 特别是在依赖关系处理上.本文档并不是一个全面的参考手册, 只是向新用户展示 Debian 系统下的 aptitude 是如何的强大, 并希望能使用户快速的掌握一些有关 aptitude 的实用技巧. 更多信息请参阅作者提供的用户手册3.

定义与介绍

要使用 aptitude, 只要打开您喜爱的终端, 键入如下命令即可4:

# aptitude5

aptitude 的主视图组织的非常有条理,而且界面布局清爽.上部窗口列出的是软件包根据类别和它们在本地系统的状态排序.这里是 aptitude 的操作界面.底部窗口给出主窗口的状态描述信息.

Actions Undo Package Search Options Views Help
f10: Menu ?: Help q: Quit u: Update g: Download/Install/Remove Pkgs
aptitude 0.2.15.9 Will use 25.9MB of disk space DL Size: 27.7MB
-- Installed Packages
-- Not Installed Packages
-- Obsolete and Locally Created Packages
-- Virtual Packages
-- Tasks

在aptitude主菜单提供了七个选项,这依赖于您系统中选用的软件包的状态.

  1. Updated Packages(升级的软件包)

    此选项列出在归档库中出先新版本的软件包.通常,当用户完成选择处理,aptitude下载安装了请求的软件包后,这里的软件包都将被升级.

  2. New Packages(新软件包)

    更新(aptitude update,或在 aptitude 中键入[u])软件包列表后所增加的软件包,让用户了解 Debian 归档库增加了哪些内容.每次更新,新的软件包就会累加到这里,直至您键入[f]将累加清除,并将它们集合到主包库中.

  3. Installed Packages(已安装软件包)

    这些软件包已经安装在您的机器上,但资源库软件包列表显示不需要对它们进行升级.

  4. Not Installed Packages(尚未安裝的软件包)

    就象名称标识的,这些软件包当前没有安装在您的机器上.当您清除未安装的新软件包时,将会进入这部分.

  5. Obsolete or Locally Created Packages(废弃或本地创建的软件包)

    这些软件包目前已安装在您的机器上,但是它们并未出现在 /etc/apt/sources.list 为 APT 配置的资源库中.

  6. Virtual Packages(虚拟包)

    虚拟包是由一些软件包提供的逻辑概念.例如,mail-transport-agent 就是由 postfix 和 sendmail, 以及其它等等软件包提供的.

  7. Tasks(任务)

    任务是一组软件包,它们提供了一种简单的方法来选择一组预定义的完成特定任务的软件包.在后面将对此做更进一步的讲解.aptitude 允许对任务进行浏览和安装.

aptitude 是以树状结构组织的,相关节点以细线相连.可以使用方向键, [PageUp] 和 [PageDown] 进行定位.[Return] 或 [Enter] 用于展开或收起某个节点.aptitude 的开视图分为四列: 软件包状态和请求动作, 软件包名称, 当前安装版本(或<none>), 最新版本.

aptitude软件包列表中的软件包状态:

v虚拟
B损坏
u解包
C预配置
H预安装
c卸载未清除
p清除软件包
i已经安装
E内部错误

在aptitude软件包列表中的请求操作:

h保持
p清除
d删除(卸载)
B损坏
i安装
r重装
u升级

底部窗口给出主窗口当前显示的上下文信息.可以用[a]和[z]实现滚屏,[i]在不同信息视图间切换.最后,[D]则用于显示和隐藏信息区.

下边是默认安装时6相关背景颜色说明7:

颜色意义 红
绿安装新软件包
将软件包升级的最新
品红删除(或清除)软件包
保存版本(禁止升级)

快速开始

对于任何程序来说, 您首先知道的就是如何退出 -- 在aptitude的主视图中键入[q](quit), 即可退出 aptitude. 任何时候您键入[?](help), 都可以唤出帮助信息.

aptitude是基于apt机制的, 因此在进一步操作前你需要正确的配置sources.list8文件.并确保 软件包列表得到了及时的更新. [u](update)命令就是为此设计的, 这类似于 apt-get update 操作.

如果出现了新的软件包(也就是说, 至上次软件包列表更新时, 仍为出现的软件包), 将会在 New Packages 选项下显示. 您可以键入[f](forget that packages are new)命令, 将它们清除到可用软件包选项中去.

移动光标到您感兴趣的行, 然后键入回车, 将选项展开. 选定一个软件包后, 有关软件包的信息将会出现在屏幕底部. 如果要查看更详细的信息, 则需要键入[i](information). 键入 [q] (quit)则会退出信息显示屏幕.

对于没有安装的软件包(位于 New PackagesNot Installed Packages 区域), 可以选定后, 键入[+](add package), 以标示安装.

对于已经安装的软件包, 则可以进行保持, 删除, 或清除等操作. 保持[=](hold)是指保持软件包的现有版本, 而禁止对其升级. 删除 [-](remove package) 标记已安装软件包为删除状态. [_](purge package) 命令则将软件包标记为清除状态.

一旦您标记完感兴趣的软件包, 就可以键入 [g](go )以保存修改, 使其生效.

过滤与查询

键入 [/], 并提供一些判断语句, 来查询软件包的名称. [\]用于查询下一个匹配. 就象正则表达式一样, 可以用 ^ 和 $ 匹配名称的起始字符和结束字符. 使用[l],用户可以以某种标准限制软件包的显示,这同样适用于查询9.下边是一些重要的判断谓词:

aptitude的搜索谓词

谓词用途
~ahold保持现有版本的软件包
~b损坏的软件包
~d<text>描述中含有<text>内容的软件包
~g无用的软件包
~m<maint><maint>维护的软件包
~n<text>名称中含有<text>的软件包
~V<version>版本号中含有<version>的软件包

这些谓词是可以联合起来使用的.例如,~ahold~dmail 选择在描述字中含有 mail 的被保持现有版本的软件包.在两个谓词间使用管道符号(|),可以对两个表达式进行逻辑或(OR) 操作: ~v|~b 选择所有受损软件包或虚拟软件包. 查询不会忽略两个谓词间的空格! 因此,~V.0 和 ~V .0 是不一样的, 后边的一个不会有匹配结果.感叹号对表达式取反: !~b 查询所有未受损的软件包.可以使用括号来表达复杂的布尔逻辑:~g(~dmanual|~sdoc) 将查询所有包含manual或在 doc 部分的受损软件包.

需要注意的是, 当搜寻正则表达式中含有某些特殊字符, 象 '()',代字号(~),和感叹号时, 则必须使用代字号进行转义.

软件包的选择

软件包的选择可以通过浏览,然后按下对应键进行操作:

[+]选定要安装的软件包.
[-]选定要删除的软件包.
[_]选定要清除的软件包.
[=]保持软件包的当前版本,阻止其被升级.
[:]仅在aptitude会话期间锁定软件包.
[L]请求重装软件包.
[M]将软件包标记为自动安装.自动安装的软件包
在手动安装的包对其没有依赖需求时会自动删除.
[m]将软件包标记为手动.
[R]请求重新配置软件包.
[I]请求立即安装软件包(以其依赖包)并暂时锁定其它升级和
安装的软件包.作用与apt-get install 相同.
[F]禁止安装某个版本的软件包.但是,对更高版本正常使用.
[B]调用reportbug,申报一个软件包的错误.
[C]下载并显示一个软件包的变更日志.
[g]进入所有请求变更的预览窗口.如果在预览屏键入此键,
将执行变更操作.
[d]查询相关软件包: suggest/recommanded/depends
[r]查询依赖包
[/]搜索
[\]继续搜索

注: Control-u组合键可用于取消上一步的动作.

展开一个软件包的节点,将会在屏幕上输出软件包的详细信息.除了有关软件包的有用信息外,在发现aptitude给出的解决方案不能满足您的需求时, 可以在屏幕中方便的浏览相关声明并交互的解决依赖问题. 还可以使用[Return]展开节点,在主窗口用于操作软件包选择的按键也可在遵循相关声明的情况下,应用于这里列出的软件包.键入[q]令您回退一级,关闭软件包详述窗口,返回软件包列表.

受损的软件包

当aptitude遇到不能解决依赖问题时,会以红色背景高亮显示有问题的软件包,并显示标题窗口中错误数量.

并会在标题窗口中显示受损包的数量, 例如: #Broken: 2

mygray Actions Undo Package Search Options Views Help
mygrayf10: Menu ?: Help q: Quit u: Update g: Download/I
mygrayaptitude 0.2.15.9 #Broken: 2 Will use 1118kB of
mygray--- Packages being automatically installed to satisfy
mygray--\ Packages being deleted due to unsatisfied depende
mygrayid postfix -1974kB 2.1.5-9
mygrayiB postfix-mysql 2.1.5-9
mygrayiB postfix-tls 2.1.5-9
mygrayi webmin-postfix 1.180-4
mygray--\ Packages to be installed
mygraypi exim4 +32.8kB
mygray--- Packages which are suggested by other packages
mygray

受损的软件包是指那些不能满足依赖关系的,或相互冲突的软件包(这种情况下两个软件包都是 broken 的). aptitude 显然不会允许用户选择安装 broken 的软件包. 因此,需要首先修正这种问题:

当 broken 软件包的个数非零,并且 aptitude 被告知动作未定时(用户键入了 [g] 键),在显示这些未决问题摘要之前aptitude将试图解决所有的问题.通常,使用保守的方法进行自动修正,所以前面的所做的选择有可能被丢弃.在键入 [g] 前将一直检查 broken 软件包的数量,或者详细显示 broken 软件包的信息,这将丢弃前边所做的修改.幸运的是,aptitude 允许通过 [C_] 或 [C_u] 来取消最后的操作,然后进行手动解决.

当在aptitude中修复broken软件包时,它的过滤(或限制)功能非常的有用.键入 [I] 进入 ~b,aptitude 将会只显示 broken 的软件包.使用软件包细节列表,通过选择缺少的依赖包,手动解决冲突,稍做努力就可修正出现的问题.另外,您也可以简单的键入 [b],找到第二个 broken 软件包.

当 broken 的软件包数量增加时,可能需要过滤显示软件包列表.键入 [I] 应用前面的过滤设置,以缩小仍处于 broken 状态的软件包列表(希望少了很多). 重复操作,在短时间内就会修复所有 broken的 软件包.

清洁您的系统

当 aptitude 选择了软件包以解决其它的依赖问题时,它将这个软件包标记为自动安装.因此,当依赖软件包卸载时,这些软件包也会自动卸载,这有助于您的系统保持清洁.也可以使用 [M] 和 [m] 手动修改 安装 标示: 首先添加这一标示,随后就会卸载它. ~g 谓词可以用于根据这一标示进行搜索和限制.

虽然aptitude的这一功能非常的不错,但是deborphan也提供近似的功能,并且操作起来更加灵活.

虚拟包

有时候,软件包可能需要其它必需选择的软件包提供一个概念.这种需求的一个典型例子可以在软件包的关联信息中找到.at被设计为依赖能发送电子邮件的程序.在Debian中,有不下十种邮件传输代理软件,并不是写死到at的依赖信息中,软件包只是简单的通过依赖于概念包mail-transport-agent 来实现.提供了所需功能的软件包都声明提供了这种概念,在Debian中,是通过所谓的“虚拟包”来实现的.在系统中安装了任意一个提供了mail-transport-agent虚拟包的软件包,Debian软件包工具都认为满足了依赖关系.

mygrayv --\ mail-transport-agent
mygray --- Packages which depend on mail-transport-agent
mygray --\ Versions
mygrayp xmail 1.21-3sarge1
mygrayp masqmail 0.2.20-1sarge1
mygrayp courier-mta 0.47-4sarge4
mygrayp xmail 1.21-3
mygrayp ssmtp 2.61-2
mygrayp sendmail-bin 8.13.4-3
mygrayi postfix 2.1.5-9
mygrayp nullmailer 1.00RC7-22
mygrayp masqmail 0.2.20-1
mygrayp exim4-daemon-light 4.50-8
mygrayp exim4-daemon-heavy 4.50-8
mygrayp exim 3.36-16
mygrayp esmtp-run 0.5.0-4
mygrayp courier-mta 0.47-4

aptitude 的 Virtual Packages(虚拟包)选项可以用于快速定位提供同一功能的软件包列表. 这样当默认设置不能满足您的需求时, 可以使用这一功能快速的完成调整.

任务的概念

一个Debian系统通常用于完成某些任务.比如,您可能把它作为您的桌面系统, 或数据库服务器, 或 web 服务器, 邮件服务器, 等等. Debian提出的任务的概念是指满足某种需求的一系列典型的软件包;上边的任务, 您可以通过安装一系列的软件包,来分别构建一个相应的服务器,或一个桌面环境.

mygray--\ Tasks
mygray --\ End-user
mygray --\ Desktop environment
mygrayp fortune-mod 1:1.99.1-2
mygrayp gdm 2.6.0.8-1
mygrayp gimp 2.2.6-1
mygrayp gnome 64
mygrayp gnome-desktop-environment 64
mygrayp kde 5:44
mygrayp kde-core 5:44
mygrayTasks are groups of packages which provide an easy way to select a
mygraypredefinedset of packages for a particular purpose.
mygrayIf you select a package, an explanation of its current state will appear
mygrayin this space.

传统的程序tasksel提供了一个选择这些软件集合的界面,不过它的功能被集成到了aptitude中,并进行了扩展,因此aptitude更受欢迎.

任务就是选择一个抽象的概念,然后安装一系列的所必需的软包件,让本地系统可以运行为典型的环境.本质上来讲,任务与关联包(或伪软件包)相似,依赖于扮演着不同角色的所需软件包,它只是一个虚拟软件包,并没有相关的真实 deb 文件.另外,任务仅仅是个建议,用户可以不选择任务建议中的一些软件包.您可能会觉得更喜欢aptitude主选择屏幕最下边的任务界面.与处理软件包相似,任务可以视作单个的实体,或展开展示的建议的软件包.另外,用户也可将任务展开,检查一下建议安装的软件包列表.可以只简单的安装任务所包含软件包的一部分,而不是全部安装.您会发现aptitude中的任务有点象软件包的规则匹配.

也可以通过将任务描述文件放置到/usr/share/tasksel目录下10,来自定义任务.在tasksel软件包安装的README文件中提供了有关如何构建任务的文档11.

强大的命令行

aptitude提供了一个有趣的命令行模式,可以作为一个基本的嵌入模式来取代 apt-get 并具有 apt-cache 的查询能力,并在 aptitude 的交互接口增加了搜索判断12.

通常, aptitude的命令行请求形如:

# aptitude action [arguments...]

常用的一些操作:

# aptitude update * 更新软件包列表, 同图形界面的[u]键 *

# aptitude upgrade * 升级软件包, 等同与 apt-get upgrade *

# aptitude dist-upgrade *升级系统, 等同与 apt-get dist-upgrade *

# aptitude [ install | remove | purge ] pkg1 [pkg2...] * ...*

# aptitude search pattern1 [pattern2...] * ...*

就象 apt-get,可以在交互界面使用拼接字符将多个不同的查询动作置于同一命令行中.下面的情况中,安装A,删除B,清除C,保持D.'+'是冗余的,因为默认为安装.

# aptitude install A+ B- C_ D=

aptitude的命令行界面的优越之处在于在统一界面下集成了很多程序以及它们的功能.另外,响应安装请求时,aptitude 可以解决依赖问题,并且在不再需要这些软级包时,将其自动卸载.

操作日志

aptitude将您所有的请求动作写入/var/log/aptitude.这个文件可以方便的用于安装和删除软件的跟踪.如果您使用apt-get 安装软件,用dpkg卸载软件,aptitude的日志很快就会同步.另外,aptitude只记录请求.如果某一动作失败了,它是不会记录的.

2009年2月19日星期四

Ubuntu 安装、卸载软件的命令 apt-get/dpkg

更新软件信息数据库 apt-get update
进行系统升级 apt-get upgrade
搜索软件包 apt-cache search softname1 softname2 softname3……

安装软件 apt-get install softname1 softname2 softname3……
卸载软件 apt-get remove softname1 softname2 softname3……
卸载并清除配置 apt-get remove --purge softname1

安装deb软件包 dpkg -i xxx.deb
删除软件包 dpkg -r xxx.deb
连同配置文件一起删除 dpkg -r --purge xxx.deb

查看软件包信息 dpkg -info xxx.deb
查看文件拷贝详情 dpkg -L xxx.deb
查看系统中已安装软件包信息 dpkg -l
重新配置软件包 dpkg-reconfigure xxx

apt-get命令(转)

ubuntu下apt-get 命令参数

  常用的APT命令参数

  apt-cache search package 搜索包

  apt-cache show package 获取包的相关信息,如说明、大小、版本等

  sudo apt-get install package 安装包

  sudo apt-get install package - - reinstall 重新安装包

  sudo apt-get -f install 修复安装"-f = ――fix-missing"

  sudo apt-get remove package 删除包

  sudo apt-get remove package - - purge 删除包,包括删除配置文件等

  sudo apt-get update 更新源

  sudo apt-get upgrade 更新已安装的包

  sudo apt-get dist-upgrade 升级系统

  sudo apt-get dselect-upgrade 使用 dselect 升级

  apt-cache depends package 了解使用依赖

  apt-cache rdepends package 是查看该包被哪些包依赖

  sudo apt-get build-dep package 安装相关的编译环境

  apt-get source package 下载该包的源代码

  sudo apt-get clean && sudo apt-get autoclean 清理无用的包

  sudo apt-get check 检查是否有损坏的依赖

  其中:

  1 有sudo的表示需要管理员特权!

  2 在Ubuntu中命令后面参数为短参数是用“-”引出,长参数用“――”引出

  3 命令帮助信息可用man 命令的方式查看或者

  命令 -H(――help)方式查看

  4 在man命令中需要退出命令帮助请按“q”键!!

  选项 含义 作用

  sudo -h Help 列出使用方法,退出。

  sudo -V Version 显示版本信息,并退出。

  sudo -l List 列出当前用户可以执行的命令。只有在sudoers里的用户才能使用该选项。

  sudo -u username|#uid User 以指定用户的身份执行命令。后面的用户是除root以外的,可以是用户名,也可以是#uid。

  sudo -k Kill 清除“入场卷”上的时间,下次再使用sudo时要再输入密码。

  sudo -K Sure kill 与-k类似,但是它还要撕毁“入场卷”,也就是删除时间戳文件。

  sudo -b command Background 在后台执行指定的命令。

  sudo -p prompt command Prompt 可以更改询问密码的提示语,其中%u会代换为使用者帐号名称,%h会显示主机名称。非常人性化的设计。

  sudo -e file Edit 不是执行命令,而是修改文件,相当于命令sudoedit。

Ubuntu 中国官方源

Ubuntu 中国官方源,服务器位于上海,也是电信网络。

deb http://cn.archive.ubuntu.com/ubuntu gutsy main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu gutsy main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu gutsy-backports main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu gutsy-backports main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu gutsy-proposed main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu gutsy-proposed main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu gutsy-security main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu gutsy-security main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu gutsy-updates main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu gutsy-updates main restricted universe multiverse