2009年3月26日星期四

vim 相关

vim 文本宽度

:set tw=80 #textwidth
:set fo+=mM # formatoptions
gq{motion}
gqq
{visual}gq
or
gw

vim 复制与剪切

internal:
y p
:[range]co[py] {address}
:[range]m[ove] {address}
externel:
"+y "+x "+gp

移动

hjkl
wb ege
0^$
()
{}
shift hml
ctrl ud
ctrl fb
gg G
:n
%n

没事可以看看它的 doc.

2009年3月25日星期三

Virtualbox 问题

发现 Virtualbox 不能同时开一个 amd64 或 x86_64 的系统和其它的一个 i386 的其它的系统,这里的 amd64 用的是 Debian,x86_64 用的是 fedora 11, i386 用的是 windows xp 和 slax 6.0.9。但是,能同时开 amd64 和 x86_64 的系统(它们两个都要启用 amd_v 支持),也能同时开两个 i386 的系统。不知道是怎么回事?

源列表

Ubuntu源列表

deb http://mirrors.163.com/ubuntu/ hardy main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ hardy-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ hardy-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ hardy-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ hardy-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ hardy main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ hardy-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ hardy-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ hardy-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ hardy-backports main restricted universe multivers

Debian 源列表

deb http://mirrors.163.com/debian lenny main non-free contrib
deb http://mirrors.163.com/debian lenny-proposed-updates main contrib non-free
deb http://mirrors.163.com/debian-security lenny/updates main contrib non-free
deb-src http://mirrors.163.com/debian lenny main non-free contrib
deb-src http://mirrors.163.com/debian lenny-proposed-updates main contrib non-free
deb-src http://mirrors.163.com/debian-security lenny/updates main contrib non-free

Archlinux 源
Server = http://mirrors.163.com/archlinux/$repo/os//i686
Server = http://mirror.lzjtu.edu.cn/archlinux/$repo/os/i686

天津大学 ubuntu

http://202.113.13.45:9527/ubuntu-dist

南开大学 debian(更新很慢)

ftp://202.113.29.4/Debian/debian/
http://202.113.29.3/debian/debian/

x configure

Section "Module"
EndSection

Section "Files"
EndSection

Section "ServerFlags"
EndSection

Section "InputDevice"
Identifier "keyboard1"
Driver "dbd"
EndSection

Section "InputDevice"
Indentifier "mouse1"
Driver "mouse"
EndSection

Section "Monitor"
Identifier "my monitor"
HorizSync 31.5-150.0
VertReflesh 75-85
EndSection

Section "Device"
Identifier "VESA framebuffer"
Driver "vesa"
EndSection

Section "screen"
Identifier "screen1"
Device "VESA framebuffer"
Monitor "my monitor"
DefaultDepth 8
SubSection "Display"
Depth 8
Modes "1024*768" "800*600" "640*480"
EndSubSection
EndSection

Section "ServerLayout"
Identifier "simple layout"
Screen "screen1"
InputDevice "mouse1" "CorePointer"
InputDevice "keyboard1" "CoreKeyboard"
EndSection

2009年3月24日星期二

魔方

APPLET来源:http://www.randelshofer.ch/





没事可以玩玩,呵呵。我已经会玩初级玩法了,还要学学高级玩法。

注:运行上面的小游戏要有 JRE 环境。

2009年3月21日星期六

debian 下打包

debian 下打包

1,环境

build-essential(gcc, g++, libc6-dev,make, dpkg-dev), python, perl, gfortran
autoconf, automake, patch, xutils
dh-make,debhelper, devscripts, pbuilder
file, gnupg,fakeroot

2, 简单打包
mkdir pack
mv ./pack ./package.tar.gz
cd ./pack
tar zxvf ./package.tar.gz
cd ./package
dh_make -e account@domain.com -f ../package.tar.gz
... Answer prompts.
... Fix source tree
... If it is a script package, set debian/control to "Architecture: all"
... Do not erase ../package.orig.tar.gz
debuild or dpkg-buildpackage -rfakeroot -uc -b
... Make sure no warning happens.



注:我用这种办法成功把 pidgin_2.5.5 打成 deb 包。正如前篇文章说的,我已经成功在机器上将源码编译通过了,但是在 dpkg-buildpackage 时总出错,有如下提示:
*** Warning: Linking the shared library perl.la against the
*** static library /usr/lib/perl/5.8/auto/DynaLoader/DynaLoader.a is not portable!
...
关键是先前编译的依赖我都解决了,怎么现在会不能通过呢,后来,小改了下 debian/rules 文件就可以正常通过了。原来是 dh_make 生成的 rules 文件还是有些小问题。先前让我不理解的 deb 包的依赖问题其实不是问题,build 过程会在 control 中自动添加依赖。
总结经验,打包前要对软件包进行编译试用,再将其打包,整个过程很简单。下面的方法太长,暂没有试。

3, 用dpatch和pbuilder打包
mkdir pack
mv ./pack ./package.tar.gz
cd ./pack
tar zxvf ./package.tar.gz
cp ./package ./package.org
cd ./package
dh_make -e account@domain.com -f ../package.tar.gz
... Answer prompts.
... Fix source tree by editor
... Try building packages with "dpkg-buildpackage -rfakeroot -us -uc"
... Edit source to make source buildable.
... Do not erase ../package.orig.tar.gz
cd ..
cp ./package ./package.bak
mv ./package/debian ./debian
diff -Nru package-orig package > patch-file
... You may overwrite package directory while doing this.
... Make sure to keep package.bak for your safety
mkdir -p debian/patches
dpatch patch-template patch-file \
-p "01_patchname" "patch-file description" \
< patch-file > debian/patches/01_patchname.dpatch
cd debian/patches
echo 01_patchname.dpatch >00list
cd ../..
rm -rf package
gvim debian/rules

