所有由smartyew发布的文章

修改脚本使cvs版本amule也能实现开机启动

由于各种各样的原因,我还是放弃了2.1.3版的amule,而选择了重新编译安装cvs版本。但是装好后发现原本可以开机自启动的amule-daemon不能自启动了,原因在于amule作者在cvs版本加入了一句i-would-marry -my-mule的启动选项,只有加入此句到命令后才能顺利启动,在此先对作者的幽默表示佩服,也对作者对于cvs版本的谨慎态度表示敬意,但是对于加入一句选项后给我这只菜鸟造成的不便也要表示一下小小的不满 言归正传,怎样才能让amule-daemon仍然能够自启动呢,当然是修改启动脚本了
代码:
sudo gedit /etc/init.d/amule-daemon作如下改动,将
代码:
ARGS=”–i-would-marry-my-mule”加入其中第一部分,使之成为如下形式
代码:
PATH=/bin:/usr/bin:/usr/local/bin/:/sbin/:/usr/sbin/ DAEMON=/usr/local/bin/amuled WEBDAEMON=/usr/local/bin/amuleweb ARGS=”–i-would-marry-my-mule”然后找到位于start()段中控制开始的脚本语句
代码:
start-stop-daemon –chuid $AMULED_USER –user $AMULED_USER –start –exec $DAEMON –background将其改为
代码:
start-stop-daemon –chuid $AMULED_USER –user $AMULED_USER –start –exec $DAEMON –background — $ARGSOK,小功告成
代码:
sudo /etc/init.d/amule-daemon start试试,你的最新版的爱骡已经在后台跑起来了哦

搞定adesklets!

刚刚开通了blog,心情那是相当舒畅,于是乎到几位前辈的blog里转了转,发现个好玩的东东
于是乎自己也想弄个玩玩,
于是乎到新立得里找到了adesklets的包装了,以为就万事OK了,结果发现什么都没有出现!
看了半天的man,终于知道原来还要装类似widget的desklets组件!
于是乎adesklets_installer,
出来一个互动选择界面,发现里面确有很多widget可选,不知道都是些什么,总不能一个个都试到吧, 于是乎到SF上adesktop的网页看了看,果然都有介绍,找到那个SystemMonitor载下来,默认的路径为$HOME/.desklets,
先看README,
云只用运行一个SH文件就OK了,
大喜,运行之,
提示问注册还是测试,直接注册,成功,
再次运行adesklets,
还是莫反应 咋回事!
重来,还是得先测试啊,一测试,问题就出来了,
提示找不到电池的信息文件,本人的台式机,哪来的电池,知道是配置文件的问题,打开config.txt瞅瞅,
果然说到可以通过comment掉电池相关的段落来取消这一设置,本人性急,索性把这一段删了, 保存后再来测试,又说温度信息也找不到,OK,一不做二不休,温度这段也给我拿下,
保存后go on,没有错误提示了!
再来adesklets,发现屏幕左上角有个影子闪了以下就没了,想起了man里看到的flickering problem
于是乎用–kde,–rox,–xfce4足个试,发现用–rox,–xfce4两个选项都可以成功,
费了老半天的周折,终于把这个小玩意呈现在自己的桌面上了!
下次截个图上来,今天先到这!

MSN Cartoon

MSN Cartoon是个不错的东东!但愿他们总能有不错的创意和免费的玩艺奉献给大家! 贴几张我用登记照做的Cartoon,个人比较喜欢这种美式风格的卡通,从笔触上的感觉有些像中国的老式漫画


刘备手稿出土,赵云竟然是…

2005年三月,中央政府的一支考古队伍将刘备墓出土, 发现了一大批东汉未年的文物。当中最叫人咋舌的, 是发现了汉先主刘备的手稿, 揭开了二千年来一个不为人知的秘密, 三国名将赵云,竟然是女扮男装的,而且与刘备有着不只是君臣的关系!

手稿中刘备多次提到与诸葛亮讨论赵云的名份问题。 可惜因为内部政策关系,官方只公开了部分的手稿内容,且不多提到关键内容。

可是有学者就本身三国广为人知的故事作出分析, 提出多点指出本身赵云的性别也是有迹可寻的,且看以下分析。

一、赵云廿十岁出头便跟着刘备,从界桥到长阪坡的时候十八年, 后来还跟着刘备、诸葛亮几次出访东吴,但照样年轻貌美,面孔白晰, 不象别的那些男人,胡子拉碴的。

二、长阪坡一战,刘备自己也把妻儿闲,反倒是赵云,单枪匹马七进七出,把小阿斗 救了出来, 这不是女人的母性是什?而且恶战当中,小阿斗不但不哭,反而睡得香甜, 试问哪个大男人有这样的本事?

三,赵云救出了小阿斗,回到刘备阵?。 刘备居然说出“小娃儿险折吾大将!”的说话, 再扔低自己的孩子?调赵云的重要性。 这分明是刘备无法用言语表?赵云对自己所奉献的感激, 只好扔阿斗表示赵云的在他心目中的重要性。  

四,赵云本身跟从公孙瓒,在北海救孔融一役中与刘备懈逅, 根据陈寿三国志的说法,刘备与赵云临别时“执云之手依依不舍”。 男人见到男人,顶多是识英雄重英雄,互相尊重,何来依依不舍? 可见赵云是一个清丽脱俗的美女。

五,赵云不愿意结婚,赵范要把守寡的嫂子介绍给赵云。 按照常理,赵云不愿意也就算了,但他竟然和和赵范翻脸, 逼得赵范再次反对刘备。 一个男人为甚么会对娶一个女子那么厌恶?这一点也是十分可疑的。

六、赵云是女扮男装,刘备、诸葛亮肯定是知道的, 所以刘备安排赵云保护家小,换了别人,关羽憋得红着脸, 既不忍心也不放心, 张飞又是粗人,不够细心,别的人就更信不过了。

七、赵云本领高强,对刘备这忠心耿耿,刘备、诸葛亮却一直不肯重用赵云, 极少给予赵云独领三军的机会。赵云从未试过当一城太守, 每次也只是跟随刘备当私人保镳。 如果说门第之见,那关、张不也是出身低微?如果说是不信任, 那也不会把一家老小的性命托付给赵云; 如果说不知道他的胆略,刘备自己不也说过“子龙一身都是胆”。 一个一身都是胆的武将为其么会不被重用?原因很简单, 就是刘备不太愿意自己的女人冒太多的险。

八、曹操在长阪坡为什下令不准放箭,只要活捉赵云? 如果说爱惜人才,文的如审配、 陈宫,武的有?良、文丑,还有活捉的吕布, 他都照杀可也,毫不在乎,为什这在乎赵云? 只要想想曹操是个花心的老色鬼,就该知道答案了。 曹操怎会知道这个秘密呢? 最大的可能该是徐庶告诉他的。

九,刘备在策封五虎将时,关羽曾大发雷霆,表示不与黄忠等老将为伍。 可是关羽在效力曹操时曾谦虚地说自己不如张飞勇猛, 试问一个如此谦虚的人为甚么会为与老将为伍发怒? 可见事实的真相是关羽根本不是为与老将为伍发怒,而是为与女子为伍而发怒。

十、正因为赵云是女扮男装,又长期跟随刘备, 所以和刘备的几个夫人也有恩恩怨怨。麋夫人跳井自杀,只是赵云一面之词, 死无对证,难保这不是争风吃醋,趁乱加害的一起谋杀。

十一、赵云和刘备的特殊关系,使他敢做别人不敢做的事。 跨江截阿斗,赵云作为一个武将,却能管刘备的家事,还能对孙夫人拔剑相向, 差一点把孙夫人逼得跳江,连张飞这个结义的大老粗都觉得过分了, 赵云却做得出,这完全由赵云在刘家的特殊地位所决定的。

十二、刘备去东吴娶亲,带着赵云去,诸葛亮给赵云三个锦囊, 过去的密信有蜡丸,或者象曹操那样送个盒子, 偏偏诸葛亮给赵云的却是女人用的锦囊, 本来送给别人女人的东西会惹得别人不高兴的,诸葛亮也知道这一点, 所以他在五丈原把女人的衣服送给司马懿,目的是为了激怒他。 可他送赵云锦囊,一个送得,一个收得,用心良苦,可见一斑。

十三、赵云之死,是给赵夫人用针扎死的,赵夫人为什这深仇大恨? 分析起来,一定是赵云为了掩人耳目,假意娶了亲, 还领养了两个孩子, 但赵夫人肯定是知道真相的,想到一辈子就这给骗了,能不生气吗?

所以说,赵云其实和圣女贞德一样,是个在乱世年头,敢于在男权社会中, 以自己本领和胆量展示自己才华的独特女性。

只是在那个封建社会里,她们只能乔装改扮, 扮演了一个扭曲的男性形象以逃避社会的排斥。 圣女贞德阻止了英国人的南侵, 历史性地拯救了整个法兰西。 赵云虽然没有圣女贞德般的影响力,可是两千年过去了, 她依然以特殊的魅力活在世人心里!

一次失败的glibc升级过程

一次失败的glibc升级过程
星期五, 四月 14, 2006, 08:58 AM – 编程技术
因为是覆盖安装,结果系统几乎不能用了。所以在这里给出正确的步骤:
关于gcc、glibc和binutils模块之间的关系,以及在现有系统上如何升级的总结

一、关于gcc、glibc和binutils模块之间的关系

1、gcc(gnu collect compiler)是一组编译工具的总称。它主要完成的工作任务是“预处理”和“编译”,以及提供了与编译器紧密相关的运行库的支持,如libgcc_s.so、libstdc++.so等。

2、binutils提供了一系列用来创建、管理和维护二进制目标文件的工具程序,如汇编(as)、连接(ld)、静态库归档(ar)、反汇编(objdump)、elf结构分析工具(readelf)、无效调试信息和符号的 工具(strip)等。通常,binutils与gcc是紧密相集成的,没有binutils的话,gcc是不能正常工作的。

3、glibc是gnu发布的libc库,也即c运行库。glibc是linux系统中最底层的api(应用程序开发接口),几乎其它任何的运行 库都会倚赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现,主要的如下:
(1)string,字符串处理
(2)signal,信号处理
(3)dlfcn,管理共享库的动态加载
(4)direct,文件目录操作
(5)elf,共享库的动态加载器,也即interpreter
(6)iconv,不同字符集的编码转换
(7)inet,socket接口的实现
(8)intl,国际化,也即gettext的实现
(9)io
(10)linuxthreads
(11)locale,本地化
(12)login,虚拟终端设备的管理,及系统的安全访问
(13)malloc,动态内存的分配与管理
(14)nis
(15)stdlib,其它基本功能

二、在现有系统上如何升级(redhat9上实践的)

1、升级这些库时,最好不要覆盖系统中缺省的;因为这些库,尤其是glibc库,是系统中最核心的共享库和工具,如果盲目覆盖,很可能导致整个系 统瘫痪,因为一般更新glibc库时,其它所有以来libc库的共享库都需要重新被编译一遍。因此,为了调试某个程序进入glibc时,最好把glibc 安装到/usr/local/lib下。

2、首先编译glibc库。注意最好令建立一个glibc-build的目录,configure时加上–enable-add-ons=linuxthreads选项。make install安装到/usr/local下。

3、修改gcc的spec文件(/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/specs),更改ld-linux.so.2为/usr/local/lib下的新的共享库装载器。

4、编译binutils库,此时被编译出的程序会连接到/usr/local/lib下的新的libc库。注意,在configure前,需要 设置ld缺省连接的路径(LIBRARY_PATH=/usr/local/lib:/lib:/usr/lib),否则binutils会 configure出错,找不到libc中的一些符号。具体步骤如下:
(1)export LIBRARY_PATH=/usr/local/lib:/lib:/usr/lib
(2)mkdir binutils-build && cd binutils-build
(3)../binutils-2.13.90.0.18/configure
(4)make
(5)make -C ld clean
(6)make -C ld LIB_PATH=/usr/lib:/lib:/usr/local/bin(设置编译后的ld的缺省库搜索路径,后面的比前面的优先级高)
(7)make install

三、总结

1、运行时,动态库的装载依赖于ld-linux.so.6的实现,它查找共享库的顺序如下:
(1)ld-linux.so.6在可执行的目标文件中被指定,可用readelf命令查看
(2)ld-linux.so.6缺省在/usr/lib和lib中搜索;当glibc安装到/usr/local下时,它查找/usr/local/lib
(3)LD_LIBRARY_PATH环境变量中所设定的路径
(4)/etc/ld.so.conf(或/usr/local/etc/ld.so.conf)中所指定的路径,由ldconfig生成二进制的ld.so.cache中

2、编译时,搜索库的路径顺序如下:
(1)ld-linux.so.6由gcc的spec文件中所设定
(2)gcc –print-search-dirs所打印出的路径,主要是libgcc_s.so等库。可以通过GCC_EXEC_PREFIX来设定
(3)LIBRARY_PATH环境变量中所设定的路径,或编译的命令行中指定的-L/usr/local/lib
(2)binutils中的ld所设定的缺省搜索路径顺序,编译binutils时指定。(可以通过“ld –verbose | grep SEARCH”来查看)

3、二进制程序的搜索路径顺序为PATH环境变量中所设定。一般/usr/local/bin高于/usr/bin

4、编译时的头文件的搜索路径顺序,与library的查找顺序类似。一般/usr/local/include高于/usr/include