关羽、张飞的武功的来历

看三国最让人不解的是那些超一流武将从一登场就有超一流的武功,至于这些武功是怎么来的,罗老先生却惜墨如金,不像金庸的人物,武功都是一天天炼出来的。即使如全庸金康之流,笔下人物也还能喝点蛇血什么的,内功一下暴涨60年,总算有个交待。

三国武将的武功自然不是喝蛇血喝出来的,那是不是一天天炼出来的呢?武将之中,张飞关羽的早期经历写的稍微多一点,我们就以这哥俩为例作一分析。

张飞简历:“某姓张,名飞,字翼德。世居涿郡,颇有庄田,卖酒屠猪,专好结交天下豪杰。恰才见公看榜而叹,故此相问。”

关羽简历:“吾姓关,名羽,字长生,后改云长,河东解良人也。因本处势豪,倚势凌人,被吾杀了;逃难江湖,五六年矣。今闻此处招军破贼,特来应募。”

两位都没有提自己的武功,连“自幼习武”这句都没说。更重要的是随后的情节。刘关张决定起兵后,“云长造青龙偃月刀,又名”冷艳锯“,重八十二斤。张飞造丈八点钢矛。”你看,在这之前,两位连兵器都没有。关羽还好说,毕竟扛着八十二斤的大刀逃难有点困难。张飞就不该了,有钱有房,要是练武,不至于连一杆像样的矛都造不起。

可见他们平时并不练武。

那关羽张飞的武功到底是怎么来的呢?

他们的武功来自他们的职业!

据北京体育大学武术学院的网站,“马克思主义认为,人类的生产活动是最基本的实践活动,是决定其他一切活动的东西。武术的产生,从来就是有生产活动决定的。”

关羽张飞也不能有例外。

汉末,武术还没有系统化,不具备通过向师傅学习成为武林高手的条件。要想成为高手,一要有天生体格,二要悟性高,能从生产活动中领悟攻防技术。以此为指导,我们来分析张飞关羽的武功与职业的关系。

张飞的主要职业是杀猪。杀猪要用杀猪刀。和张飞的兵器不同,但技术特点一致。杀猪时不是用杀猪刀砍,而是捅。所以本质上杀猪刀不是刀,而是和矛类似。猪杀死后要去毛,去毛前要给猪充气,使皮肤绷紧。通常做法是用铁钎从后啼一直捅到腹部,然后拔出铁钎,往腹部充气。张飞没有打气筒,只能用嘴吹。铁钎就是小号的矛,所以张飞自然选矛作武器。

另外,长期给猪吹气,张飞练就了巨大的肺活量,才能在长板坡前一声吼,吓退曹操百万兵。

三国演义中没有提关羽的职业,但大家都知道,关羽在逃亡途中卖过枣。卖了五六年的枣,怎么说也是一种职业了。关羽不擅生意,买不出好价钱,但仍能维持生计,说明其进货渠道不一般。如果正常付款进货,本钱早就陪光了。关羽有案在身,不大可能去抢枣。再说,要抢也应该去抢钱。关羽只能自己去枣园打枣。枣园是地主豪强的,打他的枣就是斗地主,不用付钱,心安理得。为了少惹麻烦,关羽总是穿一身绿,见有人来,便爬到枣树上躲起来。一身绿衣,一张枣红脸,藏在枣树上谁也别想看着。

想必关羽不会爱惜枣树,只顾拿大竹竿一通猛打。上高中时半夜拿大竹竿偷过学校的柿子,深知在枝叶中挥动竹竿需要多大的力气。关羽如此打了五六年,练就无穷臂力。从技术特点看,挥动竹竿和挥动大刀完全相同。所以关羽选择了八十二斤的大刀。

打枣成就了关羽的武功,也造成关羽武功的严重缺陷。

关羽曾和赵云在牛头山打过一仗。这场战斗发生在一条山道上,山道两旁全是树。

