GOT 網路中斷公告 – 端午假期

由於 GOT 伺服器網路骨幹設備所在地將進行電力系統更新維護,
因此維護期間對外網路將完全斷線,
影響時間:估計為 5/27(三)下午約 16:00 起至 6/1(一) 早晨,斷線時間會儘量縮短可能會提早完成
影響範圍:GOT 剩 forums 和 wiki 且又在同一台,所以全受影響囉
若有須聯絡事項請至 GOT 位於 google group 的暫時討論區:
http://groups.google.com/group/gentoo-taiwan

PS. 包括本機台 paar.kh.edu.tw 也停止服務

Live CD 的 ISO 燒出來?太浪費了!變 Live USB 吧

Linux 老手們可能常常用到 Linux 的 LiveCD 或 LiveCD 式的安裝片,每次下載一個 ISO 檔就要把它燒成 CD 或 DVD 來用,就算燒在 RW 上還是耗費時間,只要你要開的機器可以 usb hd 開機就可以省掉這些手續啦!方法有好幾個,這裡有兩種,不過小弟這邊介紹的更彈性、使用空間更大。

處理這件事的 PC 需求:
Linux 作業系統、grub、還要一點點 grub 開機過程的知識。

今天我們以 Sabayon Linux DVD 為例:

=0=
一般的 Linux LiveCD 要的主要是以下三個檔:

  • vmlinuz  # 核心檔案
  • vmlinuz.img  # mini root 映像檔
  • xxxx  # 占容量最大的檔案,是真正開機後所使用的 squashfs root

=1=
掛上 usb 碟,假設 dbus 把你的 /dev/sdc1 掛在 /media/disk,
不需要 format 用原來的 FAT 即可。

掛載 iso 檔:

# mount -o loop Sabayon_Linux_4.1_amd64_K.iso /mnt/iso

=2=
第一件事找到 /mnt/iso 下占最大容量的檔案或目錄複製到 usb 上:

# du -s /mnt/iso/*
# cp  -R /mnt/iso/xxx /media/disk/

在複製的時間中你可以另開一個 consloe 同時做以下的事

=3=
grub 相關檔案:

# cp -R /boot/grub /medis/disk/
# grub
grub> root (hd?,0)     # 請確認 hd? 是你的 usb
grub> setup (hd?)
Checking if “/boot/grub/stage1” exists… no
Checking if “/grub/stage1” exists… yes
Checking if “/grub/stage2” exists… yes
Checking if “/grub/fat_stage1_5” exists… yes
Running “embed /grub/fat_stage1_5 (hd2)”…  16 sectors are embedded.
succeeded
Running “install /grub/stage1 (hd2) (hd2)1+16 p (hd2,0)/grub/stage2 /grub/menu.lst”… succeeded
Done.

看到以上訊息表示 grub 開機管理程式已經裝在 usb 碟上了。

=4=
打開 /mnt/iso/isolinux/isolinux.cfg
檔案裡的頭尾都可以不要找到像以下這些段落:

LABEL sabayon
menu label ^Start Sabayon 4.1
kernel /boot/sabayon
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=791 CONSOLE=/dev/tty1 noaccelmanager quiet music —

LABEL sabayonnomusic
menu label ^Start Sabayon 4.1 (No Music)
kernel /boot/sabayon
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=791 CONSOLE=/dev/tty1 noaccelmanager quiet —

紅色刪去,但 append 那行刪去後要接到上面 kernel 那行後面、綠色是修改成以下、藍色是原行刪去,=等號去掉(不去掉好像也可以),新增到新的一行去。

title Start Sabayon 4.1
kernel /boot/sabayon root=/dev/ram0  aufs init=/linuxrc cdroot looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=791 CONSOLE=/dev/tty1 noaccelmanager quiet music —
initrd /boot/sabayon.igz

title Start Sabayon 4.1 (No Music)
kernel /boot/sabayon root=/dev/ram0  aufs init=/linuxrc cdroot looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=791 CONSOLE=/dev/tty1 noaccelmanager quiet —
initrd /boot/sabayon.igz

把這個存檔的檔案覆蓋到 /media/disk/grub/menu.lst 上去,之後 usb 開機會對照這個檔,也做開機處理。

