Wednesday, May 25, 2011

convmv

source: http://www.longine.co.cc/frame.php?frameon=yes&referer=http%3A//www.longine.co.cc/viewthread.php%3Ftid%3D103

1)在Windows下有好用的ConvertZ
2)在Linux下只要一個指令就解決...
語法如下:
piconv -f gbk -t utf8 < file_gbk.sgf > file_utf8.sgf
複製代碼
就能將 gbk 編碼轉為 utf8 ,要轉成繁體,就改成 big5

如果有大量的文件要轉換,需要寫個小程式才能解決...
3)linux另外有一種叫做convmv的批次轉碼工具,
安裝:
sudo apt-get install convmv
(或者make,make install)
或到 http://j3e.de/linux/convmv/ 下載


用法:
convmv --help #先看說明
convmv --list #列出所有可用編碼
convmv -f big5-eten -t utf8 -r /Path/To/Your/Files #從 big5 檔名轉碼成 utf8,僅顯示測試結果,尚未實際轉換喔。
convmv -f big5-eten -t utf8 -r --notest /Path/To/Your/Files #加上 --notest 參數,正式進行檔名轉碼。
#常用在從 windows 搬到 linux UTF-8 環境結果產生亂碼的檔名。

Wednesday, February 16, 2011

Build squeeze base system image for easy debian on N900

Reference:
http://www.debian.org/releases/stable/i386/apds03.html.en
http://talk.maemo.org/showpost.php?p=419501&postcount=28

N900:~$ apt-get install dmsetup
N900:~$ debian
EasyDebian:~$ mkdir /mnt/debinst
EasyDebian:~$ dd if=/dev/zero of=/home/user/MyDocs/squeeze.img.ext2 count=4194304
EasyDebian:~$ mke2fs -L Squeeze /home/user/MyDocs/squeeze.img.ext2
EasyDebian:~$ apt-get update
EasyDebian:~$ apt-get install debootstrap
EasyDebian:~$ mount -t ext2 /home/user/MyDocs/squeeze.img.ext2 /mnt/debinst -o loop,noatime,nobh,nodiratime 2>&1
EasyDebian:~$ /usr/sbin/debootstrap --arch armel squeeze /mnt/debinst http://ftp.jp.debian.org/debian
EasyDebian:~$ mount -o bind /dev /mnt/debinst/dev
EasyDebian:~$ mount -t devpts none /mnt/debinst/dev/pts
EasyDebian:~$ mount -o bind /tmp /mnt/debinst/tmp
EasyDebian:~$ mount -o bind /var/tmp /mnt/debinst/var/tmp
EasyDebian:~$ mount -o bind /dev/shm /mnt/debinst/dev/shm
EasyDebian:~$ LANG=C chroot /mnt/debinst /bin/bash
Squeeze:~$ mount -t proc proc /proc
Squeeze:~$ rm /bin/sh
Squeeze:~$ ln -s /bin/bash /bin/sh
Squeeze:~$ dpkg-reconfigure tzdata
> Asis -> Hong Kong
Squeeze:~$ aptitude update
Squeeze:~$ aptitude install locales
Squeeze:~$ dpkg-reconfigure locales
> en_GB*
> en_HK*
> en_US*
#Squeeze:~$ aptitude install console-data
#Squeeze:~$ dpkg-reconfigure console-data
Squeeze:~$ useradd -m user
Squeeze:~$ mkdir /home/user/MyDocs
#Squeeze:~$ mkdir /var/run/dbus
#Squeeze:~$ mkdir /var/lib/dbus
#Squeeze:~$ mkdir /var/run/pulse
Squeeze:~$ vi /var/run/onfirstchroot-ext.rc
> #Fix the /etc/mtab file
> #CHROOT=`pwd | awk -F'/var' '{ print $1 }'`
> echo Updating the /etc/mtab file...
> CHROOT2=`echo $CHROOT | awk -F'/' '{ print $2 }'`
> cat /etc/mtab | grep $CHROOT2 | sed "s/$CHROOT2\///" | sed "s/$CHROOT2//" | grep bind -v > $CHROOT/etc/mtab
Squeeze:~$ chmod 744 /var/run/onfirstchroot-ext.rc
Squeeze:~$ umount /proc
Squeeze:~$ exit
EasyDebian:~$ umount /mnt/debinst/dev/shm
EasyDebian:~$ umount /mnt/debinst/var/tmp
EasyDebian:~$ umount /mnt/debinst/tmp
EasyDebian:~$ umount /mnt/debinst/dev/pts
EasyDebian:~$ umount /mnt/debinst/dev
EasyDebian:~$ umount /mnt/debinst
EasyDebian:~$ exit
N900:~$ closechroot
N900:~$ mv /home/user/MyDocs/debian-m5-v3d.img.ext2 /home/user/MyDocs/Lenny.img.ext2
N900:~$ mv /home/user/MyDocs/squeeze.img.ext2 /home/user/MyDocs/debian-m5-v3d.img.ext2
N900:~$ debian
Squeeze:~$ tasksel install standard
Squeeze:~$ aptitude clean