“关羽奋然上马,倒提青龙刀,凤目圆睁,蚕眉直竖,直冲卧牛山。遍山树枝如波开浪裂,关公径奔一白杨树。赵云见关羽不来斗将,却入无人之境,方欲问时,关羽赤兔马快,早到树前,手起一刀,将白杨树折做两段。”

关羽的武功源自打枣。在冲锋时精神高度集中,道旁的树木钩起了本能反应,挥刀直奔树木而去,大大出了一回洋相。

关羽也因此弱点被擒,丢了性命。

关羽冲出麦城,沿一条山路逃跑,不想赤兔马被绊倒,关羽落马被马忠所擒。关羽即使落马,但功夫仍在,马忠乃无名之辈,如何擒得关羽?想马超也曾步战,杀得韩遂及手下五将血肉横飞。关羽虽疲惫,对付一个马忠理应绰绰有余。怎奈又是山路,山路两旁又是树木。关羽举刀欲战,却见两旁树木众多,一时不知该砍哪棵。犹豫半分钟,早被马忠绑定。

总结:通过分析关羽张飞的武功特点及典型战例,我们得出结论,关羽张飞的武功源自他们的职业。我们相信该结论可推广到所有三国武将。根据此结论,我们可以分析各武将的弱点,从而设计合理战术,轻松打败他们。

交叉编译jpeg库的问题

[code]./configure –enable-shared –enable-static[/code]
加了 –enable-shared 或者 –enable-statics 就会报
[code]ltconfig: cannot guess host type; you must specify one[/code]
方法是安装最新版的 libtool 然后
[code]
cp /usr/share/libtool/config.sub .
cp /usr/share/libtool/config.guess .
./configure –enable-shared –enable-static
make; make install
[/code]

洪七公生平简介

  洪七公原名洪七,他不光杀了王重阳,江南5怪其实都是他杀的
  
  王重阳的秘密是他偷走了辟邪剑法,然后就亲自练了,他无法躲闪林朝英的纠缠,就只好以 “国将不国,何以家为” 的口号躲避她,由于练了辟邪剑法,王重阳轻功极高,再加上他爱吃素食,整天神神秘秘的,所以大家叫他 “中神通。”
  
  中神通有一个徒弟,一个传授了辟邪剑法的徒弟,就是洪七, 由于洪七也自宫了,所以中神通叫他 “洪七公公”
  
  师徒二人惺惺相惜,到也相处的融洽,直到有一天,中神通的辟邪剑法练到了东方不败的地步,他开始把洪( 练辟邪剑法的人最终会发展到两个层次,一是东方不败的类型,就是对别人有性骚扰的, 二是岳不群,林平之类型的,对别人无害)
  
  洪七公公迫不得己杀了中神通,碰巧给江南7怪撞见了,7怪看到辟邪剑法怪异的情景,急忙逃跑了, 而洪七公公只看到了7个人的身影,作贼心虚,就没有追赶。
  
  江南7怪害怕辟邪剑法,一直跑到了大漠,于是就躲了起来,他们一边训练郭靖,一边苦练功夫,时刻准备敌人来灭口,这一躲就是18年.
  
  中神通已死,全真教也待不下去了,洪七公公还要暗中查访那七个人,到哪里立足呢?,丐帮是个好去处,入丐帮的时候,他将名字中一个’公‘字去掉,就成了洪七公
  
  洪七公生性好学,每天勤学苦练,他一腔精力无处发泄,加上辟邪剑法的轻功,洪七公很快就练就了打狗棒法和降龙18掌,并且当上了丐帮帮主

Leopard 编译 universal php5

因为自带的php没有gd所以要重编
因为服务器用的是x86_64 httpd+php5所以要编 x86_64
因为自带的httpd+php是 universal ,所以要这样做
自带的httpd很好,所以不搞它了
参考:
ppc就不要了