=6=
最後對照以上的 menu.lst 檔,check =0= 所需要的三個主要檔案,最大檔在 =2= 複製好了,所以在這個例子裡依相對位置複製到 /media/disk 裡:

# cp -R /mnt/iso/boot /media/disk/

本例子最後只要這樣子就 OK 了:

# ls -lR /media/disk
/media/disk
總計 1978112
drwxr-xr-x 2 paar root       4096 2009-04-30 12:14 boot
drwxr-xr-x 2 paar root       4096 2009-04-30 12:14 grub
-rwxr-xr-x 1 paar root 2025205760 2009-04-30 11:45 livecd.squashfs

/media/disk/boot:
總計 12040
-rwxr-xr-x 1 paar root  103328 2009-04-30 12:14 memtest
-rwxr-xr-x 1 paar root 5962880 2009-04-30 12:14 sabayon
-rwxr-xr-x 1 paar root 6256659 2009-04-30 12:14 sabayon.igz

/media/disk/grub:
總計 188
-rwxr-xr-x 1 paar root    197 2009-04-30 11:26 default
-rwxr-xr-x 1 paar root     30 2009-04-30 11:26 device.map
-rwxr-xr-x 1 paar root   8056 2009-04-30 11:26 e2fs_stage1_5
-rwxr-xr-x 1 paar root   7904 2009-04-30 11:26 fat_stage1_5
-rwxr-xr-x 1 paar root     16 2009-04-30 11:26 installed-version
-rwxr-xr-x 1 paar root   8608 2009-04-30 11:26 jfs_stage1_5
-rwxr-xr-x 1 paar root   3497 2009-04-30 12:14 menu.lst
-rwxr-xr-x 1 paar root   7324 2009-04-30 11:26 minix_stage1_5
-rwxr-xr-x 1 paar root   9632 2009-04-30 11:26 reiserfs_stage1_5
-rwxr-xr-x 1 paar root    512 2009-04-30 11:26 stage1
-rwxr-xr-x 1 paar root 108356 2009-04-30 11:26 stage2
-rwxr-xr-x 1 paar root   9276 2009-04-30 11:26 xfs_stage1_5

這時可以拿來開機了。

以這個方法做的好處是它還是 FAT 檔案格式,你仍可以拿剩下的空間當隨身碟使用,更靈活的運用方式是它甚至可以和 NoName 放在一起,用 grub 去選要開啟哪個 Live 系統,但要合併使用 NoName 你必須先使用它網頁上所指的 hp 格式化功具來 format,只要修改好 menu.lst 檔就 OK,之後你可以用同樣的方式調換你想要的 Live Linux ISO只要它們的檔名+路徑不同即可。

隨身 “大字集” 國語電子字典-續集

近日遭逢小 Z 上的記憶卡毀損的衝擊,在送修所謂 “終身保固” 的記憶卡後,竟又深切的瞭解此所謂 “終身保固” 是產品本身的 lifetime… 一張 x G 容量的記憶卡能讓在產線上留多久? 廠商們的文字遊戲實在是對消費者的傷害,我沒做功課!? 好吧,的確是我功課做的不夠,但請看 pqi 的這款產品多有誠意啊!人家明白的寫出是使用者停止使用該產品的使用期為終身。

以上是題外話

本篇主要要說在 隨身 “大字集” 國語電子字典-下 中中間一段在 SD 卡做一個 Debian 子系統該怎麼省略 可怕的 0 到有 debootrap 的冗長過程,快速產生所要的 Debian 子系統檔案,先到 Jumbo X/Qt Packages 下載 zaurus-debian-jumbo-v18-b01.tar.gz 這個檔,它就已是包含 Debian 系統的快速包,放進檔案式的系統後只要再加上所要的 stardict 和 gcin 就可以了,

編好的 gcin 下載: http://paar.kh.edu.tw/download/zaurus/

產生一個約 400M 的檔案:

dd if=/dev/zero of=/mnt/card/debfile count=800000

格式化成 ext2 的檔案格式、掛載擺進系統加入 gcin:

mkfs.ext2 /mnt/card/debfile
mount -o loop /mnt/card/debfile /SOMEWHERE/YOU/WANT
cd /SOMEWHERE/YOU/WANT
tar xzvf /mnt/card/zaurus-debian-jumbo-v18-b01.tar.gz
tar xzvf /mnt/card/gcin-1.4.5.pre2-arm_bin.tar.gz

