2008-07-30

用debootstrap安裝ubuntu linux

  最近開始把以前在linux下胡作非為的筆記整理出來。以下都是針對予兒家中電腦的設定,如要套用請自行更換其中指令及設定檔的內容。

  之前曾寫過一篇「用linux備份windows」 ,說明了LFS liveCD除了拿來安裝Linux From Scratch之外的妙用。前一陣子要在電腦上裝Ubuntu hardy的時候,由於燒錄機一直出飛盤,只好又拿LFD LiveCD來開刀哩。

  首先,簡單地利用cfdisk和mkreiserfs把需要用到的分割區處理好並mount到合適的位置。接著到http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/去抓debootstrap這支程式來建立基本的系統。予兒抓的是debootstrap_1.0.10_all.deb這個檔案,可以用如下的指令解開:

$ ar -x debootstrap_1.0.10_all.deb
$ tar zxpf data.tar.gz -C /
執行完畢,debootstrap應該就會出現在$PATH摸得到的地方,就可以用它來建立基礎的系統了:(以下假設新系統的root是位於/db)
$ debootstrap --arch i386 hardy /db http://ubuntu.csie.ntu.edu.tw/ubuntu
其中i386是這台老舊電腦的architecture,應該一般的pc用它都不會有問題,hardy是表示安裝ubuntu 8.04,那串網址則是台灣的mirror站,這樣才不會下載很久。

  但光有系統檔案是沒用的,還要有相對應的設定檔才行。在用Ubuntu LiveCD安裝的時候,這些設定檔基本上都會自動生出來,但既然燒錄機不爭氣,就只好自己刻一份設定檔出來了;所幸需要刻的設定檔並不多。首先是/etc/fstab(注意這些是相對於/db的檔案位置):

/dev/sda3 / reiserfs defaults 0 1 
/dev/sda5 swap swap defaults 0 0 
/dev/sda2 /boot reiserfs noatime,nodiratime,noauto 1 2 
/dev/sda6 /usr reiserfs noatime,nodiratime 0 0 
/dev/sda7 /var reiserfs noatime,nodiratime 0 0 
/dev/sda8 /home reiserfs noatime,nodiratime 0 0 
proc /proc proc defaults 0 0 
tmpfs /tmp tmpfs defaults 0 0
/etc/apt/sources.list:
deb http://ubuntu.csie.ntu.edu.tw/ubuntu/ hardy main restricted universe multiverse
deb-src http://ubuntu.csie.ntu.edu.tw/ubuntu/ hardy main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu hardy-security main restricted
/etc/network/interfaces:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
/etc/resolv.conf:(這裡是Hinet的DNS Server)
nameserver 168.95.192.1
nameserver 168.95.1.1
另外/etc/hostname和/etc/hosts也要記得填上內容。

  刻完設定檔,就準備進入新系統作基本的建設了。首先把LFS LiveCD的系統中關於系統資訊的東西mount進新系統中:

$ mount -t proc none /db/proc
$ mount -o bind /dev /db/dev
接著就可以chroot進新系統中,使用好用的apt裝東西了:
$ chroot /db

$ apt-get update
$ apt-get install ubuntu-standard
當然別忘了,linux是要有核心和boot loader才能開機的:
$ apt-get install grub
$ mkdir /boot/grub
$ cp /usr/lib/grub/i386-pc/* /boot/grub/
$ apt-get install linux-image-686 linux-restricted-modules-686
依自己的意思修改完/boot/grub/menu.lst之後,要把grub塞到MBR裡去:
$ cat << EOF | grub --no-floppy
root (hd0,1)
setup (hd0)
quit
EOF

最後,把user建好,密碼設好:

$ useradd -G plugdev,audio,cdrom yuhan --shell /bin/bash
$ install -o yuhan -m 700 -d /home/yuhan
$ passwd yuhan
這樣就得到一個簡潔而可以正常開機的系統囉!通常,予兒會在這個階段也順便把基本的開發工具(build-essentials之類的)和X-window系統也裝起來(予兒是用LXDE),再把備份的各種設定檔進去(如vimrc、bashrc、screenrc、gcin的設定、桌布……等等),重新開機後就有個賞心悅目的系統可以動工把平時需要的軟體裝進去了。

沒有留言: