PART I 架站前進修篇: *;@V5[^3I?
k|Mj|pqA
第一章、架站之前所需的技能分析 z/Z
0cM#
V_+XZ+7Lx}
請簡述進行網站架設前,應該具備何種基本技能? }GI8p* ]o=
基本的技能需要有: -7{ qTe{
Linux 系統操作上,至少需要瞭解帳號管理、檔案屬性與權限、程序與資源管理、硬體如硬碟之掛載與軟體套件之安裝如RPM套件管理員等等,而 vi 與 Shell 亦是不可忽略之基本技能,更重要者,日誌的管理以及系統服務的原理(如 stand alone 與 super deamon 服務啟動的方式差異等)亦需同時釐清,以方便未來架設網站時除錯的技巧; 9>?3FMKdY
在網路的基礎知識上,TCP/IP 的觀念以及路由的概念相當的重要,此外,DNS 的概念也很重要。 )RV.N}NU
在心態的調整上面,系統管理員需要的道德感以及使命感需要較高的標準。 <*k]Aa3y
uU_lC5A|
如果我有一顆硬碟在 A 主機上面安裝了 Linux 之後,拿到另一台配備相同的 B 主機上面去進行開機,結果竟然無法順利開機,您認為可能的原因是什麼? ;%wQnhg
由於配備相同,所以排除硬體的問題,不過,考慮到 IDE 排線與 partition 的代號,以及 /etc/fstab 的對應,所以應該是由於 IDE 插槽放置錯誤所致(Linux 系統下,每個 IDE 插槽對應的 partition 名稱皆不相同喔!)。此外,上次不正常關機也可能造成硬碟損害而無法開機成功! *%'nlAX6%
KYBoGCS >
一般來說,在 Linux 系統上,使用者預設的家目錄在那個目錄下?另外,新增一個使用者時,該使用者預設的家目錄內容來自那個目錄下? s[6y|{&ze
在 /etc/default/useradd 這個檔案裡面會規範使用者的預設家目錄以及預設家目錄的內容,一般來說,使用者預設家目錄在 /home ,至於家目錄內的檔案則複製來源在 /etc/skel 裡面。 Ot,eAiaX
ukNB#2"
磁碟配額 ( quota ) 能否針對某個特定的目錄進行限制?Quota 有什麼較為特殊的使用限制? .rpKSf.
Quota 目前僅能針對整個 partition 進行限額配置,如果該特定目錄是一個 partition 那就可以進行 quota 設定,否則無法針對特定目錄!此外, Quota 除了特定目錄以及需要 ext2, ext3 等磁碟格式才支援之外,也需要核心的支援喔! is`O,Met
N~Zcrt_D
在 Linux 系統下,要尋找一個檔名為 vbird.document 的檔案,可以使用什麼指令進行搜尋?又,如果要尋找在一天內更動過的檔案,又該如何進行? R8ZI}C1
如果是執行檔可以使用 which command 來搜尋,如果是檔案,就必須要使用 locate vbird.document 或 whereis vbird.document 或 find / -name vbird.document 。如果要找到一天內更動過的檔案,可以使用 find 配合參數,如:『 find / -ctime 1』。 o&WKk5$
s.y wp{EF
在 Linux 系統中,常見的套件管理員有 RPM 與 Tarball ,請分別說明這兩個套件管理員的優缺點。 [HO=ii]Wb
RPM 套件管理員在安裝套件的時候,會將該套件的檔案名稱、套件功能與訊息等等資訊記錄於 /var/lib/rpm 目錄內,由於有這些套件的資本資訊,因此在系統內很容易進行 RPM 的升級、安裝、移除等動作。不過,由於 RPM 檔案之間的相依性相當的強,因此常常會有版本不合或者是欠缺某樣前驅套件的問題發生。 .YOC|\
至於 Tarball 則是原始碼,使用者可以自行設定套件的編譯參數,以符合自己的 Linux 平台。此外,由於 Tarball 是原始碼,因此需要在您的系統上面進行編譯,編譯的過程中需要 gcc, make, 以及 kernel source 等套件,還有您所想要安裝的套件所需要的前驅套件也同時需要先安裝後,才能進行 Tarball 的安裝。注意,幾乎每個 Tarball 以 tar 程式解開後,在新增的目錄下均會有 README 以及 INSTALL 檔案,請務必先查閱過後才進行編譯工作。 fP 4
J;@g#h?
如果我下載了一個檔名為 httpd-2.0.52.tar.gz 的檔案,一般來說,這個檔案代表的意義為何?我該如何讓這個檔案能夠在我的 Linux 系統上面安裝? Y6<"_
由於附檔名是 .tar.gz 或者是 .tgz 的檔案,所以可以認定該檔案為一個 Tarball 的檔案。至於檔名的配置方面,httpd 為套件名稱,2.0.52 則通常為該套件的版本名稱了!那如何安裝?由於該檔案為 httpd 這個套件,且格式為 Tarball ,所以您必須要: 93I.Wp_{
系統上面務必具有 tar, make, gcc 等相關的編譯套件; >Z%qkU/
使用 tar 解開 httpd-2.0.52.tar.gz 之後,務必進入該目錄內讀取 REAME 或/與 INSTALL 檔案,以瞭解是否還需要其他的相關套件的搭配安裝; EhJpJb[Z
以 ./configure --help 查閱一下是否有相關可以加入或者取消的編譯內容; -aj) _.d
使用 make 讀取 Makefile 來編譯程式; a(cZ]`s]*
使用 make install 來安裝程式! JSO'. [N
Ujb7uho
我以原始碼的方式進行一個套件的安裝,但是在分析系統的時候,分析程式一直告訴我找不到 cc 這個指令,請問這是什麼問題?為何需要 cc ?又,我該如何解決這個問題,好讓套件可以順利的被安裝在我的 Linux 上面? luLt~A3H$
如前面幾個題目所說的,因為是原始碼,所以還需要編譯程式來將該原始碼編譯成為可以在您的 Linux 系統上面跑的 binary 檔案,在 Linux 上頭預設的編譯程式就是 gcc 這個編譯器(compiler)。如果您在安裝 Linux 的時候,使用 Linux Installer 預設的套件選擇,那通常會沒有安裝 gcc 以及 make 等套件,此時,請拿出您的原版光碟,以 mount 指令掛載後,使用 RPM 將一個一個相關的套件安裝即可(過程會蠻複雜的!)^_^ Ew.a*[W''
DVC<P}/
我發現我的 Linux 系統怪怪的,似乎有什麼不知名的程序在記憶體當中跑,我該如何將這個不知名的程序捉出來,並且將他移除? 8/4i7oOC
如果要捉出程序(process)的話,可以使用 ps -aux 或者是直接輸入 top 來查詢 process 的 ID (PID),找到 PID 號碼後,再以 kill -9 PID 來刪除該程序即可。 i_<