加進中文字型

將桌機 /usr/share/fonts 下選一個中文的 truetype 字型放到對應的 /SOMEWHERE/YOU/WANT/usr/share/fonts 之下,OK。

由於舊 Debian 已進入歷史,source.list 必須改成歷史收藏的位址:

deb http://archive.debian.org/debian sarge main contrib

安裝 stardict 和各個你要的字典 dic 檔

chroot /SOMEWHERE/YOU/WANT
apt-get install stardict # 當然你要有網路

這時就可以用下集的方法啟動了,但這時會遇上 gcin 不能出現它的程式方塊的問題,請多一個指令

/usr/bin/gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules

此時應可快樂地使用了。

Apache2 AutoIndex 功能設定

由於要用到 Apache 下的自動排列目錄下檔案的功能,沒設定的話,預設 apache 會排得很難看,所以設定 apache 所有的目錄排列方式如下,加上 IndexOptions 的功能:

<IfModule dir_module>
IndexOptions Charset=UTF-8 HTMLTable NameWidth=*
DirectoryIndex index.html index.html.var
</IfModule>

Charset=UTF-8 是讓 AutoIndex 的網頁以 UTF-8 碼呈現。

HTMLTable 顧名是排列的像表格一樣。

NameWidth=* 是為了讓完整的檔名出現,apache 預設的,檔名太長會被切掉。

資料來源:
http://httpd.apache.org/docs/2.2/mod/mod_autoindex.html

Red Hat 將虛擬化技術由 XenSource 改為 KVM

ZDNet 的報導

Open Source 的祖宗級企業,Red Hat 也改用 KVM 作為其虛擬化技術的支援,但我目前為止都還沒找到一個可以將 win95 或 win98 虛擬的很好的虛擬系統,Dos 的後端當然沒問題,但顯示的部分都是很可憐的 640×480 16bit 或 800×600 8bit 真是…. 難道低階虛擬比較難?

KVM vs. VirtualBox vs. VMware on LINUX (一)

試用了這三種虛擬實機的軟體已有一點心得,因為沒有時間測出數據來,以下純粹是我個人使用上的感覺。

既然是 on LINUX,就先談效能,感覺上是 KVM > VB (VirtualBox) > VM (VMware)

所以其實我著重的當然是在 KVM 上,VM 也不能說它效能不好就爛到哪裡去,它是這個領域的最早跨進的業者,還是有它的實力在,以整體性來說,有錢當然是 VM 最省事配套也較完整。

先來一張圖: (同時跑三個 KVM,CentOS、WinXP、安裝 win98,其中 win98 最後安裝失敗)
CPU 的運算效能超好,幾乎不影響 host 這邊的操作,運作瓶頸是由於這台機器是 quad core 4G ram 一顆 sata HD,若某一個 KVM 有大量的硬碟 IO,則會有影響其它 KVM 與 host OS。

目前掛載 ntfs 最 OK 的 driver – ntfs3g

目前來說 Linux 掛載 ntfs 分割區最 OK 的是第三方所寫的 ntfs3g,Linux Kernel 本身所附的 ntfs block driver 讀取似乎沒什麼問題,但寫入就相當的可憐,ntfs3g 用到目前來說,一個 XP 掛載上來,直接用 tar 備份沒問題,甚至用 tar restore 回去,只有開機磁區 tar 不到,另外用 grub 去開機都沒問題。

例:

emerge ntfs3g

mount -t ntfs-3g /dev/sda1 /mnt/winxp

KVM vs. VirtualBox vs. VMware on LINUX (二)

再來談一下虛擬硬碟不開虛擬機直接掛載直接存取虛擬硬碟內的資料的問題。

google 後發現 KVM 與 VM 都可以不困難地把虛擬碟掛上來直接存取,但 Vbox 似乎是一件麻煩事,我就沒再找下去。這樣的做法有許多的好處,在想要複製同樣的虛擬機器時,可以以資料量複製,而不是以整個虛擬碟的大小複製,可以節省一些時間。

KVM 掛載法:
跳過前面的磁區即可以掛載。
例:

mount -o loop,offset=32256 somevhd.img /mnt/vhd

若是 ntfs,只要如前加裝 ntfs3g 就沒問題:
mount -t ntfs-3g -o loop,offset=32256 somevhd.img /mnt/vhd

VM 掛載法:
網路上有詳盡的方式要借助 nbd 的 module。
例:

modprobe nbd
./vmware-loop /path/to/WinXPPro.vmdk 1 /dev/nbd0 &
mount -o loop,force -t ntfs-3g /dev/nbd0 /mnt/vhd

Gentoo 嚐鮮 VirtualBox 2.0.4

VirtualBox 出新貨了。

Dowload List 裡沒有 ebuilds,又聽說預編版可以直接 pass USB 硬體給 Guest OS,只好抓 All distributions 下來裝,tar 開後告訢你:

VirtualBox has been installed successfully, but the kernel module could not
be built.  When you have fixed the problems preventing this, execute
/etc/init.d/vboxdrv setup
as administrator to build it.

就用 root 下指令吧:

# /etc/init.d/vboxdrv setup
/etc/init.d/vboxdrv: line 97: /sbin/functions.sh: 沒有此一檔案或目錄

打開 /etc/init.d/vboxdrv 這個檔,原來它會認我的系統是 Gentoo,開始上天下地找 function.sh 這個檔,原來 gentoo 新的架構已把 function.sh 移到 /etc/init.d/functions.sh,打開 /etc/init.d/vboxdrv 修改成

elif [ “$system” = “gentoo” ]; then
#. /sbin/functions.sh
. /etc/init.d/functions.sh
fail_msg() {
eerror “$1”

再執行就 OK 啦。

# /etc/init.d/vboxdrv setup
* Stopping VirtualBox kernel module …                                          [ ok ]
* Removing old VirtualBox kernel module …                                      [ ok ]
* Recompiling VirtualBox kernel module …                                       [ ok ]
* Starting VirtualBox kernel module …                                          [ ok ]

隨身 “大字集” 國語電子字典(下)

這個方式的效能會比直接在 Z 上裝上 pdaXrom 遜些,但為了保有我原來的操作介面(qtopia,最近改名了),這實在是一個好的方式!
需要的架構如下:

  1. 在 Qtopia 上能有 X 介面 (XQt)
  2. 找一塊空間(一個檔案),將其視為一個分割,新裝一個小的 linux 系統在裡面
  3. 透過簡單的參數設定,讓新裝的小 linux 系統上的應用程式顯示到 1.的 X 介面上

詳細的方式,參考 caleb 大大的一文 [Zaurus 3×00] 中文輸入正常!! gcin / scim 亦可用 XIM”

到這頁 http://xqt.sourceforge.jp/feed-testing/ 中,下載 XQt server 所需的 ipk 檔安裝,依最低需求及相依性:

有這個可執行第一步就完成了
zaurus xqt stardict gcin

其它的部分從參考頁中的 Step 4. ~ Step 9. 找一個空間(CF、SD 或內建硬碟上),我只要裝到有 stardict 和各個字典,我預計約400M,用 debootstrap 安裝一個沒有 kernel 的基本系統,debootstrap 程序後用 apt 裝好 stardict 和裝進要用的字典檔,為能拉動所執行的程式我再加裝了 icewm-lite,最後進行 Step12.,我的 chroot 後的 script 如下:

export HOME="/root"
export DISPLAY=0:0
export LC_ALL="zh_TW.UTF-8"
export LANGUAGE="zh_TW"
export XMODIFIERS=@im=gcin
export GTK_IM_MODULE=gcin
gcin &
stardict &
icewm-lite &

若要執行其它 X 的應用程式,在 debian 的 arm 小系統中加入進去即可。
其中利用第二行 DISPLAY 的參數,是要求新裝的 Debian 系統在下的指令是 X 應用程式時,顯示到本機的 0:0 去,這也是 *Unix 和 X window 有趣的地方!讓你有安裝虛擬機器的感覺,不需要特別安裝那些 virtualbox 或是 vmware 等虛擬專用軟體,就能有某程度的效果。

再查查其它字與成語。

zaurus xqt stardict gcin

zaurus xqt stardict gcin

zaurus xqt stardict gcin