Monthly Archives: June 2011

一個改善 Drupal 管理後台效能的 MySQL 設定參數

讀取模組列表時,系統龜速在跑,用 top 觀察 MySQL, Apache 並沒有狂吃 RAM,硬碟卻狂轉,等上至少十幾秒才會看到列表結果。調整過以下這個屬於 [mysqld] 的參數,情況大幅改善,主要作用是要 InnoDB engine 善用還很充裕的 RAM 而非硬碟:

innodb_flush_log_at_trx_commit = 2

調整過此參數值後,視機器狀況,讀取模組列表只需 1~4 秒。

製作直讀光碟 ISO 映像檔多重開機 USB 救急工具碟

以往要將這些 Live Linux OSes 裝進 USB 隨身碟裡,需花不少工夫,不過昨晚找到相關資料,可以使用 GRUB2 直接啟動 ISO image(s),相形之下簡單許多。

準備一枚視自己想塞多少系統進去,而相對剩下多少空間的隨身碟。既有的 FAT 檔案系統就可以了,已有的資料不必清除,但是建議製作這工具碟以前先備份這枚隨身碟的資料,以避免任何腦殘手滑造成的意外導致檔案遺失。

sudo grub-install --no-floppy --root-directory=/media/MBOOT /dev/sdb

其中 /media/MBOOT 是把隨身碟插進電腦後,系統自動掛載的資料夾;/deb/sdb 則是該隨身碟的裝置代號,請自行依自身情況代換。

sudo mkdir /media/MBOOT/iso

在這個隨身碟開一個 iso 目錄(呃,資料夾),放想要拿來直讀的 ISO images。並非任何的 Live CD 都可以用本篇的方法啟動,我測試過至少 Fedora, GeeXboX, Debian GNU/Linux, Clonezilla Live 都不行,得用老方法裝在特別規劃出來的分割區、或將光碟內容解到隨身碟裡另外處理啟動事宜。不過,我想要跑的那幾個救急工具能用就好了。

接著再寫一個 /media/MBOOT/boot/grub/grub.cfg 設定檔:

set color_normal='light-blue/black'
set color_highlight='light-cyan/blue'
set drive_label=MBOOT

menuentry "System Rescue CD" {
 loopback loop /iso/systemrescuecd-x86-2.8.1.iso
 linux (loop)/isolinux/rescuecd isoloop=/iso/systemrescuecd-x86-2.8.1.iso setkmap=us docache dostartx
 initrd (loop)/isolinux/initram.igz
}

menuentry "Parted Magic Disk Utilities 2012-07-13" {
 loopback loop /iso/pmagic_2012_07_13.iso
 linux (loop)/pmagic/bzImage iso_filename=/iso/pmagic_2012_07_13.iso edd=off load_ramdisk=1 prompt_ramdisk=0 rw loglevel=9 vga=normal livemedia noeject max_loop=256 vmalloc=288MiB
 initrd (loop)/pmagic/initrd.img
}

menuentry "Ubuntu 12.04 (i386)" {
 loopback loop /iso/ubuntu-12.04-desktop-i386.iso
 linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/iso/ubuntu-12.04-desktop-i386.iso noeject noprompt --
 initrd (loop)/casper/initrd.lz
}

menuentry "Ubuntu 12.04 (amd64)" {
 loopback loop /iso/ubuntu-12.04-desktop-amd64.iso
 linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/iso/ubuntu-12.04-desktop-amd64.iso noeject noprompt --
 initrd (loop)/casper/initrd.lz
}

menuentry "Arch Linux i686 (Archboot 2012.06)" {
 loopback loop /iso/archlinux-2012.06-1-archboot-dual.iso
 linux (loop)/boot/vmlinuz_i686 gpt loglevel=7 rootdelay=10
 initrd (loop)/boot/initramfs_i686.img
}

menuentry "Arch Linux x86_64 (Archboot 2012.06)" {
 loopback loop /iso/archlinux-2012.06-1-archboot-dual.iso
 linux (loop)/boot/vmlinuz_x86_64 gpt loglevel=7 rootdelay=10
 initrd (loop)/boot/initramfs_x86_64.img
}

menuentry "Arch Linux i686 (2012.07)" {
 set isofile="iso/archlinux-2012.07.15-netinstall-dual.iso"
 loopback loop /$isofile
 linux (loop)/arch/boot/i686/vmlinuz img_dev=/dev/disk/by-label/$drive_label img_loop=$isofile archisolabel=ARCH_201207
 initrd (loop)/arch/boot/i686/archiso.img
}

menuentry "Arch Linux x86_64 (2012.07)" {
 set isofile="iso/archlinux-2012.07.15-netinstall-dual.iso"
 loopback loop /$isofile
 linux (loop)/arch/boot/x86_64/vmlinuz img_dev=/dev/disk/by-label/$drive_label img_loop=$isofile archisolabel=ARCH_201207
 initrd (loop)/arch/boot/x86_64/archiso.img
}