export MACOSX_DEPLOYMENT_TARGET=10.5
export ARCHFLAGS=’-arch i386 -arch x86_64′
export CFLAGS=’-arch i386 -arch x86_64 -O3 -pipe’
export CXXFLAGS=’-arch i386 -arch x86_64 -O3 -pipe’
export LDFLAGS=’-arch i386 -arch x86_64 -bind_at_load’

make时候可能出现这样的提示:

gcc-4.0: -E, -S, -save-temps and -M options are not allowed with multiple -arch flags

在 configure 的时候加上 –disable-dependency-tracking

‘./configure’ \
‘–prefix=/usr’ \
‘–with-config-file-path=/private/etc’ \
‘–sysconfdir=/private/etc’ \
‘–with-apxs2=/usr/sbin/apxs’ \
‘–with-iconv=/usr/local’ \
‘–with-mhash=/usr/local’ \
‘–with-gettext=/usr/local’ \
‘–with-mysql=/usr/local’ \
‘–with-mysqli=/usr/local/bin/mysql_config’ \
‘–with-pdo-mysql=/usr/local’ \
‘–with-openssl=/usr’ \
‘–with-zlib=/usr’ \
‘–with-curl=/usr’ \
‘–with-gd’ \
‘–with-png-dir=/usr/X11’ \
‘–with-jpeg-dir=/usr/local’ \
‘–with-freetype-dir=/usr/X11’ \
‘–with-xpm-dir=/usr/X11’ \
‘–enable-gd-native-ttf’ \
‘–enable-mbstring’ \
‘–enable-sockets’ \

已有的库就不重装了,只需自己安装 gawk, libiconv, mhash, gettext, mysql, jpeg
需要特别注意:系统自带的liviconv有问题,需要自己编一份到/usr/local(小心不要覆盖以前的,否则可能连sh都不能执行了),php在configure时就算指定了 –with-iconv=/usr/local 它还是首先找到 /usr/include/iconv.h ,而且 –help 里只提到 –with-iconv-dir=,应该使用 –with-iconv=
解决方法:

sh#mv /usr/include/iconv.h /usr/include/iconv.h.bak

iPhone的通讯录以拼音排序

在iphone中安装php
将代码保存为py.php
ssh 登陆iphone或者在iphone安装Term-vt100
执行 php py.php 等待重启完成
结束

支持的中文貌似很有限,拼音表的处理看来要自己搞一个了,这个在网上找的。

py.php

[code lang=”php”]

* @version 0.2beta
*/
error_reporting(0);
$sqlite_file = ‘/private/var/root/Library/AddressBook/AddressBook.sqlitedb’; // 1.1.3 以前的版本
$sqlite_file = ‘/private/var/mobile/Library/AddressBook/AddressBook.sqlitedb’; // 1.1.3 以后的版本
if (!file_exists($sqlite_file)) {
println(“SQLiteDB:File Notfound.”);
die;
}
$dsn = “sqlite:{$sqlite_file}”;
try {
$dbh = new PDO($dsn);
println(“Open {$dsn} OK.”);
} catch (Exception $e) {
println(“Open {$dsn} ERROR:”.$e->getMessage());
die;
}
$stmt = $dbh->query(“SELECT ROWID, First, Last FROM ABPerson”);
while ($person = $stmt->fetch(PDO::FETCH_ASSOC)) {
$first = ucfirst(Py::parse(u2g($person[‘First’])));
$last = ucfirst(Py::parse(u2g($person[‘Last’])));
$dbh->query(“update ABPerson set FirstSort='{$first}’, LastSort='{$last}’ where ROWID = {$person[‘ROWID’]} ;\n”);
println(“{$person[‘ROWID’]}\tOK.”);
}
println(“done.”);
println(“rebooting…”);
system(‘launchctl stop com.apple.SpringBoard’);

function u2g($str) {
return iconv(‘utf-8’, ‘gbk’, $str);
}

function println($str) {
echo “$str\n”;
flush();
}

