都是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_*
即可

想给google投简历

随便输了一下 :www.google.cn/hr
结果输成了 www/google.cn/hr
奇迹出现了,直接眺到了 http://www.baidu.com/
算了,放弃了。

研究了一下,应该是firefox自动调用google的“手气不错”,但是结果确不是这样,放弃了。

————–

研究了二下,原来在google搜索www,第一个结果是baidu,然后被笑火星……

再谈 jre / ZendStudio 中文字体问题

找了若干资料,终于有了结果
原来如此简单:

把 Courier New 的几个字体文件 copy 到 jre/lib/fonts/

cd xxx/jre/lib/fonts
mkfontscale
cp fonts.scale fonts.dir
cd ../
cp fontconfig.properties.src fontconfig.properties
vi fontconfig.properties

修改相关位置:

monospaced.plain.latin-1=-monotype-courier new-medium-r-normal–0-0-0-0-m-0-iso8859-1
monospaced.bold.latin-1=-monotype-courier new-bold-r-normal–0-0-0-0-m-0-iso8859-1
monospaced.italic.latin-1=-monotype-courier new-medium-i-normal–0-0-0-0-m-0-iso8859-1
monospaced.bolditalic.latin-1=-monotype-courier new-bold-i-normal–0-0-0-0-m-0-iso8859-1

最后再 cp 一个你喜欢的中文字体到 xxx/jre/fonts/fallback/
打开 ZDE,设置字体为 monospaced
这下爽了,我顶你个肺!

注意:此方法只在 Ubuntu 下测试通过,另外 Windows 是不适用的,如果是suse或者redhat之类的系统,主意看 xxx/jre/lib 下面的fontconfig.xxxx 文件,与当前系统相关做相应的修改就可以(没试过)

相关网址:http://java.sun.com/j2se/1.5.0/docs/guide/intl/fontconfig.html

再说关于jre的字体问题

其实最简单的解决ZendStudio中文问题方法就是:
(ZDE自带了JRE)
Zendxxx/jre/lib/fonts/
目录下面建一个叫 fallback 的目录,然后 ln 或干脆 cp 一个中文字体进去就OK了,以前还去改什么字体配置文件,真傻B了!
同样sun-jre也是一样的,建立 fallback 目录。
这种方法对 jre1.5 一上版本有效,其他版本据说要修改 lib 下面某个 font开头的文件。

另外说一下,jre1.6 对文字的处理看上去好像调用了操作系统的东西,例如平滑效果。

不知道有没有高人能把 ZendStudio 里的文字效果做成和平果一样的,Courier New 的英文,黑体中文,平滑处理。平果唯一让我怀念的就是这个东西,写代码的时候心情高很多。

Zend Studio 错识文件的问题

ctrl+click 可以带到焦点的出处,但如果你曾经打开过一个有歧义的文件,它会一直错下去,即使你已经删除了那个文件,很让人抓狂。
有很多人会删除整个项目然后新建一个,不过所有的 “options” 都消失了。
正统的解决方法
1. 关闭 Zend Studio;
2. 删除 xxxxx/ZDE/config_xxx/caches/xxxx
3. 启动 Zend Studio;
4. 左点点;
5. 右看看;
6. 关了;
7. 再开;
……
N. 差不多恢复了吧?再不恢复就抱着爱机从20楼跳下去。

ActionScript 的字符替换

总之我是没有在帮助里找到,但感觉应该有才对
去google了一下:http://www.jurjans.lv/flash/RegExp.html 这个貌似很变态,但现在我要的只是一个简单的str_replace函数,想了一下,用了个比较变态的方法:

[code lang=”javascript”]
function str_replace(search, replace, subject) {
var slen = search.length;
var rstr = ”;
while (true) {
var find_idx = subject.indexOf(search);
if (-1 != find_idx) {
rstr += subject.substr(0, find_idx) + replace ;
subject = subject.substr(find_idx + slen);
} else {
return rstr + subject;
}
}
}
[/code]

Ubuntu 6.10 Edgy 下ZendStudio不能运行的问题。

升级完发现系统速度居然比6.06更快!
其他都还不错,只是ZDE不能运行了,出现以下错误信息:

Configuring the installer for this system’s environment…
nawk: error while loading shared libraries: libm.so.6: cannot open shared object file: No such file or directory
dirname: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
/bin/ls: error while loading shared libraries: librt.so.1: cannot open shared object file: No such file or directory
basename: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
dirname: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
basename: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
hostname: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory

Launching installer…

grep: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
/tmp/install.dir.9288/Linux/resource/jre/bin/java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory

尝试手动链接 /usr/lib/ 下的文件也不行,发现原来这些文件在 /lib/ 下都是存在的,google以后找到问题所在,然后看到 http://192.150.14.120/cfusion/knowledgebase/index.cfm?id=tn_18831 写的好像是叫修改版本号,具体的搞不懂 echo $LD_ASSUME_KERNEL 也是空的,最后还是注释刁解决问题:

修改 ZDE 把第1488行注释掉(可能是其他行)。

1448 #export LD_ASSUME_KERNEL=2.2.5

另外安装文件也有同样的问题,看引用文写了个脚本:

#!/bin/bash
if [ “x$1” == “x” ]
then
echo “usage: $0 filename”;
fi
newfile=”new_$1″;
cat $1 | sed “s/export LD_ASSUME_KERNEL/#xport LD_ASSUME_KERNEL/” > $newfile;
chmod +x $newfile;
echo $newfile;

保存为例如 newglibc

$chmod +x newglibc

以后遇到这种问题直接:

$ ./glibcFix ZendStudio-xxx.bin
new_ZendStudio-xxx.bin
$ ./new_ZendStudio-xxx.bin

就可以运行了

好像写得有点白痴,太无聊了吧,想多写两个字。