利用 Grub2 在硬碟中測試 Ubuntu 10.04 iso 檔

如果你已安裝了 9.10 ,在正式安裝之前,想搶先看看 10.04 的新功能,除了用
VM、usb 開機、網路開機、燒光碟之外,還可以直接用 iso 檔案來開機。

1. 編輯 /etc/grub.d/40_customer
sudo sudo gedit /etc/grub.d/40_customer

2. 加入 iso 檔的開機選單
# 以下例子 iso 檔放在 sdc6 fat32 分割區中
# 磁碟代號或 uuid 請自行改成實際的值
# 利用以下指令查看 uuid
# ls -l /dev/disk/by-uuid/
#-------------------------------------------
menuentry "ubuntu-10.04-netbook-i386" {
# set root=(/dev/sdc,6)
# savedefault
search --no-floppy --fs-uuid --set EBC5-7B3D
set isofile="/iso/ubuntu-10.04-netbook-i386.iso"
loopback loop $isofile
linux (loop)/casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper persistent iso-scan/filename=$isofile noprompt splash
initrd (loop)/casper/initrd.lz
}
menuentry "ubuntu-10.04-desktop-i386" {
set root=(/dev/sdc,6)
search --no-floppy --fs-uuid --set EBC5-7B3D
set isofile="/iso/ubuntu-10.04-desktop-i386.iso"
loopback loop $isofile
linux (loop)/casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper persistent iso-scan/filename=$isofile noprompt splash
initrd (loop)/casper/initrd.lz
}
menuentry "ubuntu-10.04-desktop-amd64" {
set root=(/dev/sdc,6)
search --no-floppy --fs-uuid --set EBC5-7B3D
set isofile="/iso/ubuntu-10.04-desktop-amd64.iso"
loopback loop $isofile
linux (loop)/casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper persistent iso-scan/filename=$isofile noprompt splash
initrd (loop)/casper/initrd.lz
}
#-------------------------------------------

3. sudo update-grub

eMule 0.50a 更新

更新 eMule 加大 Buffer 版到 0.50a
ed2k://|file|emule0.50a1.rar|
1898037|B175A03C9B285879869534EDF3AD2D62|h=SSZIM3KHUFVQFVQDFYE7NARGLUREKAV2|/

使 用 eMule 下載,
Tools -> Paste eD2K Links...
或到原來發布的網頁下載 (Google Page Creator 不見了,網頁被轉到協作平台了)
http://sites.google.com/site/kinmenalex/

這次 0.50a 的更新在第一次執行的時候,eMule 好像在轉換什麼東西,會執行得比較久,第二次以後就恢復正常了。

對齊 df title

在中文語系下有些console顯示的項目無法對齊,只好來作些多餘的動作,切回英文顯示,然後再切換回來。

~/bin/df.sh
--------------------------------------------
#/bin/sh
#alias df='~/bin/df.sh'
lang=$LANG
export LANG=en
df $1 $2 $3
export LANG=$lang
lang=
--------------------------------------------

.bashrc
--------------------------------------------
...
alias df='~/bin/df.sh'
alias dir='ls -l --color=auto'
...
--------------------------------------------

將Clonezilla Live放在硬碟中(更新版本)

1. 下載Clonezilla live iso檔,放到適當位置。

2. sudo gedit /etc/grub.d/40_custom (ubuntu 14.04, grub2)
加入以下內容

# 2014/05/01 更新
#----------------------------------------------------
menuentry "clonezilla-live-2.2.2-37-amd64.iso" {
  set isofile="/home/alex/iso/clonezilla-live-2.2.2-37-amd64.iso"
  loopback loop $isofile
  linux (loop)/live/vmlinuz boot=live username=user config quiet noswap edd=on nomodeset noeject locales="zh_TW.UTF-8" keyboard-layouts="NONE" ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no vga=788 toram=filesystem.squashfs ip=  nosplash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=no findiso=$isofile
  initrd (loop)/live/initrd.img
}
#----------------------------------------------------

然後作 sudo update-grub
就可以在開機選單選擇 Clonezilla 開機了

# 2012/09/17 更新
#----------------------------------------------------
menuentry "clonezilla-live-1.2.12-67-amd64.iso" {
  set isofile="/home/alex/iso/clonezilla-live-1.2.12-67-amd64.iso"
  loopback loop $isofile
  linux (loop)/live/vmlinuz boot=live config noswap nolocales edd=on nomodeset noprompt ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="NONE" ocs_live_batch="no" ocs_lang="zh_TW.UTF-8" vga=788 toram=filesystem.squashfs ip=frommedia nosplash findiso=$isofile
  initrd (loop)/live/initrd.img
}
#----------------------------------------------------

# 2013/01/21 更新
#----------------------------------------------------
menuentry "clonezilla-live-2.0.1-15-i686-pae.iso" {
  set isofile="/home/alex/iso/clonezilla-live-2.0.1-15-i686-pae.iso"
  loopback loop $isofile
  linux (loop)/live/vmlinuz boot=live config noswap edd=on nomodeset noprompt locales="zh_TW.UTF-8" keyboard-layouts="NONE" ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no vga=788 toram=filesystem.squashfs ip=frommedia  nosplash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.blacklist=yes findiso=$isofile
  initrd (loop)/live/initrd.img
}
#----------------------------------------------------


# 2015/01/14 更新
#----------------------------------------------------
menuentry "clonezilla-live-2.3.1-18-i686-pae.iso" {
  set isofile="/home/alex/iso/clonezilla-live-2.3.1-18-i686-pae.iso"
  loopback loop $isofile
 linux (loop)/live/vmlinuz boot=live username=user config quiet noswap edd=on nomodeset nodmraid noeject locales="zh_TW.UTF-8" keyboard-layouts="NONE" ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no vga=788 toram=filesystem.squashfs ip=  nosplash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1 findiso=$isofile
  initrd (loop)/live/initrd.img
}
#----------------------------------------------------

重灌 Windows 後,還原 Ubuntu Grub 開機選單

重灌 xp 後 ubuntu grub 開機選單會被蓋掉
使用 Live CD 開機來還原

1. 變成 root
sudo -i

2. 先觀察安裝在哪裡
fdisk -l

3. 這裡以 /dev/sda8 為例
mount /dev/sda8 /mnt
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
chroot /mnt

4. 安裝 grub
grub-install /dev/sda

5. 按 Ctrl+D 離開 chroot
# Press Ctrl+D to exit out of the chroot

umount /mnt/dev
umount /mnt/proc

6. 完成

Reference:
Recover Grub 2 via LiveCD
https://wiki.ubuntu.com/Grub2#Recover%20Grub%202%20via%20LiveCD

改更 Ubuntu 中文目錄名稱

中文目錄在進 Terminal 操作時比較麻煩,Google到一個更改目錄名稱的方法

1. 先把語系設成英文
export LANG=en_US
2. 執行更新名稱
xdg-user-dirs-gtk-update
3. 然後設回來
export LANG=zh_TW.UTF-8
4. 再執行
xdg-user-dirs-gtk-update
保留舊名稱,勾選不再問我這個問題

PS. 從此以後再執行
xdg-user-dirs-gtk-update
會變成沒有作用
如果想要變回來,要先把設定檔還原
echo zh_TW > ~/.config/user-dirs.locale


相關檔案
~/.config/user-dirs.dirs
~/.config/user-dirs.locale
~/.gtk-bookmarks

dvb-t 數位電視 VLC 網路串流設定

用 VLC 在區域網路上作 Multicast 播放數位電視的訊號

