作者:
wd 发表于:2009-01-03 01:41
版权声明:可以任意转载,转载时请务必以超链接形式标明文章
原始出处[http://wdicc.com/convert-reiserfs-t-ext4/]和作者信息及本版权声明。
->
我的分区都是 reiserfs 的。这次 ext4 吵的这么火爆,实在忍不住了,就换过去了。
我的磁盘比较小,转换还费了点功夫。先找一个和 / 分区差不多的分区,用来放 / 的数据。我找的是 /home ,然后把 / /home 之外的分区转换了。方法就是先把其中一个的数据弄到其它的上面,然后重新格式化,然后再把数据弄回来。
可以用 cp -p /source /dest 的方式,也可以用 tar cpf - –exclude=/home | tar xpf - 的方式,后面这个方法可以支持过滤掉某个目录不考。
这些都弄好之后就可以弄 / /home 了。先把 /home 的东西备分一下, tar cpf /data/home.tar ,/data 最好是一个单独的分区。
rc-update del xdm ,然后重启 root 登录。格式化 /home,再 mount 上他,用来复制 / 的内容过来。复制的时候需要注意下,先把 / /home 之外的那些分区都 umount,省得复制的时候不小心一起复制了过来。
cd /home; tar cpf - –exclude=/home –exclude=/proc –exclude=/sys | tar xpf -
复制完之后,在 /home 下建立 /home/proc /home/sys 目录。修改 /home/boot/grub/menu.lst 文件(如果是独立的 boot 分区,需要挂上再修改),kernel 参数为新的 root,建议新加一行,保留原来的,免得有问题还能方便回去。然后修改 /etc/fstab。就可以重启了。
作者:
wd 发表于:2009-01-01 08:12 最后更新于:2009-01-01 08:14
版权声明:可以任意转载,转载时请务必以超链接形式标明文章
原始出处[http://wdicc.com/change-wm-in-gnome/]和作者信息及本版权声明。
gnome 中的 window manger (wm) 是 metacity,有时候可能会用的不爽,换成 openbox ,或着 xfwm4 之类。
gnome 提供了简单的方法,就是设置 WINDOW_MANAGER 这个变量。如果用的是 dm,例如 gdm ,那么在 .profile 里面放上下面一句就可以了。startx 的话,放在 .xinitrc 里面。
export WINDOW_MANAGER=”/usr/bin/openbox”
用 gdm 的话,还可以在启动的时候选择 openbox-gnome-session 这个来使用 openbox 做为 wm,那个命令是个 shell 脚本,可以看看。
如果设置了不管用,可以看看 gconf 里面的 desktop/gnome/session/required_components/windowmanager 的值。/usr/bin/gnome-wm 这个程序可能会用这个,具体好像和 gnome 的版本有关,这个文件是 gnome-base/gnome-session 这个包里面的。
gdm 启动的时候,会运行 /etc/X11/gdm/Xsession 这个程序。可以试试看在这里面小小的 debug 一下。
最后郁闷一下,openbox 在 gnome 的 dual head 里面好像有个 bug,提交给了 openbox,还没回复,只能继续 metacity 了。
作者:
wd 发表于:2008-12-27 18:53
版权声明:可以任意转载,转载时请务必以超链接形式标明文章
原始出处[http://wdicc.com/upgrade-kenerl-to-2-6-28/]和作者信息及本版权声明。
之前用的是 tuxonice 的 kernel, 为了体验他的休眠。可是最近发现我基本就不用休眠。而且 tuxonice 的内核还一直停留在 2.6.26 上面。最近 2.6.28 火的不行,所以就给他升级了。
升级没遇到什么问题。新选择了 ext4 支持,等哪天把 fs 都修改到 ext4 去,不过好像有点折腾,呵呵。
gentoo-souces 也是支持的休眠的。想要在 gnome 下面休眠的话,安装一个 pm-utilus 这个包就可以了。在电源管理那里选休眠就可以了。不过发现 挂起 好像不支持,挂起了就不能唤醒了,很郁闷。我记得 tuxonice 下面挂起好像也不支持,不管他了。
那个号称革命性的 GEM 不知道什么时候能在 radeon 上面出现。等着吧。
作者:
wd 发表于:2008-12-04 14:23
版权声明:可以任意转载,转载时请务必以超链接形式标明文章
原始出处[http://wdicc.com/monkey-test/]和作者信息及本版权声明。
- 道德的起源 -
把五只猴子关在一个笼子里,上头有一串香蕉实验人员装了一个自动装置,一旦侦测到有猴。子要去拿香蕉,马上就会有水喷向笼子而这五只猴子都会一身湿. 首先有只猴子想去拿香。蕉,当然,结果就是每只猴子都淋湿了. 之後每只猴子在几次的尝试後,发现莫不如此, 於是猴子们达到一个共识:不要去拿香蕉,以避免被水喷到. 後来实验人员把其中的一只猴子释放,换进去一只新猴A, 这只猴子A看到香蕉,马上想要去拿.结果,被其他四只猴子海K了一顿 因为其他四只猴子认为猴子A会害他们被水淋到,所以制止他去拿香蕉 A尝试了几次,虽被打的满头包,依然没有拿到香蕉 当然,这五只猴子就没有被水喷到 後来实验人员再把一只旧猴子释放,换上另外一只新猴子B 这猴子B看到香蕉,也是迫不及待要去拿 当然,一如刚才所发生的情形,其他四只猴子海K了B一顿 特别的是,那只A猴子打的特别用力(这叫老兵欺负新兵,或是媳妇熬成婆 ^O^)。B猴子试了几次总是被打的很惨,只好作罢。 後来慢慢的一只一只的,所有的旧猴子都换成新猴子了,大家都不敢去动那香蕉 但是他们都不知道为什麽,只知道去动香蕉会被猴扁。这就是道德的起源
-阶级的起源-
实验人员继续他们的实验,不过这一次他们改变了喷水装置,一旦侦测到有猴子要去拿香蕉,马上就会有水喷向拿香蕉的猴子,而不是全体。 然后实验人员又把其中的一只猴子释放,换进去一只新猴子C ,不同以往的是猴子C特别的孔武有力。当然猴子C看到香蕉,也马上想要去拿,一如以前所发生的情形,其他四只猴子也想海K猴子C一顿。不过他们错误估计了C的实力,所以结果是反被C海K了一顿。于是猴子C拿到了香蕉,当然也被淋了个透湿。一边打着喷嚏一边吃着香蕉,美味但是也美中不足。A、B、D、E没有香蕉吃却也比较快乐,毕竟没有被淋到嘛!后来C发现只有拿香蕉的那个才会被淋到,他就要最弱小的A替他去拿。A不想被K,只好每天拿香蕉然后被水淋。B、D、E越发的快乐了起来,这就叫比上不足,比下有余嘛 于是五只猴子有了三个阶级,这下子阶级也随着道德的起源了。
-道德的沦丧-
天变热了,笼子里的猴子们想冲凉却找不到地方。终于出现了一位反潮流英雄,猴HERO。HERO在无意中碰到了香蕉,理所当然的引来了一顿饱打。但在挨打的过程中,猴子们享受到了冲凉的乐趣。等身上 的水干了之后,猴子A在无意中碰撞了HERO,使HERO又一次接触到了香蕉,于是,猴子们享受了第二次冲凉,HERO遭到了第二次痛殴。在此之后,只要大家有冲凉的需要,就会有一只猴子X挺身而出,对HERO进行合理冲撞。 大家对HERO的态度也有了明显的不同,在平时大家会对HERO异常温和,以弥补在冲凉时为维护规则而不得不对它进行的暴力举动。一天, 在大家冲凉时,饱受折磨的HERO闻到了香蕉的清香旁鹜时将香蕉吃了。而且此后没有了新的香蕉来填补空缺。猴子们陷入了另一个尴尬境地没有冲凉的水,也没有香蕉,只有HERO。于是,另一个规则形成了。猴子在烦躁的时候会痛打HERO出气,HERO不得反抗。当笼子里的旧猴子被新猴子换掉时,新猴子会在最快的时间内学会殴打HERO。 终于有一天,老天有眼,历尽沧桑的HERO被另一只猴子代替了。猴子们失去了发泄的对象只能任意选取一个目标进行攻击。从此以后,笼子里的猴子们不吃不喝不冲凉,唯一的举动就是打架。这就是道德的沦丧。
-道德的重建-
实验人员对猴子们的争斗不休感到不安。为了重建道德秩序,他们决定继续供应香蕉。一天,正在混战的猴子们发现头顶多了一串香蕉,它们其中的一个A不顾身上的剧痛,把香蕉摘了下来。于是久违的甘露出现了,未曾尝过甜头的猴子们先是茫然失措,继而争先恐后的加入冲凉的行列。香蕉反而被遗忘了。当猴子B、C、D、E发现A在享受淋浴的同时还吃着美味的香蕉,嫉妒心使它们暂时团结起来,共同K了A一顿,将A吃剩的香蕉夺过来,但是,此刻的香蕉成了匹夫怀里的宝玉,得到它的猴子虽然可以享受美味,但付出的代价也是巨大的。 实验人员不断放入香蕉,却发现战斗比以前更激烈了。分析清楚原因后,他们用木头做了一个假香蕉扔进了笼子。此时猴子们已经学聪明了,它们知道触摸香蕉可以享淋浴,而试图独占香蕉则会遭到痛扁。于是,一个新的现象出现了,当猴子们有冲凉的需要时,会有一只猴子将香蕉拿起来,而当它发现有遭到攻击的可能时,它会马上放下香蕉逃到一边去。这样,猴子们都能冲凉,但是又不至于再象以前那样N败俱伤。 (没有猴子发现那个香蕉是假的。)
-信仰的起源-
五只猴子A、B、C、D、E三个阶级快乐地生活了很久。他们精确的给出了三个阶级的定义,即吃香阶级、拿香阶级和干看着阶级。 可惜猴子A由于长期的水中作业无可避免地引发了它肺部功能的衰竭。一天他在例行的拿香蕉作业中跌倒了就再也没有爬起来。于是实验人员又送进了一只同样孔武有力的猴F ,当然他还是对屋顶的香蕉很有兴趣。不幸的是他最终以微弱的劣势被以C为首的群猴再次K。第二天,又到了拿香蕉的时候,猴子C很无所谓,反正他还要吃香蕉,反正他不会被水淋到,真正恐慌的是B、D、E三猴。F是那么的健壮,他们这些媳妇是熬不成婆了。他们将面临一个艰难的抉择,谁该去步A的后尘? 猴子B、D、E展开了激烈的争论,讨论谁最应该做下一个拿香阶级。猴子F很奇怪也很好奇,什么叫“拿香阶级”呢?猴子B、D、E解释道:所谓“拿香阶级”就是猴子界勇敢者的阶级,需具备一不怕苦二不怕死的大无畏精神方能得此殊荣。猴子F闻听不禁有些神往,有些跃跃欲试。当然他最终达到了目的,作了唯一的拿香阶级。再后来,B、D、E三猴陆续被换出局,换来的猴子个个健壮如C ,他们继续大大出手,不过目标不是香蕉,而是那个唯一的拿香阶级。于是信仰也出现了
-迷信的起源-
后来A终于被好心的实验人员拉出了苦海。新来了猴子F。 C觉得有必要维护自己的阶级地位,B、D、E则生怕自己顶了A的缸……在各种复杂心情的作用下,B、D、E在C的带领下爆扁了F一顿,然后强令F做拿香蕉阶级。 F开始不乐意,后来慢慢在B等的劝说下等“待多年的媳妇熬成婆”这一宿命。 慢慢的老资格的B、D、E猴子渐渐被淘汰,C发现自己在体力上不再占有优势,很难再通过武力让这一游戏规则继续下去,觉得十分苦恼。这时,一只最有希望升级为吃香蕉阶级(暨C的理所当然接班人)也是C谋臣的H向C进言。于是君臣定计。H开始依靠自己多懂几种猴语而在其他若干猴面前树立的权威形象向其他猴鼓吹:“每一只新来笼子的猴子都是有罪的,这种罪责来自血统。……只有摘香蕉的猴子才能被(实验人员)送到天堂。” 事实上,因为被水冲很容易得肺炎病倒而被实验人员淘汰掉,猴子们不知道反而以为被淘汰的猴子真的进了天堂。渐渐,猴子都相信了这套理论,并且讲给每一只新猴子听。然后就这么流传下去越传越神奇。以至于后来摘香蕉阶级的猴子都为了能摘香蕉而大打出手。……这些都是C没有想到,H没有看到的,那时他们都已经死了。然而迷信就这么诞生了。
作者:
wd 发表于:2008-12-01 17:11
版权声明:可以任意转载,转载时请务必以超链接形式标明文章
原始出处[http://wdicc.com/send-mail-with-attachment/]和作者信息及本版权声明。
命令行下面发送邮件比较简单,恐怕都会使用。
$ echo "hello .. " | mail -s subject xxx@abc.com
$ cat /path/to/file | mail -s subject xxx@abc.com
$ mail -s subject xxx@abc.com << EOF
hi
the end..
EOF
上面这些方法都可以发送邮件。还有一种方法。
$ cat a.txt
Subject: test
From: xxx@abc.com
To: xxx@abc.com
hi
sdfsdfsdf
the end.
$ cat a.txt | sendmail -t
这样可以把邮件头信息写到文件里面的,你也可以用 php,perl 来打印类似的信息给 sendmail -t ,让他来发。
那么如果有附件应该怎么办?可以使用 uuencode。
$ uuencode a.txt a.txt | mail -s test xxx@abc.com
$ (cat a.txt; uuencode b.txt b.txt; cat c.txt) |sendmail -t
应该说的很明白了吧?
作者:
wd 发表于:2008-11-27 23:06
版权声明:可以任意转载,转载时请务必以超链接形式标明文章
原始出处[http://wdicc.com/lyx-unicode-howto/]和作者信息及本版权声明。
lyx 可以认为是一个 latex 的所见即所得的编辑工具。
先来搞定 latex 的中文。latex 的中文配置是千奇百怪的,怎么配的都有。看到那些帖子真的很头疼,不知道从哪里下手好。最近从 linuxsir gentoo 的论坛上面看到了一个简单的配置方法,总算我也可以使用 latex 生成支持中英文混排的 pdf 文件了。
首先需要安装 dev-tex/zhspacing(gentoo-china-overlay) 和 dev-texlive/texlive-fontsrecommended 这两个包,会依赖安装一些别的包。
此后就可以使用 xelatex 命令来编译 tex 文件了。如果没有 simsun simhei 那些字体,就还需要下面的操作。
\documentclass{article}
\usepackage{fontspec}
\newfontfamily\zhfont[BoldFont=Microsoft YaHei]{Microsoft YaHei} %设置中文
\newfontfamily\zhpunctfont{Microsoft YaHei} % 设置中文
%\makeglossary
\setmainfont{Consolas} %这里设置英文衬线字体
\setmonofont{Consolas} %英文等宽字体
\setsansfont{Consolas} %英文无衬线字体
\usepackage{zhspacing}
\zhspacing
\begin{document}
中Eng文混排,“标点压缩”,间 距 调 整 ……
\end{document}
里面那几行有注释的,就是用来设置字体的。设置为 fc-list 列表里面的一个或者几个字体,然后使用 xelatex xx.tex 命令来编译你的 tex 文件,是不是生成了相应的 pdf?可以去看看里面的中文英文是不是都正常显示了。
接下来配置 lyx。我参考了这个文章,新建一个文档,设置几个地方。
文档-> 首选项-> 语言 使用 utf8。
文档-> 首选项-> latex序 添加下面的内容。
\usepackage{fontspec}
\newfontfamily\zhfont[BoldFont=Microsoft YaHei]{Microsoft YaHei} %设置中文
\newfontfamily\zhpunctfont{Microsoft YaHei} % 设置中文
%\makeglossary
\setmainfont{Consolas} %这里设置英文衬线字体
\setmonofont{Consolas} %英文等宽字体
\setsansfont{Consolas} %英文无衬线字体
\usepackage{zhspacing}
\zhspacing
我还设置了保存为文档缺省设置,这样新编辑的文件就不用设置了,当然也可以保存成模板,这样每次加载这个模板就可以了。
还需要设置
lyx 可以认为是一个 latex 的所见即所得的编辑工具。
先来搞定 latex 的中文。latex 的中文配置是千奇百怪的,怎么配的都有。看到那些帖子真的很头疼,不知道从哪里下手好。最近从 linuxsir gentoo 的论坛上面看到了一个简单的配置方法,总算我也可以使用 latex 生成支持中英文混排的 pdf 文件了。
首先需要安装 dev-tex/zhspacing(gentoo-china-overlay) 和 dev-texlive/texlive-fontsrecommended 这两个包,会依赖安装一些别的包。
此后就可以使用 xelatex 命令来编译 tex 文件了。如果没有 simsun simhei 那些字体,就还需要下面的操作。
\documentclass{article}
\usepackage{fontspec}
\newfontfamily\zhfont[BoldFont=Microsoft YaHei]{Microsoft YaHei} %设置中文
\newfontfamily\zhpunctfont{Microsoft YaHei} % 设置中文
%\makeglossary
\setmainfont{Consolas} %这里设置英文衬线字体
\setmonofont{Consolas} %英文等宽字体
\setsansfont{Consolas} %英文无衬线字体
\usepackage{zhspacing}
\zhspacing
\begin{document}
中Eng文混排,“标点压缩”,间 距 调 整 ……
\end{document}
里面那几行有注释的,就是用来设置字体的。设置为 fc-list 列表里面的一个或者几个字体,然后使用 xelatex xx.tex 命令来编译你的 tex 文件,是不是生成了相应的 pdf?可以去看看里面的中文英文是不是都正常显示了。
接下来配置 lyx。我参考了这个文章,新建一个文档,设置几个地方。
文档-> 首选项-> 语言 使用 utf8。
文档-> 首选项-> latex序 添加下面的内容。
\usepackage{fontspec}
\newfontfamily\zhfont[BoldFont=Microsoft YaHei]{Microsoft YaHei} %设置中文
\newfontfamily\zhpunctfont{Microsoft YaHei} % 设置中文
%\makeglossary
\setmainfont{Consolas} %这里设置英文衬线字体
\setmonofont{Consolas} %英文等宽字体
\setsansfont{Consolas} %英文无衬线字体
\usepackage{zhspacing}
\zhspacing
我还设置了保存为文档缺省设置,这样新编辑的文件就不用设置了,当然也可以保存成模板,这样每次加载这个模板就可以了。
还需要设置 工具->首选项->file handling->转换器 这里的 latex(pdflatex)->PDF(pdflatex) 这项,然后设置 转换器 为 xelatex $$i 。点击那个修改按钮,保存,应用。
这样,以后写好文件,点那个 pdf 的图标就可以直接预览到 pdf 文件啦。
作者:
wd 发表于:2008-11-17 19:38 最后更新于:2008-11-17 19:40
版权声明:可以任意转载,转载时请务必以超链接形式标明文章
原始出处[http://wdicc.com/vpnc-howto/]和作者信息及本版权声明。
好久没更新了,最近改了改 vpnc 的设置,就发一个吧。
有些公司启用了 vpn 来让员工可以访问到公司内网的一些信息,或者让员工访问公司服务器的时候更加安全。一般可以用 cisco 的硬件 vpn 来搞定,也可以用 linux 下面的 openvpn 之类软件来构建一个 vpn server。
构建 vpn server 咱没搞过,我们公司用的是 cisco 的产品。连接 vpn server 的 client 有 vpnc 和 openvpn 什么的。
我使用的是 vpnc。networkmanager 还有他的插件(当然,也有 openvpn 的),就是说你可以做到点点鼠标就连接上你的 vpn。不过我这里没用他,因为他缺少一些 vpnc 配置文件支持的配置项,曾经还修改过 net-misc/networkmanager-vpnc 0.6.4 的源代码,来做到支持我的 vpn server,后来发现图形界面的不可靠,有时候连不上,一些错误信息还看不到。升级到了 0.7 之后,也一直懒得改源代码,字符界面的用起来也不错。图形界面一定要改,因为我不能让他记住密码我们的密码是一个 pin 码 + token 生成的,token 是变化的。而有个 group 密码是必须要记住的,因为这个又长又没有规律。图形界面没办法实现这个组合,只能修改源代码硬写到代码里面。
vpnc 的配置文件在 /etc/vpnc/ 下面。这里面有个 default.conf,当然你也可以写自己的 xxx.conf。如果执行 sudo vpnc xxx,那么用到的就是 xxx.conf,如果没有参数,那么使用 default.conf。
$ sudo cat default.conf
# example vpnc configuration file
# see vpnc --long-help for details
#Interface name tun0
#IKE DH Group dh2
#Perfect Forward Secrecy nopfs
# You may replace this script with something better
Script /etc/vpnc/custom-script
IPSec gateway vpn.xxx.com
IPSec ID General
IPSec secret xxxxxx
Xauth username wd
NAT Traversal Mode cisco-udp
#Xauth password
gateway 就是你的 vpn server 的地址,IPSec secret 就是我说的 group pwd,Xauth password 是你的密码。还可以加上 debug level xxx 来显示 debug 信息,xxx 是一个数字,越大信息越多。
注意里面有个 script 行,这个就是最近修改的一个参数。有时候使用 vpn 可能只是需要连接一下公司的服务器而已,我可不想让他作为我的默认路由,比如我在开 bt 下载的时候如果用了 vpn 作%
作者:
wd 发表于:2008-10-07 17:38
版权声明:可以任意转载,转载时请务必以超链接形式标明文章
原始出处[http://wdicc.com/kill-session-in-oracle/]和作者信息及本版权声明。
eygle 有篇文章讲了这个,之前也看过。昨天实际操作了一下。
因为如 eygle 所讲,kill 了 session 之后,操作系统里面的进程资源有时候不一定会立即释放,所以最好在 kill 之前就找到系统的进程 id,这样,如果不释放的时候,可以直接kill。省的之后找起来麻烦。
昨天操作的时候有这么几个步骤
- select * from v$session where username like ‘UP’ –先找到这个用户的 session。
- select * from v$sql a, v$session b where b.username = ‘UP’ and a.sql_id = b.sql_id –找出来这个用户这些 session 对应的 sql 语句,好确认 session 的 id。
- select * from v$process a, v$session b where a.addr = b.paddr and b.username like ‘UP’ and b.sid = xxx –找出来他的系统进程id,就是那个 spid。
- ALTER SYSTEM KILL SESSION ’sid, serial#’ –可以实施kill了,可能会提示你marked for kill,有必要的话,在os级别kill前面找出来的 spid。
作者:
wd 发表于:2008-10-07 17:20
版权声明:可以任意转载,转载时请务必以超链接形式标明文章
原始出处[http://wdicc.com/palm-in-linux/]和作者信息及本版权声明。
plam 是万能的,呵呵。
主要参考了 gentoo wiki 上面的几篇文章。编译好内核,然后 modprobe visor ,接着按hotsync同步按钮。此时可以看到 dmesg 的输出。
visor 2-2:1.0: device disconnected
usb 2-2: new full speed USB device using uhci_hcd and address 6
usb 2-2: configuration #1 chosen from 1 choice
visor 2-2:1.0: Handspring Visor / Palm OS converter detected
usb 2-2: Handspring Visor / Palm OS converter now attached to ttyUSB0
usb 2-2: Handspring Visor / Palm OS converter now attached to ttyUSB1
然后还需要建立一个 udev 的 rule。
$ cat /etc/udev/rules.d/10-palm.rules
# PalmOne Tungsten T3
BUS=="usb",SYSFS{serial}=="PalmSN12345678", KNERNEL="ttyUSB*",OWNER="root",GROUP="plugdev",MODE="0666",SYMLINK="pilot", RUN="/bin/su - wd -c '/usr/bin/jpilot -s'"
#BUS="usb", SYSFS{product}="Palm Handheld*", KERNEL="ttyUSB*", MODE="666", SYMLINK="pilot", RUN="/bin/su - wd -c '/usr/bin/jpilot -s'"
注意里面那个 serial,如果你不知道你的,或许可以用下面的那个 product。其实也可以查看 /proc/bus/usb/devices 来获取上面那些 serial 或者 product 信息的。仔细找找。另外还需要修改那个 wd 为你自己的用户名。
然后还需要装一个 jpilot 这个软件。需要先设置一下首选项,设置设备是 /dev/ttyUSB1 。以后同步的时候,只需要先启动 jpilot,然后按那个hotsync同步按钮就行了。还可以装软件,呵呵,不过似乎没办法选择装卡上还是手机上,估计都是手机上面了。
作者:
wd 发表于:2008-09-22 17:05
版权声明:可以任意转载,转载时请务必以超链接形式标明文章
原始出处[http://wdicc.com/wdicc-com-is-return/]和作者信息及本版权声明。
历经周折,总算把域名弄回来了。我还是喜欢 wdicc.com 多过 wdicc.cn。呵呵。顺便鄙视一下 xh 这头猪,差点把我的域名弄丢。