menuentry "FreeBSD 9.0 i386" {
 set isofile=/iso/FreeBSD-9.0-RELEASE-i386-disc1.iso
 loopback loop $isofile
 kfreebsd (loop)/boot/kernel/kernel iso-scan/filename=$isofile noeject noprompt splash --
 kfreebsd_module (loop)/boot/mfsroot.gz type=mfs_root
}

menuentry "FreeBSD 9.0 x86_64" {
 set isofile=/iso/FreeBSD-9.0-RELEASE-amd64-disc1.iso
 loopback loop $isofile
 kfreebsd (loop)/boot/kernel/kernel iso-scan/filename=$isofile noeject noprompt splash --
 kfreebsd_module (loop)/boot/mfsroot.gz type=mfs_root
}

menuentry "Lenovo PC-DOCTOR" {
 linux16 /boot/memdisk
 initrd16 /iso/pc-doctor.img
}

menuentry "ThinkPad Update" {
 linux16 /boot/memdisk iso
 initrd16 /iso/7uuj48uc.iso
}

最後把設定檔裡提到的那些 ISO images 檔案都放進 iso 目錄裡,就完工了。

如設定檔所示,我放了 System Rescue CD 這個可以拿來清除 Windows 管理者密碼、救 NTFS 檔案系統的工具,這還只是它諸多功能當中的兩種,推薦每位苦命 MIS 都能準備這工作利器。

Parted Magic 則是拿來做磁碟分割管理、備份的好用工具,可以把它當成開源版本的 Partition Magic。

Ubuntu,這個還需要介紹嗎?雖然我很久以前就因為對它累積許多不滿而棄用,但是哪天出門在外臨時要借用他人電腦,在這枚隨身碟裡擺這一套 desktop 用途的 Live 系統,應該也是蠻好用的。

Arch Linux 是我目前使用的 Linux OS。

因為這枚工具碟不需要將分割區重劃為非 FAT16/FAT32 的檔案系統,所以還可以把 PortableApps 放進來,在 Windows 下也能使用不少可攜式、綠色軟體。

註:如果需要用到 Lenovo 的 PC-DOCTOR 及 ThinkPad BIOS Upadate CD,請另外參考這篇安裝 SYSLINUX/MEMDISK。

換成 GRUB2

參考[GRUB2 – ArchWiki],將啟動管理程式從 GRUB 換成 GRUB2,筆記一下:

  1. sudo pacman -S grub2-bios
  2. sudo modprobe dm-mod
  3. sudo grub_bios-install –boot-directory=/boot –no-floppy –recheck /dev/sda
  4. sudo cp /usr/share/grub/{unicode.pf2,ascii.pf2} /boot/grub/
  5. sudo grub-menulst2cfg /boot/grub/menu.lst.pacsave /boot/grub/grub.cfg

沒事換掉運作得好好的啟動管理程式,好像吃飽太閒,其實是打算來玩 [MultiBoot USB with Grub2 (boot directly from iso files) | panticz.de], [Boot Multiple ISO from USB via Grub2 using Linux | USB Pen Drive Linux] 在 USB 隨身碟裡直接啟動 ISO images。

台科大取票&崇德街挑戰記

請學妹幫忙訂展覽的優惠票,下午請了休假,到台科大找她取票。

台科大就在師大分部旁,所以我重溫了過去有陣子還窩在師大分部宿舍時的通勤路線。去程大約 50 分鐘。

回程想起,崇德街可以「直達」研究院路的事。失戀的那陣子,有次曾想過挑戰夜騎研究院路往崇德街回公館,卻臨時退縮了。此次卻不知從何而來的憨膽,就這樣騎上崇德街。

對這條路線沒有基本人文地理概念的人,可能不曉得為何要用「憨膽」來形容騎上一條山路,呃,其實這條路線沿路都是公墓。

之前騎公路車都放棄了,此次卻要騎一台較重的通勤登山車爬上去,好在坡度雖陡,但是坡長卻都還在我的肉腳可以負荷範圍內;縱使變速器老化、無法切換大盤至最小齒盤,但是單憑切換飛輪,也還夠用。

當可以看到木柵焚化廠的長頸鹿煙囪時,本想基於有圖有真相的精神拍照留念,但是啟動手機相機,卻接連重開機兩次,想到身在這風水寶地,選擇寧可信其有,不再執著留影。

下坡時,非常暢快、刺激,一掃疲累,心裡只想著一句話:「原來這裡的風景是這樣!」有些類似宜蘭員山、大同的沿線風光,兩側有著大量的竹林,卻又不一樣。等到看見中華科技大學時,知道將接回自己熟悉的景貌,也知道多少了卻了一樁想做的(傻)事,感到輕鬆愉快。

回程,也是 50 分鐘!