1. 先在 Client 及 Server 電腦上都裝上 VLC media player ( http://www.videolan.org/vlc/)

2. 然後在裝了 USB 電視棒 Server 端的電腦執行下面其中一行指令
(它把同一個頻率中的三個節目分別廣播到 227.2.2.7:2227, 228.2.2.8:2228, 229.2.2.9:2229 這三個 multicast 位址)

// 中視
"C:\Program Files\VideoLAN\VLC\vlc.exe" --ts-es-id-pid --programs="100,101,102" dvb-t://frequency=533000000 --dvb-bandwidth=6 --sout-standard-access=udp --ttl=10 --miface-addr="192.168.1.1" --sout-standard-mux=ts :sout="#duplicate{dst=std{dst=227.2.2.7:2227},select=program=100,dst=std{dst=228.2.2.8:2228},select=program=101,dst=std{dst=229.2.2.9:2229},select=program=102}"
// 公視
"C:\Program Files\VideoLAN\VLC\vlc.exe" --ts-es-id-pid --programs="201,202,203" dvb-t://frequency=545000000 --dvb-bandwidth=6 --sout-standard-access=udp --ttl=10 --miface-addr="192.168.1.1" --sout-standard-mux=ts :sout="#duplicate{dst=std{dst=227.2.2.7:2227},select=program=201,dst=std{dst=228.2.2.8:2228},select=program=202,dst=std{dst=229.2.2.9:2229},select=program=203}"
// 民視
"C:\Program Files\VideoLAN\VLC\vlc.exe" --ts-es-id-pid --programs="300,301,302" dvb-t://frequency=557000000 --dvb-bandwidth=6 --sout-standard-access=udp --ttl=10 --miface-addr="192.168.1.1" --sout-standard-mux=ts :sout="#duplicate{dst=std{dst=227.2.2.7:2227},select=program=300,dst=std{dst=228.2.2.8:2228},select=program=301,dst=std{dst=229.2.2.9:2229},select=program=302}"
// 台視
"C:\Program Files\VideoLAN\VLC\vlc.exe" --ts-es-id-pid --programs="400,401,402" dvb-t://frequency=581000000 --dvb-bandwidth=6 --sout-standard-access=udp --ttl=10 --miface-addr="192.168.1.1" --sout-standard-mux=ts :sout="#duplicate{dst=std{dst=227.2.2.7:2227},select=program=400,dst=std{dst=228.2.2.8:2228},select=program=401,dst=std{dst=229.2.2.9:2229},select=program=402}"
// 華視
"C:\Program Files\VideoLAN\VLC\vlc.exe" --ts-es-id-pid --programs="501,502,503" dvb-t://frequency=593000000 --dvb-bandwidth=6 --sout-standard-access=udp --ttl=10 --miface-addr="192.168.1.1" --sout-standard-mux=ts :sout="#duplicate{dst=std{dst=227.2.2.7:2227},select=program=501,dst=std{dst=228.2.2.8:2228},select=program=502,dst=std{dst=229.2.2.9:2229},select=program=503}"
// Hi_HD
"C:\Program Files\VideoLAN\VLC\vlc.exe" dvb-t://frequency=569000000 --dvb-bandwidth=6 --ttl=10 --miface-addr="192.168.1.1" --sout-standard-access=udp --sout-standard-mux=ts :sout="#duplicate{dst=std{dst=227.2.2.7:2227},select=program=200}"

--miface-addr="192.168.1.1" // IP address for the default multicast interface in multiple nic environment.
這個參數是指定輸出介面位址,如果有多張網卡,請改成想要輸出的網卡IP,單張網卡時可以不要這個參數。

3. 在想要看電視的 Client 端,把下面內容存成 TV.m3u ,然後用 VLC 開啟就可以了
(你可以同時開3個VLC 同時看3個節目)
-------------------------------
#EXTM3U
udp://@227.2.2.7:2227
udp://@228.2.2.8:2228
udp://@229.2.2.9:2229
--------------------------------



// 頻道資料
:usage
echo ;; Taipei
echo ;; Frequency in KHz, Video PID, Audio PID, Program Name
echo 1=533000, 03E9, 03EA, CH24-1:中視 (101)
echo 2=533000, 03F3, 03F4, CH24-2:中視-新聞台 (102)
echo 3=533000, 03FD, 03FE, CH24-3:中視-綜藝台 (103)
echo 4=545000, 07DB, 07DC, CH26-1:公視 PTS (201)
echo 5=545000, 07E5, 07E6, CH26-2:DiMoTV (202)
echo 6=545000, 0000, 07F0, CH26-3:HakkaTV (203)
echo 7=557000, 0BB9, 0BBA, CH28-1:民視 (300)
echo 8=557000, 0BC3, 0BC4, CH28-2:民視交通台 (301)
echo 9=557000, 0BCD, 0BCE, CH28-3:民視新聞台 (302)
echo 10=581000, 0FA1, 0FA2, CH32-1:台視 TTV (400)
echo 11=581000, 0FAB, 0FAC, CH32-2:台視財經台 (401)
echo 12=581000, 0FB5, 0FB6, CH32-3:台視健康娛樂台 (402)
echo 13=593000, 1393, 1394, CH34-1:華視 CTS (501)
echo 14=593000, 139D, 139E, CH34-2:華視教育台 (502)
echo 15=593000, 13A7, 13A8, CH34-3:華視休閒台 (503)


// VLC 在本機看電視的播放清單,channels.conf , utf8
---------------------------------------------------------------------------------------------
公視 PTS:545000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:2011:2012:201
DiMoTV:545000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:2021:2022:202
HakkaTV:545000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:2031:2032:203
民視:557000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:3001:3002:300
民視交通台:557000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:3011:3012:301
民視新聞台:557000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:3021:3022:302
Hi_HD:569000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:0:200
台視 TTV:581000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:4001:4002:400
台視財經台:581000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:4011:4012:401
台視健康娛樂台:581000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:4021:4022:402
台視廣播台:581000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:4042:404
華視 CTS:593000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:5011:5012:501
華視教育台:593000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:5021:5022:502
華視休閒台:593000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:5031:5032:503
中視:533000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1001:1002:100
中視新聞台:533000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1011:1012:101
中視綜藝台:533000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1021:1022:102
---------------------------------------------------------------------------------------------

Ubuntu player mp3 tag 解決方案

終於找到能讓 mp3 在 Ubuntu 的 Rhythmbox, Audacious,
Windows 的 Winamp 及隨身的 usb mp3 player 都能正確的顯示 tag,不再出現亂碼。
Rhythmbox, Audacious 要的是 ID3v2.4 UTF-8 ,但是 usb mp3 player 要的是 ID3v2.3 UTF-16,幸好還有一種叫 APEv2 是 UTF-8,所以只要在 mp3 裡同時存下 ID3v2.3 及 APEv2 就可以了。
工具用的是 Mp3tag:

fixmbr using Ubuntu Live CD

如果你厭倦了 grub2 ,想回復裝在 sata 硬碟的 mbr ,開機直接進 Windows,
除了用 Windows 開機光碟修復,還可以用 Ubuntu Live CD 來做
首先用
sudo fdisk -l
確定要回復的硬碟(通常是sda)
然後
sudo apt-get install lilo
sudo lilo -M /dev/sda mbr

References:
Restoring GRUB2 / XP / Vista / Win 7 Bootloaders
http://ubuntuforums.org/showthread.php?t=1195275
http://ubuntuforums.org/showthread.php?t=1014708

移動 ubuntu 9.10 wubi install 到硬碟

移動 ubuntu 9.10 wubi install 到硬碟

如是你是用 wubi 安裝 ubuntu,試用得不錯,而想把它改放到真實的硬碟以取得更好的效率時,以下的步驟將 wubi 安裝複製到硬碟並且可獨立開機。

1. 先用 GParted 建立新的 root partition 及 swap partition
安裝 gparted,如果需要 resize ntfs 分割,則加上 ntfsprogs
sudo apt-get install gparted ntfsprogs

root大小最少3G以上,看使用狀況而定;swap如果要啟用休眠的話,要比主記憶體大一點,若不需要休眠則沒差,有就好。
這裡以 /dev/sdc5, /dev/sdc6 為例

2. 假設掛載到 /media/wubihd
(建立 partition 時命名為 wubihd 或用 sudo mount /dev/sdc5 /media/wubihd)

將Clonezilla Live放在硬碟中

參考: http://drbl.nchc.org.tw/clonezilla/clonezilla-live/livehd.php

1. 下載Clonezilla live iso檔

2. 修改 /etc/grub.d/40_custom (以 Ubuntu 9.10 為例)
加入以下內容
#----------------------------------------------------
menuentry "Clonezilla live 1.2.3-21" {
set isofile="/home/alex/iso/clonezilla-live-1.2.3-21.iso"
loopback loop $isofile
linux (loop)/live/vmlinuz boot=live union=aufs noswap nolocales noprompt ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="NONE" ocs_live_batch="no" ocs_lang="zh_TW.UTF-8" vga=788 toram=filesystem.squashfs ip=frommedia findiso=$isofile
initrd (loop)/live/initrd.img
}
#----------------------------------------------------
然後作 sudo update-grub2
就可以在開機選單選擇 Clonezilla 開機了

Ubuntu 9.10 Live CD pxe 網路開機設定

Ubuntu 9.10 Live CD pxe 網路開機設定

// reference: PXEInstallServer
https://help.ubuntu.com/community/PXEInstallServer
https://wiki.ubuntu.com/LiveCDNetboot

// install software

apt-get install inetutils-inetd
apt-get install tftpd-hpa
apt-get install dhcp3-server
apt-get install nfs-kernel-server


// Configure tftpd-hpa

alex@Karmic:/# vim /etc/default/tftpd-hpa
#Defaults for tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"
alex@Karmic:/# /etc/init.d/tftpd-hpa restart


// Configure dhcpd

default-lease-time 259260;
max-lease-time 720000;

subnet 172.23.84.0 netmask 255.255.254.0 {
range 172.23.84.101 172.23.84.127;
option routers 172.23.84.254;
option subnet-mask 255.255.254.0;
option domain-name-servers 172.23.5.1, 168.95.1.1;
filename "pxelinux.0";
next-server 172.23.84.88;
}

alex@Karmic:/# /etc/init.d/dhcp3-server restart


// Configure nfs

alex@Karmic:/# vim /etc/exports
/home/livecd 172.23.80.0/20(async,no_root_squash,no_subtree_check,ro)

alex@Karmic:/# /etc/init.d/nfs-kernel-server reload


// Get file

Step1: 先抓 ubuntu desktop CD-ISO:

Step2: 取出光碟內 casper/*,將 filesystem.* 放到 nfs export 出來的目錄 /home/livecd/desktop/casper,
initrd.gz (initrd.lz) 與 vmlinuz 放到 /var/lib/tftpboot/desktop/
Step3: 把 ftp://archive.ubuntu.com/ubuntu/dists/karmic/main/installer-i386/current/images/netboot/
裡所有的檔案下載到TFTP server的根目錄 /var/lib/tftpboot/。

// Add boot menu

alex@Karmic:/var/lib/tftpboot# vim ubuntu-installer/i386/boot-screens/text.cfg
// ------------------------
default desktop
LABEL desktop
menu label Ubuntu 9.10 ^Desktop Live
menu default
kernel desktop/vmlinuz
append initrd=desktop/initrd.lz boot=casper netboot=nfs nfsroot=172.23.83.22:/home/livecd/desktop locale=zh_TW --
LABEL custom
menu label Ubuntu 9.10 Desktop ^Custom
kernel custom/vmlinuz
append initrd=custom/initrd.gz boot=casper netboot=nfs nfsroot=172.23.83.22:/home/livecd/custom locale=zh_TW --
LABEL netbook
menu label Ubuntu 9.10 ^Netbook Remix
kernel netbook/vmlinuz
append initrd=netbook/initrd.lz boot=casper netboot=nfs nfsroot=172.23.83.22:/home/livecd/netbook locale=zh_TW --
// ------------------------
alex@Karmic:/var/lib/tftpboot#

alex@Karmic:/var/lib/tftpboot$ cat pxelinux.cfg/default
include ubuntu-installer/i386/boot-screens/menu.cfg
default ubuntu-installer/i386/boot-screens/vesamenu.c32
prompt 0
timeout 100
alex@Karmic:/var/lib/tftpboot#


// 另外用 remastersys還可製作自已的 Live CD
http://www.geekconnection.org/remastersys/ubuntu.html
http://www.dedoimedo.com/computers/remastersys.html

製作 ubuntu 開機隨身碟,並更改預設語言為 zh_TW

1. 用 ubuntu 9.10 Live 開機製作 USB boot 隨身碟
參考 http://www.pendrivelinux.com/create-a-ubuntu-9-10-live-usb-from-cd/

2. 更改預設語言
sudo -i
安裝 gfxboot
apt-get install gfxboot
apt-get install gfxboot-theme-ubuntu

cd /usr/share/gfxboot-theme-ubuntu/

# 編輯 Makefile
# 將 "DEFAULT_LANG =" 改成 "DEFAULT_LANG = zh_TW"

make

cp /usr/share/gfxboot-theme-ubuntu/boot/message bootlogo

# 將 bootlogo 複製到隨身碟 /syslinux 目錄下
# 如要用其他的檔名
# 也可以編輯 syslinux.cfg
# 改這一行 "gfxboot bootlogo" 即可 (要用短檔名)
# 順便把時間調少一點 "timeout 80" // 看起來單位是 1/10 秒

參考資料
http://0rz.tw/ayyKb

洋蔥頭表情符號 加到 Discuz 7.0

1. 下載 onion_custom_emoticons.zip
[ 洋蔥酷樂部 表情壓縮檔載點 ]
http://blog.roodo.com/onion_club/archives/1656613.html

2. 解開 onion_custom_emoticons.zip
改名字 (因為 Discuz 不吃中文的檔名,所以要把裡面的檔案改成英文檔名)

把以下內容存成批次檔,放到同一個目錄執行即可。

Ubuntu Stop USB Disk automount

在使用 gparted 編輯隨身碟的時候,一有變動它就 automount 回來,造成錯誤。

要關掉 automount
按 Alt-F2 或使用 Terminal 執行
$ gconf-editor

apps --> nautilus --> preferences
Uncheck the "media_automount" option

這樣就不會再被打擾了 :-)

eMule 0.49c File Buffer Time Limit

在最近一次的 eMule 官方版 0.49c 中它新增了一個可更改的設定,
"FileBufferTimeLimit"
可以用來改變從緩衝區寫到磁碟的頻率(間隔時間),
這和我之前在自已的MOD版新加的名字和功能都一模一樣。
http://kinmenalex.blogspot.com/2008/12/blog-post.html
只不過官方版需要自已編輯 preferences.ini 然後把這一行加入,
FileBufferTimeLimit=1800
而我的MOD版已把設定的界面也寫好了。

因為官方版的 Buffer上限沒有加大,
而且 FileBufferTimeLimit 如果你沒設的話預設值是60秒,
所以如是你是用官方版的話,建議是加入這一行,然後設一個很大的值,
讓 Buffer 滿了自然的寫入磁碟,減少硬碟寫入次數,也可降低系統的負載。

eMule Buffer 加大版更新到 0.49c
http://kinmenalex.googlepages.com/

#---------------------------------------------------------------------------------
eMule 0.49c

Changes:

  • Added the preferences.ini only option "FileBufferTimeLimit" ("eMule" section) which lets you set the maximum seconds before flushing the buffer of downloading files (default 60)
#---------------------------------------------------------------------------------

Install Ubuntu to USB Disk & Make USB boot CD

以下適用想把 Ubuntu 裝到 USB 隨身碟,
但 BIOS 不支援從 USB 開機的電腦,

BIOS 開機選成 CDROM,
使用 LiveCD 直接安裝到 4G 以上的隨身碟,

因為 BIOS 不支援從 USB 開機,
所以還是用 LiveCD 重開
選擇“試用而不改變計算機的任何內容” 啟動到桌面,
這時後應該可以辨認到剛裝好 Ubuntu 的隨身碟,
就可以用來製作專屬的 USB boot CD
UbuntuBootCDForUSB_8.10.iso
建議使用RW來作開機CD,
方便修改選項或是更新 kernel 時可重複使用。
#---------------------------------------------------------------------------------------------------------
# Make USB boot CD
# 由 LiveCD 製作 USB 開機光碟
# 使用終端機
ubuntu@ubuntu:~$ mkdir -p bootcd/boot/grub
ubuntu@ubuntu:~$ cp /media/disk/usr/lib/grub/i386-pc/stage2_eltorito bootcd/boot/grub/
ubuntu@ubuntu:~$ cp /media/disk/boot/grub/menu.lst bootcd/boot/grub/
# /media/disk 中的 disk 應該要是裝好 Ubuntu 的 USB partition 的名字

ubuntu@ubuntu:~$ gedit bootcd/boot/grub/menu.lst
# 編輯 menu.lst
# 把其中的這一行 "uuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
# 換成 "root (cd)" 即可
#---------------------------------------------------------------------------------------------------------
title Ubuntu 8.10, kernel 2.6.27-11-generic
root (cd)
kernel /boot/vmlinuz-2.6.27-11-generic root=UUID=9d32cf82-dc7a-4e17-a4b8-f8d6a89aa1f0 ro locale=zh_TW splash
initrd /boot/initrd.img-2.6.27-11-generic
#---------------------------------------------------------------------------------------------------------

# 然後複製開機的檔案,kernel 更新時請複製對應的版本。
ubuntu@ubuntu:~$ cp /media/disk/boot/vmlinuz-2.6.27-11-generic bootcd/boot/
ubuntu@ubuntu:~$ cp /media/disk/boot/initrd.img-2.6.27-11-generic bootcd/boot/

# 確認檔案
ubuntu@ubuntu:~$ ls bootcd/boot
grub initrd.img-2.6.27-11-generic vmlinuz-2.6.27-11-generic
ubuntu@ubuntu:~$ ls bootcd/boot/grub
menu.lst menu.lst~ stage2_eltorito

# 製作開機 ISO 檔
ubuntu@ubuntu:~$ sudo mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o UbuntuBootCDForUSB.iso bootcd
ubuntu@ubuntu:~$ ls
bootcd Desktop UbuntuBootCDForUSB.iso 公共 圖片 影片 文件 模板 音樂

# 複製到可以燒錄的地方
ubuntu@ubuntu:~$ mv UbuntuBootCDForUSB.iso /media/RALLY2/
ubuntu@ubuntu:~$

# 完成
#---------------------------------------------------------------------------------------------------------

Install Ubuntu to USB Disk

以下適用想把 Ubuntu 裝到 USB 隨身碟
但 bios 不支援從 USB 開機的電腦

使用 LiveCD 直接安裝
使用 VMware mount ISO ubuntu-8.10-desktop-i386.iso
用 4G 以上的隨身碟
插入 USB Disk
安裝

然後 製作 USB boot
UbuntuBootCDForUSB_8.10.iso

VMware mount USB boot 開機
或燒成CD 然後 BIOS 選成CD開機
建議使用RW來作開機CD
方便修改選項或是更新 kernel 時可重複使用。

打造不傷硬碟驢子

開始用 eMule 是在 2005年2月14日 (cryptkey.dat的建立日期),到現在已累積下載超過 1TB。
大家都說養動物會傷硬碟,的確看著下載時一直閃爍的硬碟燈,我想大家都會這麼認為,
試著去加大 eMule 的 Extended->File buffer size 到 1.5MB,也不見有明顯效果,
後來去看了 eMule 的 Source code 才發現除了buffer size 外,還有時間的因素,
eMule 對每個下載的檔案,不管 Buffer 有沒有滿,每超過1分鍾,都會把強制資料 flush 寫入磁碟,
因此當下載檔案多的時候,硬碟隨時都在寫入。這讓我很生氣,空有 Buffer 的設計卻無法
達到減少硬碟負荷,這時候才有了 build 自已的 eMule 的想法,打造出這一隻不傷硬碟的驢子。

請從這裡下載 (會配合 Official 版本更新)
http://kinmenalex.googlepages.com/

主要功能
eMule -> Options -> Extended
File buffer size 上限從 1.5 MB 調到 10 MB
新增 Total buffer limit 設定 (全部檔案所能使用的記憶體上限)
新增 Max buffer time 設定 (自由設定緩衝寫入的頻率,設成 30 分鐘一次就足夠了)


ps.
對曾在這個 blog 留言的人說聲抱歉,因為我可能要很久才會有回應。

PSP ISO 壓縮程式 CISO 改

ciso 是 iso 與 cso 間的轉換程式,可將 iso 壓縮變小,節省記憶棒空間。但壓縮後讀取時需耗費cpu 時間去解,有時會造成讀取較慢,所以這是一種空間與時間的交換。另外在壓縮的時過程中,並不是所有的檔案都能順利變小,有時反而會變糟糕,大多數是因為原來檔案已經是某種壓縮後的形式,這時候 ciso 會將這些部分用未壓的區塊存下(保持原來的樣子),將來在讀取的時候也不需耗時去解。經過一些分析後發現,有些區塊很接近壓不下來的狀態(就算用壓縮的形式存下來也爭取不到多少空間),但如果用未壓的形式存下來卻可以節省讀取的時間。
我在 ciso 的程式中加入了一個參數,用來決定多少 % 之上要存成未壓的區塊(原本預設是 100%),可用來調整這兩者之間的平衡。

Download:http://kinmenalex.googlepages.com/ciso.zip
MD5: 582799B46DBAE9C0CC19CA5594342B59
Source: http://kinmenalex.googlepages.com/ciso_src.zip
MD5: F8F856290848DDA540EB5D304ECBD83F

舉一個 iso 檔為例子
當未壓 % 由預設的 100 調成 95 時,
壓縮率下降了 1% (62%-->63%) , 也就是大小只增加了 1%,
但不需解壓的部分卻增加了 38% (13%-->51%)