TAG

首都機能移轉 (2) 歌詞 (2) 靠北文 (40) 戲言 (30) 糟糕 (7) ACG (23) Assembly (2) Boost (2) C (31) C++ (69) CMake (4) CSIE (67) Debian (34) Design_Pattern (2) Django (1) Eclipse (1) en_US (13) FFmpeg (3) FoolproofProject (26) FreeBSD (2) Git (4) GNU_Linux (65) IDE (5) Java (11) JavaScript (19) KDE (15) Khopper (16) KomiX (3) Kubuntu (18) Life (1) Lighttpd (2) Mac_OS_X (2) Opera (1) PHP (2) PicKing (2) Programing (21) Prolog (1) Python (7) QSnapshot (2) Qt (30) Qt_Jambi (1) Regular_Expression (1) Shell_Script (7) Talk (98) VirtualBox (7) Visual_Studio (13) Windows (18) zh_TW (36)

2007年1月28日 星期日

與Linux的第一次戰爭(上)

  其實我從11月時就一直想重灌了,不過換OS可不是換瀏覽器,這要動的可是根本上的東西,而我實在是沒什麼時間去搞它。
  主要是,單純重灌Windows的話,由於檔案系統不變,以及要用的程式庫我早己準備完成,加上我把硬碟割得很細,因此只要format C就好,反而是更新檔花滿久時間。
  而要是換OS的話,影響可大了。
  第一,檔案系統的不同。Linux雖然可以支援NTFS,不過寫入的地方有點問題,而Windows根本是除了VFAT之外就不認其他檔案系統了。這害我要先把檔案全部都備份一次。而長年BT下來的東西實在是....
  第二,原本能用的程式現在全部要找代用品,包括PieTTY。
  第三,該死的Driver....這方面永遠是Linux的痛腳。
  基於以上的理由,我之前一直都是用VMware試裝Linux,順便摸索一下哪個發行版比較好上手。
  在經過了短暫的討論之後,選了Ubuntu作為踏入Linux的第一步。為什麼選它而不選台灣使用人數最多的Fedora Core?....其實最主要原因是因為....我討厭人多的地方(爆),於是像Ubuntu這種新興的發行版就變成了很適合我的環境。
  當然它也是有其他的優點囉。一個是安裝光碟即附帶了LiveCD的功能,使用LiveCD的時候可以在不安裝入硬碟的狀況下就試用OS,重開機之後又是原本的OS,不過因為是載入記憶體,所以記憶體要夠大才能順,比較鳥的是,CD版的安裝片想安裝的話就一定要先進入LiveCD才能點選安裝
  另外就是它用的是Debian承襲下來的APT套件管理系統,這個實在是方便地沒話說啊!只要簡單的"sudo apt-get update && sudo apt-get upgrade"就可以更新所有套件,而且自動處理好套件的相依問題,害我有點不太習慣RPM的方式....
  然後就是GNOME和KDE之間的選擇了....在兩個都裝過之後,我選了看起來配色比較明亮,圖示比較大的KDE,加上我用Adept比較順手,而且也可以順便玩玩Konqueror,至少它也是通過Acid2的Browser之一啊
  最後當然就是愉快的試裝啦!因為我的CPU是64位元,再加上不太了解Ubuntu的版號關係,就選了"Kubuntu 6.10 desktop amd64"版來裝....
  然後就是麻煩的開始....
  原則上,沒什麼犯難精神的人,就選6.06.1的i386版就好了
  先由最開始來說好了。
  如果你有DVD的話,最好還是去找DVD版。因為CD版我裝起來怪怪的,而且DVD版有直接安裝到硬碟的選項,CD版一定要先進入LiveCD才能安裝。
  記得在選單這裡就要先按F2選你要的語言,因為DVD版的安裝介面不會讓你改語言。
  一開始會先叫你選鍵盤類型,通常台灣都是用美式鍵盤,因此不用讓它自動偵測,直接用預設值即可。
  然後會出現的是第一個小boss:磁碟分割。
  這裡我用CD版安裝時遇到的白痴狀況是,我無法調整分割大小,介面是一片空白。DVD版的純文字介面就沒有任何問題。
  如果你對它的預設配置很滿意,那麼你可以跳過下一段的說明。
  既然你看了這段,就假設你需要自行分配磁碟分割,那麼就有必要先解釋一下Unix系的硬碟分割概念。
  說起來其實不難,分割區主要分為主要分割區延伸分割區邏輯分割區三種。
  主要分割區和延伸分割區加起來不可以超過四個。而延伸分割區只能拿來當成邏輯分割區的容器,邏輯分割區也只能從延伸分割區中建立。基本上如果沒需要割超過四個磁碟區的話,全部都用主要分割就好了。
  Unix對於硬碟都是以給代號的方式辨認,規則如下:
硬體都是掛載於/dev目錄下。
IDE裝置是hd開頭,SCSI和SATA裝置是sd開頭。
第一個裝置會在後面加a,第二個則是b,以此類推。
裝置的第一個分割區的代號為1,第二個是2,以此類推。邏輯分割區會從5開始編。光碟機因為不可能有分割區,故不會加代號。
  舉例來說,我有一個IDE光碟機接在第一個,一個IDE硬碟接在第二個,無分割,一個SATA硬碟,有三個分割區;那麼我的光碟機代號為/dev/hda,IDE硬碟為/dev/hdb1,SATA硬碟分別為:/dev/sda1,/dev/sda2,/dev/sda3。
  了解了這些之後,還要知道,Unix是以資料夾去掛載硬碟,跟Windows用代號來區隔的概念有點差異,但是相去不遠。而Unix在根目錄底下的每個資料夾都有預設的用途,所以在分配磁區的時候就決定了該磁區的用途,因此這邊是需要花心思的地方。
/:根目錄。一定要給它一個分割區,而其他沒有分配到磁區的資料夾也會放到根目錄底下,所以要注意它的容量。一般建議是不要小於4GB。
swap:交換暫存檔,這個也是必要分割。跟Windows上的虛擬記憶體地位相同,不同的是由於Unix對記憶體運用良好,如果有512MB以上的記憶體,常會一天下來沒用到幾MB。我的建議是給個256MB就算很大了。
/boot:開機所用資料。一般不需要大於32MB。
/usr:使用者的應用程式所預設的安裝路徑。最好是8GB以上。
/etc:程式的設定檔會放這裡。1GB也就差不多了。
/var:作業的日誌和紀錄檔會放在這裡。這個要看使用者人數做調整,單人使用的話,不用超過1GB。
/tmp:程式運作的暫存檔。通常是所有人皆可存取,太小的話,會影響到程式的執行。保險的話就給個2GB。
/home:使用者的個人資料夾,通稱「家目錄」。想放什麼都可以,所以當然是多多益善囉!把剩下的空間給它吧。
  一開始我沒有經驗,就給了根目錄50GB的空間,swap 256MB,家目錄用剩的一百多GB。不過後來發現,就算我雜七雜八裝一堆,根目錄也用沒到5G....其實給個20GB就很夠了。
  在檔案系統的選擇方面,沒有特殊需求的話,選ext3就好了,這是Linux最傳統的日誌式檔案系統。其他如xfs等也是不錯的選擇。如果打算要讓資料可以跟Windows互通,就最好選擇FAT。
  磁碟分割作業結束之後,如果你同時有另一個可開機系統的話,會出現詢問要不要把GRUB開機管理寫入MBR裡的訊息。我個人的建議是:不要。
  你甚至要避免在安裝系統的時候裝上其他作業系統的硬碟,因為在我重灌幾次的經驗中,GRUB在MBR經常會發生抓錯硬碟,甚至抓不到的狀況。所以說,如果你有另一顆硬碟裝了Windows,最好把它的電源先拔掉,等裝完之後再插回去,然後用BIOS控制開機硬碟。
  之後會出現的部分是網路設定,這裡就請依照自己的ISP來調整。
  然後應該會出現使用者名稱設定,這裡也是依照自己喜好設定帳號密碼。要注意的是,這裡的使用者帳號會被設定為sudoer,也就是超級使用者,有能力用root的權限下指令,而密碼就是自己的密碼。由於Ubuntu為了安全理由不允許用root身份登入搞清楚誰是sudoer是很重要的
  之後大概就沒什麼阻礙了,等光碟片自動退出之後重開機,就會進入X Window環境。
  從這裡開始,雖然你有了GUI,但是很多時候我們依然需要終端機的協助,所以你必須要知道如何開啟終端機。在KDE下它是konsole,在GNOME下它是terminal。一般的狀況下,直接在X Window環境下開終端機就夠了。不過某些需要關閉X Server的情況下,你就必須用CTRL+ALT+[ F1 ~ F6 ]來使用CLI
  而在純文字模式下編輯文檔的東西,我個人會推薦vim。用慣了之後你真的會愛不釋手。詳細說明,這裡是很好的站:大家來學VIM
  至於文字指令,我想最基本的cd,rm,ls,mv等最好都要會。這個請各位去google或是直接看書比較快,或是我有空會寫出一些說明文件。
  你應該會發現,這時的解析度實在是有夠低。沒錯,第二個中boss來了,就是顯示卡的driver安裝。
  這裡會有兩個解法,而我兩個都有成功過,就端看你的運氣了。對了,ATI的使用者可以跳過這段,因為我是用Nvidia的顯示卡。
  第一個是用別人包好的套件包:nvidia-glx或是nvidia-glx-legacy。
  我個人是先用了nvidia-glx,發現沒用,再用nvidia-glx-legacy的。
  先下指令:
sudo apt-get install nvidia-glx-legacy nvidia-xconfig
  如果這裡出現找不到套件的話,可以先跳到套件更新的介紹再回來看。
  裝完之後,再鍵入指令:
sudo nvidia-xconfig
  如此就會自動設定好/etc/X11/xorg.conf內的設定值,不過依狀況可能還會有要自己修改的可能。無論如何,你都要先按下CTRL+ALT+BackSpace來重啟X Window。
  如果你在捲動頁面時不會延遲,那麼你就成功了。要是沒有呢?請看看我的第二個方法。
  先去Nvidia的首頁找到它的Driver下載頁,下載合適自己系統的Driver。為了要安裝驅動程式,你必須要先把X Window關閉才行。
  首先要先用文字模式登入,按CTRL+ALT+F1可以開啟第一個工作階段,而X Window預設是開在第七個工作階段,你可以用CTRL+ALT+F7來回到這裡。以下是我要打的指令:
sudo /etc/init.d/kdm stop
sudo sh NVIDIA-Linux-x86-1.0-9746-pkg1.run
  一開始會叫你上FTP去找己經編譯好的模組,不過別浪費時間了,選no它就會再編譯一個模組出來。最後會問你要不要自動執行nvidia-xconfig以自動設定/etc/X11/xorg.conf,選yes。
  最後再啟動剛剛關閉的X window:
sudo /etc/init.d/kdm start
  如果有看到Nvidia的logo一閃而過,就恭喜啦!
  然後是要調整螢幕的解析度。如果沒有正確選擇螢幕類型,會無法選擇1024*768以上的解析度。如果是用KDE桌面的話,請在「系統設定->Monitor->硬體」在第一個螢幕那裡選擇自己適合的螢幕型號。基本上只要選到類似的就好了,通常尾部的英文代號只是面板的差異。
  要是不幸地沒有合適的型號,或是找不到在哪裡設定,沒關係,這種時候請去查看/var/log/Xorg.0.log的內容。前面有標示(EE)或是(WW)的就是該注意的錯誤訊息。
  比方說我在log檔裡找到它說螢幕頻率不夠,無法使用1280*1024的解析度,那麼我就要去編輯/etc/X11/xorg.conf的內容,在Monitor的section裡面把螢幕的頻率調整到需求的頻率
  也有可能你裝完Driver之後無法啟動OpenGL,我個人的解法是,在log裡發現了這行:
(EE) GLX is not supported with the Composite extension
就在xorg.conf後加上這個:
Section "Extensions"
Option "Composite" "Disable"
EndSection
  就解了。
  要注意的是,對X server做任何的改動之後,都要按CTRL+ALT+BackSpace才會生效喔。
  好啦,把boss解決之後,接下來要做的事就較為簡單一點了。
  接著要了解的是,Ubuntu跟Debian一樣,都是用apt做套件管理,以dpkg解壓*.deb檔,而套件都會放在網路上的站台,等你需要時再下載回來安裝。所以說,做為站台列表的/etc/apt/sources.list是很重要的。
  對於這個部分,台灣的Ubuntu社群已經提供了在台灣的鏡像站,如此你就不用特地連到國外去下載回來,同時也加入了一些很實用的站台。不過別擔心,這些只是選用列表,不會強制安裝,反正選擇多一點總不是壞事。
  總之,先去找已經寫好的sources.list吧:
cd /etc/apt
sudo wget http://apt.ubuntu.org.tw/sources.list.edgy
sudo mv sources.list.edgy sources.list
  如此就會把列表更新了。記得更新完sources.list之後,還要先讓apt重新掃一次更新的套件,否則它還是會用舊的列表喔:
sudo apt-get update && sudo apt-get upgrade
  眼尖的應該會發現,這次我是把兩個指令打在一行;沒錯,指令可以用&&來連接,這樣它就會依序完成命令。
  這裡可能要看網路速度,要是網路太慢就會拖很久....更新完之後可能會需要重開機。
  為什麼不在裝顯示卡driver前就先更新呢?因為有可能你會安裝失敗,然後又面臨要重新安裝的窘境,這樣的話先更新不就多浪費時間了嗎?XD
  無論如何,到了這步之後,你應該就有一個完整的,乾淨的Ubuntu了!
  到這裡就結束了嗎?錯!戰爭可不是一兩天的事,請期待下集吧!

5 則留言:

  1. Ubunto 和 Fedora 的確是初學者最好的起跑點,但是我覺得拿來當伺服器很不妥,尤其是看到 Ubunto 不用 su 也可以關機…… XD

    我目前比較喜歡 FreeBSD,Solaris 和 Gentoo 也不錯 ^_^

    回覆刪除
  2. 我的經驗是分割成四個主要分割(伺服器的分割方式):

    HDa:40G

    /SWAP  512M
    /boot  100M
    /home  10G
    /Var   remaining

    系統記錄檔會放在 /var/log/ 下面,如果你的電腦一直被攻擊或是網站造訪者很多,分割馬上會爆炸。如果只有做 FTP 伺服器,/home 就必須割的大一點。

    回覆刪除
  3. Server的/var當然是要大囉

    其實說到磁碟分割,根據不同的用途可能連檔案系統都要選
    像是BBS,FTP,工作站等,要割的方式都不太一樣
    要是我把這些寫上去就離題囉~~
    當然如果你要寫是更好:P

    回覆刪除
  4. hi~我從你的fon map看到你的blog才跑來的~

    祝你linux學習順利..
    遇到問題可以多上bbs linux版
    或是ubuntu.org.tw moto.debian.org.tw來問問題喔..

    順便說..建議可以把你fon map上面的地址改成英文的..
    http://www.post.gov.tw/post/internet/f_searchzone/index.jsp?ID=190103

    要寫詳細的中文可以寫在fon的個人page ;)

    回覆刪除
  5. 呃,那您看到的是高雄還是嘉義的熱點啊?
    坦白說,我在填地址的時候第一次不懂事,填上了中文(結果變亂碼)
    後來也有試過去中華郵政那裡轉英文,不過我住的地方實在是太偏僻....它說無法轉換= =
    我在"configure FON"的那一頁裡改了英文,不過不知道為什麼在google map上還是中文的亂碼....
    這邊該去哪裡改呢?

    回覆刪除