發表文章

目前顯示的是 三月, 2012的文章

透過 grub2 來製作 Multiboot 的 LiveUSB

現在大部分的 Linux Distribution 都有提供 Livecd 的服務,但每次都要燒成 CD 或 DVD 也太不環保了,所以就想說使用 LiveUSB 來減少麻煩。但如果一個 USB 單單作為一套 Linux Distribution 的 LiveUSB 又覺得很浪費,因為一片 CD 才 600、700 MB,但 USB Disk 動不動都 8G、16G 了,所以就想說一個 Disk 多裝一些 Distribution 的 Livecd。於是就有了這篇文章。所有的動作皆在 Linux 環境完成(實驗環境:Ubuntu 10.04)。

準備隨身碟。(廢話)將隨身碟接到電腦後 umount(這是因為一般的電腦會 auto-mount,不 umount 無法重新格式化)刪除現有的 partition,建立一全新的 partition。將這個 partition 設為 bootable。格式化。sudo grub-install --root-directory=/media/XXX /dev/sdx其中大部分的步驟都可以用圖形介面的工具完成,如 Disk Utility,所以就不寫下 fdisk 的指令了(要用在查)。這樣就把 grub2 安裝好了。
接下來就是要設定 grub2 了。grub2 的設定檔為 /boot/grub/grub.cfg,其實 grub2 很不希望人家直接編輯 grub2 的設定檔!理論上,應該要透過 /etc/grub.d/40_custom 上新增自己的選項,然後透過 update-grub 來進行更新。不過誰理他 :p (其實也不是不理它,只是它預設會更改系統上的 grub2,要如何指定到 USB 上面的 grub 我懶的去查,所以還是懶 ...)。附帶一提,grub2 可以偵測系統內所有的作業系統,自行產生相對應的 menu,指令如下: os-probe
下面是我的 grub.cfg
=====================================
set timeout=30 set default=0
insmod ext2 set root='(hd0,1)' search --no-floppy --fs-uuid --set 869dc9c7-1b52-44d7-9e89-9a0e0f346939
這部份是…

cd 在哪裡?

今天同事問了一個下面的狀況:

同事:「我在 ubuntu 裡面執行 sudo cd /home/xxx/,為什麼系統會告訴我 『sudo: cd: command not found』」

第一個反應,怎麼可能?所以我用了 whereis、which 來進行搜尋,結果如下:


$which cd
$ whereis cd
cd:

真好玩,完全找不到!那我平常是在執行什麼??經過查詢一番,找到了下面的解釋:

$type cd
cd is a shell builtin

其實只是一個有趣的小常識,特此紀錄。

Openssl 產生憑證的步驟

人老了總是很難記住東西,所以還是作一下筆記吧。裡面的參數懶得說明,反正是給自己看的 :p

產生 Root CA:


openssl genrsa -des3 -out rootca.key 2048
openssl req -new -key rootca.key -out rootca.req
openssl x509 -req -days 7305 -sha1 -extfile /etc/ssl/openssl.cnf -extensions v3_ca -signkey rootca.key -in rootca.req -out rootca.crt

產生 CA:


openssl genrsa -out user01.key 2048
openssl req -new -key user01.key -out user01.req
openssl x509 -req -days 3650 -sha1 -extfile /etc/ssl/openssl.cnf -extensions v3_req -CA rootca.crt -CAkey rootca.key -CAserial rootca.srl -CAcreateserial -in user01.req -out user01.crt

讀取 CA 內容:


openssl x509 -text -in user01.crt