Jan 08

前几天一个同事在服务器上务操作,生成了一个以"-"开始的文件.问我怎么删除.很容易想到的方法是 加引号 rm "-xxx",不行.再来加个转意符 rm \-xxx 也不行.

[more..]

Dec 28

刚才在#gentoo-cn 的irc里有个Guest10086的人问为啥一个目录需要(+x)execute权限,可能很多人都会觉得奇怪.为什么需要.记得以前也有过同样的疑问.今天google了一把找到了原因.

The chdir() system call requires execute permission on a directory.  Of course a directory isn't really a program that you can run, even if it has execute permission.  The execute bit is reused rather than waste space with additional permission bits. Besides controlling a user's ability to cd into some directory, the execute permission is required on a directory to use the stat() system call on files within that directory.  The stat() system called is used to access the information in a file's inode, and must be done before you can open or delete (via the unlink() system call) that file.  Because of its role in file access the execute bit on a directory is sometimes called search permission.  For example, to read a file foo/bar, you must have read permission

[more..]

Dec 17
在xfce4中可以方便的自定义自己的快捷键。最方便的一种方式就是通过xfce4的keyboard preferences来设置。添加一个自己的配置然后就可以修改添加自己的快捷键了。设置的时候也很简单,选择一个命令,然后再设置键值,只要按下相应的快捷键xfce4会自动捕捉到键值,非常的方便。
xfce4 keyboard preferences
但是你要修改一些系统定义的快捷键就不能在这里设置了。

[more..]

Nov 19
       记得以前有装过一次64位的ubuntu.有很多软件不能装。而且64位的mplayer也不好播放real。要自己安装解码器。所以就没有再装过64位 的linux.后来看到gentoo区里很多人用64位的。所以后来就在本本上装了64位的gentoo。那个时候还是装的32位的mplayer- bin版本。后来发现直接装mplayer加上real的use就可以正常的播放real视频了。不过最近real被unmask了。所以你现在装的64 位gentoo通过添加real到/etc/portage/package.use里。就不能启用了。

[more..]

Nov 01
    内核2.6.27发布也有一段时间了。对于新本本来说还是决定升级一下。升级之后大部都正常,alsa,wireless。不过原来2.6.26的时候 Fn+Home,End调节屏幕亮度的时候是正常的。升级之后不能用了。检查了一下ACPI里的选项都选上了。thinkpad_acpi也选上了。
   
    其他的Fn+up,down控制sonata的也是正常的。不过对比了一下2.6.26的acpi里的配置少了一个Video。难道2.6.27内核里没有了。后来vi了一下.config看里面切有这一项的啊。

   后来想了想肯定是acpi的video依赖其他选项没有满足。make menuconfig 的时搜索了一下ACPI_VIDEO.找到了它依赖的一些选项

[more..]

Sep 12
公司发存新程序由专人负责的。我需要讲war包上传到一个windws共享目录。由于现在换成Gentoo + xfce4环境了。Thunar又不支持 smb://协议。所以只有自己手动mount了。由于之前已经装过samba了。所以就直接mount一把。

gentoo ~ # mount -t smbfs -o username=aaa,password=aaa //10.200.106.252/updatepack release
ERROR: smbfs filesystem not supported by the kernel
Please refer to the smbmnt(8) manual page
smbmnt failed: 255

发现内核不支持smbfs.就重新编译了一下内核。

当看到SMB file system的时候看到OBSOLETE了,看来不建议使用了。建议使用CIFS,所以就把CIFS选上了。看起来是 SMBFS的继承者。

编译替换内核重启,再mount一把。郁闷的是还提示不行。但是选择CIFS的时候自己想当然的以为CIFS肯定支持SMBFS的。没想到就不是这么回 事。如果要mount -t smbfs就必须要选择 SMB file system support 才行。当时就只好用vbox里的windows去访问共享目录了。不过不知道为什么出奇的慢。100M的局域网拷贝十几M的包要20分钟(Orz)。