class Py {
private static $table = array(
array(“a”,-20319),
array(“ai”,-20317),
array(“an”,-20304),
array(“ang”,-20295),
array(“ao”,-20292),
array(“ba”,-20283),
array(“bai”,-20265),
array(“ban”,-20257),
array(“bang”,-20242),
array(“bao”,-20230),
array(“bei”,-20051),
array(“ben”,-20036),
array(“beng”,-20032),
array(“bi”,-20026),
array(“bian”,-20002),
array(“biao”,-19990),
array(“bie”,-19986),
array(“bin”,-19982),
array(“bing”,-19976),
array(“bo”,-19805),
array(“bu”,-19784),
array(“ca”,-19775),
array(“cai”,-19774),
array(“can”,-19763),
array(“cang”,-19756),
array(“cao”,-19751),
array(“ce”,-19746),
array(“ceng”,-19741),
array(“cha”,-19739),
array(“chai”,-19728),
array(“chan”,-19725),
array(“chang”,-19715),
array(“chao”,-19540),
array(“che”,-19531),
array(“chen”,-19525),
array(“cheng”,-19515),
array(“chi”,-19500),
array(“chong”,-19484),
array(“chou”,-19479),
array(“chu”,-19467),
array(“chuai”,-19289),
array(“chuan”,-19288),
array(“chuang”,-19281),
array(“chui”,-19275),
array(“chun”,-19270),
array(“chuo”,-19263),
array(“ci”,-19261),
array(“cong”,-19249),
array(“cou”,-19243),
array(“cu”,-19242),
array(“cuan”,-19238),
array(“cui”,-19235),
array(“cun”,-19227),
array(“cuo”,-19224),
array(“da”,-19218),
array(“dai”,-19212),
array(“dan”,-19038),
array(“dang”,-19023),
array(“dao”,-19018),
array(“de”,-19006),
array(“deng”,-19003),
array(“di”,-18996),
array(“dian”,-18977),
array(“diao”,-18961),
array(“die”,-18952),
array(“ding”,-18783),
array(“diu”,-18774),
array(“dong”,-18773),
array(“dou”,-18763),
array(“du”,-18756),
array(“duan”,-18741),
array(“dui”,-18735),
array(“dun”,-18731),
array(“duo”,-18722),
array(“e”,-18710),
array(“en”,-18697),
array(“er”,-18696),
array(“fa”,-18526),
array(“fan”,-18518),
array(“fang”,-18501),
array(“fei”,-18490),
array(“fen”,-18478),
array(“feng”,-18463),
array(“fo”,-18448),
array(“fou”,-18447),
array(“fu”,-18446),
array(“ga”,-18239),
array(“gai”,-18237),
array(“gan”,-18231),
array(“gang”,-18220),
array(“gao”,-18211),
array(“ge”,-18201),
array(“gei”,-18184),
array(“gen”,-18183),
array(“geng”,-18181),
array(“gong”,-18012),
array(“gou”,-17997),

array(“gu”,-17988),
array(“gua”,-17970),
array(“guai”,-17964),
array(“guan”,-17961),
array(“guang”,-17950),
array(“gui”,-17947),
array(“gun”,-17931),
array(“guo”,-17928),
array(“ha”,-17922),
array(“hai”,-17759),
array(“han”,-17752),
array(“hang”,-17733),
array(“hao”,-17730),
array(“he”,-17721),
array(“hei”,-17703),
array(“hen”,-17701),
array(“heng”,-17697),
array(“hong”,-17692),
array(“hou”,-17683),
array(“hu”,-17676),
array(“hua”,-17496),
array(“huai”,-17487),
array(“huan”,-17482),
array(“huang”,-17468),
array(“hui”,-17454),
array(“hun”,-17433),
array(“huo”,-17427),
array(“ji”,-17417),
array(“jia”,-17202),
array(“jian”,-17185),
array(“jiang”,-16983),
array(“jiao”,-16970),
array(“jie”,-16942),
array(“jin”,-16915),
array(“jing”,-16733),
array(“jiong”,-16708),
array(“jiu”,-16706),
array(“ju”,-16689),
array(“juan”,-16664),
array(“jue”,-16657),
array(“jun”,-16647),
array(“ka”,-16474),
array(“kai”,-16470),
array(“kan”,-16465),
array(“kang”,-16459),
array(“kao”,-16452),
array(“ke”,-16448),
array(“ken”,-16433),
array(“keng”,-16429),
array(“kong”,-16427),
array(“kou”,-16423),
array(“ku”,-16419),
array(“kua”,-16412),
array(“kuai”,-16407),
array(“kuan”,-16403),
array(“kuang”,-16401),
array(“kui”,-16393),
array(“kun”,-16220),
array(“kuo”,-16216),
array(“la”,-16212),
array(“lai”,-16205),
array(“lan”,-16202),
array(“lang”,-16187),
array(“lao”,-16180),
array(“le”,-16171),
array(“lei”,-16169),
array(“leng”,-16158),
array(“li”,-16155),
array(“lia”,-15959),
array(“lian”,-15958),
array(“liang”,-15944),
array(“liao”,-15933),
array(“lie”,-15920),
array(“lin”,-15915),
array(“ling”,-15903),
array(“liu”,-15889),
array(“long”,-15878),
array(“lou”,-15707),
array(“lu”,-15701),
array(“lv”,-15681),
array(“luan”,-15667),
array(“lue”,-15661),
array(“lun”,-15659),
array(“luo”,-15652),
array(“ma”,-15640),
array(“mai”,-15631),
array(“man”,-15625),
array(“mang”,-15454),
array(“mao”,-15448),
array(“me”,-15436),
array(“mei”,-15435),
array(“men”,-15419),
array(“meng”,-15416),
array(“mi”,-15408),
array(“mian”,-15394),
array(“miao”,-15385),
array(“mie”,-15377),
array(“min”,-15375),
array(“ming”,-15369),
array(“miu”,-15363),
array(“mo”,-15362),
array(“mou”,-15183),
array(“mu”,-15180),
array(“na”,-15165),
array(“nai”,-15158),
array(“nan”,-15153),
array(“nang”,-15150),
array(“nao”,-15149),
array(“ne”,-15144),
array(“nei”,-15143),
array(“nen”,-15141),
array(“neng”,-15140),
array(“ni”,-15139),
array(“nian”,-15128),
array(“niang”,-15121),
array(“niao”,-15119),
array(“nie”,-15117),
array(“nin”,-15110),
array(“ning”,-15109),
array(“niu”,-14941),
array(“nong”,-14937),
array(“nu”,-14933),
array(“nv”,-14930),
array(“nuan”,-14929),
array(“nue”,-14928),
array(“nuo”,-14926),
array(“o”,-14922),
array(“ou”,-14921),
array(“pa”,-14914),
array(“pai”,-14908),
array(“pan”,-14902),
array(“pang”,-14894),
array(“pao”,-14889),
array(“pei”,-14882),
array(“pen”,-14873),
array(“peng”,-14871),
array(“pi”,-14857),
array(“pian”,-14678),
array(“piao”,-14674),
array(“pie”,-14670),
array(“pin”,-14668),
array(“ping”,-14663),
array(“po”,-14654),
array(“pu”,-14645),
array(“qi”,-14630),
array(“qia”,-14594),
array(“qian”,-14429),
array(“qiang”,-14407),
array(“qiao”,-14399),
array(“qie”,-14384),
array(“qin”,-14379),
array(“qing”,-14368),
array(“qiong”,-14355),
array(“qiu”,-14353),
array(“qu”,-14345),
array(“quan”,-14170),
array(“que”,-14159),
array(“qun”,-14151),
array(“ran”,-14149),
array(“rang”,-14145),
array(“rao”,-14140),
array(“re”,-14137),
array(“ren”,-14135),
array(“reng”,-14125),
array(“ri”,-14123),
array(“rong”,-14122),
array(“rou”,-14112),
array(“ru”,-14109),
array(“ruan”,-14099),
array(“rui”,-14097),
array(“run”,-14094),
array(“ruo”,-14092),
array(“sa”,-14090),
array(“sai”,-14087),
array(“san”,-14083),
array(“sang”,-13917),
array(“sao”,-13914),
array(“se”,-13910),
array(“sen”,-13907),
array(“seng”,-13906),
array(“sha”,-13905),
array(“shai”,-13896),
array(“shan”,-13894),
array(“shang”,-13878),
array(“shao”,-13870),
array(“she”,-13859),
array(“shen”,-13847),
array(“sheng”,-13831),
array(“shi”,-13658),
array(“shou”,-13611),
array(“shu”,-13601),
array(“shua”,-13406),
array(“shuai”,-13404),
array(“shuan”,-13400),
array(“shuang”,-13398),
array(“shui”,-13395),
array(“shun”,-13391),
array(“shuo”,-13387),
array(“si”,-13383),
array(“song”,-13367),
array(“sou”,-13359),
array(“su”,-13356),
array(“suan”,-13343),
array(“sui”,-13340),
array(“sun”,-13329),
array(“suo”,-13326),
array(“ta”,-13318),
array(“tai”,-13147),
array(“tan”,-13138),
array(“tang”,-13120),
array(“tao”,-13107),
array(“te”,-13096),
array(“teng”,-13095),
array(“ti”,-13091),
array(“tian”,-13076),
array(“tiao”,-13068),
array(“tie”,-13063),
array(“ting”,-13060),
array(“tong”,-12888),
array(“tou”,-12875),
array(“tu”,-12871),
array(“tuan”,-12860),
array(“tui”,-12858),
array(“tun”,-12852),
array(“tuo”,-12849),
array(“wa”,-12838),
array(“wai”,-12831),
array(“wan”,-12829),
array(“wang”,-12812),
array(“wei”,-12802),
array(“wen”,-12607),
array(“weng”,-12597),
array(“wo”,-12594),
array(“wu”,-12585),
array(“xi”,-12556),
array(“xia”,-12359),
array(“xian”,-12346),
array(“xiang”,-12320),
array(“xiao”,-12300),
array(“xie”,-12120),
array(“xin”,-12099),
array(“xing”,-12089),
array(“xiong”,-12074),
array(“xiu”,-12067),
array(“xu”,-12058),
array(“xuan”,-12039),
array(“xue”,-11867),
array(“xun”,-11861),
array(“ya”,-11847),
array(“yan”,-11831),
array(“yang”,-11798),
array(“yao”,-11781),
array(“ye”,-11604),
array(“yi”,-11589),
array(“yin”,-11536),
array(“ying”,-11358),
array(“yo”,-11340),
array(“yong”,-11339),
array(“you”,-11324),
array(“yu”,-11303),
array(“yuan”,-11097),
array(“yue”,-11077),
array(“yun”,-11067),
array(“za”,-11055),
array(“zai”,-11052),
array(“zan”,-11045),
array(“zang”,-11041),
array(“zao”,-11038),
array(“ze”,-11024),
array(“zei”,-11020),
array(“zen”,-11019),
array(“zeng”,-11018),
array(“zha”,-11014),
array(“zhai”,-10838),
array(“zhan”,-10832),
array(“zhang”,-10815),
array(“zhao”,-10800),
array(“zhe”,-10790),
array(“zhen”,-10780),
array(“zheng”,-10764),
array(“zhi”,-10587),
array(“zhong”,-10544),
array(“zhou”,-10533),
array(“zhu”,-10519),
array(“zhua”,-10331),
array(“zhuai”,-10329),
array(“zhuan”,-10328),
array(“zhuang”,-10322),
array(“zhui”,-10315),
array(“zhun”,-10309),
array(“zhuo”,-10307),
array(“zi”,-10296),
array(“zong”,-10281),
array(“zou”,-10274),
array(“zu”,-10270),
array(“zuan”,-10262),
array(“zui”,-10260),
array(“zun”,-10256),
array(“zuo”,-10254)
);

private function __construct() {}

private static function get($num) {
if($num > 0 && $num < 160){ return chr($num); } elseif($num < -20319 || $num > -10247) {
return ”;
} else {
for ($i = count(self::$table)-1; $i>=0; $i–) {
if(self::$table[$i][1] <= $num) break; } return self::$table[$i][0]; } } public static function parse($str) { if (empty($str)) { return ''; } $r=""; for($i = 0; $i < strlen($str); $i++) { $p = ord(substr($str, $i, 1)); if($p > 160){
$q = ord(substr($str, ++$i, 1));
$p = $p * 256 + $q – 65536;
}
$r .= self::get($p);
}
return $r;
}
}
?>
[/code]

—-
update 把重起iphone改为重启SpringBoard
update 修正代码中一个逻辑错误和改进一个描述 2008/4/6
update iphone 1.1.3 以后,数据库地址改变

dpkg-divert

换了显卡 ati(fglrx) -> nvidia

安装 deb 包 提示错误 :

I too am having major pains installing the nvidia drivers. Now, it’s partially my fault, as I had an ATI card in and changed them out. But aside from that, whenever I try to do ‘apt-get install nvidia-glx’, I get the following error:

dpkg-divert: `diversion of /usr/lib/libGL.so.1 to /usr/lib/nvidia/libGL.so.1.xlibmesa by nvidia-glx’ clashes with `diversion of /usr/lib/libGL.so.1 to /usr/lib/fglrx/libGL.so.1.xlibmesa by xorg-driver-fglrx’
dpkg: error processing /var/cache/apt/archives/nvidia-glx_1.0.8774+2.6.17.5-11_i386.deb (–unpack):
subprocess pre-installation script returned error exit status 2
Errors were encountered while processing:
/var/cache/apt/archives/nvidia-glx_1.0.8774+2.6.17.5-11_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

使用

dpkg-divert –remove /usr/lib/libGL.so.1
dpkg-divert –remove /usr/X11R6/lib/libGL.so.1