现在文件debian/rules的内容是:

config.status: configure
./configure --prefix=/usr --mandir=/usr/share
build: config.status
${MAKE}
clean:
$(testdir)
$(testroot)
${MAKE} distclean
rm -rf debian/imaginary-package debian/files debian/substvars

可以用编辑器修改debian/rules文件为以下内容使其使用dpatch:

config.status: patch configure
./configure --prefix=/usr --mandir=/usr/share
build: config.status
${MAKE}
clean: clean-patched unpatch
clean-patched:
$(testdir)
$(testroot)
${MAKE} distclean
rm -rf debian/imaginary-package debian/files debian/substvars
patch: patch-stamp
patch-stamp:
dpatch apply-all
dpatch call-all -a=pkg-info >patch-stamp

unpatch:
dpatch deapply-all
rm -rf patch-stamp debian/patched

现在可以用dpatch系统重新打包了

tar zxvf package.orig.tar.gz
cp -a debian/ package/debian
cd package
sudo pbuilder update
pdebuild

主要参考:http://wiki.ubuntu.org.cn/Debian-maint-guide/A

debian 包管理系统


debian 的包管理系统

APT:(基于网络)

apt-get update (更新)
apt-get upgrade (升级)
apt-get dist-upgrade (系统升级)
apt-get install (安装)
apt-get remove [--purge] ([完全]卸载)
apt-cache search (查找)
apt-cache show (控制信息,包括依赖、描述等)
apt-cache showpkg (其它信息,)

dselect
aptitude


DPKG:(基于本地)

dpkg -l (未知:安装状态)
dpkg -i (未装:安装)
dpkg -c (未装:目录)
dpkg -I (未装:控制信息,包括依赖、描述等)
dpkg -L (己装:目录)
dpkg -s (己装:控制信息,包括依赖、描述等)
dpkg -r (已装:卸载)
dpkg -P (己装:完全卸载)
dpkg -S (己装:文件归属)

dpkg --set-selections
dpkg-reconfigure


从源码构建 Debian 包

apt-get source [-b]
apt-get build-dep
dpkg-source -x
dpkg-buildpackage -rfakeroot -uc -b
debuild

依赖修正

apt-get install -f
apt-get upgrade -f
apt-get dist-upgrade -f
dpkg --configure --pending

2009年3月20日星期五

成功编译 pidgin 2.5.5

上次不知道是什么原因把 pidgin 干掉了,可能是因为版本太老了。ubuntu 更新包好慢。无奈只好自行编译。虽说是第一次编译较大的程序,但编译过程十分轻松,

./configure
make
sudo make install

和平常一样,上面三条命令就安装好了。下面是编译过程遇到的依赖,不是很多,呵呵。安装完后正常登录QQ。后来在 linuxsir 下找了个飞信插件,放在 /usr/local/lib/purple-2/ 目录下 pidgin 死都找不到(用 pidgin -d 查看了下调试信息),后来把它放在 ~/.purple/plugins 目录下,重启 pidgin 就好了,下面是截图:



依赖:

XScreenSaver extension development headers not found.: libxss-dev
Startup notification development headers not found.: libstartup-notification0-dev
GtkSpell development headers not found.:libgtkspell-dev
GStreamer development headers not found.: libgstreamer0.10-dev
Meanwhile development headers not found.: libmeanwhile-dev
avahi development headers not found.:libavahi-client-dev ; libavahi-glib-dev
NetworkManager development headers not found.: network-manager-dev
Perl development headers not found.: libperl-dev
Tcl development headers not found.: tcl8.4-dev
Tk development headers not found.: tk8.4-dev

2009年3月19日星期四

格掉 ubuntu?很矛盾的说

ubuntu 啊,想说爱你不容易,

回想从去年五月份开始接触 linux ,装 ubuntu 7.10 ,到八月的这段时间,装过好几回吧,都是因为 dist-update 和 X 的问题。来学校后装了 8.04, 简略学习了 X window, 后来就没有重装过,到现在为止,也用了一个多学期吧,

且不说 ubuntu 默认装上很多用不上的包,浪费了宝贵的硬盘空间有说法,让我感到很不爽的是它有些不稳定,有时插上个 U 盘就死机,上次用 USB 连上同学的三星手机瞬间关机。让人恼火的还不只是硬件检测上的问题,时常还出现 gnome 桌面失去响应,最后只有 ctrl+alt+backspace 重启 X,导致数据没有同步到硬盘中去,晕死,

但是,回过来说,我机器上的 win 就更没法用了,频频弹出程序,内存错误。想把它格掉又想可能什么时候来个 doc, ppt。也在 virtualbox 中装过 wps,不过一点 win 就死掉了,根本不能用。很不愿意在 guest os 中装个 office, 这个东西也忒大了,我安装的精简版 XP 才200多M呢。

要是 wps 出个 linux 版的 office,并且和以前一样深度兼容 MS-office(当然也包括公式),那我就直接 format win 分区算了。其实也有个 linux 版的永中,可惜兼容性不好。要说要兼容性,最可恶的应该算国人都要用那个 MS-office, 才导致这样的问题,唉,

实在是想换个发行了,最看好的还是 debian。

感叹一下

linux 世界真是丰富多彩,有很多好玩的软件,真的可谓是在他的世界里无所不能。

发现了新的音乐播放器 exaile ,很不错的说。

多功能聊天工具,我同时登录的有:QQ,MSN,Feition。win 下也可以哦。Feition 插件在下面这个网页里下载到,linuxsir 那个有点老,登不上了啦。

http://cnpidgin.cn/download.html