[more..]

Sep 07
     公司机器也换成Gentoo了。DE也用回喜欢的Xfce4了。家里的本本配置比较好所以当时装了gnome-light.不过我觉得自己还是更喜欢xfce所以昨天就把gnome-light清理掉了。
     emerge -C gnome-light 之后好好把world文件清理了一下。这个要感谢 oceanboo 上周的耐心讲解.让我明白了world的妙处。不是随便emerge 就可以emerge 出一个world的。原来的一些依赖冲突的lib就直接emerge 了。没有加 --oneshot这个参数。以前也一点不明白这个参数。所以我现在这个gnome-light的环境真是很不干净。所以来了个大清理。在world里只 留下自己需要的。其他拿不准了也通通干掉了。来了个彻彻底底的emerge --depclean.顺便也升级了一下gcc, xorg-x11。gcc升级到4.2.4,xorg-x11升级到了7.3
     在经过比较漫长的emerge,主要是emerge gcc比较慢。emerge xfce4倒还比较慢。毕竟比起gnome轻嘛。一切都还算比较顺利。rc.conf 里把Gnome换成Xfce4 登陆 startx.正常进入了(没用dm?删除gnome-light的时候把gdm也一起干掉了)。
    说了这么多现在才进入主题。进入之后其他都很正常就是xfce的terminal 很慢。在最小化后。再还原的时候那个慢啊。要4-5秒时间。真是诡异。其他程序Thunar,Firefox,Eclipse 这些都正常。反应很快的。刚开始还以为是升级xorg的时候有些包没有升级造成的。找了好久和xorg相关的包都重新unmask,升级一把。没有升级的 重新emerge一下。还是没用。后来google一下才发现是xfce的terminal的bug.

[more..]

Aug 29
昨天更新了一个Freebsd服务器

FreeBSD 7.0-RELEASE-p2 FreeBSD 7.0-RELEASE-p2 #0: Wed Jun 18 07:33:20 UTC 2008 root@i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC i386

dev# portupgrade -a

更新之后发现apache22不能restart了。原来是mod_python3挂了。发现被删除了不知道为啥。所以就重装。

dev# cd /usr/ports/www/mod_python3
dev# make install clean

然后就出错了。详细错误信息忘了记下来了。其中有这么一行是这样的。

apxs:Error: Command failed with rc=65536

然后google这个错误居然在trac的wiki里找到了。

http://trac.edgewall.org/wiki/TracOnOsxMacPorts

这里是macports里的mod_python3,感觉应该一样吧。马上按里的的方法修改。问题依旧啊。:(
然后又在上面这个页面时提到的一个链接的评论里找到了答案。
http://boorad.weebly.com/1/post/2008/01/wrastling-macports-mod_python25.html

这人估计和我一样找到了这里。他给了个mailist的解决方法

[more..]

Aug 29
现在安装的autounmask有个bug,记得2007.0的时候是没有问题的。现在的2008.0装过几次都是有这个bug的。
详见 : http://bugs.gentoo.org/show_bug.cgi?id=216484

原因就是autounmask脚本没有正确的取到系统的arch. /usr/bin/autounmask

my $arch                = $pxs->getArch();

这里返回的是"~", 其中一种方法就是把你的arch写在这里。改成

my $arch                = '~amd64';

x86的改成

my $arch                = '~x86';

当然你也可以不修改这个脚本。就是升级一下dev-perl/PortageXS到0.02.08
不过你要手动添加以下内容到/etc/portage/package.keywords

dev-perl/PortageXS ~amd64

[more..]

May 13
前两周就将公司的Ubuntu 7.10 升级到 8.04了,升级过程很顺利。只是我用的是英文的locale.所以原来配置的fcitx输入法不能调出来了。还有就是后来重启的时候选择8.04的新内核2.6.24就不能启动报 :
revalidation failed (error=-5)
的错误.到网上查了一下解决了。

[more..]