解决问题

都是dash惹的祸

困扰我一个春天的问题!
Ubuntu
某天下了一个nerolinux,然后安装
安装失败,提示某脚本出错,看上去是语法错误
出错嘛就删除了哦
结果删除失败,提示同样的错误
导致使用apt-get任何时候都提示这个错误
几经搞整以后造成“新立得”无法正常运行
准备好光盘准备重装了
同时继续寻找希望,搜编google没有正解
其中错误包括:

dpkg (子进程):无法执行新的 post-removal script: No such file or directory
dpkg: 作下列清理工作时发生错误:
子进程·post-removal script·返回了错误号·2
在处理时有错误发生:
————————————-
软件包nerolinux 需要重新安装,但是我无法找到相应的安装文件。

仔细看了一下错误文件
/var/lib/dpkg/info/nerolinux.xxx
打开一看,语法好像不太寻常,我看到了 function 字样
再看头部 #!/bin/sh
改为 #!/bin/bash 后解决问题
ls -l /bin/sh 这个东西是链接到 dash 而不是 bash的
自从ubuntu 6.10 开始就是这样,很让人头痛,很多脚本运行有问题
见过有人为了装一个软件先把 bash->sh 装完了再 dash->sh 回去

妈B的,不改回去了,也没见哪个脚本运行不正常的!
最后,不知道这个dash是啥东东,本来想大骂一顿的,不过…… 还是算了……

ssh SendEnv 问题

远程主机不支持 zh_CN.UTF-8 我机器确是
ssh时:

debug1: Sending environment.
debug1: Sending env LANG = zh_CN.UTF-8
debug1: Sending env LC_CTYPE = zh_CN.UTF-8

造成远程很多程序不能运行

我认为既是远程,就不管那么多了,语言环境随它去比较好

修改
/etc/ssh/ssh_config
注销掉 SendEnv LANG LC_*
即可