鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 鳥 哥 的 Linux 私 房 菜 為 取 得 較 佳 瀏 覽 結 果, 請 愛 用 firefox 瀏 覽 本 網 頁 切 換 解 析 度 為 800x600 Linux 檔 案 與 目 錄 管 理 最 近 更 新 日 期 :2006/08/22 在 前 一 章 節 裡 面 我 們 認 識 了 Linux 系 統 下 的 檔 案 權 限 概 念 以 及 目 錄 的 配 置 說 明 在 這 個 章 節 當 中, 我 們 就 直 接 來 進 一 步 的 操 作 與 管 理 檔 案 與 目 錄 吧! 包 括 在 不 同 的 目 錄 間 變 換 建 立 與 刪 除 目 錄 建 立 與 刪 除 檔 案, 還 有 尋 找 檔 案 查 閱 檔 案 內 容 等 等, 都 會 在 這 個 章 節 作 個 簡 單 的 介 紹 啊! 1. 目 錄 與 路 徑 1.1 相 對 路 徑 與 絕 對 路 徑 1.2 目 錄 的 相 關 操 作 : cd, pwd, mkdir, rmdir 1.3 關 於 執 行 檔 路 徑 的 變 數 : $PATH 2. 檔 案 與 目 錄 管 理 2.1 檔 案 與 目 錄 的 檢 視 : ls 2.2 複 製 移 動 與 刪 除 : cp, rm, mv 2.3 取 得 路 徑 的 檔 案 名 稱 與 目 錄 名 稱 3. 檔 案 內 容 查 閱 : 3.1 直 接 檢 視 檔 案 內 容 : cat, tac, nl 3.2 可 翻 頁 檢 視 : more, less 3.3 資 料 擷 取 : head, tail 3.4 非 純 文 字 檔 : od 3.5 修 改 檔 案 時 間 與 建 置 新 檔 : touch 4. 檔 案 與 目 錄 的 預 設 權 限 與 隱 藏 權 限 4.1 檔 案 預 設 權 限 :umask 4.2 檔 案 隱 藏 屬 性 : chattr, lsattr 4.4 檔 案 特 殊 權 限 :SUID/SGID/Sticky Bit 4.3 檔 案 類 型 :file 5. 檔 案 的 搜 尋 :which, whereis, locate, find 6. 本 章 習 題 練 習 file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 7. 針 對 本 文 的 建 議 :http://phorum.vbird.org/viewtopic.php?t=23879 目 錄 與 路 徑 : 由 前 一 章 節 Linux 的 檔 案 權 限 與 目 錄 配 置 中 約 略 瞭 解 到 Linux 的 樹 狀 目 錄 概 念 之 後, 接 下 來 就 得 要 實 際 的 來 搞 定 一 些 基 本 的 路 徑 問 題 了! 這 些 目 錄 的 問 題 當 中, 最 重 要 的 莫 過 於 絕 對 路 徑 與 相 對 路 徑 的 意 義 啦! 趕 緊 來 瞭 解 一 下! 相 對 路 徑 與 絕 對 路 徑 : 在 開 始 目 錄 的 切 換 之 前, 你 必 須 要 先 瞭 解 一 下 所 謂 的 路 徑 (PATH), 有 趣 的 是 : 什 麼 是 相 對 路 徑 與 絕 對 路 徑? 雖 然 前 一 章 已 經 稍 微 針 對 這 個 議 題 提 過 一 次, 不 過, 這 裡 不 厭 其 煩 的 再 次 的 強 調 一 下! 如 果 你 還 記 得 前 一 章 的 內 容 的 話, 那 麼 應 該 還 記 得 Linux 裡 面 的 目 錄 是 呈 現 樹 狀 目 錄 的 情 況, 就 是 有 分 支 的 啦! 好 了, 假 設 你 需 要 在 任 意 一 個 目 錄 下 變 換 到 根 目 錄 的 etc 底 下, 那 麼 你 就 應 該 要 使 用 cd /etc 這 個 情 況, 這 也 就 是 所 謂 的 絕 對 路 徑, 他 是 從 根 目 錄 連 續 寫 上 來 的 一 個 情 況, 所 以 不 論 你 在 哪 一 個 路 徑 現 執 行 這 一 個 指 令, 都 會 將 你 移 動 到 該 路 徑 下 那 如 果 我 是 使 用 cd etc 呢? 那 表 示 你 要 切 換 到 目 前 這 個 目 錄 下 的 etc 目 錄 中, 情 況 可 是 不 一 樣 的 呦! 通 常 第 一 次 接 觸 Linux 的 使 用 者 常 會 搞 錯 這 一 個 路 徑 的 觀 念! 絕 對 路 徑 : 路 徑 的 寫 法 一 定 由 根 目 錄 / 寫 起, 例 如 : /usr/share/doc 這 個 目 錄 相 對 路 徑 : 路 徑 的 寫 法 不 是 由 / 寫 起, 例 如 由 /usr/share/doc 要 到 /usr/share/ man 底 下 時, 可 以 寫 成 : cd../man 這 就 是 相 對 路 徑 的 寫 法 啦! 相 對 路 徑 意 指 相 對 於 目 前 工 作 目 錄 的 路 徑! 那 麼 相 對 路 徑 與 絕 對 路 徑 有 什 麼 了 不 起 呀!? 喝! 那 可 真 的 是 了 不 起 了! 假 設 您 寫 了 一 個 套 件, 這 個 套 件 共 需 要 三 個 目 錄, 分 別 是 etc, bin, man 這 三 個 目 錄, 然 而 由 於 不 同 的 人 喜 歡 安 裝 在 不 同 的 目 錄 之 下, 假 設 甲 安 裝 的 目 錄 是 /usr/local/packages/etc, /usr/local/ packages/bin 及 /usr/local/packages/man, 不 過 乙 卻 喜 歡 安 裝 在 /home/packages/etc, /home/ packages/bin, /home/packages/man 這 三 個 目 錄 中, 請 問 如 果 需 要 用 到 絕 對 路 徑 的 話, 那 麼 是 否 很 麻 煩 呢? 是 的! 如 此 一 來 每 個 目 錄 下 的 東 西 就 很 難 對 應 的 起 來! 這 個 時 候 相 對 路 徑 的 寫 法 就 顯 的 特 別 的 重 要 了! 此 外, 如 果 您 跟 鳥 哥 一 樣, 喜 歡 將 路 徑 的 名 字 寫 的 很 長, 好 讓 自 己 知 道 那 個 目 錄 是 在 幹 什 麼 的, 例 如 : /data4/staiwan19961109/models-3/smoke 這 個 目 錄, 而 另 一 個 目 錄 在 / data4/staiwan19961109/models-3/cctm, 那 麼 我 從 第 一 個 要 到 第 二 個 目 錄 去 的 話, 怎 麼 寫 比 較 方 便? 當 然 是 cd../cctm 比 較 方 便 囉! 對 吧! 但 是 對 於 檔 案 的 正 確 性 來 說, 絕 對 路 徑 的 正 確 度 要 比 較 好 ~ 一 般 來 說, 鳥 哥 會 建 議 您, 如 果 是 在 寫 程 式 (shell scripts) 的 條 件 下, 務 必 使 用 絕 對 路 徑 的 寫 法 怎 麼 說 呢? file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 因 為 絕 對 路 徑 的 寫 法 雖 然 比 較 麻 煩, 但 是 可 以 肯 定 這 個 寫 法 絕 對 不 會 有 問 題 如 果 使 用 相 對 路 徑 在 程 式 當 中, 則 可 能 由 於 您 執 行 的 工 作 環 境 不 同, 導 致 一 些 問 題 的 發 生 這 個 問 題 在 例 行 性 命 令 當 中 尤 其 重 要! 這 個 現 象 我 們 在 shell script 時, 會 再 次 的 提 醒 您 喔! ^_^ 目 錄 的 相 關 操 作 : 在 之 前 我 們 稍 微 提 到 這 個 變 換 目 錄 的 指 令 是 cd, 還 有 哪 些 可 以 進 行 目 錄 操 作 的 指 令 呢? 例 如 建 立 目 錄 啊 刪 除 目 錄 之 類 的 ~ 還 有, 得 要 先 知 道 的, 就 是 有 哪 些 比 較 特 殊 的 目 錄 呢? 舉 例 來 說, 底 下 這 些 就 是 比 較 特 殊 的 目 錄, 得 要 用 力 的 記 下 來 才 行 :. 代 表 此 層 目 錄.. 代 表 上 一 層 目 錄 - 代 表 前 一 個 工 作 目 錄 ~ 代 表 目 前 使 用 者 身 份 所 在 的 家 目 錄 ~account 代 表 account 這 個 使 用 者 的 家 目 錄 而 在 目 錄 底 下 有 兩 個 目 錄 是 一 定 會 存 在 的! 那 就 是. 與.. 囉 ~ 分 別 代 表 此 層 與 上 層 目 錄 的 意 思 那 我 們 在 前 一 章 Linux 檔 案 屬 性 與 目 錄 配 置 裡 面 也 知 道 根 目 錄 (/) 是 所 有 目 錄 的 最 頂 層, 那 麼 / 有.. 嗎?! 您 可 以 使 用 ls -al / 去 看 看, 答 案 是 有 的! 不 過, 您 也 可 以 查 閱 到, 根 目 錄 的. 與.. 屬 性 完 全 一 模 一 樣, 哈 哈! 原 來 根 目 錄 的 頂 層 (..) 與 他 自 己 (.) 是 同 一 個 目 錄 啦! ^_^ 底 下 我 們 就 來 談 一 談 幾 個 常 見 的 處 理 目 錄 的 指 令 吧 : cd: 變 換 目 錄 pwd: 顯 示 目 前 的 目 錄 mkdir: 建 立 一 個 新 的 目 錄 rmdir: 刪 除 一 個 空 的 目 錄 cd ( 變 換 目 錄 ) 我 們 知 道 dmtsai 這 個 使 用 者 的 家 目 錄 是 /home/dmtsai, 而 root 家 目 錄 則 是 /root, 假 設 我 以 root 身 份 在 Linux 系 統 中, 那 麼 簡 單 的 說 明 一 下 這 幾 個 特 殊 的 目 錄 的 意 義 是 : file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 [root@linux ~]# cd [ 相 對 路 徑 或 絕 對 路 徑 ] # 最 重 要 的 就 是 目 錄 的 絕 對 路 徑 與 相 對 路 徑, 還 有 一 些 特 殊 目 錄 的 符 號 囉! [root@linux ~]# cd ~dmtsai # 代 表 去 到 dmtsai 這 個 使 用 者 的 家 目 錄, 亦 即 /home/dmtsai [root@linux dmtsai]# cd ~ # 表 示 回 到 自 己 的 家 目 錄, 亦 即 是 /root 這 個 目 錄 [root@linux ~]# cd # 沒 有 加 上 任 何 路 徑, 也 還 是 代 表 回 到 自 己 家 目 錄 的 意 思 喔! [root@linux ~]# cd.. # 表 示 去 到 目 前 的 上 層 目 錄, 亦 即 是 /root 的 上 層 目 錄 的 意 思 ; [root@linux /]# cd - # 表 示 回 到 剛 剛 的 那 個 目 錄, 也 就 是 /root 囉 ~ [root@linux ~]# cd /var/spool/mail # 這 個 就 是 絕 對 路 徑 的 寫 法! 直 接 指 定 要 去 的 完 整 路 徑 名 稱! [root@linux mail]# cd../mqueue # 這 個 是 相 對 路 徑 的 寫 法, 我 們 由 /var/spool/mail 去 到 /var/spool/mqueue 就 這 樣 寫! cd 是 Change Directory 的 縮 寫, 這 是 用 來 變 換 工 作 目 錄 的 指 令 注 意, 目 錄 名 稱 與 cd 指 令 之 間 存 在 一 個 空 格 一 登 入 Linux 系 統 後,root 會 在 root 的 家 目 錄, 亦 即 / root 下,OK! 那 回 到 上 一 層 目 錄 可 以 用 cd.. 利 用 相 對 路 徑 的 寫 法 必 須 要 確 認 您 目 前 的 路 徑 才 能 正 確 的 去 到 想 要 去 的 目 錄 例 如 上 表 當 中 最 後 一 個 例 子, 您 必 須 要 確 認 您 是 在 /var/spool/mail 當 中, 並 且 知 道 在 /var/spool 當 中 有 個 mqueue 的 目 錄 才 行 啊 ~ 這 樣 才 能 使 用 cd../mqueue 去 到 正 確 的 目 錄 說, 否 則 就 要 直 接 輸 入 cd /var/ spool/mqueue 囉 ~ 其 實, 我 們 的 提 示 字 元, 亦 即 那 個 [root@linux ~]# 當 中, 就 已 經 有 指 出 目 前 的 目 錄 了, 剛 登 入 時 會 到 自 己 的 家 目 錄, 而 家 目 錄 還 有 一 個 代 碼, 那 就 是 ~ 符 號! 例 如 上 面 的 例 子 可 以 發 現, 使 用 cd ~ 可 以 回 到 個 人 的 家 目 錄 裡 頭 去 呢! 另 外, 針 對 cd 的 使 用 方 法, 如 果 僅 輸 入 cd 時, 代 表 的 就 是 cd ~ 的 意 思 喔 ~ 亦 即 是 會 回 到 自 己 的 家 目 錄 啦! 而 那 個 cd - 比 較 難 以 理 解, 請 自 行 多 做 幾 次 練 習, 就 會 比 較 明 白 了 Tips: 還 是 要 一 再 地 提 醒, 我 們 的 Linux 的 預 設 指 令 列 模 式 (bash shell) 具 有 檔 案 補 齊 功 能, 您 要 常 常 利 用 [tab] 按 鍵 來 達 成 您 的 目 錄 完 整 性 啊! 這 可 是 個 好 習 慣 啊 ~ 可 以 避 免 您 按 錯 鍵 盤 輸 入 錯 字 說 ~ ^_^ pwd ( 顯 示 目 前 所 在 的 目 錄 ) file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 [root@linux ~]# pwd [-P] 參 數 : -P : 顯 示 出 確 實 的 路 徑, 而 非 使 用 連 結 (link) 路 徑 範 例 : [root@linux ~]# pwd /root <== 顯 示 出 目 錄 啦 ~ [root@linux ~]# cd /var/mail [root@linux mail]# pwd /var/mail [root@linux mail]# pwd -P /var/spool/mail <== 怎 麼 回 事? 有 沒 有 加 -P 差 很 多 ~ [root@linux mail]# ls -l /var/mail lrwxrwxrwx 1 root root 10 Jun 25 08:25 /var # 看 到 這 裡 應 該 知 道 為 啥 了 吧? 因 為 /var/mail 是 連 結 檔, 連 結 到 /var/spool/mail # 所 以, 加 上 pwd -P 的 參 數 後, 會 不 以 連 結 檔 的 資 料 顯 示, 而 是 顯 示 正 確 的 完 整 路 徑 啊! pwd 是 Print Working Directory 的 縮 寫, 也 就 是 顯 示 目 前 所 在 目 錄 的 指 令, 例 如 在 上 個 表 格 最 後 的 目 錄 是 /var/mail 這 個 目 錄, 但 是 提 示 字 元 僅 顯 示 mail, 如 果 你 想 要 知 道 目 前 所 在 的 目 錄, 可 以 輸 入 pwd 即 可 此 外, 由 於 很 多 的 套 件 所 使 用 的 目 錄 名 稱 都 相 同, 例 如 /usr/local/etc 還 有 /etc, 但 是 通 常 Linux 僅 列 出 最 後 面 那 一 個 目 錄 而 已, 這 個 時 候 你 就 可 以 使 用 pwd 來 知 道 你 的 所 在 目 錄 囉! 免 得 搞 錯 目 錄, 結 果 其 實 有 趣 的 是 那 個 -P 的 參 數 啦! 他 可 以 讓 我 們 取 得 正 確 的 目 錄 名 稱, 而 不 是 以 連 結 檔 的 路 徑 來 顯 示 的 如 果 您 是 Fedora Core 4 的 話, 剛 剛 好, /var/mail 是 /var/spool/ mail 的 連 結 檔, 所 以, 透 過 到 /var/mail 下 達 pwd -P 就 能 夠 知 道 這 個 參 數 的 意 義 囉 ~ ^_^ mkdir ( 建 立 新 目 錄 ) [root@linux ~]# mkdir [-mp] 目 錄 名 稱 參 數 : -m : 設 定 檔 案 的 權 限 喔! 直 接 設 定, 不 需 要 看 預 設 權 限 (umask) 的 臉 色 ~ -p : 幫 助 你 直 接 將 所 需 要 的 目 錄 遞 迴 建 立 起 來! 範 例 : [root@linux ~]# cd /tmp [root@linux tmp]# mkdir test <== 建 立 一 名 為 test 的 新 目 錄 [root@linux tmp]# mkdir test1/test2/test3/test4 mkdir: cannot create directory `test1/test2/ No such file or directory <== 沒 辦 法 直 接 建 立 此 目 錄 啊! [root@linux tmp]# mkdir -p test1/test2/test3/test4 # 加 了 這 個 -p 的 參 數, 可 以 自 行 幫 您 建 立 多 層 目 錄! [root@linux tmp]# mkdir -m 711 test2 [root@linux tmp]# ls -l drwxr-xr-x 3 root root 4096 Jul 18 12:50 t drwxr-xr-x 3 root root 4096 Jul 18 12:53 t file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 drwx--x--x 2 root root 4096 Jul 18 12:54 t # 仔 細 看 上 面 的 權 限 部 分, 如 果 沒 有 加 上 -m 來 強 制 設 定 屬 性, 系 統 會 使 用 預 設 屬 性 # 那 麼 您 的 預 設 屬 性 為 何? 這 要 透 過 底 下 介 紹 的 umask 才 能 瞭 解 喔! ^_^ 如 果 想 要 建 立 新 的 目 錄 的 話, 那 麼 就 使 用 mkdir (make directory) 吧! 不 過, 請 注 意 呦! 在 預 設 的 情 況 下, 你 所 需 要 的 目 錄 得 一 層 一 層 的 建 立 才 行! 例 如 : 假 如 你 要 建 立 一 個 目 錄 為 /home/bird/testing/test1, 那 麼 首 先 必 須 要 有 /home 然 後 /home/bird, 再 來 /home/bird/testing 都 必 須 要 存 在, 才 可 以 建 立 /home/bird/testing/test1 這 個 目 錄! 假 如 沒 有 /home/bird/testing 時, 就 沒 有 辦 法 建 立 test1 的 目 錄 囉! 不 過, 現 在 有 個 更 簡 單 有 效 的 方 法 啦! 那 就 是 加 上 -p 這 個 參 數 喔! 你 可 以 直 接 下 達 : mkdir -p /home/ bird/testing/test1 則 系 統 會 自 動 的 幫 你 將 /home, /home/bird, /home/bird/testing 依 序 的 建 立 起 目 錄! 並 且, 如 果 該 目 錄 本 來 就 已 經 存 在 時, 系 統 也 不 會 顯 示 錯 誤 訊 息 喔! 挺 快 樂 的 吧! ^_^ 另 外, 有 個 地 方 您 必 須 要 先 有 概 念, 那 就 是 預 設 權 限 的 地 方 我 們 可 以 利 用 -m 來 強 制 給 予 一 個 新 的 目 錄 相 關 的 屬 性, 例 如 上 表 當 中, 我 們 給 予 -m 711 來 給 予 新 的 目 錄 drwx--x--x 的 屬 性 不 過, 如 果 沒 有 給 予 -m 屬 性 時, 那 麼 預 設 的 新 建 目 錄 屬 性 又 是 什 麼 呢? 這 個 跟 umask 有 關, 我 們 在 後 頭 會 加 以 介 紹 的 rmdir ( 刪 除 空 的 目 錄 ) [root@linux ~]# rmdir [-p] 目 錄 名 稱 參 數 : -p : 連 同 上 層 空 的 目 錄 也 一 起 刪 除 範 例 : [root@linux tmp]# ls -l drwxr-xr-x 3 root root 4096 Jul 18 12:50 t drwxr-xr-x 3 root root 4096 Jul 18 12:53 t drwx--x--x 2 root root 4096 Jul 18 12:54 t [root@linux tmp]# rmdir test [root@linux tmp]# rmdir test1 rmdir: `test1': Directory not empty [root@linux tmp]# rmdir -p test1/test2/test3/test4 [root@linux tmp]# ls -l drwx--x--x 2 root root 4096 Jul 18 12:54 t # 瞧! 利 用 -p 這 個 參 數, 立 刻 就 可 以 將 test1/test2/test3/test4 一 次 刪 除 ~ # 不 過 要 注 意 的 是, 這 個 rmdir 僅 能 刪 除 空 的 目 錄 喔! 如 果 想 要 建 立 刪 除 舊 有 的 目 錄 時, 就 使 用 rmdir 吧! 例 如 將 剛 剛 建 立 的 test 殺 掉, 使 用 rmdir test 即 可! 請 注 意 呦! 目 錄 需 要 一 層 一 層 的 刪 除 才 行! 而 且 被 刪 除 的 目 錄 裡 面 必 定 不 能 還 有 其 他 的 目 錄 或 檔 案! 這 也 是 所 謂 的 空 的 目 錄 (empty directory) 的 意 思 啊! 那 如 果 要 將 所 有 目 錄 下 的 東 西 都 殺 掉 呢?! 這 個 時 候 就 必 須 使 用 rm -rf test 囉! 不 過, 還 是 使 用 rmdir 比 較 不 危 險! 不 過, 你 也 可 以 嘗 試 以 -p 的 參 數 加 入, 來 刪 除 file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 上 層 的 目 錄 喔! 關 於 執 行 檔 路 徑 的 變 數 : $PATH 在 提 過 了 絕 對 路 徑 相 對 路 徑 與 指 令 的 下 達 方 式 之 後, 您 應 該 會 稍 微 注 意 到 一 件 事 情, 那 就 是 : 為 什 麼 我 可 以 在 任 何 地 方 執 行 /bin/ls 這 個 指 令 呢? 對 呀! 為 什 麼 我 可 以 直 接 執 行 ls 就 一 定 可 以 顯 示 出 一 些 訊 息 而 不 會 說 找 不 到 該 /bin/ls 指 令 呢? 這 是 因 為 環 境 變 數 PATH 的 幫 助 所 致 呀! 當 我 們 在 執 行 一 個 指 令 的 時 候, 系 統 會 依 照 PATH 的 設 定 去 每 個 PATH 定 義 的 路 徑 下 搜 尋 執 行 檔, 先 搜 尋 到 的 指 令 先 被 執 行 之! 現 在, 請 下 達 echo $PATH, echo 有 顯 示 印 出 的 意 思, 而 PATH 前 面 加 的 $ 表 示 後 面 接 的 是 變 數, 所 以 即 會 顯 示 出 目 前 的 PATH 了! [root@linux ~]# echo $PATH /sbin:/usr/sbin:/bin:/usr/bin:/usr/x11r6/bin:/ 注 意 到 了 嗎? 對 啦! /bin 在 PATH 的 設 定 之 中, 所 以 自 然 就 可 以 找 的 到 ls 啦! PATH 對 於 執 行 檔 來 說, 是 個 很 重 要 的 變 數, 他 主 要 是 用 來 規 範 指 令 搜 尋 的 目 錄 而 每 個 目 錄 是 有 順 序 的, 每 個 目 錄 中 間 以 冒 號 : 來 分 隔, 就 如 同 上 面 範 例 中 提 到 的 囉! 那 麼 PATH 這 個 變 數 還 有 什 麼 地 方 重 要 呢? 如 果 你 將 ls 移 動 到 /root 底 下 的 話 (mv /bin/ls /root), 然 後 你 自 己 本 身 也 在 /root 底 下 (cd /root), 但 是 當 你 執 行 ls 的 時 候, 他 就 是 不 理 你? 怎 麼 辦? 這 是 因 為 PATH 這 個 變 數 沒 有 /root 這 個 目 錄, 而 你 又 將 ls 移 動 到 /root 底 下 了, 自 然 系 統 就 找 不 到 可 執 行 檔 了, 因 此 就 會 告 訴 你, command not found! 那 麼 該 怎 麼 克 服 這 種 問 題 呢? 有 兩 個 方 法, 其 一 : 直 接 將 /root 的 路 徑 加 入 PATH 當 中! 如 何 增 加? 可 以 使 用 : [root@linux ~]# PATH="$PATH":/root 這 種 方 式 來 增 加 PATH 搜 尋 目 錄 即 可! 另 一 種 方 式 則 是 使 用 完 整 檔 名 來 下 達 指 令, 亦 即 直 接 使 用 相 對 或 絕 對 路 徑 來 執 行, 例 如 : [root@linux ~]# /root/ls [root@linux ~]#./ls 因 為 在 同 一 個 目 錄 中, 而 我 們 又 知 道 在 同 一 個 目 錄 中 的 目 錄 符 號 為., 因 此, 就 以 上 面 的./ls 來 執 行 也 可 以! 這 種 執 行 方 式 以 後 您 應 該 會 很 常 見 到 才 對! 如 果 我 有 兩 個 ls 檔 案 在 不 同 的 目 錄 中, 例 如 /usr/local/bin/ls 底 下 與 /bin/ls 那 麼 當 我 下 達 ls 的 時 候, 哪 個 ls 會 被 執 行? 那 還 用 說, 就 找 出 PATH 裡 面 哪 個 目 錄 先 被 查 詢, 則 那 個 目 錄 下 的 檔 案 就 會 被 先 執 行 了! file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 咦! 既 然 如 此 的 話, 那 麼 為 何 不 要 在 PATH 裡 面 加 入. 這 個 目 錄, 如 此 一 來 的 話, 不 就 可 以 直 接 在 所 在 目 錄 執 行 檔 案 了 嗎? 因 為. 代 表 所 在 目 錄 嘛! 是 這 樣 沒 錯! 但 是 有 沒 有 想 過, 如 果 某 天, 某 個 怪 怪 的 使 用 者 在 /tmp 裡 面 寫 了 一 個 ls 的 檔 案, 偏 偏 他 是 有 害 的 檔 案, 那 麼 當 你 在 /tmp 底 下 執 行 ls 時, 怎 麼 辦?! 沒 錯, 可 能 會 中 標, 所 以 囉, 為 了 安 全 起 見, 不 建 議 將. 加 入 PATH 的 搜 尋 當 中! 關 於 更 多 的 PATH 與 相 關 的 變 數 及 環 境 變 數 概 念, 我 們 會 在 第 三 篇 bash shell 時, 再 更 深 入 的 介 紹 囉 ~ 而 經 過 上 面 的 說 明, 您 應 該 也 能 夠 比 較 瞭 解 的 是 : 為 什 麼 絕 對 路 徑 下 達 指 令 的 方 法 比 相 對 路 徑 要 正 確 的 多 這 句 話 的 意 義 囉 ~ ^_^ 因 為 是 直 接 找 到 該 指 令 來 執 行, 而 不 是 透 過 PATH 這 個 變 數 的 內 容 去 搜 尋 的 啊! 檔 案 與 目 錄 管 理 : 談 了 談 目 錄 與 路 徑 之 後, 再 來 討 論 一 下 關 於 檔 案 的 一 些 基 本 管 理 吧! 檔 案 與 目 錄 的 管 理 上, 不 外 乎 顯 示 屬 性 拷 貝 刪 除 檔 案 及 移 動 檔 案 或 目 錄 等 等, 由 於 檔 案 與 目 錄 的 管 理 在 Linux 當 中 是 很 重 要 的! 尤 其 是 每 個 人 自 己 家 目 錄 的 資 料 也 都 需 要 注 意 管 理! 由 於 我 們 在 執 行 程 式 的 時 後, 系 統 預 設 有 一 個 搜 尋 的 路 徑 順 序, 如 果 有 兩 個 以 上 相 同 檔 名 的 執 行 檔 分 別 在 不 同 的 路 徑 時, 呵 呵, 就 需 要 特 別 留 意 囉! 這 裡 我 們 來 談 一 談 有 關 檔 案 與 目 錄 的 一 些 基 礎 管 理 部 分 吧! 檔 案 與 目 錄 的 檢 視 : ls [root@linux ~]# ls [-aadffhilrs] 目 錄 名 稱 [root@linux ~]# ls [--color={none,auto,always}] 目 錄 名 稱 [root@linux ~]# ls [--full-time] 目 錄 名 稱 參 數 : -a : 全 部 的 檔 案, 連 同 隱 藏 檔 ( 開 頭 為. 的 檔 案 ) 一 起 列 出 來 ~ -A : 全 部 的 檔 案, 連 同 隱 藏 檔, 但 不 包 括. 與.. 這 兩 個 目 錄, 一 起 列 出 來 ~ -d : 僅 列 出 目 錄 本 身, 而 不 是 列 出 目 錄 內 的 檔 案 資 料 -f : 直 接 列 出 結 果, 而 不 進 行 排 序 (ls 預 設 會 以 檔 名 排 序!) -F : 根 據 檔 案 目 錄 等 資 訊, 給 予 附 加 資 料 結 構, 例 如 : *: 代 表 可 執 行 檔 ; /: 代 表 目 錄 ; =: 代 表 socket 檔 案 ; : 代 表 FIFO 檔 案 ; -h : 將 檔 案 容 量 以 人 類 較 易 讀 的 方 式 ( 例 如 GB, KB 等 等 ) 列 出 來 ; -i : 列 出 inode 位 置, 而 非 列 出 檔 案 屬 性 ; -l : 長 資 料 串 列 出, 包 含 檔 案 的 屬 性 等 等 資 料 ; -n : 列 出 UID 與 GID 而 非 使 用 者 與 群 組 的 名 稱 (UID 與 GID 會 在 帳 號 管 理 提 到!) -r : 將 排 序 結 果 反 向 輸 出, 例 如 : 原 本 檔 名 由 小 到 大, 反 向 則 為 由 大 到 小 ; -R : 連 同 子 目 錄 內 容 一 起 列 出 來 ; -S : 以 檔 案 容 量 大 小 排 序! -t : 依 時 間 排 序 --color=never : 不 要 依 據 檔 案 特 性 給 予 顏 色 顯 示 ; file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 --color=always : 顯 示 顏 色 --color=auto : 讓 系 統 自 行 依 據 設 定 來 判 斷 是 否 給 予 顏 色 --full-time : 以 完 整 時 間 模 式 ( 包 含 年 月 日 時 分 ) 輸 出 --time={atime,ctime} : 輸 出 access 時 間 或 改 變 權 限 屬 性 時 間 (ctime) 而 非 內 容 變 更 時 間 (modification time) 範 例 : 在 Linux 系 統 當 中, 這 個 ls 指 令 可 能 是 最 常 被 執 行 的 吧! 因 為 我 們 隨 時 都 要 知 道 檔 案 或 者 是 目 錄 的 相 關 資 訊 啊 ~ 不 過, 我 們 Linux 的 檔 案 所 記 錄 的 資 訊 實 在 是 太 多 了, ls 沒 有 需 要 全 部 都 列 出 來 呢 ~ 所 以, 當 您 只 有 下 達 ls 時, 預 設 顯 示 的 只 有 : 非 隱 藏 檔 的 檔 名 以 檔 名 進 行 排 序 及 檔 名 代 表 的 顏 色 顯 示 ; 如 此 而 已 舉 例 來 說, 您 下 達 ls /etc 之 後, 只 有 經 過 排 序 的 檔 名 以 及 以 藍 色 顯 示 目 錄 及 白 色 顯 示 一 般 檔 案, 如 此 而 已 那 如 果 我 還 想 要 加 入 其 他 的 顯 示 資 訊 時, 可 以 加 入 上 頭 提 到 的 那 些 有 用 的 參 數 呢 ~ 舉 例 來 說, 我 們 之 前 一 直 用 到 的 -l 這 個 長 串 顯 示 資 料 內 容, 以 及 將 隱 藏 檔 也 一 起 列 示 出 來 的 - a 參 數 等 等 範 例 一 : 將 家 目 錄 下 的 所 有 檔 案 列 出 來 ( 含 屬 性 與 隱 藏 檔 ) [root@linux ~]# ls -al ~ total 252 drwxr-x--- 9 root root 4096 Jul 16 23:40. drwxr-xr-x 24 root root 4096 Jul 16 23:45.. -rw------- 1 root root 1491 Jun 25 08:53 an -rw------- 1 root root 12543 Jul 18 01:23.b -rw-r--r-- 1 root root 24 Dec 4 2004.b -rw-r--r-- 1 root root 191 Dec 4 2004.b -rw-r--r-- 1 root root 395 Jul 4 11:45.b -rw-r--r-- 1 root root 68495 Jun 25 08:53 in -rw-r--r-- 1 root root 5976 Jun 25 08:53 in drwx------ 2 root root 4096 Jul 4 16:03.s -rw------- 1 root root 12613 Jul 16 23:40.v # 這 個 時 候 您 會 看 到 以. 為 開 頭 的 幾 個 檔 案, 以 及 目 錄 檔./../.ssh 等 等, # 不 過, 目 錄 檔 都 是 以 深 藍 色 顯 示, 有 點 不 容 易 看 清 楚 就 是 了 範 例 二 : 承 上 題, 不 顯 示 顏 色, 但 在 檔 名 末 顯 示 出 該 檔 名 代 表 的 類 型 (type) [root@linux ~]# ls -alf --color=never ~ total 252 drwxr-x--- 9 root root 4096 Jul 16 23:40./ drwxr-xr-x 24 root root 4096 Jul 16 23:45.. -rw------- 1 root root 1491 Jun 25 08:53 an -rw------- 1 root root 12543 Jul 18 01:23.b -rw-r--r-- 1 root root 24 Dec 4 2004.b -rw-r--r-- 1 root root 191 Dec 4 2004.b -rw-r--r-- 1 root root 395 Jul 4 11:45.b -rw-r--r-- 1 root root 68495 Jun 25 08:53 in -rw-r--r-- 1 root root 5976 Jun 25 08:53 in drwx------ 2 root root 4096 Jul 4 16:03.s -rw------- 1 root root 12613 Jul 16 23:40.v file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 # 注 意 看 到 顯 示 結 果 的 第 一 行, 嘿 嘿 ~ 知 道 為 何 我 們 會 下 達 類 似./command # 之 類 的 指 令 了 吧? 因 為./ 代 表 的 是 目 前 目 錄 下 的 意 思 啊! 至 於 什 麼 是 FIFO/Socket? # 請 參 考 前 一 章 節 的 介 紹 啊! 範 例 三 : 完 整 的 呈 現 檔 案 的 修 改 時 間 *(modification time) [root@linux ~]# ls -al --full-time ~ total 252 drwxr-x--- 9 root root 4096 2005-07-16 23:4 drwxr-xr-x 24 root root 4096 2005-07-16 23:4 -rw------- 1 root root 1491 2005-06-25 08:5 -rw------- 1 root root 12543 2005-07-18 01:2 -rw-r--r-- 1 root root 24 2004-12-04 05:4 -rw-r--r-- 1 root root 191 2004-12-04 05:4 -rw-r--r-- 1 root root 395 2005-07-04 11:4 -rw-r--r-- 1 root root 68495 2005-06-25 08:5 -rw-r--r-- 1 root root 5976 2005-06-25 08:5 drwx------ 2 root root 4096 2005-07-04 16:0 -rw------- 1 root root 12613 2005-07-16 23:4 # 請 仔 細 看, 上 面 的 時 間 欄 位 變 了 喔! 變 成 較 為 完 整 的 格 式 # 一 般 來 說, ls -al 僅 列 出 目 前 短 格 式 的 時 間, 有 時 不 會 列 出 年 份, # 藉 由 --full-time 可 以 查 閱 到 比 較 正 確 的 完 整 時 間 格 式 啊! 其 實 ls 的 用 法 還 有 很 多, 包 括 查 閱 檔 案 所 在 i-node 的 ls -i 參 數, 以 及 用 來 進 行 檔 案 排 序 的 -S 參 數, 還 有 用 來 查 閱 不 同 時 間 的 動 作 的 --time=atime 等 參 數 而 這 些 參 數 的 存 在 都 是 因 為 Linux 檔 案 系 統 記 錄 了 很 多 有 用 的 資 訊 的 緣 故 那 麼 Linux 的 檔 案 系 統 中, 這 些 與 權 限 屬 性 有 關 的 資 料 放 在 哪 裡 呢? 放 在 i-node 裡 面 關 於 這 部 分, 我 們 會 在 下 個 章 節 繼 續 跟 您 作 比 較 深 入 的 介 紹 啊! 無 論 如 何, ls 最 常 被 使 用 到 的 功 能 還 是 那 個 -l 的 參 數, 為 此, 很 多 distribution 在 預 設 的 情 況 中, 已 經 將 ll (L 的 小 寫 ) 設 定 成 為 ls -l 的 意 思 了! 其 實, 那 個 功 能 是 Bash shell 的 alias 功 能 呢 ~ 也 就 是 說, 我 們 直 接 輸 入 ll 就 等 於 是 輸 入 ls -l 是 一 樣 的 ~ 關 於 這 部 分, 我 們 會 在 第 三 章 bash shell 時 再 次 的 強 調 滴 ~ 複 製 移 動 與 刪 除 : cp, rm, mv 要 複 製 檔 案, 請 使 用 cp (copy) 這 個 指 令 即 可 ~ 不 過, cp 這 個 指 令 的 用 途 可 多 了 ~ 除 了 單 純 的 複 製 之 外, 還 可 以 建 立 連 結 檔 ( 就 是 捷 徑 囉 ), 比 對 兩 檔 案 的 新 舊 而 予 以 更 新, 以 及 複 製 整 個 目 錄 等 等 的 功 能 呢! 至 於 移 動 目 錄 與 檔 案, 則 使 用 mv (move), 這 個 指 令 也 可 以 直 接 拿 來 作 更 名 (rename) 的 動 作 喔! 至 於 移 除 嗎? 那 就 是 rm (remove) 這 個 指 令 囉 ~ 底 下 我 們 就 來 瞧 一 瞧 先 ~ cp ( 複 製 檔 案 或 目 錄 ) file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 [root@linux ~]# cp [-adfilprsu] 來 源 檔 (source) 目 的 檔 (destination) [root@linux ~]# cp [options] source1 source2 source3... directory 參 數 : -a : 相 當 於 -pdr 的 意 思 ; -d : 若 來 源 檔 為 連 結 檔 的 屬 性 (link file), 則 複 製 連 結 檔 屬 性 而 非 檔 案 本 身 ; -f : 為 強 制 (force) 的 意 思, 若 有 重 複 或 其 他 疑 問 時, 不 會 詢 問 使 用 者, 而 強 制 複 製 ; -i : 若 目 的 檔 (destination) 已 經 存 在 時, 在 覆 蓋 時 會 先 詢 問 是 否 真 的 動 作! -l : 進 行 硬 式 連 結 (hard link) 的 連 結 檔 建 立, 而 非 複 製 檔 案 本 身 ; -p : 連 同 檔 案 的 屬 性 一 起 複 製 過 去, 而 非 使 用 預 設 屬 性 ; -r : 遞 迴 持 續 複 製, 用 於 目 錄 的 複 製 行 為 ; -s : 複 製 成 為 符 號 連 結 檔 (symbolic link), 亦 即 捷 徑 檔 案 ; -u : 若 destination 比 source 舊 才 更 新 destination! 最 後 需 要 注 意 的, 如 果 來 源 檔 有 兩 個 以 上, 則 最 後 一 個 目 的 檔 一 定 要 是 目 錄 才 行! 範 例 : 範 例 一 : 將 家 目 錄 下 的.bashrc 複 製 到 /tmp 下, 並 更 名 為 bashrc [root@linux ~]# cd /tmp [root@linux tmp]# cp ~/.bashrc bashrc [root@linux tmp]# cp -i ~/.bashrc bashrc cp: overwrite `basrhc'? n # 重 複 作 兩 次 動 作, 由 於 /tmp 底 下 已 經 存 在 bashrc 了, 加 上 -i 參 數, # 則 在 覆 蓋 前 會 詢 問 使 用 者 是 否 確 定! 可 以 按 下 n 或 者 y 呢! # 但 是, 反 過 來 說, 如 果 不 想 要 詢 問 時, 則 加 上 -f 這 個 參 數 來 強 制 直 接 覆 蓋! 範 例 二 : 將 /var/log/wtmp 複 製 到 /tmp 底 下 [root@linux tmp]# cp /var/log/wtmp. <== 想 要 複 製 到 目 前 的 目 錄, 最 後 的. 不 [root@linux tmp]# ls -l /var/log/wtmp wtmp -rw-rw-r-- 1 root utmp 71808 Jul 18 12:46 /var/log -rw-r--r-- 1 root root 71808 Jul 18 21:58 wtmp # 注 意 到 了 嗎?! 在 不 加 任 何 參 數 的 情 況 下, 檔 案 的 所 屬 者 會 改 變, 連 權 限 也 跟 著 改 變 了 ~ # 這 是 個 很 重 要 的 特 性! 要 注 意 喔! 還 有, 連 檔 案 建 立 的 時 間 也 不 一 樣 了! # 如 果 您 想 要 將 檔 案 的 所 有 特 性 都 一 起 複 製 過 來, 可 以 加 上 -a 喔! [root@linux tmp]# cp -a /var/log/wtmp wtmp_2 [root@linux tmp]# ls -l /var/log/wtmp wtmp_2 -rw-rw-r-- 1 root utmp 71808 Jul 18 12:46 / -rw-rw-r-- 1 root utmp 71808 Jul 18 12:46 w # 瞭 了 吧! 整 個 資 料 特 性 完 全 一 模 一 樣 ㄟ! 真 是 不 賴 ~ 這 就 是 -a 的 特 性! 範 例 三 : 複 製 /etc/ 這 個 目 錄 下 的 所 有 內 容 到 /tmp 底 下 [root@linux tmp]# cp /etc/ /tmp cp: omitting directory `/etc' <== 如 果 是 目 錄, 不 能 直 接 [root@linux tmp]# cp -r /etc/ /tmp # 還 是 要 再 次 的 強 調 喔! -r 是 可 以 複 製 目 錄, 但 是, 檔 案 與 目 錄 的 權 限 會 被 改 變 ~ # 所 以, 也 可 以 利 用 cp -a /etc /tmp 來 下 達 指 令 喔! 範 例 四 : 將 範 例 一 複 製 的 bashrc 建 立 一 個 連 結 檔 (symbolic link) [root@linux tmp]# ls -l bashrc -rw-r--r-- 1 root root 395 Jul 18 22:08 bas [root@linux tmp]# cp -s bashrc bashrc_slink [root@linux tmp]# cp -l bashrc bashrc_hlink file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 [root@linux tmp]# ls -l bashrc* -rw-r--r-- 2 root root 395 Jul 18 22:08 bas -rw-r--r-- 2 root root 395 Jul 18 22:08 bas lrwxrwxrwx 1 root root 6 Jul 18 22:31 bas # 那 個 bashrc_slink 是 由 -s 的 參 數 造 成 的, 建 立 的 是 一 個 捷 徑, # 所 以 您 會 看 到 在 檔 案 的 最 右 邊, 會 顯 示 這 個 檔 案 是 連 結 到 哪 裡 去 的! # 至 於 那 個 bashrc_hlink 有 趣 了! 建 立 了 這 個 檔 案 之 後, bashrc 與 bashrc_hlink # 所 有 的 參 數 都 一 樣, 只 是, 第 二 欄 的 link 數 改 變 成 為 2 了 ~ 而 不 是 原 本 的 1 喔! # 這 兩 種 連 結 的 方 式 的 異 同, 我 們 會 在 下 一 章 裡 面 進 行 介 紹 的! 範 例 五 : 若 ~/.bashrc 比 /tmp/bashrc 新 才 複 製 過 來 [root@linux tmp]# cp -u ~/.bashrc /tmp/bashrc # 這 個 -u 的 特 性, 是 在 目 標 檔 案 與 來 源 檔 案 有 差 異 時, 才 會 複 製 的 # 所 以, 比 較 常 被 用 於 備 份 的 工 作 當 中 喔! ^_^ 範 例 六 : 將 範 例 四 造 成 的 bashrc_slink 複 製 成 為 bashrc_slink_2 [root@linux tmp]# cp bashrc_slink bashrc_slink_2 [root@linux tmp]# ls -l bashrc_slink* lrwxrwxrwx 1 root root 6 Jul 18 22:31 bas -rw-r--r-- 1 root root 395 Jul 18 22:48 bas # 這 個 例 子 也 是 很 有 趣 喔! 原 本 複 製 的 是 連 結 檔, 但 是 卻 將 連 結 檔 的 實 際 檔 案 複 製 過 來 了 # 也 就 是 說, 如 果 沒 有 加 上 任 何 參 數 時, 複 製 的 是 原 始 檔 案, 而 非 連 結 檔 的 屬 性! # 若 要 複 製 連 結 檔 的 屬 性, 就 得 要 使 用 -d 或 者 -a 的 參 數 了! 範 例 七 : 將 家 目 錄 的.bashrc 及.bash_history 複 製 到 /tmp 底 下 [root@linux tmp]# cp ~/.bashrc ~/.bash_history /tmp # 可 以 將 多 個 資 料 一 次 複 製 到 同 一 個 目 錄 去! 這 個 cp 的 功 能 很 多, 而 由 於 我 們 常 常 在 進 行 一 些 資 料 的 複 製, 所 以 也 會 常 常 用 到 這 個 指 令 的 一 般 來 說, 我 們 如 果 去 複 製 別 人 的 資 料 ( 當 然, 該 檔 案 您 必 須 要 有 read 的 權 限 才 行 啊! ^_^) 時, 總 是 希 望 複 製 到 的 資 料 最 後 是 我 們 自 己 的, 所 以, 在 預 設 的 條 件 中, cp 的 來 源 檔 與 目 的 檔 的 權 限 是 不 同 的, 目 的 檔 的 擁 有 者 通 常 會 是 指 令 操 作 者 本 身 舉 例 來 說, 上 面 的 範 例 二 中, 由 於 我 是 root 的 身 份, 因 此 複 製 過 來 的 檔 案 擁 有 者 與 群 組 就 改 變 成 為 root 所 有 了! 這 樣 說, 可 以 明 白 嗎?! ^_^ 由 於 具 有 這 個 特 性, 因 此, 當 我 們 在 進 行 備 份 的 時 候, 某 些 需 要 特 別 注 意 的 特 殊 權 限 檔 案, 例 如 密 碼 檔 (/etc/shadow) 以 及 一 些 設 定 檔, 就 不 能 直 接 以 cp 來 複 製, 而 必 須 要 加 上 -a 或 者 是 -p 等 等 可 以 完 整 複 製 檔 案 權 限 的 參 數 才 行! 另 外, 如 果 您 想 要 複 製 檔 案 給 其 他 的 使 用 者, 也 必 須 要 注 意 到 檔 案 的 權 限 ( 包 含 讀 寫 執 行 以 及 檔 案 擁 有 者 等 等 ), 否 則, 其 他 人 還 是 無 法 針 對 您 給 予 的 檔 案 進 行 修 訂 的 動 作 喔! 注 意 注 意! 至 於 上 面 的 範 例 當 中, 第 四 個 範 例 是 最 有 趣 的, 使 用 -l 及 -s 都 會 建 立 所 謂 的 連 結 檔 (link file), 但 是 這 兩 種 連 結 檔 確 有 不 一 樣 的 展 現 情 況 這 是 怎 麼 一 回 事 啊? 那 個 -l 就 是 所 謂 的 hard link, 至 於 -s 則 是 symbolic link, 鳥 哥 這 裡 先 不 介 紹, 因 為 這 個 涉 及 i-node 的 相 關 知 識, 我 們 還 沒 有 介 紹 到, 下 一 章 再 來 討 論 這 個 link 的 問 題 喔! 總 之, 由 於 cp 有 種 種 的 檔 案 屬 性 與 權 限 的 特 性, 所 以, 在 複 製 時, 您 必 須 要 清 楚 的 瞭 解 到 : file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 是 否 需 要 完 整 的 保 留 來 源 檔 案 的 資 訊? 來 源 檔 案 是 否 為 連 結 檔 (symbolic link file)? 來 源 檔 是 否 為 特 殊 的 檔 案, 例 如 FIFO, socket 等? 來 源 檔 是 否 為 目 錄? rm ( 移 除 檔 案 或 目 錄 ) [root@linux ~]# rm [-fir] 檔 案 或 目 錄 參 數 : -f : 就 是 force 的 意 思, 強 制 移 除 ; -i : 互 動 模 式, 在 刪 除 前 會 詢 問 使 用 者 是 否 動 作 -r : 遞 迴 刪 除 啊! 最 常 用 在 目 錄 的 刪 除 了 範 例 : 範 例 一 : 建 立 一 檔 案 後 予 以 刪 除 [root@linux ~]# cd /tmp [root@linux tmp]# cp ~/.bashrc bashrc [root@linux tmp]# rm -i bashrc rm: remove regular file `bashrc'? y # 如 果 加 上 -i 的 參 數 就 會 主 動 詢 問 喔! 那 麼 如 果 不 要 詢 問 呢? 就 加 -f 參 數 啊! 範 例 二 : 刪 除 一 個 不 為 空 的 目 錄 [root@linux tmp]# mkdir test [root@linux tmp]# cp ~/.bashrc test/ <== 將 檔 案 複 製 到 此 目 錄 去, 就 不 是 空 的 [root@linux tmp]# rmdir test rmdir: `test': Directory not empty <== 刪 不 掉 啊! 因 為 [root@linux tmp]# rm -rf test 範 例 三 : 刪 除 一 個 帶 有 - 開 頭 的 檔 案 [root@linux tmp]# ls *aa* -rw-r--r-- 1 root root 0 Aug 22 10:52 [root@linux tmp]# rm -aaarm: invalid option -- a Try `rm --help' for more information. <== 因 為 [root@linux tmp]# rm./-aaa- 這 是 移 除 的 指 令 ( remove ), 相 當 於 dos 下 的 del 指 令! 這 裡 要 注 意 的 是, 通 常 在 Linux 系 統 下, 為 了 怕 檔 案 被 誤 殺, 所 以 很 多 distributions 都 已 經 預 設 有 -i 這 個 參 數, -i 是 指 每 個 檔 案 被 殺 掉 之 前 都 會 讓 使 用 者 確 認 一 次, 以 預 防 誤 殺 檔 案! 而 如 果 要 連 目 錄 下 的 東 西 都 一 起 殺 掉 的 話, 例 如 子 目 錄 裡 面 還 有 子 目 錄 時, 那 就 要 使 用 -rf 這 個 參 數 了! 不 過, 使 用 rm -rf 這 個 指 令 之 前, 請 千 萬 注 意 了, 因 為, 該 目 錄 或 檔 案 肯 定 會 被 root 殺 掉! 因 為 系 統 不 會 再 次 詢 問 你 是 否 要 砍 掉 呦! 所 以 那 是 個 超 級 嚴 重 的 指 令 下 達 呦! 得 特 別 注 意! 不 過, 如 果 你 確 定 該 目 錄 不 要 了, 那 麼 使 用 rm -rf 來 循 環 殺 掉 是 不 錯 的 方 式! file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 另 外, 範 例 三 也 是 很 有 趣 的 例 子, 我 們 在 之 前 就 談 過, 檔 名 最 好 不 要 使 用 "-" 號 開 頭, 因 為 "-" 後 面 接 的 是 參 數, 因 此, 單 純 的 使 用 rm -aaa- 系 統 的 指 令 就 會 誤 判 啦! 那 如 果 使 用 後 面 會 談 到 的 正 規 表 示 法 時, 還 是 會 出 問 題 的! 所 以, 只 能 用 避 過 首 位 字 元 是 "-" 的 方 法 啦! 就 是 加 上 本 目 錄./ 即 可! 如 果 man rm 的 話, 其 實 還 有 一 種 方 法, 那 就 是 rm -- -aaa- 也 可 以 啊! mv ( 移 動 檔 案 與 目 錄, 或 更 名 ) [root@linux ~]# mv [-fiu] source destination [root@linux ~]# mv [options] source1 source2 source3... directory 參 數 : -f :force 強 制 的 意 思, 強 制 直 接 移 動 而 不 詢 問 ; -i : 若 目 標 檔 案 (destination) 已 經 存 在 時, 就 會 詢 問 是 否 覆 蓋! -u : 若 目 標 檔 案 已 經 存 在, 且 source 比 較 新, 才 會 更 新 (update) 範 例 : 範 例 一 : 複 製 一 檔 案, 建 立 一 目 錄, 將 檔 案 移 動 到 目 錄 中 [root@linux ~]# cd /tmp [root@linux tmp]# cp ~/.bashrc bashrc [root@linux tmp]# mkdir mvtest [root@linux tmp]# mv bashrc mvtest # 將 某 個 檔 案 移 動 到 某 個 目 錄 去, 就 是 這 樣 做! 範 例 二 : 將 剛 剛 的 目 錄 名 稱 更 名 為 mvtest2 [root@linux tmp]# mv mvtest mvtest2 <== 這 樣 就 更 名 了! 簡 單 ~ # 其 實 在 Linux 底 下 還 有 個 有 趣 的 指 令, 名 稱 為 rename, # 該 指 令 則 專 職 進 行 檔 案 的 更 名 呢! 用 途 也 是 不 少 ~ 可 以 參 閱 man rename 喔! 範 例 三 : 再 建 立 兩 個 檔 案, 再 全 部 移 動 到 /tmp/mvtest2 當 中 [root@linux tmp]# cp ~/.bashrc bashrc1 [root@linux tmp]# cp ~/.bashrc bashrc2 [root@linux tmp]# mv bashrc1 bashrc2 mvtest2 # 注 意 到 這 邊, 如 果 有 多 個 來 源 檔 案 或 目 錄, 則 最 後 一 個 目 標 檔 一 定 是 目 錄! # 意 思 是 說, 將 所 有 的 資 料 移 動 到 該 目 錄 的 意 思! 這 是 搬 移 (move) 的 意 思! 當 你 要 移 動 檔 案 或 目 錄 的 時 後, 呵 呵! 這 個 指 令 就 很 重 要 啦! 同 樣 的, 你 也 可 以 使 用 -u ( update ) 來 測 試 新 舊 檔 案, 看 看 是 否 需 要 搬 移 囉! 另 外 一 個 用 途 就 是 變 更 檔 名!, 我 們 可 以 很 輕 易 的 使 用 mv 來 變 更 一 個 檔 案 的 檔 名 呢! 不 過, 在 Linux 才 有 的 指 令 當 中, 有 個 rename, 可 以 用 來 更 改 大 量 檔 案 的 檔 名, 您 可 以 利 用 man rename 來 查 閱 一 下, 也 是 挺 有 趣 的 指 令 喔! 取 得 路 徑 的 檔 案 名 稱 與 目 錄 名 稱 file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 我 們 前 面 介 紹 的 完 整 檔 名 ( 包 含 目 錄 名 稱 與 檔 案 名 稱 ) 當 中 提 到, 完 整 檔 名 最 長 可 以 到 達 4096 個 字 元 那 麼 您 怎 麼 知 道 那 個 是 檔 名? 那 個 是 目 錄 名? 嘿 嘿! 就 是 利 用 斜 線 (/) 來 分 辨 啊! 其 實, 取 得 檔 名 或 者 是 目 錄 名 稱, 一 般 的 用 途 應 該 是 在 寫 程 式 的 時 候, 用 來 判 斷 之 用 的 啦 ~ 所 以, 這 部 分 的 指 令 可 以 用 在 第 三 篇 內 的 shell scripts 裡 頭 喔! 底 下 我 們 簡 單 的 以 幾 個 範 例 來 談 一 談 basename 與 dirname 的 用 途! [root@linux ~]# basename /etc/sysconfig/network network <== 很 簡 單! 就 取 得 最 後 的 檔 名 ~ [root@linux ~]# dirname /etc/sysconfig/network /etc/sysconfig <== 取 得 的 變 成 目 錄 名 了! 很 簡 單 的 應 用 吧! 檔 案 內 容 查 閱 : 剛 剛 我 們 提 到 的 都 只 是 在 於 顯 示 檔 案 的 屬 性 與 權 限, 或 者 是 移 動 與 複 製 一 個 檔 案 或 目 錄 而 已, 那 麼 如 果 我 們 要 查 閱 一 個 檔 案 的 內 容 時, 該 如 何 是 好 呢?! 這 裡 有 相 當 多 有 趣 的 指 令 可 以 來 分 享 一 下 : 最 常 使 用 的 顯 示 檔 案 內 容 的 指 令 可 以 說 是 cat 與 more 及 less 了! 此 外, 如 果 我 們 要 查 看 一 個 很 大 型 的 檔 案 ( 好 幾 百 MB 時 ), 但 是 我 們 只 需 要 後 端 的 幾 行 字 而 已, 那 麼 該 如 何 是 好? 呵 呵! 用 tail 呀, 此 外, tac 這 個 指 令 也 可 以 達 到! 好 了, 說 說 各 個 指 令 的 用 途 吧! cat 由 第 一 行 開 始 顯 示 檔 案 內 容 tac 從 最 後 一 行 開 始 顯 示, 可 以 看 出 tac 是 cat 的 倒 著 寫! nl 顯 示 的 時 候, 順 道 輸 出 行 號! more 一 頁 一 頁 的 顯 示 檔 案 內 容 less 與 more 類 似, 但 是 比 more 更 好 的 是, 他 可 以 往 前 翻 頁! head 只 看 頭 幾 行 tail 只 看 尾 巴 幾 行 od 以 二 進 位 的 方 式 讀 取 檔 案 內 容! 直 接 檢 視 檔 案 內 容 直 接 查 閱 一 個 檔 案 的 內 容 可 以 使 用 cat/tac/nl 這 幾 個 指 令 啊! cat (concatenate) file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 [root@linux ~]# cat [-AEnTv] 參 數 : -A : 相 當 於 -vet 的 整 合 參 數, 可 列 出 一 些 特 殊 字 符 ~ -E : 將 結 尾 的 斷 行 字 元 $ 顯 示 出 來 ; -n : 列 印 出 行 號 ; -T : 將 [tab] 按 鍵 以 ^I 顯 示 出 來 ; -v : 列 出 一 些 看 不 出 來 的 特 殊 字 符 範 例 : 範 例 一 : 檢 閱 /etc/issue 這 個 檔 案 的 內 容 [root@linux ~]# cat /etc/issue Fedora Core release 4 (Stentz) Kernel \r on an \m 範 例 二 : 承 上 題, 順 便 列 印 出 行 號 時! [root@linux ~]# cat -n /etc/issue 1 Fedora Core release 4 (Stentz) 2 Kernel \r on an \m 3 # 看 到 了 吧! 可 以 印 出 行 號 呢! 這 對 於 大 檔 案 要 找 某 個 特 定 的 行 時, 有 點 用 處! 範 例 三 : 將 /etc/xinetd.conf 的 內 容 完 整 的 顯 示 出 來 ( 包 含 特 殊 字 元 ) [root@linux ~]# cat -A /etc/xinetd.conf #$ # Simple configuration file for xinetd$ #$ # Some defaults, and include /etc/xinetd.d/$ $ defaults$ {$ ^Iinstances = 60$ log_type $ = SYSLOG aut log_on_success^i^i= HOST PID$ log_on_failure^i^i= HOST$ ^Icps^I^I^I= 25 30$ }$ $ includedir /etc/xinetd.d$ # 在 一 般 的 環 境 中, 列 印 出 來 的 結 果 在 有 [tab] 與 空 白 鍵, 其 實 看 不 出 來, # 那 麼 使 用 cat -A 時, 會 將 [tab] 按 鍵 以 ^I 顯 示, 而 斷 行 字 元 也 會 顯 示 出 來 ~ # 最 特 殊 的 當 然 就 是 斷 行 字 元 了! 這 個 段 行 字 元 在 Linux 與 Windows 是 不 一 樣 的 # 在 Linux 是 以 $ 為 斷 行 字 元, 而 在 Windows 則 是 以 ^M$ 為 斷 行 字 元 # 這 部 分 我 們 會 在 vi 軟 體 的 介 紹 時, 再 次 的 說 明 到 喔! 嘿 嘿! Linux 裡 面 有 貓?! 喔! 不 是 的, cat 是 Concatenate ( 連 續 ) 的 簡 寫, 主 要 的 功 能 是 將 一 個 檔 案 的 內 容 連 續 的 印 出 在 螢 幕 上 面! 例 如 上 面 的 例 子 中, 我 們 將 /etc/issue 印 出 來! 如 果 加 上 -n 的 話, 則 每 一 行 前 面 還 會 加 上 行 號 呦! 鳥 哥 個 人 是 比 較 少 用 cat 啦! 畢 竟 當 你 的 檔 案 內 容 的 行 數 超 過 40 行 以 上, 嘿 嘿! 根 本 來 不 及 file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 看! 所 以, 配 合 等 一 下 要 介 紹 的 more 或 者 是 less 來 執 行 比 較 好! 此 外, 如 果 是 一 般 的 DOS 檔 案 時, 就 需 要 特 別 留 意 一 些 奇 奇 怪 怪 的 符 號 了, 例 如 斷 行 與 [tab] 等, 要 顯 示 出 來, 就 得 加 入 -A 之 類 的 參 數 了! tac ( 反 向 列 示 ) [root@linux ~]# tac /etc/issue Kernel \r on an \m Fedora Core release 4 (Stentz) # 嘿 嘿! 與 剛 剛 上 面 的 範 例 一 比 較, 是 由 最 後 一 行 先 顯 示 喔! tac 這 個 好 玩 了! 怎 麼 說 呢? 詳 細 的 看 一 下, cat 與 tac, 有 沒 有 發 現 呀! 對 啦! tac 剛 好 是 將 cat 反 寫 過 來, 所 以 他 的 功 能 就 跟 cat 相 反 啦, cat 是 由 第 一 行 到 最 後 一 行 連 續 顯 示 在 螢 幕 上, 而 tac 則 是 由 最 後 一 行 到 第 一 行 反 向 在 螢 幕 上 顯 示 出 來, 很 好 玩 吧! nl ( 添 加 行 號 列 印 ) [root@linux ~]# nl [-bnw] 檔 案 參 數 : -b : 指 定 行 號 指 定 的 方 式, 主 要 有 兩 種 : -b a : 表 示 不 論 是 否 為 空 行, 也 同 樣 列 出 行 號 ; -b t : 如 果 有 空 行, 空 的 那 一 行 不 要 列 出 行 號 ; -n : 列 出 行 號 表 示 的 方 法, 主 要 有 三 種 : -n ln : 行 號 在 螢 幕 的 最 左 方 顯 示 ; -n rn : 行 號 在 自 己 欄 位 的 最 右 方 顯 示, 且 不 加 0 ; -n rz : 行 號 在 自 己 欄 位 的 最 右 方 顯 示, 且 加 0 ; -w : 行 號 欄 位 的 佔 用 的 位 元 數 範 例 : 範 例 一 : 列 出 /etc/issue 的 內 容 [root@linux ~]# nl /etc/issue 1 Fedora Core release 4 (Stentz) 2 Kernel \r on an \m # 注 意 看, 這 個 檔 案 其 實 有 三 行, 第 三 行 為 空 白 ( 沒 有 任 何 字 元 ), # 因 為 他 是 空 白 行, 所 以 nl 不 會 加 上 行 號 喔! 如 果 確 定 要 加 上 行 號, 可 以 這 樣 做 : [root@linux ~]# nl -b a /etc/issue 1 Fedora Core release 4 (Stentz) 2 Kernel \r on an \m 3 # 呵 呵! 行 號 加 上 來 囉 ~ 那 麼 如 果 要 讓 行 號 前 面 自 動 補 上 0 呢? 可 這 樣 file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 [root@linux ~]# nl -b a -n rz /etc/issue 000001 Fedora Core release 4 (Stentz) 000002 Kernel \r on an \m 000003 # 嘿 嘿! 自 動 在 自 己 欄 位 的 地 方 補 上 0 了 ~ 預 設 欄 位 是 六 位 數, 如 果 想 要 改 成 3 位 數? [root@linux ~]# nl -b a -n rz -w 3 /etc/issue 001 Fedora Core release 4 (Stentz) 002 Kernel \r on an \m 003 # 變 成 僅 有 3 位 數 囉 ~ nl 可 以 將 輸 出 的 檔 案 內 容 自 動 的 加 上 行 號! 其 結 果 與 cat -n 有 點 不 太 一 樣, nl 可 以 將 行 號 做 比 較 多 的 顯 示 設 計, 包 括 位 數 與 是 否 自 動 補 齊 0 等 等 的 功 能 呢 ~ 可 翻 頁 檢 視 前 面 提 到 的 nl 與 cat, tac 等 等, 都 是 一 次 性 的 將 資 料 顯 示 到 螢 幕 上 面, 那 有 沒 有 可 以 進 行 一 頁 一 頁 翻 動 的 指 令 啊? 讓 我 們 可 以 一 頁 一 頁 的 觀 察, 才 不 會 前 面 的 看 不 到 啊 ~ 呵 呵! 有 的! 那 就 是 more 與 less 囉 ~ more ( 一 頁 一 頁 翻 動 ) [root@linux ~]# more /etc/man.config # # Generated automatically from man.conf.in b # configure script. # # man.conf from man-1.5p #... 中 間 省 略... --More--(28%) <== 重 點 在 這 一 行 喔! 仔 細 的 給 他 看 到 上 面 的 範 例, 如 果 more 後 面 接 的 檔 案 長 度 大 於 螢 幕 輸 出 的 行 數 時, 就 會 出 現 類 似 上 面 的 圖 示 重 點 在 最 後 一 行, 最 後 一 行 會 顯 示 出 目 前 顯 示 的 百 分 比, 而 且 還 可 以 在 最 後 一 行 輸 入 一 些 有 用 的 指 令 喔! 在 more 這 個 程 式 的 運 作 過 程 中, 你 有 幾 個 按 鍵 可 以 按 的 : 空 白 鍵 (space): 代 表 向 下 翻 一 頁 ; Enter : 代 表 向 下 翻 一 行 ; / 字 串 : 代 表 在 這 個 顯 示 的 內 容 當 中, 向 下 搜 尋 字 串 ; file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 :f : 立 刻 顯 示 出 檔 名 以 及 目 前 顯 示 的 行 數 ; q : 代 表 立 刻 離 開 more, 不 再 顯 示 該 檔 案 內 容 要 離 開 more 這 個 指 令 的 顯 示 工 作, 可 以 按 下 q 就 能 夠 離 開 了 而 要 向 下 翻 頁, 就 使 用 空 白 鍵 即 可 比 較 有 用 的 是 搜 尋 字 串 的 功 能, 舉 例 來 說, 我 們 使 用 more /etc/ man.config 來 觀 察 該 檔 案, 若 想 要 在 該 檔 案 內 搜 尋 MANPATH 這 個 字 串 時, 可 以 這 樣 做 : [root@linux ~]# more /etc/man.config # # Generated automatically from man.conf.in b # configure script. # # man.conf from man-1.5p #... 中 間 省 略... /MANPATH <== 輸 入 了 / 之 後, 游 標 就 會 自 動 跑 到 最 底 下 一 行 等 待 輸 入! 如 同 上 面 的 說 明, 輸 入 了 / 之 後, 游 標 就 會 跑 到 最 底 下 一 行, 並 且 等 待 您 的 輸 入, 您 輸 入 了 字 串 之 後, 嘿 嘿! more 就 會 開 始 向 下 搜 尋 該 字 串 囉 ~ 而 重 複 搜 尋 同 一 個 字 串, 可 以 直 接 按 下 n 即 可 啊! 最 後, 不 想 要 看 了, 就 按 下 q 即 可 離 開 more 啦! less ( 一 頁 一 頁 翻 動 ) [root@linux ~]# less /etc/man.config # # Generated automatically from man.conf.in b # configure script. # # man.conf from man-1.5p... 中 間 省 略... : <== 這 裡 可 以 等 待 您 輸 入 指 令! less 的 用 法 比 起 more 又 更 加 的 有 彈 性, 怎 麼 說 呢? 在 more 的 時 候, 我 們 並 沒 有 辦 法 向 前 面 翻, 只 能 往 後 面 看, 但 若 使 用 了 less 時, 呵 呵! 就 可 以 使 用 [pageup] [pagedown] 等 按 鍵 的 功 能 來 往 前 往 後 翻 看 文 件, 您 瞧, 是 不 是 更 容 易 使 用 來 觀 看 一 個 檔 案 的 內 容 了 呢!? 除 此 之 外, 在 less 裡 頭 可 以 擁 有 更 多 的 搜 尋 功 能 喔! 不 止 可 以 向 下 搜 尋, 也 可 以 向 上 搜 尋 ~ 實 在 是 很 不 錯 用 ~ 基 本 上, 可 以 輸 入 的 指 令 有 : 空 白 鍵 : 向 下 翻 動 一 頁 ; [pagedown]: 向 下 翻 動 一 頁 ; file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 [pageup] : 向 上 翻 動 一 頁 ; / 字 串 : 向 下 搜 尋 字 串 的 功 能 ;? 字 串 : 向 上 搜 尋 字 串 的 功 能 ; n : 重 複 前 一 個 搜 尋 ( 與 / 或? 有 關!) N : 反 向 的 重 複 前 一 個 搜 尋 ( 與 / 或? 有 關!) q : 離 開 less 這 個 程 式 ; 查 閱 檔 案 內 容 還 可 以 進 行 搜 尋 的 動 作 ~ 瞧 ~ less 是 否 很 不 錯 用 啊! 其 實 less 還 有 很 多 的 功 能 喔! 詳 細 的 使 用 方 式 請 使 用 man less 查 詢 一 下 啊! ^_^ 資 料 擷 取 我 們 可 以 將 輸 出 的 資 料 作 一 個 最 簡 單 的 擷 取, 那 就 是 取 出 前 面 (head) 與 取 出 後 面 (tail) 文 字 的 功 能 不 過, 要 注 意 的 是, head 與 tail 都 是 以 行 為 單 位 來 進 行 資 料 擷 取 的 喔! head ( 取 出 前 面 幾 行 ) [root@linux ~]# head [-n number] 檔 案 參 數 : -n : 後 面 接 數 字, 代 表 顯 示 幾 行 的 意 思 範 例 : [root@linux ~]# head /etc/man.config # 預 設 的 情 況 中, 顯 示 前 面 十 行! 若 要 顯 示 前 20 行, 就 得 要 這 樣 : [root@linux ~]# head -n 20 /etc/man.config head 的 英 文 意 思 就 是 頭 啦, 那 麼 這 個 東 西 的 用 法 自 然 就 是 顯 示 出 一 個 檔 案 的 前 幾 行 囉! 沒 錯! 就 是 這 樣! 若 沒 有 加 上 -n 這 個 參 數 時, 預 設 只 顯 示 十 行, 若 只 要 一 行 呢? 那 就 加 入 head -n 1 filename 即 可! tail ( 取 出 後 面 幾 行 ) [root@linux ~]# tail [-n number] 檔 案 參 數 : -n : 後 面 接 數 字, 代 表 顯 示 幾 行 的 意 思 範 例 : [root@linux ~]# tail /etc/man.config # 預 設 的 情 況 中, 顯 示 最 後 的 十 行! 若 要 顯 示 最 後 的 20 行, 就 得 要 這 樣 : [root@linux ~]# tail -n 20 /etc/man.config file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 那 麼 有 head 自 然 就 有 tail ( 尾 巴 ) 囉! 沒 錯! 這 個 tail 的 用 法 跟 head 的 用 法 差 不 多 類 似, 只 是 顯 示 的 是 後 面 幾 行 就 是 了! 預 設 也 是 顯 示 十 行, 若 要 顯 示 非 十 行, 就 加 -n number 的 參 數! 例 題 一 : 假 如 我 想 要 顯 示 ~/.bashrc 的 第 11 到 第 20 行 呢? 答 : 這 個 應 該 不 算 難, 想 一 想, 在 第 11 到 第 20 行, 那 麼 我 取 前 20 行, 再 取 後 十 行, 所 以 結 果 就 是 : head n 20 ~/.bashrc tail n 10, 這 樣 就 可 以 得 到 第 11 到 第 20 行 之 間 的 內 容 了! 但 是 裡 面 涉 及 到 管 線 命 令, 需 要 在 第 三 篇 的 時 候 才 講 的 到! 非 純 文 字 檔 : od 我 們 上 面 提 到 的, 都 是 在 查 閱 純 文 字 檔 (ASCII 格 式 的 檔 案 ) 的 內 容 那 麼 萬 一 我 們 想 要 查 閱 非 文 字 檔, 舉 例 來 說, 例 如 /usr/bin/passwd 這 個 執 行 檔 的 內 容 時, 又 該 如 何 去 讀 出 資 訊 呢? 事 實 上, 由 於 執 行 檔 通 常 是 binary file, 使 用 上 頭 提 到 的 指 令 來 讀 取 他 的 內 容 時, 確 實 會 產 生 類 似 亂 碼 的 資 料 啊! 那 怎 麼 辦? 沒 關 係, 我 們 可 以 利 用 od 這 個 指 令 來 讀 取 喔! [root@linux ~]# od [-t TYPE] 檔 案 參 數 : -t : 後 面 可 以 接 各 種 類 型 (TYPE) 的 輸 出, 例 如 : a : 利 用 預 設 的 字 元 來 輸 出 ; c : 使 用 ASCII 字 元 來 輸 出 d[size] : 利 用 十 進 位 (decimal) 來 輸 出 資 料, 每 個 整 數 佔 用 size bytes ; f[size] : 利 用 浮 點 數 值 (floating) 來 輸 出 資 料, 每 個 數 佔 用 size bytes ; o[size] : 利 用 八 進 位 (octal) 來 輸 出 資 料, 每 個 整 數 佔 用 size bytes ; x[size] : 利 用 十 六 進 位 (hexadecimal) 來 輸 出 資 料, 每 個 整 數 佔 用 size bytes ; 範 例 : [root@linux ~]# od -t c /usr/bin/passwd 0000000 177 E L F 001 001 001 \0 \0 \ 0000020 002 \0 003 \0 001 \0 \0 \0 260 22 0000040 020 E \0 \0 \0 \0 \0 \0 4 \ 0000060 035 \0 034 \0 006 \0 \0 \0 4 \ 0000100 4 200 004 \b 340 \0 \0 \0 340 \... 中 間 省 略... 利 用 這 個 指 令, 可 以 將 data file 或 者 是 binary file 的 內 容 資 料 給 他 讀 出 來 喔! 雖 然 讀 出 的 來 數 值 預 設 是 使 用 非 文 字 檔, 亦 即 是 16 進 位 的 數 值 來 顯 示 的, 不 過, 我 們 還 是 可 以 透 過 -t c 的 參 數 來 將 資 料 內 的 字 元 以 ASCII 類 型 的 字 元 來 顯 示, 雖 然 對 於 一 般 使 用 者 來 說, 這 個 指 令 的 用 處 可 能 不 大, 但 是 對 於 工 程 師 來 說, 這 個 指 令 可 以 將 binary file 的 內 file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 容 作 一 個 大 致 的 輸 出, 他 們 可 以 看 得 出 東 西 的 啦 ~ ^_^ 修 改 檔 案 時 間 與 建 置 新 檔 : touch 我 們 在 ls 這 個 指 令 的 介 紹 時, 有 稍 微 提 到 每 個 檔 案 在 linux 底 下 都 會 記 錄 三 個 主 要 的 變 動 時 間, 咦! 那 麼 三 個 時 間 是 哪 三 個 呢? modification time (mtime): 當 該 檔 案 的 內 容 資 料 變 更 時, 就 會 更 新 這 個 時 間! 內 容 資 料 指 的 是 檔 案 的 內 容, 而 不 是 檔 案 的 屬 性 喔! status time (ctime): 當 該 檔 案 的 狀 態 (status) 改 變 時, 就 會 更 新 這 個 時 間, 舉 例 來 說, 像 是 權 限 與 屬 性 被 更 改 了, 都 會 更 新 這 個 時 間 啊 ~ access time (atime): 當 該 檔 案 的 內 容 被 取 用 時, 就 會 更 新 這 個 讀 取 時 間 (access) 舉 例 來 說, 我 們 使 用 cat 去 讀 取 ~/.bashrc, 就 會 更 新 atime 了 這 是 個 挺 有 趣 的 現 象, 舉 例 來 說, 我 們 來 看 一 看 您 自 己 的 /etc/man.config 這 個 檔 案 的 時 間 吧! [root@linux ~]# ls -l /etc/man.config -rw-r--r-- 1 root root 4506 Apr 8 19:11 /etc [root@linux ~]# ls -l --time=atime /etc/man.config -rw-r--r-- 1 root root 4506 Jul 19 17:53 /etc [root@linux ~]# ls -l --time=ctime /etc/man.config -rw-r--r-- 1 root root 4506 Jun 25 08:28 /etc 看 到 了 嗎? 在 預 設 的 情 況 下, ls 顯 示 出 來 的 是 該 檔 案 的 mtime, 也 就 是 這 個 檔 案 的 內 容 上 次 被 更 動 的 時 間 至 於 我 的 系 統 是 在 6/25 的 時 候 安 裝 的, 因 此, 這 個 檔 案 被 產 生 但 是 狀 態 被 更 動 的 時 間 就 回 溯 到 那 個 時 間 點 了! 而 還 記 得 剛 剛 我 們 使 用 的 範 例 當 中, 有 使 用 到 這 個 檔 案 啊, 所 以 啊, 他 的 atime 就 會 變 成 剛 剛 使 用 的 時 間 了! 檔 案 的 時 間 是 很 重 要 的, 因 為, 如 果 檔 案 的 時 間 誤 判 的 話, 可 能 會 造 成 某 些 程 式 無 法 順 利 的 運 作 ~ OK! 那 麼 萬 一 我 發 現 了 一 個 檔 案 來 自 未 來 ( 嘿 嘿! 不 要 懷 疑! 很 多 時 候 會 有 這 個 問 題 的! 這 個 我 們 在 安 裝 的 時 候, 提 到 的 GMT 時 間 就 是 那 個 意 思 啦 ~), 那 該 如 何 讓 該 檔 案 的 時 間 變 成 現 在 的 時 刻 呢? 很 簡 單 啊! 就 用 touch 這 個 指 令 即 可! file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 [root@linux ~]# touch [-acdmt] 檔 案 參 數 : -a : 僅 修 訂 access time; -c : 僅 修 改 時 間, 而 不 建 立 檔 案 ; -d : 後 面 可 以 接 日 期, 也 可 以 使 用 --date=" 日 期 或 時 間 " -m : 僅 修 改 mtime ; -t : 後 面 可 以 接 時 間, 格 式 為 [YYMMDDhhmm] 範 例 : 範 例 一 : 新 建 一 個 空 的 檔 案 [root@linux ~]# cd /tmp [root@linux tmp]# touch testtouch [root@linux tmp]# ls -l testtouch -rw-r--r-- 1 root root 0 Jul 19 20:49 test # 注 意 到, 這 個 檔 案 的 大 小 是 0 呢! 在 預 設 的 狀 態 下, 如 果 touch 後 面 有 接 檔 案, # 則 該 檔 案 的 三 個 時 間 (atime/ctime/mtime) 都 會 更 新 為 目 前 的 時 間 若 該 檔 案 不 存 在, # 則 會 主 動 的 建 立 一 個 新 的 空 的 檔 案 喔! 例 如 上 面 這 個 例 子! 範 例 二 : 將 ~/.bashrc 複 製 成 為 bashrc, 假 設 複 製 完 全 的 屬 性, 檢 查 其 日 期 [root@linux tmp]# cp ~/.bashrc bashrc [root@linux tmp]# ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc -rwxr-xr-x 1 root <== root 這 是 mtime 395 Jul 4 11:45 bashr -rwxr-xr-x 1 root root 395 Jul 19 20:44 bashr -rwxr-xr-x 1 root root 395 Jul 19 20:53 bashr # 在 這 個 案 例 當 中, 我 們 使 用 了 ; 這 個 指 令 分 隔 符 號, 他 的 用 法 我 們 會 在 Bash shell 中 提 到 # 此 外, ll 是 ls -l 的 命 令 別 名, 這 個 我 們 也 會 在 bash shell 當 中 再 次 提 及, # 您 目 前 可 以 簡 單 的 想 成, ll 就 是 ls -l 的 簡 寫 即 可! 至 於 ; 則 是 同 時 下 達 兩 個 指 令, # 且 讓 兩 個 指 令 依 序 執 行 的 意 思 上 面 的 結 果 當 中 我 們 可 以 看 到, 該 檔 案 變 更 的 日 期 # Jul 4 11:45, 但 是 atime 與 ctime 不 一 樣 囉 ~ 範 例 三 : 修 改 案 例 二 的 bashrc 檔 案, 將 日 期 調 整 為 兩 天 前 [root@linux tmp]# touch -d "2 days ago" bashrc [root@linux tmp]# ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc -rwxr-xr-x 1 root root 395 Jul 17 21:02 bashr -rwxr-xr-x 1 root root 395 Jul 17 21:02 bashr -rwxr-xr-x 1 root root 395 Jul 19 21:02 bashr # 跟 上 個 範 例 比 較 看 看, 本 來 是 19 日 的 變 成 了 17 日 了 (atime/mtime)~ # 不 過, ctime 並 沒 有 跟 著 改 變 喔! 範 例 四 : 將 上 個 範 例 的 bashrc 日 期 改 為 2005/07/15 2:02 [root@linux tmp]# touch -t 0507150202 bashrc [root@linux tmp]# ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc -rwxr-xr-x 1 root root 395 Jul 15 02:02 bashr -rwxr-xr-x 1 root root 395 Jul 15 02:02 bashr -rwxr-xr-x 1 root root 395 Jul 19 21:05 bashr # 注 意 看 看, 日 期 在 atime 與 mtime 都 改 變 了, 但 是 ctime 則 是 記 錄 目 前 的 時 間! 透 過 touch 這 個 指 令, 我 們 可 以 輕 易 的 修 訂 檔 案 的 日 期 與 時 間 並 且, 也 可 以 建 立 一 個 空 file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 的 檔 案 喔! 不 過, 要 注 意 的 是, 即 使 我 們 複 製 一 個 檔 案 時, 複 製 所 有 的 屬 性, 但 也 沒 有 辦 法 複 製 ctime 這 個 屬 性 的 ctime 可 以 記 錄 這 個 檔 案 最 近 的 狀 態 (status) 被 改 變 的 時 間 無 論 如 何, 還 是 要 告 知 大 家, 我 們 平 時 看 的 檔 案 屬 性 中, 比 較 重 要 的 還 是 屬 於 那 個 mtime 啊! 我 們 關 心 的 常 常 是 這 個 檔 案 的 內 容 是 什 麼 時 候 被 更 動 的 說 ~ 瞭 乎? 無 論 如 何, touch 這 個 指 令 最 常 被 使 用 的 情 況 是 : 建 立 一 個 空 的 檔 案 ; 將 某 個 檔 案 日 期 修 訂 為 目 前 (mtime 與 atime) 檔 案 與 目 錄 的 預 設 權 限 與 隱 藏 權 限 由 前 一 章 的 Linux 檔 案 屬 性 的 內 容 我 們 可 以 知 道 一 個 檔 案 有 若 干 個 屬 性, 包 括 ( r, w, x ) 等 基 本 屬 性, 及 是 否 為 目 錄 (d) 與 檔 案 (-) 或 者 是 連 結 檔 (l) 等 等 的 屬 性! 那 麼 要 修 改 屬 性 的 方 法 在 前 面 也 約 略 提 過 了, 這 裡 再 加 強 補 充 一 下! 此 外, 由 於 Linux 還 可 以 設 定 其 他 的 系 統 安 全 屬 性, 使 用 chattr 來 設 定, 而 以 lsattr 來 查 看, 最 重 要 的 屬 性 就 是 可 以 設 定 其 不 可 修 改 的 特 性! 讓 連 檔 案 的 擁 有 者 都 不 能 進 行 修 改! 這 個 屬 性 可 是 相 當 重 要 的, 尤 其 是 在 安 全 機 制 上 面 ( security )! 首 先, 先 來 複 習 一 下 上 一 章 談 到 的 權 限 概 念, 將 底 下 的 例 題 看 一 看 先 ~ 例 題 二 : 你 的 系 統 有 個 一 般 身 份 使 用 者 dmtsai, 他 的 群 組 為 users, 他 的 家 目 錄 在 /home/dmtsai, 你 想 將 你 的 ~/.bashrc 複 製 給 他 ( 假 設 你 是 root), 可 以 怎 麼 作? 答 : cp ~/.bashrc ~dmtsai/bashrc chown dmtsai:users ~dmtsai/bashrc 在 上 面 這 個 範 例 當 中, 我 為 了 怕 覆 蓋 掉 dmtsai 自 己 的 ~dmtsai/.bashrc, 所 以 將 檔 名 更 名 了 ~ 而 複 製 給 他 後, 還 要 修 正 這 個 檔 案 的 擁 有 者 與 群 組 才 行 喔! file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 例 題 三 : 我 想 在 /tmp 底 下 建 立 一 個 目 錄, 這 個 目 錄 名 稱 為 chap2_2_ex1, 並 且, 這 個 目 錄 擁 有 者 為 dmtsai, 群 組 為 users, 此 外, 任 何 人 都 可 以 進 入 該 目 錄 瀏 覽 檔 案, 不 過 除 了 dmtsai 之 外, 其 他 人 都 不 能 修 改 該 目 錄 下 的 檔 案 答 : 因 為 除 了 dmtsai 之 外, 其 他 人 不 能 修 改 該 目 錄 下 的 檔 案, 此 外, dmtsai 可 以 修 改, 所 以 整 個 目 錄 的 權 限 應 該 是 drwxr-xr-x 才 對! 因 此 mkdir /tmp/chap2_2_ex1 chown -R dmtsai:users /tmp/chap2_2_ex1 chmod -R 755 /tmp/chap2_2_ex1 在 上 面 這 個 例 題 當 中, 如 果 您 知 道 755 那 個 分 數 是 怎 麼 計 算 出 來 的, 那 麼 您 應 該 對 於 權 限 有 一 定 程 度 的 概 念 了 如 果 您 不 知 道 755 怎 麼 來 的? 那 麼... 趕 快 回 去 前 一 章 看 看 chmod 那 個 指 令 的 介 紹 部 分 啊! 這 部 分 很 重 要 喔! 您 得 要 先 清 楚 的 瞭 解 到 才 行 ~ 否 則 就 進 行 不 下 去 囉 ~ 假 設 您 對 於 權 限 都 認 識 的 差 不 多 了, 那 麼 底 下 我 們 就 要 來 談 一 談, 新 增 一 個 檔 案 或 目 錄 時, 預 設 的 權 限 是 什 麼? 這 個 議 題! 檔 案 預 設 權 限 :umask OK! 那 麼 現 在 我 們 知 道 如 何 建 立 或 者 是 改 變 一 個 目 錄 或 檔 案 的 屬 性 了, 不 過, 您 知 道 當 你 建 立 一 個 新 的 檔 案 或 目 錄 時, 他 的 預 設 屬 性 會 是 什 麼 嗎? 呵 呵! 那 就 與 umask 這 個 玩 意 兒 有 關 了! 那 麼 umask 是 在 搞 什 麼 呢? 基 本 上, umask 就 是 指 定 目 前 使 用 者 在 建 立 檔 案 或 目 錄 時 候 的 屬 性 預 設 值, 那 麼 如 何 得 知 或 設 定 umask 呢? 他 的 指 定 條 件 以 底 下 的 方 式 來 指 定 : [root@linux ~]# umask 0022 [root@linux ~]# umask -S u=rwx,g=rx,o=rx 查 閱 的 方 式 有 兩 種, 一 種 可 以 直 接 輸 入 umask, 就 可 以 看 到 數 字 型 態 的 權 限 設 定 分 數, 一 種 則 是 加 入 -S (Symbolic) 這 個 參 數, 就 會 以 符 號 類 型 的 方 式 來 顯 示 出 權 限 了! 奇 怪 的 是, 怎 麼 umask 會 有 四 組 數 字 啊? 不 是 只 有 三 組 嗎? 是 沒 錯 啦 ~ 第 一 組 是 特 殊 權 限 用 的, 我 們 先 不 要 理 他, 所 以 先 看 後 面 三 組 即 可 在 預 設 權 限 的 屬 性 上, 目 錄 與 檔 案 是 不 一 樣 的 由 於 檔 案 我 們 不 希 望 他 具 有 可 執 行 的 權 力, 預 設 情 況 中, 檔 案 是 沒 有 可 執 行 (x) 權 限 的 因 此 : 若 使 用 者 建 立 為 檔 案 則 預 設 沒 有 可 執 行 ( x ) 項 目, 亦 即 只 有 rw 這 兩 個 項 目, 也 就 是 最 大 為 666 分, 預 設 屬 性 如 下 : -rw-rw-rwfile:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 若 使 用 者 建 立 為 目 錄, 則 由 於 x 與 是 否 可 以 進 入 此 目 錄 有 關, 因 此 預 設 為 所 有 權 限 均 開 放, 亦 即 為 777 分, 預 設 屬 性 如 下 : drwxrwxrwx 那 麼 umask 指 定 的 是 該 預 設 值 需 要 減 掉 的 權 限! 因 為 r w x 分 別 是 4 2 1 分, 所 以 囉! 也 就 是 說, 當 要 拿 掉 能 寫 的 權 限, 就 是 輸 入 2 分, 而 如 果 要 拿 掉 能 讀 的 權 限, 也 就 是 4 分, 那 麼 要 拿 掉 讀 與 寫 的 權 限, 也 就 是 6 分, 而 要 拿 掉 執 行 與 寫 入 的 權 限, 也 就 是 3 分, 這 樣 瞭 解 嗎? 請 問 您, 5 分 是 什 麼? 呵 呵! 就 是 讀 與 執 行 的 權 限 啦! 如 果 以 上 面 的 例 子 來 說 明 的 話, 因 為 umask 為 022, 所 以 user 並 沒 有 被 拿 掉 屬 性, 不 過 group 與 others 的 屬 性 被 拿 掉 了 2 ( 也 就 是 w 這 個 屬 性 ), 那 麼 由 於 當 使 用 者 : 建 立 檔 案 時 :(-rw-rw-rw-) (-----w--w-) ==> - 建 立 目 錄 時 :(drwxrwxrwx) (d----w--w-) ==> d 不 相 信 嗎? 我 們 就 來 測 試 看 看 吧! [root@linux ~]# umask 0022 [root@linux ~]# touch test1 [root@linux ~]# mkdir test2 [root@linux ~]# ll -rw-r--r-- 1 root root 0 Jul 20 00:36 test1 drwxr-xr-x 2 root root 4096 Jul 20 00:36 test2 呵 呵! 瞧 見 了 吧?! 確 定 屬 性 是 沒 有 錯 的 好 了, 假 如 我 們 想 要 讓 與 使 用 者 同 群 組 的 人 也 可 以 存 取 檔 案 呢? 也 就 是 說, 假 如 dmtsai 是 users 這 個 群 組 的 人, 而 dmtsai 作 的 檔 案 希 望 讓 users 同 群 組 的 人 也 可 以 存 取, 這 也 是 常 常 被 用 在 團 隊 開 發 計 畫 時, 常 常 會 考 慮 到 的 權 限 問 題 在 這 樣 的 情 況 下, 我 們 的 umask 自 然 不 能 取 消 group 的 w 權 限, 也 就 是 說, 我 們 希 望 製 作 出 來 的 檔 案 應 該 是 -rw-rw-r-- 的 模 樣, 所 以 囉, umask 應 該 是 要 002 才 好 ( 僅 拿 掉 others 的 w 權 限 ) 那 麼 如 何 設 定 umask 呢? 簡 單 的 很, 直 接 在 umask 後 面 輸 入 002 就 好 了! [root@linux ~]# umask 002 [root@linux ~]# touch test3 [root@linux ~]# mkdir test4 [root@linux ~]# ll -rw-rw-r-- 1 root root 0 Jul 20 00:41 test3 drwxrwxr-x 2 root root 4096 Jul 20 00:41 test4 所 以 說, 這 個 umask 對 於 檔 案 與 目 錄 的 預 設 權 限 是 很 有 關 係 的! 這 個 概 念 可 以 用 在 任 何 伺 服 器 上 面, 尤 其 是 未 來 在 您 架 設 檔 案 伺 服 器 (file server), 舉 例 來 說, SAMBA Server 或 者 是 FTP server 時, 都 是 很 重 要 的 觀 念! 這 牽 涉 到 您 的 使 用 者 是 否 能 夠 將 檔 案 進 一 步 利 用 的 問 題 喔! 不 要 等 閒 視 之! file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 例 題 四 : 假 設 您 的 umask 為 003, 請 問 該 umask 情 況 下, 建 立 的 檔 案 與 目 錄 權 限 為? 答 : umask 為 003, 所 以 拿 掉 的 屬 性 為 --------wx, 因 此 : 檔 案 : (-rw-rw-rw-) - (--------wx) = -rw-r 目 錄 : (drwxrwxrwx) - (--------wx) = drwxr Tips: 關 於 umask 與 權 限 的 計 算 方 式 中, 教 科 書 喜 歡 使 用 二 進 位 的 方 式 來 進 行 AND 與 NOT 的 計 算, 不 過, 鳥 哥 還 是 比 較 喜 歡 使 用 符 號 方 式 來 計 算 ~ 聯 想 上 面 比 較 容 易 一 點 ~ 但 是, 有 的 書 籍 或 者 是 BBS 上 面 的 朋 友, 有 的 人 喜 歡 使 用 檔 案 預 設 屬 性 666 與 目 錄 預 設 屬 性 777 來 與 umask 進 行 相 減 的 計 算 ~ 這 是 不 好 的 喔! 以 上 面 例 題 四 的 案 例 來 看, 如 果 使 用 預 設 屬 性 相 加 減, 則 檔 案 變 成 :666-003=663, 亦 即 是 -rw-rw--wx, 這 可 是 完 全 不 對 的 喔! 想 想 看, 原 本 檔 案 就 已 經 去 除 x 的 預 設 屬 性 了, 怎 麼 可 能 突 然 間 冒 出 來 了? 所 以, 這 個 地 方 得 要 特 別 小 心 喔! 在 預 設 的 情 況 中, root 的 umask 會 拿 掉 比 較 多 的 屬 性,root 的 umask 預 設 是 022, 這 是 基 於 安 全 的 考 量 啦 ~ 至 於 一 般 身 份 使 用 者, 通 常 他 們 的 umask 為 002, 亦 即 保 留 同 群 組 的 寫 入 權 力! 其 實, 關 於 預 設 umask 的 設 定 可 以 參 考 /etc/bashrc 這 個 檔 案 的 內 容, 不 過, 不 建 議 修 改 該 檔 案, 您 可 以 參 考 bash shell 提 到 的 環 境 參 數 設 定 檔 (~/.bashrc) 的 說 明 ~ 這 部 分 我 們 在 第 三 章 的 時 候 會 提 到! 檔 案 隱 藏 屬 性 : 什 麼? 檔 案 還 有 隱 藏 屬 性? 光 是 那 九 個 權 限 就 快 要 瘋 掉 了, 竟 然 還 有 隱 藏 屬 性, 真 是 要 命 ~ 但 是 沒 辦 法, 就 是 有 檔 案 的 隱 藏 屬 性 存 在 啊! 不 過, 這 些 隱 藏 的 屬 性 確 實 對 於 系 統 有 很 大 的 幫 助 的 ~ 尤 其 是 在 系 統 安 全 (Security) 上 面, 重 要 的 緊 呢! 底 下 我 們 就 來 談 一 談 如 何 設 定 與 檢 查 這 些 隱 藏 的 屬 性 吧! chattr ( 設 定 檔 案 隱 藏 屬 性 ) file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 [root@linux ~]# chattr [+-=][ASacdistu] 檔 案 或 目 錄 名 稱 參 數 : + : 增 加 某 一 個 特 殊 參 數, 其 他 原 本 存 在 參 數 則 不 動 - : 移 除 某 一 個 特 殊 參 數, 其 他 原 本 存 在 參 數 則 不 動 = : 設 定 一 定, 且 僅 有 後 面 接 的 參 數 A : 當 設 定 了 A 這 個 屬 性 時, 這 個 檔 案 ( 或 目 錄 ) 的 存 取 時 間 atime (access) 將 不 可 被 修 改, 可 避 免 例 如 手 提 式 電 腦 容 易 有 磁 碟 I/O 錯 誤 的 情 況 發 生! S : 這 個 功 能 有 點 類 似 sync 的 功 能! 就 是 會 將 資 料 同 步 寫 入 磁 碟 當 中! 可 以 有 效 的 避 免 資 料 流 失! a : 當 設 定 a 之 後, 這 個 檔 案 將 只 能 增 加 資 料, 而 不 能 刪 除, 只 有 root 才 能 設 定 這 個 屬 性 c : 這 個 屬 性 設 定 之 後, 將 會 自 動 的 將 此 檔 案 壓 縮, 在 讀 取 的 時 候 將 會 自 動 解 壓 縮, 但 是 在 儲 存 的 時 候, 將 會 先 進 行 壓 縮 後 再 儲 存 ( 看 來 對 於 大 檔 案 似 乎 蠻 有 用 的!) d : 當 dump( 備 份 ) 程 序 被 執 行 的 時 候, 設 定 d 屬 性 將 可 使 該 檔 案 ( 或 目 錄 ) 不 具 有 dump 功 能 i : 這 個 i 可 就 很 厲 害 了! 他 可 以 讓 一 個 檔 案 不 能 被 刪 除 改 名 設 定 連 結 也 無 法 寫 入 或 新 增 資 料! 對 於 系 統 安 全 性 有 相 當 大 的 助 益! j : 當 使 用 ext3 這 個 檔 案 系 統 格 式 時, 設 定 j 屬 性 將 會 使 檔 案 在 寫 入 時 先 記 錄 在 journal 中! 但 是 當 filesystem 設 定 參 數 為 data=journalled 時, 由 於 已 經 設 定 了 日 誌 了, 所 以 這 個 屬 性 無 效! s : 當 檔 案 設 定 了 s 參 數 時, 他 將 會 被 完 全 的 移 除 出 這 個 硬 碟 空 間 u : 與 s 相 反 的, 當 使 用 u 來 設 定 檔 案 時, 則 資 料 內 容 其 實 還 存 在 磁 碟 中, 可 以 使 用 來 undeletion. 注 意 : 這 個 屬 性 設 定 上 面, 比 較 常 見 的 是 a 與 i 的 設 定 值, 而 且 很 多 設 定 值 必 須 要 身 為 root 才 能 夠 設 定 的 喔! 範 例 : [root@linux ~]# cd /tmp [root@linux tmp]# touch attrtest [root@linux tmp]# chattr +i attrtest [root@linux tmp]# rm attrtest rm: remove write-protected regular empty fil rm: cannot remove `attrtest': Operation not # 看 到 了 嗎? 呼 呼! 連 root 也 沒 有 辦 法 將 這 個 檔 案 刪 除 呢! 趕 緊 解 除 設 定! [root@linux tmp]# chattr -i attrtest 這 這 個 指 令 是 重 要 的, 尤 其 是 在 系 統 的 安 全 性 上 面! 由 於 這 些 屬 性 是 隱 藏 的 性 質, 所 以 需 要 以 lsattr 才 能 看 到 該 屬 性 呦! 其 中, 個 人 認 為 最 重 要 的 當 屬 +i 這 個 屬 性 了, 因 為 他 可 以 讓 一 個 檔 案 無 法 被 更 動, 對 於 需 要 強 烈 的 系 統 安 全 的 人 來 說, 真 是 相 當 的 重 要 的! 裡 頭 還 有 相 當 多 的 屬 性 是 需 要 root 才 能 設 定 的 呢! 此 外, 如 果 是 log file 這 種 的 登 錄 檔, 就 更 需 要 +a 這 個 可 以 增 加, 但 是 不 能 修 改 舊 有 的 資 料 與 刪 除 的 參 數 了! 怎 樣? 很 棒 吧! 未 來 提 到 登 錄 檔 的 認 知 時, 我 們 再 來 聊 一 聊 如 何 設 定 他 吧! lsattr ( 顯 示 檔 案 隱 藏 屬 性 ) file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 [root@linux ~]# lsattr [-ar] 檔 案 或 目 錄 參 數 : -a : 將 隱 藏 檔 的 屬 性 也 秀 出 來 ; -R : 連 同 子 目 錄 的 資 料 也 一 併 列 出 來! 範 例 : [root@linux tmp]# chattr +aij attrtest [root@linux tmp]# lsattr ----ia---j---./attrtest 使 用 chattr 設 定 後, 可 以 利 用 lsattr 來 查 閱 隱 藏 的 屬 性 不 過, 這 兩 個 指 令 在 使 用 上 必 須 要 特 別 小 心, 否 則 會 造 成 很 大 的 困 擾 例 如 : 某 天 你 心 情 好, 突 然 將 /etc/ shadow 這 個 重 要 的 密 碼 記 錄 檔 案 給 他 設 定 成 為 具 有 i 的 屬 性, 那 麼 過 了 若 干 天 之 後, 你 突 然 要 新 增 使 用 者, 卻 一 直 無 法 新 增! 別 懷 疑, 趕 快 去 將 i 的 屬 性 拿 掉 吧! 檔 案 特 殊 權 限 : SUID/SGID/Sticky Bit 我 們 前 面 一 直 提 到 關 於 檔 案 的 重 要 權 限, 那 就 是 rwx 這 三 個 讀 寫 執 行 的 權 限 但 是, 眼 尖 的 朋 友 們 一 定 注 意 到 了 一 件 事, 那 就 是, 怎 麼 我 們 的 /tmp 權 限 怪 怪 的? 還 有, 那 個 /usr/bin/passwd 也 怪 怪 的? 怎 麼 回 事 啊? 看 看 先 : [root@linux ~]# ls -ld /tmp ; ls -l /usr/bin/passwd drwxrwxrwt 5 root root 4096 Jul 20 10:00 /tmp -r-s--x--x 1 root root 18840 Mar 7 18:06 /us 不 是 只 有 rwx 嗎? 還 有 其 他 的 特 殊 權 限 啊? 啊... 頭 又 開 始 昏 了 ~ @_@ 呵 呵, 不 要 擔 心 啦, 我 們 這 裡 先 不 談 這 兩 個 權 限, 只 是 先 介 紹 一 下 而 已 因 為 要 瞭 解 這 幾 個 特 殊 的 權 限, 必 須 要 先 具 有 帳 號 的 ID 概 念, 以 及 程 式 的 程 序 (process) 概 念 後, 才 能 夠 進 一 步 的 瞭 解 這 個 特 殊 權 限 所 代 表 的 意 義 Set UID 會 製 作 出 s 與 t 的 權 限, 是 為 了 讓 一 般 使 用 者 在 執 行 某 些 程 式 的 時 候, 能 夠 暫 時 的 具 有 該 程 式 擁 有 者 的 權 限 舉 例 來 說 好 了, 我 們 知 道 帳 號 與 密 碼 的 存 放 檔 案 其 實 是 / etc/passwd 與 /etc/shadow 而 /etc/shadow 這 個 檔 案 的 權 限 是 什 麼? 是 -r-------- 且 他 的 擁 有 者 是 root 喔! 在 這 個 權 限 中, 僅 有 root 可 以 強 制 儲 存, 其 他 人 是 連 看 都 沒 有 辦 法 看 的 吶! 但 是 偏 偏 鳥 哥 使 用 dmtsai 這 個 一 般 身 份 使 用 者 去 更 新 自 己 的 密 碼 時, 使 用 的 就 是 / usr/bin/passwd 這 個 程 式, 卻 是 可 以 更 新 自 己 的 密 碼 的, 也 就 是 說, dmtsai 這 個 一 般 身 份 使 用 者 可 以 存 取 /etc/shadow 這 個 密 碼 檔! 但! 怎 麼 可 能? 明 明 /etc/shadow 就 是 沒 有 dmtsai 可 以 存 取 的 權 限 啊! 呵 呵 ~ 這 就 是 s 這 個 權 限 的 幫 助 啦! 當 s 這 個 權 限 在 user 的 x 時, 也 就 是 類 似 上 表 的 -r-s--x--x, 稱 為 Set UID, 簡 稱 為 SUID, 這 個 file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 UID 代 表 的 是 User 的 ID, 而 User 代 表 的 則 是 這 個 程 式 (/usr/bin/passwd) 的 擁 有 者 (root 啊!) 那 麼 由 上 面 的 定 義 中, 我 們 知 道 了, 當 dmtsai 這 個 使 用 者 執 行 /usr/bin/ passwd 時, 他 就 會 暫 時 的 得 到 檔 案 擁 有 人 root 的 權 限 SUID 僅 可 用 在 二 進 位 制 檔 案 (binary file) 上, SUID 因 為 是 程 式 在 執 行 的 過 程 中 擁 有 檔 案 擁 有 者 的 權 限, 因 此, 他 僅 可 用 於 binary file, 不 能 夠 用 在 批 次 檔 (shell script) 上 面 的! 這 是 因 為 shell script 只 是 將 很 多 的 binary 執 行 檔 叫 進 來 執 行 而 已! 所 以 SUID 的 權 限 部 分, 還 是 得 要 看 shell script 呼 叫 進 來 的 程 式 的 設 定, 而 不 是 shell script 本 身 當 然,SUID 對 於 目 錄 也 是 無 效 的 ~ 這 點 要 特 別 留 意 Set GID 進 一 步 來 說, 如 果 s 的 權 限 是 在 group 時, 那 麼 就 是 Set GID, 簡 稱 為 SGID SGID 可 以 用 在 兩 個 部 分 喔! 檔 案 : 如 果 SGID 是 設 定 在 binary file 上 面, 則 不 論 使 用 者 是 誰, 在 執 行 該 程 式 的 時 候, 他 的 有 效 群 組 (effective group) 將 會 變 成 該 程 式 的 群 組 所 有 人 (group id) 目 錄 : 如 果 SGID 是 設 定 在 A 目 錄 上 面, 則 在 該 A 目 錄 內 所 建 立 的 檔 案 或 目 錄 的 group, 將 會 是 此 A 目 錄 的 group! 一 般 來 說, SGID 應 該 是 比 較 多 用 在 特 定 的 多 人 團 隊 的 專 案 開 發 上, 在 系 統 當 中 應 該 會 比 較 少 這 個 設 定 才 對 ~ Sticky Bit 這 個 Sticky Bit 目 前 只 針 對 目 錄 有 效, 對 於 檔 案 已 經 沒 有 效 果 了 SBit 對 於 目 錄 的 作 用 是 : 在 具 有 SBit 的 目 錄 下, 使 用 者 若 在 該 目 錄 下 具 有 w 及 x 的 權 限, 則 當 使 用 者 在 該 目 錄 下 建 立 檔 案 或 目 錄 時, 只 有 檔 案 擁 有 者 與 root 才 有 權 力 刪 除 換 句 話 說 : 當 甲 這 個 使 用 者 於 A 目 錄 下 是 擁 有 group 或 者 是 other 的 項 目, 並 且 擁 有 w 的 權 限, 這 表 示 甲 使 用 者 對 該 目 錄 內 任 何 人 建 立 的 目 錄 或 檔 案 均 可 進 行 " 刪 除 / 更 名 / 搬 移 " 等 動 作 不 過, 如 果 將 A 目 錄 加 上 了 Sticky bit 的 權 限 項 目 時, 則 甲 只 能 夠 針 對 自 己 建 立 的 檔 案 或 目 錄 進 行 刪 除 / 更 名 / 移 動 等 動 作 舉 例 來 說, 我 們 的 /tmp 本 身 的 權 限 是 drwxrwxrwt, 在 這 樣 的 權 限 內 容 下, 任 何 人 都 可 以 在 /tmp 內 新 增 修 改 檔 案, 但 僅 有 該 檔 案 / 目 錄 建 立 者 與 root 能 夠 刪 除 自 己 的 目 錄 或 檔 案 這 個 特 性 也 是 挺 重 要 的 啊! 你 可 以 這 樣 做 個 簡 單 的 測 試 : 1. 以 root 登 入 系 統, 並 且 進 入 /tmp 當 中 ; 2. touch test, 並 且 更 改 test 權 限 成 為 777 ; 3. 以 一 般 使 用 者 登 入, 並 進 入 /tmp; 4. 嘗 試 刪 除 test 這 個 檔 案! file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 更 多 關 於 SUID/SGID/Sticky Bit 的 介 紹, 我 們 會 在 程 序 與 資 源 管 理 中 再 次 提 及 的, 目 前, 您 先 有 個 簡 單 的 基 礎 概 念 就 好 了! 當 然, 也 可 以 參 考 鳥 園 討 論 區 的 這 一 篇 討 論 : http://phorum.vbird.org/viewtopic.php?t=20256 SUID/SGID/SBIT 權 限 設 定 前 面 介 紹 過 SUID 與 SGID 的 功 能, 那 麼 如 何 開 啟 檔 案 使 成 為 具 有 SUID 與 SGID 的 權 限 呢?! 這 就 需 要 剛 剛 的 數 字 更 改 權 限 的 方 法 了! 現 在 你 應 該 已 經 知 道 數 字 型 態 個 更 改 權 限 方 式 為 三 個 數 字 的 組 合, 那 麼 如 果 在 這 三 個 數 字 之 前 再 加 上 一 個 數 字 的 話, 那 最 前 的 面 數 字 就 代 表 這 幾 個 屬 性 了! ( 註 : 通 常 我 們 使 用 chmod xyz filename 的 方 式 來 設 定 filename 的 屬 性 時, 則 是 假 設 沒 有 SUID, SGID 及 Sticky bit 啦! ) 4 為 SUID 2 為 SGID 1 為 Sticky bit 假 設 要 將 一 個 檔 案 屬 性 改 為 -rwsr-xr-x 時, 由 於 s 在 使 用 者 權 限 中, 所 以 是 SUID, 因 此, 在 原 先 的 755 之 前 還 要 加 上 4, 也 就 是 : chmod 4755 filename 來 設 定! 此 外, 還 有 大 S 與 大 T 的 產 生 喔! 參 考 底 下 的 範 例 啦!( 注 意 : 底 下 的 範 例 只 是 練 習 而 已, 所 以 鳥 哥 使 用 同 一 個 檔 案 來 設 定, 您 必 須 瞭 解 SUID 不 是 用 在 目 錄 上, 而 SBIT 不 是 用 在 檔 案 上 的 喔!) [root@linux ~]# cd /tmp [root@linux tmp]# touch test [root@linux tmp]# chmod 4755 test; ls -l test -rwsr-xr-x 1 root root 0 Jul 20 11:27 test [root@linux tmp]# chmod 6755 test; ls -l test -rwsr-sr-x 1 root root 0 Jul 20 11:27 test [root@linux tmp]# chmod 1755 test; ls -l test -rwxr-xr-t 1 root root 0 Jul 20 11:27 test [root@linux tmp]# chmod 7666 test; ls -l test -rwsrwsrwt 1 root root 0 Jul 20 11:27 test # 這 個 例 子 就 要 特 別 小 心 啦! 怎 麼 會 出 現 大 寫 的 S 與 T 呢? 不 都 是 小 寫 的 嗎? # 因 為 s 與 t 都 是 取 代 x 這 個 參 數 的, 但 是 你 有 沒 有 發 現 阿, 我 們 是 下 達 # 7666 喔! 也 就 是 說, user, group 以 及 others 都 沒 有 x 這 個 可 執 行 的 標 誌 # ( 因 為 666 嘛! ), 所 以, 這 個 S, T 代 表 的 就 是 空 的 啦! 怎 麼 說? # SUID 是 表 示 該 檔 案 在 執 行 的 時 候, 具 有 檔 案 擁 有 者 的 權 限, 但 是 檔 案 # 擁 有 者 都 無 法 執 行 了, 哪 裡 來 的 權 限 給 其 他 人 使 用? 當 然 就 是 空 的 啦! ^_^ 檔 案 類 型 :file 如 果 你 想 要 知 道 某 個 檔 案 的 基 本 資 料, 例 如 是 屬 於 ASCII 或 者 是 data 檔 案, 或 者 是 file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 binary, 且 其 中 有 沒 有 使 用 到 動 態 函 式 庫 (share library) 等 等 的 資 訊, 就 可 以 利 用 file 這 個 指 令 來 檢 閱 喔! 舉 例 來 說 : [root@linux ~]# file ~/.bashrc /root/.bashrc: ASCII text <== 告 訴 我 們 是 ASCII 的 純 文 字 檔 啊! [root@linux ~]# file /usr/bin/passwd /usr/bin/passwd: setuid ELF 32-bit LSB executa (SYSV), for GNU/Linux 2.2.5, dynamically linke # 資 料 可 多 了 ~ 包 括 這 個 日 Set UID 2 的 檔 案, 使 用 shared libs, # 適 合 於 Intel 的 386 以 上 機 種 的 硬 體, 很 清 楚 吧! [root@linux ~]# file /var/lib/slocate/slocate.db /var/lib/slocate/slocate.db: data <== 這 是 data 檔 案! 透 過 這 個 指 令, 我 們 可 以 簡 單 的 先 判 斷 這 個 檔 案 的 格 式 為 何 喔! 檔 案 的 搜 尋 : 檔 案 的 搜 尋 可 就 厲 害 了! 因 為 我 們 常 常 需 要 知 道 那 個 檔 案 放 在 哪 裡, 所 以 來 談 一 談 怎 麼 搜 尋 吧! 在 Linux 底 下 也 有 相 當 優 異 的 搜 尋 系 統 呦! 通 常 find 不 很 常 用 的! 因 為 速 度 慢 之 外, 也 很 操 硬 碟! 通 常 我 們 都 是 先 使 用 whereis 或 者 是 locate 來 檢 查, 如 果 真 的 找 不 到 了, 才 以 find 來 搜 尋 呦! 為 什 麼 呢? 因 為 whereis 與 locate 是 利 用 資 料 庫 來 搜 尋 資 料, 所 以 相 當 的 快 速, 而 且 並 沒 有 實 際 的 搜 尋 硬 碟, 比 較 省 時 間 啦! which ( 尋 找 執 行 檔 ) [root@linux ~]# which [-a] command 參 數 : -a : 將 所 有 可 以 找 到 的 指 令 均 列 出, 而 不 止 第 一 個 被 找 到 的 指 令 名 稱 範 例 : [root@linux ~]# which passwd /usr/bin/passwd [root@linux ~]# which traceroute -a /usr/sbin/traceroute /bin/traceroute 這 個 指 令 是 根 據 PATH 這 個 環 境 變 數 所 規 範 的 路 徑, 去 搜 尋 執 行 檔 的 檔 名 ~ 所 以, 重 點 是 找 出 執 行 檔 而 已! 且 which 後 面 接 的 是 完 整 檔 名 喔! 若 加 上 -a 參 數, 則 可 以 列 出 所 有 的 可 以 找 到 的 同 名 執 行 檔, 而 非 僅 顯 示 第 一 個 而 已! whereis ( 尋 找 特 定 檔 案 ) file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 [root@linux ~]# whereis [-bmsu] 檔 案 或 目 錄 名 參 數 : -b : 只 找 binary 的 檔 案 -m : 只 找 在 說 明 檔 manual 路 徑 下 的 檔 案 -s : 只 找 source 來 源 檔 案 -u : 沒 有 說 明 檔 的 檔 案! 範 例 : [root@linux ~]# whereis passwd passwd: /usr/bin/passwd /etc/passwd /etc/passw /usr/share/man/man1/passwd.1.gz /usr/share/man # 任 何 與 passwd 有 關 的 檔 名 都 會 被 列 出 來 ~ [root@linux ~]# whereis -b passwd passwd: /usr/bin/passwd /etc/passwd /etc/passw [root@linux ~]# whereis -m passwd passwd: /usr/share/man/man1/passwd.1.gz /usr/s 等 一 下 我 們 會 提 到 find 這 個 搜 尋 指 令, find 是 很 強 大 的 搜 尋 指 令, 但 時 間 花 用 的 很 大! ( 因 為 find 是 直 接 搜 尋 硬 碟, 為 如 果 你 的 硬 碟 比 較 老 舊 的 話, 嘿 嘿! 有 的 等 的!) 這 個 時 候 whereis 就 相 當 的 好 用 了! 另 外, whereis 可 以 加 入 參 數 來 找 尋 相 關 的 資 料, 例 如 如 果 你 是 要 找 可 執 行 檔 ( binary ) 那 麼 加 上 -b 就 可 以 啦! 例 如 上 面 的 範 例 針 對 passwd 這 支 程 式 來 說 明! 如 果 不 加 任 何 參 數 的 話, 那 麼 就 將 所 有 的 資 料 列 出 來 囉! 那 麼 whereis 到 底 是 使 用 什 麼 咚 咚 呢? 為 何 搜 尋 的 速 度 會 比 find 快 這 麼 多?! 其 實 那 也 沒 有 什 麼! 這 是 因 為 Linux 系 統 會 將 系 統 內 的 所 有 檔 案 都 記 錄 在 一 個 資 料 庫 檔 案 裡 面, 而 當 使 用 whereis 或 者 是 底 下 要 說 的 locate 時, 都 會 以 此 資 料 庫 檔 案 的 內 容 為 準, 因 此, 有 的 時 後 你 還 會 發 現 使 用 這 兩 個 執 行 檔 時, 會 找 到 已 經 被 殺 掉 的 檔 案! 而 且 也 找 不 到 最 新 的 剛 剛 建 立 的 檔 案 呢! 這 就 是 因 為 這 兩 個 指 令 是 由 資 料 庫 當 中 的 結 果 去 搜 尋 檔 案 的 所 在 啊! 另 外, 基 本 上 Linux 每 天 會 針 對 Linux 主 機 上 所 有 檔 案 的 所 在 進 行 搜 尋 資 料 庫 的 更 新, 更 新 的 程 式 就 是 updatedb, 你 可 以 在 FC4 系 統 的 /etc/cron.daily/slocate.cron 這 個 檔 案 找 到 相 關 的 機 制 呦! 當 然, 也 可 以 直 接 使 用 /usr/bin/updatedb 來 更 新 資 料 庫 檔 案 呢! locate file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 [root@linux ~]# locate filename [root@linux ~]# locate passwd /lib/security/pam_passwdqc.so /lib/security/pam_unix_passwd.so /usr/lib/kde3/kded_kpasswdserver.so /usr/lib/kde3/kded_kpasswdserver.la... 中 間 省 略... 這 個 locate 的 使 用 更 簡 單, 直 接 在 後 面 輸 入 檔 案 的 部 分 名 稱 後, 就 能 夠 得 到 結 果 舉 上 面 的 例 子 來 說, 我 輸 入 locate passwd, 那 麼 在 完 整 檔 名 ( 包 含 路 徑 名 稱 ) 當 中, 只 要 有 passwd 在 其 中, 就 會 被 顯 示 出 來 的! 這 也 是 個 很 方 便 好 用 的 指 令, 如 果 您 忘 記 某 個 檔 案 的 完 整 檔 名 時 ~~ 但 是, 這 個 東 西 還 是 有 使 用 上 的 限 制 呦! 為 什 麼 呢? 您 會 發 現 使 用 locate 來 尋 找 資 料 的 時 候 特 別 的 快, 這 是 因 為 locate 尋 找 的 資 料 是 由 已 建 立 的 資 料 庫 /var/lib/slocate/ 裡 面 的 資 料 所 搜 尋 到 的, 所 以 不 用 直 接 在 去 硬 碟 當 中 存 取 資 料, 呵 呵! 當 然 是 很 快 速 囉! 那 麼 有 什 麼 限 制 呢? 就 是 因 為 他 是 經 由 資 料 庫 來 搜 尋 的, 而 資 料 庫 的 建 立 預 設 是 在 每 天 執 行 一 次 ( 每 個 distribution 都 不 同, FC4 是 每 天 更 新 資 料 庫 一 次!), 所 以 當 您 新 建 立 起 來 的 檔 案, 卻 還 在 資 料 庫 更 新 之 前 搜 尋 該 檔 案, 那 麼 locate 會 告 訴 您 找 不 到! 呵 呵! 因 為 必 須 要 更 新 資 料 庫 呀! 那 麼 我 到 底 要 建 立 哪 些 資 料 庫 呢? 是 否 全 部 都 要 建 立? 似 乎 不 需 要, 這 個 時 候, 你 可 以 自 己 選 擇 需 要 建 立 檔 案 資 料 庫 的 目 錄 呢! 你 可 以 在 /etc/updatedb.conf 這 個 檔 案 內 設 定 建 議 您 使 用 預 設 值 就 好 了, 不 過, 在 /etc/updatedb.conf 裡 面, 請 把 DAILY_UPDATE=no 改 成 DAILY_UPDATE=yes 就 好 了 至 於 修 改 的 方 法 等 到 我 們 第 三 章 提 完 vi 後, 您 就 會 曉 得 囉 ~ 當 然 啦, 也 可 以 自 行 手 動 執 行 updatedb 即 可! find [root@linux ~]# find [PATH] [option] [action] 參 數 : 1. 與 時 間 有 關 的 參 數 : -atime n :n 為 數 字, 意 義 為 在 n 天 之 前 的 一 天 之 內 被 access 過 的 檔 案 ; -ctime n :n 為 數 字, 意 義 為 在 n 天 之 前 的 一 天 之 內 被 change 過 狀 態 的 檔 案 ; -mtime n :n 為 數 字, 意 義 為 在 n 天 之 前 的 一 天 之 內 被 modification 過 的 檔 案 ; -newer file :file 為 一 個 存 在 的 檔 案, 意 思 是 說, 只 要 檔 案 比 file 還 要 新, 就 會 被 列 出 來 ~ 2. 與 使 用 者 或 群 組 名 稱 有 關 的 參 數 : -uid n :n 為 數 字, 這 個 數 字 是 使 用 者 的 帳 號 ID, 亦 即 UID, 這 個 UID 是 記 錄 在 /etc/passwd 裡 面 與 帳 號 名 稱 對 應 的 數 字 這 方 面 我 們 會 在 第 四 篇 介 紹 -gid n :n 為 數 字, 這 個 數 字 是 群 組 名 稱 的 ID, 亦 即 GID, 這 個 GID 記 錄 在 /etc/group, 相 關 的 介 紹 我 們 會 第 四 篇 說 明 ~ -user name :name 為 使 用 者 帳 號 名 稱 喔! 例 如 dmtsai -group name:name 為 群 組 名 稱 喔, 例 如 users ; file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 -nouser : 尋 找 檔 案 的 擁 有 者 不 存 在 /etc/passwd 的 人! -nogroup : 尋 找 檔 案 的 擁 有 群 組 不 存 在 於 /etc/group 的 檔 案! 當 您 自 行 安 裝 軟 體 時, 很 可 能 該 軟 體 的 屬 性 當 中 並 沒 有 檔 案 擁 有 者, 這 是 可 能 的! 在 這 個 時 候, 就 可 以 使 用 -nouser 與 -nogroup 搜 尋 3. 與 檔 案 權 限 及 名 稱 有 關 的 參 數 : -name filename: 搜 尋 檔 案 名 稱 為 filename 的 檔 案 ; -size [+-]SIZE: 搜 尋 比 SIZE 還 要 大 (+) 或 小 (-) 的 檔 案 這 個 SIZE 的 規 格 有 : c: 代 表 byte, k: 代 表 1024bytes 所 以, 要 找 比 50KB 還 要 大 的 檔 案, 就 是 -size +50k -type TYPE : 搜 尋 檔 案 的 類 型 為 TYPE 的, 類 型 主 要 有 : 一 般 正 規 檔 案 (f), 裝 置 檔 案 (b, c), 目 錄 (d), 連 結 檔 (l), socket (s), 及 FIFO (p) 等 屬 性 -perm mode : 搜 尋 檔 案 屬 性 剛 好 等 於 mode 的 檔 案, 這 個 mode 為 類 似 chmod 的 屬 性 值, 舉 例 來 說, -rwsr-xr-x 的 屬 性 為 4755! -perm -mode : 搜 尋 檔 案 屬 性 必 須 要 全 部 囊 括 mode 的 屬 性 的 檔 案, 舉 例 來 說, 我 們 要 搜 尋 -rwxr--r--, 亦 即 0744 的 檔 案, 使 用 -perm -0744, 當 一 個 檔 案 的 屬 性 為 -rwsr-xr-x, 亦 即 4755 時, 也 會 被 列 出 來, 因 為 -rwsr-xr-x 的 屬 性 已 經 囊 括 了 -rwxr--r-- 的 屬 性 了 -perm +mode : 搜 尋 檔 案 屬 性 包 含 任 一 mode 的 屬 性 的 檔 案, 舉 例 來 說, 我 們 搜 尋 -rwxr-xr-x, 亦 即 -perm +755 時, 但 一 個 檔 案 屬 性 為 -rw------- 也 會 被 列 出 來, 因 為 他 有 -rw... 的 屬 性 存 在! 4. 額 外 可 進 行 的 動 作 : -exec command :command 為 其 他 指 令,-exec 後 面 可 再 接 額 外 的 指 令 來 處 理 搜 尋 到 的 結 果 -print : 將 結 果 列 印 到 螢 幕 上, 這 個 動 作 是 預 設 動 作! 範 例 : 範 例 一 : 將 過 去 系 統 上 面 24 小 時 內 有 更 動 過 內 容 (mtime) 的 檔 案 列 出 [root@linux ~]# find / -mtime 0 # 那 個 0 是 重 點!0 代 表 目 前 的 時 間, 所 以, 從 現 在 開 始 到 24 小 時 前, # 有 變 動 過 內 容 的 檔 案 都 會 被 列 出 來! 那 如 果 是 三 天 前 的 24 小 時 內? # find / -mtime 3, 意 思 是 說 今 天 之 前 的 3*24 ~ 4*24 小 時 之 間 # 有 變 動 過 的 檔 案 都 被 列 出 的 意 思! 同 時 -atime 與 -ctime 的 用 法 相 同 範 例 二 : 尋 找 /etc 底 下 的 檔 案, 如 果 檔 案 日 期 比 /etc/passwd 新 就 列 出 [root@linux ~]# find /etc -newer /etc/passwd # -newer 用 在 分 辨 兩 個 檔 案 之 間 的 新 舊 關 係 是 很 有 用 的! 範 例 三 : 搜 尋 /home 底 下 屬 於 dmtsai 的 檔 案 [root@linux ~]# find /home -user dmtsai # 這 個 東 西 也 很 有 用 的 ~ 當 我 們 要 找 出 任 何 一 個 使 用 者 在 系 統 當 中 的 所 有 檔 案 時, # 就 可 以 利 用 這 個 指 令 將 屬 於 某 個 使 用 者 的 所 有 檔 案 都 找 出 來 喔! 範 例 四 : 搜 尋 系 統 中 不 屬 於 任 何 人 的 檔 案 [root@linux ~]# find / -nouser # 透 過 這 個 指 令, 可 以 輕 易 的 就 找 出 那 些 不 太 正 常 的 檔 案 # 如 果 有 找 到 不 屬 於 系 統 任 何 人 的 檔 案 時, 不 要 太 緊 張, # 那 有 時 候 是 正 常 的 ~ 尤 其 是 您 曾 經 以 原 始 碼 自 行 編 譯 軟 體 時 範 例 五 : 找 出 檔 名 為 passwd 這 個 檔 案 file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 [root@linux ~]# find / -name passwd # 利 用 這 個 -name 可 以 搜 尋 檔 名 啊! 範 例 六 : 搜 尋 檔 案 屬 性 為 f ( 一 般 檔 案 ) 的 檔 案 [root@linux ~]# find /home -type f # 這 個 -type 的 屬 性 也 很 有 幫 助 喔! 尤 其 是 要 找 出 那 些 怪 異 的 檔 案, # 例 如 socket 與 FIFO 檔 案, 可 以 用 find /var -type p 或 -type s 來 找! 範 例 七 : 搜 尋 檔 案 當 中 含 有 SGID/SUID/SBIT 的 屬 性 [root@linux ~]# find / -perm +7000 # 所 謂 的 7000 就 是 ---s--s--t, 那 麼 只 要 含 有 s 或 t 的 就 列 出, # 所 以 當 然 要 使 用 +7000, 使 用 -7000 表 示 要 含 有 ---s--s--t 的 所 有 三 個 權 限, # 因 此, 就 是 +7000 ~ 瞭 乎? 範 例 八 : 將 上 個 範 例 找 到 的 檔 案 使 用 ls -l 列 出 來 ~ [root@linux ~]# find / -perm +7000 -exec ls -l {} \; # 注 意 到, 那 個 -exec 後 面 的 ls -l 就 是 額 外 的 指 令, # 而 那 個 {} 代 表 的 是 由 find 找 到 的 內 容 的 意 思 ~ 所 以, -exec ls -l {} # 就 是 將 前 面 找 到 的 那 些 檔 案 以 ls -l 列 出 長 的 資 料! 至 於 \; 則 是 表 示 # -exec 的 指 令 到 此 為 止 的 意 思 ~ 意 思 是 說, 整 個 指 令 其 實 只 有 在 # -exec ( 裡 面 就 是 指 令 下 達 ) \; # 也 就 是 說,-exec 最 後 一 定 要 以 \; 結 束 才 行! 這 樣 瞭 解 了 嗎?! 範 例 九 : 找 出 系 統 中, 大 於 1MB 的 檔 案 [root@linux ~]# find / -size +1000k # 雖 然 在 man page 提 到 可 以 使 用 M 與 G 分 別 代 表 MB 與 GB, # 不 過, 俺 卻 試 不 出 來 這 個 功 能 ~ 所 以, 目 前 應 該 是 僅 支 援 到 c 與 k 吧! 如 果 你 要 尋 找 一 個 檔 案 的 話, 那 麼 使 用 find 會 是 一 個 不 錯 的 主 意! 他 可 以 根 據 不 同 的 參 數 來 給 予 檔 案 的 搜 尋 功 能! 例 如 你 要 尋 找 一 個 檔 名 為 httpd.conf 的 檔 案, 你 知 道 他 應 該 是 在 /etc 底 下, 那 麼 就 可 以 使 用 find /etc -name httpd.conf 嚕! 那 如 果 你 記 得 有 一 個 檔 案 檔 名 包 含 了 httpd, 但 是 不 知 道 全 名 怎 辦?! 呵 呵, 就 用 萬 用 字 元 * 吧, 如 上 以 : find /etc -name '*httpd*' 就 可 將 檔 名 含 有 httpd 的 檔 案 都 列 出 來 囉! 不 過, 由 於 find 在 尋 找 資 料 的 時 後 相 當 的 耗 硬 碟! 所 以 沒 事 情 不 要 使 用 find 啦! 有 更 棒 的 指 令 可 以 取 代 呦! 那 就 是 whereis 與 locate 囉!! 但, 不 管 怎 麼 說, find 在 找 尋 特 殊 的 檔 案 屬 性, 以 及 特 殊 的 檔 案 權 限 (SUID/SGID 等 等 ) 時, 是 相 當 有 用 的 工 具 程 式 之 一! 重 要 重 要! 本 章 習 題 練 習 : ( 要 看 答 案 請 將 滑 鼠 移 動 到 答 : 底 下 的 空 白 處, 按 下 左 鍵 圈 選 空 白 處 即 可 察 看 ) 什 麼 是 絕 對 路 徑 與 相 對 路 徑 file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 絕 對 路 徑 的 寫 法 為 由 / 開 始 寫, 至 於 相 對 路 徑 則 不 由 / 開 始 寫! 此 外, 相 對 路 徑 為 相 對 於 目 前 工 作 目 錄 的 路 徑! 如 何 更 改 一 個 目 錄 的 名 稱? 例 如 由 /home/test 變 為 /home/test2 mv /home/test /home/test2 PATH 這 個 環 境 變 數 的 意 義? 這 個 是 用 來 指 定 執 行 檔 執 行 的 時 候, 檔 案 搜 尋 的 目 錄 路 徑 umask 有 什 麼 用 處 與 優 點? umask 可 以 拿 掉 一 些 屬 性, 因 此, 適 當 的 定 義 umask 有 助 於 系 統 的 安 全, 因 為 他 可 以 用 來 建 立 預 設 的 目 錄 或 檔 案 的 權 限 當 一 個 使 用 者 的 umask 分 別 為 033 與 044 他 所 建 立 的 檔 案 與 目 錄 的 權 限 為 何? 在 umask 為 033 時, 則 預 設 是 拿 掉 group 與 other 的 w(2)x(1) 權 限, 因 此 權 限 就 成 為 檔 案 -rw-r--r--, 目 錄 drwxr--r-- 而 當 umask 044 時, 則 拿 掉 r 的 屬 性, 因 此 就 成 為 檔 案 -rw--w--w-, 目 錄 drwx-wx-wx 什 麼 是 SUID? 當 一 個 指 令 具 有 SUID 的 功 能 時, 則 當 其 他 人 使 用 這 個 指 令 時, 該 程 序 將 具 有 指 令 擁 有 者 的 權 限 當 我 要 查 詢 /usr/bin/passwd 這 個 檔 案 的 一 些 屬 性 時, 可 以 使 用 什 麼 指 令 來 查 詢? ls -al, file, lsattr 嘗 試 用 find 找 出 目 前 linux 系 統 中, 所 有 具 有 SUID 的 檔 案 有 哪 些? find / -perm -4000 -print 2002/06/26: 第 一 次 完 成 2003/02/06: 重 新 編 排 與 加 入 FAQ 2003/02/07: 加 入 basename 與 dirname 的 說 明 2004/03/15: 將 連 結 檔 的 內 容 移 動 至 下 一 章 節 :Linux 磁 碟 與 硬 體 管 理 2005/07/19: 將 舊 的 文 章 移 動 到 這 裡 了 2005/07/20: 呼 呼! 好 不 容 易 啊 ~ 在 被 颱 風 尾 掃 到 的 七 月 份, 終 於 寫 完 這 個 咚 咚 ~ 2005/07/21: 在 find 部 分, 多 增 加 了 範 例 九, 以 及 關 於 利 用 檔 案 大 小 (size) 搜 尋 的 功 能 2005/07/25: 在 SUID/SGID/SBIT 部 分, 依 據 netman 與 小 州 兄 的 建 議, 修 改 了 部 分 的 敘 述! 2006/04/09: 在 rmdir 的 範 例 內, 少 了 一 個 -p 的 參 數! 2006/06/15: 經 由 討 論 區 網 友 dm421 的 通 知, 發 現 chattr 的 部 分 關 於 d 寫 錯 了, 已 訂 正 2006/08/22: 增 加 rm 的 一 些 簡 單 的 說 明! 尤 其 是 rm./-aaa- 的 刪 除 方 法! 2002/03/13 以 來 統 計 人 數 file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- 檔 案 與 目 錄 管 理 本 網 頁 主 要 以 firefox 配 合 解 析 度 1024x768 作 為 設 計 依 據 http://linux.vbird.org is designed by VBird during 2001-2007. Aerosol Lab. file:///c /Documents and Settings/Administrator/ 桌 面 /0220filemanager.ph
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 鳥 哥 的 Linux 私 房 菜 為 取 得 較 佳 瀏 覽 結 果, 請 愛 用 firefox 瀏 覽 本 網 頁 切 換 解 析 度 為 800x600 Linux 主 機 的 規 劃 最 近 更 新 日 期 :2005/06/15 一 部 好 的 Linux 主 機 系 統, 除 了 後 續 的 維 護 之 外, 一 開 始 的 硬 體 選 擇 與 distributions 的 搭 配, 以 及 主 機 預 期 的 工 作 任 務 來 加 以 思 考, 而 選 擇 最 合 適 的 硬 體, 這 是 很 重 要 的 一 個 開 始! 俗 話 說 錢 要 花 在 刀 口 上, 沒 有 必 要 為 了 一 個 小 小 的 IP 分 享 的 功 能 來 買 一 部 雙 CPU 的 硬 體 架 構 吧? 而 一 部 簡 單 的 個 人 電 腦, 也 真 的 無 法 滿 足 中 大 型 企 業 的 工 作 環 境 需 求 在 這 一 章 裡 面, 鳥 哥 會 向 您 介 紹 一 下, 在 開 始 安 裝 Linux 之 前, 您 應 該 要 先 思 考 哪 些 工 作? 好 讓 您 後 續 的 主 機 維 護 輕 鬆 愉 快 啊! 此 外, 要 瞭 解 這 個 章 節 的 重 要 性, 您 至 少 需 要 瞭 解 到 Linux 檔 案 系 統 的 基 本 概 念, 所 以, 在 您 完 成 了 後 面 的 相 關 章 節 之 後, 記 得 要 再 回 來 這 裡 看 看 如 何 規 劃 主 機 喔! ^_^ 1. 認 識 主 機 的 各 部 分 硬 體 元 件 1.1 認 識 電 腦 的 硬 體 配 備 1.2 選 擇 與 Linux 搭 配 的 主 機 配 備 1.3 各 硬 體 裝 置 在 Linux 中 的 代 號? 2. 安 裝 Linux 前 的 規 劃 2.1 選 擇 適 當 的 distributions 2.2 主 機 的 服 務 規 劃 與 硬 體 的 關 係 2.3 主 機 硬 碟 的 主 要 規 劃 (partition) 2.4 鳥 哥 說 : 關 於 練 習 機 的 安 裝 建 議 3. 鳥 哥 的 兩 個 實 際 案 例 4. 本 章 習 題 練 習 5. 參 考 資 料 6. 針 對 本 文 的 建 議 :http://phorum.vbird.org/viewtopic.php?t=23874 認 識 主 機 各 部 分 硬 體 元 件 在 開 始 安 裝 Linux 之 前, 有 些 功 課 是 要 先 作 的! 因 為 Linux 對 於 較 新 的 硬 體 的 支 援 度 可 能 比 較 不 足, 所 以, 您 必 須 要 瞭 解 您 的 主 機 是 否 為 Linux 所 支 援 的 CPU RAM 顯 示 卡 file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 網 路 卡 等 等 此 外, 您 也 必 須 要 先 瞭 解 到 您 的 Linux 預 計 想 要 達 成 的 功 能 是 什 麼? 這 樣 在 選 購 硬 體 時, 才 會 知 道, 那 個 部 分 是 最 重 要 的 啊! 舉 例 來 說, 桌 上 型 的 使 用 者, 應 該 會 用 到 X Window 系 統, 此 時, 顯 示 卡 的 優 劣 與 記 憶 體 的 大 小 可 就 佔 有 很 重 大 的 影 響 如 果 是 想 要 做 成 檔 案 伺 服 器, 那 麼 硬 碟 或 者 是 其 他 的 儲 存 設 備, 應 該 就 是 您 最 想 要 增 購 的 元 件 囉! 所 以 說, 功 課 還 是 需 要 作 的 啊! 鳥 哥 在 這 裡 要 不 厭 其 煩 的 再 次 的 強 調, Linux 對 於 電 腦 各 元 件 / 裝 置 的 分 辨, 與 我 們 慣 用 的 Windows 系 統 完 全 不 一 樣! 因 為, 各 個 元 件 或 裝 置 在 Linux 底 下 都 是 一 個 檔 案! 這 個 觀 念 我 們 在 Linux 是 什 麼 的 章 節 裡 面 已 經 提 過, 這 裡 我 們 再 次 的 強 調 因 此, 您 在 認 識 各 項 裝 置 之 後, 學 習 Linux 的 裝 置 代 號 之 前, 務 必 要 先 將 Windows 對 於 裝 置 名 稱 的 概 念 先 拿 掉 ~ 否 則 會 很 難 理 解 喔! 認 識 電 腦 的 硬 體 配 備 什 麼? 學 Linux 還 得 要 玩 硬 體?! 呵 呵! 沒 錯! 因 為 Linux 早 期 是 與 x86 架 構 的 個 人 電 腦 系 統 緊 密 結 合, 而 且 我 們 由 前 兩 章 的 Linux 是 什 麼 當 中 也 曉 得, 硬 體 與 作 業 系 統 的 關 係 可 是 很 大 的! 所 以, 我 們 當 然 就 得 要 瞭 解 一 下 個 人 電 腦 主 機 的 基 本 架 構 了! 事 實 上, 電 腦 主 機 的 硬 體 配 備 與 這 部 主 機 未 來 的 功 能 是 很 有 相 關 性 的! 舉 例 來 說, 家 裡 有 小 孩, 或 者 自 己 仍 然 算 是 小 孩 的 朋 友 大 概 都 知 道 : 要 用 來 打 Game 的 " 遊 戲 機 電 腦 " 所 需 要 的 配 備 一 定 比 辦 公 室 用 的 " 工 作 機 電 腦 " 配 備 更 高 檔, 為 什 麼 呢? 因 為 電 腦 遊 戲 所 需 要 的 顯 示 CPU 等 資 源 較 高, 所 以 需 要 適 合 比 較 大 量 運 算 的 配 備, 因 此 等 級 上 面 不 能 太 差 啊 ( 例 如 Athlon 或 者 是 P4 系 列 ) 至 於 辦 公 室 個 人 電 腦 環 境 中, 通 常 我 們 不 太 可 能 會 使 用 到 太 複 雜 的 軟 體, 所 以, 等 級 不 需 要 太 好 ( 例 如 K6-2 500 ), 就 可 以 運 作 的 很 順 暢 啦! 那 什 麼 叫 做 高 檔 配 備? 呵 呵! 底 下 我 們 得 先 來 約 略 瞭 解 一 下 電 腦 主 機 裡 面 的 各 個 配 備, 以 及 他 們 對 於 系 統 性 能 的 影 響 囉! 所 謂 的 電 腦 主 機 就 是 那 個 機 殼 內 的 咚 咚 ~ 當 您 拆 掉 主 機 機 殼 之 後, 會 發 現 裡 面 有 一 張 大 板 子, 這 塊 大 板 子 上 面 插 了 好 幾 塊 小 板 子, 還 有 一 顆 小 風 扇 安 置 在 一 塊 四 方 形 的 東 西 上 面 此 外, 還 有 幾 顆 硬 碟 與 光 碟 或 軟 碟 被 鎖 在 機 殼 裡 面, 還 有 一 個 鐵 盒 子, 上 面 有 很 多 電 線 跑 出 來, 這 些 電 線 的 接 頭 都 被 接 在 硬 碟 / 光 碟 / 軟 碟 以 及 大 板 子 上 面 其 中 最 重 要 的 就 是 那 張 大 板 子, 因 為 所 有 的 機 殼 內 的 東 西, 都 會 接 到 這 個 大 板 子 上 面! 這 個 大 板 子 就 是 主 機 板 主 機 板 有 點 像 底 下 這 個 樣 子 : file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 圖 一 主 機 的 架 構 示 意 圖 上 圖 一 中, 中 間 上 面 的 部 分 就 是 中 央 處 理 器 ( CPU ) 的 插 槽 了, 至 於 CPU 右 邊 那 三 個 直 直 的 則 是 記 憶 體 ( RAM ) 的 插 槽 ; 而 在 中 間 偏 下 有 幾 個 名 稱 為 PCI 的 咚 咚, 那 就 是 一 些 介 面 卡 的 插 槽 了 包 括 SCSI 介 面 卡 網 路 卡, 還 有 一 些 音 效 卡 等 等, 都 是 接 在 PCI 卡 上 面 的! 至 於 在 PCI 上 面 還 有 一 個 AGP 插 槽 是 幹 嘛 的? 那 個 就 是 前 一 陣 子 的 主 流 顯 示 卡 介 面 嚕! 此 外, 在 記 憶 體 的 右 邊 還 有 幾 支 黑 黑 的 咚 咚, 那 就 是 使 用 排 線 連 接 主 機 板 與 硬 碟 的 介 面 插 槽, 我 們 稱 他 為 IDE 介 面, 而 硬 碟 除 了 IDE 介 面 外, 現 在 比 較 流 行 的 應 該 是 SATA 介 面, 這 個 介 面 的 硬 碟 插 槽 比 較 小 一 點, 連 接 線 也 比 較 好 接, 因 為 比 較 細, 對 於 機 殼 內 的 空 氣 對 流 比 較 好 這 個 部 分 相 當 的 重 要, 等 一 下 我 們 會 再 提 到 的! 底 下 我 們 來 談 一 談 關 於 幾 個 主 要 的 元 件, 然 後 再 介 紹 整 體 的 運 作 吧! Tips: 很 討 厭 的 是, 個 人 電 腦 的 發 展 不 斷 的 向 上 延 伸, 各 項 介 面 也 在 不 斷 的 改 善, 截 至 目 前 為 止 (2005/06), 有 PCI Express AGP 漸 漸 被 淘 汰 IDE 介 面 被 SATA 介 面 所 取 代, 記 憶 體 也 均 已 DDR 介 面 取 代 原 本 的 PC133 的 SDRAM, 這 些 介 面 的 改 善 也 造 成 您 的 硬 體 在 升 級 時 候 的 困 擾, 因 為, 很 多 舊 的 配 備 無 法 被 重 複 利 用 的! 所 以, 上 面 的 圖 示 僅 是 一 個 簡 略 的 介 紹! 您 需 要 隨 時 請 教 店 家 喔! 中 央 處 理 器 ( CPU ) : CPU 可 以 說 是 一 部 電 腦 主 機 裡 面 相 當 重 要 的 東 西 了, 因 為, 他 負 責 了 所 有 事 件 的 運 算! 而 且, 跟 大 量 運 算 有 關 的 主 機, 主 要 的 關 鍵 幾 乎 就 是 卡 在 CPU 的 速 度 上 目 前 全 世 界 前 兩 大 的 個 人 電 腦 CPU 製 造 商 為 Intel 與 AMD, 而 這 兩 家 公 司 file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 自 己 的 CPU 規 格 就 不 少 了, 加 上 有 兩 家 製 造 商, 哇! 這 表 示, CPU 的 規 格 多 的 嚇 人 ~ 早 期 的 CPU 規 格 都 是 由 Intel 來 擬 定, 然 後 大 家 按 照 他 的 規 格 去 設 計 自 己 的 CPU, 所 以, 在 主 機 的 購 置 上 面, 會 比 較 不 容 易 產 生 不 相 容 的 情 況 但 因 為 某 些 因 素, 導 致 AMD 自 行 在 x86 的 架 構 上 發 展 自 己 的 CPU 腳 位, 而 且 因 為 CPU 結 構 的 變 更, 使 得 腳 位 的 定 義 越 來 越 多 目 前 因 為 規 格 太 多, 而 且 CPU 的 插 腳 的 腳 位 都 不 一 樣, 有 的 即 使 一 樣 但 是 CPU 的 運 作 電 壓 不 同, 也 無 法 相 容! 因 此, 在 選 購 CPU 與 相 關 的 主 機 板 時, 務 必 要 詢 問 正 確 的 資 訊, 否 則 買 了 CPU 與 主 機 板 不 能 相 容 的 話, 那 麼 兩 個 東 西 都 會 變 成 廢 鐵 的 喔! 目 前 流 行 的 CPU 規 格 大 致 分 為 Intel 的 P-4 系 列, 而 P-4 系 列 未 來 又 分 為 雙 核 心 與 單 核 心, 這 兩 款 CPU 是 不 相 容 的, 主 機 板 也 不 相 容, 必 須 特 別 留 意 至 於 AMD 的 Sempron, Athlon64, Athlon64x2 當 中, Sempron 是 入 門 級, Athlon64 與 Athlon64x2 是 64 位 元 的 CPU, 分 別 是 單 核 心 與 雙 核 心, 兩 款 的 腳 位 相 同, 據 說 主 機 板 是 可 以 互 通 的! 但 是 Sempron 與 Athlon64 的 主 機 板 則 不 相 容! 要 特 別 注 意 ( 註 : 所 謂 的 雙 核 心, 是 在 一 顆 CPU 裡 面, 建 構 了 兩 個 運 算 單 元, 也 就 是 說, 這 個 雙 核 心 的 CPU 有 兩 個 可 以 運 算 的 實 體 CPU 就 是 了 而 AthlonXP 也 已 經 被 新 的 型 號 Sempron 所 取 代 了!) 好 了, 那 麼 CPU 的 速 度 除 了 核 心 的 優 良 與 否 之 外, 常 用 來 判 斷 同 級 產 品 之 間 的 速 度, 就 是 時 脈 了 所 謂 的 時 脈, 簡 單 的 說, 就 是 單 位 時 間 的 運 算 次 數 所 以, 時 脈 越 高, 代 表 這 個 裝 置 設 備 的 運 算 次 數 越 多 次, 當 然 速 度 上 就 會 比 較 快 ( 註 : 不 同 的 CPU 之 間 不 可 以 單 純 用 時 脈 來 判 斷 運 算 的 效 能 喔! 例 如 AMD 的 Athlon64 2G 在 運 作 上, 效 能 比 P-4 2G 還 要 好 很 多! 所 以, 時 脈 目 前 僅 能 用 來 比 較 同 樣 的 CPU 的 速 度 ) 比 較 特 別 的 是, CPU 有 所 謂 的 倍 頻 與 外 頻, 有 什 麼 意 義 呢? CPU 有 所 謂 的 倍 頻 與 外 頻, 外 頻 是 CPU 與 周 邊 設 備 進 行 資 料 傳 輸 / 運 算 的 速 度, 至 於 倍 頻 則 是 CPU 本 身 運 算 時 候 加 上 去 的 一 個 運 算 速 度! 兩 者 相 乘 才 是 CPU 的 時 脈 與 CPU 外 頻 有 關 的 咚 咚 為 記 憶 體 與 主 機 板 晶 片 組 一 般 來 說, 越 快 的 時 脈 代 表 越 快 的 CPU 運 算 速 度 以 Intel 的 PIII 時 脈 933 MHz 為 例, CPU 外 頻 與 倍 頻 : 133( 外 頻 ) X 7( 倍 頻 ) MHz RAM 頻 率 : 通 常 與 CPU 之 外 頻 相 同, 為 133 MHz PCI 介 面 ( 包 含 網 路 卡 音 效 卡 等 等 的 介 面 喔 ) 133/4=33 MHz AGP 介 面 : 133 / 2 = 66 MHz ( 這 是 AGP 正 常 的 頻 率 喔!) 外 頻 是 可 以 超 頻 的! 什 麼 是 超 頻 呢? 原 本 的 CPU 外 部 頻 率 假 設 是 133 好 了, 如 果 您 藉 由 某 些 工 具, 或 者 主 機 板 本 身 也 可 能 會 提 供 這 個 工 具, 那 您 就 可 以 將 133 提 升 到 比 較 高 的 頻 率, 那 就 是 所 謂 的 超 頻 為 什 麼 要 超 頻 呢? 因 為 可 以 在 比 較 便 宜 的 CPU 上 面 讓 頻 率 升 到 比 較 高, 等 於 是 賺 到 了 的 意 思 不 過, 超 頻 本 身 的 風 險 很 高 ~ 如 果 是 超 外 頻 的 話, 例 如 到 file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 166 MHz 時, 你 的 AGP 將 達 (166/2=83) 而 PCI 也 將 達 (166/4=41.5), 高 出 正 常 值 甚 多, 通 常, 越 快 的 外 頻 由 於 所 有 的 設 備 運 作 頻 率 都 會 提 升, 所 以, 可 以 讓 效 能 提 高 不 少, 但 也 可 能 會 造 成 系 統 不 穩 定! 例 如 常 常 當 機, 或 者 是 造 成 某 部 分 元 件 的 壽 命 簡 短 等 等 此 外, 目 前 的 電 腦 系 統 真 的 是 夠 快 了, 不 需 要 超 頻 啦! 而 且, 在 Linux 系 統 中, 不 建 議 超 頻, 因 為, 即 使 CPU 可 以 耐 的 住 這 麼 高 的 時 脈, 但 是 系 統 的 運 作 是 全 面 性 的, 只 要 有 一 個 設 備 當 機, 那 麼 你 的 系 統 就 跟 著 當 掉 啦! 而 因 為 超 頻 之 後, 系 統 頻 率 高 出 正 常 值 太 多, 所 以 當 然 容 易 造 成 不 穩 定 呢! 另 一 個 需 要 注 意 的 是, CPU 是 有 分 等 級 的, 而 目 前 很 多 的 程 式 都 有 對 CPU 做 最 佳 化 的 行 動, 所 以 就 會 有 所 謂 的 i386, i586, i686 為 附 檔 名 的 檔 案 產 生 啦! 基 本 上, 在 P MMX 以 及 K6-III 都 稱 為 586 的 CPU, 而 Intel 的 賽 揚 以 上 等 級 與 AMD 的 K7 以 上 等 級, 就 被 稱 為 686 的 機 器 了! 萬 一 改 天 你 發 現 一 些 程 式 是 註 名 給 686 的 CPU 使 用 時, 就 不 要 將 他 安 裝 在 586 以 下 等 級 的 電 腦 中, 否 則 可 是 會 無 法 執 行 該 軟 體 的! 不 過, 在 686 倒 是 可 以 安 裝 386 的 軟 體 喔! 也 就 是 說, 這 些 東 西 具 有 向 下 相 容 的 能 力 啦! 記 憶 體 ( RAM ) : 記 憶 體 對 於 系 統 來 說, 真 是 一 個 重 要 的 傢 伙, 怎 麼 說 呢? 剛 剛 提 到, 電 腦 真 正 運 作 的 核 心 是 CPU, 但 是 真 正 餵 給 CPU 運 算 資 料 的, 那 就 是 記 憶 體 (Memory, RAM) 啦! 所 以 你 的 作 業 系 統 的 核 心 啦 軟 硬 體 的 驅 動 程 式 啦 所 有 你 要 讀 取 的 檔 案 啦 等 等 的, 都 需 要 先 讀 入 記 憶 體 之 後, 才 餵 給 CPU 來 進 行 資 料 的 運 作! 您 瞧! RAM 可 重 要 的 很 吧! 此 外, 一 些 比 較 優 良 的 作 業 系 統, 也 會 將 常 用 的 檔 案 或 程 式 等 資 料, 給 他 常 駐 在 記 憶 體 內 而 不 直 接 移 除, 如 此 一 來, 下 次 取 用 這 個 資 料 時, 就 不 需 要 在 去 周 邊 存 取 設 備 讀 取 一 次, 呵 呵! 對 於 系 統 速 度 來 說, 真 是 不 無 小 補 喔! 所 以 囉, 您 就 會 曉 得, 如 果 你 常 常 開 啟 大 容 量 的 檔 案, 以 及 執 行 一 些 很 佔 資 源 的 軟 體, 那 麼 你 就 必 須 要 很 大 量 的 記 憶 體 來 幫 助 你 存 放 這 些 資 料, 瞧! 很 重 要 的 一 個 項 目 吧! 記 憶 體 目 前 的 規 格 也 不 少, 主 要 有 兩 種, 分 別 是 SDRAM 與 DDR, 新 一 代 的 記 憶 體 通 常 使 用 DDR 這 種 規 格 的 記 憶 體, 不 過 還 得 配 合 主 機 板 與 CPU 來 選 擇 RAM 的 規 格 才 行! 對 於 一 個 系 統 來 說, 通 常 越 大 的 記 憶 體 代 表 越 快 速 的 系 統, 這 是 因 為 系 統 不 用 常 常 釋 放 一 些 記 憶 體 內 部 的 資 料 以 伺 服 器 來 說, 記 憶 體 的 容 量 有 時 比 CPU 的 速 度 還 要 來 的 重 要 的! 顯 示 卡 ( VGA card ): 顯 示 卡 對 於 圖 形 介 面 有 相 當 大 的 影 響! 因 為 我 們 要 將 影 像 資 料 顯 示 到 螢 幕 時, 就 需 要 使 用 到 顯 示 卡 (VGA Card) 的 相 關 硬 體 功 能 了 目 前 3D 的 畫 面 在 電 腦 遊 戲 介 面 與 工 作 介 面 很 大 量 的 被 使 用, 而 由 於 如 果 這 些 3D 畫 面 沒 有 先 經 過 處 理 而 直 接 進 入 CPU 來 做 處 理 的 話, 將 會 影 響 到 整 體 運 作 的 速 度, 因 為 CPU 的 工 作 實 在 file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 太 多 了! 這 個 時 候 就 有 所 謂 的 GPU 出 現 了! GPU 那 是 什 麼 咚 咚 呢? 為 了 避 免 由 於 大 量 的 3D 畫 面 造 成 CPU 的 困 擾, 所 以 顯 示 卡 開 發 商 就 在 顯 上 卡 上 面 安 插 一 個 可 以 處 理 這 些 很 耗 CPU 運 算 時 間 的 硬 體 來 處 理 這 些 畫 面 資 料, 如 此 一 來, 不 但 圖 形 畫 面 處 理 的 速 度 增 快 了, CPU 的 資 源 也 會 多 出 來 以 執 行 其 他 的 工 作 喔! 目 前 的 顯 示 卡 也 有 兩 種 主 要 規 格, 一 種 是 以 傳 統 AGP 介 面 來 進 行 影 像 資 料 的 傳 輸, 一 種 則 是 以 更 快 的 PCI Express 介 面 來 傳 輸 資 料! 由 剛 剛 我 們 提 到 的 CPU 運 作 時 脈 中, 我 們 可 以 知 道 PCI 的 介 面 標 準 速 度 是 33MHz, 但 是 AGP 標 準 是 66 MHz 不 過, 即 使 是 AGP 的 66 MHz 也 無 法 滿 足 現 在 的 需 求 了, 因 此, 才 又 有 PCI Express ( 簡 稱 PCI-E) 介 面 出 現 這 個 介 面 的 速 度 又 比 AGP 來 的 更 加 的 快 速 呢 不 過, 您 到 底 要 買 哪 一 款? 還 是 得 要 看 您 的 主 機 板 有 沒 有 支 援 該 介 面 才 行! 另 外, VGA 卡 上 面 也 有 一 個 記 憶 體, 這 個 記 憶 體 的 大 小 可 以 影 響 您 螢 幕 輸 出 的 解 析 度 與 畫 素 喔! 這 個 記 憶 體 是 直 接 嵌 入 於 顯 示 卡 上 面 的, 與 你 的 主 記 憶 體 ( 上 面 提 到 的 RAM) 沒 有 關 係! 一 般 來 說, 伺 服 器 沒 有 X Window 的 話, 顯 示 卡 並 不 重 要, 如 果 是 需 要 使 用 到 圖 形 介 面 的 話, 那 麼 這 個 顯 示 卡 記 憶 體 的 容 量 就 比 較 重 要 了! 硬 碟 與 存 取 裝 置 ( hard disk ): 總 是 需 要 有 資 料, 我 們 的 主 機 才 能 夠 藉 由 這 些 資 料 來 載 入, 來 運 作 吧? 這 些 資 料 一 般 來 說, 就 是 存 放 在 主 機 的 硬 碟 上 面 了 而 我 們 也 可 以 透 過 可 攜 式 儲 存 媒 體, 例 如 光 碟 Zip 磁 片 軟 碟 片 等 等 來 傳 遞 資 料 的 我 們 就 單 純 來 說 說 硬 碟 好 了 在 個 人 電 腦 上 面, 主 流 的 硬 碟 存 取 介 面 應 該 是 SATA 與 IDE 這 兩 種 一 般 來 說, 主 機 板 上 面 至 少 應 該 都 會 有 兩 個 IDE 或 者 SATA 的 插 槽, 而 每 個 插 槽 都 可 以 接 兩 個 IDE 或 者 SATA 介 面 的 硬 碟 或 裝 置 SATA 是 近 年 來 開 發 出 來 的 新 介 面, 他 的 硬 碟 轉 速 比 較 高, 存 取 效 能 要 比 傳 統 的 IDE 介 面 來 的 好 此 外, SATA 的 特 色 就 是, 他 與 主 機 板 連 接 的 排 線 可 以 比 較 長 ( 可 長 達 1m), 並 且 排 線 比 較 細, 可 以 幫 助 主 機 機 殼 內 部 的 通 風, 有 很 不 錯 的 效 果 在 Linux 上 面, SATA 或 IDE 介 面 的 命 名 方 法 都 是 一 樣 的, 所 以 未 來 我 們 還 是 以 IDE 來 介 紹 裝 置 由 於 一 個 IDE 插 槽 可 以 接 兩 個 IDE 介 面 的 裝 置, 那 麼 系 統 怎 麼 知 道 那 個 是 那 個? 此 時 就 需 要 IDE 裝 置 的 跳 針 (Jumper) 來 設 定 了! 你 可 以 在 一 個 IDE 介 面 接 的 兩 個 裝 置 上 面, 以 排 線 接 一 個 Master 以 及 一 個 Slave 的 裝 置! 而 Master 與 Slave 可 以 在 任 何 一 個 IDE 裝 置 上 面 找 到 的! 也 就 是 說, 如 果 你 有 兩 顆 硬 碟, 那 麼 你 可 以 將 任 何 一 顆 調 成 Master, 但 是 另 外 一 顆 則 必 須 為 Slave 才 行! 否 則 IDE 介 面 會 無 法 分 辦, 而 造 成 系 統 的 當 機 喔! 至 於 硬 碟 的 一 些 相 關 資 料 我 們 在 後 面 的 章 節 再 來 提! 至 於 硬 碟 的 選 購 上 面, 您 除 了 必 須 要 注 意 硬 碟 的 容 量 大 小 之 外, 還 得 知 道 硬 碟 的 轉 速, 以 及 緩 衝 記 憶 體 的 大 小 目 前 的 要 求 是, 轉 速 至 少 得 7200 轉, 緩 衝 記 憶 file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 體 最 好 可 以 選 擇 8M 比 較 好 一 些 PCI 介 面 卡 : 我 們 常 用 的 網 路 卡 音 效 卡 特 殊 功 能 卡 等 等, 幾 乎 都 是 透 過 PCI 插 槽 來 安 裝 的, 這 些 東 西 就 被 稱 為 PCI 介 面 的 裝 置 啦! 當 然 不 止, 因 為 主 機 板 上 還 有 很 多 內 建 的 PCI 裝 置 呢! 網 路 卡 : 網 路 卡 很 重 要 吧! 因 為 他 是 讓 你 可 以 連 接 上 Internet 的 重 要 功 臣! 網 路 卡 的 傳 輸 速 度 目 前 都 已 經 可 以 支 援 10/100Mbps 的 主 流 速 度 了! 但 是 網 卡 的 好 壞 卻 差 很 多! 同 樣 是 10/100Mbps, 但 是 Intel 與 3Com 的 卡 硬 是 要 比 一 般 的 雜 牌 卡 多 出 1000 元 新 台 幣 以 上, 原 因 無 他, 因 為 網 路 卡 的 穩 定 性 消 耗 CPU 資 源 的 特 性 與 其 他 特 殊 功 能 等,Intel 與 3Com 要 比 其 他 的 廠 牌 優 良 的 多! 至 於 網 路 線 連 接 的 介 面 上 面, 目 前 則 幾 乎 已 經 都 是 RJ-45 的 介 面 插 孔 了, 這 種 介 面 有 點 像 是 電 話 線 插 孔, 不 過 要 稍 微 大 一 點 另 外, 由 於 網 路 的 需 求 不 斷 向 上 攀 升, 所 以, 網 路 卡 已 經 有 很 多 Gigabits 的 速 度 出 現 了 您 也 可 以 選 購 10/100/1000 Mbps 的 網 路 卡 喔! SCSI 介 面 卡 : 這 個 東 西 可 以 用 來 連 接 SCSI 的 介 面 的 裝 置! 以 硬 碟 為 例, 目 前 的 硬 碟 除 了 個 人 電 腦 主 流 的 IDE/SATA 介 面 ( 剛 剛 說 過 了 ) 之 外, 就 是 這 個 SCSI 介 面! 由 於 SCSI 介 面 的 裝 置 比 較 穩 定, 而 且 裝 置 的 運 轉 速 度 較 快, 因 而 速 度 也 會 快 的 多, 而 且 也 比 較 不 耗 費 CPU 的 資 源 目 前 SCSI 介 面 卡 是 一 般 大 型 伺 服 器 主 機 的 硬 碟 傳 輸 介 面, 不 過, 用 在 個 人 電 腦 上 面 的 話, IDE/SATA 介 面 就 夠 了! 因 為, SCSI 介 面 的 硬 碟 很 貴 呢! 主 機 板 ( Mainboard 或 Mother board ): 我 們 在 圖 一 提 到 的 那 個 主 機 板 真 是 重 要! 上 面 提 到 的 CPU RAM VGA Card PCI Card 等 等, 全 部 都 是 接 在 這 個 主 機 板 上 面 的 當 然 啦, 這 個 主 機 板 就 得 要 負 責 溝 通 所 有 介 面 的 工 作 了 而 溝 通 所 有 上 面 提 到 的 咚 咚 的 東 西, 就 是 主 機 板 的 晶 片 組 由 於 主 機 板 上 面 的 晶 片 組 將 負 責 與 CPU RAM 及 其 他 相 關 的 輸 出 輸 入 裝 置, 所 以, 晶 片 組 設 計 的 好 壞 也 相 差 甚 多 喔! 整 個 主 機 板 晶 片 組 與 各 個 元 件 之 間 的 溝 通 可 以 使 用 下 圖 二 來 簡 單 的 說 明 : file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 圖 二 晶 片 組 架 構 示 意 圖 先 要 提 醒 您 的 是, 我 們 這 裡 僅 列 出 晶 片 組 功 能 示 意 而 已, 並 沒 有 完 整 列 出 晶 片 組 的 詳 細 架 構 喔 底 下 我 們 就 來 提 一 下 晶 片 組 的 相 關 功 能 介 紹 吧! 晶 片 組 的 功 能 : 晶 片 組 就 是 在 溝 通 CPU RAM 輸 出 與 輸 入 裝 置 的 重 要 角 色! 還 記 得 剛 剛 我 們 在 CPU 時 候 提 到 的 時 脈 問 題 吧? 在 這 裡 我 們 再 次 的 強 調, CPU 的 外 頻 就 是 晶 片 組 與 其 他 周 邊 溝 通 的 速 度 囉, 假 如 使 用 剛 剛 的 P-III 933 MHz 做 為 例 子 的 話, 那 麼 你 的 晶 片 組 運 作 頻 率 應 該 是 以 133 為 基 準, 所 以 CPU 與 晶 片 組 溝 通 是 133, 晶 片 組 與 RAM 亦 是 133 的 速 度, 與 PCI 介 面 則 通 常 是 33 (133/4), 而 與 AGP 則 是 66 (133/2) 囉! 所 以, 一 個 晶 片 組 就 需 要 負 責 這 麼 多 不 同 的 時 脈 操 作 喔! 呵 呵! 所 以 囉, 晶 片 組 的 好 壞 對 於 系 統 的 影 響 也 是 相 當 大 的! 另 外, 目 前 很 多 的 技 術 可 以 提 升 各 個 與 晶 片 組 之 間 溝 通 的 時 脈 速 度, 例 如 DDR 記 憶 體, 可 以 將 時 脈 再 提 升 一 倍, 所 以, 如 果 剛 剛 是 133, 那 麼 使 用 DDR 記 憶 體 時, 就 可 以 提 升 成 為 266 囉! 至 於 P4 則 晶 片 組 與 CPU 之 間 則 可 以 提 升 四 倍 的 時 脈 速 度, 遺 憾 的 是, 晶 片 組 能 支 援 的 規 格, 只 有 一 種, 並 無 法 支 援 所 有 的 規 格, 也 就 是 說, 你 的 Intel 晶 片 組 的 主 機 板, 只 能 支 援 Intel 的 CPU 與 晶 片 組 能 溝 通 的 記 憶 體 規 格 ; CPU 記 憶 體 與 晶 片 組 ( 就 是 主 機 板 啦 ) 在 選 購 的 時 候 需 要 一 起 考 慮, 因 為 晶 片 組 ( 主 機 板 ) 能 夠 支 援 的 CPU 只 有 特 定 的 規 格, 而 晶 片 組 對 記 憶 體 的 支 援 通 常 也 僅 支 援 特 定 規 格, 所 以, 當 你 選 擇 Intel 的 主 機 板 晶 片 組 時, 那 就 不 能 使 用 AMD 的 CPU 囉! 這 在 購 買 的 時 候 要 特 別 小 心 您 主 機 板 上 晶 片 file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 組 所 能 支 援 的 規 格 喔! 使 用 者 最 容 易 搞 錯 的 就 是 這 裡 了! 大 家 總 是 認 為 DDR 最 好, 所 以 拼 命 也 要 買 DDR, 但 是, 如 果 你 主 機 板 晶 片 組 本 來 就 不 支 援 DDR 記 憶 體 的 話, 那 你 買 來 的 DDR 是 找 不 到 地 方 插 的! 所 以, 如 果 您 想 要 升 級 你 的 系 統 時, 請 特 別 留 意 你 的 主 機 板 晶 片 組 是 否 有 支 援 喔! I/O 位 址 與 IRQ 岔 斷 : 既 然 主 機 板 是 負 責 各 個 電 腦 系 統 元 件 之 間 的 溝 通 的, 但 是 電 腦 的 東 西 又 太 多 了, 又 有 輸 出 輸 入 又 有 不 同 的 儲 存 裝 置, 主 機 板 晶 片 組 怎 麼 知 道 如 何 負 責 溝 通 吶? 這 個 時 候 就 需 要 用 到 所 謂 的 I/O 與 IRQ 囉!I/O 有 點 類 似 門 牌 位 址 啦, 每 個 裝 置 都 有 他 自 己 的 位 址, 一 般 來 說, 不 能 有 兩 個 裝 置 使 用 同 一 個 I/O 位 址, 否 則 系 統 就 會 不 曉 得 該 如 何 運 作, 例 如, 如 果 你 家 門 牌 與 隔 壁 家 的 相 同, 那 麼 郵 差 怎 麼 送 信 到 你 家 啊? 不 過, 萬 一 還 是 造 成 不 同 的 裝 置 使 用 了 同 一 個 I/O 而 造 成 I/O 衝 突 時, 就 需 要 手 動 的 設 定 一 下 各 個 裝 置 的 I/O 囉! 而 除 了 I/O 位 址 之 外, 還 有 個 IRQ 岔 斷 這 個 咚 咚, 如 果 I/O 想 成 是 門 牌 號 碼 的 話, 那 麼 IRQ 就 可 以 想 成 是 各 個 門 牌 連 接 到 郵 件 中 心 ( CPU ) 的 專 門 路 徑 囉!IRQ 可 以 用 來 溝 通 CPU 與 各 個 裝 置 啦! 目 前 IRQ 只 有 15 個, 如 果 你 的 周 邊 介 面 太 多 時, 可 能 就 會 不 夠 用, 這 個 時 候 你 可 以 選 擇 將 一 些 沒 有 用 到 的 周 邊 介 面 關 掉, 以 空 出 一 些 IRQ 來 給 真 正 需 要 使 用 的 介 面 喔! 當 然, 也 有 所 謂 的 sharing IRQ 的 技 術 就 是 了! BIOS :BIOS 是 Basic Input/Output System 的 縮 寫, 剛 剛 上 面 我 們 提 到 了 很 多 的 輸 出 與 輸 入 以 及 I/O, IRQ 等 等 的 咚 咚, 你 要 如 何 設 定 呢? 可 以 透 過 作 業 系 統, 也 可 以 透 過 主 機 板 提 供 的 BIOS 功 能 來 設 定 喔! 當 你 開 機 的 時 候, 螢 幕 上 不 是 會 出 現 一 些 版 本 的 訊 息 嗎? 那 就 是 BIOS 的 設 定 囉! 你 可 以 在 開 機 的 時 候 按 下 DEL 按 鍵, 以 設 定 開 機 順 序 I/O, 以 及 IRQ 等 等! 其 他 輸 出 輸 入 介 面 : 目 前 主 機 板 上 面 通 常 會 內 建 一 些 基 本 的 介 面, 這 些 介 面 通 常 是 在 主 機 機 殼 的 後 面, 例 如 : PS2 介 面 : 這 是 目 前 最 常 見 的 鍵 盤 與 滑 鼠 的 介 面, 在 插 孔 的 地 方 是 圓 形 的, 這 種 介 面 速 度 上 面 會 比 較 好 一 些, 但 是 最 麻 煩 的 地 方 在, p 果 你 的 鍵 盤 與 滑 鼠 鬆 脫 了, 通 常 只 能 以 重 新 開 機 來 再 次 驅 動 鍵 盤 或 滑 鼠 囉 ; 九 針 序 列 埠 : 這 個 是 以 前 用 來 接 滑 鼠 的 介 面, 常 常 被 稱 為 com1 ; 25 針 並 列 埠 : 這 通 常 用 來 連 接 印 表 機 的 介 面, 通 常 稱 為 LPT1, LPT2...; 聲 音 輸 出 輸 入 與 麥 克 風 : 這 個 是 一 些 圓 形 的 插 孔, 而 必 須 你 的 主 機 板 上 面 有 內 建 音 效 晶 片 時, 才 會 有 這 三 個 東 西 ; USB 介 面 : 目 前 相 當 流 行 的 一 個 介 面, 支 援 隨 插 即 用, 目 前 已 經 推 出 到 USB 2.0 了, 這 個 規 格 改 變 了 速 度 上 的 問 題, 目 前 USB 2.0 的 速 度 已 經 足 夠 了 (480 Mbps), 相 當 的 快 速! 不 像 之 前 1.xx 版 時 ( 12 Mbps ), copy 一 些 資 料 到 USB 硬 碟 時, 會 吐 血... file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 電 源 供 應 器 ( Power ): 除 了 上 面 這 些 元 件 之 外, 其 實 還 有 一 個 很 重 要 的 元 件 也 要 來 談 一 談, 那 就 是 電 源 供 應 器 在 您 的 機 殼 內, 有 個 大 大 的 鐵 盒 子, 上 頭 有 很 多 電 源 線 會 跑 出 來, 那 就 是 電 源 供 應 器 了 我 們 的 CPU/RAM/ 主 機 板 / 硬 碟 等 等 都 需 要 用 電, 而 近 來 的 電 腦 元 件 耗 電 量 越 來 越 高, 以 前 很 古 早 的 230W 電 源 已 經 不 夠 用 了! 最 近 您 要 安 裝 新 的 主 機 時, 要 記 得, 電 源 供 應 器 至 少 也 要 300W 以 上 才 夠 你 的 主 機 使 用, 有 些 特 殊 的 主 機, 還 會 要 求 至 少 要 400~500W 以 上 的 電 源 呢! 電 源 供 應 器 的 價 差 又 更 大 了! 貴 一 點 的 300W 可 以 到 4000 NT, 便 宜 一 點 的 300W, 只 要 500 NT 不 到! 怎 麼 差 這 麼 多? 沒 錯 ~ 因 為 Power 的 用 料 不 同, 電 源 供 應 的 穩 定 度 也 會 差 很 多, 差 一 點 的 電 源 供 應 器, 甚 至 是 造 成 電 腦 不 穩 定 的 元 兇 呢! 所 以, 盡 量 不 要 使 用 太 差 的 電 源 供 應 器 喔! 關 於 速 度 / 穩 定 度 的 問 題 : 對 於 速 度 來 說 的 話, 由 剛 剛 我 們 看 到 的 晶 片 組 所 負 責 溝 通 的 工 作 來 看, 您 就 應 該 曉 得 啦! 速 度 的 快 慢 與 整 體 系 統 的 最 慢 的 那 個 設 備 有 關!, 如 果 你 是 使 用 最 快 速 的 P4, 使 用 最 快 的 DDR 記 憶 體, 但 是 配 上 一 個 慢 慢 的 過 時 顯 示 卡, 那 麼 整 體 的 速 度 效 能 將 會 卡 在 那 個 顯 示 卡 上 面 喔! 很 重 要 的 呢! 所 以, 在 購 買 整 套 系 統 時, 請 特 別 留 意 需 要 全 部 的 介 面 都 考 慮 進 去 喔! 尤 其 是 當 您 想 要 升 級 時, 要 特 別 注 意 這 個 問 題, 並 非 所 有 的 舊 的 設 備 都 適 合 繼 續 使 用 的 除 此 之 外, 到 底 那 個 元 件 特 別 容 易 造 成 系 統 的 不 穩 定 呢? 有 幾 個 常 見 的 系 統 不 穩 定 的 狀 態 是 : 系 統 超 頻 : 這 個 行 為 很 不 好! 不 要 這 麼 做! 電 源 供 應 器 的 電 源 不 穩 定 : 這 也 是 個 很 嚴 重 的 問 題, 當 您 測 試 完 所 有 的 元 件 都 沒 有 啥 大 問 題 時, 記 得 測 試 一 下 電 源 供 應 器 的 穩 定 度! 記 憶 體 無 法 負 荷 : 現 在 的 DDR 記 憶 體 品 質 差 很 多, 差 一 點 的 記 憶 體, 可 能 會 造 成 您 的 主 機 在 忙 碌 的 工 作 時, 產 生 不 穩 定 或 當 機 的 現 象 喔! 系 統 過 熱 : 熱 是 造 成 電 子 零 件 運 作 不 良 的 主 因 之 一, 如 果 您 的 主 機 在 夏 天 容 易 當 機, 冬 天 卻 還 好, 那 麼 考 慮 一 下, 加 幾 個 風 扇 吧! 有 助 於 機 殼 內 的 散 熱, 系 統 會 比 較 穩 定 喔! 這 個 問 題 也 是 很 常 見 的 系 統 當 機 的 元 凶! 這 些 咚 咚 就 是 系 統 所 必 備 的 一 些 元 件 了! 當 然 啦, 還 有 光 碟 機 滑 鼠 鍵 盤 我 們 沒 有 介 紹, 因 為 那 個 東 西 比 較 簡 單 啦! 只 是 要 注 意 的 是, 他 與 主 機 板 提 供 的 連 接 介 面 是 否 相 同 呢? 如 果 不 同 的 話, 自 然 就 無 法 連 接 囉! 例 如 你 拿 PS2 的 接 頭 要 去 接 九 針 序 列 埠 的 插 槽, 試 問, 可 以 連 接 嗎?? 所 以, 買 周 邊 設 備 的 時 候, 要 考 慮 到 整 體 性 喔! file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 Tips: 事 實 上, 要 瞭 解 每 個 硬 體 的 詳 細 架 構 與 構 造 是 很 難 的! 這 裡 鳥 哥 僅 是 列 出 一 些 比 較 基 本 的 概 念 而 已 另 外, 要 知 道 某 個 硬 體 的 製 造 商 是 哪 間 公 司? 可 以 看 該 硬 體 上 面 的 資 訊 舉 例 來 說, 主 機 板 上 面 都 會 列 出 這 個 主 機 板 的 開 發 商 與 主 機 板 的 型 號, 知 道 這 兩 個 資 訊, 就 可 以 找 到 驅 動 程 式 了 另 外, 顯 示 卡 上 面 有 個 小 小 的 晶 片, 上 面 也 會 列 出 顯 示 卡 廠 商 與 晶 片 資 訊 喔! 選 擇 與 Linux 搭 配 的 主 機 配 備 認 識 了 主 要 的 電 腦 系 統 硬 體 之 後, 接 下 來 就 得 知 道, 那 麼 你 的 硬 體 需 要 怎 樣 的 等 級 才 能 符 合 你 的 作 業 系 統 需 求 呢? 剛 剛 我 們 也 提 到 了, 不 同 的 主 機 服 務 需 要 的 主 機 等 級 是 不 相 同 的! 基 本 上, 如 果 你 的 Linux 是 做 為 終 端 機 之 用 ( 也 就 是 當 作 你 的 工 作 機, 並 不 對 Internet 提 供 其 他 服 務 ), 並 且 也 不 玩 X-Window 的 話, 那 麼 由 於 Linux 所 需 要 的 硬 體 資 源 是 很 低 的, 只 要 你 有 Pentun-133 以 上 等 級 的 機 器 就 可 以 跑 得 很 順 暢 囉! 所 以, 若 你 手 上 有 升 級 後 要 汰 換 的 設 備, 千 萬 別 急 著 丟 掉, 可 以 嘗 試 著 組 裝 一 下, 然 後 來 玩 玩 Linux 呀! 但 是, 萬 一 您 的 Linux 機 器 是 預 計 用 來 作 為 您 公 司 內 部 的 mail server 或 者 是 您 學 校 的 Web server, proxy server 時, 或 者 是 要 玩 X-Window 的 話, 那 麼 你 就 必 須 要 選 擇 高 檔 一 點 的 電 腦 配 備 了, 尤 其 是 RAM 的 大 小 顯 示 卡 的 記 憶 體 容 量 與 硬 碟 的 空 間 容 量! 另 外, 由 於 Linux 還 沒 有 茁 壯 到 大 部 分 的 桌 上 型 電 腦 的 作 業 系 統 都 用 他, 因 此, 某 些 特 殊 硬 體 對 於 Linux 之 支 援 度, 就 有 點 不 足 了 舉 例 來 說, 最 新 的 顯 示 卡 可 能 就 無 法 被 預 設 的 Linux 核 心 捉 到 不 過, 其 實 這 並 不 是 Linux 的 問 題 ~ 怎 麼 說 呢? 因 為 驅 動 程 式 都 是 由 該 硬 體 的 開 發 商 開 發 的, 而 不 是 Linux 核 心 工 作 小 組 應 該 要 開 發 的 喔! 所 以 啊, 如 果 您 買 了 一 個 顯 示 卡, 卻 無 法 被 你 的 Linux 偵 測 到, 那 麼 您 應 該 要 前 往 這 個 顯 示 卡 開 發 商 的 網 站, 去 反 應, 或 者 去 下 載 給 Linux/Windows 或 其 他 作 業 系 統 使 用 的 驅 動 程 式 才 對 喔! 此 外, Linux 開 發 商 在 釋 出 Linux 之 前, 都 會 針 對 該 版 所 預 設 可 以 支 援 的 硬 體 做 說 明, 因 此, 您 除 了 可 以 在 Linux 的 Howto 去 查 詢 外, 也 可 以 到 各 個 相 關 的 Linux distributions 網 站 去 查 詢 呢! Linux 的 硬 體 中 文 HowTo: http://www.linux.org.tw/cldp/howto/hardware. html#hardware Mandriva 的 硬 體 支 援 : http://www.linux-mandrake.com/en/hardware.php3 Red Hat 的 硬 體 支 援 : http://hardware.redhat.com/hcl/?pagename=hcl SuSE 的 硬 體 支 援 : http://hardwaredb.suse.de/index.php?lang=en_uk file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 Linux 對 Printer 的 支 援 : http://www.linuxprinting.org/ Linux 對 Notebook 電 腦 的 支 援 : http://www.linux-laptop.net/ 顯 示 卡 對 XFree86/Xorg 的 支 援 : http://www.linuxhardware.org/ 底 下 我 們 稍 微 談 一 下 Linux 至 少 所 需 要 的 硬 體 配 備 是 如 何 吧! 假 設 一 台 Linux 主 機, 他 主 要 的 功 能 是 用 來 作 為 NAT 主 機, 所 謂 的 NAT 主 機 也 就 是 類 似 IP 分 享 器 的 功 能, 而 且 用 這 台 NAT 主 機 的 PC 數 並 不 多, 那 你 只 需 要 Pentun-166, 32MB RAM, 及 一 塊 不 太 特 殊 的 顯 示 卡 及 網 路 卡 也 就 夠 了! 當 然, 硬 體 的 需 求 與 你 服 務 的 對 象 多 寡 是 有 相 當 的 相 關 性 的! 在 這 個 一 般 家 庭 的 NAT 主 機 的 環 境 下, 你 所 需 要 的 硬 體 大 致 的 需 求 如 下 : CPU:Pentun-166 以 上 等 級 就 可 以 了 不 過 建 議 使 用 K6-2 300 以 上 等 級 的 CPU, 當 然 了, CPU 的 等 級 與 你 舊 有 的 主 機 板 相 容 程 度 是 有 相 關 性 的 ; RAM: 至 少 32MB 以 上 其 實 除 了 CPU 之 外, 在 Linux 系 統 中 最 重 要 的 應 該 是 記 憶 體 的 大 小 了, 因 為 如 果 你 的 服 務 開 得 太 多, 而 你 的 記 憶 體 不 夠 大, 勢 必 要 使 用 類 似 Windows 的 虛 擬 記 憶 體 的 東 西 ( 在 Linux 當 中 稱 為 Swap ), 這 個 Swap 是 使 用 硬 碟 的 空 間 來 模 擬 記 憶 體 的 存 取 型 態, 所 以, 你 可 以 知 道, 在 記 憶 體 中 跑 的 資 料 卻 以 速 度 較 慢 的 硬 碟 來 跑, 呵 呵! 這 東 西 可 操 硬 碟 的 緊! 所 以 雖 然 記 憶 體 最 低 的 需 求 是 32MB 就 可 以 了, 不 過 強 烈 建 議 最 好 是 有 64MB 以 上 比 較 好, 尤 其 是 如 果 你 還 要 玩 X-Window 的 話! ( 註 : 目 前 新 出 版 的 Linux distribution 當 中, 由 於 提 供 的 服 務 越 來 越 多, 且 X-Window 介 面 越 做 越 好, 所 以 對 於 記 憶 體 的 要 求, 實 際 上 也 越 來 越 高! 事 實 上, 最 好 要 求 您 的 Linux 具 有 128 MB 以 上 的 記 憶 體, 不 過, 如 果 您 跟 鳥 哥 一 樣 不 碰 X- Window 的 話, 那 麼 使 用 64 MB 就 已 經 嚇 嚇 叫 了! ) Hard disk: 最 好 有 2GB 以 上 當 然 是 越 大 越 好, 最 好 至 少 為 3GB 的 硬 碟! ( 註 : 同 樣 的, 目 前 的 Linux 提 供 的 資 料 太 多 了! 所 以 某 些 出 版 商 提 供 的 Linux 在 選 擇 完 整 安 裝 之 後, 硬 碟 竟 然 佔 用 了 4.5 GB 左 右 的 空 間, 相 當 的 可 怕! 不 過, 如 果 您 已 經 學 會 了 Linux 的 話, 那 麼 事 實 上, 透 過 選 擇 的 套 件 內 容, 將 不 需 要 用 到 這 麼 多 硬 碟 空 間, 尤 其 不 玩 X-Window 的 話, 硬 碟 空 間 幾 乎 可 以 減 少 一 半 以 上 ) VGA ( 顯 示 卡 ): 如 果 是 舊 設 備 的 話, 最 好 是 S3 早 期 的 顯 示 卡 Linux 對 於 最 新 的 顯 示 卡 支 援 的 並 不 是 很 足 夠, 而 且 通 常 鳥 哥 是 建 議 人 家 使 用 淘 汰 的 零 件 當 主 機 使 用, 並 且 如 果 你 又 不 玩 X-Window 的 話, 一 塊 1MB 記 憶 體 的 S3-775 顯 示 卡 就 夠 了! 重 要 的 是, Linux 對 於 S3 舊 的 VGA 卡 ( 如 Virge 系 列 ) 支 援 的 程 度 相 當 的 成 熟, 所 以 我 推 薦 他! 然 而, 如 果 您 想 要 將 X-Window 建 置 在 您 的 Linux 機 器 上 面, 那 麼 最 好 是 一 定 要 有 8 MB 以 上 的 顯 示 卡 記 憶 體, 否 則 光 是 等 待 的 時 間, 會 磨 盡 您 原 本 具 有 的 耐 心 指 數. Network Card ( 網 路 卡 ) : 一 塊 極 其 普 通 的 10/100 MB 的 網 卡 就 可 以 了, 建 議 用 具 有 RTL8139 或 者 是 NE2000 相 容 的 晶 片 的 網 卡, 因 為 Linux 本 身 就 有 支 file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 援, 不 用 再 額 外 加 掛 驅 動 程 式! 強 烈 的 建 議 使 用 Realtek RTL8139 晶 片 的 PCI 介 面 網 路 卡, 便 宜 又 蠻 好 用 的! 不 過, 還 是 得 提 醒 一 下, 如 果 您 的 Linux 是 用 來 架 設 大 流 量 的 網 站 時, 那 麼 好 一 點 的 網 路 卡 將 是 不 能 節 省 的 花 費! 如 果 能 夠 使 用 Intel 或 是 3Com 的 網 路 卡, 那 將 是 不 錯 的 選 擇 呀! 光 碟 軟 碟 鍵 盤 與 滑 鼠 : 不 要 太 舊 的 就 可 以 了 基 本 上 除 了 鍵 盤 之 外, 其 他 的 裝 置 都 是 非 必 備 的, 以 鳥 哥 為 例, 在 安 裝 Linux 的 時 候 先 拿 別 部 電 腦 的 光 碟 機 軟 碟 機 與 滑 鼠 來 安 裝, 等 到 安 裝 完 畢 之 後, 關 機, 將 所 有 的 裝 置 拔 掉, 只 要 剩 下 硬 碟 與 電 源 供 應 器 就 可 以 啦! 等 到 所 有 的 設 定 都 完 成 之 後, 連 螢 幕 都 可 以 搬 走 了! 剩 下 的 Linux 會 自 動 搞 定! 因 為 通 常 伺 服 器 這 東 西 最 需 要 的 就 是 穩 定, 而 穩 定 的 最 理 想 狀 態 就 是 平 時 沒 事 不 要 去 動 他 是 最 好 的! 不 過, 請 千 萬 注 意 了, 上 面 提 到 的 是 規 模 很 小 的 主 機 系 統 可 以 這 樣 玩! 如 果 是 企 業 內 部 的 Linux 主 機, 呵 呵, 可 能 就 要 做 修 正 囉! 例 如 某 些 學 校 內 部 架 設 的 Proxy 系 統, 由 於 服 務 的 機 器 數 非 常 的 大, 所 以 建 議 至 少 需 要 : CPU 等 級 至 少 需 要 P-III 500 以 上 ; RAM 最 重 要, 最 好 至 少 512 MB 以 上, 越 大 越 好 ; 網 路 卡 最 好 可 以 選 擇 較 佳 一 些 的, 例 如 Intel 或 3COM 的! 硬 碟 至 少 需 要 數 十 GB 以 上 的, 分 割 成 多 槽, Proxy 執 行 效 率 較 好 ; 其 他 的 就 隨 意 啦! 所 以 囉! 不 同 規 模 的 伺 服 器, 他 的 硬 體 要 求 等 級 也 就 會 不 相 同! 除 此 之 外, 不 同 的 Linux distribution 對 於 硬 體 的 要 求 也 不 一 樣! 舉 例 來 說, 在 Open Linux 的 server 3.1.1 就 嚴 格 要 求 您 的 系 統 必 須 是 i686 ( 也 就 是 PII 等 級 以 上 的 CPU ), 所 以, 您 必 須 要 針 對 您 即 將 安 裝 的 Linux 所 需 要 的 硬 體 需 求 進 行 瞭 解 呢 Tips: 一 般 來 說, 目 前 (2005/06) 的 入 門 電 腦 機 種, 至 少 都 會 有 P-4 2G 以 上, RAM 有 512MB, 顯 示 卡 記 憶 體 也 有 64MB 以 上, 所 以, 如 果 您 是 新 購 置 的 電 腦, 那 麼 該 電 腦 用 來 作 為 Linux 的 練 習 機, 而 且 加 裝 X Window 系 統, 肯 定 是 可 以 跑 的 嚇 嚇 叫 的 啦! ^_^ 底 下 鳥 哥 針 對 一 般 您 可 以 會 接 觸 到 的 電 腦 主 機 的 用 途 與 相 關 硬 體 配 備 的 基 本 要 求 來 說 明 一 下 好 了 : 一 般 小 型 主 機 且 不 含 X Window 系 統 : 用 途 : 家 庭 用 NAT 主 機 或 小 型 企 業 之 非 圖 形 介 面 小 型 主 機 CPU: 大 於 Pentun 133 以 上 等 級 即 可 RAM: 至 少 32MB, 不 過 還 是 大 於 64MB 以 上 比 較 妥 當! 網 路 卡 : 一 般 的 10/100 Mbps 即 可 應 付 顯 示 卡 : 隨 便! 只 要 能 夠 被 Linux 捉 到 即 可, 例 如 S3 或 Sis 6326 file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 硬 碟 :2GB 以 上 即 可! 桌 上 型 Linux 系 統 / 含 X Window : 用 途 :Linux 的 練 習 機 或 Office 工 作 機 CPU: 最 好 等 級 高 一 點, 例 如 P-III 或 K7 以 上 等 級 RAM: 一 定 要 大 於 256MB 比 較 好! 否 則 容 易 有 停 頓 的 現 象 網 路 卡 : 普 通 的 10/100 Mbps 就 好 了! 顯 示 卡 : 使 用 32MB 以 上 記 憶 體 的 顯 示 卡! 硬 碟 : 越 大 越 好, 最 好 有 20GB 中 型 以 上 Linux 伺 服 器 : 用 途 : 中 小 型 企 業 / 學 校 單 位 的 FTP/mail/WWW 等 網 路 服 務 主 機 CPU: 最 好 等 級 高 一 點, 例 如 P4 或 K7 以 上 等 級 甚 至 可 以 考 慮 使 用 雙 CPU 系 統 RAM: 最 好 能 夠 大 於 512MB 以 上, 大 於 1GB 更 好! 網 路 卡 : 知 名 的 3Com 或 Intel 等 廠 牌, 比 較 穩 定 效 能 較 佳! 注 意, 也 可 選 購 10/100/1000 Mbps 的 速 度 顯 示 卡 : 如 果 有 使 用 到 圖 形 功 能, 則 一 張 64MB 記 憶 體 的 顯 示 卡 是 需 要 的! 硬 碟 : 越 大 越 好, 如 果 可 能 的 話, 使 用 SCSI 或 者 磁 碟 陣 列, 或 者 網 路 硬 碟 等 等 的 系 統 架 構, 能 夠 具 有 更 穩 定 安 全 的 傳 輸 環 境, 更 佳! 總 之, 鳥 哥 這 裡 僅 是 提 出 一 個 方 向, 亦 即 是 : 如 果 您 有 因 為 升 級 而 用 不 到 的 電 腦 主 機, 千 萬 不 要 急 著 丟 掉, 可 以 將 他 回 收 後, 作 為 Linux 的 架 設 與 練 習 之 用! 而 如 果 您 想 要 架 設 一 部 更 穩 定 的 Linux Server, 那 麼, 系 統 的 整 體 搭 配 性 整 體 運 作 的 效 率 考 量, 以 及 系 統 散 熱 的 問 題 等 等, 都 需 要 加 以 考 慮 在 綜 合 考 慮 之 後, Linux Server 在 中 大 型 企 業 上, 購 買 各 硬 體 廠 商 已 開 發 完 成 的 硬 體 系 統, 是 一 個 很 不 錯 的 選 擇! 至 少 那 些 伺 服 器 主 機 都 已 經 測 試 過 搭 配 性, 而 且 散 熱 上 一 定 比 較 沒 問 題! 總 之, 如 果 是 自 己 維 護 的 一 個 小 網 站, 考 慮 到 經 濟 因 素, 您 可 以 自 行 組 裝 一 部 主 機 來 架 設 而 如 果 是 中 大 型 企 業, 那 麼 主 機 的 錢 不 要 省 ~ 因 為, 省 了 這 些 錢, 未 來 主 機 掛 點 時, 光 是 要 找 出 那 個 元 件 出 問 題, 或 者 是 系 統 過 熱 的 問 題, 會 氣 死 人 ㄟ! 而 且, 要 注 意 的 就 是 未 來 你 的 Linux 主 機 規 劃 的 用 途 來 決 定 你 的 Linux 主 機 硬 體 配 備 喔! 相 當 的 重 要 呢! 各 硬 體 裝 置 在 Linux 中 的 代 號 瞭 解 了 硬 體 之 後, 接 著 下 來 得 瞭 解 一 下 個 硬 體 在 Linux 當 中 所 扮 演 的 角 色 囉! 在 Linux 系 統 當 中, 每 個 裝 置 都 被 當 成 一 個 檔 案 來 對 待! 舉 例 來 說, 硬 碟 的 檔 案 名 稱 即 為 /dev/hd[a-d], 其 中, 括 號 內 的 字 母 為 a-d 當 中 的 任 何 一 個, 亦 即 由 /dev/hda, /dev/ hdb, /dev/hdc, 及 /dev/hdd 這 四 個 檔 案 的 意 思 ( 註 : 這 種 型 式 的 表 示 法 在 後 面 的 章 節 當 中 會 使 用 得 很 頻 繁, 請 特 別 留 意 ) 那 麼 光 碟 機 與 軟 碟 呢? 分 別 是 /dev/cdrom, /dev/ fd0 囉! 好 了, 其 他 的 周 邊 設 備 呢? 底 下 列 出 幾 個 常 見 的 裝 置 與 其 在 Linux 當 中 的 代 file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 號 囉 : Tips: 先 提 出 來 強 調 一 下, 在 Linux 這 個 系 統 當 中, 幾 乎 所 有 的 硬 體 裝 置 代 號 檔 案 都 在 /dev 這 個 目 錄 當 中, 所 以 您 會 看 到 /dev/hda, /dev/cdrom 等 等 ~ 裝 置 IDE 硬 碟 機 SCSI 硬 碟 機 裝 置 在 Linux 內 的 代 號 /dev/hd[a-d] /dev/sd[a-p] USB 隨 身 碟 /dev/sd[a-p]( 與 SCSI 硬 碟 一 樣 ) CDROM 軟 碟 機 印 表 機 滑 鼠 磁 帶 機 /dev/cdrom /dev/fd[0-1] /dev/lp[0-2] /dev/mouse /dev/ht0 (IDE) 或 /dev/st0 (SCSI 介 面 ) 需 要 特 別 留 意 的 是 硬 碟 機 ( 不 論 是 IDE/SCSI/USB 都 一 樣 ), 每 個 磁 碟 機 的 磁 碟 分 割 ( partition ) 不 同 時, 其 磁 碟 代 號 還 會 改 變 呢! 關 於 硬 碟 機 的 分 割 與 配 置 將 在 安 裝 Linux 時 再 提 及 此 外, 您 會 發 現 怎 麼 檔 案 開 頭 都 是 /dev 呢? 呵 呵! 那 個 咚 咚 就 是 我 們 放 置 裝 置 檔 案 的 目 錄 啦! 而 需 要 特 別 注 意 的 是 磁 帶 機 的 代 號, 在 某 些 不 同 的 distribution 當 中 可 能 會 發 現 不 一 樣 的 代 號, 需 要 稍 微 留 意 總 之, 你 得 先 背 一 下 IDE 硬 碟 的 代 號 就 是 了! 其 他 的, 用 的 到 再 來 背 吧! 安 裝 Linux 前 的 規 劃 作 業 系 統 與 硬 體 相 關 性 是 很 高 的, 我 們 剛 剛 也 才 談 過 x86 這 個 個 人 電 腦 架 構 的 各 硬 體 元 件, 也 大 略 的 介 紹 了 一 些 選 購 的 注 意 事 項, 再 來 是 什 麼? 呵 呵! 再 來 則 是 需 要 知 道 那 我 應 該 要 安 裝 那 個 版 本 的 Linux? 在 安 裝 的 過 程 當 中, 我 應 該 要 如 何 將 我 的 硬 碟 進 行 分 割? 還 有, 我 應 該 要 如 何 選 擇 要 安 裝 的 Linux 套 件 ( 軟 體 )? 因 為 每 個 不 同 的 Linux 開 發 商 在 開 發 他 們 的 Linux 時, 著 眼 點 都 不 同, 所 以 當 然 就 要 選 擇 比 較 適 合 您 的 版 本 囉 至 於 硬 碟 分 割, 那 本 來 就 是 一 件 很 重 要 的 事 情 ~ 不 論 是 在 那 個 作 業 系 統 當 中 啊! 而 Linux 的 軟 file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 體 眾 多, 沒 有 必 要 每 個 都 安 裝 在 您 的 主 機 上 面 的 說! 呵 呵! 底 下 我 們 就 分 別 來 談 一 談 這 些 東 西 囉! 選 擇 適 當 的 distributions 就 如 同 前 面 幾 個 章 節 提 到 的, 每 個 版 本 的 Linux 都 是 使 用 http://www.kernel.org 所 發 展 的 核 心, 都 遵 循 LSB 與 FHS 等 等 的 架 構, 所 以 差 異 性 其 實 不 大 啦! 不 過, 每 個 Linux distributions 在 發 展 的 時 候, 都 有 鎖 定 他 們 的 用 戶 群, 因 此, 在 預 設 的 情 況 下, 每 個 版 本 都 有 比 較 特 別 適 合 的 使 用 群 舉 例 來 說, Ubuntu (http://www. ubuntulinux.org/) 就 比 較 適 合 桌 上 型 電 腦 使 用, 因 為 他 的 X Window 整 合 得 很 好 Red Hat Enterprise Linux 與 SuSE Enterprise Linux Server 就 比 較 適 合 企 業 的 Linux 主 機, 因 為 他 們 的 系 統 服 務 整 合 的 比 較 好 但 是, 上 面 提 到 的 都 是 預 設 情 況 下 的 使 用 狀 態, 事 實 上, 因 為 每 個 linux distributions 差 異 性 不 大, 所 以, 您 當 然 可 以 隨 意 選 擇 一 個 distributions 來 加 以 改 造, 以 符 合 您 自 己 的 喜 好 的 環 境 啊! 不 過, 要 注 意 的 是, 由 於 近 期 以 來, 網 路 的 怪 客 (Cracker) 很 多, 造 成 我 們 主 機 的 被 入 侵 的 危 險 性 大 增! 因 此, 您 要 選 擇 的 distributions 的 標 準 之 一, 就 是 : 選 擇 比 較 新 的 distribution 為 宜! 這 是 因 為 比 較 新 的 版 本 他 在 持 續 維 護 套 件 的 安 全 性 上, 比 較 長, 可 以 讓 您 的 系 統 比 較 安 穩 一 點 而 且, 比 較 新 的 distributions, 他 在 新 硬 體 的 支 援 上 面, 當 然 也 會 比 較 好 囉! 這 樣 可 以 瞭 解 嗎? 您 可 以 在 Linux 是 什 麼 那 個 章 節 當 中 介 紹 的 Linux distributions 選 擇 適 當 的 distribution 去 下 載 來 安 裝, 不 過, 那 些 網 站 大 多 是 國 外 的 網 站, 下 載 時 間 會 較 久 這 裡 介 紹 國 內 的 學 術 網 路, 例 如 義 守 大 學 的 FTP 網 站 : http://ftp.isu.edu.tw/pub/ Linux/ 去 下 載 最 新 的 安 裝 光 碟 版 本 鳥 哥 在 這 裡 給 您 建 議, 以 台 灣 目 前 而 言, 使 用 者 群 使 用 Fedora 及 Mandriva 還 不 少, 這 表 示 使 用 這 兩 個 版 本 若 發 生 問 題 時, 應 該 可 以 得 到 比 較 多 的 參 考 資 料, 所 以, 您 可 以 選 擇 這 兩 個 套 件 其 中 之 一, 來 開 始 練 習 您 的 Linux 啊! 另 外, 您 也 可 以 選 擇 國 外 的 一 個 提 供 幾 乎 全 部 Linux distributions 的 網 站 : http:// www.linuxiso.org/ 來 下 載 要 注 意 的 是, 以 義 守 大 學 的 FTP 提 供 的 FC4 (Fedora Core Release 4) 為 例, 他 的 下 載 點 : http://ftp.isu.edu.tw/pub/linux/fedora/linux/core/4/i386/ iso/ 裡 面 有 好 多 檔 案, 每 個 檔 案 都 很 大! 這 是 因 為, 那 些 檔 案 都 是 映 象 檔 (image file), 還 必 須 要 燒 錄 成 為 光 碟 後, 才 可 以 使 用 而 您 也 會 看 到 裡 頭 有 i386 及 i386- SRPMS 的 檔 案, 那 個 SRPMS 的 檔 案 是 含 有 原 始 碼 的, 目 前 我 們 使 用 不 到, 所 以 可 以 略 過 不 下 載, 只 要 下 載 FC4-i386-disc[1-4].iso 即 可 ( 註 : 提 供 Linux distributions 下 載 的 網 站 很 多, 您 可 以 到 各 大 專 院 校 的 BBS 站 的 精 華 區 去 搜 尋 一 番!) file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 Tips: 要 注 意 的 是, 因 為 images 檔 案 實 在 太 大 了, 通 常 是 600MB-700MB 之 間, 這 麼 大 的 檔 案 使 用 瀏 覽 器 的 介 面 ( 如 IE 或 Firefox ) 來 下 載 可 能 會 有 問 題, 例 如 斷 線 啦 等 等 的 所 以 這 裡 請 您 以 FTP 的 軟 體 ( 例 如 cuteftp 等 等 的 ) 來 下 載, 這 樣 不 但 可 以 避 免 斷 線, 也 擁 有 續 傳 的 功 能, 而 且 檔 案 取 得 也 會 比 較 完 整 主 機 的 服 務 規 劃 與 硬 體 的 關 係 前 面 已 經 提 過, 由 於 主 機 的 服 務 目 的 不 同, 所 需 要 的 硬 體 等 級 與 配 備 自 然 也 就 不 一 樣! 底 下 鳥 哥 稍 微 提 一 提 每 種 服 務 可 能 會 需 要 的 硬 體 配 備 規 劃, 當 然, 還 是 得 提 醒, 每 個 朋 友 的 需 求 都 不 一 樣, 所 以 設 計 您 的 主 機 之 前, 請 先 針 對 自 己 的 需 求 進 行 考 量 而, 如 果 您 不 知 道 自 己 的 考 量 為 何, 那 麼 就 先 拿 一 部 普 通 的 電 腦 來 玩 一 玩 吧! 不 過 要 記 得! 不 要 將 重 要 資 料 放 在 練 習 用 的 Linux 主 機 上 面 打 造 Windows 與 Linux 共 存 的 環 境 : 在 某 些 情 況 之 下, 你 可 能 會 想 要 在 一 部 主 機 上 面 安 裝 兩 套 以 上 的 作 業 系 統, 舉 例 來 說 : 一 我 的 環 境 裡 面 僅 能 允 許 我 擁 有 一 部 主 機, 不 論 是 經 濟 問 題 還 是 空 間 問 題 ~ 二 因 為 目 前 各 主 要 硬 體 還 是 針 對 Windows 進 行 驅 動 程 式 的 開 發, 我 想 要 同 時 保 有 Windows 作 業 系 統 與 Linux 作 業 系 統, 以 確 定 在 Linux 底 下 的 硬 體 應 該 使 用 那 個 I/O port 或 者 是 IRQ 的 分 配 等 等 ; 三 我 的 工 作 需 要 同 時 使 用 到 Windows 與 Linux 作 業 系 統 果 真 如 此 的 話, 那 麼 您 就 可 能 會 需 要 使 用 到 所 謂 的 多 重 開 機 選 單 系 統 了! 所 謂 的 多 重 開 機 選 單, 就 是 在 系 統 開 機 時, 可 以 讓 您 選 擇 進 入 哪 一 種 作 業 系 統 的 程 式 因 為 如 此, 所 以, 您 就 可 以 在 一 部 主 機 上 面 安 裝 兩 套 作 業 系 統 在 不 同 的 磁 碟 分 割 槽 內, 此 時 您 就 能 夠 以 一 部 主 機 來 操 弄 兩 個 作 業 系 統 了 Tips: 一 般 來 說, 您 還 可 以 在 Windows 作 業 系 統 上 面 安 裝 VMware 之 類 的 軟 體, 讓 您 可 以 在 Windows 系 統 上 面 使 用 Linux 系 統, 就 是 兩 個 作 業 系 統 同 時 啟 動! 不 過, 那 樣 的 環 境 比 較 複 雜, 尤 其 很 多 硬 體 都 是 模 擬 的, 會 讓 新 手 很 難 理 解 系 統 控 制 原 理 基 本 上, 鳥 哥 很 不 建 議 您 使 用 這 樣 的 方 式 來 學 習 Linux 喔! 舉 例 來 說, 假 設 您 想 要 同 時 安 裝 Windows XP 與 Linux 在 您 的 工 作 主 機 上 面, 那 你 必 須 先 安 裝 Windows XP 再 灌 Linux 系 統 就 可 以 了! 當 然 囉, 如 果 你 先 安 裝 了 Linux 再 安 裝 Windows 系 統 呢? 還 能 不 能 成 功 的 製 作 多 重 開 機? 當 然 可 以 啦! file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 不 過, 你 就 需 要 學 會 知 道 什 麼 是 多 重 開 機 的 概 念, 這 部 分 我 們 會 在 後 面 再 繼 續 談, 不 要 著 急 喔! 基 本 上, 多 重 開 機 涉 及 硬 碟 規 劃 的 問 題, 如 果 你 的 硬 碟 有 6GB, 那 你 可 以 先 以 DOS 的 Fdisk 或 其 他 的 分 割 程 式 如 SPFdisk http://spfdisk. sourceforge.net/ 進 行 硬 碟 的 劃 分 僅 割 出 Windows 要 的 磁 區 就 好 例 如 你 要 分 1GB 給 windows, 那 以 Fdisk 分 割 一 個 1GB 的 主 分 割 就 好 了! 其 他 的 等 Linux 灌 的 時 候 再 弄 就 可 以 啦! 這 部 分 會 在 後 面 再 提 到! 再 來 提 到 您 的 Linux 主 機 系 統, 我 這 裡 要 跟 大 家 報 告 的 是, 如 果 您 是 使 用 較 為 老 舊 的 電 腦 來 做 為 主 機 的 處 理, 並 且 他 上 面 可 能 預 計 會 安 裝 mail, WWW 等 伺 服 器 軟 體, 因 此 需 要 全 天 全 年 開 機 的, 所 以 安 裝 Windows 與 Linux 共 存 的 環 境 是 可 以, 但 是 請 將 Windows 的 硬 碟 規 劃 的 小 一 點! 好 讓 您 的 Linux 主 機 可 以 有 更 多 的 空 間 提 供 更 完 善 的 服 務 好 了! 現 在 來 說 說 你 需 要 的 主 機 服 務 有 哪 些 呢? 一 般 而 言, 對 於 非 企 業 或 者 是 小 型 企 業 或 者 是 學 校 單 位, 通 常 你 需 要 的 服 務 有 底 下 這 幾 個 : NAT ( 類 似 IP 分 享 器 的 功 能 ): 如 果 您 是 一 般 小 型 企 業, 或 者 是 一 般 的 中 小 學 學 校, 那 麼 貴 單 位 對 外 的 連 線 應 該 通 常 是 : 申 請 一 個 固 定 制 的 IP, 然 後 透 過 IP 分 享 器 ( IP sharing ) 來 達 到 全 校 的 電 腦 皆 可 連 上 Internet 的 連 線 機 制 吧! 咦! 要 連 上 Internet 不 是 需 要 公 共 IP 嗎 ( Public IP ), 那 每 部 電 腦 不 是 都 需 要 一 個 IP 嗎? 那 麼 您 只 有 申 請 一 個 Public IP, 其 他 電 腦 的 IP 要 怎 麼 設 定 呢? 早 在 當 初 規 劃 這 個 IPv4 協 定 時 ( 就 是 目 前 的 IP 設 定 囉! ), 就 考 慮 到 可 能 的 IP 不 足 啦! 此 時, 就 有 專 門 給 內 部 網 域 設 定 用 的 Private IP 了 ( 或 者 稱 為 私 有 IP 或 保 留 IP ), 需 要 注 意 的 是, 這 些 Private IP 都 不 能 直 接 與 Internet 上 面 的 Public IP 互 相 溝 通! 那 怎 麼 我 學 校 內 部 的 電 腦 還 是 可 以 透 過 IP 分 享 器 連 出 去 呢? 這 就 是 所 謂 的 NAT ( Network Address Translation ) 功 能 啦! 當 內 部 電 腦 要 連 接 上 Internet 時, 需 要 通 過 NAT 的 技 術, 將 你 內 部 電 腦 的 資 料 封 包 中, 關 於 IP 的 設 定 都 設 定 成 NAT 主 機 的 公 共 IP, 然 後 才 傳 送 出 去 Internet, 如 此 一 來, 你 的 內 部 電 腦 雖 然 是 使 用 私 有 IP, 但 是 在 連 線 上 Internet 時, 就 可 以 透 過 NAT 主 機 的 NAT 技 術, 將 IP 來 源 給 改 了 改! 哈 哈! 如 此 一 來, 就 可 以 向 Internet 要 求 資 料 囉! 這 部 分 我 們 在 網 路 基 礎 篇 會 再 提 及 的! 通 常 使 用 舊 電 腦 來 做 為 主 機 時, 最 大 的 效 用 就 是 用 來 作 為 NAT 了! 若 你 的 主 機 僅 單 純 提 供 NAT 服 務, 那 麼 在 這 個 服 務 當 中, 比 較 重 要 的 就 屬 網 路 卡 而 已! 其 他 的 CPU RAM 硬 碟 等 硬 體 的 影 響 相 對 就 小 了 相 當 多! SAMBA ( 類 似 網 路 上 的 芳 鄰 功 能 ): 在 Windows 裡 面 可 以 很 輕 易 的 就 以 網 路 上 的 芳 鄰 來 分 享 彼 此 的 檔 案 資 料, 那 麼 Linux 要 如 何 與 Windows 分 享 呢? 呵 呵! 使 用 SAMBA 就 可 以 啦! 這 也 是 最 普 遍 的 file server ( 檔 案 伺 服 器 ) 由 於 分 享 的 資 料 量 可 能 較 大, 那 麼 對 於 系 統 的 網 路 卡 與 硬 碟 的 大 小 及 速 度 就 比 較 重 要, 如 果 您 針 對 不 同 的 使 用 者 提 供 檔 案 file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 伺 服 器 功 能, 那 麼 /home 可 以 考 慮 獨 立 出 來, 並 且 加 大 容 量 Mail ( 郵 件 伺 服 器 ): Linux 一 安 裝 完 畢 就 已 經 提 供 了 Sendmail 或 Postfix 的 郵 件 服 務! 由 於 我 們 如 果 向 外 面 的 公 司 申 請 免 費 的 E-Mail 信 箱, 了 不 起 容 量 大 致 上 到 20 MB, 但 是, 要 知 道 有 時 候 我 們 一 不 小 心 就 會 讓 郵 件 容 量 超 過 了 20 MB, 這 樣 一 來, 呵 呵, 您 的 免 費 信 箱 就 爆 了! 真 抱 歉... 但 是, 如 果 你 自 己 架 設 一 個 mail server 呢? 哈 哈! 哪 麼 你 的 信 箱 就 可 以 到 達 幾 GB 這 麼 大! 很 過 癮 吧! 在 mail server 上 面, 重 要 的 也 是 硬 碟 容 量 與 網 路 卡 速 度, 在 此 情 境 中, 也 可 以 將 /var 獨 立 出 來, 並 加 大 容 量 Web (WWW 伺 服 器 ): WWW 幾 乎 是 每 個 主 機 上 面 都 會 安 裝 的 一 個 套 件 了! 當 然, 要 推 銷 你 自 己 的 話, 那 麼 WWW 伺 服 器 是 絕 對 不 會 被 你 忘 掉 的! 在 Web server 上 面,CPU 的 等 級 有 時 候 不 能 太 低, 而 最 重 要 的 則 是 RAM 了! 要 增 加 WWW 系 統 的 穩 定 度, 提 升 RAM 是 一 個 不 錯 的 考 量 DHCP ( 提 供 自 動 取 得 IP 的 功 能 ): NAT 搞 定 之 後, 要 曉 得 的 是, 你 的 Client ( 用 戶 端 ) 每 一 部 都 需 要 經 過 設 定 才 能 上 網 ( 剛 剛 提 到 的 私 有 IP 的 概 念! )! 阿! 好 麻 煩! 那 麼 使 用 DHCP 就 可 以 改 善 這 個 問 題 囉! 呵 呵! Client 端 都 不 必 設 定 任 何 咚 咚, 馬 上 將 可 以 上 網 了! 快 樂 吧! 這 個 咚 咚 的 硬 體 要 求 可 以 不 必 很 高 囉 Proxy ( 代 理 伺 服 器 ): 這 也 是 常 常 會 安 裝 的 一 個 伺 服 器 軟 體, 尤 其 像 中 小 學 校 的 頻 寬 較 不 足 的 環 境 下, Proxy 將 可 有 效 的 解 決 頻 寬 不 足 的 問 題! 當 然, 你 也 可 以 在 家 裡 內 部 安 裝 一 個 Proxy 喔! 但 是, 這 個 伺 服 器 的 硬 體 要 求 可 以 說 是 相 對 而 言 最 高 的, 他 不 但 需 要 較 強 有 力 的 CPU 來 運 作, 對 於 硬 碟 的 速 度 與 容 量 要 求 也 很 高! 自 然, 既 然 提 供 了 網 路 服 務, 網 路 卡 則 是 重 要 的 一 環! FTP: FTP 的 功 能 是 真 的 很 好 啦! 但 是 對 於 撥 接 制 ADSL 使 用 者 來 說, 架 設 FTP 實 在 是 一 件 不 智 的 事 情! 因 為 對 你 的 頻 寬 影 響 太 大 了! 鳥 哥 相 當 不 建 議 架 設 FTP 的 啦! 尤 其 安 全 性 上 面 也 很 傷 腦 筋! 對 於 FTP 則 是 您 的 硬 碟 容 量 與 網 路 卡 好 壞 相 關 性 較 高 大 致 上 我 們 會 安 裝 的 伺 服 器 軟 體 就 是 這 一 些 囉! 假 設 您 需 要 NAT 的 服 務, 那 麼 通 常 會 建 議 安 裝 兩 塊 網 路 卡 在 您 的 主 機 上 面, 因 為 可 以 順 便 解 決 您 內 部 電 腦 的 安 全 問 題! 假 如 您 需 要 mail 與 Web 伺 服 器, 那 麼 就 建 議 申 請 DNS 或 者 是 直 接 申 請 免 費 的 動 態 DNS 系 統 的 domain name 囉! 如 果 您 需 要 Proxy 的 服 務, 那 麼 在 當 初 設 計 硬 碟 file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 規 劃 的 時 候, 就 要 小 心 硬 碟 的 分 割 了, 因 為 不 同 的 切 割 方 式 會 使 得 您 的 Proxy 效 能 有 差 異! 當 然 啦, 還 是 那 句 老 話, 目 前 我 們 這 本 書 裡 面 談 論 的, 還 是 以 Linux 基 礎 為 主, 鳥 哥 也 希 望 您 先 瞭 解 Linux 的 相 關 主 機 操 作 技 巧, 其 他 的 架 站, 未 來 再 談 吧! 而 上 面 列 出 的 各 項 服 務, 僅 是 提 供 給 您, 如 果 想 要 架 設 某 種 網 路 服 務 的 主 機 時, 您 應 該 如 何 規 劃 主 機 比 較 好! 主 機 硬 碟 的 主 要 規 劃 系 統 對 於 硬 碟 的 需 求 跟 剛 剛 提 到 的 主 機 開 放 的 服 務 有 關, 那 麼 除 了 這 點 之 外, 還 有 沒 有 其 他 的 注 意 事 項 呢? 當 然 有, 那 就 是 資 料 的 分 類 與 安 全 性 的 考 量 常 常 會 發 現 網 路 上 有 些 朋 友 在 問 我 的 Linux 主 機 因 為 跳 電 的 關 係, 造 成 不 正 常 的 關 機, 結 果 導 致 無 法 開 機, 這 該 如 何 是 好? 呵 呵, 幸 運 一 點 的 可 以 使 用 fsck 來 解 決 硬 碟 的 問 題, 麻 煩 一 點 的 可 能 還 需 要 重 新 安 裝 Linux 呢! 傷 腦 筋 吧! 另 外, 由 於 Linux 是 多 人 多 工 的 環 境, 因 此 很 可 能 上 面 已 經 有 很 多 人 的 資 料 在 其 中 了, 如 果 需 要 重 新 安 裝 的 話, 光 是 搬 移 與 備 份 資 料 就 會 瘋 掉 了! 所 以 硬 碟 的 分 割 考 量 是 相 當 重 要 的! 同 時, 硬 碟 的 規 劃 對 於 Linux 新 鮮 人 而 言, 那 將 是 造 成 您 頭 疼 的 主 要 兇 手 之 一! 因 為 硬 碟 的 分 割 技 巧 需 要 對 於 Linux 檔 案 結 構 有 相 當 程 度 的 認 知 之 後 才 能 夠 做 比 較 完 善 的 規 劃 的! 所 以 在 未 來 的 幾 個 章 節 當 中, 鳥 哥 將 會 著 重 在 這 方 面 的 探 討, 這 可 是 相 當 重 要 的 入 門 知 識 呢! 因 為 如 此, 所 以 特 別 建 議 Linux 新 鮮 人 先 只 切 兩 個 磁 區 就 好, 分 別 是 根 目 錄 / 與 Swap! 無 論 如 何, 底 下 還 是 說 明 一 下 基 本 硬 碟 分 割 的 模 式 吧! 最 簡 單 的 切 割 方 法 : Linux 安 裝 的 過 程 中, 至 少 要 有 兩 個 partition 才 行, 一 個 是 /, 另 一 個 則 是 虛 擬 記 憶 體 Swap, 如 果 你 的 硬 碟 很 小 ( 例 如 小 於 1GB 的 小 硬 碟 ), 那 麼 使 用 這 個 分 割 的 方 法 會 比 較 好! 但 是, 保 證 是 比 較 不 保 險 的 切 割 方 式 啦 ; 稍 微 麻 煩 一 點 的 方 式 : 在 預 設 的 情 況 下, 由 於 Linux 的 作 業 系 統 都 是 擺 在 /usr/ 當 中, 所 以 囉, 你 可 以 將 這 個 部 分 切 割 的 大 一 點, 另 外, 由 於 使 用 者 的 資 訊 都 是 在 /home 底 下, 因 此 這 個 也 可 以 大 一 些, 而 /var 底 下 是 記 錄 所 有 預 設 伺 服 器 的 登 錄 檔, 且 mail 與 WWW 預 設 的 路 徑 也 在 /var 底 下, 因 此 這 個 空 間 可 以 加 大 一 些 喔! 所 以, 需 要 的 目 錄 就 有 : / /usr /home /var Swap 以 鳥 哥 為 例, 通 常 我 會 希 望 我 的 郵 件 主 機 大 一 些, 因 此 我 的 /var 通 常 會 給 個 數 GB 的 大 小, 如 此 一 來 就 可 以 不 擔 心 會 有 郵 件 空 間 不 足 的 情 況 了! 另 外, 由 於 我 開 放 file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 SAMBA 服 務, 因 此 提 供 每 個 研 究 室 內 人 員 的 資 料 備 份 空 間, 所 以 囉, /home 所 開 放 的 空 間 也 很 大! 至 於 /usr/ 的 空 間, 大 概 只 要 給 2-3 GB 即 可! 凡 此 種 種 均 與 您 當 初 預 計 的 主 機 服 務 有 關! 因 此, 請 特 別 注 意 您 的 服 務 項 目! 然 後 才 來 進 行 硬 碟 的 規 劃 鳥 哥 說 : 關 於 練 習 機 的 安 裝 建 議 關 於 硬 體 方 面 一 般 來 說, 對 於 學 習 Linux 這 個 作 業 系 統, 最 麻 煩 也 最 重 要 的 地 方, 就 是 一 開 始 的 安 裝 了 很 多 朋 友 都 是 一 開 始 安 裝 Linux 就 遭 遇 到 困 擾, 導 致 沒 有 興 致 再 繼 續 往 下 來 學 習 Linux 造 成 這 樣 的 安 裝 困 擾, 很 多 都 是 因 為 朋 友 們 只 有 一 部 主 機, 而 在 還 沒 有 瞭 解 到 磁 碟 檔 案 系 統 的 運 作, 就 貿 然 的 進 行 多 重 開 機 的 規 劃, 導 致 系 統 不 小 心 被 損 毀, 進 而 不 想 繼 續 使 用 Linux 另 外 則 有 一 些 朋 友 是 利 用 類 似 VMWare 的 軟 體 來 學 習 Linux 但 是 因 為 VMWare 裡 面 的 硬 體 很 多 都 是 模 擬 的, 造 成 朋 友 們 不 知 道 該 如 何 分 辨 問 題 發 生 的 所 在, 而 無 法 繼 續 學 習 有 鑑 於 此, 因 此, 鳥 哥 強 烈 的 建 議 您, 務 必 擁 有 一 台 主 機, 而 且 內 含 一 顆 僅 有 Linux 作 業 系 統 的 硬 碟, 以 鳥 哥 自 己 為 例, 我 的 主 機 上 面 有 一 個 抽 取 式 硬 碟 盒, 而 我 有 兩 顆 分 離 的 硬 碟, 分 別 安 裝 Windows 與 Linux 系 統, 要 使 用 Linux 時, 就 插 入 Linux 硬 碟, 使 用 Windows 時, 就 插 入 Windows 硬 碟, 如 此 一 來, 主 機 很 單 純, 而 抽 換 也 很 快 速, 不 需 要 對 機 殼 拆 拆 裝 裝 的, 很 方 便! 提 供 給 您 做 為 參 考 關 於 硬 碟 分 割 方 面 此 外, 在 硬 碟 的 分 割 方 面, 鳥 哥 也 建 議 新 手 們, 先 暫 時 以 / 及 swap 兩 個 分 割 即 可, 而 且, 還 要 預 留 一 個 未 分 割 的 空 間 喔! 因 為 我 們 是 練 習 機, 暫 時 不 會 提 供 網 路 服 務, 所 以 只 要 有 / 及 Swap 提 供 給 我 們 進 行 安 裝 Linux 的 空 間 即 可 不 過, 我 們 未 來 會 針 對 系 統 的 磁 碟 部 分 進 行 分 割 的 練 習 以 及 磁 碟 配 額 (quota) 的 練 習, 因 此, 預 留 一 個 磁 碟 空 間 是 必 須 要 的! 舉 例 來 說, 如 果 您 有 一 個 20GB 的 硬 碟, 那 麼 建 議 您, 分 15 GB 給 / 來 安 裝 Linux, 512 MB 給 Swap, 另 外 的 4GB 左 右 不 要 分 割, 先 保 留 下 來, 未 來 我 們 可 以 繼 續 來 練 習 喔!^_^ 關 於 軟 體 方 面 另 一 個 容 易 發 現 問 題 的 地 方, 在 於 使 用 者 常 常 會 找 不 到 某 些 指 令, 導 致 無 法 按 照 書 上 的 說 明 去 執 行 某 些 指 令 因 為 無 法 執 行 指 令, 所 以 就 會 一 直 給 他 放 在 那 邊, 不 會 繼 續 往 下 學 習 啊! 真 是 可 惜! 為 什 麼 會 找 不 到 指 令 呢? 很 簡 單 啊! 就 是 因 為 沒 有 安 裝 該 套 件 ( 軟 體 ) 啊! 所 以, 強 烈 的 建 議 新 手, 務 必 將 所 有 的 套 件 都 給 他 安 裝 上 去! 也 就 是 選 擇 安 裝 所 有 套 件 就 是 了 file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 當 然 啦, 上 面 提 到 的 都 是 針 對 練 習 機 而 言 喔! 如 果 是 您 自 己 預 計 要 上 線 的 Linux 主 機, 那 就 不 建 議 按 照 上 面 的 說 明 安 裝 了! 切 記 切 記! 鳥 哥 的 兩 個 實 際 案 例 這 裡 說 一 下 鳥 哥 曾 經 規 劃 過 的 兩 個 範 例, 要 先 聲 明 的, 鳥 哥 的 範 例 不 見 得 是 最 好 的, 因 為 每 個 人 的 考 量 不 同, 我 只 是 提 供 相 對 可 能 較 佳 的 方 案 喔! 案 例 一 : 一 般 家 庭 使 用 的 小 型 Linux 主 機 : 提 供 服 務 : 提 供 家 裡 的 五 部 電 腦 ADSL 連 線 分 享 同 時 架 設 NAT Server Mail Server WWW Server SAMBA 等 服 務 此 外, 為 多 重 開 機 系 統 架 設 硬 體 : CPU 使 用 P-166; 記 憶 體 大 小 為 64MB 的 RAM; 網 路 卡 為 螃 蟹 卡 ; 硬 碟 機 容 量 為 3.2 GB; 顯 示 卡 選 擇 S3 Virge VGA 安 裝 完 畢 之 後 拔 掉 CD-ROM 滑 鼠 鍵 盤 螢 幕 等 等 配 備! 只 剩 下 網 路 線 及 電 源 線 跟 主 機 連 接! 硬 碟 切 割 : 提 供 500 MB 給 Windows 98; 1GB 給 /var ( 特 別 針 對 郵 件 設 定 ); 100 MB 給 Swap; 剩 下 的 空 間 都 給 / 案 例 二 : 提 供 約 100 部 以 上 PC 的 Proxy 主 機 設 定 : 提 供 服 務 : 提 供 整 個 單 位 的 Proxy 伺 服 器 服 務, 同 時 提 供 單 位 內 相 關 人 員 的 數 值 模 式 模 擬 ( 這 個 模 式 很 耗 系 統 資 源!) 架 設 硬 體 : 使 用 雙 CPU 架 構 ( 因 為 需 要 大 量 的 運 算 ); 使 用 GeForce 2 MX 顯 示 卡 ( 因 為 數 值 模 式 模 擬 完 畢 之 後, 需 要 將 圖 示 顯 示 在 螢 幕 上 除 錯 ); 使 用 30 GB 硬 碟 兩 顆 ( 數 值 模 式 所 需 的 儲 存 Proxy 所 需 要 的 空 間 ); 使 用 3COM 網 路 卡 ( Proxy 呦!); 使 用 512 MB RAM 硬 碟 切 割 : 6 GB 給 Proxy (/proxy1, /proxy2, /proxy3 各 佔 2 GB); 1GB 給 Swap ( 數 值 模 式 需 要 ); 5 GB 給 /; file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 剩 下 的 都 給 /disk1 及 /disk2 在 上 面 的 案 例 中, 案 例 一 是 屬 於 小 規 模 的 主 機 系 統, 因 此 只 要 使 用 預 計 被 淘 汰 的 配 備 即 可 進 行 主 機 的 架 設! 唯 一 可 能 需 要 購 買 的 大 概 是 網 路 卡 吧! 呵 呵!; 而 在 案 例 二 中, 由 於 我 需 要 大 量 的 數 值 運 算, 並 且 由 於 提 供 了 很 多 電 腦 的 Proxy 服 務, 因 此 就 需 要 較 大 的 硬 碟 空 間 與 較 佳 的 網 路 卡 來 搭 配 了! 這 些 工 作 請 先 記 得, 因 為 下 一 章 節 在 實 際 安 裝 Linux 之 前, 您 得 先 進 行 主 機 的 規 劃 呀! 關 於 大 硬 碟 隨 著 時 代 的 演 變, 在 2005 年 底 的 目 前, 呵 呵 ~ 個 人 電 腦 上 面 的 硬 碟 容 量 竟 然 都 已 經 高 達 160GB 以 上 了! 這 麼 大 的 硬 碟 用 起 來 當 然 是 很 爽 快 的 啦 ~ 不 過, 也 有 一 些 問 題 的 ~ 那 就 是 ~ 開 機 的 問 題 ~ 因 為 Linux 的 開 機 程 式 可 能 會 找 不 到 BIOS 提 供 的 硬 碟 資 訊, 這 個 不 是 Linux 的 問 題, 而 是 BIOS 本 身 無 法 支 援 這 麼 大 的 硬 碟 的 問 題 ~ 啊! 真 困 擾 ~ 雖 然 Linux 的 核 心 會 取 代 BIOS 而 成 功 的 偵 測 到 大 硬 碟, 不 過, 如 果 您 將 開 機 磁 區 安 裝 在 > 1024 磁 柱 以 後, 那 麼 很 可 能 你 的 Linux 就 會 變 成 可 以 安 裝, 但 是 無 法 開 機 順 利 使 用 啦 ~ 那 怎 麼 辦? 最 簡 單 的 方 法 就 是 將 開 機 磁 區 規 範 在 小 於 1024 以 內 ~ 即 可! 那 怎 麼 做 到 呢? 很 簡 單, 在 進 行 安 裝 的 時 候, 規 劃 出 三 個 磁 區, 分 別 是 : / /boot swap 那 個 /boot 只 要 給 100M Bytes 以 內 即 可! 而 且 /boot 要 放 在 整 塊 硬 碟 的 最 前 面! 這 部 份 您 先 有 印 象 與 概 念 即 可, 未 來 我 們 談 到 開 機 流 程 時, 會 再 加 強 說 明 的! ^_^ 本 章 習 題 練 習 ( 要 看 答 案 請 將 滑 鼠 移 動 到 答 : 底 下 的 空 白 處, 按 下 左 鍵 圈 選 空 白 處 即 可 察 看 ) 請 簡 略 說 明 一 部 電 腦 主 機 裡 面, 大 概 有 哪 些 基 本 的 硬 體? 一 部 電 腦 主 機 機 殼 內, 一 定 都 有 主 機 板, 主 機 板 上 面 安 插 了 CPU 主 記 憶 體 及 顯 示 卡 等 等 ; 另 外 還 有 排 線 與 硬 碟 光 碟 軟 碟 等 等 連 接 ; 主 機 機 殼 的 背 板 則 有 輸 出 輸 入 的 連 接 埠, 例 如 滑 鼠 鍵 盤 印 表 機 等 等 ; 此 外, 還 有 一 些 PCI 插 槽, 例 如 網 路 卡 音 效 卡 等 等 ( 有 的 是 主 機 晶 片 組 內 建 的 ) 一 部 電 腦 主 機 是 否 只 要 CPU 夠 快, 整 體 速 度 就 會 提 高? file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 不 見 得! 一 部 電 腦 系 統 的 速 度 與 整 體 電 腦 系 統 的 運 作 有 關, 每 個 元 件 皆 會 影 響 電 腦 的 速 度! 這 包 括 了 記 憶 體 CPU AGP 與 顯 示 卡 速 度, 硬 碟 的 速 度 以 及 其 他 相 關 的 輸 入 輸 出 介 面 等 等! 所 以, 如 果 您 的 系 統 是 升 級 的, 那 麼 還 得 必 須 要 注 意 各 個 舊 元 件 是 否 可 以 保 留, 或 者 舊 的 可 以 用 的 元 件 必 須 要 捨 棄! 什 麼 是 CPU 的 外 頻 與 倍 頻? CPU 時 脈 的 計 算 當 中, 有 所 謂 的 外 頻 與 倍 頻, 真 正 的 時 脈 需 要 將 兩 者 相 乘 才 是! 比 較 重 要 的 是 CPU 的 外 頻 了! 因 為 系 統 整 體 運 作 的 頻 率 便 是 依 據 這 個 外 頻 來 進 行 各 個 元 件 的 溝 通 的! 一 般 而 言, 目 前 比 較 流 行 的 屬 於 133 這 個 外 部 頻 率, 至 於 PCI 則 是 這 個 頻 率 的 1/4 倍, 亦 即 是 33 MHz, AGP 則 是 66 ( 133/2 ), 而, 由 於 目 前 的 技 術 越 來 越 高 超, CPU 可 以 透 過 特 殊 的 技 術 來 將 外 頻 調 高 為 133 的 兩 倍, 亦 即 是 266, RAM 也 可 以 經 過 DDR 的 技 術 來 將 133 加 倍 成 為 266, 這 些 技 術 都 有 助 於 速 度 上 面 的 助 益! 什 麼 是 I/O 位 址 與 IRQ 岔 斷? 主 機 板 是 負 責 各 個 電 腦 系 統 元 件 之 間 的 溝 通 的, 但 是 電 腦 的 東 西 又 太 多 了, 又 有 輸 出 輸 入 又 有 不 同 的 儲 存 裝 置, 主 機 板 晶 片 組 怎 麼 知 道 如 何 負 責 溝 通 吶? 這 個 時 候 就 需 要 用 到 所 謂 的 I/O 與 IRQ 囉!I/O 有 點 類 似 門 牌 位 址 啦, 每 個 裝 置 都 有 他 自 己 的 位 址, 一 般 來 說, 不 能 有 兩 個 裝 置 使 用 同 一 個 I/O 位 址, 否 則 系 統 就 會 不 曉 得 該 如 何 運 作 不 過, 萬 一 還 是 造 成 不 同 的 裝 置 使 用 了 同 一 個 I/O 而 造 成 I/O 衝 突 時, 就 需 要 手 動 的 設 定 一 下 各 個 裝 置 的 I/O 囉! 而 除 了 I/O 位 址 之 外, 還 有 個 IRQ 岔 斷 這 個 咚 咚, 如 果 I/O 想 成 是 門 牌 號 碼 的 話, 那 麼 IRQ 就 可 以 想 成 是 各 個 門 牌 連 接 到 郵 件 中 心 ( CPU ) 的 專 門 路 徑 囉!IRQ 可 以 用 來 溝 通 CPU 與 各 個 裝 置 啦! 目 前 IRQ 只 有 15 個, 如 果 你 的 周 邊 介 面 太 多 時, 可 能 就 會 不 夠 用, 這 個 時 候 你 可 以 選 擇 將 一 些 沒 有 用 到 的 周 邊 介 面 關 掉, 以 空 出 一 些 IRQ 來 給 真 正 需 要 使 用 的 介 面 喔! Linux 對 於 硬 體 的 要 求 需 要 的 考 慮 為 何? 是 否 一 定 要 很 高 的 配 備 才 能 安 裝 Linux? Linux 對 於 硬 體 的 要 求 是 因 服 務 種 類 服 務 範 圍 及 主 機 的 角 色 而 定 的 例 如 一 部 專 門 用 來 運 算 數 值 解 析 的 Linux 運 算 工 作 站, 需 要 比 較 強 大 的 CPU 與 足 夠 的 RAM 來 進 行 工 作, 至 於 一 般 家 庭 用 的 僅 用 來 做 為 ADSL 寬 頻 分 享 器 的 Linux 主 機, 則 只 要 586 等 級 的 電 腦, 甚 至 486 系 列 的 等 級, 就 可 以 很 順 利 的 運 行 Linux 了 一 部 好 的 主 機 在 安 裝 之 前, 最 好 先 進 行 規 劃, 哪 些 是 必 定 需 要 注 意 的 Linux 主 機 規 劃 事 項? 依 據 上 一 題 的 答 案 內 容, 我 們 知 道 Linux 對 於 硬 體 的 要 求 是 因 地 制 宜 地! 所 以, 要 進 行 Linux 的 安 裝 之 前, 一 定 需 要 規 劃 Linux 主 機 的 定 位 與 角 色! 因 此, Linux 的 主 機 是 否 開 放 網 路 服 務? 這 部 主 機 的 未 來 規 劃 中, 是 否 需 要 進 行 大 量 的 運 算? 這 部 主 機 是 否 需 要 提 供 很 大 的 硬 碟 容 量 來 服 務 客 戶 端 的 使 用? 這 部 主 機 預 計 開 放 的 網 路 服 務 內 容? 等 等, 都 是 需 要 經 過 考 量 的, 尤 其 未 來 的 套 件 選 擇 安 裝 上 面, 更 需 要 依 據 這 些 規 劃 來 設 定 請 寫 下 目 前 您 使 用 的 個 人 電 腦 中, 各 項 配 備 的 主 要 等 級 與 廠 商 或 晶 片 組 名 稱 : 主 機 板 : CPU: file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 記 憶 體 大 小 : 硬 碟 容 量 : 顯 示 卡 : 網 路 卡 : 請 寫 下 下 列 配 備 中, 在 Linux 的 裝 置 代 號 : IDE 硬 碟 : CDROM: 印 表 機 : 軟 碟 機 : 網 路 卡 : IDE 硬 碟 :/dev/hd[a-d] CDROM:/dev/cdrom 印 表 機 :/dev/lp[0-2] 軟 碟 機 :/dev/fd[0-1] 網 路 卡 :/dev/eth[0-n] 如 果 您 的 系 統 常 常 當 機, 又 找 不 到 方 法 解 決, 您 可 以 朝 硬 體 的 那 個 方 向 去 搜 尋? 如 果 軟 體 沒 有 問 題 的 話, 那 麼 當 然 發 生 當 機 的, 可 能 就 是 硬 體 的 問 題 了 1. 可 以 先 檢 測 系 統 有 沒 有 超 頻? 2. 再 來 則 是 查 閱 當 系 統 運 作 時, 系 統 的 機 殼 內 溫 度 會 不 會 過 高? 因 為 過 高 的 溫 度 常 常 會 造 成 當 機 3. 再 者, 檢 查 一 下 CPU 的 溫 度, 這 也 很 重 要 4. 再 來, 則 是 檢 查 是 否 插 了 多 條 的 記 憶 體, 因 為 不 同 廠 牌 的 記 憶 體 混 插 很 容 易 造 成 系 統 不 穩 定 5. 電 源 供 應 器 是 否 合 乎 標 準? 這 些 都 可 以 進 行 檢 測 喔! 目 前 在 個 人 電 腦 上 面 常 見 的 顯 示 卡 介 面 有 哪 兩 個? AGP 與 PCI-Express 兩 種 目 前 在 個 人 電 腦 上 面 常 見 的 硬 碟 與 主 機 板 的 連 接 介 面 有 哪 兩 個? 有 早 期 的 IDE 介 面 與 最 近 的 SATA 介 面, 購 買 時 要 分 的 很 清 楚! 硬 碟 上 面 有 所 謂 的 跳 針 (Jump), 他 是 幹 嘛 用 的? 由 於 一 條 IDE 或 SATA 排 線 上 面 有 兩 個 裝 置 的 插 入 口, 我 們 必 須 要 藉 由 Jump 來 決 定 哪 一 個 裝 置 先 被 取 用 目 前 有 Slave/Master/Cable select 等 請 上 網 查 詢, 例 如 Tom's hardware guide (http://www.big5.tomshardware.com/) 選 擇 一 款 主 機 板 晶 片 組, 說 明 晶 片 組 與 CPU/RAM/VGA/Hard disk 等 等 介 面 互 相 溝 通 的 相 關 資 訊 參 考 資 料 file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- Linux 主 機 的 規 劃 SPFdisk http://spfdisk.sourceforge.net/ 2002/04/08: 第 一 次 完 成 吧? 2003/02/02: 重 新 編 排 與 加 入 FAQ 2005/06/04: 將 舊 的 文 章 移 動 到 這 裡 2005/06/12: 風 格 修 訂 之 外, 新 增 了 Linux 練 習 機 硬 體 選 擇 與 軟 體 安 裝 的 建 議 2005/06/15: 感 謝 上 奇 編 輯 Tim 兄 來 信 告 知 一 些 可 能 有 爭 議 的 部 分! 包 括 AthlonXP 已 被 Sempron 取 代, 已 經 修 訂! 2002/02/03 以 來 統 計 人 數 本 網 頁 主 要 以 firefox 配 合 解 析 度 1024x768 作 為 設 計 依 據 http://linux.vbird.org is designed by VBird during 2001-2007. Aerosol Lab. file:///c /Documents and Settings/Administrator/ 桌 面 /0130designlinux.
鳥 哥 的 Linux 私 房 菜 -- 一 個 簡 單 的 spfdisk 分 割 硬 碟 實 例 鳥 哥 的 Linux 私 房 菜 為 取 得 較 佳 瀏 覽 結 果, 請 愛 用 firefox 瀏 覽 本 網 頁 切 換 解 析 度 為 800x600 一 個 簡 單 的 SPFdisk 分 割 實 例 最 近 更 新 日 期 :2005/06/12 磁 碟 分 割 是 個 很 重 要 的 學 習 知 識! 尤 其 是 在 您 原 本 的 硬 碟 空 間 不 足 了, 或 者 是 新 增 硬 碟 了, 或 者 是 為 了 增 加 磁 碟 效 能 而 必 須 要 規 劃 出 比 較 適 當 大 小 的 磁 碟 空 間 等 等 市 面 上 很 多 工 具 可 以 讓 我 們 來 進 行 磁 碟 的 分 割 的, 不 過, 都 需 要 錢 ~ 當 然, 您 也 可 以 使 用 Linux 的 fdisk 程 式, 不 過, 純 文 字 介 面 的 方 式, 可 能 您 也 不 容 易 學 ~ 相 較 之 下, 由 台 灣 人 自 行 開 發 的 spfdisk (special fdisk) 程 式, 不 但 純 中 文 介 面, 使 用 圖 形 介 面 的 顯 示, 耗 用 的 系 統 資 源 又 少! 還 可 以 作 為 開 機 管 理 程 式! 太 完 美 了! 趕 緊 來 看 看! 1. 什 麼 是 硬 碟 分 割? 2. SPFdisk 2.1 刪 除 原 有 分 割 2.2 建 立 主 要 分 割 磁 區 2.3 儲 存 分 割 表 2.4 格 式 化 硬 碟 3. 針 對 本 文 的 建 議 :http://phorum.vbird.org/viewtopic.php?t=23875 什 麼 是 硬 碟 分 割 (Partition) 在 開 始 進 行 Linux 之 前, 應 該 有 很 多 的 工 作 要 做 的! 最 重 要 的 就 如 同 前 面 Linux 主 機 規 劃 當 中 說 的, 要 如 何 規 劃 硬 碟 呢?! 到 底 要 如 何 分 割 硬 碟 才 好! 是 要 將 swap ( 虛 擬 記 憶 體 ) 規 劃 的 大 一 點 比 較 好? 或 者 是 只 要 一 個 根 目 錄 就 可 以 了 呢? 另 外, 如 果 我 的 硬 碟 上 面 已 經 有 Windows 系 統, 我 又 不 想 要 將 Windows 殺 掉, 想 使 用 多 重 開 機 來 安 裝 我 的 多 個 作 業 系 統, 那 要 怎 麼 做 呢?! 況 且, 由 於 DOS 的 fdisk 不 認 識 Linux 的 檔 案 格 式, 那 麼 我 要 如 何 將 Linux 完 全 的 從 我 的 硬 碟 中 移 除 呢?! 呵 呵! 這 裡 就 來 說 一 下 該 如 何 是 好 吧! 由 於 不 同 的 作 業 系 統 所 使 用 的 檔 案 系 統 架 構 (file system) 並 不 相 同, 有 些 甚 至 是 不 相 容 的, 例 如 Windows 所 使 用 的 是 FAT 表, 而 Linux 所 使 用 的 是 ext2 這 個 檔 案 格 式, 這 兩 種 格 式 完 全 不 相 同, 在 Linux 底 下 還 可 以 藉 由 編 輯 核 心 來 支 援 Windows 的 FAT 檔 案 格 式, 但 是 Windows 則 完 全 無 法 讀 取 Linux 的 檔 案 格 式 了! 此 外, Windows 使 用 的 磁 碟 分 割 工 具 fdisk, 很 抱 歉 的, 並 不 認 識 Linux 的 ext2 這 個 檔 案 格 式, 所 以 如 果 您 有 一 棵 已 經 安 裝 有 Linux 系 統 的 硬 碟, 呵 呵, 使 用 Windows 的 fdisk 是 完 全 無 法 分 割 這 塊 硬 碟 的! 那 麼 到 底 什 麼 是 硬 碟 分 割 呢? 真 的 要 將 硬 碟 用 刀 子 割 一 割 嗎?! 不 是 這 樣 的, 實 際 上, 硬 碟 是 以 sectors( 磁 區 ), cylinder( 磁 柱 ), partitions( 分 割 槽 ) 這 些 東 西 來 作 為 儲 存 的 單 位, 而 最 底 層 的 實 體 硬 碟 單 位 就 是 sectors 了, 通 常 一 個 sector 大 約 是 512 bytes 左 右 不 過, 在 磁 碟 進 行 格 式 化 的 時 候, 可 以 將 數 個 sector 格 式 化 成 為 一 個 邏 輯 磁 區 (logical block), 通 稱 為 block blocks 為 一 個 檔 案 系 統 (filesystem) 存 取 的 最 小 量 那 麼 partition 是 什 麼? 簡 單 的 來 說, 你 知 道 你 的 Windows 有 所 謂 的 C:, D: 是 吧! 其 實 他 們 是 同 一 顆 硬 碟, 只 是 利 用 磁 碟 分 割 表 (partition table) 來 將 實 體 的 硬 碟 規 劃 出 不 同 的 區 塊 舉 個 例 子 說, 假 設 你 的 硬 碟 總 共 有 1024 個 cylinder ( 利 用 blocks 結 合 而 成 的 硬 碟 計 算 單 位 ), 那 麼 你 在 這 塊 硬 碟 的 檔 頭 地 方 ( 就 是 磁 碟 分 割 表, 可 以 想 成 要 讀 取 一 塊 硬 碟 時 最 先 讀 取 的 地 方 ) 如 果 寫 入 你 的 partitions 共 有 兩 塊, 一 塊 是 primary 一 塊 是 extended, 而 且 extended 也 只 規 劃 成 一 個 logical, 那 麼 你 的 硬 碟 就 是 只 有 兩 個 槽 啦 ( 對 於 系 統 來 說, 真 正 能 使 用 的 有 Primary 與 Logical 的 磁 區, Extended 並 無 法 直 接 使 用 的! 需 要 再 加 以 規 劃 成 為 Logical 才 行! ), 而 且 在 partition table 也 會 記 錄 primary 是 由 第 n1 個 cylinder 到 第 n2 個 cylinder, 所 以 囉, 這 樣 子 一 來, 當 系 統 要 去 讀 取 primary ( 就 是 c 槽 ) 的 時 後, 就 只 會 在!n1~n2 之 間 的 實 file:///c /Documents and Settings/Administrator/ 桌 面 /0140spfdisk.php.htm (1 of 23)2
鳥 哥 的 Linux 私 房 菜 -- 一 個 簡 單 的 spfdisk 分 割 硬 碟 實 例 體 硬 碟 當 中 活 動 囉! 基 本 上, Windows 98 系 統 中 的 Fdisk 這 支 程 式 僅 支 援 一 個 primary 與 一 個 extended, 其 中, extended 可 以 再 細 分 成 多 個 logical 的 硬 碟 槽 NT 很 抱 歉, 小 弟 不 熟, 所 以 就 不 提 了! 那 麼 Linux 呢? 嗯! 基 本 上 最 多 可 以 有 4 個 primary 的 硬 碟, 而 可 以 支 援 到 3 個 primary 與 一 個 extended, 其 中, extended 若 再 細 分 成 logical 的 話, 則 全 部 primary + extended + logical 應 該 可 以 支 援 到 64 個 之 多 底 下 我 們 將 以 spfdisk 這 個 全 中 文 介 面 的 fdisk 磁 碟 分 割 工 具 來 介 紹 如 何 分 割 硬 碟!( 註 : 更 多 詳 細 的 磁 碟 與 磁 碟 分 割 資 訊, 可 以 參 考 SPFdisk 的 官 方 網 站 喔! 在 最 底 下 的 參 考 資 料 當 中 有 提 供 連 結 呢!) 硬 碟 分 割 ==> SPFdisk SPFdisk 是 一 套 由 國 人 開 發 完 成 的 全 中 文 介 面 的 硬 碟 分 割 工 具, 他 要 比 微 軟 出 的 Fdisk 功 能 強 多 了, 他 的 好 處 有 : 全 中 文 介 面 讓 你 一 定 可 以 看 的 懂 之 外, 簡 單 的 類 圖 形 介 面 可 以 讓 你 輕 易 的 進 行 硬 碟 分 割 ; 除 此 之 外, 這 套 軟 體 的 DOS 工 具 內 的 格 式 化 工 具 格 式 化 硬 碟 的 速 度 真 是 DOS 比 不 上 的, 我 格 式 化 一 個 30GB 的 硬 碟 不 用 十 秒 就 可 以 格 式 化 完 全! 另 外, 其 他 的 優 點 我 在 此 也 不 多 說 了, 若 有 需 要 你 可 以 自 行 自 一 些 搜 尋 網 站 下 載 最 新 的 程 式, 或 從 這 裡 下 載 鳥 哥 有 的 程 式, 不 過 可 能 舊 一 點 另 外, 由 於 DOS 的 Fdisk 並 不 認 識 Linux 的 分 割 表, 所 以 用 DOS 的 Fdisk 是 無 法 將 Linux 的 分 割 表 去 除 的 因 此, 你 要 刪 除 Linux 的 分 割 表, 只 有 兩 個 比 較 快 的 方 法, 一 個 是 以 Linux 直 接 再 分 割, 一 個 則 是 使 用 SPfdisk 分 割 啦! Tips: 由 於 您 正 在 閱 讀 的 這 個 頁 面 的 影 像 檔 案 很 大, 有 時 候 會 有 沒 辦 法 顯 示 的 情 況 發 生, 這 時 請 在 畫 面 上 按 滑 鼠 右 鍵, 再 選 擇 顯 示 圖 片 這 個 選 項, 即 可 顯 示 畫 面 啦! 硬 碟 分 割 主 要 可 分 為 下 面 幾 個 步 驟 : 1. 將 舊 有 的 分 割 表 刪 除 ; 2. 建 立 新 的 主 分 割 及 擴 充 分 割 ( 若 有 需 要 的 話 ); 3. 貯 存 分 割 表 ; 4. 以 DOS 工 具 格 式 化 以 分 割 的 硬 碟 1. 刪 除 原 有 的 分 割 : 假 設 你 的 主 機 中 沒 有 任 何 系 統 存 在, 則 請 以 Windows98 製 作 開 機 片 後, 將 spfdisk 拷 貝 至 開 機 片 以 此 磁 片 開 機 之 後, 執 行 : A:\>spfdisk 會 出 現 如 下 歡 迎 畫 面 file:///c /Documents and Settings/Administrator/ 桌 面 /0140spfdisk.php.htm (2 of 23)2
鳥 哥 的 Linux 私 房 菜 -- 一 個 簡 單 的 spfdisk 分 割 硬 碟 實 例 按 任 意 鍵 後 出 現 下 面 畫 面 : file:///c /Documents and Settings/Administrator/ 桌 面 /0140spfdisk.php.htm (3 of 23)2
鳥 哥 的 Linux 私 房 菜 -- 一 個 簡 單 的 spfdisk 分 割 硬 碟 實 例 以 方 向 鍵 移 動 游 標 至 硬 碟 分 割 工 具 按 Enter 鍵 後 會 出 現 畫 面 如 下 : file:///c /Documents and Settings/Administrator/ 桌 面 /0140spfdisk.php.htm (4 of 23)2
鳥 哥 的 Linux 私 房 菜 -- 一 個 簡 單 的 spfdisk 分 割 硬 碟 實 例 這 是 向 你 詢 問 是 否 需 要 使 用 FAT32 的 檔 案 系 統, 由 於 Windows 98 支 援 的 長 檔 名 及 相 關 的 檔 案 型 態 是 以 FAT32 為 準, 所 以 當 然 按 Y! 按 了 Y 之 後 會 出 現 硬 碟 的 資 訊, 如 下 所 示 : file:///c /Documents and Settings/Administrator/ 桌 面 /0140spfdisk.php.htm (5 of 23)2
鳥 哥 的 Linux 私 房 菜 -- 一 個 簡 單 的 spfdisk 分 割 硬 碟 實 例 因 為 我 是 在 我 原 有 的 機 器 上 執 行 這 個 程 式, 所 以 會 有 兩 顆 硬 碟, 如 果 你 的 系 統 只 有 一 顆 硬 碟 的 話, 則 只 會 顯 示 你 有 的 硬 碟 資 料, 在 上 圖 中,1.19GB 的 硬 碟 其 總 磁 柱 僅 有 621 單 位, 比 可 開 機 磁 區 範 圍 (0 ~ 1023) 小 得 多, 所 以 可 以 隨 意 分 割 將 游 標 以 方 向 鍵 移 動 至 1.19GB 這 顆 硬 碟 後, 按 Enter : file:///c /Documents and Settings/Administrator/ 桌 面 /0140spfdisk.php.htm (6 of 23)2
鳥 哥 的 Linux 私 房 菜 -- 一 個 簡 單 的 spfdisk 分 割 硬 碟 實 例 因 為 這 顆 硬 碟 之 前 被 我 灌 過 Linux, 所 以 會 顯 示 Linux 的 磁 區 劃 分 情 況 上 面 的 意 義 為 : 啟 動 : 由 於 系 統 開 機 時 會 去 先 去 找 分 割 表, 由 分 割 表 所 設 定 的 可 開 機 磁 區 進 行 開 機 程 序, 因 此 若 這 個 磁 區 為 開 機 磁 區, 則 啟 動 項 目 會 有 一 個 心 型 的 符 號 存 在! 起 始 磁 柱 與 結 束 磁 柱 : 這 一 個 被 分 割 的 磁 區 的 開 始 與 結 束 磁 區 MBytes: 這 個 磁 區 的 硬 碟 容 量 系 統 ID 與 系 統 種 類 : 這 一 個 分 割 表 的 類 型 因 為 這 是 Linux 的 分 割 類 型, 所 以 其 ID 顯 示 為 83, 若 是 FAT32 的 話, 則 為 0b 將 游 標 以 方 向 鍵 移 動 至 這 個 磁 區 後, 按 Enter : file:///c /Documents and Settings/Administrator/ 桌 面 /0140spfdisk.php.htm (7 of 23)2
鳥 哥 的 Linux 私 房 菜 -- 一 個 簡 單 的 spfdisk 分 割 硬 碟 實 例 在 這 個 畫 面 中, 將 游 標 以 方 向 鍵 移 動 至 刪 除 分 割 這 個 項 目, 並 按 下 Enter : file:///c /Documents and Settings/Administrator/ 桌 面 /0140spfdisk.php.htm (8 of 23)2
鳥 哥 的 Linux 私 房 菜 -- 一 個 簡 單 的 spfdisk 分 割 硬 碟 實 例 出 現 此 畫 面 後, 確 定 要 刪 除 這 個 分 割 就 按 [Y] 是 這 個 項 目 file:///c /Documents and Settings/Administrator/ 桌 面 /0140spfdisk.php.htm (9 of 23)2
鳥 哥 的 Linux 私 房 菜 -- 一 個 簡 單 的 spfdisk 分 割 硬 碟 實 例 刪 除 分 割 之 後 你 的 硬 碟 中 就 沒 有 分 割 表 的 存 在 了, 所 以 這 個 硬 碟 的 系 統 種 類 則 變 成 了 未 規 劃 2. 建 立 主 要 分 割 磁 區 : 在 上 面 的 畫 面 中, 按 下 Enter 鍵, 會 出 現 下 面 畫 面 file:///c /Documents and Settings/Administrator/ 桌 面 /0140spfdisk.php.htm (10 of 23)
鳥 哥 的 Linux 私 房 菜 -- 一 個 簡 單 的 spfdisk 分 割 硬 碟 實 例 由 於 這 一 顆 硬 碟 的 分 割 表 被 刪 除 了, 所 以 系 統 ID 與 刪 除 分 割 被 取 消 了 這 時 按 下 建 立 分 割 會 出 現 如 下 畫 面 : file:///c /Documents and Settings/Administrator/ 桌 面 /0140spfdisk.php.htm (11 of 23)
鳥 哥 的 Linux 私 房 菜 -- 一 個 簡 單 的 spfdisk 分 割 硬 碟 實 例 然 後 選 擇 建 立 主 分 割, 那 何 謂 主 分 割 與 擴 充 分 割 呢? 所 謂 的 主 分 割 在 windows 系 統 下 即 是 C 槽 啦! 但 是 擴 充 分 割 並 非 邏 輯 分 割, 這 裡 要 注 意 一 下, 所 謂 的 邏 輯 分 割 是 包 含 在 擴 充 分 割 中 的, 例 如 當 你 的 擴 充 分 割 共 有 10GB 但 是 你 想 將 之 分 為 兩 槽, 則 可 以 使 用 邏 輯 分 割 將 擴 充 分 割 分 為 兩 槽, 這 兩 槽 即 稱 為 邏 輯 分 割 所 以 這 裡 要 注 意 啦, 建 立 擴 充 分 割 的 時 候 就 要 選 擇 配 置 整 個 區 域 啦! 好! 下 一 步 按 下 建 立 主 分 割 : file:///c /Documents and Settings/Administrator/ 桌 面 /0140spfdisk.php.htm (12 of 23)
鳥 哥 的 Linux 私 房 菜 -- 一 個 簡 單 的 spfdisk 分 割 硬 碟 實 例 這 裡 會 問 你 是 否 要 將 整 個 硬 碟 分 割 為 僅 有 一 個 磁 碟 區? 由 於 我 們 要 將 硬 碟 分 為 兩 槽, 所 以 這 裡 當 然 選 擇 [N] 否 啦! file:///c /Documents and Settings/Administrator/ 桌 面 /0140spfdisk.php.htm (13 of 23)
鳥 哥 的 Linux 私 房 菜 -- 一 個 簡 單 的 spfdisk 分 割 硬 碟 實 例 由 於 你 選 擇 了 不 要 配 置 整 個 區 域 為 一 塊 磁 區, 所 以 這 時 程 式 要 你 輸 入 你 所 需 要 的 磁 區 通 常 在 第 一 步 是 輸 入 啟 始 磁 柱, 這 時 只 要 按 Enter 就 可 以 啦, 然 後 會 要 你 輸 入 結 束 磁 柱, 結 束 磁 柱 的 輸 入 方 法 有 兩 種 模 式, 一 種 是 輸 入 磁 柱 區, 一 種 是 輸 入 你 所 需 要 的 MB 數, 通 常 我 是 輸 入 MB 數 啦, 例 如 如 上 所 示, 我 所 需 要 的 空 間 大 小 是 600MB, 所 以 輸 入 +600 即 可, 而 如 果 你 的 硬 碟 很 大, 你 要 輸 入 4GB 時, 則 需 要 輸 入 +4000, 以 此 類 推! 輸 入 +600 並 按 Enter 之 後 出 現 如 下 畫 面 file:///c /Documents and Settings/Administrator/ 桌 面 /0140spfdisk.php.htm (14 of 23)
鳥 哥 的 Linux 私 房 菜 -- 一 個 簡 單 的 spfdisk 分 割 硬 碟 實 例 這 時 出 現 了 你 剛 剛 劃 分 的 硬 碟 資 訊 啦, 由 於 我 們 是 劃 分 為 DOS 分 割 區, 所 以 系 統 種 類 是 FAT-32, 而 ID 則 為 0b 至 於 另 外 尚 未 劃 分 的 就 會 顯 示 為 < 未 規 劃 > 啦! 如 果 你 還 需 要 再 繼 續 劃 分 的 話, 這 時 將 游 標 移 動 至 < 未 規 劃 > 的 那 一 個 磁 區 按 Enter 後 選 擇 擴 充 分 割 即 可 繼 續 劃 分 如 果 劃 分 完 畢 之 後, 當 然 就 是 貯 存 分 割 表 囉 這 裡 注 意 一 下, 因 為 剛 剛 的 動 作 均 尚 未 完 成 貯 存 的 工 作, 所 以 要 反 悔 還 來 得 及! 3. 貯 存 分 割 表 : 接 下 來 要 做 貯 存 的 動 作 了, 按 下 Esc 鍵 ( 鍵 盤 左 上 角 那 個 鍵 ) 後 會 出 現 如 下 畫 面 : file:///c /Documents and Settings/Administrator/ 桌 面 /0140spfdisk.php.htm (15 of 23)
鳥 哥 的 Linux 私 房 菜 -- 一 個 簡 單 的 spfdisk 分 割 硬 碟 實 例 按 [Y] 是, 將 剛 分 割 好 的 分 割 表 貯 存 至 硬 碟 中! 然 後 出 現 如 下 畫 面 : file:///c /Documents and Settings/Administrator/ 桌 面 /0140spfdisk.php.htm (16 of 23)
鳥 哥 的 Linux 私 房 菜 -- 一 個 簡 單 的 spfdisk 分 割 硬 碟 實 例 file:///c /Documents and Settings/Administrator/ 桌 面 /0140spfdisk.php.htm (17 of 23)
鳥 哥 的 Linux 私 房 菜 -- 一 個 簡 單 的 spfdisk 分 割 硬 碟 實 例 file:///c /Documents and Settings/Administrator/ 桌 面 /0140spfdisk.php.htm (18 of 23)
鳥 哥 的 Linux 私 房 菜 -- 一 個 簡 單 的 spfdisk 分 割 硬 碟 實 例 file:///c /Documents and Settings/Administrator/ 桌 面 /0140spfdisk.php.htm (19 of 23)
鳥 哥 的 Linux 私 房 菜 -- 一 個 簡 單 的 spfdisk 分 割 硬 碟 實 例 file:///c /Documents and Settings/Administrator/ 桌 面 /0140spfdisk.php.htm (20 of 23)
鳥 哥 的 Linux 私 房 菜 -- 一 個 簡 單 的 spfdisk 分 割 硬 碟 實 例 這 裡 的 動 作 是 連 續 的 : 1. 程 式 會 先 跟 你 確 認 你 的 硬 碟 有 沒 有 錯 誤, 這 裡 還 可 以 反 悔 2. 然 後 程 式 會 問 你 是 否 需 要 使 用 破 壞 貯 存, 一 般 來 說 是 需 要 使 用 破 壞 貯 存 的, 因 為 需 要 將 你 的 硬 碟 劃 分 完 全 啦! 所 以 要 按 [Y]; 3. 為 了 可 以 讓 你 以 後 回 復 分 割 情 況, 所 以 你 可 以 選 擇 建 立 UNDO 檔, 所 謂 的 UNDO 檔 即 是 記 錄 你 之 前 硬 碟 分 割 表 資 訊 的 檔 案 啦 這 樣 一 來 你 的 硬 碟 就 劃 分 完 畢 而 且 貯 存 啦! 這 時 要 做 的 就 是 重 新 開 機 並 格 式 化 硬 碟 格 式 化 硬 碟 可 以 使 用 DOS 的 Format, 當 然 也 可 以 使 用 spfdisk 的 內 建 功 能 喔! 4. 格 式 化 硬 碟 : 再 進 入 剛 剛 你 劃 分 完 畢 的 那 個 硬 碟 區, 按 下 Enter 之 後 會 出 現 一 串 選 單, 然 後 最 下 方 的 選 單 為 DOS 工 具, 選 擇 這 一 項 並 按 Enter 後, 會 出 現 另 一 個 選 單 : file:///c /Documents and Settings/Administrator/ 桌 面 /0140spfdisk.php.htm (21 of 23)
鳥 哥 的 Linux 私 房 菜 -- 一 個 簡 單 的 spfdisk 分 割 硬 碟 實 例 在 這 個 次 選 單 中 的 第 二 項 即 是 快 速 格 式 化, 這 個 格 式 化 的 動 作 非 常 的 快 喔! 比 DOS 的 格 式 化 快 多 了! 不 過, 這 裡 也 必 須 指 出 一 個 問 題, 那 就 是 若 你 的 硬 碟 有 壞 軌 的 話, 那 最 好 還 是 使 用 DOS 的 format 比 較 完 整 一 點 file:///c /Documents and Settings/Administrator/ 桌 面 /0140spfdisk.php.htm (22 of 23)
鳥 哥 的 Linux 私 房 菜 -- 一 個 簡 單 的 spfdisk 分 割 硬 碟 實 例 參 考 資 料 SPFdisk http://spfdisk.sourceforge.net/ 事 實 上, SFPdisk 能 作 的 事 情 還 很 多, 包 括 最 為 人 所 熟 知 的 boot loader 的 應 用! 建 議 您 一 定 要 到 SPFdisk 的 官 方 網 站 上 面 瞧 一 瞧 喔! ^_^ 2002/04/09: 第 一 次 完 成 吧? 2003/02/03: 重 新 編 排 2005/06/12: 將 舊 文 移 動 到 這 裡 並 且 約 略 編 排 了 一 下 版 面! 2005/07/18: 原 本 文 章 當 中 的 cluster 為 錯 誤 的, 應 該 是 cylinder 才 對 ~ 2002/01/01 以 來 統 計 人 數 本 網 頁 主 要 以 firefox 配 合 解 析 度 1024x768 作 為 設 計 依 據 http://linux.vbird.org is designed by VBird during 2001-2007. Aerosol Lab. file:///c /Documents and Settings/Administrator/ 桌 面 /0140spfdisk.php.htm (23 of 23)
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Red Hat 7.x 版 鳥 哥 的 Linux 與 ADSL 私 房 菜 主 機 的 硬 體 配 備 與 預 計 開 放 的 服 務 硬 碟 規 劃 多 重 作 業 系 統 的 安 裝 流 程 Linux 安 裝 流 程 ( 較 小 安 裝 完 全 安 裝 ) 建 立 軟 碟 開 機 片 本 章 習 題 練 習 簡 易 且 較 小 安 裝 Red Hat 7.2 最 近 更 新 日 期 :2003/0 主 機 的 硬 體 配 備 與 預 計 開 放 的 服 務 就 如 同 前 面 所 說 的, 安 裝 你 的 Linux 之 前, 最 好 先 來 瞭 解 一 下 您 的 Linux 用 途! 當 然 囉! 如 果 目 前 您 所 需 要 的 只 是 在 於 學 習 Linux 的 指 令 的 話, 那 麼 底 下 的 咚 咚 你 都 可 以 把 他 看 看 就 好! 不 過, 還 是 強 烈 的 建 議 您 慢 慢 的 一 步 一 步 的 安 裝 你 的 Linux 系 統, 這 樣 對 於 您 的 Linux 系 統 會 有 比 較 完 整 的 概 念 說! 此 外, 由 於 Linux 系 統 最 後, 立 即 重 新 編 譯 過 他 的 核 心, 以 使 Linux 系 統 較 為 穩 定, 所 以, 在 你 可 以 連 上 Internet 的 時 候, 千 載 新 的 核 心 喔! 由 於 Red Hat 7.2 的 核 心 版 本 為 下 2.4.7 載 較 新 的 2.4.17, 因 此, 你 必 須 以 要 後 的 版 本 喔 ( 到 200 為 止 ) 我 的 主 機 配 備 : 好 了, 既 然 VBird 寫 的 這 個 部 分 主 要 的 目 的 是 在 於 使 用 淘 汰 的 電 腦 來 進 行 Linux 伺 服 器 的 安 裝, 那 麼 我 的 當 然 不 會 太 好 囉! 以 下 就 是 我 的 配 備 啦 : CPU 為 P-166, 主 機 板 為 華 碩 的 老 主 機 板 ; 使 用 64 MB 的 RAM ( 是 72 pin 的 喔!); 硬 碟 為 3.2 GB 的 硬 碟, 安 插 在 primary 排 線 的 master 上 面 ; 這 裡 要 特 別 說 明 一 下, 通 常 在 586 之 後 的 主 機 板 上 面 都 有 兩 條 接 排 線 的 界 面 ( 排 線 就 是 硬 碟 與 主 機 板 相 接 的 那 一 個 東 西 啦!), 而 我 們 稱 這 種 界 面 為 IDE 界 面 ( 目 前 的 主 流 硬 碟 界 面 ), 並 且 主 機 板 上 面 的 這 兩 個 界 面 就 分 別 稱 為 Primary ( 主 要 的 ) 與 Secondary ( 次 要 的 ) IDE 囉 而 如 果 你 有 仔 細 觀 察 的 話, 那 麼 每 一 條 排 線 上 面 還 有 兩 個 插 孔, 也 就 是 說 一 條 排 線 可 以 接 兩 個 IDE 界 面 的 裝 置 ( 硬 碟 或 光 碟 機 ), 而 你 有 兩 條 排 線, 因 此 一 個 主 機 板 在 預 設 的 情 況 中, 應 該 都 可 以 接 四 個 IDE 界 面 的 裝 置 好 了, 那 麼 每 條 排 線 上 面 該 如 何 判 別 哪 一 個 是 主 硬 碟 ( Master ), 哪 一 個 是 副 硬 碟 ( Slave ) 呢? 基 要 調 整 硬 碟 上 面 的 jump 才 可 以 知 道! 這 個 時 候, 請 察 看 一 下 您 的 硬 碟 機 吧! 上 面 應 該 都 會 有 圖 示 說 明 才 對! 這 一 部 份 請 特 別 留 意 喔! 因 為 不 同 的 硬 碟 接 法 將 會 導 致 不 一 樣 的 狀 況, 更 嚴 重 的, 將 會 導 致 無 法 開 機 的 窘 境, 所 以 建 議 您 注 意 一 下 這 裡! 網 路 卡 預 計 使 用 兩 塊 螃 蟹 卡, 不 過, 如 果 您 不 希 望 有 無 法 分 辨 網 路 卡 的 狀 況 發 生, 那 麼 建 議 使 用 兩 塊 不 一 樣 晶 片 的 網 路 卡 比 較 好! 顯 示 卡 使 用 的 是 S3 Virge 的 PCI 顯 示 卡, 不 過 由 於 我 以 後 的 過 程 中 將 不 會 使 用 X-Windows 會 有 問 題! 安 裝 過 程 中 需 要 的 裝 置 : 鍵 盤 螢 幕 光 碟 機 軟 碟 機 等 等, 這 些 裝 置 在 安 裝 完 成 Linux 之 後, 即 可 馬 上 拔 掉! 硬 碟 partition 的 問 題 : 硬 碟 的 partition 是 相 當 重 要 的 一 環 呦! 這 裡 有 一 些 重 要 的 資 訊 要 先 跟 大 家 報 告! 就 是 說 : 在 Linux 底 下, 每 一 個 裝 置 都 以 一 個 檔 案 來 代 表, 例 如 IDE1 的 master 為 /dev/hda 多 有 四 個 partition, 所 以 第 一 個 由 extended 分 割 出 來 的 logical 磁 區 為 /de 需 要 特 別 留 意 的 另 幾 個 裝 置 是 網 路 卡 軟 碟 光 碟, 其 代 號 分 別 為 : eth0, /dev/fd0, /dev/c 如 果 你 有 一 個 硬 碟 接 在 IDE2 的 master 上 面, 並 且 有 5 個 可 以 使 用 的 磁 區, 同 時 你 分 割 了 2 個 時, 那 麼 你 的 磁 碟 應 該 就 會 有 底 下 幾 個 代 號 : /dev/hdc1 (primary) /dev/hdc2 (primary) /dev/hdc3 (extended, 這 個 為 不 可 使 用 的 磁 碟 代 號 ) file:///c /Documents and Settings/Administrator/ 桌 面 /0150installredhat.php.htm (1 of 10)200
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Red Hat 7.x 版 /dev/hdc5 (1st logical) /dev/hdc6 (2nd logical) /dev/hdc7 (3th logical) 預 計 開 放 的 服 務 : 雖 然 是 老 舊 的 配 備, 不 過 相 對 於 我 服 務 的 機 器 數 : 五 部 個 人 電 腦, 也 相 當 足 夠 了! 呵 呵! 那 麼 我 需 要 的 服 務 有 哪 些 呢? NAT : 用 來 分 享 頻 寬 ; Mail : 用 來 收 發 信 件 ; WWW : 用 來 給 大 家 架 設 個 人 網 頁 ; Proxy : 用 來 提 供 五 部 區 域 電 腦 內 的 用 途, 並 加 以 分 流 ; DHCP : 主 要 在 提 供 內 部 電 腦 不 需 要 安 裝 一 些 有 的 沒 的! FTP : 最 好 是 不 要 安 裝 的 啦! 我 的 網 路 : 我 的 網 路 主 要 是 以 撥 接 制 ADSL 為 主, 那 麼 如 何 規 劃 呢? 在 Linux 系 統 中, 預 計 以 rp-pppoe 這 個 軟 體 來 撥 接 ADSL 並 且 予 以 分 享 ; 我 的 內 部 網 路 之 網 段 為 192.168.1.0/255.255.255.0 這 一 個, 沒 有 再 切 割 的 子 網 路 ; 我 的 Linux 主 機 名 稱 為 vbird.adsldns.org, 是 跟 www.adsldns.org 選 擇 的 套 件 : 我 選 擇 的 安 裝 套 件 為 Red Hat 7.2 版, 他 的 特 徵 為 : 這 一 版 的 預 設 核 心 為 2.4.7-10! 預 設 的 防 火 牆 機 制 為 Kernel 2.4.x 的 iptables ; 預 計 使 用 LILO 作 為 Boot Loader 喔! 另 外, 由 於 在 設 定 其 他 的 服 務 之 前, 想 要 先 以 較 新 的 Kernel ( 核 心 ) 來 編 譯 過, 因 此 需 要 先 下 載 核 心! 大 致 上 就 是 這 樣 囉! 硬 碟 規 劃 自 訂 安 裝 Custom : 初 次 接 觸 Linux : 只 要 切 割 / 及 Swap 即 可! 好 了, 通 常 初 次 安 裝 Linux 系 統 的 朋 友 們, 我 們 都 會 建 議 他 直 接 以 一 個 最 大 的 磁 區 / 來 安 裝, 這 樣 有 個 好 處, 就 是 不 怕 分 割 錯 誤 造 成 無 法 安 裝 的 困 境! 例 如 /usr/ 是 Linux 安 裝 程 式 中 擺 放 的 目 錄, 萬 一 你 割 了 一 塊 磁 區 給 /usr, 但 是 卻 給 的 不 夠 大, 那 麼 就 傷 腦 筋 了! 因 為 會 造 成 無 法 將 資 料 完 全 寫 入 的 問 題, 就 有 可 能 會 無 法 安 裝 啦! 因 此 上, 如 果 你 是 初 次 安 裝 的 話, 那 麼 可 以 僅 分 割 成 兩 個 磁 區 / 與 Swap 即 可! 建 議 分 割 的 方 法 : 預 留 一 個 備 份 的 磁 區! 就 如 同 前 面 幾 個 心 得 分 享 文 章 中 提 到 的, 由 於 Linux 預 設 的 目 錄 是 固 定 的, 所 以 : 通 常 我 們 會 將 /var 及 /home 這 兩 個 目 錄 稍 微 加 大 一 些, 如 果 硬 碟 夠 大 的 話, 加 個 幾 GB 也 不 另 外, /usr 至 少 給 他 3~5 GB 吧, 如 果 硬 碟 真 的 大 的 話! 而 / 也 可 以 給 個 幾 GB 的 空 間 最 後, 由 於 我 們 的 Linux 可 能 是 在 試 用 階 段, 所 以 很 有 可 能 會 重 複 的 一 再 安 裝, 因 此 上, 我 都 會 預 留 一 個 磁 區 來 備 份 我 的 核 心 啦 與 實 驗 過 程 中 覺 得 不 錯 的 scripts ( 就 有 點 像 DOS 的 批 次 檔 ) 當 然, 我 的 /home 底 下 的 咚 咚 也 可 以 有 備 份 的 地 方, 而 安 裝 套 件 的 原 始 檔 案 也 可 以 擺 在 這 裡! 有 個 最 大 的 好 處 是, 當 我 的 Linux 重 新 安 裝 的 時 候, 我 的 一 些 套 件 馬 上 就 可 以 直 接 在 硬 碟 當 中 找 到! 呵 呵! 重 新 安 裝 比 較 便 利 啦! 選 擇 Server 的 硬 碟 切 割 方 式 : file:///c /Documents and Settings/Administrator/ 桌 面 /0150installredhat.php.htm (2 of 10)200
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Red Hat 7.x 版 對 於 首 次 接 觸 Linux 的 朋 友 們, 通 常 不 建 議 使 用 Red Hat 預 設 的 Server 安 裝 方 式, 因 為 會 Linux 在 搞 什 麼 鬼, 而 且 也 不 見 得 可 以 符 合 你 的 需 求! 不 過, 這 裡 仍 然 說 一 下 選 擇 Server 的 時 候, 他 是 何 切 割 硬 碟 的 呢? 注 意 : 選 擇 Server 的 時 候, 請 確 定 您 的 硬 碟 資 料 是 不 要 的! 因 為 Linux 會 自 動 的 把 你 的 硬 碟 裡 面 的 資 料 全 部 殺 掉! 此 外, 硬 碟 至 少 需 要 2 GB 以 上 才 可 以 選 擇 這 一 個 模 式! 64 MB 的 Swap ; 256 MB 的 / ; 256 MB 的 /var ; 其 他 的 空 間 平 分 給 /usr 與 /home! 知 道 了 嗎? 由 於 Server 會 有 上 面 的 限 制, 所 以 通 常 我 都 不 太 喜 歡 讓 Linux 自 己 切 啦! 選 擇 Cust 說! 硬 碟 的 代 號 意 義? 在 Windows 或 者 是 DOS 年 代, 硬 碟 以 FAT 表 來 切 分 時, 他 們 的 代 表 磁 區 為 C: D: E: 然 喔! 一 個 目 錄 可 以 代 表 一 個 裝 置! 基 本 上, 每 一 個 硬 碟 在 安 插 的 IDE 介 面 中, 都 有 不 同 的 代 號 : 硬 碟 安 插 的 IDE 介 面 Linux 上 面 的 磁 碟 名 稱 第 一 個 IDE 的 Master 上 之 硬 碟 hda 第 一 個 IDE 的 Slave 硬 碟 hdb 第 二 個 IDE 的 Master 硬 碟 hdc 第 二 個 IDE 的 Slave 硬 碟 hdd 另 外, 需 要 特 別 留 意 的 是, 每 一 個 硬 碟 ( 例 如 hda ) 最 多 可 以 有 4 個 primary 磁 區! 分 別 是 hd hda3, hda4! 而 如 果 是 邏 輯 磁 區 的 話, 那 麼 就 需 要 由 hda5 開 始 增 加 囉! 多 重 作 業 系 統 的 安 裝 流 程 硬 碟 重 新 規 劃 的 多 重 開 機 系 統 : 如 果 你 想 要 在 你 的 Linux 機 器 上 同 時 安 裝 Windows? 可 行 嗎? 當 然 可 行 囉! 況 且 目 前 很 多 的 朋 友 手 邊 只 有 一 想 要 同 時 學 習 一 下 Linux, 呵 呵! 那 麼 安 裝 多 重 作 業 系 統 實 在 是 必 須 要 的! 好 了! 那 要 如 何 安 裝 呢? 以 我 前 一 陣 子 幫 一 友 規 劃 的 Win98, Win2000, Linux 為 例, 我 先 將 硬 碟 以 spfdisk 切 割 成 兩 個 FAT p 與 Win2000 ( 分 別 是 C: 與 D: ), 然 後 再 以 CD 開 機 後, 分 割 最 後 的 磁 碟 成 為 / 與 Swap 1. 先 以 Spfdisk 分 割 硬 碟 : 由 於 Windows 的 Fdisk 實 在 太 慢 了, 我 蠻 喜 歡 使 用 sp 又 方 便! 將 硬 碟 切 割 成 C: 2GB, D: 3GB 即 可! 詳 細 的 Spfdisk 執 spfdisk 行 範 例 可 以 看 一 下 範 底 例 下 這 一 2. 先 安 裝 Win98 : 這 個 簡 單 吧! 用 98 開 機 片 開 機 之 後, 直 接 安 裝, 並 且 選 擇 安 裝 在 C 槽 即 可! 3. 再 安 裝 Win2000: 進 入 Win98 之 後, 將 Win2000 的 光 碟 片 放 進 光 碟 機 中, 螢 幕 會 自 動 級, 選 擇 是, 然 後 會 進 行 一 些 小 動 作! 在 安 裝 程 式 問 到 升 級 安 裝 或 全 新 安 裝 的 時 候, 請 千 萬 選 擇 全 新 安 裝 這 個 項 目, 並 且 不 要 升 級 硬 碟 磁 區! 然 後 在 出 現 一 個 問 你 安 裝 目 錄 所 在 的 問 題 時, 進 入 選 項 裡 面, 選 擇 要 我 自 己 挑 選 硬 碟 分 割 區 那 個 項 目! 然 後 接 下 來 一 直 按 下 確 定 或 是 即 可! 之 後, 電 腦 會 重 新 開 機, 開 機 完 成 之 後 會 進 入 Win2000 的 安 裝 畫 面, 然 後 在 出 現 安 裝 磁 區 的 時 候, 請 選 擇 D 槽, 並 且 選 擇 不 要 更 改 磁 統 即 可! 接 下 來 就 會 完 成 一 些 程 序 啦! 4. 最 後 才 安 裝 Red Hat 7.2: 是 的, 最 後 才 安 裝 Linux! 安 裝 的 過 程 底 下 會 說 明 喔! 5. 以 Lilo 設 定 多 重 開 機 : 是 的, 我 還 是 比 較 習 慣 使 用 Lilo 來 作 為 多 重 開 機 的 設 定 啦! 好 了! 這 樣 你 就 可 以 具 有 多 重 開 機 的 主 機 系 統 囉! 很 高 興 吧! 呵 呵! 先 別 高 興 的 太 早! 很 多 的 朋 友 安 裝 Windows XP Windows ME 版 本 與 Linux 共 存, 安 裝 的 結 果 是 殘 念 的! 不 過 個 人 沒 有 試 過 XP 與 ME, 所 以 file:///c /Documents and Settings/Administrator/ 桌 面 /0150installredhat.php.htm (3 of 10)200
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Red Hat 7.x 版 請 千 萬 注 意 了! 在 我 的 經 驗 中, 使 用 98 與 2000 來 與 Linux 共 存 是 沒 有 問 題 的 ( 在 我 的 舊 機 器 與 新 的 雙 過! OK!) 在 既 存 的 Windows 系 統 中 加 裝 Linux 系 統 : 另 外 再 提 供 一 個 之 前 也 曾 經 安 裝 過 的 一 個 經 驗! 恩! 你 可 能 會 覺 得 奇 怪, 這 個 方 法 跟 上 一 個 方 法 有 什 麼 不 同!? 呵 呵 呵 呵! 最 大 的 不 同 在 於 : 我 既 存 的 Windows 系 統 中 的 資 料 不 想 丟 掉, 並 且 我 也 沒 有 新 的 硬 碟 來 暫 存 我 的 系 統 或 者 是 備 份 資 料! 假 設 原 本 GB 硬 碟 中 分 割 成 10GB, 10GB 兩 槽, 但 是 我 還 想 要 安 裝 Linux, 且 是 在 舊 系 統 仍 然 可 以 存 活 好?! 這 真 的 是 很 有 趣 的 問 題! 早 先 在 Windows 系 統 中, VBird 就 犯 了 一 個 錯!C 槽 給 的 太 大 了! 基 本 上, 系 統 通 常 我 都 喜 歡 C 槽 只 給 大 約 4 GB 左 右 的 空 間 ( 甚 至 更 小 ), 這 是 因 為 C 槽 是 很 需 要 備 份 的! 如 果 太 大 的 話, 備 所 以 系 統 重 置 就 會 很 花 時 間 ( 因 為 所 有 的 東 西 都 要 重 新 安 裝! 我 哩 咧...!)! 因 此, 我 都 習 慣 將 C 槽 只 給 一 點 點 的 空 後 再 安 裝 完 並 設 定 完 所 有 的 系 統 之 後, 馬 上 以 Ghost 來 備 份 我 的 系 統! 而 所 有 的 備 份 資 料 檔 案 都 擺 放 在 D 槽! 此 外 OutLook Express 的 書 信 目 錄 也 都 不 是 擺 在 C 槽! 呵 呵 所 以 我 不 會 很 害 怕 C 槽 掛 掉, 因 為, 直 接 以 原 還 不 需 要 30 分 鐘 呢! 這 裡 就 發 生 一 個 問 題 啦, 假 如 原 本 的 系 統 是 10GB, 10GB 的 兩 槽, 不 過 全 部 的 有 用 到 的 資 料 量 只 有 10GB 不 還 有 空 間 來 安 裝 Linux, 但 是 由 於 硬 碟 切 割 的 不 好, 所 以 傷 腦 筋! 此 外, 我 的 原 系 統 希 望 留 下 來, 而 且 也 希 望 可 以 安 裝 Linux, 要 怎 辦?! 我 曾 經 這 樣 做 過 : 由 於 FAT 的 磁 區 使 用, 其 實 只 是 在 磁 頭 區 域 ( 所 謂 的 硬 碟 第 零 軌 ) 規 劃 而 已, 所 以, 我 就 將 我 的 資 料 先 以 磁 碟 重 組 的 方 式 將 資 料 都 歸 在 一 起 ; 然 後 以 Spfdisk 將 該 硬 碟 的 FAT 表 進 行 分 割, 注 意 喔! 只 是 分 割 FAT 表, 並 沒 有 format 高, 需 要 特 別 注 意! 因 為 你 是 將 FAT 表 重 新 劃 分, 所 以 你 的 資 料 必 須 要 在 同 一 個 磁 區 內! 好 了, 我 就 將 原 本 的 10GB 10GB 切 割 成 4GB 10GB 與 6GB 三 槽! 而 且 在 spfdisk 的 幫 助 之 下, 順 利 的 在 將 我 的 硬 碟 由 原 先 的 兩 槽 分 割 成 三 槽 囉! 那 麼 一 來, 我 就 可 以 在 我 原 本 的 D 槽 裡 面 安 裝 Linux 啦! 方 法 有 點 底 下 的 圖 示 : 很 神 奇 吧! 資 料 還 是 在 原 來 的 地 方, 不 過 磁 區 的 定 位 點 改 變 了, 還 多 出 一 個 磁 區! 不 過, 這 裡 要 提 醒 大 家, 雖 然 VBird 曾 經 以 這 個 方 法 成 功 而 且 完 全 沒 有 驚 險 的 將 硬 碟 資 料 在 不 毀 損 的 情 況 下, 順 利 的 將 硬 碟 切 割 完 畢! 但 是 那 是 小 弟 已 經 瞭 解 到 FAT 與 磁 區 的 相 關 性 ( 其 實 FAT 只 是 在 規 範 你 的 硬 碟 讀 取 頭 讀 取 的 頭 跟 尾 而 已, 並 不 是 真 將 硬 碟 切 割 囉!), 而 且 我 也 有 壯 士 斷 腕 的 覺 悟! 呵 呵! 因 此 不 是 很 建 議 您 這 樣 做! 尤 其 是 當 你 的 資 料 還 很 重 要 的 時 候! 切 記 切 記! Linux 安 裝 流 程 ( 較 小 安 裝 完 全 安 裝 ) 接 著 下 來 要 開 始 來 安 裝 Linux 囉! 說 了 這 麼 多 有 的 沒 的 ㄟ... 不 好 意 思, VBird 太 喜 歡 胡 扯 了.. 事 先 檢 查 : 基 本 上 你 必 須 先 檢 查 一 下 你 的 武 裝 配 備 喔 : file:///c /Documents and Settings/Administrator/ 桌 面 /0150installredhat.php.htm (4 of 10)200
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Red Hat 7.x 版 下 載 並 燒 錄 Red Hat 7.2 的 可 開 機 光 碟 : 不 要 問 我 如 何 燒 錄 ~~ enigma-i386-disc1.iso enigma-i386-disc2.iso 強 烈 的 建 議 您 不 要 使 用 HTTP 來 捉 這 兩 個 檔 案, 就 是 不 要 使 用 IE 或 者 是 Netscape 之 類 的 瀏 覽 器 案, 因 為 檔 案 太 大 了, 在 傳 輸 的 過 程 中 會 有 捉 錯 的 情 況, 所 以 就 會 很 麻 煩... 建 議 使 用 續 傳 軟 體, 或 者 是 直 接 以 FTP 軟 體 到 中 山 大 學 的 FTP 站 捉, 不 但 具 有 續 傳 功 能 不 怕 斷 線, 捉 到 的 檔 案 也 會 比 較 正 常 ( 已 經 有 很 多 朋 友 在 BBS 上 面 留 言, 發 現 捉 的 檔 案 無 法 燒 錄 囉!) 此 外, 也 建 議 直 接 下 載 新 的 核 心, 以 方 便 後 來 的 核 心 編 譯 工 作! 目 前 新 的 核 心 已 經 出 到 了 linux-2.4.17 ( 截 至 2002/02/16 為 止 ), 通 常 VBir 到 底 下 來 看 看 呦! 中 山 大 學 關 於 核 心 進 入 BIOS 設 定 開 機 順 序 : 基 本 上 如 果 是 不 太 舊 的 主 機 板 都 會 支 援 光 碟 開 機 的, 使 用 CD-ROM 開 機 的 好 處 是 比 較 快, 而 且 也 不 用 再 去 做 Linux 安 裝 開 機 片, 確 認 的 方 法 如 下 : 按 電 源 鍵 開 機 ; 在 進 入 系 統 之 前 會 出 現 Del 字 樣 ( 每 個 廠 牌 不 太 相 同 ), 此 時 按 下 鍵 盤 上 的 Delete 鍵 ; 進 入 BIOS 之 後 以 方 向 鍵 選 擇 BIOS Features Setup 這 一 項, 或 者 是 Adv 何, 反 正 只 要 看 到 BIOS Features 字 樣 的 那 一 項 就 對 了!; 將 方 向 鍵 移 動 至 Boot Sequence 或 者 是 First Boot Device ; 這 Page Down 按 鍵, 選 擇 CD-ROM 為 第 一 開 機 順 位 即 可 這 裡 注 意 一 下, 如 果 你 的 機 器 CD-ROM 開 機 的 話, 你 一 定 找 不 到 CD-ROM 這 一 項, 這 時 請 製 作 開 機 片 吧, 並 將 此 項 調 整 為 A 一 順 位 ; 按 鍵 盤 上 ESC 鍵 退 出 ; 將 方 向 鍵 移 動 至 Save and Exit 這 一 項 按 Enter 及 Y 確 認 後 重 新 開 機 製 作 Linux 開 機 片 : a. 隨 便 找 一 台 Windows 電 腦, 開 啟 MS-DOS 視 窗 ; b. 將 可 開 機 Linux 光 碟 放 入 光 碟 機 中, 在 MS-DOS 視 窗 鍵 入 : C:\WINDOWS> cd E:\dosutils 上 面 的 E 為 你 的 光 碟 機 代 號 ; c. 在 DOS 提 示 字 元 下 鍵 入 : E:\dosutils> rawrite -f e:\images\boot.img - 上 面 的 e 為 你 的 光 碟 機 代 號, 這 時 在 軟 碟 機 放 入 一 片 空 白 的 軟 碟 片 後, 按 Enter 即 可 開 始 安 裝 : 這 樣 就 準 備 妥 當 了! 正 式 進 入 安 裝 吧! 特 別 說 明, 由 於 VBird 不 太 喜 歡 使 用 X-Windows 系 統, 所 以 通 常 我 介 面 安 裝 的, 因 此 底 下 將 以 文 字 介 面 作 為 介 紹, 而 且, 由 於 許 多 畫 面 不 是 很 重 要, 因 此 VBird 並 沒 有 將 畫 面 秀 出 來 喔! 1. 開 機 ==> 放 入 Red Hat 7.2 的 光 碟 機 後, 以 CD-ROM 開 機 或 者 以 剛 剛 做 好 的 Linu 2. 選 擇 安 裝 模 式 ==> 進 入 歡 迎 畫 面, 之 後 在 boot: 的 地 方 輸 入 : text 以 文 字 介 面 安 裝! 會 載 入 一 些 模 組, 所 以 會 花 費 一 些 時 間 3. 選 擇 語 系 ==> 然 後 在 選 擇 語 系 的 地 方 輸 入 English ; 因 為 文 字 介 面 好 像 沒 有 支 援 中 文 的 樣 子!? 4. 鍵 盤 模 式 ==> 同 樣 的, 鍵 盤 先 選 擇 us 即 可 ; 5. 滑 鼠 模 式 ==> 由 於 我 沒 有 滑 鼠, 所 以 直 接 按 tab 鍵 到 OK 按 下 Enter 即 可 ; 6. 歡 迎 畫 面 ==> 按 Enter 即 可 ; 7. 選 擇 系 統 模 式 ==> 如 前 所 述, 這 裡 共 分 為 Workstation, Server 與 Custom 等 有 的 硬 碟 Partition 給 殺 掉, 因 此 我 們 就 直 接 以 Custom System 來 安 裝 吧! 8. 要 不 要 Linux 自 動 幫 你 規 劃 硬 碟 ==> 開 什 麼 玩 笑! 當 然 要 自 己 規 劃 自 己 的 硬 碟 囉! 請 選 擇 Manu 這 一 項 ; 9. 選 擇 硬 碟 分 割 工 具 ==> 硬 碟 分 割 工 具 當 然 是 選 擇 比 較 簡 單 的 啦! 那 麼 我 們 就 選 擇 Disk Druid 介 面 的 咚 咚 吧! 10. 硬 碟 分 割 ==> 進 入 Disk Druid 介 面 之 後, 應 該 有 點 像 底 下 的 圖, 不 過 由 於 VBird 不 會 錯 誤 的 喔! Red Hat 7.2 版 已 經 不 是 這 個 樣 子 的 圖 示 了! 因 為 他 還 有 加 入 ext3 呢! 呵 呵! 不 式 還 是 差 不 多 啦! 底 下 來 說 一 說 吧 : file:///c /Documents and Settings/Administrator/ 桌 面 /0150installredhat.php.htm (5 of 10)200
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Red Hat 7.x 版 基 本 上 你 會 看 到 類 似 上 面 的 話 面, 總 共 會 顯 示 你 的 目 前 硬 碟 的 磁 區, 如 上 面 說 的, Primary IDE 的 硬 碟 Mater 為 hda! 這 點 請 特 別 留 意 囉! 好 了, 如 果 你 要 將 舊 有 的 FAT 磁 區 安 裝 Linux 的 話, 區 Delete 掉 才 行, 不 論 如 何, 請 看 一 下 你 的 剩 餘 硬 碟 資 料 空 間 ( 註 : 常 常 有 很 多 的 朋 友 來 信 問 到, 咦! 我 的 E 槽 明 明 還 有 5GB 的 空 間, 為 什 麼 不 能 安 裝 Linux 呢?! 就 是 這 個 問 題 啦! 因 為 Linux 的 FAT 並 不 相 同 呀! 所 以 你 必 須 將 原 有 的 FAT 磁 區 砍 掉 後, 才 能 規 劃 出 新 的 Linux 磁 區 呀! 所 以 要 看 一 Free 喔!) 我 這 裡 建 議 的 分 割 方 式 有 幾 種 ( 請 注 意, 第 三 個 安 裝 的 選 項 是 關 於 Proxy 的 設 定 方 面, 如 果 你 裝 Proxy 套 件 的 話, 才 建 議 多 加 這 些 磁 區! 因 為 據 說 這 樣 分 割 的 硬 碟 會 讓 Proxy 的 效 能 比 較 好!): 較 小 安 裝 ( 或 初 次 安 建 議 安 裝 含 有 Proxy 裝 ) 11. Swap 約 100 MB; 與 建 議 安 裝 相 同 12. /var 給 3~5 GB; /proxy1 給 500 13. /usr 給 3~5 GB; MB; Swap 約 100 MB 14. / 給 1 GB 以 上 ; /proxy2 給 500 ; 15. /home 可 以 給 大 一 些 ; MB; 其 他 的 都 給 / 16. /backup 用 來 做 為 備 份 /proxy3 的 給 500 磁 區 MB; /proxy4 給 500 MB 另 外, 進 入 每 一 個 磁 區 之 後, 你 必 須 要 決 定 : Mount point 就 是 磁 區 啦 ; Filesystem type 除 了 一 定 要 有 一 個 Swap 之 外, 你 可 以 選 擇 Ext3 這 個 新 的 磁 區 hda, hdb 這 個 是 硬 碟 啦! 這 裡 請 小 心 選 擇! Fixed Size 由 於 我 們 都 需 要 給 每 一 個 磁 區 固 定 的 大 小, 所 以 這 裡 就 選 擇 Fixed Size 這 區 ( 通 常 是 /backup 這 一 個 ) 時, 我 通 常 都 會 選 擇 Fillall available space Force to be a primary partition 除 非 特 別 需 求, 例 如 你 的 這 個 磁 區 是 開 機 內, 那 麼 才 需 要 將 這 個 勾 選, 否 則 這 個 選 項 不 要 管 他! Check for bad blocks 除 非 你 的 硬 碟 是 有 壞 軌 的, 否 則 千 萬 不 要 選 不 然 硬 碟 檢 查 真 的 VBird 的 分 割 結 果 (3.6 GB 硬 碟 ): /dev/hda1 2204 / /dev/hda2 996 /var /dev/hda3 502 /backup file:///c /Documents and Settings/Administrator/ 桌 面 /0150installredhat.php.htm (6 of 10)200
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Red Hat 7.x 版 /dev/hda5 100 /proxy1 /dev/hda6 100 /proxy2 /dev/hda7 100 /proxy3 /dev/hda8 100 /proxy4 /dev/hda9 64 Swap 17. 選 擇 安 裝 的 開 機 管 理 系 統 ==>Red Hat 7.2 提 供 兩 個 開 機 管 理 系 統, 由 於 VBird 比 較 習 選 擇 Lilo Boot Loader 的! 如 果 你 要 試 一 試 其 他 的 多 重 開 機 控 制 軟 體, 不 反 對 啦! 但 是, 這 裡 Lilo 來 作 為 說 明 的! 18. 選 擇 開 機 管 理 系 統 安 裝 的 磁 區 ==> 如 果 沒 有 特 殊 的 需 要, 就 直 接 選 擇 MBR Master Boot 19. 載 入 額 外 的 模 組 ==> 這 個 選 項 專 門 提 供 給 系 統 中 特 殊 裝 置 使 用 的! 由 於 我 們 的 裝 置 都 很 普 通, 所 以 這 裡 就 按 OK 跳 過 去 吧! 20. 開 機 系 統 的 名 稱 ==> 你 可 以 選 擇 其 他 的 名 稱, 當 然 也 可 以 不 用 理 他, 以 預 設 的 名 稱 輸 入 之, 例 如, 如 果 你 已 經 存 在 有 Windows 系 統, 那 麼 很 可 能 Lilo 秀 出 來 的 卻 是 DOS 字 樣, 你 可 以 修 改 啦! 這 個 可 以 在 未 明, 所 以 先 不 要 管 啦! 21. 網 路 卡 設 定 ==> 先 再 次 強 調,VBird 這 一 次 的 安 裝 是 預 計 要 安 裝 兩 塊 螃 蟹 卡 的, 由 於 具 有 相 同 的 晶 片 我 在 安 裝 的 時 候 僅 先 安 裝 一 塊 而 已! 並 且, 這 一 塊 網 路 卡 預 設 是 做 為 內 部 虛 擬 網 路 之 用 的! 另 外 一 塊 會 在 後 面 才 安 裝 上 去! 如 果 你 不 是 使 用 很 奇 怪 的 卡, 那 麼 這 個 步 驟 應 該 會 出 現 網 路 卡 的 設 定 的!( 我 在 這 個 步 驟 中 預 設 是 當 作 內 部 網 路 之 用! 所 以 先 給 他 一 個 虛 擬 IP 喔!) 首 先 將 DHCP 前 面 的 [*] 取 消 ( 按 空 白 鍵 ); 然 後 按 上 下 鍵 來 設 定 你 的 網 路 條 件 成 為 : IP:192.168.1.2 Netmask:255.255.255.0 Gateway:192.168.1.2 Primary DNS:139.175.10.20 Secondary DNS:163.28.112.1 22. 主 機 名 稱 的 設 定 ==> 給 自 己 一 個 名 字 吧! 例 如 我 的 主 機 為 vbird.adsldns.org 囉! 這 裡 修 改 host name 的 方 法! 23. 防 火 牆 的 設 定 ==> 由 於 我 們 會 在 後 續 的 步 驟 中 更 改 一 些 防 火 牆 機 制, 所 以 這 裡 不 用 設 定 囉! 選 擇 No F 那 一 個 項 目 ; 24. 選 擇 語 系 ==> 通 常 我 只 選 擇 兩 個 語 系, 分 別 是 English 與 Taiwan, R. O. 25. 選 擇 預 設 語 系 ==> 由 於 我 不 使 用 X-Windows, 而 終 端 機 界 面 ( 純 文 字 界 面 的 情 況 下 ) 並 沒 有 辦 法 示, 選 擇 中 文 作 為 預 設 的 語 系 反 而 會 在 純 文 字 界 面 下 出 現 亂 碼!! 所 以 我 都 是 選 擇 English 作 為 我 的 預 設 系 囉! 26. 選 擇 時 區 ==> 在 台 灣, 當 然 選 擇 Asia/Taipei 囉! 27. 設 定 密 碼 ==> 這 裡 要 特 別 告 誡 大 家, 密 碼 最 好 多 於 八 個 字 元, 並 且 含 有 非 英 文 或 數 字 的 特 殊 符 號 為 較 佳 的 選 擇! 當 然 囉, 你 也 不 能 忘 記 呀! 選 擇 Password 會 有 兩 次, 提 供 你 輸 入 正 確 的 密 碼! 28. 設 定 使 用 者 ID ==> 我 這 裡 通 常 都 先 不 設 定 的! 所 以 就 跳 過 去 吧! 先 不 設 定 囉! 29. 選 擇 加 密 的 條 件 ==> 也 使 用 預 設 值 就 可 以 了! 所 以 按 下 tab 鍵 移 動 至 OK 後, 按 下 En 30. 套 件 選 擇 ==> 呵 呵! 終 於 來 到 重 頭 戲 了! 底 下 提 供 三 個 選 擇, 你 可 以 參 考 看 看! 通 常, 如 果 你 的 硬 碟 很 大 的 話, 那 麼 將 游 標 移 動 到 最 底 下, 選 擇 Every thing 來 個 完 全 安 裝 即 可! 但 是 為 了 安 全 性, 不 建 議 選 擇 Thing 啦!VBird 建 議 以 建 議 二 的 方 式 來 安 裝, 不 過, 如 果 你 的 硬 碟 很 小 的 話, 那 麼 就 選 擇 建 議 一 裝 吧! 無 論 如 何, VBird 的 系 統 中 是 以 建 議 二 安 裝 的! 建 議 一 建 議 二 建 議 三 Network Support Network Support Dialup Support Dialup Support Messaging and Web Tools Messaging and Web Router/Firewall Tools 選 擇 Every Network/Managed Router/Firewall Thing Workstation Network/Managed Utilities Workstation Software Development Utilities Kernel Development 全 部 套 件 共 佔 366 MB 全 部 套 件 共 佔 657 MB 全 部 套 件 共 佔 2902 MB 適 合 只 想 要 作 為 NAT 之 用 的 可 以 後 續 再 加 入 套 件! 新 手 的 安 裝 啦! 機 器 file:///c /Documents and Settings/Administrator/ 桌 面 /0150installredhat.php.htm (7 of 10)200
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Red Hat 7.x 版 大 概 就 這 樣 吧! 若 想 要 跟 VBird 一 樣 的 系 統, 那 就 直 接 以 建 議 二 安 裝 囉! 31. 開 始 正 式 安 裝 囉 ==> 這 個 時 候 系 統 會 跟 你 說 : 安 裝 的 過 程 中, 會 將 資 訊 都 記 錄 在 /var/instal 他, 直 接 給 他 OK 下 去! 然 後 系 統 就 會 正 式 的 作 底 下 的 工 作 囉 : 1. 先 Formating, 這 個 動 作 蠻 快 的, 但 是 如 果 你 前 面 選 擇 了 check bad bloc 時 間! 2. 再 來 是 Copying files, 然 後 是 : 3. Package Installation! 通 常 是 蠻 快 的, 由 於 我 們 安 裝 的 套 件 並 不 多! 不 過, 如 果 話, 那 麼 可 能 要 花 比 較 長 的 時 間 喔! 過 程 中 需 要 抽 換 光 碟 片 喔! 32. 製 作 開 機 片 ==>Boot Disk 最 好 作 一 下 吧! 有 備 而 無 患 呀! 33. 完 成 安 裝 ==> 螢 幕 顯 示 出 Complete 的 時 候, 哈 哈! 恭 喜 你 啦! 這 樣 就 OK 囉! 注 意 事 項 : 你 可 能 會 覺 得 很 奇 怪, 為 什 麼 你 的 安 裝 過 程 會 跟 我 的 不 一 樣?! 呵 呵! 由 於 VBird 的 安 裝 是 比 較 簡 易 的, 包 括 我 也 沒 有 安 裝 X-Windows 呀! 所 以 當 然 也 就 沒 有 X-Windows 的 測 試 的 畫 面 囉! 因 此, 如 果 你 再 擇 了 跟 我 不 一 樣 的 套 件, 不 用 擔 心, 安 裝 過 程 會 有 些 許 的 不 相 同 的! 在 安 裝 完 成 之 後, 請 千 萬 記 得 取 出 光 碟 片, 不 然 又 會 在 進 入 一 次 安 裝 畫 面 喔! 同 時 建 議, 安 裝 完 成 之 後, 請 進 入 您 的 BIOS 當 中, 將 開 機 的 順 序 改 回 來 C A 或 C only 碟 開 機 啦! 好 了! 這 樣 應 該 就 已 經 安 裝 完 畢 了! 請 繼 續 往 下 看 看 吧! 而 且, 相 當 的 建 議 您, 在 正 式 的 進 行 架 站 之 前, 請 依 序 看 一 下 底 下 的 網 頁, 最 好 不 要 跳 著 看, 不 然 的 話, 嘿 嘿 嘿 嘿! 出 現 什 麼 問 題 可 不 要 怪 我! 因 為, 照 著 順 序 看 會 對 你 的 Linux 認 識 比 較 有 幫 助 啦! 建 立 軟 碟 開 機 片 建 立 軟 碟 開 機 片 一 直 是 個 好 主 意! 他 可 以 在 你 求 助 無 門 的 時 候 給 你 莫 大 的 幫 助 喔! 所 以, 建 立 一 個 新 的 軟 碟 開 機 片 是 一 個 好 主 意 啦! 如 何 建 立 呢? 其 實 真 的 是 很 簡 單, 不 過, 需 要 你 的 系 統 核 心 的 版 本 就 是 了! 依 序 進 行 底 下 的 步 驟 ( 先 將 軟 碟 片 塞 進 軟 碟 機 中 喔!) [root @tsai / ]# uname -r 2.4.7-10 <== 先 取 得 核 心 的 版 本 [root @tsai / ]# mkbootdisk --device /dev/fd0 2.4.7-10 Insert a disk in /dev/fd0. Any information on the disk will Press <Enter> to continue or ^C to abort: 按 下 enter 吧! 注 意 一 下 上 表 的 第 三 行, mkbootdisk 是 製 作 開 機 軟 碟 的 指 令, 而 /dev/fd0 是 軟 碟 的 代 號, 至 於 2 核 心 要 注 意 的 是, 如 果 你 的 核 心 曾 經 更 新 過, 那 麼 你 的 核 心 將 不 會 是 預 設 的 2.4.7-10 喔! 需 要 跟 著 改 變 才 行! 這 製 作 OK 囉! 然 後 將 你 的 可 開 機 軟 碟 貼 上 標 籤, 給 他 保 存 起 來 吧! 本 章 習 題 練 習 ( 要 看 答 案 請 將 滑 鼠 移 動 到 答 : 底 下 的 空 白 處, 按 下 左 鍵 圈 選 空 白 處 即 可 察 看 ) Linux 的 目 錄 配 置 以 樹 狀 目 錄 來 配 置, 至 於 磁 碟 分 割 區 ( partition ) 則 需 要 與 樹 狀 目 錄 相 配 合! 安 裝 的 時 候 系 統 會 要 求 你 一 定 要 分 割 出 來 的 兩 個 Partition 為 何? 答 : 就 是 根 目 錄 / 與 虛 擬 記 憶 體 Swap 什 麼 是 IDE 界 面, 一 般 而 言, 普 通 PC 允 許 幾 個 IDE 界 面 與 裝 置? 答 : IDE 為 用 來 傳 輸 硬 碟 資 料 的 一 個 彙 流 界 面 ; 共 有 IDE1, IDE2, 分 別 有 master 與 slave 所 以 共 四 個 IDE 裝 置 支 援! file:///c /Documents and Settings/Administrator/ 桌 面 /0150installredhat.php.htm (8 of 10)200
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Red Hat 7.x 版 IDE2 的 master 之 第 一 個 logical 磁 碟 中, 其 裝 置 代 號 ( 檔 案 名 稱 ) 為 何? 答 : /dev/hdc5 在 硬 碟 分 割 (Partition) 時, 最 多 有 幾 個 primary + extended? 答 : Primary + Extended 共 四 個, 其 中 Extended 只 有 一 這 個 裡! 這 ( 篇 討 更 論 詳 細 ) 的 硬 碟 與 MB 若 在 分 割 的 時 候, 在 IDE1 的 slave 硬 碟 中, 分 割 六 個 有 用 的 磁 區 ( 具 有 filesystem 的 ), 問 六 個 磁 區 的 代 號? 答 : /dev/hdb1(primary) /dev/hdb2(primary) /dev/hdb3(extended) /dev/hda5(logical 底 下 皆 為 logical) /dev/hda6 /dev/hda7 /dev/hda8 請 注 意,5-8 這 四 個 logical 相 加 的 總 和 為 3! 一 般 而 言, 在 RAM 為 64MB 或 128 MB 的 系 統 中, swap 要 開 多 大? 答 : Swap 可 以 簡 單 的 想 成 是 虛 擬 記 憶 體, 通 常 他 的 建 議 大 小 為 RAM 的 兩 倍, 但 是 實 際 上 還 是 得 視 您 的 主 機 規 格 配 途 而 定 約 兩 倍 的 RAM, 亦 即 為 128 MB 或 256 MB, 可 獲 得 較 佳 效 能! 什 麼 是 GMT 時 間? 台 北 時 間 差 幾 個 鐘 頭? 答 : GMT 時 間 指 的 是 格 林 威 治 時 間, 為 標 準 的 時 間, 而 台 北 時 間 較 GMT 快 了 8 小 時! Tap, SCSI 硬 碟, RAID, printer 的 裝 置 代 號? 答 : Tap : /dev/ht0 (IDE), /dev/st0 (SCSI); SCSI H.D.: /dev/sd[a-p], RAID : /dev/md[0-15]; printer : /dev/lp[0-2] 如 果 我 的 磁 碟 分 割 時, 設 定 了 四 個 Primary 磁 區, 但 是 磁 碟 還 有 空 間, 請 問 我 還 能 不 能 使 用 這 些 空 間? 答 : 不 行! 因 為 最 多 只 有 四 個 Primary 的 磁 碟 分 割 槽, 沒 有 多 的 可 以 進 行 分 割 了! 且 由 於 沒 有 Extended 使 用 Logical 分 割 說 我 的 Mandrake 9.0 在 安 裝 的 時 候, 進 行 X-Window 的 測 試 時 都 不 會 成 功, 要 怎 麼 辦 呢? 答 : X-Window System 的! 萬 一 還 是 沒 有 辦 法 登 入 X-Window 的 話, 沒 有 關 係! 不 要 害 怕! 等 到 候, 我 們 再 來 ` 入 的 談 一 談 X-Window 的 設 定 吧!! ^_^ 而, 如 果 萬 一 不 幸 不 小 心 按 下 了 測 試, 要 怎 麼 辦 呢? 漆 黑 了!@_@, 沒 關 係, 此 時 可 以 按 下 [Ctrl] + [Alt] + [F1] 就 可 以 回 到 原 先 的 畫 面 啦! 通 常 在 安 裝 Linux 的 時 候, 最 重 要 的 就 是 磁 碟 分 割 了! 請 問 : 磁 碟 分 割 通 常 要 分 成 幾 個 步 驟? 答 : 1. 進 行 磁 碟 分 割 partition ; file:///c /Documents and Settings/Administrator/ 桌 面 /0150installredhat.php.htm (9 of 10)200
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Red Hat 7.x 版 2. 進 行 格 式 化 format ; 磁 碟 分 割 之 後 會 有 所 謂 的 Primary, Extended 與 Logical 的 磁 碟 分 割 槽, 請 問 何 者 為 可 使 用 的 答 : 只 有 Primary 與 Logical 為 可 用, Extended 為 不 可 直 接 使 用 的 Partition 續 使 用! 而 最 大 可 分 割 出 來 的 Partition 應 該 有 64 個 才 對! 2002/02/06: 第 一 次 完 成 吧? 2003/02/03: 重 新 編 排 與 加 入 FAQ 2002/ 02/06 以 來 統 計 人 數 Designed VBird by during 2001-2004. Aerosol Lab. file:///c /Documents and Settings/Administrator/ 桌 面 /0150installredhat.php.htm (10 of 10)20
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 鳥 哥 的 Linux 與 ADSL 私 房 菜 Linux 安 裝 的 第 一 步 規 劃 硬 碟 分 割 之 配 置 Linux 安 裝 前 準 備 一 個 Linux 安 裝 實 例 多 重 開 機 安 裝 流 程 與 技 巧 課 後 練 習 安 裝 Mandrake 9.0 與 多 重 開 機 技 巧 最 近 更 新 日 期 :2003/0 Linux 安 裝 的 第 一 步 規 劃 由 第 二 章 的 內 容 我 們 大 致 上 可 以 瞭 解 : Linux 主 機 的 配 備 要 求 與 Linux 主 機 所 提 供 的 服 務 有 關, 要 安 裝 Linux 的 第 一 步 就 是 先 進 行 Linux 主 機 的 未 來 藍 圖 規 劃 啦! 那 麼 該 如 何 規 劃? 由 第 二 章 的 內 難 瞭 解, 要 規 劃 好 一 個 Linux 主 機 的 話, 需 要 : 1. 決 定 Linux 主 機 的 角 色 定 位 ; 2. 根 據 步 驟 一, 選 擇 適 當 的 硬 體 配 備 ; 3. 根 據 步 驟 一, 決 定 實 體 硬 碟 的 分 割 狀 態 ; 4. 根 據 主 機 上 面 的 作 業 系 統, 選 擇 適 當 的 開 機 載 入 程 式 ( boot loader ), 以 便 安 裝 在 ( Master Boot Recorder, MBR ); 5. 根 據 步 驟 一, 選 擇 所 需 要 的 Linux 程 式 套 件 ; 好 了, 既 然 已 經 知 道 大 概 需 要 規 劃 的 原 理 之 後, 底 下 我 們 就 實 地 的 來 操 練 一 遍 吧! 好 讓 您 不 會 很 快 的 忘 掉 去! 假 設 : 我 是 我 們 宿 舍 的 代 表, 由 於 同 住 的 校 外 宿 舍 同 學 需 要 上 網 繳 交 作 業, 但 是 該 宿 舍 只 有 一 條 電 話 線, 因 此 希 望 以 ADSL 來 做 為 網 路 連 線 的 方 式 也 就 是 說, 我 們 宿 舍 裡 面 要 安 裝 一 部 Linux 主 機 來 做 為 頻 寬 分 享 的 這 部 Linux 主 機 預 計 也 要 做 為 我 們 宿 舍 裡 面 20 個 人 的 郵 件 主 機, 與 網 頁 空 間 伺 服 器, 請 問 我 該 如 何 規 主 機 呢? 1. Linux 主 機 的 角 色 定 位 : 由 上 面 的 說 明, 可 以 知 道 Linux 主 機 的 服 務 主 要 有 NAT ( Network Address 件 服 務 與 Web 空 間 提 供 等 等, 此 外, 為 了 以 後 方 便 系 統 升 級 與 安 裝 其 他 套 件, 因 此 需 要 安 裝 一 些 工 具 軟 體 例 如 gcc 這 個 編 譯 器 與 kernel-header 或 kernel-source 等 等 套 件 2. 硬 體 的 配 備 選 擇 : 由 於 服 務 的 對 象 並 不 多, 加 上 主 機 的 服 務 當 中, 需 要 CPU 運 算 的 地 方 較 少, 不 過 呢, 由 於 我 需 要 提 供 每 個 的 磁 碟 使 用 空 間, 並 且 還 要 提 供 使 用 者 的 郵 件 空 間, 所 以 硬 碟 方 面 可 能 需 要 大 一 點 容 量 才 行 所 以 我 的 硬 體 配 備 可 以 是 : 主 機 板 與 CPU :CPU 只 要 比 P-166 好 即 可, 而 主 機 板 需 要 與 CPU 形 式 配 合 此 配 備 來 安 裝 就 很 好 了 ; 記 憶 體 : 使 用 64 MB 以 上 的 RAM, 如 果 未 來 網 頁 空 間 的 流 量 太 大 時, 可 能 需 要 提 升 記 憶 體 以 上, 所 以 需 要 預 留 記 憶 體 插 槽 ; 硬 碟 : 硬 碟 至 少 需 要 3.2 GB 以 上 的 IDE 硬 碟 ; 網 路 卡 : 網 路 卡 預 計 使 用 螃 蟹 卡 ; file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (1 of 43)
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 顯 示 卡 : 由 於 這 部 機 器 本 身 是 做 為 主 機 之 用, 所 以 不 需 要 X-Window, 因 此 顯 示 卡 使 用 的 是 的 PCI 顯 示 卡 ; 安 裝 過 程 中 需 要 的 裝 置 : 鍵 盤 螢 幕 光 碟 機 軟 碟 機 等 等, 這 些 裝 置 在 安 裝 完 成 Linux 之 後, 馬 上 拔 掉! 3. 關 於 硬 碟 分 割 的 分 配 : 由 於 我 們 的 Linux 主 機 要 用 做 網 頁 空 間 與 郵 件 主 機, 所 以 如 果 為 了 安 全 起 見, 最 好 將 放 置 網 頁 的 目 錄 與 郵 件 的 目 錄 安 置 在 不 同 的 磁 區 中, 因 此 總 共 規 劃 為 四 個 磁 區, 分 別 為 : / /var/spool/mail /home swap 特 別 注 意 到, 硬 碟 分 割 的 分 配 與 你 的 主 機 規 劃 相 關 性 最 高 了, 在 下 一 節 當 中, 我 們 會 更 仔 細 的 介 紹 硬 碟 分 割 的 基 本 原 理 與 步 驟! 而 至 於 各 個 目 錄 與 磁 區 的 相 對 應 關 係, 我 們 將 在 磁 碟 檔 案 系 統 進 行 說 明, 請 莫 著 急 呦 ^_^! 4. 選 擇 MBR 當 中 的 開 機 管 理 程 式 : 在 Linux 裡 面 預 設 使 用 兩 種 開 機 管 理 程 式, 分 別 是 LILO 與 GRUB 這 兩 個 好 東 西, 其 中, 的 開 機 管 理 程 式, 不 過, VBird 個 人 倒 是 還 蠻 喜 歡 LILO 的, 畢 竟 他 雖 然 比 較 死 板, 但 是 還 蠻 好 號 設 定 上 面 與 Linux 上 的 磁 碟 代 號 相 同, 所 以 沒 有 什 麼 太 大 的 困 擾 而 較 新 的 GRUB 其 實 是 很 棒 管 理 程 式, 我 個 人 認 為, 他 最 大 的 功 能 也 最 具 魅 力 的 地 方 是 具 有 動 態 搜 尋 核 心 檔 案 的 功 能, 他 可 以 讓 您 在 開 機 的 時 候, 可 以 自 行 編 輯 您 的 開 機 設 定 系 統 檔 案, 呵 呵! 所 以 即 使 您 不 小 心 設 定 錯 了 grub, 沒 關 機 的 時 候 自 行 編 輯 一 下 就 好 啦! 這 方 面 的 技 巧, 我 們 會 在 開 機 流 程 與 Loader 的 時 候 再 來 詳 細 的 介 紹, 還 慢 的 從 頭 學 習 起 來 呦! 5. 選 擇 所 需 套 件 : 由 於 將 光 碟 上 面 的 全 部 套 件 都 安 裝, 是 有 點 浪 費 硬 碟 空 間, 當 然 如 果 您 是 要 練 習 Linux 的 話, 那 麼 還 是 的 都 給 他 安 裝 下 去 的 好 由 於 我 們 需 要 Web 與 郵 件, 所 以 需 要 特 別 加 選 這 兩 個 套 件 來 安 裝, 此 外, 由 於 預 的 安 裝 項 目 並 不 包 含 gcc, kernel-headers 等 對 於 自 行 編 譯 程 式 者 而 言 相 當 重 要 的 套 件 這 些 項 目! 到 了 這 一 步 之 後, 嘿 嘿! 規 劃 就 已 經 差 不 多 了, 所 以, 這 個 時 候, 基 本 上 已 經 可 以 開 始 來 安 裝 Linux 啦! 但 是 是 有 個 困 擾 耶, 那 就 是, 在 第 三 步 驟 的 時 候, 我 要 怎 麼 在 安 裝 的 時 候 分 割 我 的 硬 碟 呀!? 第 二 章 裡 面 有 提 過 硬 碟 的 排 線 與 硬 碟 在 Linux 裡 面 的 磁 碟 代 號 有 關, 那 麼 該 如 何 分 割? 另 外, 有 什 麼 自 訂 的 方 式 可 以 來 幫 我 分 割 硬 碟 嗎 呵! 底 下 我 們 就 來 提 一 提 如 何 硬 碟 分 割 之 配 置 硬 碟 分 割 與 配 置 的 好 壞, 會 影 響 到 未 來 您 的 主 機 的 使 用 情 況, 此 外, 好 一 點 的 分 割 方 式, 會 讓 您 的 資 料 保 有 一 定 的 安 全 性! 怎 麼 說 呢? 這 麼 想 好 了, 如 果 你 的 Windows 硬 碟 裡 面, 僅 有 C 槽 的 話, 那 麼 當 Win 要 重 新 安 裝 的 時 候, 你 又 想 要 重 新 格 式 化 ( format ) 時, 而 C 槽 裡 面 很 不 巧 的, 已 經 放 了 很 多 重 要 料, 這 個 時 候 怎 麼 辦? 光 是 搬 這 些 重 要 資 料 到 其 他 空 間 就 受 不 了! 所 以, 比 較 聰 明 的 玩 家, 都 喜 歡 分 割 成 兩 槽 以 上, 將 系 統 檔 案 與 資 料 檔 案 分 開, 可 以 達 到 比 較 好 的 管 理 效 果! 所 以 囉, 正 常 使 用 情 況 下 的 Linux 主 機, 通 常 會 依 照 目 錄 與 主 機 的 特 性, 來 分 割 硬 碟, 以 達 到 比 較 好 的 管 理 成 效 不 過, 由 於 Linux 的 硬 碟 分 割 比 較 具 有 彈 性, 同 時, Linux 硬 碟 分 割 程 式 fdisk 功 能 分 割 的 好, 必 須 要 瞭 解 一 下 基 礎 的 硬 碟 架 構, 所 以, 底 下 我 們 先 來 介 紹 一 下 硬 碟 的 基 本 架 構, 然 後 再 來 介 紹 如 何 分 割 吧! file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (2 of 43)
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 硬 碟 連 接 排 線 與 硬 碟 代 號 : 通 常 在 586 之 後 生 產 的 主 機 板 上 面 都 有 兩 條 接 排 線 的 界 面 ( 排 線 就 是 用 來 連 接 硬 碟 與 主 機 板 的 那 一 個 東 西 啦! ), 而 我 們 稱 這 種 界 面 為 IDE 界 面, 這 也 是 目 前 的 主 流 硬 碟 界 面, 為 了 區 隔 硬 碟 讀 取 的 先 後 順 序, 所 以 主 機 板 上 面 的 這 兩 個 界 面 就 分 別 被 稱 為 Primary ( 主 要 的 ) 與 Secondar 囉, 或 者 被 稱 為 IDE1 ( Primary ) 與 IDE2 ( Secondary ) 而 如 果 面 還 有 兩 個 插 孔, 也 就 是 說 一 條 排 線 可 以 接 兩 個 IDE 界 面 的 裝 置 ( 硬 碟 或 光 碟 機 ), 而 你 有 兩 條 排 因 此 一 個 主 機 板 在 預 設 的 情 況 中, 應 該 都 可 以 接 四 個 IDE 界 面 的 裝 置 好 了, 那 麼 每 條 排 線 上 面 該 如 何 判 別 哪 一 個 是 主 硬 碟 ( Master ), 哪 一 個 是 副 硬 碟 ( Slave ) 呢? 這 個 時 候 就 需 要 ( jump ) 才 可 以 知 道! 請 察 看 一 下 您 的 硬 碟 機 吧! 上 面 應 該 都 會 有 圖 示 說 明 才 對 好 了, 所 以 如 果 我 有 一 個 光 碟 機 了, 那 麼 我 最 多 就 只 能 再 安 裝 三 部 IDE 介 面 的 硬 碟 在 我 的 主 機 上 面 OK! 那 麼 由 於 我 的 硬 碟 與 Linux 的 磁 碟 代 號 有 關, 那 麼 我 怎 麼 知 道 這 個 硬 碟 的 代 號 呢? 沒 問 題 啦, 由 IDE 1 ( Primary IDE ) 的 Master 硬 碟 先 計 算, 最 後 是 IDE 2 的 IDE\Jumper Master Slave IDE1(Primary)/dev/hda /dev/hdb IDE2(Secondary) /dev/hdc /dev/hdd 假 如 我 只 有 一 顆 硬 碟, 而 且 這 一 顆 硬 碟 接 在 IDE 2 的 Master 上 面, 那 麼 他 在 Linux dev/hdc 囉!OK! 好 像 沒 問 題 了 呦! 呵 呵! 才 不 是 呢, 問 題 很 大 呦! 因 為, 如 果 我 這 個 磁 碟 被 分 割 成 兩 槽, 那 麼 每 一 槽 在 Linux 裡 面 的 代 號 又 是 如 何? 注 意! 基 本 上, 在 Linux 底 下 我 們 不 是 用 位, 而 是 以 partition ( 磁 碟 分 割 區 塊 ) 來 說 明! 所 以 囉, 如 何 知 道 每 個 partiti 認 識 硬 碟 : 基 本 上, 硬 碟 是 由 最 小 的 組 成 單 位 磁 區 ( sector ) 所 組 成 的, 而 數 個 磁 區 組 成 一 個 磁 柱 ( c 構 成 整 個 硬 碟 的 容 量 大 小 關 於 硬 碟 的 管 理 我 們 在 後 續 章 節 再 來 介 紹, 這 裡 我 們 比 較 想 要 知 道 的 是, 如 何 分 割 硬 碟, 所 以 先 簡 單 的 將 硬 碟 變 成 如 下 的 圖 示 : 在 上 面 的 圖 示 中, 我 們 可 以 很 清 楚 的 知 道, 在 硬 碟 裡 面 有 分 為 兩 個 區 域, 一 個 是 放 置 這 個 硬 碟 的 資 訊 區, 我 們 稱 為 Master Boot Recorder, MBR ( 主 要 開 機 磁 區 ), 一 個 則 是 實 可 以 說 是 整 個 硬 碟 最 重 要 的 地 方 了, 因 為 在 MBR 裡 面 記 錄 了 兩 個 重 要 的 東 西, 分 別 是 : 開 機 管 理 程 式, 與 磁 碟 分 割 表 ( partition table ) 因 此, 只 要 MBR 物 理 實 體 壞 掉 了, 那 麼 了! 因 為, 如 果 系 統 找 不 到 partition table, 就 無 法 使 用 這 塊 硬 碟, 所 以 資 料 即 使 沒 有 丟 MBR, 呵 呵, 還 是 不 能 使 用 的 啦! 首 先 來 看 一 看 什 麼 是 partition table 呢? 簡 單 的 說, 我 們 說 的 硬 碟 分 割 就 是 在 修 改 這 table 而 已! 他 基 本 上 定 義 了 第 n 個 磁 碟 區 塊 是 由 第 x 磁 柱 到 第 y 個 磁 柱, 所 以, 每 次 讀 取 n 磁 碟 區 塊 時, 就 只 會 去 讀 取 第 x 到 y 個 磁 區 之 間 的 資 料! 呵 呵! 這 樣 知 道 了 嗎? 很 簡 單 吧! 次 記 得 人 家 在 談 磁 碟 分 割 的 時 候, 不 要 以 為 系 統 真 的 會 在 硬 碟 上 面 用 力 努 力 的 劃 標 籤! 實 際 上, 他 最 大 的 功 能 就 是 修 改 MBR 裡 面 的 partition table 啦! 不 過, 由 於 這 個 MBR 區 初 設 計 的 時 候, 就 只 有 設 計 成 4 個 分 割 紀 錄, 這 些 分 割 記 錄 就 被 稱 為 Primary ( 主 分 割 ) 伸 分 割 ), 也 就 是 說, 一 顆 硬 碟 最 多 可 以 有 4 個 Primary + Extended 的 磁 區, file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (3 of 43)
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 個, 因 此, 你 如 果 要 分 割 成 四 塊 磁 碟 分 割 的 話, 那 麼 最 多 就 是 可 以 : P + P + P + P P + P + P + E 的 情 況 來 分 割 了 其 中 需 要 特 別 留 意 的 是, 如 果 上 面 的 情 況 中, 3P +E 只 有 三 個 可 用 的 磁 碟, 如 果 要 四 個 都 可 用, 就 得 分 割 成 4P 了!( 因 為 Extended 不 能 直 接 被 使 用, 還 需 要 分 割 成 行, 底 下 我 們 會 繼 續 說 明 的! ) 那 麼 為 什 麼 要 有 Extended 呢? 這 是 因 為 如 果 我 們 要 將 硬 碟 分 割 的 磁 塊 的 話, 那 麼 怎 麼 辦? 這 個 時 候 就 需 要 Extended 的 幫 忙 了, 本 身 Extended 是 不 能 被 使 用 的, 還 需 要 再 額 外 的 將 Extended 分 割 成 Logical ( 邏 輯 ) 分 割 才 能 被 使 用 Extended 的 幫 忙, 我 們 就 可 以 分 割 超 過 5 個 可 以 利 用 的 partition 囉! 不 過, 在 實 易 出 現 問 題 的, 底 下 我 們 來 思 考 看 看 : 思 考 一 : 如 果 我 要 將 我 的 大 硬 碟 暫 時 分 割 成 四 個 partition, 同 時, 還 有 其 他 的 空 間 可 我 在 未 來 的 時 候 進 行 規 劃, 那 麼 該 如 何 分 割? 說 明 : 由 剛 剛 的 說 明, 我 們 可 以 知 道, Primary + Extended 最 多 只 能 有 四 個 p 過 5 個 partition 的 話, 那 麼 就 需 要 Extended 的 幫 忙 因 此, 在 這 能 分 割 成 四 個 Primary 為 什 麼 呢? 假 如 您 是 一 個 20 GB 的 硬 碟, 而 4 個 了 15 GB, 您 心 想 還 有 5 GB 可 以 利 用 對 吧? 錯! 剩 下 的 5 GB 完 全 不 能 為 已 經 沒 有 多 餘 的 partition table 紀 錄 區 可 以 記 錄 了, 因 此 也 就 無 法 進 行 額 囉, 空 間 也 就 被 浪 費 掉 了! 因 此, 請 千 萬 注 意, 如 果 您 要 分 割 超 過 4 槽 以 上 時, 請 記 得 一 定 要 有 Extended 分 割 區, 而 且 必 須 將 所 有 剩 下 的 空 間 都 分 配 給 Extended logical 的 分 割 區 來 規 劃 Extended 的 空 間 思 考 二 : 我 可 不 可 以 僅 分 割 1 個 Primary 與 1 個 Extended 呢? 說 明 : 當 然 可 以! 基 本 上, Logical 可 以 有 64 個, 因 此, 你 可 以 僅 分 割 一 個 主 分 割, 並 其 他 的 分 割 都 給 Extended, 利 用 Logical 分 割 來 進 行 其 他 的 parti 思 考 三 : 假 如 我 的 硬 碟 安 裝 在 IDE 1 的 Master, 並 且 我 想 要 分 割 成 6 個 可 以 使 用 麼 每 個 磁 碟 在 Linux 底 下 的 代 號 為 何? 說 明 : 由 於 硬 碟 在 Primary + Extended 最 多 可 以 有 四 個, 因 此, 在 Linux table 1 ~ 4 先 留 下 來 了, 如 果 只 用 了 2 個 P + E 的 話, 那 麼 將 會 空 出 呦! 再 詳 細 的 說 明 一 下, 假 設 我 將 四 個 P + E 都 用 完 了, 那 麼 硬 碟 的 實 際 分 割 會 如 同 下 圖 所 示 : 實 際 可 以 使 用 的 是 /dev/hda1, /dev/hda2, /dev/hda3, / partition! 至 於 /dev/hda4 這 個 Extended 磁 區 本 身 僅 是 用 來 碟 空 間 而 已! 那 麼 萬 一 我 只 想 要 分 割 1 個 Primary 與 1 個 Extended 呢? 這 個 時 下 所 示 : file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (4 of 43)
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 注 意 到 了 嗎? 因 為 1~4 號 已 經 被 預 留 下 來 了, 所 以 第 一 個 Logical 的 代 號 由 5 起 來, 而 後 面 在 被 規 劃 的, 就 以 累 加 的 方 式 增 加 磁 碟 代 號 囉! 而 其 中 /dev/hda3, / 則 是 空 的, 被 保 留 下 來 的 代 號 Linux 底 下 的 硬 碟 分 割 模 式 選 擇 注 意 事 項 : 實 際 上, 在 Linux 安 裝 的 時 候, 已 經 提 供 了 相 當 多 的 預 設 模 式 讓 您 選 擇 分 割 的 方 式 了, 不 過, 無 論 如 何, 分 割 的 行 為 都 不 是 很 能 符 合 自 己 主 機 的 樣 子! 因 為 畢 竟 每 個 人 的 想 法 都 不 太 一 樣! 因 此, 強 烈 建 議 使 用 自 訂 安 裝, Custom 這 個 安 裝 模 式! 在 某 些 Linux distribution 害, 叫 做 是 Expert, 專 家 模 式, 這 個 就 厲 害 了, 請 相 信 您 自 己, 瞭 解 上 面 就 自 稱 為 專 家 了 有 問 題! 自 訂 安 裝 Custom : A: 初 次 接 觸 Linux : 只 要 切 割 / 及 Swap 即 可! 好 了, 通 常 初 次 安 裝 Linux 系 統 的 朋 友 們, 我 們 都 會 建 議 他 直 接 以 一 個 最 大 的 磁 區 / 來 安 裝, 這 樣 有 個 好 處, 就 是 不 怕 分 割 錯 誤 造 成 無 法 安 裝 的 困 境! 例 如 /usr/ 是 Lin 可 執 行 程 式 及 相 關 的 文 件 擺 放 的 目 錄, 所 以 他 的 容 量 需 求 蠻 大 的, 萬 一 你 分 割 了 一 塊 磁 區 給 /usr, 但 是 卻 給 的 不 夠 大, 那 麼 就 傷 腦 筋 了! 因 為 會 造 成 無 法 將 資 料 完 全 寫 入 的 問 題, 就 有 可 能 會 無 法 安 裝 啦! 因 此 上, 如 果 你 是 初 次 安 裝 的 話, 那 麼 可 以 僅 分 割 成 兩 個 磁 區 / 與 Swap 即 可! B: 建 議 分 割 的 方 法 : 預 留 一 個 備 份 的 磁 區! 就 如 同 前 面 幾 個 心 得 分 享 文 章 中 提 到 的, 由 於 Linux 預 設 的 目 錄 是 固 定 的, 所 以, 通 常 我 們 會 將 /var 及 /home 這 兩 個 目 錄 稍 微 加 大 一 些, 如 果 硬 碟 夠 大 的 話, 加 個 幾 G 過! 另 外, /usr 至 少 給 他 3~5 GB 吧, 如 果 硬 碟 真 的 大 的 話! 而 / 也 可 以 給 間 最 後, 由 於 我 們 的 Linux 可 能 是 在 試 用 階 段, 所 以 很 有 可 能 會 重 複 的 一 再 安 裝, 因 此 上, VBird 都 會 預 留 一 個 磁 區 來 備 份 我 的 核 心 啦 與 實 作 過 程 中 覺 得 不 錯 的 scri 有 點 像 DOS 的 批 次 檔 ), 當 然, 我 的 /home 底 下 的 咚 咚 也 可 以 有 備 份 的 地 方, 件 的 原 始 檔 案 也 可 以 擺 在 這 裡! 有 個 最 大 的 好 處 是, 當 我 的 Linux 重 新 安 裝 的 時 候, 我 的 一 些 套 件 馬 上 就 可 以 直 接 在 硬 碟 當 中 找 到! 呵 呵! 重 新 安 裝 比 較 便 利 啦! 選 擇 Linux 安 裝 程 式 提 供 的 的 硬 碟 分 割 方 式 : 對 於 首 次 接 觸 Linux 的 朋 友 們, 通 常 不 建 議 使 用 各 個 distribution 所 提 供 預 設 因 為 會 讓 你 無 法 得 知 Linux 在 搞 什 麼 鬼, 而 且 也 不 見 得 可 以 符 合 你 的 需 求! 注 意 : 選 擇 Ser 時 候, 請 確 定 您 的 硬 碟 資 料 是 不 要 的! 因 為 Linux 會 自 動 的 把 你 的 硬 碟 裡 面 舊 有 的 資 料 全 部 殺 掉! 此 外, 硬 碟 至 少 需 要 2 GB 以 上 才 可 以 選 擇 這 一 個 模 式! 硬 碟 方 面 的 規 劃 大 致 上 就 是 如 此 啦! 要 規 劃 硬 碟 的 時 候, 請 特 別 的 小 心 呦! Linux 安 裝 前 準 備 file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (5 of 43)
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 Linux 安 裝 之 前 要 準 備 什 麼 呢? 就 是 剛 剛 前 面 已 經 講 過 的 幾 個 咚 咚 啦! 歸 納 一 下 : 1. Linux 主 機 規 劃 單 : 就 是 剛 剛 我 們 規 劃 好 的 那 個 單 據 囉! 2. Linux distribution : 利 用 一 些 映 象 站 台 下 載 各 版 本 的 Linux, 或 者 直 接 Mandrake 進 行 安 裝 囉! 3. 主 機 硬 體 資 訊 收 集 : 根 據 主 機 規 劃 單 的 內 容, 去 收 集 一 下 你 的 硬 體 資 訊 吧! 其 中 特 別 重 要 的 是, 先 檢 查 一 下 是 否 可 以 使 用 光 碟 開 機 呢? 如 果 BIOS 不 能 支 援 光 碟 開 機 的 話, 那 麼 就 需 要 先 行 安 裝 可 開 機 軟 碟 4. 網 路 硬 體 連 線 : 這 部 份 本 書 先 不 談, 否 則 內 容 就 太 多 了, 阿! 再 寫 下 去 鳥 哥 會 瘋 掉 所 以 請 大 家 先 上 網 查 閱 一 下 網 路 的 硬 體 連 線 吧! 5. 網 路 資 訊 : 包 括 你 的 IP, netmask, gateway, dns IP 是 否 為 撥 接 等 然 後, 其 實 各 個 套 件 的 安 裝 步 驟 都 差 不 多, 大 概 都 是 : A. 選 擇 安 裝 模 式 : 主 要 分 為 圖 形 介 面 安 裝 與 文 字 介 面 安 裝 ; 如 果 是 圖 形 介 面 安 裝 的 話, 還 可 以 選 擇 語 系, 這 個 時 候 我 們 就 有 中 文 可 以 使 用 啦! B. 搜 尋 硬 體 資 訊 : 然 後 安 裝 程 式 會 去 搜 尋 一 下 系 統 的 硬 體 設 備, 以 利 後 續 的 處 理, 有 的 安 裝 程 式 會 在 這 個 地 方 讓 您 加 入 一 些 參 數, 以 驅 動 不 明 的 裝 置 設 備 ; C. 設 定 鍵 盤 滑 鼠 模 式 : 這 個 可 是 很 重 要 的 項 目 呀! D. 硬 碟 分 割 設 定 : 就 是 剛 剛 提 到 的 幾 個 注 意 事 項 ; E. 套 件 選 擇 : 這 是 很 重 要 的 部 分 呢! 請 特 別 留 意! F. 網 路 與 安 全 性 設 定 : 連 上 Internet 的 模 式 與 驅 動 網 路 卡 的 方 式 等 設 定 ; G. 超 級 管 理 員 與 一 般 身 份 使 用 者 帳 號 設 定 : 最 重 要 的 是 設 定 root ( 超 級 管 理 員 ) 的 密 碼 囉! H. 設 定 X-Window 與 開 機 片 : 如 果 有 安 裝 X-Window 相 關 的 軟 體, 那 麼 X-Win 試 一 下, 另 外, 製 作 開 機 片 永 遠 是 最 正 確 的 選 擇! 大 概 就 是 這 樣 子 吧! 好 了, 底 下 我 們 就 真 的 要 來 安 裝 囉! 一 個 Linux 安 裝 實 例 好 咯, 我 要 開 始 安 裝 我 的 Linux 啦! 那 麼 先 說 明 一 下 我 的 基 本 規 劃 : Linux 主 機 定 位 : 關 於 這 部 Linux 主 機, 主 要 是 用 來 做 為 練 習 與 比 較 各 不 同 版 本 Linux 之 間 的 差 異 用 的, 所 以 定 上 面, 預 計 並 不 提 供 任 何 的 網 路 服 務 ; 硬 體 要 求 : 因 為 定 位 在 練 習 上 面, 所 以 以 手 邊 有 的 機 器 來 做 為 練 習 就 是 了, 且 由 於 是 手 邊 的 工 作 機, 所 以 必 須 要 安 裝 多 重 開 機 系 統 CPU 使 用 P-III 933 的 CPU, 這 個 是 我 的 工 作 機 啦, 實 際 上 不 需 要 這 麼 高 檔 的 貨 記 憶 體 使 用 128 MB, 是 PC 133 的 規 格 ; 硬 碟 使 用 手 邊 有 的 一 顆 30 GB 硬 碟, 預 計 未 來 要 在 上 面 安 裝 3 ~ 4 個 Linux 系 安 裝 中, 預 計 規 劃 /, /home, swap 三 個 磁 碟 區 塊 而 已 ; 網 路 卡 使 用 最 常 見 的 螃 蟹 卡 ; 顯 示 卡 則 是 前 一 陣 子 的 主 流, 但 是 目 前 已 經 落 伍 了 的 Geforce 2 MX ; 其 他 軟 碟 機 光 碟 機 滑 鼠 鍵 盤 等 等 的 配 備, 則 是 一 般 的 個 人 電 腦 之 配 備 磁 碟 分 割 : file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (6 of 43)
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 如 同 剛 剛 提 到 的, 由 於 是 定 位 在 練 習 上 面, 所 以 僅 分 割 出 /, /home, swap 三 個 磁 碟 區 塊, 各 / /dev/hda1 :4 GB /home /dev/hda3 :1 GB Swap /dev/hda2 :200 MB 其 他 則 為 尚 未 規 劃 空 間 由 於 需 要 多 重 開 機, 所 以 選 擇 開 機 管 理 程 式 為 grub 這 個 程 式, 並 且 安 裝 在 MBR 裡 頭 ; 套 件 選 擇 : 由 於 是 定 位 在 練 習 上 面, 並 且 不 提 供 任 何 的 網 路 服 務, 所 以 一 些 零 碎 的 套 件 將 不 安 裝, 並 且 X-Window 僅 安 裝 個 人 較 為 喜 好 的 KDE 套 件 ; 好 啦! 真 的 要 來 安 裝 了! 請 依 照 下 面 的 步 驟 來 進 行 吧! 1. 選 擇 開 機 次 序 並 開 機 : 我 們 可 以 在 BIOS 裡 面 設 定 開 機 的 次 序, 看 看 能 不 能 以 光 碟 機 開 機! 現 今 的 主 機 板 大 多 已 經 支 援 這 項 功 能 了, 而 我 們 的 Mandrake 9.0 光 碟 片 本 身 就 是 可 以 開 機 的, 所 以 設 定 成 光 碟 開 機 最 好 囉! 設 為 : 按 電 源 鍵 開 機 ; 在 進 入 系 統 之 前 會 出 現 Del 字 樣 ( 每 個 廠 牌 不 太 相 同 ), 此 時 按 下 鍵 盤 上 的 Delete 鍵 ; 進 入 BIOS 之 後 以 方 向 鍵 選 擇 BIOS Features Setup 這 一 項, 或 者 是 Features, 不 管 如 何, 反 正 只 要 看 到 BIOS Features 字 樣 的 那 一 項 就 對 了 將 方 向 鍵 移 動 至 Boot Sequence 或 者 是 First Boot Device Up 或 Page Down 按 鍵, 選 擇 CD-ROM 為 第 一 開 機 順 位 即 可 這 裡 注 意 的 機 器 並 不 支 援 CD-ROM 開 機 的 話, 你 一 定 找 不 到 CD-ROM 這 一 項, 這 時 請 製 作 開 機 片 並 將 此 項 調 整 為 A 為 第 一 順 位 ; 按 鍵 盤 上 ESC 鍵 退 出 ; 將 方 向 鍵 移 動 至 Save and Exit 這 一 項 按 Enter 及 Y 確 認 後 如 果 是 必 須 以 軟 碟 開 機 的 話, 那 麼 需 要 的 動 作 就 變 成 了 : 隨 便 找 一 台 Windows 電 腦, 啟 動 檔 案 總 管, 進 入 光 碟 機 的 檔 案 資 料 夾, 假 如 您 的 光 碟 機 在 E 槽, 那 麼 請 進 入 E:\dosutils 這 個 目 錄, 請 注 意, 每 個 人 的 光 碟 機 所 在 磁 碟 代 號 都 不 一 樣 的 電 腦 來 操 作 ; 在 該 目 錄 當 中, 點 選 rawrite 這 個 應 用 程 式, 然 後 在 出 現 的 MS-DOS 畫 面 之 中 依 序 輸 ( 註 : 那 個 磁 碟 代 號 是 光 碟 機, 請 依 您 的 電 腦 實 際 配 置 來 決 定! ) Enter disk image source file name: e:\images\cdro Enter target diskette drive: a: Please insert a formatted diskette into drive A: 請 注 意, 請 將 軟 碟 放 入 您 的 軟 碟 機 當 中 呦! 無 論 如 何, 在 進 行 完 上 面 的 步 驟 之 後, 請 將 第 一 片 Mandrake 可 開 機 光 碟 放 入 光 碟 機 中, 如 果 使 用 軟 的 朋 友, 請 將 可 開 機 軟 碟 放 入 軟 碟 機, 否 則 拿 出 軟 碟, 按 下 電 源, 給 他 開 機 去! 2. 選 擇 安 裝 模 式 : 一 般 Linux 支 援 兩 種 安 裝 模 式, 分 別 是 圖 形 介 面 與 文 字 介 面 正 常 的 話, 在 開 機 之 後, 會 到 底 下 的 這 file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (7 of 43)
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 個 畫 面, 在 這 裡 可 以 直 接 按 下 Enter 來 進 入 圖 形 安 裝 介 面, 或 者 在 boot: 後 面 輸 入 text 裝 由 於 Mandrake 的 安 裝 程 式 做 的 蠻 好 的, 所 以 通 常 可 以 順 利 的 進 入 圖 形 安 裝 程 式 當 中 如 果 必 須 文 字 介 面 來 安 裝 的 話, 那 麼 也 沒 有 關 係, 因 為 全 部 的 步 驟 都 跟 圖 形 介 面 下 一 模 一 樣, 所 以 您 可 以 對 照 著 這 個 網 頁 的 步 驟 來 試 看 看 3. 選 擇 安 裝 程 式 的 語 系 : 在 boot: 之 後, 會 跑 一 些 安 裝 程 式 所 需 要 的 資 料, 然 後 就 是 進 入 這 個 語 系 選 擇 的 畫 面 由 於 我 們 比 較 看 的 懂 中 文 呀! 所 以, 在 進 入 圖 形 介 面 之 後, 請 移 動 滑 鼠 並 且 選 擇 上 面 的 項 目, 選 擇 完 畢 之 後, 請 按 下 OK 按 鈕 即 可 ; 4. 是 否 接 受 授 權 碼 規 定 : 授 權 碼 一 定 要 選 擇 接 受 才 可 以 繼 續 呦! 所 以 就 接 受 吧! 同 時 請 注 意 到, 在 這 個 安 裝 程 式 的 畫 面 中, 主 要 分 為 三 個 區 域 : 執 行 流 程 步 驟 區 : 這 個 區 域 是 在 左 邊 的 流 程 列, 您 會 發 現 到 上 面 的 畫 面 中, 那 個 選 擇 語 系 左 邊 的 按 鈕 列 顏 色 不 一 樣! 對 啦, 那 表 示 已 經 或 正 在 安 裝 的 步 驟 咯! 而 在 下 方 的 顏 色 則 是 表 示 尚 待 進 行 中 的 流 程 好 了, 那 麼 假 設 您 已 經 進 行 到 了 第 五 個 流 程, 亦 即 是 選 擇 鍵 盤 形 式 那 個 流 程 時, 卻 想 要 回 到 前 一 個 流 程, 亦 即 是 設 定 滑 鼠 時, 可 以 將 滑 鼠 移 動 到 設 定 滑 鼠 左 邊 的 按 鈕, 按 下 他, 嘿! 就 回 到 設 定 滑 鼠 的 畫 面 啦! file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (8 of 43)
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 此 步 驟 的 提 示 內 容 : 在 上 頭 畫 面 的 右 下 方, 就 是 此 一 步 驟 的 提 示 協 助 文 字 區 ( Help ), 您 可 以 到 該 畫 面 的 右 邊 捲 軸 處 移 動, 以 瞭 解 完 整 的 資 訊 ; 該 步 驟 的 選 擇 項 目 : 就 是 佔 了 畫 面 最 大 面 積 的 那 個 框 框 當 中 啦! 裡 面 是 關 於 該 步 驟 安 裝 時, 需 要 您 來 設 定 的 選 擇 項 目, 請 仔 細 的 進 行 選 擇 吧! 此 外, 在 某 些 流 程 步 驟 當 中, 會 另 外 有 跳 出 式 視 窗 來 提 供 您 選 擇 或 設 定, 這 就 是 基 本 的 安 裝 程 式 畫 面 囉 5. 選 擇 預 設 或 自 訂 安 裝 : 目 前 的 distribution 通 常 還 蠻 好 心 的, 會 詢 問 您 是 否 要 安 裝 還 是 在 既 有 的 Linux 外, 也 可 以 不 升 級 核 心, 僅 升 級 可 以 升 級 的 套 件! 由 於 我 們 是 第 一 次 安 裝, 且 想 要 以 自 己 最 想 要 的 方 式 來 安 裝, 所 以 當 然 就 如 同 上 面 一 般, 選 擇 自 訂 及 按 下 安 裝 即 可! file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (9 of 43)
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 6. 硬 碟 偵 測 : 由 於 您 的 系 統 上 面 可 能 會 有 SCSI 介 面 的 硬 碟, 果 真 有 的 話, 由 於 Linux 會 再 以 額 外 的 程 式 去 偵 動 SCSI 介 面 的 硬 碟, 所 以 這 裡 才 需 要 選 擇 是 的, 如 果 您 跟 VBird 一 樣 是 個 苦 命 的 人, 那 麼 接 給 他 否 吧! 當 然, 有 興 趣 的 話, 可 以 去 檢 視 硬 體 資 訊 看 看 你 的 硬 體 配 備 是 否 被 正 常 的 驅 動 了 呢? file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (10 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 7. 設 定 滑 鼠 : 選 擇 屬 於 您 正 確 的 滑 鼠 類 型, 這 裡 設 定 錯 的 話, 有 些 distribution 可 是 不 許 您 進 入 X-Wi 鼠 比 較 有 關 係 的 是 他 的 連 接 到 主 機 的 類 型 啦! 如 果 是 圓 頭 的, 那 就 稱 為 是 PS2 介 面 的 滑 鼠, 如 果 是 有 九 個 孔 的, 就 稱 為 序 列 埠 滑 鼠, 如 果 是 扁 頭 的, 那 就 是 USB 滑 鼠 啦! 我 們 這 裡 選 擇 標 準 就 好 了! file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (11 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 8. 設 定 鍵 盤 : 通 常 我 們 直 接 選 擇 美 式 鍵 盤 即 可! file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (12 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 9. 安 全 性 設 定 : 共 分 為 四 種 等 級, 分 別 為 標 準 高 較 高 嚴 密 等 四 個, 通 常 我 們 選 擇 標 準 就 可 以 了! 對 於 安 全 性 而 言, 這 樣 的 設 定 可 能 並 不 足 夠, 需 要 再 進 一 步 的 設 定, 關 於 安 全 性 的 設 定 文 章, 請 參 考 相 關 書 籍 不 過, 我 們 這 裡 的 定 義 是 練 習 用 主 機, 所 以 選 擇 標 準 即 可 file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (13 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 10. 設 定 檔 案 系 統 及 硬 碟 分 割 : 接 著 下 來 是 最 重 要 的 硬 碟 分 割 方 式! 如 上 圖 所 示, 我 們 會 看 到 硬 碟 的 整 體 資 訊, 由 於 我 們 的 硬 碟 尚 未 規 劃, 所 以 在 hda 的 部 分 為 白 色 的 模 樣! 此 外, 在 底 下 有 幾 個 重 要 的 按 鈕, 分 別 的 功 能 是 : 全 部 清 除 : 將 原 有 的 硬 碟 分 割 全 部 刪 除 成 未 分 割 的 樣 子 ; 自 動 分 配 : 以 系 統 磁 碟 分 割 方 式 進 行 磁 碟 分 割 ; 更 多 : 更 多 的 詳 細 資 料 ; 精 靈 : 叫 出 提 示 精 靈 ; 復 原 : 恢 復 成 尚 未 進 行 分 割 前 的 樣 子 ; 切 換 到 一 般 模 式 : 換 成 較 為 簡 易 的 設 定 畫 面 ; 完 成 : 完 成 磁 碟 分 割, 並 將 partition table 寫 入 MBR 內 file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (14 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 A. 建 立 根 目 錄 分 割 : 在 按 一 下 hda 那 個 空 白 的 區 域 之 後, 在 選 擇 動 作 欄 內 會 出 現 新 建 字 樣, 按 下 新 建 會 出 file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (15 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 現 底 下 的 圖 樣 : 在 這 個 跳 出 式 的 視 窗 之 中, 我 們 要 選 擇 的 是 開 始 的 磁 區 與 大 小, 剛 剛 我 們 的 設 定 是 需 要 根 目 錄 約 4 GB 左 右, 這 裡 開 始 的 磁 區 使 用 預 設 值 即 可, 滑 鼠 移 到 大 小 右 邊 的 那 個 捲 軸 上 面, 請 注 意, 由 於 每 個 磁 碟 的 大 小 不 同, 所 以 一 個 磁 柱 的 大 小 也 都 不 一 樣, 因 此, 你 的 螢 幕 前 面 看 到 的 內 容 可 能 與 我 的 不 一 樣, 請 特 別 留 意! 設 定 完 了 磁 碟 的 大 小 之 後, 再 來 是 要 選 擇 磁 碟 的 檔 案 格 式,Linux 預 設 的 檔 案 格 式 是 Ext2 更 新 的 Ext3 檔 案 格 式 中, 提 供 了 更 多 的 日 誌 式 記 錄 功 能, 所 以 目 前 也 可 以 使 用 Ext3 這 一 格 式 呦! 同 時, 我 們 選 擇 了 / 根 目 錄 做 為 掛 載 點 以 及 Primary 做 為 設 定 值, 所 以, 最 得 到 的 結 果 為 : 再 按 下 確 定 之 後, 就 會 顯 示 出 目 前 這 個 磁 區 的 屬 性 啦! 如 下 圖 所 示 : file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (16 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 在 上 面 的 圖 示 中, 將 滑 鼠 移 動 到 空 白 的 區 域 之 內, 按 一 下 滑 鼠 左 鍵, 就 又 會 出 現 新 建 的 字 樣, 此 時, 再 繼 續 新 建 的 工 作! 好 啦, 我 們 來 新 建 一 下 Swap 這 個 虛 擬 記 憶 體 吧! B. 建 立 虛 擬 記 憶 體 Swap : 與 新 建 的 功 能 相 當, 不 過, 需 要 選 擇 的 則 是 檔 案 系 統 格 式 內 容, 需 要 選 擇 為 swap 的 格 式, 則 底 下 掛 載 點 會 自 動 被 取 消 掉! Linux 這 個 Swap 有 什 麼 功 能 呢? 簡 單 的 說, 他 可 以 被 看 做 為 虛 擬 記 憶 體 囉, 那 麼 虛 擬 記 憶 體 是 什 麼? 您 可 以 這 樣 想 像, 當 你 的 實 體 記 憶 體 只 有 64 MB 的 時 候, 但 是 你 的 系 統 負 荷 突 然 之 間 太 大 了, 例 如 突 然 之 間 有 數 十 個 人 連 上 你 的 Web 伺 服 器 時, 那 麼 你 的 實 體 記 憶 體 將 不 足 以 負 荷 這 些 計 算 的 資 料! 怎 麼 辦? 這 個 時 候 我 們 可 以 使 用 硬 碟 來 模 擬 記 憶 體 的 資 料 存 取, 這 個 就 是 所 謂 的 虛 擬 記 憶 體 囉! 不 過, 虛 擬 記 憶 體 的 速 度 會 比 較 慢 呦! 當 有 資 料 被 存 放 在 實 體 記 憶 體 裡 面, 但 是 這 些 資 料 又 不 是 常 被 CPU 所 取 用 時, 那 麼 這 些 不 常 被 使 用 的 程 序 將 會 被 丟 到 虛 擬 記 憶 體 當 中, 而 將 速 度 較 快 的 實 體 記 憶 體 空 間 釋 放 出 來 給 真 正 需 要 的 程 序 使 用! 這 就 是 虛 擬 記 憶 體 的 功 效 啦! 通 常 Swap 建 議 的 值 大 約 是 RAM 的 兩 倍 大 是 這 個 因 地 制 宜 啦! 像 我 的 Proxy 主 機 本 身 的 記 憶 體 就 達 到 1GB 了, 那 麼 是 否 還 需 要 虛 擬 體 呢? 見 仁 見 智 囉! C. 新 增 其 他 掛 載 磁 區 : file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (17 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 好 啦! 再 來 以 同 樣 的 方 法 建 立 其 他 的 磁 碟 分 割, 同 樣 的 方 式 建 立 起 /home 這 一 個 磁 碟 分 割 吧! 請 注 意, 上 面 三 個 我 都 使 用 Primary 進 行 分 割 的 呦! 最 後 的 資 料 就 成 為 : D. 使 用 預 設 分 割 行 為 分 割 : file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (18 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 安 裝 程 式 也 提 供 了 三 種 主 要 的 預 設 分 割 方 式 來 給 使 用 者, 當 我 按 下 全 部 清 除 並 且 再 按 下 自 動 分 配 之 後, 會 出 現 上 面 的 視 窗, 其 中, 他 們 的 分 割 方 式 分 別 為 : with /usr: / : 1GB Swap : 2 * RAM /usr : 3.9 GB /home : 其 他 剩 餘 的 空 間 都 直 接 給 /home simple: / : 5.3 GB Swap : 2 * RAM /home : 其 他 剩 餘 的 空 間 server: / : 256 MB Swap : 3 * RAM /usr : 3.9 GB /tmp : 500 MB /var 與 /home 平 均 分 配 其 他 的 硬 碟 空 間 同 樣 的, 我 們 這 裡 不 建 議 使 用 安 裝 程 式 提 供 的 方 式 來 分 割 啦! E. 寫 入 磁 碟 分 割 表 : 最 後, 就 給 他 輸 入 完 成, 並 且 在 出 現 的 視 窗 中, 將 硬 碟 分 割 表 寫 入, 這 樣 就 完 成 了 我 們 的 硬 碟 分 割 囉! 哇! 好 累 呦! F. 選 擇 剛 剛 分 割 完 成 的 磁 碟 分 割 表 : file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (19 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 使 用 剛 剛 完 成 的 那 個 分 割 表, 所 以 選 擇 第 二 項 即 可 按 下 確 定! G. 設 定 掛 載 點 : 再 次 的 設 定 掛 載 點, 對 應 好 剛 剛 的 分 割 表! 嘿 嘿! 這 樣 就 完 成 了 最 麻 煩 的 工 作 之 一 了! H. 硬 碟 分 割 的 建 議 : 這 裡 必 須 要 給 Linux 新 鮮 人 一 些 硬 碟 分 割 上 面 的 建 議 : 甲 初 次 使 用 Linux : Swap 約 100 MB 其 他 的 都 給 / ; 乙 進 階 使 用 者 : Swap 約 100 MB; /var 給 3?5 GB; /usr 給 3?5 GB; / 給 1 GB 以 上 ; /home 可 以 給 大 一 些 ; /backup 用 來 做 為 備 份 的 磁 區 11. 硬 碟 格 式 化 : 接 著 下 來, 硬 碟 分 割 完 畢 之 後, 就 是 格 式 化 硬 碟 啦! 沒 錯, 所 以 這 裡 選 擇 一 下 你 要 格 式 化 的 磁 碟, 當 然, 如 果 該 磁 碟 早 就 存 在, 那 麼 不 格 式 化 也 沒 有 關 係! ^_^.. file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (20 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 12. 選 取 程 式 套 件 : 接 著 下 來 自 然 就 是 選 擇 套 件 囉! 而 要 選 擇 套 件 之 前, Mandrake 會 先 檢 查 是 否 有 這 些 安 裝 套 件 的 原 始 存 在, 所 以 會 先 顯 示 是 否 有 上 面 這 些 光 碟 片 存 在? 如 果 您 使 用 的 是 書 上 附 的 光 碟 片, 那 麼 就 會 出 現 上 面 的 內 容 咯! 請 勾 選 他 吧! file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (21 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 A. 選 擇 所 需 要 的 套 件 : file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (22 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 接 下 來 我 們 要 來 選 擇 的 就 是 所 需 要 安 裝 的 套 件 啦! 剛 剛 已 經 提 過 了, 我 們 需 要 的 是 KDE 與 相 關 的 X-Window 套 件, 另 外, 也 需 要 幾 乎 所 有 的 練 習 用 的 資 料, 所 以 可 以 選 擇 如 上 面 所 示 的 套 件 項 目, 可 以 在 上 圖 的 左 下 角 發 現 選 擇 的 套 件 容 量 為 1727 MB! 上 表 中, 最 需 要 注 意 的 是 Console 工 具 程 式 開 發 平 台 及 文 件 檔 案 這 幾 個 東 西, 如 果 我 們 未 來 在 進 行 一 些 程 式 編 譯 的 時 候, 或 者 是 自 己 在 網 路 上 面 下 載 軟 體 來 安 裝 的 時 候, 常 常 會 使 用 到 這 三 個 項 目 內 的 資 料, 如 果 沒 有 選 擇 的 話, 會 死 翹 翹! 底 下 提 供 五 個 建 議 來 給 大 家 做 為 套 件 選 擇 上 面 的 考 量 : 預 設 給 桌 上 型 電 腦 用 的 : 這 是 預 設 值 共 需 969 MB 的 空 間, 缺 點 是 沒 有 compile 能 以 原 始 碼 安 裝 軟 體 辦 公 室 軟 體 平 台 Internet 平 台 KDE 環 境 Gnome 環 境 全 部 都 安 裝 : 全 部 安 裝 需 要 大 約 2193 MB 的 空 間, 特 別 建 議 新 手 以 這 個 方 式 來 安 裝 您 的 第 一 套 Linux, 以 降 低 學 習 的 困 難 呢! 小 硬 碟 的 選 擇 : 沒 有 X-Window, 並 且 未 來 也 不 能 自 行 安 裝 軟 體, 不 過 就 是 可 以 節 省 硬 空 間, 佔 了 大 約 430 MB 的 容 量 用 戶 端 網 路 環 境 組 態 設 定 Console 工 具 文 件 檔 案 只 有 文 字 介 面 的 伺 服 器 用 主 機 : 特 別 適 合 用 來 進 行 架 站 的 選 擇 套 件 方 式, 沒 有 X- Window 呦, 而 且 僅 佔 容 量 為 958 MB, 是 鳥 哥 最 喜 歡 的 安 裝 方 式 了! Internet 平 台 用 戶 端 網 路 環 境 組 態 設 定 Console 工 具 程 式 開 發 平 台 ( 特 別 重 要, 一 定 要 選 擇 ) 文 件 檔 案 防 火 牆 路 由 器 加 上 X-Window 的 伺 服 器 用 主 機 : 這 個 比 上 一 個 多 了 X-window 就 是 了, 共 MB, 也 是 我 們 上 面 的 圖 示 的 內 容! 建 議 第 二 次 玩 Linux 的 朋 友, 並 且 還 是 想 要 使 用 X Window 的 朋 友 安 裝! B. 危 險 套 件 的 警 告 標 語 : file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (23 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 當 你 選 擇 了 一 些 套 件, 但 是 這 些 套 件 在 Linux 上 面 可 能 不 是 這 麼 安 全, 所 以 Mandrake 告 示 警 語, 呵 呵! 沒 關 係, 我 們 早 就 知 道 會 有 這 些 咚 咚, 所 以 不 用 理 他 吧! C. 開 始 正 式 安 裝 囉 : 努 力 的 給 他 安 裝 中 喝 杯 茶, 看 個 電 視 去? 不 過, 在 安 裝 的 過 程 中, 會 要 求 您 換 片, 依 序 換 上 第 二 片 CD, 以 及 第 三 片 名 為 Internal CD 的, 安 裝 完 畢 之 後, 就 可 以 進 入 到 下 一 個 13. 設 定 root 密 碼 : 這 個 也 是 相 當 重 要 的 呦! 那 就 是 系 統 管 理 員 的 密 碼 啦! 由 於 我 們 預 設 使 用 Linux 本 身 的 密 碼 機 制, 所 以 選 擇 本 機 密 碼 資 料, 至 於 其 他 的 密 碼 格 式, 則 請 參 考 個 別 的 網 路 書 籍 吧! 對 於 密 碼 的 設 定, 如 果 您 的 機 器 可 能 會 上 網, 那 麼 不 論 是 否 為 Server, 最 好 將 root 的 密 碼 設 一 點, 例 如 至 少 8 個 字 元 以 上, 而 且 含 有 特 殊 符 號, 例 如 : I&my_dog 之 類 的 怪 怪 密 碼! 不 但 不 猜 測, 自 己 還 蠻 容 易 記 憶 的 為 主! file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (24 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 14. 預 設 使 用 者 登 入 系 統 : 如 果 您 的 系 統 預 計 是 要 給 許 多 人 來 使 用 的, 那 麼 這 個 開 機 預 設 使 用 者 身 份 登 入 的 功 能 最 好 是 取 消, 對 您 而 言 會 比 較 有 保 障! file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (25 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 15. 新 增 使 用 者 : 您 可 以 在 這 個 動 作 裡 面 設 定 你 的 一 般 身 份 使 用 者 的 帳 號 與 密 碼, 也 可 以 在 未 來 進 行 帳 號 與 密 碼 的 設 定, 這 裡 我 們 先 設 定 一 個 名 為 test 的 使 用 者, 並 且 幫 他 設 定 一 下 密 碼, 設 定 完 成 之 後, 先 按 下 接 受 使 用 者, 再 按 下 完 成, 就 可 以 進 入 到 下 一 步 驟 囉! 至 於 其 他 的 使 用 者 設 定, 我 們 將 在 後 面 的 章 節 再 介 紹 file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (26 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 16. 設 定 網 路 : 很 多 朋 友 對 於 設 定 網 路 的 問 題 都 很 困 擾 耶! 這 真 是 傷 腦 筋 了! 不 過 沒 有 關 係, 我 們 底 下 以 一 般 性 的 用 法 來 設 定 你 的 網 路 卡, 如 果 你 不 知 道 如 何 設 定 你 的 網 路 卡, 那 麼 就 直 接 以 底 下 的 例 子 來 設 定 吧! file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (27 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 A. 選 擇 自 動 偵 測 網 路 卡 與 連 線 模 式 : 選 擇 自 動 偵 測 網 路 卡 之 後, 如 果 能 夠 見 到 上 面 的 圖 示 您 應 該 要 覺 得 哇! 好 高 興! 因 為 看 到 這 個 畫 面 表 示 你 的 網 路 卡 已 經 被 Linux 捉 到 了! 這 還 不 夠 高 興 呀! 應 該 要 很 爽 的 哩! 好 了, 接 著 下 來 設 定 其 他 的 東 西 吧! 按 下 確 定 ; B. 網 路 介 面 卡 資 訊 選 擇 : file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (28 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 注 意 一 下 上 面 顯 示 的 是 否 為 你 的 網 路 配 備, 沒 有 問 題 的 話, 那 麼 就 給 他 按 下 否 之 後, 選 擇 確 定 吧! C. 設 定 網 路 卡 位 址 IP: 網 路 卡 位 址 (IP) 選 擇 最 簡 單 的 私 有 IP 來 設 定 即 可! 如 果 不 知 道 如 何 設 定, 那 麼 就 設 定 上 面 的 樣 子 就 好 了! D. 設 定 主 機 名 稱 與 DNS 相 關 : 在 實 際 的 網 路 世 界 中, 每 一 部 主 機 都 有 他 獨 一 無 二 的 名 字, 那 就 是 這 裡 設 定 的 主 機 名 稱 啦! 不 過, 因 為 我 們 沒 有 對 外 公 佈 我 們 的 主 機 名 稱, 所 以 這 裡 隨 便 你 設 定 沒 有 關 係 啦! 相 關 的 主 機 名 稱 訊 息, 請 參 考 DNS ( Domain name server ) 的 相 關 文 章 至 於 個 DNS 伺 服 器 可 以 直 接 填 中 華 電 信 的, 168.95.1.1 大 家 都 能 使 用, 沒 有 問 題, 再 來 閘 就 不 見 得 每 個 人 都 一 樣 了! 如 果 你 還 是 不 知 道 你 的 網 路 狀 況, 那 麼 還 是 先 跟 我 一 樣 的 填 法 吧 未 來 可 以 自 行 修 改 呢! file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (29 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 E. 使 用 代 理 伺 服 器 : 如 果 不 知 道 你 的 代 理 伺 服 器 是 什 麼, 就 不 要 設 定 吧! 沒 有 關 係 的 啦! 17. 設 定 總 結 : 好 啦! 看 看 有 沒 有 設 定 錯 誤 啦! 沒 有 的 話 就 給 他 確 定 下 去 吧! 18. 設 定 系 統 服 務 : 在 預 設 的 狀 態 之 下, 系 統 就 會 啟 動 一 些 服 務 來 自 我 調 整 使 用 環 境, 這 些 包 含 了 登 錄 檔 案 的 紀 錄 例 行 命 令 的 執 行 與 記 憶 體 管 理 等 等, 這 個 部 分 我 們 會 在 後 面 的 章 節 繼 續 說 明, 所 以 也 可 以 直 接 給 他 確 定 下 去 吧! file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (30 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 19. 設 定 開 機 管 理 程 式 : 我 們 以 較 新 的 Grub 開 機 管 理 程 式 來 管 理 我 們 的 Linux 主 機 吧! 同 時, 將 他 安 裝 在 開 機 磁 區 的 面, 作 業 延 遲 表 示 選 單 會 停 留 10 秒 鐘 來 讓 我 們 決 定 是 否 要 以 該 核 心 進 入 Linux 系 統! file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (31 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 20. 建 立 軟 碟 開 機 片 : 無 論 任 何 時 刻, 建 立 可 以 開 機 的 救 援 磁 片 都 是 一 件 正 確 的 選 擇! 因 為 您 無 法 肯 定 什 麼 時 候 會 來 個 全 台 大 停 電, 您 總 不 希 望 努 力 了 這 麼 久 的 安 裝 好 了 的 系 統 被 破 壞 吧! ^_^ file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (32 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 21. 設 定 X-Window : 如 果 您 有 安 裝 關 於 X-Window 這 個 視 窗 介 面 的 軟 體, 例 如 KDE, Gnome 等 等 的 咚 咚 時, 這 個 設 定 X 環 境 的 選 項 囉! 設 定 視 窗 介 面 是 個 很 麻 煩 的 程 序, 而 且 一 定 會 不 成 功, 這 是 因 為 Mandrake 的 安 裝 程 式 在 設 定 X-Window System 的 部 分 有 點 小 問 題! 所 以, 請 不 Window! 然 而, 無 論 如 何, 如 果 設 定 不 成 功, 仍 然 可 以 在 裝 完 成 之 後 再 進 行 重 新 設 定, 所 以 這 一 步 即 使 設 定 錯 誤 了, 也 別 難 過, 我 們 在 系 統 管 理 員 篇 的 時 候, 會 再 詳 細 的 介 紹 X-Window 的 設 定 方 法! 同 時 也 請 特 別 留 意, X-Window 在 Linux 裡 面 僅 是 一 套 軟 體, 而 且 他 還 是 相 當 有 趣 的 一 怎 麼 說 呢? X-Window 又 分 為 兩 部 份, 第 一 部 份 稱 為 X Server, 這 個 X Serve 理, 例 如 顯 示 卡 滑 鼠 鍵 盤 螢 幕 解 析 度 等 等, 都 是 他 在 管, 而 這 個 X Server 即 是 鼎 鼎 大 名 的 XFree86 是 也, 而 負 責 整 個 桌 面 的 顯 示 的 管 理 者, 就 稱 為 Window Manager ( 目 前 最 讓 大 家 熟 知 的 就 是 KDE 與 GNOME 這 兩 套 視 窗 管 理 系 統 啦! 那 麼 也 就 是 說, 只 要 您 的 XF 死 掉 的 話, 那 麼 KDE 也 好, GNOME 也 好, 就 肯 定 也 是 死 掉 的, 而 我 們 通 常 說 的 在 設 定 X- Window 通 常 就 是 設 定 那 個 XFree86 囉, 包 括 螢 幕 的 解 析 度 更 新 頻 率 等 等 的! file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (33 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 A. 設 定 解 析 度 : 解 析 度 的 設 定 就 如 同 上 面 所 示, 一 般 使 用 者 電 腦 的 解 析 度 設 定 大 都 是 800x600 更 新 頻 率 6 80, 但 是 鳥 哥 特 別 喜 歡 字 小 小 的, 桌 面 大 大 的, 所 以 我 會 選 擇 1024 x 768 那 個 解 析 B. 選 擇 顯 示 卡 晶 片 組 : 剛 剛 提 過, 我 的 顯 示 卡 為 Geforce 2 mx, 所 以 選 擇 這 一 個 就 對 啦! 看! 之 前 不 是 跟 好 先 瞭 解 一 下 自 己 的 硬 體 嗎? 嘿 嘿! 就 是 這 些 地 方 用 的 到 啦! file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (34 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 C. 選 擇 X Server 版 本 : 目 前 XFree86 分 為 兩 個 版 本, 較 新 的 是 4.x.x 版, 舊 版 的 為 3.3.x 版, 由 於 然 選 擇 4.2.1 那 個 版 本 囉! D. 調 整 色 彩 度 : 調 整 一 下 您 的 未 來 的 桌 面 吧! 這 裡 我 選 擇 我 最 喜 歡 的 大 小, 您 亦 可 選 擇 您 喜 歡 的 色 彩 呦! E. 測 試 設 定 值 : 記 住 喔! 由 於 Mandrake 的 安 裝 程 式 問 題, 這 個 測 試 的 功 能 一 定 會 失 敗!, 所 以 請 不 要 測 喔! 但 是, 如 果 不 小 心 測 試 下 去 了, 螢 幕 變 成 黑 壓 壓 的 一 片 時, 怎 麼 辦?! 別 擔 心, 這 個 時 候 給 他 按 下 : [Ctrl] + [Alt] + [F1] 就 會 回 到 剛 剛 的 畫 面 了! 無 論 如 何, 如 果 測 試 成 功 的 話, 那 麼 就 會 進 入 到 下 一 個 畫 面 F. 選 擇 是 否 以 X-Window 做 為 預 設 的 開 機 登 入 系 統 : file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (35 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 就 像 之 前 就 一 直 在 說 的, 不 需 要 直 接 進 入 X-Window 啦! 反 正 在 文 字 介 面 之 下, 仍 然 可 以 輕 鬆 的 就 進 入 X-Window 的 說! 所 以 這 裡 我 是 選 擇 否 呦! G. 再 次 確 認 X Server 設 定 值 : 如 果 沒 有 問 題 的 話, 就 給 他 是 的 下 去 吧! H. 製 作 救 援 磁 片 : 我 也 不 是 很 清 楚 為 什 麼 這 裡 還 要 再 製 作 一 次 救 援 磁 片? 無 論 如 何, 小 心 駛 得 萬 年 船, 所 以 還 是 再 拿 另 外 一 塊 磁 片 來 製 作 一 次 吧! 這 樣 X-Window 就 設 定 完 成 囉! 22. 套 件 修 補 中 心 : 這 可 不 是 坐 月 子 中 心 吶! 因 為 發 展 出 來 的 各 個 Linux 套 件 都 很 有 可 能 被 一 些 網 路 閒 人 所 破 解, 而 利 用 一 些 漏 洞 來 影 響 或 破 壞 別 人 家 的 主 機, 因 此, 必 須 要 常 常 進 行 各 種 套 件 修 補 的 動 作! 不 過, 由 於 我 們 的 網 路 還 沒 有 搞 定, 所 以. 這 個 步 驟 也 就 沒 有 辦 法 做 啦! 選 擇 否 吧! 等 到 安 裝 完 畢, 並 且 連 上 Internet 之 後, 再 來 修 補 漏 洞! file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (36 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 23. 安 裝 完 成! 恭 喜 發 財! 不 經 一 番 寒 徹 骨, 焉 得 梅 花 撲 鼻 香, 呵 呵! 您 已 經 經 過 了 一 番 寒 徹 骨 了, 恭 喜 您 即 將 進 入 撲 鼻 香 的 境 界! 恭 喜 您, 安 裝 成 功, 請 按 下 確 定, 然 後 取 出 光 碟 片,OK! 等 待 登 入 吧! file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (37 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 24. 安 裝 後 的 注 意 事 項 : 你 可 能 會 覺 得 很 奇 怪, 為 什 麼 你 的 安 裝 過 程 會 跟 我 的 不 一 樣?! 呵 呵! 因 為 每 個 人 選 擇 的 套 件 都 不 盡 相 同, 因 此, 如 果 你 在 安 裝 的 過 程 中 選 擇 了 跟 我 不 一 樣 的 套 件, 不 用 擔 心, 安 裝 過 程 會 有 些 許 的 不 相 同 是 正 常 的! 在 安 裝 完 成 之 後, 請 千 萬 記 得 取 出 光 碟 片, 不 然 又 會 在 進 入 一 次 安 裝 畫 面 喔! 同 時 建 議, 安 裝 完 成 之 後, 請 進 入 您 的 BIOS 當 中, 將 開 機 的 順 序 改 回 來 C A 或 C only 反 正 就 是 讓 硬 碟 開 機 啦! 這 樣 比 較 安 全 一 些! 如 果 真 的 沒 有 辦 法 在 開 機 的 時 候 載 入 Linux 的 核 心, 以 進 行 安 裝 時, 不 要 太 擔 心, 直 接 將 Mandrake 9.0 第 一 片 可 開 機 片 放 入 Windows 的 系 統 當 中, 會 出 現 下 面 圖 示 : file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (38 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 再 直 接 按 下 Install Mandrake Linux! 即 可 安 裝 囉! ^_^y 好 了! 這 樣 應 該 就 已 經 安 裝 完 畢 了! 請 繼 續 往 下 看 看 吧! 而 且, 相 當 的 建 議 您, 在 正 式 的 進 行 架 站 之 前, 請 依 序 看 一 下 底 下 的 網 頁, 最 好 不 要 跳 著 看, 不 然 的 話, 嘿 嘿 嘿 嘿! 出 現 什 麼 問 題 可 不 要 怪 我! 因 為, 照 著 順 序 看 會 對 你 的 Linux 認 識 比 較 有 幫 助 啦! 多 重 開 機 安 裝 流 程 與 技 巧 很 多 的 朋 友, 包 括 我 自 己, 由 於 工 作 的 需 要, 常 常 需 要 兩 部 不 同 的 作 業 系 統 來 處 理 日 常 生 活 與 工 作 的 雜 事! 那 麼 我 是 否 需 要 兩 部 電 腦 呢? 並 不 需 要, 只 要 一 部 電 腦 使 用 多 重 開 機 的 方 式 來 進 行 安 裝, 嘿 嘿! 這 樣 就 OK 啊! 理 論 上 是 如 此, 不 過 實 際 上 還 需 要 一 些 小 技 巧 呢! 硬 碟 重 新 規 劃 的 多 重 開 機 系 統 : 如 果 你 想 要 在 你 的 Linux 機 器 上 同 時 安 裝 Windows? 可 行 嗎? 當 然 可 行 囉! 況 且 目 前 很 多 的 只 有 一 部 電 腦, 但 是 又 想 要 同 時 學 習 一 下 Linux, 呵 呵! 那 麼 安 裝 多 重 作 業 系 統 實 在 是 必 須 要 的! 好 了! 那 要 如 何 安 裝 呢? 以 我 前 一 陣 子 幫 一 個 朋 友 規 劃 的 Win98, Win2000, Linux 為 例 spfdisk 切 割 成 兩 個 FAT partition, 分 別 是 2GB 與 3GB, 預 計 安 裝 W D: ), 然 後 再 以 CD 開 機 後, 分 割 最 後 的 磁 碟 成 為 / 與 Swap 兩 個! 好 了! 如 何 安 裝 : 1. 先 以 Spfdisk 分 割 硬 碟 : 由 於 Windows 的 Fdisk 實 在 太 慢 了, 我 蠻 磁 碟 分 割 介 面 的! 簡 單 又 方 便! 將 硬 碟 切 割 成 C: 2GB, D: 3GB 即 可! 詳 細 的 Spfd 以 到 網 路 上 搜 尋 一 下 教 學 文 章 吧! 2. 先 安 裝 Win98 : 這 個 簡 單 吧! 用 98 開 機 片 開 機 之 後, 直 接 安 裝, 並 且 選 擇 安 裝 在 3. 再 安 裝 Win2000: 進 入 Win98 之 後, 將 Win2000 的 光 碟 片 放 進 光 碟 機 個 視 窗, 問 你 要 不 要 升 級, 選 擇 是, 然 後 會 進 行 一 些 小 動 作! 在 安 裝 程 式 問 到 升 級 安 裝 或 全 新 安 裝 的 時 候, 請 千 萬 選 擇 全 新 安 裝 這 個 項 目, 並 且 不 要 升 級 硬 碟 磁 區! 然 後 在 出 現 一 個 問 你 安 裝 目 錄 所 在 的 問 題 時, 進 入 選 項 裡 面, 選 擇 要 我 自 己 挑 選 硬 碟 分 割 區 那 個 項 目! 然 後 接 下 來 一 直 按 下 確 定 或 是 即 可! 之 後, 電 腦 會 重 新 開 機, 開 機 完 成 之 後 file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (39 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 會 進 入 Win2000 的 安 裝 畫 面, 然 後 在 出 現 安 裝 磁 區 的 時 候, 請 選 擇 D 槽, 並 且 選 擇 更 改 磁 區 檔 案 系 統 即 可! 接 下 來 就 會 完 成 一 些 程 序 啦! 4. 最 後 才 安 裝 Linux distribution : 是 的, 最 後 才 安 裝 Linux! 安 在 硬 碟 分 割 的 地 方 會 比 較 不 一 樣 就 是 了!! 5. 以 Lilo 或 grub 設 定 多 重 開 機 : 是 的, 您 必 須 選 用 lilo 或 grub 來 動 作 我 們 會 在 後 頭 再 談, 或 者 您 可 以 在 瞭 解 vi 之 後, 直 接 翻 到 第 十 九 章 去 瞧 一 瞧 去! 在 既 存 的 Windows 系 統 中 加 裝 Linux 系 統 : 另 外 再 提 供 一 個 之 前 也 曾 經 安 裝 過 的 一 個 經 驗! 恩! 你 可 能 會 覺 得 奇 怪, 這 個 方 法 跟 上 一 個 方 法 有 什 麼 不 同!? 呵 呵 呵 呵! 最 大 的 不 同 在 於 : 我 既 存 的 Windows 系 統 中 的 資 料 不 想 丟 掉, 並 且 我 也 沒 有 新 的 硬 碟 來 暫 存 我 的 系 統 或 者 是 備 份 資 料! 假 設 原 本 我 的 20 GB 硬 碟 中 分 割 成 10GB, 10GB 兩 槽, 但 是 我 還 想 要 安 裝 Linux 可 以 存 活 的 情 況 下! 那 該 如 何 是 好?! 這 真 的 是 很 有 趣 的 問 題! 早 先 在 Windows 系 統 中, VBird 就 犯 了 一 個 錯!C 槽 給 的 太 大 了 系 統 檔 不 需 要 太 大 啦! 通 常 我 都 喜 歡 C 槽 只 給 大 約 4 GB 左 右 的 空 間 ( 甚 至 更 小 ), 這 是 因 為 C 很 需 要 備 份 的! 如 果 太 大 的 話, 備 份 很 麻 煩! 所 以 系 統 重 置 就 會 很 花 時 間 ( 因 為 所 有 的 東 西 都 要 重 新 安 裝! 我 哩 咧...!)! 因 此, 我 都 習 慣 將 C 槽 只 給 一 點 點 的 空 間, 然 後 再 安 裝 完 並 設 定 完 所 有 的 系 統 之 後, 馬 上 以 Ghost 來 備 份 我 的 系 統! 而 所 有 的 備 份 資 料 檔 案 都 擺 放 在 D 槽! 此 外, 我 的 Out Express 的 書 信 目 錄 也 都 不 是 擺 在 C 槽! 呵 呵 所 以 我 不 會 很 害 怕 C 槽 掛 掉, 因 為, 直 接 以 G 可 囉! 系 統 還 原 還 不 需 要 30 分 鐘 呢! 這 裡 就 發 生 一 個 問 題 啦, 假 如 原 本 的 系 統 是 10GB, 10GB 的 兩 槽, 不 過 全 部 的 有 用 到 的 資 料 量 只 有 10GB 不 到! 也 就 是 還 有 空 間 來 安 裝 Linux, 但 是 由 於 硬 碟 切 割 的 不 好, 所 以 傷 腦 筋! 此 外, 我 的 統 希 望 留 下 來, 而 且 也 希 望 可 以 安 裝 Linux, 要 怎 辦?! 我 曾 經 這 樣 做 過 : 由 於 FAT 的 磁 區 使 用, 其 實 只 是 在 磁 頭 區 域 ( 所 謂 的 硬 碟 第 零 軌 ) 規 劃 而 已, 所 以, 我 就 將 我 的 資 料 先 以 磁 碟 重 組 的 方 式 將 資 料 都 歸 結 在 一 起 ; 然 後 以 Spfdisk 將 該 硬 碟 的 FAT 表 進 行 分 割, 注 意 喔! 只 是 分 割 FAT 表, 並 沒 有 過 這 裡 的 技 術 性 很 高, 需 要 特 別 注 意! 因 為 你 是 將 FAT 表 重 新 劃 分, 所 以 你 的 資 料 必 須 要 在 同 一 個 磁 區 內! 好 了, 我 就 將 原 本 的 10GB 10GB 切 割 成 4GB 10GB 與 6GB 三 槽 幫 助 之 下, 順 利 的 在 沒 有 任 何 資 料 遺 失 的 狀 況 下, 將 我 的 硬 碟 由 原 先 的 兩 槽 分 割 成 三 槽 囉! 那 麼 一 來, 我 就 可 以 在 我 原 本 的 D 槽 裡 面 安 裝 Linux 啦! 方 法 有 點 像 底 下 的 圖 示 : file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (40 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 很 神 奇 吧! 資 料 還 是 在 原 來 的 地 方, 不 過 磁 區 的 定 位 點 改 變 了, 還 多 出 一 個 磁 區! 不 過, 這 裡 要 提 醒 大 家, 雖 然 VBird 曾 經 以 這 個 方 法 成 功 的 將 硬 碟 資 料 在 不 毀 損 的 情 況 下, 順 利 的 將 硬 碟 切 割 完 畢, 不 過, 這 個 方 法 本 身 還 是 具 有 相 當 程 度 的 風 險, 呵 呵! 因 此 不 是 很 建 議 您 這 樣 做! 尤 其 是 當 你 的 資 料 還 很 重 要 的 時 候! 切 記 切 記! 課 後 練 習 ( 要 看 答 案 請 將 滑 鼠 移 動 到 答 : 底 下 的 空 白 處, 按 下 左 鍵 圈 選 空 白 處 即 可 察 看 ) Linux 的 目 錄 配 置 以 樹 狀 目 錄 來 配 置, 至 於 磁 碟 分 割 區 ( partition ) 則 需 要 與 樹 狀 目 情 況 下, 在 安 裝 的 時 候 系 統 會 要 求 你 一 定 要 分 割 出 來 的 兩 個 Partition 為 何? 答 : 就 是 根 目 錄 / 與 虛 擬 記 憶 體 Swap 什 麼 是 IDE 界 面, 一 般 而 言, 普 通 PC 允 許 幾 個 IDE 界 面 與 裝 置? 答 : IDE 為 用 來 傳 輸 硬 碟 資 料 的 一 個 彙 流 界 面 ; 共 有 IDE1, IDE2, 分 別 有 master 與 slave 所 以 共 四 個 IDE 裝 置 支 援! IDE2 的 master 之 第 一 個 logical 磁 碟 中, 其 裝 置 代 號 ( 檔 案 名 稱 ) 為 何? 答 : /dev/hdc5 在 硬 碟 分 割 (Partition) 時, 最 多 有 幾 個 primary + extended? 答 : Primary + Extended 共 四 個, 其 中 Extended 只 有 一 這 個 裡! 這 ( 篇 討 更 論 詳 細 ) 的 硬 碟 若 在 分 割 的 時 候, 在 IDE1 的 slave 硬 碟 中, 分 割 六 個 有 用 的 磁 區 ( 具 有 filesyste 的 磁 區! 請 問 六 個 磁 區 的 代 號? 答 : /dev/hdb1(primary) /dev/hdb2(primary) /dev/hdb3(extended) file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (41 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 /dev/hdb5(logical 底 下 皆 為 logical) /dev/hdb6 /dev/hdb7 /dev/hdb8 請 注 意,5-8 這 四 個 logical 相 加 的 總 和 為 3! 一 般 而 言, 在 RAM 為 64MB 或 128 MB 的 系 統 中, swap 要 開 多 大? 答 : Swap 可 以 簡 單 的 想 成 是 虛 擬 記 憶 體, 通 常 他 的 建 議 大 小 為 RAM 的 兩 倍, 但 是 實 際 上 還 是 得 視 您 的 主 配 備 與 用 途 而 定 約 兩 倍 的 RAM, 亦 即 為 128 MB 或 256 MB, 可 獲 得 較 佳 效 能! 什 麼 是 GMT 時 間? 台 北 時 間 差 幾 個 鐘 頭? 答 : GMT 時 間 指 的 是 格 林 威 治 時 間, 為 標 準 的 時 間, 而 台 北 時 間 較 GMT 快 了 8 小 時! Tap, SCSI 硬 碟, RAID, printer 的 裝 置 代 號? 答 : Tap : /dev/ht0 (IDE), /dev/st0 (SCSI); SCSI H.D.: /dev/sd[a-p], RAID : /dev/md[0-15]; printer : /dev/lp[0-2] 如 果 我 的 磁 碟 分 割 時, 設 定 了 四 個 Primary 磁 區, 但 是 磁 碟 還 有 空 間, 請 問 我 還 能 不 能 使 用 這 些 空 間? 答 : 不 行! 因 為 最 多 只 有 四 個 Primary 的 磁 碟 分 割 槽, 沒 有 多 的 可 以 進 行 分 割 了! 且 由 於 沒 有 Exte 然 不 能 再 使 用 Logical 分 割 說 我 的 Mandrake 9.0 在 安 裝 的 時 候, 進 行 X-Window 的 測 試 時 都 不 會 成 功, 要 怎 麼 辦 呢? 答 : X-Window System 的! 萬 一 還 是 沒 有 辦 法 登 入 X-Window 的 話, 沒 有 關 係! 不 要 篇 的 時 候, 我 們 再 來 ` 入 的 談 一 談 X-Window 的 設 定 吧!! ^_^ 而, 如 果 萬 一 不 幸 不 小 心 按 下 了 呢? 螢 幕 已 經 一 片 漆 黑 了!@_@, 沒 關 係, 此 時 可 以 按 下 [Ctrl] + [Alt] + [F1] 就 可 通 常 在 安 裝 Linux 的 時 候, 最 重 要 的 就 是 磁 碟 分 割 了! 請 問 : 磁 碟 分 割 通 常 要 分 成 幾 個 步 驟? 答 : 1. 進 行 磁 碟 分 割 partition ; 2. 進 行 格 式 化 format ; 磁 碟 分 割 之 後 會 有 所 謂 的 Primary, Extended 與 Logical 的 磁 碟 分 割 槽, 請 問 何 者 答 : 只 有 Primary 與 Logical 為 可 用, Extended 為 不 可 直 接 使 用 的 Parti 才 可 以 繼 續 使 用! 而 最 大 可 分 割 出 來 的 Partition 應 該 有 64 個 才 對! 2003/02/05: 首 次 完 成 編 輯! 2003/ 02/06 以 來 統 計 人 數 file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (42 of 43
鳥 哥 的 Linux 私 房 菜 -- 簡 易 安 裝 Mandrake 9.0 版 Designed VBird by during 2001-2004. Aerosol La file:///c /Documents and Settings/Administrator/ 桌 面 /0155installmdk.php.htm (43 of 43
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 鳥 哥 的 Linux 私 房 菜 為 取 得 較 佳 瀏 覽 結 果, 請 愛 用 firefox 瀏 覽 本 網 頁 切 換 解 析 度 為 800x600 安 裝 FC4 與 多 重 開 機 小 技 巧 最 近 更 新 日 期 :2005/11/08 等 了 好 久! 終 於 要 開 始 來 安 裝 我 們 的 Linux 練 習 機 了! 注 意 喔! 既 然 這 裡 特 別 強 調 的 是 練 習 機, 所 以, 裡 面 的 種 種 建 議 都 是 練 習 用 的 喔! 而 且, 這 部 練 習 機 在 您 順 利 的 瞭 解 Linux 的 主 機 操 作 之 前, 最 好 不 要 連 上 Internet 呢! 很 容 易 被 入 侵 啊! 我 們 這 裡 使 用 目 前 最 新 的 Fedora Core Release IV 來 進 行 安 裝 喔! 1. Linux 安 裝 的 第 一 步 規 劃 1.1 一 個 練 習 機 的 規 劃 1.2 硬 碟 的 連 接 與 代 號 1.3 認 識 硬 碟 的 partition 1.4 Linux 安 裝 模 式 下, 硬 碟 分 割 的 選 擇 ( 極 重 要 ) 2. 開 始 安 裝 Fedora Core Release IV 3. 多 重 開 機 安 裝 流 程 與 技 巧 4. 關 於 大 硬 碟 導 致 無 法 開 機 的 問 題 5. 本 章 習 題 練 習 6. 針 對 本 文 的 建 議 :http://phorum.vbird.org/viewtopic.php?t=23876 Linux 安 裝 的 第 一 步 規 劃 由 上 一 章 的 Linux 主 機 規 劃 我 們 大 致 上 可 以 瞭 解 : Linux 主 機 的 配 備 要 求 與 Linux 主 機 所 提 供 的 服 務 有 關, 所 以 囉, 要 安 裝 Linux 的 第 一 步 就 是 先 進 行 Linux 主 機 的 未 來 藍 圖 規 劃 啦! 那 麼 該 如 何 規 劃? 由 前 一 章 的 內 容, 我 們 不 難 瞭 解, 要 規 劃 好 一 個 Linux 主 機 的 話, 需 要 : 1. 決 定 Linux 主 機 的 角 色 定 位 ; 2. 根 據 步 驟 一, 選 擇 適 當 的 硬 體 配 備 ; 3. 根 據 步 驟 一, 決 定 實 體 硬 碟 的 分 割 狀 態 ; 4. 根 據 主 機 上 面 的 作 業 系 統, 選 擇 適 當 的 開 機 載 入 程 式 ( boot loader ), 以 便 安 裝 在 主 file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 要 開 機 磁 區 中 ( Master Boot Recorder, MBR ); 5. 根 據 步 驟 一, 選 擇 所 需 要 的 Linux 程 式 套 件 ; 好 了, 既 然 已 經 知 道 大 概 需 要 規 劃 的 原 理 之 後, 底 下 我 們 就 實 地 的 來 操 練 一 遍 吧! 好 讓 您 不 會 很 快 的 忘 掉 去! 一 個 練 習 機 的 規 劃 假 設 : 這 部 主 機 主 要 是 為 了 我 自 己 練 習 Linux 之 用, 不 過, 未 來 可 能 會 接 觸 到 網 路 的 實 際 練 習 而 為 了 方 便 資 料 查 詢, 因 此, 我 需 要 X Window 系 統 的 支 援, 而 且 由 於 不 熟 悉 Linux, 因 此 也 需 要 預 留 硬 碟 空 間 作 為 日 後 練 習 之 用 如 果 是 這 樣 的 狀 態, 您 應 該 要 如 何 規 劃 你 的 主 機 呢? 1. Linux 主 機 角 色 的 定 位 由 上 面 的 假 設 狀 態, 您 可 以 知 道 這 部 主 機 主 要 是 作 為 練 習 之 用, 需 要 X Window, 而 且 由 於 操 作 者 是 新 手, 因 此, 建 議 將 所 有 的 套 件 都 安 裝 上 去 呢! 2. 硬 體 的 配 備 選 擇 : 因 為 我 使 用 Linux 來 作 為 練 習, 而 且 含 有 X Window 在 裡 面, 預 計 是 將 所 有 的 套 件 都 裝 上 去 的, 因 此, 硬 碟 不 能 少,CPU/ 顯 示 卡 等 等 的 等 級 也 必 須 要 適 中, 不 可 用 等 級 太 低 的 而 且, 記 憶 體 也 應 該 大 於 256MB 以 上 比 較 妥 當 我 使 用 的 練 習 機 設 備 為 : 主 機 板 與 CPU: 我 的 練 習 機 CPU 是 AMD 的 AthlonXP 1800+, 搭 配 Asus 的 A7V8X 主 機 板 記 憶 體 : 我 安 插 了 256MB 的 記 憶 體 硬 碟 : 使 用 一 顆 淘 汰 下 來 的 20GB 硬 碟 因 為 我 只 有 一 部 主 機, 為 了 要 同 時 使 用 Windows 與 Linux 作 業 系 統, 因 此, 我 選 擇 了 抽 取 式 硬 碟 盒 來 幫 忙 抽 換 這 樣 一 來, 比 較 大 的 優 點 是 可 以 讓 我 完 全 掌 控 一 部 主 機, 而 不 需 要 擔 心 將 Windows 的 系 統 刪 除 網 路 卡 : 用 最 陽 春 的 螃 蟹 卡 (Realtek 8139 晶 片 ) 顯 示 卡 : 這 個 重 要, 因 為 我 要 使 用 X Window, 因 此, 我 用 的 是 32MB 的 ATI 的 9200 晶 片 組 ( 現 在 這 個 等 級 已 經 算 很 差 的 配 備 了 ) 其 他 的 輸 出 / 輸 入 裝 置 : 一 部 DVD 光 碟 機 pc104 鍵 盤 光 學 滑 鼠 300W 電 源 供 應 器 及 19 吋 的 傳 統 映 像 管 螢 幕 一 般 來 說, 這 樣 的 配 備 算 是 前 一 陣 子 的 入 門 級 機 種 了! 目 前 的 入 門 級 機 種 都 比 這 個 配 備 好 太 多! 您 也 可 以 利 用 您 的 CPU 等 級 為 P-III 的 主 機 來 進 行 練 習 啊! 但 不 建 議 使 用 P-II 以 下 等 級 的 機 種 除 非 您 不 要 使 用 X Window! 請 參 考 前 一 章 的 介 紹 3. 關 於 硬 碟 分 割 的 分 配 : file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 因 為 是 練 習 機, 建 議 您 主 要 分 為 / 與 Swap 兩 個 即 可 不 過, 還 是 需 要 留 下 一 些 硬 碟 空 間 來 作 為 練 習 之 用 我 的 8GB 硬 碟 主 要 分 為 6GB 為 /, 512MB 為 swap, 1GB 為 /home, 另 外 的 磁 碟 空 間 則 不 規 劃! 至 於 磁 碟 分 割 與 各 目 錄 的 相 關 意 義, 我 們 會 在 磁 碟 檔 案 系 統 當 中 來 進 行 說 明, 切 莫 著 急 啊! ^_^ 至 於 如 果 您 的 硬 碟 大 於 60GB 以 上 時, 可 能 會 有 開 機 磁 區 的 問 題, 那 就 必 須 要 獨 立 出 / boot 這 個 磁 碟 槽 了, 請 參 考 本 章 最 後 一 節 的 說 明 4. 選 擇 MBR 當 中 的 開 機 管 理 程 式 : 在 Linux 裡 面 預 設 使 用 兩 種 開 機 管 理 程 式, 分 別 是 LILO 與 GRUB 這 兩 個 好 東 西, 其 中, LILO 算 是 比 較 早 期 的 開 機 管 理 程 式, 不 過, 鳥 哥 個 人 倒 是 還 蠻 喜 歡 LILO 的, 畢 竟 他 雖 然 比 較 死 板, 但 是 還 蠻 好 用 的, 磁 碟 代 號 設 定 上 面 與 Linux 上 的 磁 碟 代 號 相 同, 所 以 沒 有 什 麼 太 大 的 困 擾 而 較 新 的 GRUB 其 實 是 很 棒 的 一 套 開 機 管 理 程 式, 我 個 人 認 為, 他 最 大 的 功 能 也 最 具 魅 力 的 地 方 是 具 有 動 態 搜 尋 核 心 檔 案 的 功 能, 他 可 以 讓 您 在 開 機 的 時 候, 可 以 自 行 編 輯 您 的 開 機 設 定 系 統 檔 案, 呵 呵! 所 以 即 使 您 不 小 心 設 定 錯 了 grub, 沒 關 係! 開 機 的 時 候 自 行 編 輯 一 下 就 好 啦! 這 方 面 的 技 巧, 我 們 會 在 開 機 流 程 與 Loader 的 時 候 再 來 詳 細 的 介 紹, 還 是 慢 慢 的 從 頭 學 習 起 來 呦! 5. 選 擇 所 需 的 套 件 : 雖 然 將 光 碟 上 面 的 全 部 套 件 都 安 裝, 是 有 點 浪 費 硬 碟 空 間, 不 過 我 們 是 練 習 機 嘛! 所 以 還 是 完 整 的 都 給 他 安 裝 下 去 的 好 ( 如 果 您 想 要 選 擇 套 件 的 話, 特 別 建 議 您, 務 必 將 系 統 開 發 工 具, 也 就 是 gcc, kernel-headers, kernel-source 等 等 安 裝 上 去 喔!) 到 了 這 一 步 之 後, 嘿 嘿! 規 劃 就 已 經 差 不 多 了, 所 以, 這 個 時 候, 基 本 上 已 經 可 以 開 始 來 安 裝 Linux 啦! 但 是, 還 是 有 個 困 擾 耶, 那 就 是, 在 第 三 步 驟 的 時 候, 我 要 怎 麼 在 安 裝 的 時 候 分 割 我 的 硬 碟 呀!? 上 一 章 裡 面 有 提 過 硬 碟 的 排 線 與 硬 碟 在 Linux 裡 面 的 磁 碟 代 號 有 關, 那 麼 該 如 何 分 割? 另 外, 有 什 麼 自 訂 的 方 式 可 以 來 幫 我 分 割 硬 碟 嗎? 呵 呵! 底 下 我 們 就 來 提 一 提 如 何 進 行 這 些 動 作 囉! 硬 碟 的 連 接 與 代 號 硬 碟 分 割 與 配 置 的 好 壞, 會 影 響 到 未 來 您 的 主 機 的 使 用 情 況, 此 外, 好 一 點 的 分 割 方 式, 會 讓 您 的 資 料 保 有 一 定 的 安 全 性! 怎 麼 說 呢? 這 麼 想 好 了, 如 果 你 的 Windows 硬 碟 裡 面, 僅 有 C 槽 的 話, 那 麼 當 Windows 需 要 重 新 安 裝 的 時 候, 你 又 想 要 重 新 格 式 化 ( format ) 時, 而 C 槽 裡 面 很 不 巧 的, 已 經 放 了 很 多 重 要 的 檔 案 資 料, 這 個 時 候 怎 麼 辦? 光 是 搬 這 些 重 要 資 料 到 其 他 空 間 就 受 不 了! 所 以, 比 較 聰 明 的 玩 家, 都 喜 歡 分 割 成 兩 槽 以 上, 將 系 統 檔 案 與 資 料 檔 案 分 開, 可 以 達 到 比 較 好 的 管 理 效 果! 除 此 之 外, 磁 碟 分 割 的 好 壞, 還 可 以 影 響 到 系 統 存 取 資 料 的 效 能 呢! 這 個 部 分 我 們 在 後 面 幾 章 再 來 談 一 談! 所 以 囉, 正 常 使 用 情 況 下 的 Linux 主 機, 通 常 會 依 照 目 錄 與 主 機 的 特 性, 來 分 割 硬 碟, file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 以 達 到 比 較 好 的 管 理 成 效 不 過, 由 於 Linux 的 硬 碟 分 割 比 較 具 有 彈 性, 同 時, Linux 硬 碟 分 割 程 式 fdisk 功 能 很 強 悍, 此 外, 要 分 割 的 好, 必 須 要 瞭 解 一 下 基 礎 的 硬 碟 架 構, 所 以, 底 下 我 們 先 來 介 紹 一 下 硬 碟 的 基 本 架 構, 然 後 再 來 介 紹 如 何 分 割 吧! 現 在 的 主 流 硬 碟 應 該 是 SATA 小 排 線 的 那 一 種 介 面 硬 碟 他 與 舊 IDE 硬 碟 的 分 別, 我 們 已 經 在 前 一 章 談 過 了, 這 裡 就 略 過 不 提 但 不 論 是 SATA 或 者 是 IDE 介 面 的 硬 碟, 他 在 Linux 當 中 的 硬 碟 代 號 都 是 一 樣 的! 所 以, 這 裡 我 們 依 舊 以 IDE 硬 碟 來 稍 作 說 明 囉! 通 常 在 586 之 後 生 產 的 主 機 板 上 面 都 有 兩 條 接 排 線 的 界 面 ( 排 線 就 是 用 來 連 接 硬 碟 與 主 機 板 的 那 一 個 東 西 啦!), 而 我 們 稱 這 種 界 面 為 IDE 界 面, 這 也 是 之 前 的 主 流 硬 碟 界 面 ( 目 前 已 被 SATA 取 代 ), 為 了 區 隔 硬 碟 讀 取 的 先 後 順 序, 所 以 主 機 板 上 面 的 這 兩 個 界 面 就 分 別 被 稱 為 Primary ( 主 要 的 ) 與 Secondary ( 次 要 的 ) IDE 介 面 囉, 或 者 被 稱 為 IDE1 ( Primary ) 與 IDE2 ( Secondary ) 而 如 果 你 有 仔 細 觀 察 的 話, 那 麼 每 一 條 排 線 上 面 還 有 兩 個 插 孔, 也 就 是 說 一 條 排 線 可 以 接 兩 個 IDE 界 面 的 裝 置 ( 硬 碟 或 光 碟 機 ), 而 你 有 兩 條 排 線, 因 此 一 個 主 機 板 在 預 設 的 情 況 中, 應 該 都 可 以 接 四 個 IDE 界 面 的 裝 置 好 了, 那 麼 每 條 排 線 上 面 該 如 何 判 別 哪 一 個 是 主 硬 碟 ( Master ), 哪 一 個 是 副 硬 碟 ( Slave ) 呢? 這 個 時 候 就 需 要 調 整 硬 碟 上 面 的 跳 針 ( jump ) 才 可 以 知 道! 請 察 看 一 下 您 的 硬 碟 機 吧! 上 面 應 該 都 會 有 圖 示 說 明 才 對 ( 註 : 硬 碟 的 master/slave 判 斷 方 法 中, 除 了 利 用 jump 主 動 調 整 之 外, 還 可 以 透 過 cable 自 動 選 擇 ) 好 了, 所 以 如 果 我 有 一 個 光 碟 機 了, 那 麼 我 最 多 就 只 能 再 安 裝 三 部 IDE 介 面 的 硬 碟 在 我 的 主 機 上 面 OK! 那 麼 由 於 我 的 硬 碟 與 Linux 的 磁 碟 代 號 有 關, 那 麼 我 怎 麼 知 道 這 個 硬 碟 的 代 號 呢? 沒 問 題 啦, 由 IDE 1 ( Primary IDE ) 的 Master 硬 碟 先 計 算, 最 後 是 IDE 2 的 slave 硬 碟, 所 以 各 個 磁 碟 的 代 號 是 : IDE\Jumper Master Slave IDE1(Primary) /dev/hda /dev/hdb IDE2(Secondary) /dev/hdc /dev/hdd 假 如 我 只 有 一 顆 硬 碟, 而 且 這 一 顆 硬 碟 接 在 IDE 2 的 Master 上 面, 那 麼 他 在 Linux 裡 面 的 代 號 就 是 /dev/hdc 囉!OK! 好 像 沒 問 題 了 呦! 呵 呵! 才 不 是 呢, 問 題 很 大 呦! 因 為, 如 果 我 這 個 磁 碟 被 分 割 成 兩 個 磁 碟 分 割 槽 (Partition), 那 麼 每 一 槽 在 Linux 裡 面 的 代 號 又 是 如 何? 如 何 知 道 每 個 partition 的 代 號 呢? 認 識 硬 碟 的 partition 基 本 上, 硬 碟 是 由 最 小 的 物 理 組 成 單 位 磁 區 ( sector ) 所 組 成 的, 而 數 個 磁 區 組 成 一 個 同 心 圓 時, 那 就 稱 為 磁 柱 ( cylinder ), 最 後 構 成 整 個 硬 碟 的 容 量 大 小 關 於 硬 碟 的 管 理 我 們 在 後 續 章 節 再 來 介 紹, 這 裡 我 們 比 較 想 要 知 道 的 是, 如 何 分 割 硬 碟, 所 以 先 簡 單 的 將 硬 碟 變 成 如 下 的 圖 示 : file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 圖 1 硬 碟 資 料 示 意 圖 在 上 面 的 圖 示 中, 我 們 可 以 很 清 楚 的 知 道, 在 硬 碟 裡 面 有 分 為 兩 個 區 域, 一 個 是 放 置 這 個 硬 碟 的 資 訊 區, 我 們 稱 為 Master Boot Recorder, MBR ( 主 要 開 機 磁 區 ), 一 個 則 是 實 際 檔 案 資 料 放 置 的 地 方 MBR 可 以 說 是 整 個 硬 碟 最 重 要 的 地 方 了, 因 為 在 MBR 裡 面 記 錄 了 兩 個 重 要 的 東 西, 分 別 是 : 開 機 管 理 程 式, 與 磁 碟 分 割 表 ( partition table ) 因 此, 只 要 MBR 物 理 實 體 壞 掉 了, 那 麼 這 顆 硬 碟 就 差 不 多 要 報 廢 了! 因 為, 如 果 系 統 找 不 到 partition table, 就 無 法 使 用 這 塊 硬 碟, 所 以 資 料 即 使 沒 有 丟 掉, 但 是 沒 有 MBR, 呵 呵, 還 是 不 能 使 用 的 啦! 首 先 來 看 一 看 什 麼 是 partition table 呢? 簡 單 的 說, 我 們 說 的 硬 碟 分 割 就 是 在 修 改 這 個 partition table 而 已! 他 基 本 上 定 義 了 第 n 個 磁 碟 區 塊 是 由 第 x 磁 柱 到 第 y 個 磁 柱, 所 以, 每 次 當 系 統 要 去 讀 取 n 磁 碟 區 塊 時, 就 只 會 去 讀 取 第 x 到 y 個 磁 區 之 間 的 資 料! 呵 呵! 這 樣 知 道 了 嗎? 很 簡 單 吧! 下 次 記 得 人 家 在 談 磁 碟 分 割 的 時 候, 不 要 以 為 系 統 真 的 會 在 硬 碟 上 面 用 力 努 力 的 劃 標 籤! 實 際 上, 他 最 大 的 功 能 就 是 修 改 MBR 裡 面 的 partition table 啦! 不 過, 由 於 這 個 MBR 區 塊 的 容 量 有 限, 所 以, 當 初 設 計 的 時 候, 就 只 有 設 計 成 4 個 分 割 紀 錄, 這 些 分 割 記 錄 就 被 稱 為 Primary ( 主 分 割 ) 及 Extended ( 延 伸 分 割 ), 也 就 是 說, 一 顆 硬 碟 最 多 可 以 有 4 個 ( Primary + Extended ) 的 磁 區, 其 中, Extended 只 能 有 一 個, 因 此, 你 如 果 要 分 割 成 四 塊 磁 碟 分 割 的 話, 那 麼 最 多 就 是 可 以 : P + P + P + P P + P + P + E 的 情 況 來 分 割 了 其 中 需 要 特 別 留 意 的 是, 如 果 上 面 的 情 況 中, 3P + E 只 有 三 個 可 用 的 磁 碟, 如 果 要 四 個 都 可 用, 就 得 分 割 成 4P 了!( 因 為 Extended 不 能 直 接 被 使 用, 還 需 要 分 割 成 Logical 才 行, 底 下 我 們 會 繼 續 說 明 的! ) 那 麼 為 什 麼 要 有 Extended 呢? 這 是 因 為 如 果 我 們 要 將 硬 碟 分 割 成 5 個 區 塊 的 話, 那 麼 怎 麼 辦? 這 個 時 候 就 需 要 Extended 的 幫 忙 了 由 於 MBR 僅 能 保 有 四 個 partition 的 資 料 記 錄, 那 如 果 超 過 4 個 以 上 時, 系 統 允 許 在 額 外 的 硬 碟 空 間 放 置 另 一 份 磁 碟 分 割 資 訊, 那 就 是 Extended 了! 假 設 您 將 您 的 硬 碟 分 割 成 為 3P + E, 那 麼 那 個 E 其 實 是 告 訴 系 統, 磁 碟 分 割 表 在 另 外 的 那 份 partition table, 也 就 是 說, 那 個 Extended 其 實 就 是 具 有 指 向 (point) 正 確 的 那 個 額 外 的 partition table 啦! 本 身 Extended 是 不 能 在 任 何 系 統 上 面 被 使 用 的, 還 需 要 再 額 外 的 將 Extended 分 割 成 Logical ( 邏 輯 ) 分 割 才 能 被 使 用, 所 以 囉, 藉 由 這 個 Extended 的 幫 忙, 我 們 就 可 以 分 割 超 過 5 個 可 以 利 用 的 partition 囉! 不 過, 在 實 際 的 分 割 時, 還 是 容 易 出 現 問 題 file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 的, 底 下 我 們 來 思 考 看 看 : 思 考 一 : 如 果 我 要 將 我 的 大 硬 碟 暫 時 分 割 成 四 個 partition, 同 時, 還 有 其 他 的 空 間 可 以 讓 我 在 未 來 的 時 候 進 行 規 劃, 那 麼 該 如 何 分 割? 說 明 : 由 剛 剛 的 說 明, 我 們 可 以 知 道, Primary + Extended 最 多 只 能 有 四 個 partition, 而 如 果 要 超 過 5 個 partition 的 話, 那 麼 就 需 要 Extended 的 幫 忙 因 此, 在 這 個 例 子 中, 我 們 千 萬 不 能 分 割 成 四 個 Primary 為 什 麼 呢? 假 如 您 是 一 個 20 GB 的 硬 碟, 而 4 個 primary 共 用 去 了 15 GB, 您 心 想 還 有 5 GB 可 以 利 用 對 吧? 錯! 剩 下 的 5 GB 完 全 不 能 使 用, 這 是 因 為 已 經 沒 有 多 餘 的 partition table 紀 錄 區 可 以 記 錄 了, 因 此 也 就 無 法 進 行 額 外 的 分 割, 當 然 囉, 空 間 也 就 被 浪 費 掉 了! 因 此, 請 千 萬 注 意, 如 果 您 要 分 割 超 過 4 槽 以 上 時, 請 記 得 一 定 要 有 Extended 分 割 區, 而 且 必 須 將 所 有 剩 下 的 空 間 都 分 配 給 Extended, 然 後 再 以 logical 的 分 割 區 來 規 劃 Extended 的 空 間 另 外, 考 慮 到 磁 碟 的 連 續 性, 一 般 建 議 將 Extended 的 磁 區 分 割 在 最 後 面 的 磁 柱 內 思 考 二 : 我 可 不 可 以 僅 分 割 1 個 Primary 與 1 個 Extended 呢? 說 明 : 當 然 可 以! 基 本 上, Logical 的 號 碼 可 達 63 號, 因 此, 你 可 以 僅 分 割 一 個 主 分 割, 並 且 將 所 有 其 他 的 分 割 都 給 Extended, 利 用 Logical 分 割 來 進 行 其 他 的 partition 規 劃 即 可! 思 考 三 : 假 如 我 的 硬 碟 安 裝 在 IDE 1 的 Master, 並 且 我 想 要 分 割 成 6 個 可 以 使 用 的 硬 碟 磁 區, 那 麼 每 個 磁 碟 在 Linux 底 下 的 代 號 為 何? 說 明 : 由 於 硬 碟 在 Primary + Extended 最 多 可 以 有 四 個, 因 此, 在 Linux 底 下, 已 經 將 partition table 1 ~ 4 先 留 下 來 了, 如 果 只 用 了 2 個 P + E 的 話, 那 麼 將 會 空 出 兩 個 partition number 呦! 再 詳 細 的 說 明 一 下, 假 設 我 將 四 個 P + E 都 用 完 了, 那 麼 硬 碟 的 實 際 分 割 會 如 同 下 圖 所 示 : 圖 2 六 個 硬 碟 的 分 割 示 意 圖 file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 實 際 可 以 使 用 的 是 /dev/hda1, /dev/hda2, /dev/hda3, /dev/hda5, /dev/hda6, /dev/ hda7 這 六 個 partition! 至 於 /dev/hda4 這 個 Extended 磁 區 本 身 僅 是 用 來 規 劃 出 讓 Logical 可 以 利 用 的 磁 碟 空 間 而 已!( 其 實 在 每 個 partition 的 最 前 面 磁 區, 會 有 一 個 特 殊 的 區 塊, 稱 為 super block, 我 們 的 Extended 指 向 的, 就 是 /dev/hda4 的 super block 處, 該 處 就 是 額 外 記 錄 的 那 個 partition table 啦!) 那 麼 萬 一 我 只 想 要 分 割 1 個 Primary 與 1 個 Extended 呢? 這 個 時 候 你 的 磁 碟 分 割 會 變 成 如 下 所 示 : 圖 3 六 個 硬 碟 的 分 割 示 意 圖 注 意 到 了 嗎? 因 為 1~4 號 已 經 被 預 留 下 來 了, 所 以 第 一 個 Logical 的 代 號 由 5 號 開 始 計 算 起 來, 而 後 面 在 被 規 劃 的, 就 以 累 加 的 方 式 增 加 磁 碟 代 號 囉! 而 其 中 /dev/hda3, /dev/hda4 這 兩 個 代 號 則 是 空 的, 被 保 留 下 來 的 代 號 Linux 安 裝 模 式 下, 硬 碟 分 割 的 選 擇 ( 極 重 要 ) 實 際 上, 在 Linux 安 裝 的 時 候, 已 經 提 供 了 相 當 多 的 預 設 模 式 讓 您 選 擇 分 割 的 方 式 了, 不 過, 無 論 如 何, 分 割 的 行 為 都 不 是 很 能 符 合 自 己 主 機 的 樣 子! 因 為 畢 竟 每 個 人 的 想 法 都 不 太 一 樣! 因 此, 強 烈 建 議 使 用 自 訂 安 裝, Custom 這 個 安 裝 模 式! 在 某 些 Linux distribution 中, 會 將 這 個 模 式 寫 的 很 厲 害, 叫 做 是 Expert, 專 家 模 式, 這 個 就 厲 害 了, 請 相 信 您 自 己, 瞭 解 上 面 就 自 稱 為 專 家 了 吧! 沒 有 問 題! 自 訂 安 裝 Custom : A: 初 次 接 觸 Linux : 只 要 切 割 / 及 Swap 即 可! 好 了, 通 常 初 次 安 裝 Linux 系 統 的 朋 友 們, 我 們 都 會 建 議 他 直 接 以 一 個 最 大 的 磁 區 / 來 安 裝, 這 樣 有 個 好 處, 就 是 不 怕 分 割 錯 誤 造 成 無 法 安 裝 的 困 境! 例 如 /usr/ 是 Linux 的 可 執 行 程 式 及 相 關 的 文 件 擺 放 的 目 錄, 所 以 他 的 容 量 需 求 蠻 大 的, 萬 一 你 分 割 了 一 塊 磁 區 給 /usr, 但 是 卻 給 的 不 夠 大, 那 麼 就 傷 腦 筋 了! 因 為 會 造 成 無 法 將 資 料 完 全 寫 入 的 問 題, 就 有 可 能 會 無 法 安 裝 啦! 因 此 上, 如 果 你 是 初 次 安 裝 的 話, 那 麼 可 以 僅 分 割 成 兩 個 磁 區 / 與 Swap 即 可! file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 B: 建 議 分 割 的 方 法 : 預 留 一 個 備 份 的 磁 區! 就 如 同 前 面 幾 個 心 得 分 享 文 章 中 提 到 的, 由 於 Linux 預 設 的 目 錄 是 固 定 的, 所 以, 通 常 我 們 會 將 /var 及 /home 這 兩 個 目 錄 稍 微 加 大 一 些, 如 果 硬 碟 夠 大 的 話, 加 個 幾 GB 也 不 為 過! 另 外, /usr 至 少 給 他 3~5 GB 吧, 如 果 硬 碟 真 的 大 的 話! 而 / 也 可 以 給 個 幾 GB 的 空 間 最 後, 由 於 我 們 的 Linux 可 能 是 在 試 用 階 段, 所 以 很 有 可 能 會 重 複 的 一 再 安 裝, 因 此 上, 鳥 哥 都 會 預 留 一 個 磁 區 來 備 份 我 的 核 心 啦 與 實 作 過 程 中 覺 得 不 錯 的 scripts ( 就 有 點 像 DOS 的 批 次 檔 ), 當 然, 我 的 /home 底 下 的 咚 咚 也 可 以 有 備 份 的 地 方, 而 安 裝 套 件 的 原 始 檔 案 也 可 以 擺 在 這 裡! 有 個 最 大 的 好 處 是, 當 我 的 Linux 重 新 安 裝 的 時 候, 我 的 一 些 套 件 馬 上 就 可 以 直 接 在 硬 碟 當 中 找 到! 呵 呵! 重 新 安 裝 比 較 便 利 啦! 選 擇 Linux 安 裝 程 式 提 供 的 預 設 硬 碟 分 割 方 式 : 對 於 首 次 接 觸 Linux 的 朋 友 們, 通 常 不 建 議 使 用 各 個 distribution 所 提 供 預 設 的 Server 安 裝 方 式, 因 為 會 讓 你 無 法 得 知 Linux 在 搞 什 麼 鬼, 而 且 也 不 見 得 可 以 符 合 你 的 需 求! 注 意 : 選 擇 Server 的 時 候, 請 確 定 您 的 硬 碟 資 料 是 不 要 的! 因 為 Linux 會 自 動 的 把 你 的 硬 碟 裡 面 舊 有 的 資 料 全 部 殺 掉! 此 外, 硬 碟 至 少 需 要 2 GB 以 上 才 可 以 選 擇 這 一 個 模 式! 硬 碟 方 面 的 規 劃 大 致 上 就 是 如 此 啦! 要 規 劃 硬 碟 的 時 候, 請 特 別 的 小 心 呦! 開 始 安 裝 Fedora Core Release IV Linux 安 裝 之 前 要 準 備 什 麼 呢? 就 是 剛 剛 前 面 已 經 講 過 的 幾 個 咚 咚 啦! 歸 納 一 下 : 1. Linux 主 機 規 劃 單 : 就 是 剛 剛 我 們 規 劃 好 的 那 個 資 料 囉! 2. Linux distribution : 利 用 一 些 映 象 站 台 下 載 各 版 本 的 Linux, 或 者 直 接 以 本 書 提 供 的 四 塊 CD 裝 的 FC4 進 行 安 裝 囉! 3. 主 機 硬 體 資 訊 收 集 : 根 據 主 機 規 劃 單 的 內 容, 去 收 集 一 下 你 的 硬 體 資 訊 吧! 其 中 特 別 重 要 的 是, 先 檢 查 一 下 是 否 可 以 使 用 光 碟 開 機 呢? 如 果 BIOS 不 能 支 援 光 碟 開 機 的 話, 那 麼 就 需 要 先 行 安 裝 可 開 機 軟 碟 4. 網 路 硬 體 連 線 : 這 部 份 本 書 先 不 談, 否 則 內 容 就 太 多 了, 阿! 再 寫 下 去 鳥 哥 會 瘋 掉 所 以 請 大 家 先 上 網 查 閱 一 下 網 路 的 硬 體 連 線 吧! 5. 網 路 資 訊 : 包 括 你 的 IP, netmask, gateway, dns IP 是 否 為 撥 接 等 等, 都 需 要 先 知 道 呦! 然 後, 其 實 各 個 套 件 的 安 裝 步 驟 都 差 不 多, 大 概 都 是 : A. 選 擇 安 裝 模 式 : 主 要 分 為 圖 形 介 面 安 裝 與 文 字 介 面 安 裝 ; 如 果 是 圖 形 介 面 安 裝 的 話, 還 可 以 選 擇 語 系, 這 個 時 候 我 們 就 有 中 文 可 以 使 用 啦! file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 B. 搜 尋 硬 體 資 訊 : 然 後 安 裝 程 式 會 去 搜 尋 一 下 系 統 的 硬 體 設 備, 以 利 後 續 的 處 理, 有 的 安 裝 程 式 會 在 這 個 地 方 讓 您 加 入 一 些 參 數, 以 驅 動 不 明 的 裝 置 設 備 ; C. 設 定 鍵 盤 滑 鼠 模 式 : 這 個 可 是 很 重 要 的 項 目 呀! D. 硬 碟 分 割 設 定 : 就 是 剛 剛 提 到 的 幾 個 注 意 事 項 ; E. 套 件 選 擇 : 這 是 很 重 要 的 部 分 呢! 請 特 別 留 意! F. 網 路 與 安 全 性 設 定 : 連 上 Internet 的 模 式 與 驅 動 網 路 卡 的 方 式 等 設 定 ; G. 超 級 管 理 員 與 一 般 身 份 使 用 者 帳 號 設 定 : 最 重 要 的 是 設 定 root ( 超 級 管 理 員 ) 的 密 碼 囉! H. 設 定 X-Window 與 開 機 片 : 如 果 有 安 裝 X-Window 相 關 的 軟 體, 那 麼 X-Window 就 需 要 設 定 並 且 測 試 一 下! 大 概 就 是 這 樣 子 吧! 好 了, 底 下 我 們 就 真 的 要 來 安 裝 囉! 1. 選 擇 開 機 次 序 並 開 機 : 因 為 目 前 幾 乎 所 有 的 Linux Distributions 都 是 支 援 光 碟 開 機 的, 而 我 們 的 主 機 板 也 幾 乎 都 是 支 援 光 碟 開 機 只 是, 您 必 須 要 確 定 系 統 的 第 一 個 開 機 搜 尋 裝 置 為 光 碟 機 就 是 了 我 們 可 以 在 BIOS 裡 面 設 定 開 機 的 次 序, 看 看 能 不 能 以 光 碟 機 開 機! 設 定 方 式 為 : 1. 按 電 源 鍵 開 機 ; 2. 在 進 入 系 統 之 前 會 出 現 Del 字 樣 ( 每 個 廠 牌 不 太 相 同 ), 此 時 按 下 鍵 盤 上 的 Delete 鍵 ; 3. 進 入 BIOS 之 後 以 方 向 鍵 選 擇 BIOS Features Setup 這 一 項, 或 者 是 Advanced BIOS Features, 不 管 如 何, 反 正 只 要 看 到 BIOS Features 字 樣 的 那 一 項 就 對 了!; 4. 將 方 向 鍵 移 動 至 Boot Sequence 或 者 是 First Boot Device ; 這 一 項, 按 鍵 盤 上 的 Page Up 或 Page Down 按 鍵, 選 擇 CD-ROM 為 第 一 開 機 順 位 即 可 這 裡 注 意 一 下, 如 果 你 的 機 器 並 不 支 援 CD-ROM 開 機 的 話, 你 一 定 找 不 到 CD-ROM 這 一 項 這 就 比 較 麻 煩, 因 為 目 前 有 些 Linux distributions 僅 支 援 光 碟 開 機 的 說 ~ 所 以, 您 就 得 要 找 比 較 早 期 的 版 本 或 者 其 他 方 式 來 安 裝 了 5. 按 鍵 盤 上 ESC 鍵 退 出 ; 6. 將 方 向 鍵 移 動 至 Save and Exit 這 一 項 按 Enter 及 Y 確 認 後 重 新 開 機 即 可! 在 進 行 完 上 面 的 步 驟 之 後, 請 將 第 一 片 Fedora Core IV 可 開 機 光 碟 放 入 光 碟 機 中, 按 下 電 源, 給 他 開 機 去! file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 Tips: 其 實, 目 前 除 了 一 般 的 光 碟 片 之 外, 很 多 版 本 的 Linux 也 提 供 可 開 機 DVD 片 了! 所 以, 如 果 您 嫌 4 片 裝 的 FC4 太 麻 煩, 那 麼 可 以 到 義 守 大 學 下 載 DVD 版 本 的 FC4 喔! http://ftp.isu.edu.tw/pub/linux/fedora/linux/core/4/i386/ iso/ 另 外, 那 個 FC4-i386-rescuecd.iso 檔 案 也 可 以 下 載! 那 個 是 救 援 光 碟 ~ 如 果 發 生 不 可 預 期 的 錯 誤 時, 利 用 這 個 光 碟 可 以 救 回 來 您 的 FC4 喔! 2. 選 擇 安 裝 模 式 : 在 進 行 完 上 面 的 動 作 之 後, 理 論 上, 您 的 主 機 已 經 以 FC4 可 開 機 光 碟 開 機 成 功 了! 如 果 發 生 一 些 錯 誤 訊 息 時, 很 可 能 是 由 於 : 1) 硬 體 不 支 援 ; 2) 光 碟 機 會 挑 片 ; 3) 光 碟 片 有 問 題 ; 如 果 是 這 樣, 那 麼 建 議 您, 再 仔 細 的 確 認 一 下 您 的 硬 體 是 否 有 超 頻? 或 者 其 他 不 正 常 的 現 象 而, 您 的 光 碟 來 源 也 需 要 再 次 的 確 認!( 如 果 是 書 上 附 贈 的 光 碟, 卻 發 現 無 法 開 機 成 功, 先 確 定 一 下 您 的 光 碟 機 是 否 會 挑 片? 換 一 台 光 碟 機 試 看 看 如 果 還 是 無 法 開 機, 可 以 寄 回 您 的 書 商, 請 他 們 幫 忙 您 換 一 組 光 碟 呢! 這 是 您 的 權 利 喔!) 一 般 Linux 都 會 支 援 至 少 兩 種 安 裝 以 上 的 安 裝 模 式, 分 別 是 文 字 (text) 與 圖 形 (graphic) 介 面 正 常 的 話, 以 光 碟 開 機 後, 會 出 現 如 下 圖 示 file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 圖 4 選 擇 安 裝 模 式 如 果 想 要 以 圖 形 介 面 來 安 裝, 可 以 直 接 按 下 <enter> 按 鍵, 如 果 想 要 以 文 字 介 面 來 安 裝, 可 以 在 箭 頭 指 的 地 方 輸 入 linux text 來 讓 安 裝 程 式 以 文 字 介 面 安 裝 不 過, 要 注 意 的 是, 如 果 在 10 秒 左 右 您 沒 有 在 boot: 後 ( 箭 頭 處 ) 輸 入 任 何 按 鍵 的 話, 那 麼 安 裝 程 式 就 會 以 預 設 的 模 式 來 安 裝, 預 設 是 以 圖 形 介 面 來 安 裝 的 喔! 我 們 這 裡 也 使 用 圖 形 介 面 來 介 紹 其 實, 兩 個 介 面 都 很 像 啦! 只 是 圖 形 介 面 還 可 以 使 用 中 文 就 是 了! ^_^ 在 按 下 Enter 之 後, 安 裝 程 式 就 會 開 始 去 偵 測 硬 體, 並 且 將 資 訊 列 在 螢 幕 上 給 您 參 考, 如 下 圖 所 示 由 於 鳥 哥 為 了 捉 圖 的 需 要, 所 以 使 用 VMWare 之 類 的 軟 體 來 模 擬 安 裝 不 過, 就 如 同 前 面 介 紹 的, 不 建 議 您 用 這 樣 的 軟 體 來 安 裝 喔! 這 裡 只 是 作 個 介 紹 而 已 圖 5 的 箭 頭 處 就 指 出 一 些 IRQ 的 利 用, 以 及 安 裝 程 式 偵 測 到 的 硬 體 相 關 資 訊 ( 例 如 VMWare 模 擬 的 硬 碟!) file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 圖 5 進 行 硬 體 偵 測 過 程 硬 體 偵 測 完 之 後, 會 出 現 一 個 是 否 檢 查 光 碟 的 畫 面, 如 下 圖 所 示 注 意, 如 果 要 檢 查 光 碟 的 話, 會 花 去 很 多 時 間 的! 所 以, 如 果 確 定 光 碟 來 源 沒 有 問 題, 請 選 擇 Skip 選 項 即 可! 圖 6 是 否 檢 查 光 碟? 請 選 擇 skip 喔! 略 過 光 碟 檢 驗 工 作 後, 因 為 我 們 使 用 的 是 圖 形 介 面 的 安 裝 模 式, 所 以 安 裝 程 式 就 會 去 偵 測 : 螢 幕 鍵 盤 滑 鼠 等 等 相 關 的 硬 體 囉! 如 下 圖 所 示 啊! file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 圖 7 安 裝 程 式 偵 測 到 的 螢 幕 顯 示 卡 與 滑 鼠 等 資 訊 3. 選 擇 安 裝 程 式 的 語 系 與 鍵 盤 配 置 : 在 完 成 了 一 些 硬 體 方 面 的 偵 測 之 後, 順 利 的 話, 就 可 以 進 入 圖 形 介 面 的 安 裝 了! 安 裝 的 畫 面 如 下 圖 所 示 基 本 上, 分 為 左 右 兩 個 區 塊, 左 邊 主 要 是 作 為 說 明 之 用, 右 邊 才 是 真 正 的 操 作 區 塊! 如 果 您 搞 不 懂 這 個 安 裝 畫 面 是 幹 嘛 用 的, 可 以 參 考 左 邊 區 塊 的 說 明 至 於 右 下 角 則 是 下 一 步 或 者 回 到 上 一 步 的 按 鈕 喔! 給 他 按 下 一 步 吧 圖 8 FC4 的 歡 迎 畫 面 之 後 就 是 選 擇 語 系 啦! 因 為 安 裝 程 式 可 以 使 用 很 多 不 同 的 語 言 來 呈 現 我 們 可 以 選 擇 中 文 來 進 行 安 裝 喔! 如 下 圖 所 示, 先 選 擇 繁 體 中 文 按 下 一 步 即 可! file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 圖 9 語 系 的 選 擇 嘿 嘿! 此 時 竟 然 是 以 中 文 來 顯 示 我 們 所 需 要 的 畫 面 了! 啊! 真 是 太 高 興 了! ^_^ 接 下 來, 則 要 選 擇 鍵 盤 的 配 置 因 為 每 個 地 區 的 鍵 盤 上 面 的 字 母 配 置 都 不 一 樣, 我 們 使 用 的 是 英 文 的 鍵 盤 配 置, 所 以, 選 擇 美 式 英 文 就 可 以 了! 如 下 圖 所 示 file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 圖 10 鍵 盤 配 置 的 選 擇 4. 安 裝 的 系 統 類 型 與 磁 碟 分 割 : 什 麼 是 安 裝 的 系 統 類 型 呢? 基 本 上, FC 4 已 經 幫 您 規 劃 好 一 些 主 機 利 用 的 方 式 了 舉 例 來 說, 如 果 您 想 要 使 用 桌 上 型 電 腦 的 功 能, 那 麼 可 以 選 擇 下 圖 的 個 人 電 腦 項 目, 他 會 主 動 的 幫 您 進 行 好 磁 碟 分 割 以 及 相 關 的 套 件 選 擇 啊! 不 過, 缺 點 是, 可 能 您 的 硬 碟 partition 就 交 給 系 統 主 動 去 判 斷 處 理, 在 學 習 上, 會 比 較 不 好, 而 且, 系 統 的 預 設 分 割 與 套 件 的 選 擇, 也 不 見 得 就 會 跟 您 想 像 的 一 樣! 因 此, 這 裡 強 烈 的 建 議 您, 務 必 選 擇 自 訂 安 裝 喔! file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 圖 11 預 設 的 安 裝 系 統 類 型 好 了, 接 下 來 自 然 就 是 要 進 行 磁 碟 的 分 割 動 作 了! 這 是 我 們 在 安 裝 與 規 劃 的 部 分 一 直 強 調 的 地 方 呢! ^_^ 此 時, 請 選 擇 使 用 Disk Druid 工 具 來 自 行 進 行 磁 碟 分 割 呢! 這 可 是 很 重 要 的 喔! 圖 12 磁 碟 分 割 的 模 式 ( 自 動 / 手 動 ) 如 果 是 一 顆 全 新 的 硬 碟, 可 能 會 發 生 如 下 的 錯 誤 訊 息, 這 個 訊 息 僅 是 告 知 您, 安 裝 程 式 找 不 到 partition table 而 已, 還 不 需 要 太 擔 心 啦! 此 時, 直 接 按 下 是 就 可 以 了! file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 圖 13 確 定 是 否 刪 除 partition table 接 下 來 的 畫 面 則 是 在 操 作 磁 碟 分 割 的 主 要 畫 面 了! 這 個 畫 面 主 要 分 為 三 大 區 塊, 最 上 方 為 硬 碟 的 分 割 示 意 圖, 目 前 因 為 我 的 硬 碟 並 未 分 割, 所 以 呈 現 的 就 是 一 整 塊 而 且 為 Free 的 字 樣 中 間 則 是 指 令 區, 下 方 則 是 每 個 分 割 槽 (partitions) 的 啟 始 磁 柱 結 束 磁 柱 所 佔 容 量 大 小, 以 及 相 關 的 檔 案 系 統 與 掛 載 點 了 關 於 掛 載 點 我 們 會 在 後 面 幾 個 章 節 加 以 介 紹, 這 裡 您 只 要 知 道 我 們 要 將 磁 碟 分 割 槽 掛 載 到 /home 以 及 / 還 有 swap 即 可 至 於 指 令 區, 總 共 有 六 大 區 塊, 其 中 RAID 與 LVM 是 硬 碟 特 殊 的 應 用, 我 們 先 略 過 不 談 ( 在 基 礎 篇 的 最 後 面 硬 體 維 護 的 章 節, 我 們 會 來 談 一 談 LVM) 指 令 的 作 用 如 下 : 新 增 是 增 加 新 分 割, 亦 即 進 行 分 割 動 作, 以 建 立 新 的 磁 碟 分 割 槽 ; 編 輯 則 是 編 輯 已 經 存 在 的 磁 碟 分 割 槽, 您 可 以 在 實 際 狀 態 顯 示 區 點 選 想 要 修 改 的 分 割 槽, 然 後 再 點 選 編 輯 即 可 進 行 該 分 割 槽 的 編 輯 動 作 刪 除 則 是 刪 除 一 個 磁 碟 分 割 槽, 同 樣 的, 您 得 要 再 實 際 狀 態 顯 示 區 點 選 想 要 刪 除 的 分 割 槽 喔! 重 設 則 是 恢 復 最 原 始 的 磁 碟 分 割 狀 態! 需 要 注 意 的 是, 您 的 系 統 與 鳥 哥 的 系 統 當 然 不 可 能 完 全 一 樣, 所 以, 您 的 螢 幕 上 的 硬 碟 資 訊, 應 該 不 會 與 鳥 哥 的 相 同 的 喔! 所 以 看 到 不 同, 不 要 太 緊 張 啊, 那 是 正 常 的! file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 圖 14 磁 碟 分 割 的 主 畫 面 好 了! 準 備 來 進 行 分 割 的 動 作 吧! 按 下 新 增 之 後, 會 出 現 如 下 圖 的 視 窗 ~ 我 們 得 選 擇 掛 載 點, 我 首 先 規 劃 出 來 的 是 根 目 錄 / 的 分 割 槽, 所 以 先 點 選 如 下 圖 最 上 方 箭 頭 指 的 地 方, 然 後 選 擇 / 即 可 ; file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 圖 15 選 擇 根 目 錄 的 磁 碟 分 割 接 下 來, 因 為 我 僅 有 一 顆 硬 碟, 所 以 在 可 使 用 磁 碟 機 就 沒 有 辦 法 選 擇, 一 定 是 固 定 的 那 一 顆 啦! 而 我 想 要 的 磁 碟 檔 案 系 統 類 型 就 選 擇 標 準 的 ext3 即 可! 再 來 則 是 選 擇 分 割 的 狀 態 了 首 先, 我 要 規 劃 出 6GB 左 右, 因 此, 在 大 小 那 個 地 方 填 入 6000 ( 大 約 是 6000M = 6G) 然 後 我 想 要 固 定 大 小, 因 此 選 擇 固 定 分 割 區 大 小 且 選 擇 強 制 成 為 主 要 分 割 區, 這 個 就 是 primary 的 partition 啦! 最 後 按 下 確 定 ( 注 意, 如 果 您 想 要 將 系 統 的 所 有 套 件 安 裝 這 裡 至 少 需 要 填 入 10000, 亦 即 10GB 的 空 間 才 足 夠 喔!) file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 圖 16 選 擇 根 目 錄 的 磁 碟 分 割 之 後 會 回 到 主 畫 面, 就 如 下 圖 所 示, 在 示 意 圖 方 面 就 已 經 有 一 個 大 區 塊 出 現 了! 在 實 際 狀 態 區, 則 有 /dev/hda1 出 現 了! 很 簡 單 吧! 好 了, 繼 續 來 進 行 虛 擬 記 憶 體 swap 的 分 割 吧! file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 圖 17 已 經 分 割 出 / 的 畫 面 同 樣 的 按 下 新 增 然 後 就 會 出 現 同 樣 的 畫 面, 此 時, 我 們 直 接 在 檔 案 系 統 類 型 的 地 方, 選 擇 swap 這 個 類 型 即 可! 這 個 Swap 有 什 麼 功 能 呢? 簡 單 的 說, 他 可 以 被 看 做 為 虛 擬 記 憶 體 囉, 那 麼 虛 擬 記 憶 體 是 什 麼? 您 可 以 這 樣 想 像, 當 你 的 實 體 記 憶 體 只 有 64 MB 的 時 候, 但 是 你 的 系 統 負 荷 突 然 之 間 太 大 了, 例 如 突 然 之 間 有 數 十 個 人 連 上 你 的 Web 伺 服 器 時, 那 麼 你 的 實 體 記 憶 體 將 不 足 以 負 荷 這 些 計 算 的 資 料! 怎 麼 辦? 這 個 時 候 我 們 可 以 使 用 硬 碟 來 模 擬 記 憶 體 的 資 料 存 取, 這 個 就 是 所 謂 的 虛 擬 記 憶 體 囉! 不 過, 虛 擬 記 憶 體 的 速 度 會 比 較 慢 呦! 當 有 資 料 被 存 放 在 實 體 記 憶 體 裡 面, 但 是 這 些 資 料 又 不 是 常 被 CPU 所 取 用 時, 那 麼 這 些 不 常 被 使 用 的 程 序 將 會 被 丟 到 虛 擬 記 憶 體 當 中, 而 將 速 度 較 快 的 實 體 記 憶 體 空 間 釋 放 出 來 給 真 正 需 要 的 程 序 使 用! 這 就 是 虛 擬 記 憶 體 的 功 效 之 一 啦! 通 常 Swap 建 議 的 值 大 約 是 RAM 的 兩 倍 大, 但 是 這 個 因 地 制 宜 啦! 像 鳥 哥 的 Proxy 主 機 本 身 的 記 憶 體 就 達 到 1GB 了, 那 麼 是 否 還 需 要 虛 擬 記 憶 體 呢? 見 仁 見 智 囉! file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 圖 18 新 增 加 swap 磁 碟 分 割 然 後, 我 們 要 將 swap 規 劃 為 512 MB, 所 以, 如 下 圖 所 示, 直 接 填 入 512, 並 且 同 樣 的 強 制 為 主 分 割, 以 及 固 定 分 割 區 的 大 小, 按 下 確 定 即 可! file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 圖 19 新 增 加 swap 磁 碟 分 割 再 次 回 到 主 畫 面! 呵 呵! 看 到 了 嗎? 又 多 了 一 個 partition 出 現 啦! 這 次 是 /dev/hda2 呢! file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 圖 20 含 有 / 與 swap 的 主 畫 面 繼 續 來 新 增 /home 這 個 分 割 槽 吧! 如 下 圖 所 示, 我 們 給 予 /home 大 約 1GB 的 磁 碟 空 間 吧! 同 樣 也 是 選 擇 標 準 的 ext3 檔 案 系 統! file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 圖 21 規 劃 /home 的 磁 碟 分 割 槽 回 到 主 畫 面 後, 這 就 是 我 們 最 終 的 分 割 結 果 了! 注 意 到, 我 們 還 有 一 部 份 的 剩 餘 空 間 沒 有 使 用 到 喔! 那 個 沒 有 被 使 用 到 的 空 間, 可 以 做 為 我 們 未 來 的 磁 碟 練 習 啦! 別 將 他 規 劃 了! ^_^ 另 外, 您 也 可 以 自 行 測 試 一 下 以 不 同 的 方 式 來 分 割 您 的 磁 碟, 舉 例 來 說, 您 也 可 以 這 樣 分 割 : Swap 約 100 MB; /var 給 3~5 GB; /usr 給 3~5 GB; / 給 1 GB 以 上 ; /home 可 以 給 大 一 些 ; /backup 用 來 做 為 備 份 的 磁 區 無 論 如 何, 我 們 這 個 練 習 機 的 分 割 最 終 結 果 如 下 圖 : file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 圖 22 分 割 完 成 的 最 後 結 果 5. 選 擇 開 機 管 理 程 式 : 分 割 完 硬 碟 之 後, 接 下 來 就 來 選 擇 開 機 管 理 程 式 啦! 在 Linux 裡 面 主 要 有 Lilo 與 grub 這 兩 套 開 機 管 理 程 式, 不 過, 目 前 Lilo 已 經 比 較 少 使 用, 取 而 代 之 的 就 是 grub 這 個 好 用 的 管 理 程 式 囉! 所 以, 我 們 可 以 看 到 如 下 的 畫 面 : 比 較 值 得 注 意 的 是, 開 機 管 理 程 式 可 以 被 安 裝 在 MBR 也 可 以 安 裝 在 每 個 partition 最 前 面 的 super block 處 ( 這 個 我 們 會 在 後 面 繼 續 說 明! 看 不 懂 先 有 印 象 即 可!) 在 下 圖 當 中, 我 們 安 裝 在 /dev/hda 內, 這 就 是 MBR 的 安 裝 點, 如 果 是 類 似 /dev/hda1 這 個 就 是 super block 的 安 裝 處 啦! 在 下 圖 中, 顯 示 了 我 們 目 前 僅 有 一 個 開 機 選 單, 那 就 是 Fedora Core 這 個 選 項 而 已 我 們 可 以 透 過 新 增 編 輯 與 刪 除 來 管 理 開 機 時, 要 顯 示 的 項 目 舉 file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 例 來 說, 如 果 您 有 安 裝 Windows 在 這 個 系 統 當 中, 那 麼 此 時, 您 就 可 以 按 下 新 增, 將 Windows 可 開 機 磁 區 加 到 這 個 畫 面 當 中 來 喔! 至 於 最 底 下 的 密 碼 與 進 階 設 定, 我 們 在 後 續 相 關 的 章 節 談 到 時, 再 深 入 來 研 究 啊! 圖 23 安 裝 grub 開 機 管 理 程 式 上 圖 中, 如 果 按 下 新 增 就 會 出 現 如 下 所 示 的 圖 樣, 此 時, 您 可 以 選 擇 所 需 要 的 partition, 以 及 開 機 時 選 單 內 的 名 稱 ( 標 籤 ), 按 下 確 定 即 可 如 果 沒 有 額 外 的 開 機 區, 就 略 過 這 個 步 驟 吧! 圖 24 安 裝 grub 開 機 管 理 程 式 file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 6. 網 路 與 防 火 牆 設 定 : 再 來, 如 果 您 的 網 路 卡 可 以 被 系 統 捉 到 的 話, 那 麼 您 就 可 以 設 定 網 路 參 數 了! 例 如 下 圖 所 示 的 模 樣! 目 前 各 大 版 本 幾 乎 都 會 預 設 網 路 卡 IP 的 取 得 方 式 為 自 動 取 得 IP, 也 就 是 所 謂 的 DHCP 網 路 協 定 啦! 不 過, 由 於 這 個 協 定 需 要 有 DHCP 主 機 的 輔 助, 開 機 的 過 程 中 可 能 會 等 待 一 段 時 間 因 此, 您 可 以 改 成 手 動 設 定 不 過, 無 論 如 何, 都 要 與 您 的 網 路 環 境 相 同 才 是 如 果 您 不 懂 網 路 如 何 設 定, 沒 有 關 係, 我 們 會 在 伺 服 器 篇 好 好 的 深 入 介 紹 的, 在 這 裡, 還 沒 有 需 要 瞭 解 他! 您 可 以 照 著 鳥 哥 的 設 定 值 設 定 就 好 了! 未 來 瞭 解 了 網 路 架 構, 再 回 來 這 裡 進 行 修 訂 的 工 作 即 可! 圖 25 安 裝 程 式 預 設 的 網 路 參 數 設 定 值 說 過 啦! 不 要 用 DHCP 啊! 利 用 手 動 設 定 即 可! 你 也 可 以 設 定 開 機 就 驅 動 網 路 卡 喔! 如 下 圖 的 箭 頭 指 的 地 方 至 於 IP 嘛! 嘿 嘿! 就 跟 鳥 哥 的 一 樣 就 好 了! 別 擔 心! file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 圖 26 設 定 網 路 卡 IP 上 圖 中 給 他 按 下 確 定 之 後, 就 會 出 現 如 下 的 圖 示 啦! 您 必 須 要 替 自 己 的 Linux 主 機 取 的 名 稱 一 般 來 說, 我 們 都 不 建 議 取 的 名 稱 太 大 眾 化! 因 為, 可 能 會 造 成 未 來 設 定 主 機 的 一 些 困 擾 所 以, 這 裡 鳥 哥 以 自 己 的 名 字 取 一 個 主 機 名 稱 呢! 您 也 可 以 依 樣 畫 葫 蘆 喔! 另 外, 那 個 閘 道 器 與 DNS 的 設 定 嘛! 就 跟 鳥 哥 設 定 的 一 樣 就 好 了! 不 知 道 原 理 沒 關 係! 以 後 我 們 再 來 設 定 好! file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 圖 27 設 定 主 機 名 稱 與 Gateway, DNS 設 定 好 網 路 之 後, 再 來 則 是 跟 網 路 有 相 當 大 關 係 的 防 火 牆 啦! 因 為 我 們 是 練 習 用 的 主 機, 這 裡 就 先 不 要 使 用 防 火 牆 另 外, 那 個 SELinux 的 設 定 值 得 特 別 留 意! SELinux 是 Security Enhanced Linux 的 簡 寫, 這 個 套 件 是 由 National Security Agency (NAS, http:// www.nsa.gov/selinux/) 所 發 展 的, 他 主 要 的 功 能 可 以 代 管 整 個 Linux 系 統 的 存 取 控 制 (access control), 可 藉 以 避 免 一 些 可 能 造 成 我 們 Linux 作 業 系 統 安 全 問 題 (Security) 的 軟 體 的 破 壞, 雖 然 SELinux 會 有 比 較 好 的 系 統 防 護 能 力, 不 過, 如 果 不 熟 悉 他, 那 麼 啟 動 了 SELinux 之 後, 嘿 嘿! 您 未 來 的 服 務 可 能 會 因 為 這 個 較 為 嚴 密 的 安 全 機 制, 而 導 致 無 法 提 供 連 線 的 問 題, 或 者 無 法 進 行 資 料 存 取 的 問 題, 所 以, 暫 時 也 將 他 關 閉 吧! ^_^ file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 圖 28 防 火 牆 的 設 定 因 為 我 們 停 用 防 火 牆, 安 裝 程 式 很 好 心 的 會 提 示 我 們 : 你 沒 有 啟 用 防 火 牆 喔!, 嘿 嘿! 沒 關 係! 繼 續 吧! 因 為 我 們 在 伺 服 器 篇 裡 面 會 提 到 自 己 設 定 的 防 火 牆 功 能 啊! 圖 29 無 防 火 牆 的 警 告 訊 息 7. 選 擇 時 區 與 設 定 root 密 碼 : 因 為 全 世 界 被 細 分 為 24 個 時 區, 所 以, 得 要 告 知 系 統 我 們 的 時 區 在 哪 裡 才 行 啊! 如 下 圖 所 示, 您 可 以 選 擇 台 北, 或 直 接 用 滑 鼠 在 地 圖 上 面 點 選 也 可 以! 要 特 別 注 意 的 是 那 個 UTC, 他 與 所 謂 的 日 光 節 約 時 間 有 關 不 過, 我 們 不 需 要 選 擇 這 個, 不 然 file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 的 話, 還 可 能 造 成 時 區 被 影 響, 導 致 系 統 顯 示 的 時 間 會 與 本 地 時 間 不 同 Tips: 事 實 上, UTC 與 所 謂 的 GMT 時 間 是 一 樣 的! 就 是 格 林 威 治 時 間, 那 是 標 準 的 地 球 時 間 啦! 以 格 林 威 治 ( 英 國 ) 所 在 地 為 GMT 0 點, 而 將 地 球 切 為 24 個 時 區, 我 們 台 灣 在 GMT 的 東 方, 時 間 比 較 早, 所 以 台 灣 本 地 時 間 為 GMT+8 小 時 圖 30 時 區 的 選 擇 再 來 則 是 最 重 要 的 系 統 管 理 員 的 密 碼 設 定 啦! 在 Linux 底 下, 系 統 管 理 員 的 預 設 名 稱 為 root, 請 注 意, 這 個 密 碼 很 重 要! 雖 然 我 們 是 練 習 用 的 主 機, 不 過, 還 是 請 您 養 成 良 好 的 習 慣, 最 好 root 的 密 碼 可 以 設 定 的 嚴 格 一 點 可 以 設 定 至 少 8 個 字 元 以 上, 而 且 含 有 特 殊 符 號 更 好, 例 如 :I&my_dog 之 類, 有 點 怪, 對 您 又 挺 好 記 的 密 碼! file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 圖 31 系 統 管 理 員 密 碼 的 設 定 圖 32 系 統 開 始 讀 取 套 件 資 料 8. 套 件 的 選 擇 : 在 進 行 完 套 件 的 讀 取 之 後, 接 下 來, 則 是 選 擇 您 要 的 套 件 啦! 咦! 我 怎 麼 知 道 我 要 什 麼 套 件? 哈 哈! 您 當 然 不 可 能 會 知 道 ~ 知 道 的 話... 就 不 會 來 這 兒 查 閱 資 料 了 @_@ 沒 有 啦! 開 開 玩 笑... 呼 ~ 好 冷 ~~ 基 本 上, 鳥 哥 不 建 議 您 使 用 安 裝 程 式 預 設 的 套 件 來 安 裝! 因 為, 會 缺 乏 很 多 需 要 的 套 件 的! 如 果 您 的 硬 碟 夠 大, 建 議 您, 像 下 圖 一 樣, 選 擇 全 部 安 裝, 一 勞 永 逸! 不 必 怕 什 麼 咚 咚 沒 有 裝 當 然 啦, 這 是 針 對 練 習 機 來 進 行 的 安 裝 如 果 您 已 經 具 有 基 本 的 套 件 管 理 知 識, 那 麼 鳥 哥 會 建 議 您 選 擇 最 小 值 來 安 裝, 不 過, 要 有 心 理 準 備, 就 是 很 多 資 料 您 都 得 在 安 裝 成 功 後, 再 自 行 由 光 碟 中 的 檔 案 來 安 裝! 但 是, 優 點 是, 會 佔 用 比 較 少 的 空 間, 而 且 系 統 會 比 較 乾 淨 那 有 沒 有 折 衷 的 方 法 啊? 有 的, 假 設 您 不 需 要 X Window, 但 卻 需 要 一 些 有 的 沒 有 的 工 具 的 話, 那 麼 您 可 以 選 擇 底 下 這 些 相 關 的 套 件 啊! 編 輯 器 文 字 介 面 的 網 際 網 路 編 寫 與 出 版 伺 服 器 設 定 工 具 開 發 工 具 ( 這 個 最 重 要! 一 定 要 選 擇!) 相 容 舊 式 軟 體 開 發 語 言 支 援 管 理 工 具 系 統 工 具 列 印 支 援 file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 這 樣 的 套 件 大 約 需 要 1833 MB 的 硬 碟 空 間 而 如 果 您 想 要 使 用 X Window 的 話, 那 麼 最 上 方 的 X 視 窗 系 統 與 KDE 桌 面 環 境 也 可 以 將 他 選 擇 的 啦! 仔 細 注 意 到 下 圖 的 最 下 方, 有 個 總 安 裝 大 小 : xxxxxm 吧?! 那 就 是 您 選 擇 的 套 件 總 共 會 佔 用 多 少 硬 碟 空 間 啦! 選 擇 看 看 吧! 圖 33 套 件 的 選 擇 檢 查 過 相 依 屬 性 的 問 題 後, 會 出 現 一 個 說 明 視 窗, 裡 面 說 的 是, 等 一 下 就 會 主 動 的 將 所 有 選 擇 的 套 件 安 裝 妥 當, 而 且, 所 有 安 裝 的 資 訊 都 會 被 紀 錄 在 /root/install.log 及 /root/ anaconda-ks.cfg 這 兩 個 檔 案 中 呢! file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 圖 34 安 裝 前 的 說 明 由 於 您 所 選 擇 的 套 件 分 別 在 這 幾 張 光 碟 當 中, 所 以 會 出 現 這 個 視 窗, 告 知 您, 必 須 要 有 這 四 片 光 碟 才 可 以 安 裝 妥 當 喔! 圖 35 確 定 您 所 擁 有 的 光 碟 呵 呵! 開 始 安 裝 囉! 在 安 裝 的 這 個 畫 面 中, 會 顯 示 還 需 要 多 少 時 間, 每 個 套 件 的 名 稱, 以 及 該 套 件 的 簡 易 說 明 呢! file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 圖 36 安 裝 過 程 的 畫 面 一 片 一 片 的 將 光 碟 拿 出 來 ~ 放 進 去 ~ 花 費 的 時 間 可 不 少 呢! 圖 37 光 碟 更 換 警 示 等 到 所 有 的 安 裝 光 碟 都 安 裝 之 後, 一 切 就 都 OK 了! 最 後 出 現 這 個 畫 面, 請 將 光 碟 機 的 片 子 拿 出 來, 準 備 按 下 重 新 開 機 去 開 機 吧! file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 圖 38 光 碟 更 換 警 示 在 重 新 開 機 時, 會 出 現 如 下 的 畫 面, 這 是 正 常 的! 別 擔 心! 系 統 就 要 重 新 開 機 囉! 接 著 請 看 下 一 章 相 關 的 開 機 與 關 機 內 容 啊! 圖 39 光 碟 更 換 警 示 9. 其 他 注 意 事 項 : 在 安 裝 完 畢 之 後, 有 些 地 方 還 是 需 要 提 醒 您 的 : 你 可 能 會 覺 得 很 奇 怪, 為 什 麼 你 的 安 裝 過 程 會 跟 我 的 不 一 樣?! 呵 呵! 因 為 每 個 file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 人 選 擇 的 套 件 都 不 盡 相 同, 因 此, 如 果 你 在 安 裝 的 過 程 中 選 擇 了 跟 我 不 一 樣 的 套 件, 不 用 擔 心, 安 裝 過 程 會 有 些 許 的 不 相 同 是 正 常 的! 在 安 裝 完 成 之 後, 請 千 萬 記 得 取 出 光 碟 片, 不 然 又 會 在 進 入 一 次 安 裝 畫 面 喔! 同 時 建 議, 安 裝 完 成 之 後, 請 進 入 您 的 BIOS 當 中, 將 開 機 的 順 序 改 回 來 C A 或 C only 反 正 就 是 讓 硬 碟 開 機 啦! 這 樣 比 較 安 全 一 些! 好 了! 這 樣 應 該 就 已 經 安 裝 完 畢 了! 請 繼 續 往 下 看 看 吧! 而 且, 相 當 的 建 議 您, 在 正 式 的 進 行 架 站 之 前, 請 依 序 看 一 下 底 下 的 網 頁, 最 好 不 要 跳 著 看, 不 然 的 話, 嘿 嘿 嘿 嘿! 出 現 什 麼 問 題 可 不 要 怪 我! 因 為, 照 著 順 序 看 會 對 你 的 Linux 認 識 比 較 有 幫 助 啦! 附 帶 額 外 提 醒 一 點, 由 一 些 bug reports 的 資 料 顯 示, FC4 預 設 的 X Window 對 於 Intel 以 及 一 些 G550 的 顯 示 卡 在 支 援 度 上 可 能 有 問 題, 這 是 因 為 編 譯 的 過 程 裡 面 下 達 的 參 數 不 佳 所 致 完 整 的 bug reports 可 以 參 考 : https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=161242 簡 單 的 來 說, 就 是 Intel 的 顯 示 卡 與 G550 的 顯 示 卡 硬 體 在 FC4 的 編 譯 過 程 中, 可 能 無 法 對 這 兩 種 顯 示 卡 做 比 較 好 的 處 理, 導 致 tty1 ~ tty7 都 沒 有 東 西 跑 出 來 那 怎 麼 解 決 呢? 如 果 您 是 初 次 接 觸 Linux 的 話, 那 麼 請 先 參 考 Linux 檔 案 與 目 錄 管 理 章 節 當 中 的 cp 這 個 複 製 指 令 的 介 紹, 然 後 將 FC3 的 這 個 檔 案 /usr/x11r6/lib/modules/libvgahw.a 複 製 到 FC4 底 下 的 相 同 檔 案 去, 經 過 重 新 開 機 後, 應 該 可 以 克 服 這 個 問 題 該 檔 案 可 以 在 底 下 取 得 : ftp://people.redhat.com/mharris/libvgahw.a 在 這 裡 或 許 您 還 看 不 懂 上 面 寫 些 什 麼, 沒 關 係, 這 很 正 常, 等 到 下 一 章 後, 您 就 曉 得 這 個 地 方 在 講 啥 了 ~ 所 以, 如 果 您 在 下 一 章 的 文 字 圖 形 介 面 變 換 時 發 生 問 題, 記 得 來 這 裡 看 看 呦! 多 重 開 機 安 裝 流 程 與 技 巧 很 多 的 朋 友, 包 括 我 自 己, 由 於 工 作 的 需 要, 常 常 需 要 兩 部 不 同 的 作 業 系 統 來 處 理 日 常 生 活 與 工 作 的 雜 事! 那 麼 我 是 否 需 要 兩 部 電 腦 呢? 並 不 需 要, 只 要 一 部 電 腦 使 用 多 重 開 機 的 方 式 來 進 行 安 裝, 嘿 嘿! 這 樣 就 OK 啊! 理 論 上 是 如 此, 不 過 實 際 上 還 需 要 一 些 小 技 巧 呢! 不 過, 就 如 同 鳥 哥 之 前 提 過 的, 多 重 開 機 系 統 是 有 很 多 風 險 存 在 的, 而 且 您 也 不 能 隨 時 變 動 這 個 多 重 作 業 系 統 的 開 機 磁 區, 這 對 於 初 學 者 想 要 很 猛 烈 的 玩 Linux 有 點 妨 礙 ~ 所 以, 鳥 哥 不 是 很 建 議 新 手 使 用 多 重 開 機 啦! 所 以, 底 下 僅 是 提 出 一 個 大 概, 您 可 以 看 一 看, 未 來 我 們 談 到 後 面 的 章 節 時, 您 自 然 就 會 有 豁 然 開 朗 的 笑 容 出 現 了! ^_^ file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 硬 碟 重 新 規 劃 的 多 重 開 機 系 統 : 如 果 你 想 要 在 你 的 Linux 機 器 上 同 時 安 裝 Windows? 可 行 嗎? 當 然 可 行 囉! 況 且 目 前 很 多 的 朋 友 手 邊 只 有 一 部 電 腦, 但 是 又 想 要 同 時 學 習 一 下 Linux, 呵 呵! 那 麼 安 裝 多 重 作 業 系 統 實 在 是 必 須 要 的! 好 了! 那 要 如 何 安 裝 呢? 以 鳥 哥 前 一 陣 子 幫 一 個 朋 友 規 劃 的 Win98, Win2000, Linux 為 例, 我 先 將 硬 碟 以 spfdisk 切 割 成 兩 個 FAT partition, 分 別 是 2GB 與 3GB, 預 計 安 裝 Win98 與 Win2000 ( 分 別 是 C: 與 D: ), 然 後 再 以 CD 開 機 後, 分 割 最 後 的 磁 碟 成 為 / 與 Swap 兩 個! 好 了! 如 何 安 裝 : 1. 先 以 Spfdisk 分 割 硬 碟 : 由 於 Windows 的 Fdisk 實 在 太 慢 了, 我 蠻 喜 歡 使 用 spfdisk 這 個 全 中 文 的 磁 碟 分 割 介 面 的! 簡 單 又 方 便! 將 硬 碟 切 割 成 C: 2GB, D: 3GB 即 可! 詳 細 的 Spfdisk 執 行 範 例 可 以 到 網 路 上 搜 尋 一 下 教 學 文 章 吧! 例 如 :http://linux.vbird.org/ linux_basic/0140spfdisk.php 2. 先 安 裝 Win98 : 這 個 簡 單 吧! 用 98 開 機 片 開 機 之 後, 直 接 安 裝, 並 且 選 擇 安 裝 在 C 槽 即 可! 3. 再 安 裝 Win2000: 進 入 Win98 之 後, 將 Win2000 的 光 碟 片 放 進 光 碟 機 中, 螢 幕 會 自 動 的 跑 出 一 個 視 窗, 問 你 要 不 要 升 級, 選 擇 是, 然 後 會 進 行 一 些 小 動 作! 在 安 裝 程 式 問 到 升 級 安 裝 或 全 新 安 裝 的 時 候, 請 千 萬 選 擇 全 新 安 裝 這 個 項 目, 並 且 不 要 升 級 硬 碟 磁 區! 然 後 在 出 現 一 個 問 你 安 裝 目 錄 所 在 的 問 題 時, 進 入 選 項 裡 面, 選 擇 要 我 自 己 挑 選 硬 碟 分 割 區 那 個 項 目! 然 後 接 下 來 一 直 按 下 確 定 或 是 即 可! 之 後, 電 腦 會 重 新 開 機, 開 機 完 成 之 後 會 進 入 Win2000 的 安 裝 畫 面, 然 後 在 出 現 安 裝 磁 區 的 時 候, 請 選 擇 D 槽, 並 且 選 擇 不 要 更 改 磁 區 檔 案 系 統 即 可! 接 下 來 就 會 完 成 一 些 程 序 啦! 4. 最 後 才 安 裝 Linux distribution : 是 的, 最 後 才 安 裝 Linux! 安 裝 的 過 程 就 如 同 上 面 提 的, 只 不 過 在 硬 碟 分 割 的 地 方 會 比 較 不 一 樣 就 是 了!! 5. 以 Lilo 或 grub 設 定 多 重 開 機 : 是 的, 您 必 須 選 用 lilo 或 grub 來 將 您 的 開 機 程 序 設 定 一 下, 這 個 動 作 我 們 會 在 後 頭 再 談, 或 者 您 可 以 在 瞭 解 vi 之 後, 直 接 翻 到 多 重 開 機 章 節 去 瞧 一 瞧 去! 在 既 存 的 Windows 系 統 中 加 裝 Linux 系 統 : 另 外 再 提 供 一 個 之 前 也 曾 經 安 裝 過 的 一 個 經 驗! 恩! 你 可 能 會 覺 得 奇 怪, 這 個 方 法 跟 上 一 個 方 法 有 什 麼 不 同!? 呵 呵 呵 呵! 最 大 的 不 同 在 於 : 我 既 存 的 Windows 系 統 中 的 資 料 不 想 丟 掉, 並 且 我 也 沒 有 新 的 硬 碟 來 暫 存 我 的 系 統 或 者 是 備 份 資 料! 假 設 原 本 我 的 20 GB 硬 碟 中 分 割 成 10GB, 10GB 兩 槽, 但 是 我 還 想 要 安 裝 Linux, 且 是 在 舊 系 統 仍 然 可 以 存 活 的 情 況 下! 那 該 如 何 是 好?! file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 這 真 的 是 很 有 趣 的 問 題! 早 先 在 Windows 系 統 中, 鳥 哥 就 犯 了 一 個 錯!C 槽 給 的 太 大 了! 基 本 上, 系 統 檔 不 需 要 太 大 啦! 通 常 我 都 喜 歡 C 槽 只 給 大 約 4 GB 左 右 的 空 間 ( 甚 至 更 小 ), 這 是 因 為 C 槽 是 很 需 要 備 份 的! 如 果 太 大 的 話, 備 份 很 麻 煩! 所 以 系 統 重 置 就 會 很 花 時 間 ( 因 為 所 有 的 東 西 都 要 重 新 安 裝! 我 哩 咧...!)! 因 此, 我 都 習 慣 將 C 槽 只 給 一 點 點 的 空 間, 然 後 再 安 裝 完 並 設 定 完 所 有 的 系 統 之 後, 馬 上 以 Ghost 來 備 份 我 的 系 統! 而 所 有 的 備 份 資 料 檔 案 都 擺 放 在 D 槽! 此 外, 我 的 OutLook Express 的 書 信 目 錄 也 都 不 是 擺 在 C 槽! 呵 呵 所 以 我 不 會 很 害 怕 C 槽 掛 掉, 因 為, 直 接 以 Ghost 還 原 即 可 囉! 系 統 還 原 還 不 需 要 30 分 鐘 呢! 這 裡 就 發 生 一 個 問 題 啦, 假 如 原 本 的 系 統 是 10GB, 10GB 的 兩 槽, 不 過 全 部 的 有 用 到 的 資 料 量 只 有 10GB 不 到! 也 就 是 還 有 空 間 來 安 裝 Linux, 但 是 由 於 硬 碟 切 割 的 不 好, 所 以 傷 腦 筋! 此 外, 我 的 原 系 統 希 望 留 下 來, 而 且 也 希 望 可 以 安 裝 Linux, 要 怎 辦?! 鳥 哥 曾 經 這 樣 做 過 : 由 於 FAT 的 磁 區 使 用, 其 實 只 是 在 磁 頭 區 域 ( 所 謂 的 硬 碟 第 零 軌 ) 規 劃 而 已, 所 以, 我 就 將 我 的 資 料 先 以 磁 碟 重 組 的 方 式 將 資 料 都 歸 結 在 一 起 ; 然 後 以 Spfdisk 將 該 硬 碟 的 FAT 表 進 行 分 割, 注 意 喔! 只 是 分 割 FAT 表, 並 沒 有 format 喔! 不 過 這 裡 的 技 術 性 很 高, 需 要 特 別 注 意! 因 為 你 是 將 FAT 表 重 新 劃 分, 所 以 你 的 資 料 必 須 要 在 同 一 個 磁 區 內! 好 了, 我 就 將 原 本 的 10GB 10GB 切 割 成 4GB 10GB 與 6GB 三 槽! 而 且 在 spfdisk 的 幫 助 之 下, 順 利 的 在 沒 有 任 何 資 料 遺 失 的 狀 況 下, 將 我 的 硬 碟 由 原 先 的 兩 槽 分 割 成 三 槽 囉! 那 麼 一 來, 我 就 可 以 在 我 原 本 的 D 槽 裡 面 安 裝 Linux 啦! 方 法 有 點 像 底 下 的 圖 示 : 圖 40 磁 碟 空 間 重 新 分 配 的 示 意 圖 (resize) 很 神 奇 吧! 資 料 還 是 在 原 來 的 地 方, 不 過 磁 區 的 定 位 點 改 變 了, 還 多 出 一 個 磁 區! 不 過, 這 裡 要 提 醒 大 家, 雖 然 鳥 哥 曾 經 以 這 個 方 法 成 功 的 將 硬 碟 資 料 在 不 毀 損 的 情 況 下, 順 利 的 將 硬 碟 切 割 完 畢, 不 過, 這 個 方 法 本 身 還 是 具 有 相 當 程 度 的 風 險, 呵 呵! 因 此 不 file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 是 很 建 議 您 這 樣 做! 尤 其 是 當 你 的 資 料 還 很 重 要 的 時 候! 切 記 切 記! 在 既 存 的 Linux 系 統 安 裝 新 的 Linux 系 統 : 那 我 能 否 在 Linux 系 統 上 面 安 裝 另 一 套 Linux 呢? 舉 例 來 說, 在 已 經 安 裝 了 SuSE 的 Linux 上 面 加 裝 Fedora 4 呢? 當 然 可 以 啊! 不 過, 同 樣 的, 您 依 然 有 著 partition 分 割 的 問 題 如 果 要 將 原 本 的 partition 在 Linux 裡 面 放 大 或 縮 小 時, 您 必 須 要 瞭 解 整 個 檔 案 系 統 的 概 念, 這 點 要 參 考 後 續 章 節 的 磁 碟 與 檔 案 系 統 的 相 關 知 識, 然 後 再 利 用 基 礎 篇 最 後 幾 章 的 硬 體 維 護 與 管 理 裡 面 談 到 的 resize2fs 等 指 令, 就 可 以 達 到 囉 ~ 不 過, 同 樣 的, 也 是 很 危 險 喔! 沒 有 三 兩 三, 不 要 上 樑 山! 對 吧 ~ 先 不 要 急 著 玩 這 麼 進 階 的 玩 意 兒 啊! ^_^ 關 於 大 硬 碟 導 致 無 法 開 機 的 問 題 有 些 朋 友 可 能 在 第 一 次 安 裝 完 Linux 後, 卻 發 現 無 法 開 機 的 問 題, 也 就 是 說, 確 實 可 以 使 用 上 面 鳥 哥 介 紹 的 方 法 來 安 裝 FC4, 但 是, 就 是 無 法 順 利 開 機, 只 要 重 新 開 機, 就 會 出 現 類 似 底 下 的 畫 面 : # 前 面 是 一 些 奇 怪 的 提 示 字 元 啊! grub> _ 然 後 等 待 你 輸 入 一 些 資 料 ~ 如 果 不 幸 你 發 生 了 這 樣 的 問 題, 那 麼 可 能 的 主 要 原 因 就 是... 你 的 主 機 板 BIOS 太 舊, 導 致 捉 不 到 您 的 新 硬 碟 ; 你 的 硬 碟 容 量 太 大 了 ( 例 如 超 過 120 GB 以 上 ), 但 是 主 機 板 並 不 支 援 ~ 如 果 真 的 是 這 樣, 那 就 麻 煩 了 ~ 你 可 能 可 以 這 樣 做 : 前 往 您 主 機 板 的 官 方 網 站, 下 載 最 新 的 BIOS 檔 案, 並 且 更 新 BIOS 吧! 將 您 的 硬 碟 的 cylinders, heads, sectors 抄 下 來, 進 入 BIOS 內, 將 硬 碟 的 型 號 以 使 用 者 設 定 的 方 式 手 動 設 定 好 ~ 當 然 還 有 一 個 最 簡 單 的 解 決 方 法, 那 就 是 : 重 新 安 裝 Linux, 並 且 在 partition 的 地 方, 建 立 一 個 100MB 左 右 的 partition, 將 他 掛 載 到 /boot 這 個 掛 載 點 並 且 要 注 意, /boot 的 那 個 掛 載 點, 必 須 要 在 整 個 硬 碟 的 最 前 面! 例 如, 必 須 是 /dev/hda1 才 行! 至 於 會 產 生 這 個 問 題 的 原 因 確 實 是 與 BIOS 支 援 的 硬 碟 容 量 有 關, 處 理 方 法 雖 然 比 較 麻 煩, 不 過, 也 只 能 這 樣 做 了 更 多 與 硬 碟 及 開 機 有 關 的 問 題, 鳥 哥 會 在 開 機 與 關 機 程 序 再 進 一 步 說 明 的 啦! file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 本 章 習 題 練 習 ( 要 看 答 案 請 將 滑 鼠 移 動 到 答 : 底 下 的 空 白 處, 按 下 左 鍵 圈 選 空 白 處 即 可 察 看 ) Linux 的 目 錄 配 置 以 樹 狀 目 錄 來 配 置, 至 於 磁 碟 分 割 區 ( partition ) 則 需 要 與 樹 狀 目 錄 相 配 合! 請 問, 在 預 設 的 情 況 下, 在 安 裝 的 時 候 系 統 會 要 求 你 一 定 要 分 割 出 來 的 兩 個 Partition 為 何? 就 是 根 目 錄 / 與 虛 擬 記 憶 體 Swap 什 麼 是 IDE 界 面, 一 般 而 言, 普 通 PC 允 許 幾 個 IDE 界 面 與 裝 置? IDE 為 用 來 傳 輸 硬 碟 資 料 的 一 個 彙 流 界 面 ; 共 有 IDE1, IDE2, 分 別 有 master 與 slave 所 以 共 四 個 IDE 裝 置 支 援! IDE2 的 master 之 第 一 個 logical 磁 碟 中, 其 裝 置 代 號 ( 檔 案 名 稱 ) 為 何? /dev/hdc5 在 硬 碟 分 割 (Partition) 時, 最 多 有 幾 個 primary + extended? Primary + Extended 共 四 個, 其 中 Extended 只 有 一 個! 更 詳 細 的 硬 碟 與 MBR 可 以 參 考 http://phorum.vbird.org/viewtopic.php?t=182 若 在 分 割 的 時 候, 在 IDE1 的 slave 硬 碟 中, 分 割 六 個 有 用 的 磁 區 ( 具 有 filesystem 的 ), 此 外, 有 兩 個 primary 的 磁 區! 請 問 六 個 磁 區 的 代 號? /dev/hdb1(primary) /dev/hdb2(primary) /dev/hdb3(extended) /dev/hdb5(logical 底 下 皆 為 logical) /dev/hdb6 /dev/hdb7 /dev/hdb8 請 注 意,5-8 這 四 個 logical 相 加 的 總 和 為 3! 一 般 而 言, 在 RAM 為 64MB 或 128 MB 的 系 統 中, swap 要 開 多 大? Swap 可 以 簡 單 的 想 成 是 虛 擬 記 憶 體, 通 常 他 的 建 議 大 小 為 RAM 的 兩 倍, 但 是 實 際 上 還 是 得 視 您 的 主 機 規 格 配 備 與 用 途 而 定 約 兩 倍 的 RAM, 亦 即 為 128 MB 或 256 MB, 可 獲 得 較 佳 效 能! 什 麼 是 GMT 時 間? 台 北 時 間 差 幾 個 鐘 頭? GMT 時 間 指 的 是 格 林 威 治 時 間, 為 標 準 的 時 間, 而 台 北 時 間 較 GMT 快 了 8 小 時! Tap, SCSI 硬 碟, RAID, printer 的 裝 置 代 號? Tape: /dev/ht0 (IDE), /dev/st0 (SCSI); file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 安 裝 FC4 的 Linux 練 習 機 SCSI H.D. : /dev/sd[a-p]; RAID : /dev/md[0-15]; printer: /dev/lp[0-2] 如 果 我 的 磁 碟 分 割 時, 設 定 了 四 個 Primary 磁 區, 但 是 磁 碟 還 有 空 間, 請 問 我 還 能 不 能 使 用 這 些 空 間? 不 行! 因 為 最 多 只 有 四 個 Primary 的 磁 碟 分 割 槽, 沒 有 多 的 可 以 進 行 分 割 了! 且 由 於 沒 有 Extended, 所 以 自 然 不 能 再 使 用 Logical 分 割 說 通 常 在 安 裝 Linux 的 時 候, 最 重 要 的 就 是 磁 碟 分 割 了! 請 問 : 磁 碟 分 割 通 常 要 分 成 幾 個 步 驟? 1. 進 行 磁 碟 分 割 partition ; 2. 進 行 格 式 化 format ; 磁 碟 分 割 之 後 會 有 所 謂 的 Primary, Extended 與 Logical 的 磁 碟 分 割 槽, 請 問 何 者 為 可 使 用 的 Partition? 只 有 Primary 與 Logical 為 可 用, Extended 為 不 可 直 接 使 用 的 Partition, 還 需 要 再 次 的 分 割 成 為 Logical 之 後, 才 可 以 繼 續 使 用! 而 最 大 可 分 割 出 來 的 Partition 應 該 有 63 個 才 對! 硬 碟 最 小 的 物 理 儲 存 量 (sector) 大 小 通 常 為 多 少? 目 前 個 人 電 腦 的 SATA/IDE 介 面 硬 碟 sector 的 單 位 為 512 bytes 硬 碟 的 第 零 軌 含 有 MBR 及 partition table, 請 問,partition 的 最 小 單 位 為 ( 磁 柱 磁 頭 磁 軌 ) 為 Cylinder ( 磁 柱 ), 所 以 partition 的 大 小 為 磁 柱 大 小 的 倍 數 2005/06/17: 新 增 的 安 裝 FC4 的 文 章 啊! 2005/06/20: 經 由 我 們 討 論 區 版 主 Demonbane 大 大 的 建 議, 將 SELinux 的 部 分 由 原 先 的 防 火 牆 定 義, 轉 為 較 為 合 理 的 存 取 控 制 代 管 詳 細 的 SELinux 機 制 的 瞭 解, 至 少 需 要 有 網 路 基 礎 概 念, 所 以 這 裡 我 們 不 談 很 多, 有 興 趣 的 朋 友 可 以 先 自 行 前 往 美 國 國 家 安 全 局 (National Security Agency) 的 網 站 上 查 閱 呢! 2005/08/09: 加 入 關 於 Intel 顯 示 卡 方 面 的 支 援 度 問 題! 2005/11/08: 加 入 關 於 大 硬 碟 造 成 無 法 開 機 的 問 題 解 析 2005/06/17 以 來 統 計 人 數 本 網 頁 主 要 以 firefox 配 合 解 析 度 1024x768 作 為 設 計 依 據 http://linux.vbird.org is designed by VBird during 2001-2007. Aerosol Lab. file:///c /Documents and Settings/Administrator/ 桌 面 /0156installfc4.ph
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 鳥 哥 的 Linux 私 房 菜 為 取 得 較 佳 瀏 覽 結 果, 請 愛 用 firefox 瀏 覽 本 網 頁 切 換 解 析 度 為 800x600 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 最 近 更 新 日 期 :2005/08/03 由 於 Linux 在 運 作 的 過 程 中, 會 有 很 多 的 程 式 常 駐 在 記 憶 體 中 來 執 行, 此 外, 由 於 Linux 的 磁 碟 使 用 效 能 比 較 高, 利 用 了 非 同 步 的 磁 碟 / 記 憶 體 資 料 傳 輸 的 模 式, 因 此, Linux 系 統 是 很 怕 不 正 常 開 關 機 的! 因 為, 不 正 常 開 關 機 的 結 果, 將 可 能 造 成 磁 碟 資 料 的 損 毀 啊!( 其 實 各 個 作 業 系 統 都 很 怕 這 個 問 題!) 所 以, 在 這 個 章 節, 鳥 哥 會 跟 大 家 介 紹 一 下 Linux 正 常 開 關 機 的 步 驟, 以 及 初 次 進 入 Linux 的 您, 可 以 如 何 來 操 作 文 字 介 面 的 指 令 呢! 要 注 意 啊! 學 習 文 字 介 面 真 的 是 一 件 很 不 錯 的 事 喔! ^_^ 1. 首 次 登 入 系 統 1.1 首 次 登 入 FC 圖 形 介 面 1.2 KDE 的 簡 易 操 作 1.3 X Window 與 文 字 模 式 的 切 換 1.4 以 文 字 模 式 登 入 linux 2. 文 字 模 式 下 指 令 的 下 達 2.1 開 始 下 達 指 令 2.2 基 礎 指 令 的 操 作 2.3 重 要 的 幾 個 熱 鍵 [Tab], [ctrl]-c, [ctrl]-d 2.3 錯 誤 訊 息 的 查 看 3. Linux 系 統 上 的 線 上 求 助 man page/info page 3.1 man page 3.2 info page 3.3 其 他 有 用 的 文 件 (documents) 4. 正 確 的 關 機 方 法 (shutdown, reboot, init, halt) 5. 開 機 過 程 的 問 題 排 解 6. 本 章 習 題 練 習 7. 針 對 本 文 的 建 議 :http://phorum.vbird.org/viewtopic.php?t=23877 首 次 登 入 系 統 登 入 系 統 有 這 麼 難 嗎? 呵 呵! 並 不 難, 不 過, 雖 然 說 是 這 樣 說, 然 而 很 多 人 第 一 次 登 入 Linux 的 感 覺 都 是 接 下 來 我 要 幹 啥? 如 果 是 以 圖 形 介 面 登 入 的 話, 或 許 還 有 很 多 好 玩 的 事 物, 但 是, 要 是 file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 以 文 字 介 面 登 入 的 話, 面 對 著 一 片 黑 壓 壓 的 螢 幕, 還 真 不 曉 得 要 幹 嘛 呢! 嗯! 為 了 讓 大 家 更 瞭 解 如 何 正 確 的 使 用 Linux, 正 確 的 登 入 與 離 開 系 統 還 是 需 要 說 明 的! 首 次 登 入 FC 圖 形 介 面 啊 開 機 就 開 機 呀! 怎 麼 還 有 所 謂 的 登 入 與 離 開 呀!? 呵 呵! 開 什 麼 玩 笑, 在 Linux 裡 面, 正 確 的 開 關 機 可 是 很 重 要 的! 因 為, 不 正 常 的 關 機 可 能 會 導 致 整 個 系 統 的 磁 區 錯 亂, 造 成 資 料 的 毀 損 呢! 這 也 是 為 什 麼 通 常 我 們 的 Linux 主 機 都 會 加 掛 一 個 不 斷 電 系 統 囉! 在 順 利 的 安 裝 完 成 之 後, 就 是 要 快 樂 的 進 入 Linux 的 世 界 啦, 這 個 時 候, 按 下 電 源, 如 果 您 預 設 是 有 啟 動 圖 形 介 面 的 話, 那 麼 應 該 會 出 現 如 下 的 字 樣 ( 這 裡 是 以 FC4 作 為 範 例 介 紹 的, 各 家 版 本 多 少 會 有 點 不 同 的 登 入 畫 面, 這 無 所 謂! 只 是 作 為 選 擇 作 業 系 統 的 一 個 畫 面 而 已 不 過 要 注 意 的 是, 開 機 前 如 果 想 要 加 入 任 何 的 參 數, 就 得 在 底 下 這 個 畫 面 來 增 加 喔! ^_^) 圖 1 Linux 的 grub 開 機 選 單 畫 面 看 到 了 嗎?! 這 就 是 開 機 的 選 單 啊! 在 上 圖 的 最 上 一 行, 告 訴 我 們, 如 果 想 要 進 入 額 外 的 選 單 的 話, 可 以 按 任 意 鍵 來 進 入, 而 這 就 是 grub 這 個 程 式 的 功 能 了 另 外, 如 果 您 在 預 設 的 時 間 內 沒 有 按 下 任 何 按 鍵 ( 在 這 一 版 的 Fedora, 預 設 是 3 秒 鐘 啦!), 那 麼 grub 開 機 管 理 程 式 就 會 以 系 統 預 設 的 核 心 來 開 機 事 實 上, grub 的 功 能 還 有 很 多, 包 含 可 以 在 系 統 發 生 錯 誤 的 時 候, 以 額 外 的 參 數 來 強 制 開 機, 以 順 利 進 行 系 統 的 修 復 等 等 功 能 呢! 關 於 這 個, 我 們 留 待 後 面 的 系 統 管 理 員 篇 再 來 詳 細 的 介 紹 這 個 玩 意 兒 ~ 此 外, 如 果 是 以 另 一 個 開 機 管 理 程 式 ( loader ), 也 就 是 LILO 來 設 定 你 MBR 的 開 機 選 單 時, 那 麼 預 設 也 是 不 會 出 現 選 單 的! 只 會 有 出 現 boot: 的 畫 面 而 已, 如 果 按 下 Enter 就 會 以 預 設 的 開 機 檔 來 開 機, 如 果 按 下 Tab 按 鍵, 就 會 出 現 其 他 可 能 的 開 機 檔 啦! 不 過, 在 預 設 的 情 況 下, FC4 並 不 會 主 動 的 安 裝 Lilo 呢! 但 比 較 舊 的 版 本 還 是 存 在 的 啦! 這 部 份 我 們 同 樣 在 管 理 員 篇 再 介 紹! 假 設 我 們 是 以 FC4 預 設 的 開 機 核 心 來 開 機, 那 麼 接 下 來 系 統 就 會 讀 取 核 心 程 式, 並 且 開 始 跑 一 些 硬 體 搜 尋 的 資 料, 然 後 是 一 些 服 務 的 開 啟 動 作, 就 像 下 圖 一 般 : file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 圖 2 開 機 過 程 的 文 字 畫 面 如 果 一 切 都 順 利, 嘿 嘿! 就 會 進 入 圖 形 畫 面 了! 如 同 底 下 的 模 樣!( 要 注 意, 我 們 這 裡 預 設 是 以 圖 形 介 面 來 登 入 Linux 的, 所 以 才 會 有 這 樣 的 畫 面, 如 果 您 是 以 純 文 字 介 面 來 登 入 Linux, 那 麼 就 不 會 有 這 些 畫 面 了 果 真 如 此 的 話, 那 麼 這 部 分 您 稍 微 瞧 一 瞧 即 可!) 圖 3 開 機 過 程 的 圖 形 畫 面 file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 如 果 在 上 圖 按 下 了 顯 示 詳 細 資 訊 時, 就 會 顯 示 出 一 些 文 字 訊 息 了, 對 於 初 學 者 來 說, 或 許 沒 有 什 麼 太 大 的 意 義, 不 過, 還 是 先 告 知 一 下 呢, 這 個 時 候, 您 可 以 看 一 看, 到 底 有 多 少 程 式 已 經 被 啟 動 呢? 圖 4 開 機 過 程 的 圖 形 畫 面 怕 了 吧?? 有 這 麼 多 不 知 名 的 咚 咚 已 經 在 您 的 Linux 裡 面 啟 動 了 呢! 裡 面 其 實 有 很 多 是 我 們 不 需 要 的, 在 未 來 您 瞭 解 了 Linux 相 關 的 知 識 之 後, 就 可 以 將 那 些 不 需 要 的 程 式 ( 或 稱 為 服 務 ) 給 他 關 掉 了 目 前 還 不 需 要 緊 張, 因 為 我 們 還 沒 有 連 上 Internet 哪! 還 不 需 要 太 緊 張 啦! ^_^ 另 外, 如 果 您 是 使 用 本 書 介 紹 的 FC4 ( Fedora Core IV ) 來 安 裝 您 的 Linux, 並 且 也 安 裝 了 預 設 X Window 啟 動 的 狀 態, 那 麼 您 就 得 要 設 定 X Window 的 使 用 環 境 囉! 瞎 密!? 還 需 要 設 定 X Window 喔? 沒 錯 啊! 因 為 您 可 以 修 改 時 區 啊 選 擇 語 系 啊 設 定 螢 幕 相 關 的 解 析 度 與 色 澤 度 啊 等 等 的, 這 些 都 是 X Window 環 境 下 需 要 的 咚 咚 呢, 所 以, 當 然 得 要 設 定 一 下 囉 而 且 設 定 很 簡 單 啦! 用 滑 鼠 點 一 點 就 好 了, 別 緊 張 喔! ^_^ 1. 歡 迎 畫 面 與 授 權 首 先, 螢 幕 會 出 現 如 下 的 歡 迎 畫 面, 主 要 分 為 左 右 兩 個 畫 面, 左 邊 僅 是 介 紹 流 程 到 哪 裡, 右 邊 才 是 內 容 設 定 的 部 分 至 於 最 下 方 則 是 下 個 步 驟 與 前 個 步 驟 的 按 鈕 我 們 按 下 下 一 步 後, 進 入 授 權 的 說 明 file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 圖 5 X Window 設 定 的 歡 迎 畫 面 在 歡 迎 畫 面 之 後, 會 出 現 如 下 的 授 權 聲 明, 這 個 時 候, 當 然 給 他 是 的 就 好 了! 圖 6 X Window 設 定 的 授 權 同 意 書 2. 日 期 與 時 間 的 設 定 接 著 下 來, 就 是 要 設 定 目 前 的 日 期 與 時 間 了 您 的 系 統 時 間 可 能 會 跑 掉 喔! 所 以, 這 個 時 候 請 調 整 回 來 吧! ^_^ 畫 面 左 邊 可 以 點 選 正 確 的 日 期, 右 方 則 可 以 填 選 正 確 的 時 間 說! file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 圖 7 X Window 設 定 的 日 期 與 時 間 3. 解 析 度 與 彩 度 的 設 定 接 下 來 則 是 重 頭 戲 啦! 就 是 X Window 系 統 內 的 顯 示 卡 模 組 螢 幕 解 析 度 與 彩 度 設 定 一 般 來 說, 如 果 畫 面 上 顯 示 的 是 您 正 確 的 顯 示 卡, 那 麼 問 題 就 不 大 了! 而 鳥 哥 喜 好 的 解 析 度, 大 概 就 是 1024x768 那 種 大 大 的 畫 面 小 小 的 字 體 ~ 各 人 喜 好 啦! 而 如 果 您 的 顯 示 卡 記 憶 體 沒 有 很 大 的 話, 彩 度 可 以 調 小 一 點! file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 圖 8 X Window 設 定 的 解 析 度 與 彩 度 4. 建 立 一 般 帳 戶 一 般 來 說, 我 們 在 操 作 Linux 系 統 時, 除 非 必 要, 否 則 不 要 使 用 root 的 權 限, 這 是 因 為 管 理 員 (root) 的 權 限 太 大 了! 我 們 可 能 會 隨 時 不 小 心 搞 錯 了 一 個 小 咚 咚, 結 果 卻 造 成 整 個 系 統 的 掛 點 去... 所 以, 建 立 一 個 一 般 身 份 使 用 者 來 操 作, 才 是 好 習 慣 舉 例 來 說, 鳥 哥 都 會 建 立 一 個 一 般 身 份 使 用 者 的 帳 號 ( 例 如 底 下 的 dmtsai), 用 這 個 帳 號 來 操 作 Linux, 而 當 我 的 主 機 需 要 額 外 的 root 權 限 來 管 理 時, 才 使 用 身 份 轉 換 指 令 ( 這 個 我 們 會 在 後 面 提 到 ) 來 切 換 身 份 成 為 root 來 管 理 維 護 呢! ^_^ 如 下 圖 所 示, 登 入 的 帳 號 名 稱 為 dmtsai, 而 全 名 僅 是 一 個 簡 易 的 說 明 而 已, 那 個 地 方 隨 便 填 沒 關 係 ( 不 填 也 無 所 謂!) 但 是 兩 個 密 碼 欄 均 需 填 寫, 他 並 不 會 顯 示 出 您 打 入 的 字 元, 而 是 以 * 取 代 兩 個 必 須 打 相 同 的 密 碼 喔! file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 圖 9 X Window 設 定 的 建 立 一 般 帳 號 使 用 者 5. 額 外 的 音 效 與 軟 體 如 果 您 有 音 效 卡 的 話 ( 或 者 是 主 機 板 內 建 的 音 效 晶 片 ), 就 會 出 現 如 下 的 圖 示 如 果 確 定 音 效 晶 片 名 稱 沒 有 問 題, 那 就 直 接 下 一 步 即 可 圖 10 X Window 設 定 的 音 效 卡 確 認 如 果 您 還 想 要 額 外 的 安 裝 其 他 的 增 強 套 件, 這 個 時 候 可 以 在 這 裡 加 入 不 過, 我 們 使 用 預 設 的 FC4, 不 需 要 額 外 的 CD 來 安 裝 啦! file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 這 樣 就 完 成 了 首 次 X Window 的 設 定 囉! 圖 11 X Window 設 定 的 額 外 的 CD 圖 12 X Window 設 定 完 成 接 下 來 呢? 嘿 嘿! 等 著 進 入 X Window 的 美 美 的 畫 面 吧! 如 下 圖 所 示, 這 是 Fedora 預 設 的 登 入 畫 面 您 可 以 看 到 中 間 請 你 輸 入 用 戶 名 稱, 那 就 是 帳 號 啦! 目 前 我 們 Linux 系 統 上 面 應 該 會 有 一 個 root 與 剛 剛 才 建 立 的 dmtsai 這 兩 個 帳 號 呢 你 可 以 利 用 你 剛 剛 自 己 建 立 的 帳 號 來 登 入 喔! file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 圖 13 等 待 登 入 的 圖 形 介 面 另 外, 仔 細 看 一 下 上 圖 中 的 最 下 方 還 有 四 個 選 項 呢, 分 別 是 語 言 作 業 階 段 重 新 開 機 與 關 機 他 們 各 有 什 麼 功 能 呢? 首 先, 我 們 先 來 看 看 語 言 有 啥 功 能 吧? 用 滑 鼠 按 下 語 言 之 後, 就 會 出 現 如 下 的 畫 面 嘿 嘿! 沒 錯! 您 可 以 使 用 多 種 語 言 的 顯 示 呢! 我 們 是 使 用 繁 體 中 文 啊! file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 圖 14 選 擇 這 次 工 作 的 語 言 在 接 下 來 則 是 作 業 階 段, 用 滑 鼠 按 下 他, 出 現 如 下 畫 面 不 要 懷 疑! 在 這 裡 你 就 可 以 選 擇 你 喜 歡 的 X Window Manager 了! 亦 即 是 視 窗 管 理 員 啊! 因 為 鳥 哥 上 次 安 裝 時, 僅 安 裝 KDE 而 已, 所 以 只 會 出 現 KDE, 否 則, 應 該 還 有 GNOME 會 出 現 在 這 個 選 單 中 喔! Tips: 什 麼 是 KDE 呢? 為 了 讓 X Window 的 顯 示 效 果 更 佳, 很 多 團 體 開 始 發 展 桌 面 應 用 的 環 境, KDE 就 是 其 中 一 個 他 們 的 目 標 就 是 發 展 出 類 似 Windows 桌 面 的 一 整 套 可 以 工 作 的 桌 面 環 境, KDE 是 架 構 在 X Window 上 面 的, 他 可 以 進 行 視 窗 的 定 位 放 大 縮 小 同 時 還 提 供 很 多 的 桌 面 應 用 軟 體, 詳 情 請 參 考 http://www.kde.org/ GNOME 則 是 另 外 一 個 計 畫! file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 圖 15 選 擇 喜 好 的 Window Manager 各 位 觀 眾! 接 下 來, 哈 哈! 終 於 來 到 了 登 入 的 階 段 了! 如 同 下 面 所 示, 輸 入 帳 號 後 按 下 Enter 再 出 現 密 碼 後, 再 輸 入 密 碼, 這 裡 同 樣 的, 螢 幕 上 不 會 出 現 密 碼 啦! 會 用 星 號 (*) 取 代 的 喔! file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 圖 16 登 入 時, 帳 號 的 填 入 圖 17 登 入 時, 密 碼 的 填 入 接 下 來 就 能 夠 進 入 X Window 啦! 不 過, 系 統 還 會 很 好 心 的 詢 問 一 下, 你 要 不 要 將 這 次 的 環 境 設 定 (KDE 啊 語 言 啊 等 等 的 ) 保 留 成 為 預 設 值 呢? 通 常 鳥 哥 都 是 選 擇 預 設 值 啦! 所 以 就 給 他 保 留 成 預 設 值 吧! 圖 18 是 否 保 留 此 次 登 入 的 設 定 KDE 的 簡 易 操 作 嘿 嘿 嘿 嘿! 真 是 的, 歷 經 千 辛 萬 苦, 終 於 還 是 給 我 進 入 了 KDE 的 畫 面 喔 ~ 整 個 畫 面 如 下 所 示, 主 要 分 為 兩 個 區 塊, 亦 即 上 方 深 藍 色 的 桌 面 區, 以 及 下 方 的 工 作 列 (control panel) 在 桌 面 上 還 有 一 些 小 圖 示 (icons) 可 以 用 來 快 速 連 結 到 某 些 內 容 其 實 跟 微 軟 的 Windows 桌 面 很 像 啦! 那 file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 些 小 圖 示 就 是 捷 徑 囉! 圖 19 KDE 的 桌 面 環 境 整 個 桌 面 的 使 用 方 法 幾 乎 跟 Windows 一 模 一 樣, 你 可 以 在 桌 面 上 按 下 右 鍵, 就 可 以 有 額 外 的 選 單 出 現 ; 您 也 可 以 直 接 按 下 桌 面 上 的 家 目 錄, 就 會 出 現 類 似 Windows 的 檔 案 總 管 的 檔 案 / 目 錄 管 理 視 窗, 裡 面 則 出 現 您 自 己 的 工 作 目 錄 ; 至 於 最 下 方 的 工 作 列, 最 左 邊 出 現 的 三 個 小 圖 示 中, 那 個 紅 色 的 帽 子 的 功 能 (KDE menu), 就 跟 Windows 的 開 始 一 樣, 你 按 下 紅 帽 後, 就 會 出 現 一 個 下 拉 式 選 單 出 來, 您 就 可 以 選 擇 其 他 的 相 關 程 式 來 執 行 了 Tips: 最 左 邊 的 圖 示 中, 其 實 在 KDE 原 本 的 圖 示, 是 以 一 個 大 K 來 展 現 的 Fedora 則 修 訂 成 為 小 紅 帽 某 些 版 本 還 是 保 留 KDE 的 K 圖 示 呢! 另 外, 關 於 家 目 錄, 記 得 我 們 之 前 說 過 Linux 是 多 人 多 工 的 作 業 系 統 吧? 那 麼 每 個 人 自 然 應 該 都 會 有 自 己 的 工 作 目 錄, 這 個 目 錄 是 使 用 者 可 以 完 全 掌 控 的, 所 以 就 稱 為 使 用 者 個 人 家 目 錄 了 一 般 來 說, 家 目 錄 都 在 /home 底 下, 以 我 的 這 次 登 入 為 例, 我 的 帳 號 是 dmtsai, 那 麼 我 的 家 目 錄 就 應 該 在 /home/dmtsai 囉! 至 於 工 作 列 左 邊 數 來 第 二 個 icon, 則 是 一 個 瀏 覽 器 喔 (Konqueror, 中 文 翻 譯 為 征 服 家 ) 他 是 KDE 發 展 的 一 個 瀏 覽 器, 如 果 未 來 您 可 以 連 上 Internet 後, 就 可 以 利 用 這 個 瀏 覽 器 來 瀏 覽 網 站 了! 而 第 三 個 icon 則 是 信 件 收 發 軟 體, 功 能 有 點 類 似 Windows 的 outlook express 囉! 總 之, 如 果 您 用 過 Windows 的 話, 嘿 嘿! 這 個 KDE 的 環 境 幾 乎 與 Windows 相 同, 你 可 以 開 始 玩 弄 X Window 囉 file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 且 慢 且 慢! 不 知 道 您 有 沒 有 發 現 在 第 三 個 icon 的 右 邊 還 有 個 四 方 形 的 咚 咚, 裡 面 還 分 成 四 個 小 方 格, 那 是 個 什 麼 咚 咚? 其 實, 他 被 稱 為 虛 擬 桌 面 (Virtual Desktop), 在 你 進 入 KDE 後, 應 該 是 到 1 的 畫 面, 但 是 我 們 的 KDE 提 供 了 四 個 虛 擬 桌 面, 你 還 可 以 分 別 到 其 他 三 個 桌 面 去 瞧 一 瞧 呢! 這 預 設 的 四 個 桌 面 都 可 以 有 自 己 的 底 圖, 而 如 果 你 有 很 多 視 窗 時, 就 可 以 放 在 不 同 的 桌 面 中, 還 不 會 互 相 影 響 呢! 趕 緊 去 試 看 看 吧!^_^ 最 後, 在 工 作 列 的 最 右 方 有 個 小 小 的 警 告 標 誌 ( 驚 嘆 號 ), 那 是 什 麼 啊?! 沒 有 任 何 一 個 作 業 系 統 是 絕 對 安 全 的! 我 們 的 Linux 當 然 也 是 ~ 而 為 了 保 持 我 們 Linux 的 所 有 程 式 套 件 的 安 全 性, 隨 時 將 套 件 更 新 到 最 新 版 本, 是 一 個 很 好 的 習 慣 啊! 在 Fedora 當 中, 我 們 使 用 的 是 Red Hat 發 展 的 up2date 更 新 方 法, 但 是 需 要 註 冊 才 能 使 用 由 於 我 們 還 沒 有 連 上 Internet, 當 然 也 就 尚 未 註 冊 資 料, 所 以 這 裡 才 會 顯 示 一 個 驚 嘆 號 啦! 無 論 如 何, 我 們 還 可 以 透 過 其 他 較 為 快 速 的 方 法 來 升 級, 不 一 定 要 用 這 個 機 制, 所 以, 這 個 圖 形 就 先 讓 他 擺 在 這 裡, 先 不 要 理 他 Tips: 這 裡 說 不 要 理 他, 並 不 是 不 重 要 喔! 設 定 系 統 的 自 動 升 級 是 目 前 所 有 知 名 的 作 業 系 統 都 在 努 力 進 行 的 工 作, 我 們 Fedora 可 以 利 用 社 群 提 供 的 yum 或 apt 等 機 制 來 更 新, 不 需 要 透 過 遠 在 美 國 的 Fedora 計 畫 的 主 機 來 更 新 啦! 不 過, 因 為 這 個 圖 示 判 斷 是 以 有 沒 有 註 冊 來 判 定, 所 以, 常 常 我 們 自 己 升 級 了, 但 這 裡 還 是 會 出 現 有 問 題 的 驚 嘆 號 ~ 因 此, 鳥 哥 才 說, 先 不 要 理 他 另 外, 這 麼 說 您 也 就 知 道 了, 系 統 可 能 並 不 十 分 安 全, 因 此, 在 尚 未 提 到 更 新 方 法 之 前, 連 上 Internet 可 是 很 危 險 的 喔! 至 於 更 多 的 X window 相 關 的 使 用 技 巧, 以 及 相 關 的 軟 體 應 用, 鳥 哥 這 裡 就 不 多 說 了, 因 為 鳥 哥 著 重 在 Linux 網 路 伺 服 器 的 應 用 啊! ^_^ 如 果 您 還 真 的 有 興 趣, 建 議 您 可 以 前 往 楊 老 師 的 網 站 上 看 看 喔!http://apt.nc.hcc.edu.tw/docs/FC3_X/ 如 果 使 用 KDE 完 畢 後, 想 要 離 開, 那 麼 按 下 工 作 列 最 左 方 的 小 紅 帽, 選 擇 最 下 方 的 登 出, 會 出 現 底 下 的 畫 面, 按 下 End current session 就 可 以 回 到 等 待 登 入 的 畫 面 囉 file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 圖 20 登 出 KDE 同 時 給 他 注 意 一 下, 如 果 不 想 要 玩 Linux 了, 想 要 關 機 時, 務 必 按 下 那 個 關 機 的 選 項, 以 出 現 如 下 畫 面 後, 選 擇 關 閉 電 腦, 這 樣 才 行 喔! 不 要 直 接 按 電 源 啊! 拜 託 拜 託! 圖 21 關 閉 Linux 主 機 file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 例 題 :( 很 簡 單 的, 請 讀 者 們 自 行 操 作 找 出 答 案 喔 ) 如 何 在 工 作 列 (Control panel) 上 新 增 其 他 的 icons? 嘗 試 瀏 覽 一 下 /etc 這 個 目 錄 內, 有 哪 些 檔 案 / 目 錄 存 在? 請 將 /etc/crontab 這 個 檔 案 複 製 到 您 的 家 目 錄 中 ; 嘗 試 修 改 螢 幕 解 析 度 ; 請 嘗 試 搜 尋 檔 案, 檔 名 為 crontab 在 您 按 下 桌 面 的 家 目 錄 後, 出 現 的 視 窗 中, 最 右 上 角 有 個 小 釘 子, 按 下 他 之 後, 發 生 什 麼 現 象? 請 修 改 四 個 Virtual Desktop 的 底 色 圖 案, 讓 他 們 都 不 相 同 ; 工 作 列 的 最 右 方 原 本 是 數 字 形 態 的 時 鐘, 請 將 他 改 為 圖 形 顯 示 的 時 鐘 ; 如 何 叫 出 控 制 台? 控 制 台 的 區 域 性 裡 面 的 鍵 盤 對 應 有 何 用 處? 特 殊 小 技 巧 : 一 般 來 說, 我 們 是 可 以 手 動 來 直 接 修 改 X Window 的 設 定 檔 的, 不 過, 修 改 完 成 之 後 X Window 並 不 會 立 刻 載 入, 必 須 要 重 新 啟 動 X 才 行 ( 特 別 注 意, 不 是 重 新 開 機, 而 是 重 新 啟 動 X!) 那 麼 如 何 重 新 啟 動 X 呢? 最 簡 單 的 方 法 就 是 在 X 的 畫 面 中 直 接 按 下 [Alt] + [Ctrl] + [Backspace], 亦 即 是 倒 退 鍵, 這 樣 就 可 以 直 接 重 新 啟 動 X 囉! 也 就 可 以 直 接 讀 入 設 定 檔 囉! 另 外, 如 果 您 的 X Window 因 為 不 明 原 因 導 致 有 點 問 題 時, 也 可 以 利 用 這 個 方 法 來 重 新 啟 動 X 喔! ^_^ X window 與 文 字 模 式 的 切 換 我 們 前 面 一 直 談 到 的 是 X Window 的 KDE 環 境, 那 麼 在 這 個 環 境 裡 面 有 沒 有 純 文 字 介 面 的 環 境 啊? 當 然 有 啊! 但 是, 要 怎 麼 切 換 X Window 與 文 字 模 式 呢? 注 意 喔, 通 常 我 們 也 稱 文 字 模 式 為 終 端 機 介 面, terminal 或 console 喔! Linux 預 設 的 情 況 下, 會 提 供 六 個 Terminal 來 讓 使 用 者 登 入, 切 換 的 方 式 為 使 用 :[Ctrl] + [Alt] + [F1]~[F6] 的 組 合 按 鈕 同 時, 系 統 為 了 判 斷, 會 將 [F1] ~ [F6] 定 義 為 tty1 ~ tty6 的 操 作 介 面 環 境 也 就 是 說, 當 您 按 下 [crtl] + [Alt] + [F1] 這 三 個 組 合 按 鈕 時, 就 會 進 入 到 tty1 的 terminal 介 面 中 了 同 樣 的 [F2] 就 是 tty2 囉! 那 麼 如 何 回 到 剛 剛 的 KDE 呢? 很 簡 單 啊! 按 下 [Ctrl] + [Alt] + [F7] 就 可 以 了! Tips: 註 : 某 些 Linux distribution 會 使 用 到 F8 這 個 終 端 介 面 做 為 他 的 桌 面 終 端 機, 例 如 OpenLinux Server 3.1.1, 所 以 這 部 份 還 不 是 很 統 一! 無 論 如 何, 嘗 試 按 按 F7 or F8 就 可 以 知 道 囉! [Ctrl] + [Alt] + [F1] ~ [F6] : 文 字 介 面 登 入 tty1 ~ tty6 終 端 機 ; [Ctrl] + [Alt] + [F7] : 圖 形 介 面 桌 面 這 也 就 是 說, 如 果 您 是 以 文 字 介 面 登 入 的 話, 那 麼 您 可 以 有 tty1 ~ tty6 這 六 個 文 字 介 面 的 終 端 機 玩, 但 是 圖 形 介 面 則 沒 有 任 何 東 西 至 於 以 圖 形 介 面 登 入 的 話, 就 可 以 使 用 圖 形 介 面 跟 文 字 介 面 囉! 而 如 果 您 是 以 文 字 介 面 啟 動 Linux 的, 也 就 是 說, 您 的 tty7 預 設 是 沒 有 東 西 的, 那 您 可 file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 以 直 接 下 達 : [root@linux ~]# startx 理 論 上 就 可 以 啟 動 圖 形 介 面 啦! 當 然, 前 提 是 您 的 X Window 需 要 設 定 OK, 且 您 有 安 裝 KDE/GNOME 等 桌 面 系 統 才 行 好 啦, 我 們 知 道 在 Linux 開 機 之 後, 可 以 進 入 X Window 或 者 是 純 文 字 介 面 環 境, 那 麼 這 兩 種 環 境 是 否 可 以 變 更 呢? 呵 呵! 那 就 涉 及 所 謂 的 Run Level 了! 你 可 以 將 預 設 啟 動 的 X Window (Run level 等 級 為 5) 改 為 不 啟 動 (Run level 3), 只 要 修 訂 一 下 /etc/inittab 這 個 檔 案 的 內 容, 就 能 夠 決 定 呢! 因 為 我 們 尚 未 提 到 vi 以 及 開 機 過 程 的 詳 細 資 訊, 所 以 啊, 這 部 分 得 到 系 統 管 理 員 篇 幅 的 時 候 再 說 明! 別 擔 心, 再 仔 細 的 看 下 去 吧! 以 文 字 模 式 登 入 linux 好 了, 剛 剛 我 們 有 提 到 按 下 [Ctrl] + [Alt] + [F1] 可 以 來 到 tty1 的 terminal 當 中, 而 如 果 您 是 使 用 純 文 字 介 面 ( 其 實 是 run level 3 ) 啟 動 Linux 主 機 的 話, 那 麼 預 設 就 是 會 來 到 tty1 這 個 環 境 中 這 個 環 境 的 等 待 登 入 的 畫 面 有 點 像 這 樣 : Fedora Core release 3 (Heidelberg) Kernel 2.6.11-1.27_FC3 on an i686 linux login: root Password: [root@linux ~]# _ 上 面 顯 示 的 內 容 是 這 樣 的 : 第 一 行 顯 示 的 是 您 的 Linux distribution 與 版 本 ; 第 二 行 顯 示 的 是 您 的 Linux 核 心 版 本 (2.6.11-1.27_FC3), 以 及 您 的 硬 體 等 級 ( i686 ) 第 三 行 顯 是 您 的 主 機 名 稱 (linux), 至 於 login 後 面 則 是 需 要 你 輸 入 登 入 者 的 帳 號 在 這 裡 請 輸 入 您 想 要 登 入 的 使 用 者 帳 號 我 們 直 接 以 root 來 登 入 注 意, 那 個 root 就 是 系 統 管 理 員, 也 就 是 超 級 使 用 者, Super User, 在 Linux 主 機 之 內, 這 個 帳 號 代 表 的 是 無 窮 的 權 力!, 任 何 事 都 可 以 進 行 的, 因 此, 使 用 這 個 帳 號 要 粉 小 心! 第 四 行 則 在 第 三 行 輸 入 後 才 會 出 現, 要 你 輸 入 密 碼 囉! 請 注 意, 在 輸 入 密 碼 的 時 候, 螢 幕 上 面 不 會 顯 示 任 何 的 字 樣!, 所 以 不 要 以 為 你 的 鍵 盤 壞 掉 去! 第 五 行 則 是 正 確 登 入 之 後 才 顯 示 的 訊 息, 最 左 邊 的 root 顯 示 的 是 目 前 使 用 者 的 帳 號, 而 @ 之 後 接 的 linux 則 是 主 機 名 稱, 至 於 最 右 邊 的 ~ 則 指 的 是 目 前 所 在 的 目 錄, 那 麼 那 個 # 則 是 我 們 常 常 講 的 提 示 字 元 啦! file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 Tips: 那 個 ~ 符 號 代 表 的 是 使 用 者 的 家 目 錄 的 意 思, 他 是 個 變 數! 這 相 關 的 意 義 我 們 會 在 後 續 的 章 節 依 序 介 紹 到 舉 例 來 說, root 的 家 目 錄 在 /root, 所 以 ~ 就 代 表 /root 的 意 思 ~ 而 dmtsai 的 家 目 錄 在 /home/dmtsai, 所 以 如 果 您 以 dmtsai 登 入 時, 他 看 到 的 ~ 就 會 等 於 /home/dmtsai 喔! 至 於 提 示 字 元 方 面, 在 Linux 當 中, 預 設 root 的 提 示 字 元 為 #, 而 一 般 身 份 使 用 者 的 提 示 字 元 為 $ 還 有, 上 面 的 第 一 第 二 行 的 內 容 其 實 是 來 自 於 /etc/issue 這 個 檔 案 喔! 好 了 這 樣 就 是 登 入 主 機 了! 很 快 樂 吧! 耶 ~ 另 外, 在 上 面 的 例 子 當 中, 鳥 哥 是 以 root 這 個 系 統 管 理 員 身 份 的 帳 號 來 登 入 的 但 是, 在 一 般 時 刻 的 Linux 使 用 情 況 中, 為 了 系 統 與 網 路 安 全 的 考 量, 通 常 我 們 都 希 望 大 家 不 要 以 root 身 份 來 登 入 主 機 的 這 是 因 為 系 統 管 理 員 帳 號 root 具 有 無 窮 大 的 權 力, 例 如 他 可 以 刪 除 任 何 一 個 檔 案 或 目 錄, 因 此, 若 您 以 root 身 份 登 入 Linux 系 統, 一 個 不 小 心 下 錯 指 令, 這 個 時 候 可 不 是 欲 哭 無 淚 就 能 夠 解 決 的 了 問 題 的 ~ 因 此, 一 個 稱 職 的 網 路 / 系 統 管 理 人 員, 通 常 都 會 具 有 兩 個 帳 號, 平 時 以 自 己 的 一 般 帳 號 來 使 用 Linux 主 機 的 任 何 資 源, 有 需 要 動 用 到 系 統 功 能 修 訂 時, 才 會 轉 換 身 份 成 為 root 呢! 所 以, 鳥 哥 強 烈 建 議 您 建 立 一 個 普 通 的 帳 號 來 供 自 己 平 時 使 用 喔! 更 詳 細 的 帳 號 訊 息, 我 們 會 在 後 續 的 帳 號 管 理 章 節 中 再 次 提 及! 這 裡 先 有 概 念 即 可! 那 麼 如 何 離 開 系 統 呢? 其 實 應 該 說 登 出 Linux 才 對! 登 出 很 簡 單, 直 接 這 樣 做 : [root@linux ~]# exit 就 能 夠 登 出 Linux 了 但 是 請 注 意 : 離 開 系 統 並 不 是 關 機! 基 本 上,Linux 本 身 已 經 有 相 當 多 的 工 作 在 進 行, 您 的 登 入 也 僅 是 其 中 的 一 個 工 作 而 已, 所 以 當 您 離 開 時, 那 麼 該 工 作 就 停 止 了, 不 過 其 他 的 工 作 但 此 時 Linux 其 他 的 工 作 是 還 是 進 行 的! 在 後 面 我 們 再 來 提 如 何 正 確 的 關 機, 這 裡 先 建 立 起 這 個 概 念 即 可! 文 字 模 式 下 指 令 的 下 達 其 實 我 們 所 謂 的 文 字 模 式 就 是 指 你 在 登 入 Linux 的 時 候, 得 到 的 一 個 Shell 啦! 那 麼 什 麼 是 Shell 呢? 關 於 這 個 Linux 重 要 的 bash Shell 的 作 用 我 們 會 在 後 面 提 到, 這 裡 您 先 有 個 概 念 就 好 了 Shell 提 供 我 們 使 用 者 一 些 工 具, 可 以 透 過 這 個 工 具, 來 控 制 kernel 的 動 作 囉! ^_^ 好 吧! 開 始 來 練 一 練 打 字 了 先! 開 始 下 達 指 令 其 實 整 個 指 令 下 達 的 方 式 很 簡 單, 您 只 要 記 得 幾 個 重 要 的 概 念 就 可 以 了 舉 例 來 說, 你 可 以 這 樣 下 達 指 令 的 : file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 [root@linux ~]# command [-options] parameter1 parameter2... 指 令 選 項 參 數 (1) 參 數 (2) 說 明 : 0. 一 行 指 令 中 第 一 個 輸 入 的 絕 對 是 指 令 (command) 或 可 執 行 檔 案 1. command 為 指 令 的 名 稱, 例 如 變 換 路 徑 的 指 令 為 cd 等 等 ; 2. 中 刮 號 [] 並 不 存 在 於 實 際 的 指 令 中, 而 加 入 參 數 設 定 時, 通 常 為 - 號, 例 如 -h; 有 時 候 完 整 參 數 名 稱 會 輸 入 -- 符 號, 例 如 --help; 3. parameter1 parameter2.. 為 依 附 在 option 後 面 的 參 數, 或 者 是 command 的 參 數 ; 4. command, -options, parameter1.. 這 幾 個 咚 咚 中 間 以 空 格 來 區 分, 不 論 空 幾 格 shell 都 視 為 一 格 ; 5. 按 下 [Enter] 按 鍵 後, 該 指 令 就 立 即 執 行 [Enter] 按 鍵 為 <CR> 字 符, 他 代 表 著 一 行 指 令 的 開 始 啟 動 6. 指 令 太 長 的 時 候, 可 以 使 用 \ 符 號 來 跳 脫 [Enter] 符 號, 使 指 令 連 續 到 下 一 行 注 意! \ 後 就 立 刻 接 特 殊 字 符 其 他 : a. 在 Linux 系 統 中, 英 文 大 小 寫 字 母 是 不 一 樣 的 舉 例 來 說, cd 與 CD 並 不 同 b. 更 多 的 介 紹 等 到 bash 時, 再 來 詳 述 注 意 到 上 面 的 說 明 當 中, 第 一 個 被 輸 入 的 資 料 絕 對 是 指 令 或 者 是 可 執 行 的 檔 案! 這 個 是 很 重 要 的 概 念 喔! 還 有, 按 下 [Enter] 鍵 表 示 要 開 始 執 行 此 一 命 令 的 意 思 來, 我 們 實 際 操 作 : 以 ls 這 個 指 令 列 出 /root 這 個 目 錄 下 的 所 有 隱 藏 檔 與 相 關 的 檔 案 屬 性, 檔 案 的 屬 性 的 option 為 -al, 所 以 : [root@linux ~]# ls -al /root [root@linux ~]# ls -al /root 上 面 這 兩 個 指 令 的 下 達 方 式 是 一 模 一 樣 的 執 行 結 果 喔! 為 什 麼? 請 參 考 上 面 的 說 明 吧! 關 於 更 詳 細 的 文 字 模 式 使 用 方 式, 我 們 會 在 Shell 與 Shell Scripts 篇 幅 中 再 來 強 調 喔! 此 外, 請 特 別 留 意, 在 Linux 的 環 境 中, 大 小 寫 字 母 是 不 一 樣 的 東 西! 也 就 是 說, 在 Linux 底 下, VBird 與 vbird 這 兩 個 檔 案 是 完 全 不 一 樣 的 檔 案 呢! 所 以, 您 在 下 達 指 令 的 時 候 千 萬 要 注 意 到 您 的 指 令 是 大 寫 還 是 小 寫 例 如 當 您 輸 入 底 下 這 個 指 令 的 時 候, 看 看 有 什 麼 現 象 : [root@linux ~]# date [root@linux ~]# Date [root@linux ~]# DATE 很 好 玩 吧! 不 一 樣 的 大 小 寫 顯 示 的 結 果 會 有 錯 誤 訊 息 發 生 呢! 因 此, 請 千 萬 記 得 這 個 狀 態 呦! 好 囉, 底 下 我 們 來 練 習 一 下 一 些 簡 單 的 指 令, 好 讓 您 可 以 瞭 解 指 令 下 達 方 式 的 模 式 : 另 外, 很 多 時 候 您 會 發 現, 咦! 怎 麼 我 輸 入 指 令 之 後 出 現 的 是 亂 碼?? 這 跟 鳥 哥 說 的 不 一 樣 啊! 呵 呵! 不 要 緊 張 ~ 我 們 前 面 提 到 過, Linux 是 支 援 多 國 語 系 的, 若 可 能 的 話, 螢 幕 的 訊 息 是 會 以 該 支 援 語 系 來 輸 出 的 但 是, 我 們 的 終 端 機 介 面 (terminal) 在 預 設 的 情 況 下, 無 法 支 援 以 中 文 編 碼 輸 出 資 料 的 這 個 時 候, 我 們 就 得 將 支 援 語 系 改 為 英 文, 才 能 夠 顯 示 出 正 確 的 訊 息 那 怎 麼 做 呢? 您 可 以 這 樣 做 : file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 [root@linux ~]# LANG=en [root@linux ~]# LANGUAGE=en [root@linux ~]# LC_ALL=en [root@linux ~]# LC_CTYPE=en [root@linux ~]# LC_TIME=en 注 意 一 下, 上 面 每 一 行 指 令 都 是 用 等 號 = 連 接 並 且 等 號 兩 邊 沒 有 空 格 喔! 是 連 續 輸 入 的! 這 樣 一 來, 就 能 夠 在 這 次 的 登 入 察 看 英 文 訊 息 囉! 為 什 麼 說 是 這 次 的 登 入 呢? 因 為, 如 果 您 登 出 Linux 後, 剛 剛 下 達 的 指 令 就 沒 有 用 啦! ^_^, 這 個 我 們 會 在 bash shell 章 節 中 好 好 聊 一 聊 的! 基 礎 指 令 的 操 作 底 下 我 們 立 刻 來 操 作 幾 個 簡 單 的 指 令 看 看 囉! 顯 示 日 期 的 指 令 : date 顯 示 日 曆 的 指 令 : cal 簡 單 好 用 的 計 算 機 : bc 1. 顯 示 日 期 的 指 令 : date 如 果 在 文 字 介 面 上 面, 想 要 知 道 目 前 的 時 間, 那 麼 就 直 接 在 指 令 列 模 式 輸 入 date 即 可 顯 示 : [root@linux ~]# date Thu Jun 23 11:32:02 CST 2005 上 面 是 顯 示 : 星 期 四, 六 月 二 十 三 日, 11:32 分, 02 秒, 在 2005 年 的 CST 時 區! 請 趕 快 動 手 做 做 看 呦! 好 了, 那 麼 如 果 我 想 要 讓 這 個 程 式 顯 示 出 2005/06/23 這 樣 的 日 期 顯 示 方 式 呢? 那 麼 就 使 用 date 的 相 關 功 能 吧! [root@linux ~]# date +%Y/%m/%d 2005/06/23 [root@linux ~]# date +%H:%M 11:35 那 個 +%Y%m%d 就 是 date 的 一 些 參 數 功 能 啦! 很 好 玩 吧! 那 你 問 我, 鳥 哥 怎 麼 知 道 這 些 參 數 的 啊? 要 背 起 來 嗎? 當 然 不 必 啦! 底 下 再 告 訴 你! 2. 顯 示 日 曆 的 指 令 : cal 那 如 果 我 想 要 列 出 目 前 這 個 月 份 的 月 曆 呢? 呵 呵! 直 接 給 他 下 達 cal 即 可! file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 [root@linux ~]# cal June 2005 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 基 本 上, cal (calendar) 這 個 指 令 可 以 做 的 事 情 還 很 多, 你 可 以 顯 示 整 年 的 月 曆 情 況 : [root@linux ~]# cal 2005 2005 January February Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa S 1 1 2 3 4 5 2 3 4 5 6 7 8 6 7 8 9 10 11 12 9 10 11 12 13 14 15 13 14 15 16 17 18 19 1 16 17 18 19 20 21 22 20 21 22 23 24 25 26 2 23 24 25 26 27 28 29 27 28 2 30 31 April May Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa S 1 2 1 2 3 4 5 6 7 3 4 5 6 7 8 9 8 9 10 11 12 13 14 10 11 12 13 14 15 16 15 16 17 18 19 20 21 1 17 18 19 20 21 22 23 22 23 24 25 26 27 28 1 24 25 26 27 28 29 30 29 30 31 2 July August Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa S 1 2 1 2 3 4 5 6 3 4 5 6 7 8 9 7 8 9 10 11 12 13 10 11 12 13 14 15 16 14 15 16 17 18 19 20 1 17 18 19 20 21 22 23 21 22 23 24 25 26 27 1 24 25 26 27 28 29 30 28 29 30 31 2 31 October November Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa S 1 1 2 3 4 5 2 3 4 5 6 7 8 6 7 8 9 10 11 12 9 10 11 12 13 14 15 13 14 15 16 17 18 19 1 16 17 18 19 20 21 22 20 21 22 23 24 25 26 1 23 24 25 26 27 28 29 27 28 29 30 2 30 31 也 就 是 說, 基 本 上, cal 接 的 語 法 為 : file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 [root@linux ~]# cal [month] [year] 所 以, 我 想 要 知 道 2005 年 7 月 的 月 曆, 可 以 直 接 下 達 : [root@linux ~]# cal 7 2005 July 2005 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 所 以, 未 來 您 可 以 很 輕 易 的 就 以 cal 來 取 得 日 曆 上 面 的 日 期 囉! 簡 直 就 是 萬 年 曆 啦! ^_^ 3. 簡 單 好 用 的 計 算 機 : bc 如 果 我 想 要 使 用 簡 單 的 計 算 器 呢? 很 容 易 呀! 就 使 用 bc 即 可! 在 輸 入 bc 之 後, 顯 示 出 版 本 資 訊 之 後, 就 進 入 到 等 待 指 示 的 階 段 如 下 所 示 : [root@linux ~]# bc bc 1.06 Copyright 1991-1994, 1997, 1998, 2000 Free Soft This is free software with ABSOLUTELY NO WARRAN For details type `warranty'. _<== 這 個 時 候, 游 標 會 停 留 在 這 裡 等 待 您 的 輸 入 事 實 上, 我 們 是 進 入 到 bc 這 個 指 令 的 工 作 環 境 當 中 了! 就 好 像 我 們 在 Windows 裡 面 使 用 小 算 盤 一 樣! 所 以, 我 們 底 下 嘗 試 輸 入 的 資 料, 都 是 在 bc 程 式 當 中 在 進 行 運 算 的 動 作 所 以 囉, 您 輸 入 的 資 料 當 然 就 得 要 符 合 bc 的 要 求 才 行! 在 基 本 的 bc 計 算 機 操 作 之 前, 先 告 知 幾 個 使 用 的 運 算 子 好 了 : + 加 法 - 減 法 * 乘 法 / 除 法 ^ 指 數 % 餘 數 好! 讓 我 們 來 使 用 bc 計 算 一 些 咚 咚 吧! file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 [root@linux ~]# bc bc 1.06 Copyright 1991-1994, 1997, 1998, 2000 Free Soft This is free software with ABSOLUTELY NO WARRAN For details type `warranty'. 1+2+3+4 <== 只 有 加 法 時 10 7-8+3 2 10*52 520 10%3 <== 計 算 餘 數 1 10^2 100 10/100 <== 這 個 最 奇 怪! 不 是 應 該 是 0.1 嗎? 0 quit <== 離 開 bc 這 個 計 算 器 在 上 表 當 中, 粗 體 字 表 示 輸 入 的 資 料, 而 在 每 個 粗 體 字 的 底 下 就 是 輸 出 的 結 果 咦! 每 個 計 算 都 還 算 正 確, 怎 麼 10/100 會 變 成 0 呢? 這 是 因 為 bc 預 設 僅 輸 出 整 數, 如 果 要 輸 出 小 數 點 下 位 數, 那 麼 就 必 須 要 執 行 scale=number, 那 個 number 就 是 小 數 點 位 數, 例 如 : [root@linux ~]# bc bc 1.06 Copyright 1991-1994, 1997, 1998, 2000 Free Soft This is free software with ABSOLUTELY NO WARRAN For details type `warranty'. scale=3 <== 沒 錯! 就 是 這 裡!! 1/3.333 340/2349.144 quit 好 了! 就 是 這 樣 子 啦! 簡 單 的 很 吧! 以 後 你 可 以 輕 輕 鬆 鬆 的 進 行 加 減 乘 除 啦! Tips: 如 果 照 前 面 說 的, 我 們 執 行 bc 會 進 入 bc 的 軟 體 功 能, 那 麼 我 怎 麼 知 道 目 前 等 待 輸 入 的 地 方 是 某 個 軟 體 的 功 能 還 是 shell 的 可 輸 入 指 令 的 環 境 下? 其 實, 在 你 進 入 Linux 的 時 候, 就 會 出 現 提 示 字 元 了 不 是 嗎? 以 我 們 上 頭 的 例 子 來 說, 提 示 字 元 就 是 [root@linux ~]#, 如 果 你 發 現 在 你 等 待 輸 入 的 地 方 並 非 提 示 字 元, 那 通 常 就 是 已 經 進 入 到 某 個 軟 體 的 功 能 當 中 啦! 要 注 意 喔! 重 要 的 幾 個 熱 鍵 [Tab], [ctrl]-c, [ctrl]-d file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 在 繼 續 後 面 的 章 節 之 前, 這 裡 很 需 要 跟 大 家 再 來 報 告 一 件 事, 那 就 是 我 們 的 文 字 模 式 裡 頭 具 有 很 多 的 功 能 按 鍵, 這 些 按 鍵 可 以 輔 助 我 們 進 行 指 令 的 編 寫 與 程 式 的 中 斷 呢! 這 幾 個 按 鍵 請 大 家 務 必 要 記 住 的! 很 重 要 喔! [Tab] 按 鍵 [Tab] 按 鍵 就 是 在 鍵 盤 的 大 寫 燈 切 換 按 鍵 ([Caps Lock]) 上 面 的 那 個 按 鍵! 在 各 種 Unix-Like 的 Shell 當 中, 這 個 [Tab] 按 鍵 算 是 Linux 的 Bash shell 最 棒 的 功 能 之 一 了! 他 具 有 命 令 補 全 與 檔 案 補 齊 的 功 能 喔! 可 以 讓 我 們 少 打 很 多 字, 但 重 點 是, 可 以 避 免 我 們 打 錯 指 令 或 檔 案 名 稱 呢! 很 棒 吧! 但 是 [Tab] 按 鍵 在 不 同 的 地 方 輸 入, 會 有 不 一 樣 的 結 果 喔! 我 們 舉 下 面 的 例 子 來 說 明 上 一 小 節 我 們 不 是 提 到 cal 這 個 指 令 嗎? 如 果 我 在 指 令 列 輸 入 ca 再 按 兩 次 [tab] 按 鍵, 會 出 現 什 麼 訊 息? [root@linux ~]# ca[tab][tab] <==[tab] 按 鍵 是 緊 接 在 a 字 母 後 面! # 上 面 的 [tab] 指 的 是 按 下 那 個 tab 鍵, 不 是 要 您 輸 入 ca[... 的 意 思 喔! cadaver callgrind_control capiini cal cancel capinfo calibrate_ppa cancel.cups captoin caller capifax card callgrind capifaxrcvd cardctl callgrind_annotate capiinfo cardmgr 發 現 什 麼 事? 所 有 以 ca 為 開 頭 的 指 令 都 被 顯 示 出 來 啦! 很 不 錯 吧! 那 如 果 你 輸 入 ls -al ~/. bash 兩 個 [tab] 會 出 現 什 麼? [root@linux ~]# ls -al ~/.bash[tab][tab].bash_history.bash_logout.bash_profile.b 咦! 在 該 目 錄 下 面 所 有 以.bash 的 檔 案 名 稱 都 會 被 顯 示 出 來 了 呢! 注 意 看 上 面 兩 個 例 子 喔, 我 們 按 [tab] 按 鍵 的 地 方 如 果 是 在 command ( 第 一 個 輸 入 的 資 料 ) 後 面 時, 他 就 代 表 著 命 令 補 全, 如 果 是 接 在 第 二 個 字 以 後 的, 就 會 變 成 檔 案 補 齊 的 功 能 了! [Tab] 接 在 一 串 指 令 的 第 一 個 字 的 後 面, 則 為 命 令 補 全 ; [Tab] 接 在 一 串 指 令 的 第 二 個 字 以 後 時, 則 為 檔 案 補 齊! 善 用 [tab] 按 鍵 真 的 是 個 很 好 的 習 慣! 可 以 讓 您 避 免 掉 很 多 輸 入 錯 誤 的 機 會!!! [Ctrl]-c 按 鍵 在 Linux 底 下, 如 果 您 輸 入 了 錯 誤 的 指 令 或 參 數, 有 的 時 候 這 個 指 令 或 程 式 會 在 系 統 底 下 跑 不 停 這 個 時 候 怎 麼 辦? 別 擔 心, 如 果 您 想 讓 當 前 的 程 式 停 掉 的 話, 可 以 輸 入 : [Ctrl] 與 c 按 鍵 ( 先 按 著 [Ctrl] 不 放, 且 再 按 下 c 按 鍵, 是 組 合 按 鍵!), 那 就 是 中 斷 目 前 程 式 的 按 鍵 啦! 舉 例 來 說, 如 果 您 輸 入 了 find / -type vbird 這 個 指 令 時, 系 統 會 開 始 跑 一 些 東 西 ( 先 不 要 理 會 這 個 指 令 串 的 意 義 ), 此 時 你 給 他 按 下 [Ctrl]-c 組 合 按 鍵, 嘿 嘿! 是 否 立 刻 發 現 這 個 指 令 串 被 終 止 了! 就 是 這 樣 的 意 思 啦! 不 過 你 應 該 要 注 意 的 是, 這 個 組 合 鍵 是 可 以 將 正 在 運 作 中 的 指 令 中 斷 的, 如 果 您 正 在 運 作 file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 比 較 重 要 的 指 令, 可 別 急 著 使 用 這 個 組 合 按 鍵 喔! ^_^ [Ctrl]-d 按 鍵 那 麼 [Ctrl]-d 是 什 麼 呢? 就 是 [Ctrl] 與 d 按 鍵 的 組 合 啊! 這 個 組 合 按 鍵 通 常 代 表 著 : 鍵 盤 輸 入 結 束 (End Of File, EOF 或 End Of Input) 的 意 思! 另 外, 他 也 可 以 用 來 取 代 exit 的 輸 入 呢! 例 如 您 想 要 直 接 離 開 文 字 介 面, 可 以 直 接 按 下 [Ctrl]-d 就 能 夠 直 接 離 開 了 ( 相 當 於 輸 入 exit 啊!) 總 之, 在 Linux 底 下, 文 字 介 面 的 功 能 是 很 強 悍 的! 要 多 多 的 學 習 他, 而 要 學 習 他 的 基 礎 要 訣 就 是... 多 使 用 多 熟 悉 啦! 錯 誤 訊 息 的 察 看 萬 一 我 下 達 了 錯 誤 的 指 令 怎 麼 辦? 不 要 緊 呀! 您 可 以 藉 由 螢 幕 上 面 顯 示 的 錯 誤 訊 息 來 瞭 解 你 的 問 題 點, 那 就 很 容 易 知 道 如 何 改 善 這 個 錯 誤 訊 息 囉! 舉 個 例 子 來 說, 假 如 想 執 行 date 卻 打 錯 成 為 DATE 時, 這 個 錯 誤 的 訊 息 是 這 樣 顯 示 的 : [root@linux ~]# DATE -bash: DATE: command not found 上 面 那 個 bash: 表 示 的 是 我 們 的 Shell 的 名 稱, 那 麼 什 麼 是 Shell 呢? 還 記 不 記 得 我 們 在 什 麼 是 Linux 的 時 候 提 到 的 使 用 者 使 用 者 介 面 核 心 硬 體 的 架 構 呢? 呵 呵! 那 個 shell 就 是 使 用 者 介 面 囉! 在 Linux 底 下 預 設 的 使 用 者 介 面 就 是 bash shell 囉! 好 了, 那 麼 上 面 的 例 子 說 明 了, bash 有 錯 誤, 什 麼 錯 誤 呢? bash 告 訴 你 : DATE: command not found 字 面 上 的 意 思 是 說 指 令 找 不 到, 那 個 指 令 呢? 就 是 DATE 這 個 指 令 啦! 所 以 說, 系 統 上 面 可 能 並 沒 有 DATE 這 個 指 令 囉! 就 是 這 麼 簡 單! 那 如 果 是 底 下 的 樣 子 呢? [root@linux ~]# cal 13 2005 cal: illegal month value: use 1-12 呵 呵! 這 下 子 換 到 cal 警 告 你 啦, illegal month value: use 1-12, 看 不 懂 英 文? 沒 關 係, 又 不 是 考 試, 趕 快 拿 本 英 文 字 典 在 旁 邊 對 照 著 看 呀! 意 思 是 說 不 合 法 的 月 份 值, 應 該 使 用 1-12 之 間 的 數 字! 所 以 各 位 看 倌 您 看 看, 跟 著 螢 幕 的 錯 誤 訊 息 瞧, 很 容 易 知 道 問 題 的 錯 誤 是 什 麼 吧! 因 此, 以 後 如 果 出 現 了 問 題, 螢 幕 上 的 訊 息 真 的 是 很 重 要 的 呢! 不 要 忽 略 了 他 呦! 先 介 紹 這 幾 個 指 令 讓 您 玩 一 玩 先, 更 詳 細 的 指 令 操 作 方 法 我 們 會 在 第 三 篇 的 時 候 再 進 行 介 紹! 好 了, 萬 一 我 在 操 作 date 這 個 指 令 的 時 候, 手 邊 又 沒 有 這 本 書, 我 要 怎 麼 知 道 要 如 何 加 參 數, 好 讓 輸 出 的 結 果 符 合 我 想 要 的 輸 出 格 式 呢? 嘿 嘿! 到 下 一 節 鳥 哥 來 告 訴 你 怎 麼 辦 吧! Linux 系 統 上 的 線 上 求 助 man page/info page file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 先 來 瞭 解 一 下, Linux 有 多 少 指 令 呢? 在 文 字 模 式 下, 你 可 以 直 接 按 下 兩 個 [Tab] 按 鍵, 看 看 總 共 有 多 少 指 令?? 呵 呵! 少 說 也 有 2000 多 個 以 上 的 指 令!! 那 在 Linux 裡 面 到 底 要 不 要 背 指 令 啊? 可 以 啊! 你 背 啊! 這 種 事, 鳥 哥 這 個 忘 性 特 佳 的 老 人 家, 實 在 是 背 不 起 來 @_@ ~ 當 然 啦, 有 的 時 候 為 了 要 考 試 ( 例 如 一 些 認 證 考 試 等 等 的 ) 還 是 需 要 背 一 些 重 要 的 指 令 不 過, 鳥 哥 主 要 還 是 以 理 解 在 什 麼 情 況 下, 應 該 要 使 用 哪 方 面 的 指 令 為 準 的! 既 然 不 需 要 背 指 令, 那 麼 鳥 哥 如 何 知 道 每 個 指 令 的 詳 細 用 法? 還 有, 某 些 設 定 檔 的 內 容 到 底 是 什 麼? 這 個 可 不 需 要 擔 心 啊! 因 為 在 Linux 開 發 的 軟 體 大 多 數 都 是 自 由 軟 體, 而 這 些 軟 體 的 開 發 者 為 了 讓 大 家 能 夠 瞭 解 指 令 的 用 法, 都 會 自 行 製 作 很 多 的 文 件, 而 這 些 文 件 也 可 以 直 接 在 線 上 就 能 夠 輕 易 的 被 使 用 者 查 詢 出 來 喔! 很 不 賴 吧! 這 根 本 就 是 線 上 說 明 文 件 嘛! 哈 哈! 沒 錯! 確 實 如 此 我 們 底 下 就 來 談 一 談,Linux 到 底 有 多 少 的 線 上 文 件 資 料 呢? man page 嗄? 不 知 道 怎 麼 使 用 date 這 個 指 令? 嘿 嘿 嘿! 不 要 擔 心, 我 們 Linux 上 面 的 線 上 求 助 系 統 已 經 都 幫 您 想 好 要 怎 麼 辦 了, 所 以 你 只 要 使 用 簡 單 的 方 法 去 尋 找 一 下 說 明 的 內 容, 馬 上 就 清 清 楚 楚 的 知 道 該 指 令 的 用 法 了! 怎 麼 看 呢? 就 是 找 男 人 ( man ) 呀!? 喔! 不 是 啦! 這 個 man 是 manual ( 操 作 說 明 ) 的 簡 寫 啦! 只 要 下 達 : man date 馬 上 就 會 有 清 楚 的 說 明 出 現 在 你 面 前 喔! 如 下 所 示 : [root@linux ~]# LANG="en" # 還 記 得 這 個 咚 咚 的 用 意 吧? 前 面 提 過 了, 是 為 了 語 系 的 需 要 啊! 下 達 過 一 次 即 可! [root@linux ~]# man date DATE(1) User Commands NAME date - print or set the system date and ti SYNOPSIS date [OPTION]... [+FORMAT] date [-u --utc --universal] [MMDDhhmm[[CC] DESCRIPTION Display the current time in the given FORM -d, -f, --date=string display time described by STRING, n --file=datefile like --date once for each line of D...( 略 )... AUTHOR -ITIMESPEC, --iso-8601[=timespec] output date/time in ISO 8601 form only, 'hours', 'minutes', or 'secon indicated precision. --iso-8601 'date'. Written by David MacKenzie. file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 REPORTING BUGS Report bugs to. COPYRIGHT Copyright?2004 Free Software Foundation, This is free software; see the source for NO warranty; not even for MERCHANTABILITY PURPOSE. SEE ALSO The full documentation for date is mainta the info and date programs are properly in command info coreutils date should give you access to the complete man date (coreutils) 5.2.1 May 2005 看! 馬 上 就 知 道 一 大 堆 的 用 法 了! 如 此 一 來, 不 就 可 以 知 道 date 的 相 關 參 數 了 嗎? 呵 呵! 真 方 便! 而 出 現 的 這 個 螢 幕 畫 面, 我 們 稱 呼 他 為 man page, 您 可 以 在 裡 頭 查 詢 他 的 用 法 與 相 關 的 參 數 說 明 如 果 仔 細 一 點 來 看 這 個 man page 的 話, 您 會 發 現 幾 個 有 趣 的 東 西 首 先, 在 上 個 表 格 的 第 一 行, 您 可 以 看 到 的 是 : DATE(1), DATE 我 們 知 道 是 指 令 的 名 稱, 那 麼 (1) 代 表 什 麼 呢? 他 代 表 的 是 一 般 使 用 者 可 使 用 的 指 令 的 意 思! 咦! 還 有 這 個 用 意 啊!! 呵 呵! 沒 錯 ~ 在 查 詢 資 料 的 後 面 的 數 字 是 有 意 義 的 喔! 他 可 以 幫 助 我 們 瞭 解 或 者 是 直 接 查 詢 相 關 的 資 料 常 見 的 幾 個 數 字 的 意 義 是 這 樣 的 : 代 號 代 表 內 容 1 使 用 者 可 以 操 作 的 指 令 或 可 執 行 檔 2 系 統 核 心 可 呼 叫 的 函 數 與 工 具 等 3 一 些 常 用 的 函 數 (function) 與 函 式 庫 (library) 4 裝 置 檔 案 的 說 明 5 設 定 檔 或 者 是 某 些 檔 案 的 格 式 6 遊 戲 (games) 7 慣 例 與 協 定 等, 例 如 Linux 標 準 檔 案 系 統 網 路 協 定 ASCII code 等 等 的 說 明 內 容 8 系 統 管 理 員 可 用 的 管 理 指 令 9 跟 kernel 有 關 的 文 件 file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 所 以, 未 來 您 如 果 使 用 man page 在 察 看 某 些 資 料 時, 就 會 知 道 該 指 令 / 檔 案 所 代 表 的 基 本 意 義 是 什 麼 了 舉 例 來 說, 如 果 您 下 達 了 man null 時, 會 出 現 的 第 一 行 是 : NULL(4), 對 照 一 下 上 面 的 數 字 意 義, 嘿 嘿! 原 來 null 這 個 玩 意 兒 竟 然 是 一 個 裝 置 檔 案 呢! 很 容 易 瞭 解 了 吧!? 再 來,man page 的 內 容 也 分 成 好 幾 個 部 分 來 加 以 介 紹 該 指 令 呢! 就 是 上 頭 man date 那 個 表 格 內, 以 NAME 作 為 開 始 介 紹, 最 後 還 有 個 SEE ALSO 來 作 為 結 束 基 本 上, man page 大 致 分 成 底 下 這 幾 個 部 分 : 代 號 內 容 說 明 NAME SYNOPSIS 簡 短 的 指 令 資 料 名 稱 說 明 簡 短 的 指 令 下 達 語 法 (syntax) 簡 介 DESCRIPTION 較 為 完 整 的 說 明, 這 部 分 最 好 仔 細 看 看! OPTIONS COMMANDS FILES 針 對 SYNOPSIS 部 分 中, 有 列 舉 的 所 有 可 用 的 參 數 說 明 當 這 個 程 式 ( 軟 體 ) 在 執 行 的 時 候, 可 以 在 此 程 式 ( 軟 體 ) 中 下 達 的 指 令 這 個 程 式 或 資 料 所 使 用 或 參 考 或 連 結 到 的 某 些 檔 案 SEE ALSO 可 以 參 考 的, 跟 這 個 指 令 或 資 料 有 相 關 的 其 他 說 明! EXAMPLE 一 些 可 以 參 考 的 範 例 BUGS 是 否 有 相 關 的 臭 蟲! 有 時 候 除 了 這 些 外, 還 可 能 會 看 到 Authors 與 Copyright 等 等, 不 過 也 有 很 多 時 候 僅 有 NAME 與 DESCRIPTION 等 部 分 通 常 鳥 哥 在 查 詢 某 個 資 料 時, 一 定 會 察 看 NAME 約 略 看 一 下 這 個 資 料 的 意 思, 再 詳 看 一 下 DESCRIPTION, 這 個 DESCRIPTION 會 提 到 很 多 相 關 的 資 料 與 使 用 時 機, 從 這 個 地 方 可 以 學 到 很 多 小 細 節 呢! 而 如 果 這 個 指 令 其 實 很 熟 悉 了 ( 例 如 上 面 的 date ), 那 麼 鳥 哥 主 要 就 是 查 詢 關 於 OPTIONS 的 部 分 了! 可 以 知 道 每 個 參 數 的 意 思, 這 樣 就 可 以 下 達 比 較 細 部 的 指 令 內 容 呢! 最 後, 鳥 哥 會 再 看 一 下, 啊 跟 這 個 資 料 有 關 的 還 有 哪 些 東 西 可 以 使 用 的? 舉 例 來 說, 上 面 的 SEE ALSO 就 告 知 我 們 還 可 以 利 用 info coreutils date 來 進 一 步 查 閱 資 料, 某 些 說 明 內 容 還 會 列 舉 有 關 的 檔 案 (FILES 部 分 ) 來 提 供 我 們 參 考! 這 些 都 是 很 有 幫 助 的! 好 了, 大 致 上 瞭 解 了 man page 的 內 容 後, 那 麼, 在 man page 當 中 我 還 可 以 利 用 哪 些 按 鍵 來 幫 忙 查 閱 呢? 首 先, 如 果 要 向 下 翻 頁 的 話, 可 以 按 下 鍵 盤 的 空 白 鍵, 也 可 以 使 用 [Page Up] 與 [Page Down] 來 翻 頁 呢! 同 時, 如 果 您 知 道 某 些 關 鍵 字 的 話, 那 麼 可 以 在 任 何 時 候 輸 入 / word, 來 主 動 搜 尋 關 鍵 字! 例 如 在 上 面 的 搜 尋 當 中, 我 輸 入 了 /date 會 變 成 怎 樣? file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 DATE(1) User Commands NAME date - print or set the system date and ti SYNOPSIS date [OPTION]... [+FORMAT] date [-u --utc --universal] [MMDDhhmm[[CC] DESCRIPTION Display the current time in the given FORM...( 中 間 省 略 )... /date 看 到 了 嗎? 您 按 下 / 之 後, 游 標 應 該 就 會 移 動 到 螢 幕 的 最 下 面 一 行, 並 等 待 您 輸 入 搜 尋 的 字 串 了 此 時, 輸 入 date 後, man page 就 會 開 始 搜 尋 跟 date 有 關 的 字 串, 並 且 移 動 到 該 區 域 呢! 很 方 便 吧! 最 後, 如 果 要 離 開 man page 時, 直 接 按 下 q 就 能 夠 離 開 了 我 們 將 一 些 在 man page 常 用 的 按 鍵 給 他 整 理 整 理 : 按 鍵 空 白 鍵 [Page Down] [Page Up] [Home] [End] /string?string n, N q 進 行 工 作 向 下 翻 一 頁 向 下 翻 一 頁 向 上 翻 一 頁 去 到 第 一 頁 去 到 最 後 一 頁 向 下 搜 尋 string 這 個 字 串, 如 果 要 搜 尋 vbird 的 話, 就 輸 入 / vbird 向 上 搜 尋 string 這 個 字 串 利 用 / 或? 來 搜 尋 字 串 時, 可 以 用 n 來 繼 續 下 一 個 搜 尋 ( 不 論 是 / 或?), 可 以 利 用 N 來 進 行 反 向 搜 尋 舉 例 來 說, 我 以 / vbird 搜 尋 vbird 字 串, 那 麼 可 以 n 繼 續 往 下 查 詢, 用 N 往 上 查 詢 若 以?vbird 向 上 查 詢 vbird 字 串, 那 我 可 以 用 n 繼 續 向 上 查 詢, 用 N 反 向 查 詢 結 束 這 次 的 man page 要 注 意 喔! 上 面 的 按 鍵 是 在 man page 的 畫 面 當 中 才 能 使 用 的! 比 較 有 趣 的 是 那 個 搜 尋 啦! 我 們 可 以 往 下 或 者 是 往 上 搜 尋 某 個 字 串, 例 如 要 在 man page 內 搜 尋 vbird 這 個 字 串, 可 以 輸 入 / vbird 或 者 是?vbird, 只 不 過 一 個 是 往 下 而 一 個 是 往 上 來 搜 尋 的 而 要 重 複 搜 尋 某 個 字 串 時, 可 以 使 用 n 或 者 是 N 來 動 作 即 可 呢! 很 方 便 吧!^_^ 既 然 有 man page, 自 然 就 是 因 為 有 一 些 文 件 資 料, 所 以 才 能 夠 以 man page 來 讀 出 來 囉! 那 麼 這 些 man page 的 資 料 放 在 哪 裡 呢? 不 同 的 distribution 通 常 可 能 有 點 差 異 性, 不 過, 通 常 是 放 在 /usr/share/man 這 個 目 錄 裡 頭, 然 而, 我 們 可 以 透 過 修 改 他 的 man page 搜 尋 路 徑 來 改 善 這 個 目 錄 的 問 題! 修 改 /etc/man.config ( 有 的 版 本 為 man.conf 或 manpath.conf) 即 可 囉! 至 於 更 多 file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 的 關 於 man 的 訊 息 您 可 以 使 用 man man 來 查 詢 呦! 關 於 更 詳 細 的 設 定, 我 們 會 在 Shell 的 章 節 當 中 繼 續 的 說 明 喔! man 還 有 一 些 有 趣 的 使 用 方 式 呢! 舉 例 來 說, 如 果 您 還 想 要 知 道 更 多 跟 man 有 較 相 關 的 訊 息, 可 以 下 達 : [root@linux ~]# man -f man man (1) - format and display th man (7) - macros to format man man.conf [man] (5) - configuration data fo 看 到 了 嗎? 使 用 -f 的 參 數, 可 以 取 得 更 多 的 man 的 相 關 資 訊, 而 上 頭 這 個 表 格 當 中, 也 有 提 示 了 ( 數 字 ) 的 內 容, 舉 例 來 說, 第 二 行 的 man (7) 表 示 有 個 man (7) 的 說 明 文 件 存 在 喔! 但 是 卻 有 個 man (1) 存 在 啊! 那 當 我 們 下 達 man man 的 時 候, 到 底 是 找 到 哪 一 個 說 明 檔 呢? 嘿 嘿! 混 亂 了 吧?! 其 實, 您 可 以 指 定 不 同 的 文 件 的, 舉 例 來 說, 上 表 當 中 的 兩 個 man 您 可 以 這 樣 將 他 的 文 件 叫 出 來 : [root@linux ~]# man 1 man <== 這 裡 是 用 man(1) 的 文 件 資 料 [root@linux ~]# man 7 man <== 這 裡 是 用 man(7) 的 文 件 資 料 你 可 以 自 行 將 上 面 兩 個 指 令 輸 入 一 次 看 看, 就 知 道, 兩 個 指 令 輸 出 的 結 果 是 不 同 的 那 個 1, 7 就 是 分 別 取 出 在 man page 裡 面 關 於 1 與 7 相 關 資 料 的 文 件 檔 案 囉! 好 了, 那 麼 萬 一 我 真 的 忘 記 了 下 達 數 字, 只 有 輸 入 man man 時, 那 麼 取 出 的 資 料 到 底 是 1 還 是 7 啊? 這 個 就 跟 搜 尋 的 順 序 有 關 了 搜 尋 的 順 序 是 記 錄 在 /etc/man.conf 這 個 設 定 檔 當 中, 先 搜 尋 到 的 那 個 說 明 檔, 就 會 先 被 顯 示 出 來! 一 般 來 說, 通 常 會 先 找 到 數 字 較 小 的 那 個 啦! 因 為 排 序 的 關 係 啊! 所 以, man man 會 跟 man 1 man 結 果 相 同! 這 樣 說, 可 以 明 白 了 嗎?! 除 此 之 外, 我 們 還 可 以 利 用 關 鍵 字 找 到 更 多 的 說 明 文 件 資 料 喔! 例 如 : [root@linux ~]# man -k man. [builtins] (1) - bash built-in commands alias [builtins] (1) - bash built-in commands...( 中 間 省 略 )... xsm (1x) - X Session Manager zshall (1) - the Z shell meta-man p zshbuiltins (1) - zsh built-in commands zshzle (1) - zsh command line edito 看 到 了 吧! 很 多 對 吧! 因 為 這 個 是 利 用 關 鍵 字 將 說 明 文 件 裡 面 只 要 含 有 man 那 個 字 眼 的 ( 不 見 得 是 完 整 字 串 ) 就 將 他 取 出 來! 很 方 便 吧! ^_^ 事 實 上, 還 有 兩 個 指 令 與 man page 有 關 呢! 而 這 兩 個 指 令 是 man 的 簡 略 寫 法 說 ~ 就 是 這 兩 個 : [root@linux ~]# whatis [ 指 令 或 者 是 資 料 ] <== 相 當 於 man -f [ 指 令 或 者 是 資 料 ] [root@linux ~]# apropos [ 指 令 或 者 是 資 料 ] <== 相 當 於 man -k [ 指 令 或 者 是 資 料 ] file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 Tips: 一 般 來 說, 鳥 哥 是 真 的 不 會 去 背 指 令 的, 只 會 去 記 住 幾 個 常 見 的 指 令 而 已 那 麼 鳥 哥 是 怎 麼 找 到 所 需 要 的 指 令 呢? 舉 例 來 說, 列 印 的 相 關 指 令, 鳥 哥 其 實 僅 記 得 lp (line print) 而 已 那 我 就 由 man lp 開 始, 去 找 相 關 的 說 明, 然 後, 再 以 lp[tab][tab] 找 到 任 何 以 lp 為 開 頭 的 指 令, 找 到 我 認 為 可 能 有 點 相 關 的 指 令 後, 再 以 man 去 查 詢 指 令 的 用 法! 呵 呵! 所 以, 如 果 是 實 際 在 管 理 Linux, 那 麼 真 的 只 要 記 得 幾 個 很 重 要 的 指 令 即 可, 其 他 需 要 的, 嘿 嘿! 努 力 的 找 男 人 (man) 吧! info page 在 所 有 的 Unix Like 系 統 當 中, 都 可 以 利 用 man 來 查 詢 指 令 或 者 是 相 關 檔 案 的 用 法 ; 但 是, 在 Linux 裡 面 則 又 額 外 提 供 了 一 種 線 上 求 助 的 方 法, 那 就 是 利 用 info 這 個 好 用 的 傢 伙 啦! 基 本 上, info 與 man 其 實 差 不 多, 而 且, 文 件 資 料 必 須 要 以 info 寫 成 的, 才 會 比 較 完 整 而 這 個 支 援 info 指 令 的 文 件 是 放 置 在 /usr/share/info/ 這 個 目 錄 當 中 的 舉 例 來 說,info 的 說 明 文 件 有 寫 成 info 格 式, 所 以, 你 使 用 info info 可 以 得 到 : [root@linux ~]# info info File: info.info, Node: Top, Next: Getting Started, Info: An Introduction ********************* The GNU Project distributes most of its on-line m format", which you read using an "Info reader". an Info reader to read this now. There are two primary Info readers: `info', a designed just to read Info files, and the `info' a general-purpose editor. At present, only the E using a mouse. If you are new to the Info reader and want to type the command `h' now. It brings you to a pro sequence. To read about expert-level Info commands, type brings you to `Info for Experts', skipping over t chapter. * Menu: * Getting Started:: Getting started u * Expert Info:: Info commands for * Creating an Info File:: How to make your * Index:: An index of topic --zz-info: (info.info.gz)top, 29 lines --All----- file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 Welcome to Info version 4.8. Type? for help, m f 仔 細 的 看 到 上 面 這 個 表, 您 可 以 發 現 最 後 一 行 顯 示 出 目 前 的 info 這 個 程 式 的 版 本 資 訊, 你 可 以 按 下 m 這 個 按 鍵, 就 可 以 有 更 多 的 指 令 說 明 而 第 一 行 則 顯 示 目 前 這 個 info page 的 檔 名, 注 意 到 我 將 他 顯 示 成 為 特 殊 字 體 的 那 幾 個 部 分, 第 一 行 的 Node 顯 示, 這 個 畫 面 是 在 第 幾 層? 的 意 思, 因 為 info page 將 所 有 有 關 的 資 料 都 進 行 了 連 結, 因 此, 他 可 以 利 用 分 層 的 架 構 來 說 明 每 個 文 件 資 料 呢! 而 且 還 有 下 一 層 資 料, 因 此, 您 會 看 到 第 一 行 還 有 Next 這 個 字 眼 這 表 示, 您 只 要 輸 入 n 這 個 按 鍵 後, 就 可 以 跑 到 下 一 層, 也 就 是 Getting Started 那 個 章 節 去 了! 呵 呵! 很 方 便 吧! 再 來, 你 也 會 看 到 有 Menu 那 個 咚 咚 吧! 底 下 共 分 為 四 小 節, 分 別 是 Getting Started 等 等 的, 我 們 可 以 將 游 標 移 動 到 該 文 字 或 者 * 上 面, 按 下 Enter, 就 可 以 前 往 該 小 節 了! 而, 利 用 [Tab] 按 鍵, 就 可 以 快 速 的 將 游 標 在 上 表 的 畫 面 中 的 node 間 移 動, 真 的 是 很 方 便 啦! 不 過, 什 麼 是 node 呢? 就 是 各 個 入 口 點 稱 為 node 舉 例 來 說, 上 個 表 格 當 中, 按 下 n 或 者 是 將 游 標 游 動 到 Next 這 個 字 上, 按 下 Enter, 就 可 以 前 往 下 個 說 明 了 這 就 是 node 啊! 不 過, 就 如 同 前 面 說 的, info 需 要 文 件 有 支 援 才 行, 如 果 我 們 以 沒 有 支 援 的 man 來 看 的 話, info man 的 結 果 與 man man 的 結 果 就 一 樣 了 ~ 沒 有 不 同 啊! 至 於 info page 當 中 可 以 使 用 的 按 鍵, 可 以 整 理 成 這 樣 : 按 鍵 進 行 工 作 空 白 鍵 向 下 翻 一 頁 [Page Down] 向 下 翻 一 頁 [Page Up] 向 上 翻 一 頁 [tab] 在 node 之 間 移 動, 有 node 的 地 方, 通 常 會 以 * 顯 示 [Enter] 當 游 標 在 node 上 面 時, 按 下 Enter 可 以 進 入 該 node b 移 動 游 標 到 該 info 畫 面 當 中 的 第 一 個 node 處 e 移 動 游 標 到 該 info 畫 面 當 中 的 最 後 一 個 node 處 n 前 往 下 一 個 info page 處 p 前 往 上 一 個 info page 處 u 向 上 移 動 一 層 s(/) 在 info page 當 中 進 行 搜 尋 h 顯 示 求 助 選 單? 指 令 一 覽 表 q 結 束 這 次 的 info page info page 也 是 很 不 錯 用 啦! 有 興 趣 的 話, 可 以 多 多 去 查 詢 查 詢 哩! ^_^ 其 他 有 用 的 文 件 (documents) 剛 剛 前 面 說, 一 般 而 言, 指 令 或 者 軟 體 製 作 者, 都 會 將 自 己 的 指 令 或 者 是 軟 體 的 說 明 製 作 成 線 上 說 明 文 件! 但 是, 畢 竟 不 是 每 個 咚 咚 都 需 要 做 成 線 上 說 明 文 件 的, 還 有 相 當 多 的 說 明 需 要 額 外 的 文 件! 此 時, 這 個 所 謂 的 How-To ( 如 何 做 的 意 思 ) 就 很 重 要 啦! 還 有, 某 些 軟 體 不 file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 只 告 訴 你 如 何 做, 還 會 有 一 些 相 關 的 原 理 會 說 明, 那 麼 這 些 說 明 文 件 要 擺 在 哪 裡 呢? 哈 哈! 就 是 擺 在 這 個 目 錄 /usr/share/doc 啦! 所 以 說, 其 實, 您 只 要 到 這 個 目 錄 底 下, 就 會 發 現 好 多 好 多 的 說 明 文 件 檔 啦! 還 不 需 要 到 網 路 上 面 找 資 料 呢! 厲 害 吧! ^_^ 舉 例 來 說, 您 想 要 知 道 這 一 版 的 Fedora 相 關 的 各 項 資 訊, 可 以 直 接 到 : /usr/share/doc/fedora-release-4 這 個 目 錄 來 查 閱 一 下 即 可 瞭 解! 如 果 想 要 知 道 bash 是 什 麼, 則 可 以 到 /usr/share/doc/bash-3.0 這 個 目 錄 中! 很 多 東 西 呦! 而 且, /usr/share/doc 這 個 目 錄 下 的 資 料 主 要 是 以 套 件 (packages) 為 主 的, 例 如 GCC 這 個 套 件 的 相 關 資 訊 在 /usr/share/doc/gcc-xxx ( 那 個 xxx 表 示 版 本 的 意 思!) 未 來 可 得 多 多 查 閱 這 個 目 錄 喔! ^_^ 記 住 喔! 在 文 字 介 面 下, 有 任 何 你 不 知 道 的 玩 意 兒, 但 是 你 想 要 瞭 解 他, 請 趕 快 使 用 man 或 者 是 info 來 查 詢 這 個 玩 意 兒! 此 外, 如 果 你 想 要 架 設 一 些 其 他 的 服 務 時, 請 趕 快 到 /usr/share/doc 底 下 查 一 查 有 沒 有 該 服 務 的 說 明 檔 喔! 另 外, 再 次 的 強 調, 因 為 Linux 畢 竟 是 外 國 人 發 明 的, 所 以 中 文 文 件 確 實 是 比 較 少 的! 但 是 不 要 害 怕, 拿 本 英 文 字 典 在 身 邊 吧! 隨 時 查 閱! 不 要 害 怕 英 文 喔! 正 確 的 關 機 方 法 (shutdown, reboot, init, halt) OK! 大 概 知 道 開 機 的 方 法, 也 知 道 基 本 的 指 令 操 作, 而 且 還 已 經 知 道 線 上 查 詢 了, 好 累 呦! 想 去 休 息 呢! 那 麼 如 何 關 機 呢? 我 想, 很 多 朋 友 在 DOS 的 年 代 已 經 有 在 玩 電 腦 了! 在 當 時 我 們 關 掉 DOS 的 系 統 時, 常 常 是 直 接 關 掉 電 源 開 關, 而 Windows 在 你 不 爽 的 時 候, 按 著 電 源 開 關 四 秒 也 可 以 關 機! 但 是 在 Linux 則 相 當 的 不 建 議 這 麼 做! Why? 在 Windows ( 非 NT 主 機 系 統 ) 系 統 中, 由 於 是 單 人 假 多 工 的 情 況, 所 以 即 使 你 的 電 腦 關 機, 對 於 別 人 應 該 不 會 有 影 響 才 對! 不 過 呢, 在 Linux 底 下, 由 於 每 個 程 序 ( 或 者 說 是 服 務 ) 都 是 在 在 背 景 下 執 行 的, 因 此, 在 你 看 不 到 的 螢 幕 背 後 其 實 可 能 有 相 當 多 人 同 時 在 你 的 主 機 上 面 工 作, 例 如 瀏 覽 網 頁 啦 傳 送 信 件 啦 以 FTP 傳 送 檔 案 啦 等 等 的, 如 果 你 直 接 按 下 電 源 開 關 來 關 機 時, 則 其 他 人 的 資 料 可 能 就 此 中 斷! 那 可 就 傷 腦 筋 了! 此 外, 最 大 的 問 題 是, 若 不 正 常 關 機, 則 可 能 造 成 檔 案 系 統 的 毀 損 ( 因 為 來 不 及 將 資 料 回 寫 到 檔 案 中, 所 以 有 些 服 務 的 檔 案 會 有 問 題!) 正 常 情 況 下, 要 關 機 時 需 要 注 意 底 下 幾 件 事 : 觀 察 系 統 的 使 用 狀 態 : 如 果 要 看 目 前 有 誰 在 線 上, 可 以 下 達 who 這 個 指 令, 而 如 果 要 看 網 路 的 連 線 狀 態, 可 以 下 達 netstat -a 這 個 指 令, 而 要 看 背 景 執 行 的 程 序 可 以 執 行 ps -aux 這 個 指 令 使 用 這 些 指 令 可 以 讓 你 稍 微 瞭 解 主 機 目 前 的 使 用 狀 態! 當 然 囉, 就 可 以 讓 你 判 斷 是 否 可 以 關 機 了 ( 這 些 指 令 在 後 面 Linux 常 用 指 令 中 會 提 及 喔!) 通 知 線 上 使 用 者 關 機 的 時 刻 : 要 關 機 前 總 得 給 線 上 的 使 用 者 一 些 時 間 來 結 束 他 們 的 工 作, 所 以, 這 個 時 候 你 可 以 使 用 shutdown 的 特 別 指 令 來 達 到 此 一 功 能 正 確 的 關 機 指 令 使 用 : 例 如 shutdown 與 reboot 兩 個 指 令! 所 以 底 下 我 們 就 來 談 一 談 關 於 這 個 關 機 的 正 確 指 令 用 法 囉! 將 資 料 同 步 寫 入 硬 碟 中 的 指 令 : sync 慣 用 的 關 機 指 令 : shutdown file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 重 新 開 機, 關 機 : reboot, halt, poweroff 資 料 同 步 寫 入 磁 碟 : sync 在 Linux 系 統 中, 為 了 加 快 資 料 的 讀 取 速 度, 所 以, 預 設 的 情 況 中, 某 些 資 料 將 不 會 直 接 被 寫 入 硬 碟, 而 是 先 暫 存 在 記 憶 體 當 中, 如 此 一 來, 如 果 一 個 資 料 被 你 重 複 的 改 寫, 那 麼 由 於 他 尚 未 被 寫 入 硬 碟 中, 因 此 可 以 直 接 由 記 憶 體 當 中 讀 取 出 來, 在 速 度 上 一 定 是 快 上 相 當 多 的! 不 過, 如 此 一 來 也 造 成 些 許 的 困 擾, 那 就 是, 萬 一 當 你 重 新 開 機, 或 者 是 關 機, 或 者 是 不 正 常 的 斷 電 的 情 況 下, 由 於 資 料 尚 未 被 寫 入 硬 碟 當 中, 哇! 所 以 就 會 造 成 資 料 的 更 新 不 正 常 啦! 那 要 怎 麼 辦 呢? 這 個 時 候 就 需 要 sync 這 個 指 令 來 進 行 資 料 的 寫 入 動 作 啦! 直 接 在 文 字 介 面 下 輸 入 sync, 那 麼 在 記 憶 體 中 尚 未 被 更 新 的 資 料, 就 會 被 寫 入 硬 碟 中! 所 以, 這 個 指 令 在 系 統 關 機 或 重 新 開 機 之 前, 很 重 要 喔! 最 好 多 執 行 幾 次!( 註 : 這 個 指 令 也 只 有 root 可 以 執 行 喔! ) 雖 然 目 前 的 shutdown/reboot/halt 等 等 指 令 均 已 經 在 關 機 前 進 行 了 sync 這 個 工 具 的 呼 叫, 不 過, 多 做 幾 次 總 是 比 較 放 心 點 ~ 呵 呵 ~ [root@linux ~]# sync 慣 用 的 關 機 指 令 : shutdown 好 了, 由 於 關 機 有 種 種 的 限 制 因 子 在, 所 以 只 有 root 有 權 力 關 機 而 已 喔! 嗯! 那 麼 就 來 關 機 試 試 看 吧! 我 們 較 常 使 用 的 是 shutdown 這 個 指 令, 而 這 個 指 令 會 通 知 系 統 內 的 各 個 程 序 ( processes ), 並 且 將 通 知 系 統 中 的 run-level 內 的 一 些 服 務 來 關 閉 ( run-level 會 在 後 面 告 知 喔 ) shutdown 可 以 達 成 : 可 以 自 由 選 擇 關 機 模 式 : 是 要 關 機 重 新 開 機 或 進 入 單 人 操 作 模 式 均 可 ; 可 以 設 定 關 機 時 間 : 可 以 設 定 成 現 在 立 刻 關 機, 也 可 以 設 定 某 一 個 特 定 的 時 間 才 關 機 可 以 自 訂 關 機 訊 息 : 在 關 機 之 前, 可 以 將 自 己 設 定 的 訊 息 傳 送 給 線 上 user 可 以 僅 發 出 警 告 訊 息 : 有 時 有 可 能 你 要 進 行 一 些 測 試, 而 不 想 讓 其 他 的 使 用 者 干 擾, 或 者 是 明 白 的 告 訴 使 用 者 某 段 時 間 要 注 意 一 下! 這 個 時 候 可 以 使 用 shutdown 來 嚇 一 嚇 使 用 者, 但 卻 不 是 真 的 要 關 機 啦! 可 以 選 擇 是 否 要 fsck 檢 查 檔 案 系 統 那 麼 shutdown 的 語 法 是 如 何 呢? 聰 明 的 讀 者 大 概 已 經 開 始 找 男 人 了! 沒 錯, 隨 時 隨 地 的 man 一 下, 是 很 不 錯 的 舉 動! 好 了, 簡 單 的 語 法 規 則 為 : file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 [root@linux ~]# /sbin/shutdown [-t 秒 ] [-arkhncff] [ 時 間 ] [ 警 告 訊 息 ] 實 例 : [root@linux ~]# /sbin/shutdown -h 10 'I will shutdown after 10 mins' 告 訴 大 家, 這 部 機 器 會 在 十 分 鐘 後 關 機! 並 且 會 顯 示 在 目 前 登 入 者 的 螢 幕 前 方! 至 於 參 數 有 哪 些 呢? 以 下 介 紹 幾 個 吧! -t sec : -t 後 面 加 秒 數, 亦 即 過 幾 秒 後 關 機 的 意 思 -k : 不 要 真 的 關 機, 只 是 發 送 警 告 訊 息 出 去! -r : 在 將 系 統 的 服 務 停 掉 之 後 就 重 新 開 機 -h : 將 系 統 的 服 務 停 掉 後, 立 即 關 機 -n : 不 經 過 init 程 序, 直 接 以 shutdown 的 功 能 來 關 機 -f : 關 機 並 開 機 之 後, 強 制 略 過 fsck 的 磁 碟 檢 查 -F : 系 統 重 新 開 機 之 後, 強 制 進 行 fsck 的 磁 碟 檢 查 -c : 取 消 已 經 在 進 行 的 shutdown 指 令 內 容 此 外, 需 要 注 意 的 是, 時 間 參 數 請 務 必 加 入, 否 則 會 自 動 跳 到 run-level 1 ( 就 是 單 人 維 護 的 登 入 情 況 ), 這 樣 就 傷 腦 筋 了! 底 下 提 供 幾 個 例 子 吧! [root@linux ~]# shutdown -h now 立 刻 關 機, 其 中 now 相 當 於 時 間 為 0 的 狀 態 [root@linux ~]# shutdown -h 20:25 系 統 在 今 天 的 20:25 分 會 關 機 [root@linux ~]# shutdown -h +10 系 統 再 過 十 分 鐘 後 自 動 關 機 [root@linux ~]# shutdown -r now 系 統 立 刻 重 新 開 機 [root@linux ~]# shutdown -r +30 'The system will reboot' 再 過 三 十 分 鐘 系 統 會 重 新 開 機, 並 顯 示 後 面 的 訊 息 [root@linux ~]# shutdown -k now 'This system will reboot' 僅 發 出 警 告 信 件 的 參 數! 系 統 並 不 會 關 機 啦! 嚇 唬 人! 重 新 開 機, 關 機 : reboot, halt, poweroff 這 三 個 指 令 差 不 多, 用 途 上 有 些 不 同 而 已! 那 個 reboot 其 實 與 shutdown -r now 幾 乎 相 同! 不 過, 建 議 在 關 機 之 前 還 是 將 資 料 回 填 的 指 令 下 達 一 次 再 說 : [root@linux ~]# sync; sync; sync; reboot 就 可 以 啦! 通 常 我 如 果 忘 記 shutdown 的 指 令, 或 者 是 怕 麻 煩, 都 是 使 用 上 面 說 的 這 一 個 指 令 來 重 新 開 機, 並 且 在 聽 到 逼 的 一 聲 時, 立 刻 將 Linux 主 機 的 總 電 源 關 閉! 如 此 亦 可 達 到 關 機 的 目 的 呀! 此 外, halt 與 poweroff 也 具 有 相 同 的 功 能 喔! 不 要 擔 心, 使 用 man 去 查 詢 一 下 下 吧! ^_^ file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 開 機 過 程 的 問 題 排 解 事 實 上, Linux 主 機 是 很 穩 定 的, 除 非 是 硬 體 問 題 與 系 統 管 理 員 不 小 心 的 動 作, 否 則, 很 難 會 造 成 一 些 無 法 挽 回 的 錯 誤 的 但 是, 畢 竟 我 們 目 前 使 用 的 可 能 是 練 習 機, 會 常 常 開 開 關 關 的, 所 以 確 實 可 能 會 有 一 些 小 問 題 發 生 好 了, 我 們 先 來 簡 單 的 談 一 談, 如 果 無 法 順 利 開 機 時, 您 應 該 如 何 解 決 要 注 意 的 是, 底 下 說 到 的 內 容 很 多 都 還 沒 有 開 始 介 紹, 因 此, 看 不 懂 也 不 要 太 緊 張 ~ 在 本 書 全 部 都 讀 完 且 看 第 二 遍 時, 您 自 然 就 會 有 感 覺 了! ^_^ 磁 區 錯 亂 的 問 題 在 開 機 的 過 程 中 最 容 易 遇 到 的 問 題 就 是 硬 碟 可 能 有 壞 軌 或 磁 區 錯 亂 ( 資 料 損 毀 ) 的 情 況, 這 種 情 況 雖 然 不 容 易 發 生 在 穩 定 的 Linux 系 統 下, 不 過 由 於 不 當 的 開 關 機 還 是 可 能 會 造 成 的, 原 因 可 能 有 : 最 可 能 發 生 的 原 因 是 因 為 斷 電 或 不 正 常 關 機 所 導 致 的 硬 碟 磁 軌 錯 亂, 鳥 哥 的 主 機 就 曾 經 發 生 過 多 次 因 為 跳 電, 家 裡 的 主 機 又 沒 有 安 裝 不 斷 電 系 統, 結 果 就 導 致 硬 碟 磁 軌 錯 亂 了! 硬 碟 使 用 率 過 高 也 是 一 個 可 能 的 原 因, 例 如 你 開 放 了 一 個 FTP 服 務, 裡 面 有 些 資 料 很 有 用, 所 以 一 堆 人 搶 著 下 載, 如 果 你 又 不 是 使 用 較 穩 定 的 SCSI 介 面 硬 碟, 僅 使 用 IDE 介 面 的 硬 碟, 雖 然 機 率 真 的 不 高, 但 還 是 有 可 能 造 成 磁 軌 錯 亂 的 ( 這 個 問 題 其 實 在 Windows 系 統 下 更 容 易 發 生 哩!) 解 決 的 方 法 其 實 很 簡 單, 也 可 能 很 困 難, 如 果 您 的 根 目 錄 / 並 沒 有 損 毀, 那 就 很 容 易 解 決, 如 果 根 目 錄 已 經 損 毀 了, 那 就 比 較 麻 煩! 如 果 根 目 錄 沒 有 損 毀 : 假 設 你 發 生 錯 誤 的 磁 碟 區 塊 是 在 /dev/hda7 這 一 塊, 那 麼 在 開 機 的 時 候, 螢 幕 應 該 會 告 訴 你 : press root pass word or ctrl+d : 這 時 候 請 輸 入 root 的 密 碼 登 入 系 統 : 在 游 標 處 輸 入 root 密 碼 登 入 系 統, 進 行 單 人 單 機 的 維 護 工 作 ; 輸 入 fsck /dev/hda7 (fsck 為 指 令, /dev/hda7 為 錯 誤 的 磁 碟 區 塊, 請 依 你 的 情 況 下 達 參 數 ), 這 時 螢 幕 會 顯 示 開 始 修 理 硬 碟 的 訊 息, 如 果 有 發 現 任 何 的 錯 誤 時, 螢 幕 會 顯 示 : clear [Y/N]? 的 詢 問 訊 息, 就 直 接 輸 入 Y 吧! 修 理 完 成 之 後, 以 reboot 重 新 開 機 囉! 如 果 根 目 錄 損 毀 了 : 一 般 初 學 者 喜 歡 將 自 己 的 硬 碟 只 劃 分 為 一 個 大 區 塊, 亦 即 只 有 根 目 錄, 那 硬 碟 區 塊 錯 亂 一 定 是 根 目 錄 的 問 題 囉! 這 時 你 可 以 將 硬 碟 拔 掉, 接 到 另 一 台 Linux 系 統 的 電 腦 上, 並 且 不 要 掛 載 (mount) 該 硬 碟, 然 後 以 root 的 身 份 執 行 fsck /dev/ hdb1 (/dev/hdb1 指 的 是 你 的 硬 碟 裝 置 名 稱, 你 要 依 你 的 實 際 狀 況 來 設 定 ), 這 樣 就 OK 囉! 另 外, 也 可 以 使 用 近 年 來 很 熱 門 的 Live CD, 也 就 是 利 用 光 碟 開 機 就 能 夠 進 入 Linux 作 業 系 統 的 特 性, 您 可 以 前 往 : http://knoppix.tnc.edu.tw/ 這 個 網 站 來 下 載, 並 且 燒 錄 成 為 CD, 這 個 時 候 用 光 碟 開 機, 再 加 以 mount 原 本 的 /, 以 fsck /dev/hda1 就 能 夠 就 回 來 了! file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 如 果 硬 碟 整 個 壞 掉 : 如 果 硬 碟 實 在 壞 的 離 譜 時, 那 就 換 一 顆 吧, 如 果 不 願 意 換 硬 碟, 那 就 重 灌 Linux 吧, 並 且 在 重 灌 的 時 候, 於 Format 項 目 中, 選 取 error check 項 目, 只 是 如 此 一 來, format 會 很 慢, 並 且, 何 時 會 再 壞 掉 也 不 確 定! 最 好 還 是 換 一 顆 吧! 預 防 的 方 法 : 妥 善 保 養 硬 碟 : 例 如 : 主 機 通 電 之 後 不 要 搬 動, 避 免 移 動 或 震 動 硬 碟 ; 盡 量 降 低 硬 碟 的 溫 度, 可 以 加 裝 風 扇 來 冷 卻 硬 碟 ; 或 者 可 以 換 裝 SCSI 硬 碟 劃 分 不 同 的 磁 碟 區 塊 : 如 果 諸 位 看 官 還 記 得 的 話, 應 該 知 道 Fedora 安 裝 的 方 法 可 以 分 為 四 五 種, 有 upgrad, Server, Workstation 等 等 的, 這 些 咚 咚 不 一 樣 的 地 方 就 在 於 磁 碟 劃 分 的 不 同 啦! 通 常 我 們 會 建 議 劃 分 下 列 的 磁 碟 區 塊 : / /boot /usr /home /var 這 樣 劃 分 有 些 好 處, 例 如 /var 是 系 統 預 設 的 一 些 資 料 暫 存 或 者 是 cache 資 料 的 儲 存 目 錄, 像 e-mail 就 含 在 這 裡 面 如 果 還 有 使 用 proxy 時, 因 為 常 常 存 取, 所 以 有 可 能 會 造 成 磁 碟 損 壞, 而 當 這 部 份 的 磁 碟 損 壞 時, 由 於 其 他 的 地 方 是 沒 問 題 的, 因 此 資 料 得 以 保 存, 而 且 在 處 理 時 也 比 較 容 易! 忘 記 root 密 碼 : 常 常 有 些 朋 友 在 設 定 好 了 Linux 之 後, 結 果 root 密 碼 給 他 忘 記 去! 要 重 新 安 裝 嗎?! 不 需 要 的, 你 只 要 以 單 人 維 護 模 式 登 入 即 可 更 改 你 的 root 密 碼 喔! 不 過, 目 前 的 開 機 選 單 主 要 有 LILO 與 Grub 兩 種, 這 兩 種 模 式 並 不 相 同, 有 必 要 來 說 明 一 下 : LILO 您 只 要 在 出 現 Lilo 選 單 的 時 候, 輸 入 :( 請 注 意, 如 果 是 Red Hat 7.0 以 後 的 版 本, 會 出 現 圖 形 介 面 的 lilo, 這 個 時 候 請 按 下 [Ctrl] + x 即 可 進 入 純 文 字 介 面 的 lilo 囉!) boot: linux -s 以 進 入 單 人 單 機 維 護 模 式 ( 即 為 run-level 1 ), 然 後 再 輸 入 passwd 這 個 指 令, 就 可 以 直 接 更 改 root 的 密 碼 囉! 同 時, 如 果 圖 形 介 面 無 法 登 入 的 時 候, 也 可 以 使 用 此 一 方 法 來 進 入 單 人 單 機 的 維 護 工 作, 然 後 再 去 修 改 /etc/inittab 改 變 一 下 登 入 的 預 設 模 式, 如 此 一 來 就 可 以 在 下 次 開 機 的 時 候 以 文 字 模 式 登 入 囉! 同 時 請 注 意! 如 果 您 在 設 定 啟 動 的 名 稱 的 時 候, 已 經 改 變 了 啟 動 的 名 稱, 例 如 我 都 喜 歡 在 名 稱 之 後 加 上 核 心 碼, 例 如 :Red-Hat-2.4.7, 這 個 時 候 我 就 必 須 在 boot: 底 下 輸 入 : boot: Red-Hat-2.4.7linux -s boot: Red-Hat-2.4.7linux single file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 另 外, 您 可 能 會 遇 到 Lilo 的 開 機 問 題, 這 個 時 候 建 議 您 先 參 考 一 下 底 下 這 一 篇 討 論, 未 來 還 會 再 次 提 到 lilo 的 設 定 問 題! http://phorum.vbird.org/viewtopic.php?t=150 Grub grub 做 為 開 機 管 理 程 式, 要 進 入 單 人 維 護 模 式 就 比 較 麻 煩 一 些! 在 開 機 的 過 程 當 中, 會 有 讀 秒 的 時 刻, 此 時 請 按 下 任 意 按 鍵, 就 會 進 入 選 單 畫 面 這 個 時 候 只 要 選 擇 相 對 的 核 心 檔 案, 並 且 按 下 e, 就 可 以 進 入 編 輯 畫 面 了 此 時, 你 看 到 的 畫 面 有 點 像 : root (hd0,0) kernel /boot/vmlinuz-2.4.19 root=/dev/ hda1 此 時, 請 將 游 標 移 動 到 kernel 那 一 行, 再 按 一 次 e 進 入 kernel 該 行 的 編 輯 畫 面 中, 然 後 在 出 現 的 畫 面 當 中, 最 後 方 輸 入 single : root (hd0,0) kernel /boot/vmlinuz-2.4.19 root=/dev/hda1 single 再 按 下 Enter 確 定 之 後, 按 下 b 就 可 以 boot 看 看 啦! 關 於 LILO 與 grub 我 們 會 在 後 面 繼 續 加 以 介 紹, 這 裡 先 有 概 念 即 可! 不 過, 並 非 所 有 版 本 的 Linux 皆 可 使 用 此 一 方 法! 例 如 OpenLinux 就 無 法 進 入 單 人 維 護 模 式, 因 為 他 的 單 人 維 護 模 式 仍 然 需 要 輸 入 root 的 密 碼! 哇! 真 是 可 怕 吶! 這 個 時 候 怎 麼 辦? 呵 呵! 別 擔 心, 現 在 你 還 不 會, 看 完 了 後 面 幾 個 章 節 之 後, 您 就 一 定 會 啦! ^_^ 本 章 習 題 練 習 ( 要 看 答 案 請 將 滑 鼠 移 動 到 答 : 底 下 的 空 白 處, 按 下 左 鍵 圈 選 空 白 處 即 可 察 看 ) 請 問 如 果 我 以 文 字 模 式 登 入 Linux 主 機 時, 我 有 幾 個 終 端 機 介 面 可 以 使 用? 如 何 切 換 各 個 不 同 的 終 端 機 介 面? 共 有 六 個, tty1 ~ tty6, 切 換 的 方 式 為 Crtl + Alt + [F1]~[F6], 其 中, [F7] 為 圖 形 介 面 的 使 用 在 Linux 系 統 中, /VBird 與 /vbird 是 否 為 相 同 的 檔 案? 兩 者 為 不 同 的 檔 案, 因 為 Linux 系 統 中, 大 小 寫 字 母 代 表 意 義 不 一 樣! 我 想 要 知 道 date 如 何 使 用, 應 該 如 何 查 詢? 最 簡 單 的 方 式 就 是 使 用 man date 或 info date 來 查 看, 如 果 該 套 件 有 完 整 說 明 的 話, 那 麼 應 該 也 可 以 在 /usr/share/doc 裡 面 找 到 說 明 檔! file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 我 想 要 在 今 天 的 1:30 讓 系 統 自 己 關 機, 要 怎 麼 做? shutdown -h 1:30 如 果 我 Linux 的 X Window 突 然 發 生 問 題 而 掛 掉, 但 Linux 本 身 還 是 好 好 的, 那 麼 我 可 以 按 下 哪 三 個 按 鍵 來 讓 X window 重 新 啟 動? [crtl]+[alt]+[backspace] man page 的 設 定 檔 在 哪 裡? Fedora 的 設 定 檔 在 /etc/man.conf 有 的 distribution 會 定 義 為 /etc/man.config 或 /etc/manpath.conf 我 想 要 知 道 2005 年 5 月 2 日 是 星 期 幾? 該 怎 麼 做? 最 簡 單 的 方 式 直 接 使 用 cal 5 2005 即 可 找 出 2003 年 5 月 份 的 月 曆 使 用 man date 然 後 找 出 顯 示 目 前 的 日 期 與 時 間 的 參 數, 成 為 類 似 :2002/10/16-20:03 date +%Y/%m/%d-%H:%M 若 以 X-Window 為 預 設 的 登 入 方 式, 那 請 問 如 何 進 入 Virtual console 呢? 可 以 按 下 [Ctrl] + [Alt] + [F1] ~ [F6] 進 入 Virtual console ( 共 六 個 ); 而 按 下 [Ctrl] + [Alt] + [F8] 或 [F7] 可 回 到 X-Window 的 desktop 中! 簡 單 說 明 在 bash shell 的 環 境 下, [tab] 按 鍵 的 用 途? [Tab] 按 鍵 可 做 為 命 令 補 齊 或 檔 案 補 齊 的 功 能, 與 所 接 的 指 令 位 置 有 關 接 在 一 串 指 令 的 第 一 個 單 字 後 面, 則 為 命 令 補 齊, 否 則 則 為 檔 案 補 齊! 如 何 強 制 中 斷 一 個 程 式 的 進 行?( 利 用 按 鍵, 非 利 用 kill 指 令 ) 可 以 利 用 [Ctrl] + c 來 中 斷! Linux 提 供 相 當 多 的 線 上 查 詢, 稱 為 man page, 請 問, 我 如 何 知 道 系 統 上 有 多 少 關 於 passwd 的 說 明? 又, 可 以 使 用 其 他 的 程 式 來 取 代 man 的 這 個 功 能 嗎? 可 以 利 用 man -f passwd 來 查 詢, 另 外, 如 果 有 提 供 info 的 文 件 資 料 時 ( 在 /usr/share/info/ 目 錄 中 ), 則 能 夠 利 用 info passwd 來 查 詢 之! man -k passwd 與 man -K passwd 有 什 麼 差 異 ( 大 小 寫 的 K )? 小 寫 的 -k 為 查 詢 關 鍵 字, 至 於 -K 則 是 整 個 系 統 的 man page 查 詢 ~ 每 個 被 檢 查 到 有 關 鍵 字 的 man page file 都 會 被 詢 問 是 否 要 顯 示, 您 可 以 輸 入 ynq, 來 表 示 :y: 要 顯 示 到 螢 幕 上 ;n: 不 顯 示 ;q: 結 束 man 的 查 詢 在 man 的 時 候, man page 顯 示 的 內 容 中, 指 令 ( 或 檔 案 ) 後 面 會 接 一 組 數 字, 這 個 數 字 若 為 1, 5, 8, 表 示 該 查 詢 的 指 令 ( 或 檔 案 ) 意 義 為 何? 代 表 意 義 為 1) 一 般 使 用 者 可 以 使 用 的 指 令 或 可 執 行 檔 案 5) 一 些 設 定 檔 的 檔 案 內 容 格 式 8) 系 統 管 理 員 能 夠 使 用 的 管 理 指 令 man page 顯 示 的 內 容 的 檔 案 是 放 置 在 哪 些 目 錄 中? 放 置 在 /usr/share/man/ 與 /usr/local/man 等 預 設 目 錄 中 請 問 這 一 串 指 令 foo1 -foo2 foo3 foo4 中, 各 代 表 什 麼 意 義? file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- 開 機 關 機 線 上 求 助 與 指 令 下 達 方 式 foo1 一 定 是 指 令, -foo2 則 是 foo1 這 個 指 令 的 選 擇 項 目 參 數, foo3 與 foo4 則 不 一 定, 可 能 是 foo1 的 參 數 設 定 值, 也 可 能 是 額 外 加 入 的 parameters 當 我 輸 入 man date 時, 在 我 的 終 端 機 卻 出 現 一 些 亂 碼, 請 問 可 能 的 原 因 為 何? 如 何 修 正? 如 果 沒 有 其 他 錯 誤 的 發 生, 那 麼 發 生 亂 碼 可 能 是 因 為 語 系 的 問 題 所 致 可 以 利 用 LANG=en 或 者 是 LANG=en_US 等 設 定 來 修 訂 這 個 問 題 我 輸 入 這 個 指 令 ls -al /vbird, 系 統 回 覆 我 這 個 結 果 : ls: /vbird: No such file or directory 請 問 發 生 了 什 麼 事? 不 要 緊 張, 很 簡 單 的 英 文, 因 為 系 統 根 本 沒 有 /vbird 這 個 檔 案 的 存 在 啊! ^_^ 你 目 前 的 Linux 底 下, 預 設 共 有 多 少 可 以 被 你 執 行 的 指 令? 最 簡 單 的 做 法, 直 接 輸 入 兩 次 [tab] 按 鍵 即 可 知 道 有 多 少 指 令 可 以 被 執 行 我 想 知 道 目 前 系 統 有 多 少 指 令 是 以 bz 為 開 頭 的, 可 以 怎 麼 作? 直 接 輸 入 bz[tab][tab] 就 可 以 知 道 了! 承 上 題, 在 出 現 的 許 多 指 令 中, 請 問 bzip2 是 幹 嘛 用 的? 在 使 用 man bzip2 之 後, 可 以 發 現 到, 其 實 bzip2 是 用 來 作 為 壓 縮 與 解 壓 縮 檔 案 用 的! Linux 提 供 一 些 線 上 文 獻 資 料, 這 些 資 料 通 常 放 在 那 個 目 錄 當 中 通 常 放 在 /usr/share/doc 當 中! 在 終 端 機 裡 面 登 入 後, 看 到 的 提 示 字 元 $ 與 # 有 何 不 同? 平 時 操 作 應 該 使 用 哪 一 個? # 代 表 以 root 的 身 份 登 入 系 統, 而 $ 則 代 表 一 般 身 份 使 用 者 依 據 提 示 字 元 的 不 同, 我 們 可 以 約 略 判 斷 登 入 者 身 份 一 般 來 說, 建 議 日 常 操 作 使 用 一 般 身 份 使 用 者 登 入, 亦 即 是 $! 2002/07/16: 第 一 次 完 成 吧? 2003/02/06: 重 新 編 排 與 加 入 FAQ 2004/05/01: 在 shutdown 的 指 令 部 分, 修 改 shutdown -k "messages" 成 為 shutdown -k now "messages", 很 抱 歉, 寫 錯 了! 2005/06/17: 將 原 本 的 文 章 移 動 到 這 裡 2005/06/27: 終 於 寫 完 了! 寫 的 真 久 ~ 沒 辦 法, 將 man page 擴 大 解 釋, 增 加 的 幅 度 還 挺 多 的! 2005/08/23: 剛 剛 才 發 現, 那 個 man page 的 內 部 指 令 說 明 中, n 與 N 的 說 明 錯 誤 了! 已 訂 正! 2002/01/01 以 來 統 計 人 數 本 網 頁 主 要 以 firefox 配 合 解 析 度 1024x768 作 為 設 計 依 據 http://linux.vbird.org is designed by VBird during 2001-2007. Aerosol Lab. file:///c /Documents and Settings/Administrator/ 桌 面 /0160startlinux.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 鳥 哥 的 Linux 私 房 菜 為 取 得 較 佳 瀏 覽 結 果, 請 愛 用 firefox 瀏 覽 本 網 頁 切 換 解 析 度 為 800x600 Linux 的 檔 案 屬 性 與 目 錄 配 置 最 近 更 新 日 期 :2005/08/05 Linux 最 優 秀 的 地 方 之 一, 就 在 於 他 的 多 人 多 工 的 環 境 而 為 了 讓 各 個 使 用 者 具 有 較 安 全 的 管 理 機 制, 因 此 檔 案 的 權 限 管 理 就 變 的 很 重 要 了 Linux 一 般 將 檔 案 可 存 取 的 方 式 分 為 三 個 類 別, 分 別 是 owner/group/other, 且 各 有 read/write/ execute 等 權 限 若 管 理 得 當, 將 會 讓 您 的 Linux 主 機 變 的 較 為 安 全 另 外, 您 如 果 首 次 接 觸 Linux 的 話, 那 麼, 在 Linux 底 下 這 麼 多 的 目 錄 / 檔 案, 到 底 代 表 什 麼 意 義 呢? 底 下 我 們 就 來 一 一 介 紹 呢! 1. 使 用 者 與 群 組 2. Linux 檔 案 權 限 概 念 2.1 Linux 檔 案 屬 性 2.2 如 何 改 變 檔 案 權 限 : chgrp, chown, chmod 2.3 目 錄 屬 性 的 意 義 2.4 Linux 檔 案 種 類 與 附 檔 名 3. Linux 目 錄 配 置 3.1 Linux 目 錄 配 置 的 依 據 FHS 3.2 目 錄 配 置 的 內 容 3.3 需 要 特 別 注 意 的 目 錄 3.4 一 般 主 機 partition 與 目 錄 的 配 置 情 況 4. Linux 支 援 的 檔 案 系 統 5. 本 章 習 題 練 習 6. 參 考 資 料 7. 針 對 本 文 的 建 議 :http://phorum.vbird.org/viewtopic.php?t=23878 使 用 者 與 群 組 經 過 前 面 一 章 的 洗 禮 之 後, 您 應 該 可 以 在 Linux 的 指 令 列 模 式 底 下 輸 入 指 令 了 吧?! 呵 呵! 接 下 來, 當 然 是 要 讓 您 好 好 的 瀏 覽 一 下 Linux 系 統 裡 面 有 哪 些 重 要 的 檔 案 囉 不 過, 每 個 檔 案 都 有 相 當 多 的 屬 性, 其 中 最 重 要 的 可 能 就 是 檔 案 的 擁 有 者 的 概 念 了 所 以, 在 開 始 檔 案 相 關 資 訊 的 介 紹 前, 鳥 哥 先 就 簡 單 的 使 用 者 及 群 組 的 概 念 作 個 說 明 吧 ~ 好 讓 您 快 點 進 入 狀 況 的 哩! ^_^ 檔 案 擁 有 者 初 次 接 觸 Linux 的 朋 友 大 概 會 覺 得 很 怪 異, 怎 麼 Linux 有 這 麼 多 使 用 者, 還 分 什 麼 群 組, 有 什 麼 用? 這 個 使 用 者 與 群 組 的 功 能 可 是 相 當 健 全 而 好 用 的 一 個 安 全 防 護 呢! 怎 麼 說 呢? 由 於 file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 Linux 是 個 多 人 多 工 的 系 統 ( 已 經 提 過 若 干 次 囉! ), 因 此 可 能 常 常 會 有 多 人 同 時 使 用 這 部 主 機 來 進 行 工 作 的 情 況 發 生, 為 了 考 慮 每 個 人 的 隱 私 權 以 及 每 個 人 的 喜 好 的 工 作 環 境, 因 此, 這 個 檔 案 擁 有 者 的 角 色 就 顯 的 相 當 的 重 要 了! 例 如 當 你 將 你 的 e-mail 情 書 轉 存 成 檔 案 之 後, 放 在 您 自 己 的 家 目 錄, 您 總 不 希 望 被 其 他 人 看 見 自 己 的 情 書 吧? 這 個 時 候, 你 就 把 該 檔 案 設 定 成 只 有 檔 案 擁 有 者, 就 是 我, 才 能 看 與 修 改 這 個 檔 案 的 內 容, 那 麼 即 使 其 他 人 知 道 你 有 這 個 相 當 有 趣 的 檔 案, 不 過 由 於 您 有 設 定 適 當 的 權 限, 所 以 其 他 人 自 然 也 就 無 法 知 道 該 檔 案 的 內 容 囉! 群 組 概 念 那 麼 群 組 呢? 為 何 要 設 定 檔 案 還 有 所 屬 的 群 組? 其 實, 群 組 最 簡 單 的 功 能 之 一, 就 是 當 您 在 團 隊 開 發 資 源 的 時 候 最 有 用 啦! 舉 個 例 子 來 說 好 了, 假 如 在 我 的 主 機 上 面 有 兩 個 團 體, 這 第 一 個 團 體 名 稱 為 testgroup 而 他 的 成 員 是 test1, test2, test3 三 個, 第 二 個 團 體 名 稱 為 treatgoup 他 的 團 員 為 treat1, treat2, treat3, 這 兩 個 團 體 之 間 是 互 相 有 競 爭 性 質 的, 但 是 卻 又 要 繳 交 同 一 份 報 告, 然 而 每 組 團 員 又 需 要 同 時 可 以 修 改 自 己 的 團 體 內 任 何 人 所 建 立 的 檔 案, 且 不 能 讓 非 自 己 團 體 的 其 他 人 看 到 自 己 的 檔 案 內 容! 這 個 時 候 怎 麼 辦? 呵 呵! 在 Linux 底 下 可 就 很 簡 單 啦! 我 可 以 經 由 簡 易 的 檔 案 權 限 設 定, 就 能 限 制 非 自 己 團 隊 ( 亦 即 是 群 組 囉 ) 的 其 他 人 不 能 夠 閱 覽 內 容 囉! 而 且 亦 可 以 讓 自 己 的 團 隊 成 員 可 以 修 改 我 所 建 立 的 檔 案! 同 時, 如 果 我 自 己 還 有 私 人 隱 密 的 文 件, 仍 然 可 以 設 定 成 讓 自 己 的 團 隊 成 員 也 看 不 到 我 的 檔 案 資 料 很 方 便 吧! 另 外, 如 果 teacher 這 個 帳 號 是 testgroup 與 treatgroup 這 兩 個 群 組 的 老 師, 他 想 要 同 時 觀 察 兩 者 的 進 度, 因 此 需 要 兩 邊 的 群 組 都 能 夠 進 去 觀 看, 這 個 時 候, 您 可 以 設 定 teacher 這 個 帳 號, 同 時 支 援 testgroup 與 treatgroup 這 兩 個 群 組!, 也 就 是 說, 每 個 人 都 可 以 有 多 個 群 組 的 支 援 呢! 這 樣 說 或 許 你 還 不 容 易 理 解 這 個 使 用 者 與 群 組 的 關 係 吧? 沒 關 係, 我 們 可 以 使 用 目 前 家 庭 的 觀 念 來 進 行 解 說 喔! 假 設 有 一 家 人, 家 裡 只 有 三 兄 弟, 分 別 是 王 大 毛 王 二 毛 與 王 三 毛 三 個 人, 而 這 個 家 庭 是 登 記 在 王 大 毛 的 名 下 的! 所 以, 王 大 毛 家 有 三 個 人, 分 別 是 王 大 毛 王 二 毛 與 王 三 毛, 而 且 這 三 個 人 都 有 自 己 的 房 間, 並 且 共 同 擁 有 一 個 客 廳 喔! 由 於 王 家 三 個 人 各 自 擁 有 自 己 的 房 間, 所 以, 王 二 毛 雖 然 可 以 進 入 王 三 毛 的 房 間, 但 是 二 毛 不 能 翻 三 毛 的 抽 屜 喔! 那 樣 會 被 三 毛 K 的! 因 為 抽 屜 裡 面 可 能 有 三 毛 自 己 私 人 的 東 西, 例 如 情 書 啦, 日 記 啦 等 等 的, 這 是 私 人 的 空 間, 所 以 當 然 不 能 讓 二 毛 拿 囉! 由 於 共 同 擁 有 客 廳, 所 以 王 家 三 兄 弟 可 以 在 客 廳 打 開 電 視 機 啦 翻 閱 報 紙 啦 坐 在 沙 發 上 面 發 呆 啦 等 等 的! 反 正, 只 要 是 在 客 廳 的 玩 意 兒, 三 兄 弟 都 可 以 使 用 喔! 因 為 大 家 都 是 一 家 人 嘛! 這 樣 說 來 應 該 有 點 曉 得 了 喔! 那 個 王 大 毛 家 就 是 所 謂 的 群 組 囉, 至 於 三 兄 弟 就 是 分 別 為 三 個 使 用 者, 而 這 三 個 使 用 者 是 在 同 一 個 群 組 裡 面 的 喔! 而 三 個 使 用 者 雖 然 在 同 一 群 組 內, 但 是 我 們 可 以 設 定 權 限, 好 讓 某 些 使 用 者 個 人 的 資 訊 不 被 群 組 的 所 有 人 查 詢, 以 保 有 個 人 私 人 的 空 間 啦! 而 設 定 群 組 共 享, 則 可 讓 大 家 共 同 分 享 喔! 其 他 人 的 概 念 好 了, 那 麼 今 天 又 有 個 人, 叫 做 張 小 豬, 他 是 張 小 豬 家 的 人, 與 王 家 沒 有 關 係 啦! 這 個 時 候, 除 非 王 家 認 識 張 小 豬, 然 後 開 門 讓 張 小 豬 進 來 王 家, 否 則 張 小 豬 永 遠 沒 有 辦 法 進 入 王 家, 更 不 要 說 進 到 王 三 毛 的 房 間 啦! 不 過, 如 果 張 小 豬 透 過 關 係 認 識 了 三 毛, 並 且 跟 王 三 毛 成 為 好 朋 友, 那 麼 張 小 豬 就 可 以 透 過 三 毛 進 入 王 家 啦! 呵 呵! 沒 錯! 那 個 張 小 豬 就 是 所 謂 的 其 他 人, Others 囉! file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 因 此, 我 們 就 可 以 知 道 啦, 在 Linux 裡 面, 任 何 一 個 檔 案 都 具 有 User, Group 及 Others 三 個 權 限! 我 們 可 以 將 上 面 的 說 明 以 底 下 的 圖 示 來 解 釋 : 圖 一 每 個 檔 案 的 擁 有 者 群 組 與 其 他 人 的 示 意 圖 此 時, 以 王 三 毛 為 例, 王 三 毛 這 個 檔 案 的 擁 有 者 為 王 三 毛, 他 屬 於 王 大 毛 這 個 群 組, 而 張 小 豬 相 對 於 王 三 毛, 則 只 是 一 個 其 他 人 (others) 而 已 不 過, 這 裡 有 個 特 殊 的 人 物 要 來 介 紹 的, 那 就 是 萬 能 的 天 神! 這 個 天 神 具 有 無 限 的 神 力, 所 以 他 可 以 到 達 任 何 他 想 要 去 的 地 方, 呵 呵! 那 個 人 在 Linux 系 統 中 的 身 份 代 號 是 root 啦! 所 以 要 小 心 喔! 那 個 root 可 是 萬 能 的 天 神 喔! 無 論 如 何, 使 用 者 身 份, 與 該 使 用 者 所 支 援 的 群 組 概 念, 在 Linux 的 世 界 裡 面 是 相 當 的 重 要 的, 他 可 以 幫 助 您 讓 您 的 多 工 Linux 環 境 變 的 更 容 易 管 理! 更 詳 細 的 身 份 與 群 組 設 定, 我 們 將 在 帳 號 管 理 再 進 行 解 說 底 下 我 們 將 針 對 檔 案 系 統 與 檔 案 權 限 來 進 行 說 明 Linux 使 用 者 身 份 與 群 組 記 錄 的 檔 案 在 我 們 Linux 系 統 當 中, 預 設 的 情 況 下, 所 有 的 系 統 上 的 帳 號 與 一 般 身 份 使 用 者, 還 有 那 個 root 的 相 關 資 訊, 都 是 記 錄 在 /etc/passwd 這 個 檔 案 內 的 至 於 密 碼 則 是 記 錄 在 /etc/shadow 這 個 檔 案 下 此 外, Linux 所 有 的 群 組 名 稱 都 紀 錄 在 /etc/group 內! 這 三 個 檔 案 可 以 說 是 Linux 系 統 裡 面 帳 號 密 碼 群 組 資 訊 的 集 中 地 囉! 不 要 隨 便 刪 除 這 三 個 檔 案 啊! ^_^ 至 於 更 多 的 與 帳 號 群 組 有 關 的 設 定, 還 有 這 三 個 檔 案 的 格 式, 不 要 急, 我 們 在 第 四 篇 講 到 帳 號 時, 會 再 跟 大 家 詳 細 的 介 紹 的! 這 裡 先 有 概 念 即 可 Linux 檔 案 權 限 概 念 大 致 瞭 解 了 Linux 的 使 用 者 與 群 組 之 後, 接 著 下 來, 我 們 要 來 談 一 談, 那 麼 這 個 檔 案 的 權 限 要 如 何 針 對 這 些 所 謂 的 使 用 者 與 群 組 來 設 定 該 檔 案 的 權 限 呢? 這 個 部 分 是 相 當 的 重 要 的, 尤 其 對 於 初 學 者 file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 來 說, 因 為 檔 案 的 權 限 與 屬 性 是 學 習 Linux 的 一 個 相 當 重 要 的 關 卡, 如 果 沒 有 這 部 份 的 概 念, 那 麼 您 將 老 是 聽 不 懂 別 人 在 講 什 麼 呢! 尤 其 是 當 您 在 您 的 螢 幕 前 面 出 現 了 Permission deny 的 時 候, 不 要 擔 心, 肯 定 是 權 限 設 定 錯 誤 啦! 呵 呵! 好 了, 閒 話 不 多 聊, 趕 快 來 瞧 一 瞧 先 : Linux 檔 案 屬 性 嗯! 既 然 要 讓 你 瞭 解 Linux 的 檔 案 屬 性, 那 麼 有 個 重 要 的 也 是 常 用 的 指 令 就 必 須 要 先 跟 你 說 囉! 那 一 個?! 就 是 ls 這 一 個 list 檔 案 的 指 令 囉! 在 你 以 root 的 身 份 登 入 Linux 之 後, 下 達 ls -al 看 看, 會 看 到 底 下 的 幾 個 咚 咚 : [root@linux ~]# ls -al total 248 drwxr-x--- 9 root root 4096 Jul 11 14: drwxr-xr-x 24 root root 4096 Jul 9 17: -rw------- 1 root root 1491 Jun 25 08: -rw------- 1 root root 13823 Jul 10 23: -rw-r--r-- 1 root root 24 Dec 4 20 -rw-r--r-- 1 root root 191 Dec 4 20 -rw-r--r-- 1 root root 395 Jul 4 11: -rw-r--r-- 1 root root 100 Dec 4 20 drwx------ 3 root root 4096 Jun 25 08: -rw-r--r-- 1 root root 68495 Jun 25 08: -rw-r--r-- 1 root root 5976 Jun 25 08: [ 1 ][ 2 ][ 3 ][ 4 ][ 5 ][ 6 ][ 7 ] [ 屬 性 ][ 連 結 ][ 擁 有 者 ][ 群 組 ][ 檔 案 容 量 ][ 修 改 日 期 ][ 檔 名 ] ls 是 list 的 意 思, 與 在 早 期 的 DOS 年 代 的 指 令 dir 類 似 功 能 而 參 數 -al 則 表 示 列 出 所 有 的 檔 案 ( 包 含 隱 藏 檔, 就 是 檔 名 前 面 第 一 個 字 元 為. 的 那 種 檔 案 ) 如 上 所 示, 在 你 第 一 次 以 root 身 份 登 入 Linux 時, 如 果 你 輸 入 指 令 後, 應 該 有 上 列 的 幾 個 東 西, 先 解 釋 一 下 上 面 七 個 欄 位 個 別 的 意 思 : 圖 二 檔 案 屬 性 的 示 意 圖 1. 第 一 欄 代 表 這 個 檔 案 的 屬 性 : 這 個 地 方 最 需 要 注 意 了! 仔 細 看 的 話, 你 應 該 可 以 發 現 這 一 欄 其 實 共 有 十 個 屬 性 : file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 圖 三 檔 案 的 十 個 屬 性 內 容 第 一 個 屬 性 代 表 這 個 檔 案 是 目 錄 檔 案 或 連 結 檔 等 等 : 當 為 [ d ] 則 是 目 錄, 例 如 上 表 的 第 11 行 ; 當 為 [ - ] 則 是 檔 案, 例 如 上 表 的 第 5 行 ; 若 是 [ l ] 則 表 示 為 連 結 檔 (link file); 若 是 [ b ] 則 表 示 為 裝 置 檔 裡 面 的 可 供 儲 存 的 周 邊 設 備 ; 若 是 [ c ] 則 表 示 為 裝 置 檔 裡 面 的 序 列 埠 設 備, 例 如 鍵 盤 滑 鼠 接 下 來 的 屬 性 中, 三 個 為 一 組, 且 均 為 rwx 的 三 個 參 數 的 組 合 其 中,[ r ] 代 表 可 讀 (read) [ w ] 代 表 可 寫 (write) [ x ] 代 表 可 執 行 (execute): 第 一 組 為 擁 有 人 的 權 限, 以 第 5 行 為 例, 該 檔 案 的 擁 有 人 可 以 讀 寫, 但 不 可 執 行 ; 第 二 組 為 同 群 組 的 權 限 ; 第 三 組 為 其 他 非 本 群 組 的 權 限 範 例 : 若 有 一 個 檔 案 的 屬 性 為 -rwxr-xr--, 簡 單 的 可 由 下 面 說 明 之 : [-][rwx][r-x][r--] 1 234 567 890 1 為 : 代 表 這 個 檔 名 為 目 錄 或 檔 案 ( 上 面 為 檔 案 ) 234 為 : 擁 有 人 的 權 限 ( 上 面 為 可 讀 可 寫 可 執 行 ) 567 為 : 同 群 組 使 用 者 權 限 ( 上 面 為 可 讀 可 執 行 ) 890 為 : 其 他 使 用 者 權 限 ( 上 面 為 僅 可 讀 ) 上 面 的 屬 性 情 況 代 表 一 個 檔 案 這 個 檔 案 的 擁 有 人 可 讀 可 寫 可 執 行 但 同 群 組 的 人 僅 可 讀 與 執 行, 非 同 群 組 的 使 用 者 僅 可 讀 的 意 思! 除 此 之 外, 需 要 特 別 留 意 的 是 x 這 個 標 號! 若 檔 名 為 一 個 目 錄 的 時 候, 例 如 上 表 中 的.ssh 這 個 目 錄 : drwx------ 3 root root 4096 Jun 可 以 看 到 這 是 一 個 目 錄, 而 且 只 有 root 可 以 讀 寫 與 執 行 但 是 若 為 底 下 的 樣 式 時, 請 問 非 root 的 其 他 人 是 否 可 以 進 入 該 目 錄 呢? drwxr--r-- 3 root root 4096 Jun 咦! 似 乎 好 像 是 可 以 喔! 因 為 有 可 讀 [ r ] 存 在 嘛! 錯! 答 案 是 非 root 這 個 帳 號 的 其 他 使 用 file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 者 均 不 可 進 入.ssh 這 個 目 錄, 為 什 麼 呢? 因 為 x 與 目 錄 的 關 係 相 當 的 重 要, 如 果 您 在 該 目 錄 底 下 不 能 執 行 任 何 指 令 的 話, 那 麼 自 然 也 就 無 法 進 入 了, 因 此, 請 特 別 留 意 的 是, 如 果 您 想 要 開 放 某 個 目 錄 讓 一 些 人 進 來 的 話, 請 記 得 將 該 目 錄 的 x 屬 性 給 開 放 呦! 至 於 目 錄 的 權 限 相 關 說 明, 我 們 會 在 底 下 繼 續 介 紹 的 另 外, 你 也 必 須 要 更 加 的 小 心 的 是, 在 Windows 底 下 一 個 檔 案 是 否 具 有 執 行 的 能 力 是 藉 由 附 檔 名 來 判 斷 的, 例 如 :.exe,.bat,.com 等 等, 但 是 在 Linux 底 下, 我 們 的 檔 案 是 否 能 執 行, 則 是 藉 由 是 否 具 有 x 這 個 屬 性 來 決 定 的! 所 以, 跟 檔 名 是 沒 有 絕 對 的 關 係 的! 這 點 還 請 特 別 留 意 呢! 稍 後 我 們 還 會 針 對 目 錄 來 稍 作 說 明 的 2. 第 二 欄 表 示 為 連 結 佔 用 的 節 點 (i-node): 這 個 跟 連 結 檔 (link file) 比 較 有 關 係, 我 們 在 未 來 的 章 節 會 再 加 以 介 紹 的 如 果 是 目 錄 的 話, 那 麼 就 與 該 目 錄 下 還 有 多 少 目 錄 有 關 3. 第 三 欄 表 示 這 個 檔 案 ( 或 目 錄 ) 的 擁 有 人 4. 第 四 欄 表 示 擁 有 人 的 群 組 這 裡 再 次 解 釋 一 下, 在 Linux 中, 你 的 ID ( 如 root 或 test 等 帳 號 均 是 所 謂 的 ID ) 即 是 你 的 身 份, 而 且 你 還 可 以 附 屬 在 一 個 或 多 個 群 組 之 下, 例 如 剛 剛 我 們 上 面 提 到 的, 你 有 一 個 團 體 ( 即 群 組 ) 代 號 為 testgroup, 且 這 個 群 體 裡 有 三 個 人, 其 代 號 分 別 是 test1, test2, 與 test3, 則 這 三 個 人 為 同 一 群 組 即 testgroup! 那 麼 如 果 以 上 圖 的 的 檔 案 屬 性 (-rwxrwx---) 來 看, 如 果 該 檔 案 屬 於 test1 所 有, 那 麼 test2, test3 亦 有 讀 寫 執 行 的 權 力, 因 為 他 們 都 屬 於 同 一 個 group 呀! 而 如 果 您 不 是 屬 於 test1, test2, test3 的 任 何 一 個 人, 也 不 屬 於 testgroup 這 個 群 組 時, 那 麼 您 將 不 具 備 讀 寫 執 行 這 個 檔 案 的 權 限 了! 5. 第 五 欄 為 這 個 檔 案 的 容 量 大 小 6. 第 六 欄 為 這 個 檔 案 的 建 檔 日 期 或 者 是 最 近 的 修 改 日 期, 分 別 為 月 份 日 期 及 時 間 請 特 別 留 意, 如 果 您 是 以 繁 體 中 文 來 進 行 安 裝 您 的 Linux 時, 那 麼 預 設 的 語 系 可 能 會 被 改 為 中 文 而 由 於 中 文 無 法 顯 示 在 文 字 型 態 的 終 端 機 上 面, 所 以 這 一 欄 會 成 為 怪 怪 的 亂 碼, 這 個 時 候, 請 修 改 一 下 /etc/sysconfig/i18n 這 個 檔 案, 裡 面 的 LC_TIME 修 改 為 : LC_TIME=en 再 儲 存 離 開, 再 登 入 一 次, 就 可 以 得 到 英 文 字 形 顯 示 的 日 期 了! 那 麼 如 何 修 改 該 檔 案 呢? 呵 呵! 以 root 身 份 用 vi 修 改 另 外, 也 可 以 使 用 LANG=en ls -al 之 類 的 語 法 來 顯 示 7. 第 七 欄 為 這 個 檔 案 的 檔 名, 如 果 檔 名 之 前 多 一 個., 則 代 表 這 個 檔 案 為 隱 藏 檔, 例 如 上 表 第 6 行 的.bashrc_history 檔 名 即 是 隱 藏 檔, 由 於 我 們 有 下 一 個 參 數 為 ls -al, 所 以 連 隱 藏 檔 都 列 出 來, 如 果 你 只 輸 入 ls 則 檔 名 有 加. 的 檔 案 就 不 會 被 顯 示 出 來! Tips: 對 於 更 詳 細 的 ls 用 法, 還 記 得 怎 麼 查 詢 嗎? 對 啦! 使 用 man ls 或 info ls 去 看 看 他 的 基 礎 用 法 去! 自 我 進 修 是 很 重 要 的, 因 為 師 傅 帶 進 門, 修 行 在 個 人!, 自 古 只 有 天 才 學 生, 沒 有 天 才 老 師 呦! 加 油 吧!^_^ 這 七 個 欄 位 的 意 義 是 很 重 要 的! 務 必 清 楚 的 知 道 各 個 欄 位 代 表 的 意 義 呢! 尤 其 是 第 一 個 欄 位 的 十 個 權 限, 那 是 整 個 Linux 檔 案 權 限 的 重 點 之 一 底 下 我 們 來 做 幾 個 簡 單 的 練 習, 您 就 會 比 較 清 楚 囉! 假 設 test1, test2, test3 同 屬 於 testgroup 這 個 群 組 : file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 例 題 一 : 如 果 有 下 面 的 兩 個 檔 案, 請 說 明 兩 個 檔 案 的 擁 有 者 與 其 相 關 的 權 限 為 何? 答 : -rw-r--r-- 1 root root 238 Ju -rwxr-xr-- 1 test1 testgroup 5238 Ju 檔 案 test.txt 的 擁 有 人 為 root, 群 組 為 root 至 於 權 限 方 面 則 只 有 root 這 個 帳 號 可 以 存 取 此 檔 案, 其 他 人 則 僅 能 讀 此 檔 案 ; 另 一 個 檔 案 ping_tsai 的 擁 有 人 為 test1, 而 群 組 為 testgroup 其 中, test1 可 以 針 對 此 檔 案 具 有 可 讀 可 寫 可 執 行 的 權 力, 而 同 群 組 的 test2, test3 兩 個 人 與 test1 同 樣 是 testgroup 的 群 組 帳 號, 則 僅 可 讀 可 執 行 但 不 能 寫 ( 亦 即 不 能 修 改 ), 至 於 非 testgoup 這 一 個 群 組 的 人 則 僅 可 以 讀, 不 能 寫 也 不 能 執 行! 例 題 二 : 如 果 我 的 目 錄 為 底 下 的 樣 式, 請 問 testgroup 這 個 群 組 的 成 員 與 其 他 人 ( others ) 是 否 可 以 進 入 本 目 錄? 答 : drwxr-xr-- 1 test1 testgroup 5238 J 檔 案 擁 有 者 test1 可 以 在 本 目 錄 中 進 行 任 何 工 作 ; 而 testgroup 這 個 群 組 的 帳 號, 例 如 test2, test3 亦 可 以 進 入 本 目 錄 進 行 工 作, 但 是 不 能 在 本 目 錄 下 進 行 寫 入 的 動 作 ; 至 於 other 的 權 限 中 雖 然 有 r, 但 是 由 於 沒 有 x 的 權 限, 因 此 others 的 使 用 者, 並 不 能 進 入 此 目 錄! Linux 檔 案 屬 性 的 重 要 性 : 與 Windows 系 統 不 一 樣 的 是, 在 Linux 系 統 ( 或 者 說 Unix-Like 系 統 ) 當 中, 每 一 個 檔 案 都 多 加 了 很 多 的 屬 性 進 來, 尤 其 是 群 組 的 概 念, 這 樣 有 什 麼 用 途 呢? 基 本 上, 最 大 的 用 途 是 在 安 全 性 上 面 的 舉 個 簡 單 的 例 子, 在 你 的 系 統 中, 關 於 系 統 服 務 的 檔 案 通 常 只 有 root 才 能 讀 寫, 或 者 是 執 行, 例 如 /etc/shadow 這 一 個 帳 號 管 理 的 檔 案, 由 於 該 檔 案 記 錄 了 你 的 系 統 中 的 所 有 帳 號 的 資 料, 因 此 是 很 重 要 的 一 個 資 訊 檔, 當 然 不 能 讓 任 何 人 讀 取, 只 有 root 才 能 夠 來 讀 取 囉! 所 以 該 檔 案 的 屬 性 就 會 成 為 [ -rw------- ] 囉! 那 麼, 如 果 你 有 一 個 開 發 團 隊, 在 你 的 團 隊 中, 你 希 望 每 個 人 都 可 以 使 用 某 一 些 目 錄 下 的 檔 案, 而 非 你 的 團 隊 的 其 他 人 則 不 予 以 開 放 呢? 以 上 面 的 例 子 來 說,testgroup 的 團 隊 共 有 三 個 人, 分 別 是 test1, test2, test3! 那 麼 我 就 可 以 將 test1 的 檔 案 屬 性 訂 為 [ -rwxrwx--- ] 來 提 供 給 testgroup 作 團 隊 使 用 囉! 這 可 是 相 當 重 要 的 再 舉 個 例 子 來 說, 如 果 你 的 目 錄 權 限 沒 有 作 好 的 話, 可 能 造 成 其 他 人 都 可 以 在 你 的 系 統 上 面 亂 搞 囉! 例 如 本 來 只 有 root 才 能 做 的 開 關 機 ADSL 的 撥 接 程 式 新 增 或 刪 除 使 用 者 等 等 的 指 令, 若 被 你 改 成 任 何 人 都 可 以 執 行 的 話, 那 麼 如 果 使 用 者 不 小 心 給 你 重 新 開 機 啦! 重 新 撥 接 啦! 等 等 的! 那 麼 你 的 系 統 不 就 會 常 常 莫 名 其 妙 的 掛 掉 囉! 而 且 萬 一 你 的 使 用 者 的 密 碼 被 其 他 不 明 人 士 取 得 的 話, 只 要 他 登 入 你 的 系 統 就 可 以 輕 而 易 舉 的 執 行 一 些 root 的 工 作! 可 怕 吧! 因 此, 在 你 修 改 file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 你 的 linux 檔 案 與 目 錄 的 屬 性 之 前, 一 定 要 先 搞 清 楚, 什 麼 是 可 變 的, 什 麼 是 不 可 變 的! 千 萬 注 意 囉! 如 何 改 變 檔 案 權 限 好 了, 我 們 已 經 知 道 檔 案 權 限 對 於 一 個 系 統 的 安 全 重 要 性 了, 也 知 道 檔 案 的 權 限 對 於 使 用 者 與 群 組 的 相 關 性 了, 好 了, 那 麼 如 何 修 改 一 個 檔 案 的 權 限 呢? 又! 有 多 少 檔 案 的 權 限 我 們 可 以 修 改 呢? 其 實 一 個 檔 案 的 權 限 很 多 嘛! 大 致 上 我 們 先 介 紹 幾 個 簡 單 的, 例 如 : 群 組 擁 有 者 各 種 身 份 的 權 限 等 等 chgrp : 改 變 檔 案 所 屬 群 組 chown : 改 變 檔 案 所 屬 人 chmod : 改 變 檔 案 的 屬 性 SUID 等 等 的 特 性 改 變 所 屬 群 組, chgrp 改 變 一 個 檔 案 的 群 組 真 是 很 簡 單 的, 直 接 以 chgrp 來 改 變 即 可, 咦! 這 個 指 令 就 是 change group 的 縮 寫 嘛! 對 啦! 這 樣 就 很 好 記 了 吧! ^_^ 不 過, 請 記 得, 要 改 變 成 為 的 群 組 名 稱 必 須 要 在 / etc/group 裡 面 存 在 的 名 稱 才 行, 否 則 就 會 顯 示 錯 誤! 假 設 您 是 以 root 的 身 份 登 入 FC4, 那 麼 在 您 的 家 目 錄 內 有 一 個 install.log 的 檔 案, 如 何 將 該 檔 案 的 群 組 改 變 一 下 呢? 假 設 您 已 經 知 道 在 /etc/group 裡 面 已 經 存 在 一 個 名 為 users 的 群 組, 但 是 testing 這 個 群 組 名 字 就 不 存 在 /etc/group 當 中 了, 此 時 改 變 群 組 成 為 users 與 testing 會 有 什 麼 現 象 發 生 呢? [root@linux ~]# chgrp [-R] dirname/filename... 參 數 : -R : 進 行 遞 迴 ( recursive ) 的 持 續 變 更, 亦 即 連 同 次 目 錄 下 的 所 有 檔 案 目 錄 都 更 新 成 為 這 個 群 組 之 意 常 常 用 在 變 更 某 一 目 錄 的 情 況 範 例 : [root@linux ~]# chgrp users install.log [root@linux ~]# ls -l -rw-r--r-- 1 root users 68495 Jun 25 08:53 install. [root@linux ~]# chgrp testing install.log chgrp: invalid group name `testing' <== 發 生 錯 誤 訊 息 囉 ~ 找 不 到 發 現 了 嗎? 檔 案 的 群 組 被 改 成 users 了, 但 是 要 改 成 testing 的 時 候, 就 會 發 生 錯 誤 ~ 注 意 喔! 發 生 錯 誤 訊 息 還 是 要 努 力 的 查 一 查 錯 誤 訊 息 的 內 容 才 好! 改 變 檔 案 擁 有 者, chown 好 了, 那 麼 如 何 改 變 一 個 檔 案 的 擁 有 者 呢? 很 簡 單 呀! 既 然 改 變 群 組 是 change group, 那 麼 改 變 擁 有 者 就 是 change owner 囉!BINGO, 對 啦! 那 就 是 chown 這 個 指 令 的 用 途, 要 注 意 的 是, 使 用 者 必 須 是 已 經 存 在 系 統 中 的, 也 就 是 在 /etc/passwd 這 個 檔 案 中 有 紀 錄 的 使 用 者 名 稱 才 行 改 變 chown 的 用 途 還 滿 多 的, 他 還 可 以 順 便 直 接 修 改 群 組 的 名 稱 呢! 此 外, 如 果 要 連 目 錄 下 的 所 有 次 目 錄 或 檔 案 同 時 更 改 檔 案 擁 有 者 的 話, 直 接 加 上 -R 的 參 數 即 可! 我 們 來 看 看 語 法 與 範 例 : file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 [root@linux ~]# chown [-R] 帳 號 名 稱 檔 案 或 目 錄 [root@linux ~]# chown [-R] 帳 號 名 稱 : 群 組 名 稱 檔 案 或 目 錄 參 數 : -R : 進 行 遞 迴 ( recursive ) 的 持 續 變 更, 亦 即 連 同 次 目 錄 下 的 所 有 檔 案 目 錄 都 更 新 成 為 這 個 群 組 之 意 常 常 用 在 變 更 某 一 目 錄 的 情 況 範 例 : [root@linux ~]# chown bin install.log [root@linux ~]# ls -l -rw-r--r-- 1 bin users 68495 Jun 25 08:53 install [root@linux ~]# chown root:root install.log [root@linux ~]# ls -l -rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log 嗯! 知 道 如 何 改 變 檔 案 的 群 組 與 擁 有 者 了, 那 麼 什 麼 時 候 要 使 用 chown 或 chgrp 呢?! 或 許 您 會 覺 得 奇 怪 吧?! 是 的, 確 實 有 時 候 需 要 變 更 檔 案 的 擁 有 者 的, 最 常 見 的 例 子 就 是 在 copy 檔 案 給 你 之 外 的 其 他 人 時, 我 們 使 用 最 簡 單 的 cp 來 說 明 好 了 : [root@linux ~]# cp 來 源 檔 案 目 的 檔 案 假 設 您 今 天 要 將.bashrc 這 個 檔 案 拷 貝 成 為.bashrc_test, 且 是 要 給 bin 這 個 人, 您 可 以 這 樣 做 : [root@linux ~]# cp.bashrc.bashrc_test [root@linux ~]# ls -al.bashrc* -rw-r--r-- 1 root root 395 Jul 4 11:45.bashrc -rw-r--r-- 1 root root 395 Jul 13 11:31.bashrc_ 哇! 怎 麼 辦?.bashrc_test 還 是 屬 於 root 所 有, 如 此 一 來, 即 使 你 將 檔 案 拿 給 bin 這 個 使 用 者 了, 那 他 仍 然 無 法 修 改 的 ( 看 屬 性 就 知 道 了 吧! ), 所 以 你 就 必 須 要 將 這 個 檔 案 的 擁 有 者 與 群 組 修 改 一 下 囉! 知 道 如 何 修 改 了 吧!? 呵 呵! 改 變 九 個 屬 性, chmod 檔 案 屬 性 的 改 變 使 用 的 是 chmod 這 個 指 令, 但 是, 屬 性 的 設 定 方 法 有 兩 種, 分 別 可 以 使 用 數 字 或 者 是 符 號 來 進 行 屬 性 的 變 更 我 們 就 來 談 一 談 : 數 字 類 型 改 變 檔 案 權 限 Linux 檔 案 的 基 本 屬 性 就 有 九 個, 分 別 是 owner/group/others 組 別 的 read/write/execute 屬 性, 先 複 習 一 下 剛 剛 上 面 提 到 的 資 料 : -rwxrwxrwx 這 九 個 屬 性 是 三 個 三 個 一 組 的! 其 中, 我 們 可 以 使 用 數 字 來 代 表 各 個 屬 性, 各 屬 性 的 對 照 表 如 下 : r:4 w:2 x:1 file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 同 一 組 (owner/group/others) 的 三 個 屬 性 (r/w/x) 是 需 要 累 加 的, 例 如 當 屬 性 為 [-rwxrwx---] 則 是 : owner = rwx = 4+2+1 = 7 group = rwx = 4+2+1 = 7 others= --- = 0+0+0 = 0 所 以 等 一 下 我 們 設 定 屬 性 的 變 更 時, 該 屬 性 的 數 字 就 是 770 啦! 變 更 屬 性 的 指 令 chmod 的 語 法 是 這 樣 的 : [root@linux ~]# chmod [-R] xyz 檔 案 或 目 錄 參 數 : xyz : 就 是 剛 剛 提 到 的 數 字 類 型 的 權 限 屬 性, 為 rwx 屬 性 數 值 的 相 加 -R : 進 行 遞 迴 ( recursive ) 的 持 續 變 更, 亦 即 連 同 次 目 錄 下 的 所 有 檔 案 目 錄 都 更 新 成 為 這 個 群 組 之 意 常 常 用 在 變 更 某 一 目 錄 的 情 況 舉 例 來 說, 如 果 要 將.bashrc 這 個 檔 案 所 有 的 屬 性 都 打 開, 那 麼 就 下 達 : [root@linux ~]# ls -al.bashrc -rw-r--r-- 1 root root 395 Jul 4 11:45.bashrc [root@linux ~]# chmod 777.bashrc [root@linux ~]# ls -al.bashrc -rwxrwxrwx 1 root root 395 Jul 4 11:45.bashrc 看 到 了 嗎? 屬 性 改 變 了 喔! 由 於 一 個 檔 案 有 三 組 屬 性, 所 以 你 可 以 發 現 上 面 777 為 三 組, 而 由 於 我 們 將 所 有 的 屬 性 都 打 開, 所 以 數 字 都 相 加, 亦 即 r+w+x = 4+2+1 = 7 那 如 果 要 將 屬 性 變 成 -rwxr-xr-- 呢? 那 麼 就 成 為 [4+2+1][4+0+1][4+0+0]=754 囉! 所 以 你 需 要 下 達 chmod 754 filename 最 常 發 生 的 一 個 問 題 就 是, 常 常 我 們 以 vi 編 輯 字 檔 後, 他 的 屬 性 通 常 是 -rw-rw-rw- 也 就 是 666 的 屬 性, 如 果 要 將 他 變 成 可 執 行 檔, 並 且 不 要 讓 其 他 人 修 改 此 一 檔 案 的 話, 那 麼 就 需 要 -rwxr-xr-x 這 一 個 755 的 屬 性, 所 以 chmod 75 test.sh 就 需 要 這 樣 做 囉! 另 外, 有 些 檔 案 你 不 希 望 被 其 他 人 看 到, 例 如 -rwxr-----, 那 麼 就 下 達 chmod 740 fil 吧! 例 題 三 : 將 剛 剛 您 的.bashrc 這 個 檔 案 的 屬 性 改 回 原 來 的 -rw-r--r-- 答 : chmod 644.bashrc 符 號 類 型 改 變 檔 案 權 限 還 有 一 個 改 變 屬 性 的 方 法 呦! 從 之 前 的 介 紹 中 我 們 可 以 發 現, 基 本 上 就 九 個 屬 性 分 別 是 (1) user (2)group (3)others 三 群 啦! 那 麼 我 們 就 可 以 藉 由 u, g, o 來 代 表 三 群 的 屬 性! 此 外, a 則 代 表 all 亦 即 全 部 的 三 群! 那 麼 讀 寫 的 屬 性 就 可 以 寫 成 了 r, w, x 囉! 也 就 是 可 以 使 用 底 下 的 方 式 來 看 : file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 chmod u g o a +( 加 入 ) -( 除 去 ) =( 設 定 ) r w x 檔 案 或 目 錄 來 實 作 一 下 吧! 假 如 我 們 要 設 定 一 個 檔 案 的 屬 性 為 -rwxr-xr-x 時, 基 本 上 就 是 : user (u): 具 有 可 讀 可 寫 可 執 行 的 權 限 ; group 與 others (g/o): 具 有 可 讀 與 執 行 的 權 限 所 以 就 是 : [root@linux ~]# chmod u=rwx,go=rx.bashrc # 注 意 喔! 那 個 u=rwx,go=rx 是 連 在 一 起 的, 中 間 並 沒 有 任 何 空 白 字 元! [root@linux ~]# ls -al.bashrc -rwxr-xr-x 1 root root 395 Jul 4 11:45.bashr 請 注 意, u=rwx,og=rx 這 一 段 文 字 之 間 並 沒 有 空 白 字 元 隔 開 呦! 不 要 搞 錯 囉! 那 麼 假 如 是 -rwxr-xr--? 可 以 使 用 chmod u=rwx,g=rx,o=r filename 來 設 定 此 外, 如 果 我 不 知 道 原 先 的 檔 案 屬 性, 而 我 只 想 要 增 加.bashrc 這 個 檔 案 的 每 個 人 均 可 寫 入 的 權 限, 那 麼 我 就 可 以 使 用 : [root@linux ~]# ls -al.bashrc -rwxr-xr-x 1 root root 395 Jul 4 11:45.bashrc [root@linux ~]# chmod a+w.bashrc [root@linux ~]# ls -al.bashrc -rwxrwxrwx 1 root root 395 Jul 4 11:45.bashrc 而 如 果 是 要 將 屬 性 去 掉 而 不 更 動 其 他 的 屬 性 呢?! 例 如 要 拿 掉 所 有 人 的 x 的 屬 性, 則 : [root@linux ~]# chmod a-x.bashrc [root@linux ~]# ls -al.bashrc -rw-rw-rw- 1 root root 395 Jul 4 11:45.bashrc 知 道 +, -, = 的 不 同 點 了 嗎? 對 啦! + 與 的 狀 態 下, 只 要 是 沒 有 指 定 到 的 項 目, 則 該 屬 性 不 會 被 變 動, 例 如 上 面 的 例 子 中, 由 於 僅 以 拿 掉 x 則 其 他 兩 個 保 持 當 時 的 值 不 變! 呵 呵! 多 多 實 作 一 下, 你 就 會 知 道 如 何 改 變 屬 性 囉! 這 在 某 些 情 況 底 下 很 好 用 的 ~ 舉 例 來 說, 您 想 要 教 一 個 朋 友 如 何 讓 一 個 程 式 可 以 擁 有 執 行 的 權 限, 但 您 又 不 知 道 該 檔 案 原 本 的 權 限 為 何, 此 時, 利 用 chmod a+x filename, 就 可 以 讓 該 程 式 擁 有 執 行 的 權 限 了 是 否 很 方 便? 目 錄 屬 性 的 意 義 : 剛 剛 上 面 我 們 提 到 的 屬 性 幾 乎 都 是 針 對 一 般 檔 案 的 特 性 在 說 明, 那 麼 如 果 是 針 對 目 錄 時, 那 個 r, w, x 對 目 錄 是 什 麼 意 義 呢? 簡 單 的 說 : file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 r (read contents in directory): 表 示 具 有 讀 取 目 錄 結 構 清 單 的 權 限, 所 以 當 您 具 有 讀 取 (r) 一 個 目 錄 的 權 限 時, 您 就 可 以 利 用 ls 這 個 指 令 將 該 目 錄 的 內 容 列 表 顯 示 出 來! w (modify contents of directory): 這 個 可 寫 入 的 權 限 對 目 錄 來 說, 是 很 了 不 起 的! 因 為 他 表 示 您 將 具 有 異 動 該 目 錄 結 構 清 單 的 權 限, 也 就 是 底 下 這 些 權 限 : 建 立 新 的 檔 案 與 目 錄 ; 刪 除 已 經 存 在 的 檔 案 與 目 錄 ( 不 論 該 檔 案 是 屬 於 誰 的!) 將 已 存 在 的 檔 案 或 目 錄 進 行 更 名 ; 搬 移 該 目 錄 內 的 檔 案 目 錄 位 置 所 以 說, 如 果 您 是 一 般 身 份 使 用 者, 例 如 鳥 哥 的 帳 號 dmtsai, 那 麼 在 /home/dmtsai 這 個 家 目 錄 內, 無 論 是 誰 ( 包 括 root) 建 立 的 檔 案, 無 論 該 檔 案 屬 於 誰, 無 論 該 檔 案 的 屬 性 是 什 麼, dmtsai 這 個 使 用 者 都 有 權 力 將 該 檔 案 刪 除 的 喔! x (access directory): 這 個 在 上 頭 我 們 已 經 稍 微 提 過 了, 這 個 x 與 能 否 進 入 該 目 錄 有 關 呢! 好 了, 那 麼 我 們 來 簡 單 的 做 個 測 試 看 看, 底 下 可 能 會 有 很 多 您 沒 有 見 過 的 指 令, 不 要 擔 心, 先 照 著 作 看 看, 等 到 未 來 提 到 該 指 令 時, 您 自 然 就 會 瞭 解 了 [root@linux ~]# cd /tmp [root@linux tmp]# mkdir testing [root@linux tmp]# chmod 744 testing [root@linux tmp]# touch testing/testing [root@linux tmp]# chmod 600 testing/testing # 這 個 mkdir 是 在 建 立 目 錄 用 的 指 令! 是 make directory 的 縮 寫 # 我 們 用 root 的 身 份 在 /tmp 底 下 建 立 一 個 名 為 testing 的 目 錄, # 並 且 將 該 目 錄 的 權 限 變 為 744, 該 目 錄 的 擁 有 者 為 root 喔! # 另 外, touch 可 以 用 來 建 立 一 個 沒 有 內 容 的 檔 案, 因 此, touch testing/testing # 可 以 建 立 一 個 空 的 /tmp/testing/testing 檔 案 喔! [root@linux tmp]# ls -al drwxr--r-- 2 root root 4096 Jul 14 01:05 testing # 仔 細 看 一 下, 目 錄 的 權 限 是 744, 且 所 屬 群 組 與 使 用 者 均 是 root 喔! # 接 下 來, 我 們 將 root 的 身 份 切 換 成 為 一 般 身 份 使 用 者 # 鳥 哥 的 系 統 裡 面 有 個 dmtsai 的 一 般 身 份 使 用 者 帳 號, 所 以 切 換 身 份 成 為 dmtsai [root@linux tmp]# su dmtsai # 那 個 su 的 指 令 是 用 來 變 換 身 份 的 一 個 指 令, 我 們 未 來 會 詳 細 介 紹 # 注 意 看, 底 下 這 一 行 中, 發 現 使 用 者 變 為 dmtsai 了, 而 且 提 示 字 元 變 成 $ 了! # 也 就 是 說, 現 在 操 作 系 統 的 人 變 成 dmtsai 了! 那 麼 dmtsai 這 個 人 對 於 # /tmp/testing 是 屬 於 others 的 權 限, 那 他 可 以 對 /tmp/testing 幹 嘛? [dmtsai@linux tmp]$ ls -l testing <== 此 時 身 份 為 dmtsai total 0?---------????? testing # 可 以 查 閱 裡 面 的 資 訊 喔! 因 為 dmtsai 具 有 r 的 權 限, 不 過, 畢 竟 權 限 不 夠, # 很 多 資 料 竟 然 是 問 號 (?) 來 的 ~ 怪 怪 的 緊 ~ [dmtsai@linux tmp]$ cd testing <== 此 時 身 份 為 dmtsai bash: cd: testing/: Permission denied # 發 現 了 嗎? 即 使 我 們 具 有 r 的 權 限, 但 是 沒 有 x, 所 以 # dmtsai 無 法 進 入 /tmp/testing 喔! [dmtsai@linux tmp]$ exit [root@linux tmp]# chown dmtsai testing # 使 用 exit 就 可 以 離 開 su 的 功 能 了 我 們 將 這 個 testing 目 錄 的 擁 有 者 設 定 為 # dmtsai, 此 時 dmtsai 就 成 為 owner 了, 那 麼 這 個 使 用 者 又 能 幹 麻 呢? file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 [root@linux tmp]# su dmtsai [dmtsai@linux tmp]$ cd testing <== 此 時 身 份 為 dmtsai [dmtsai@linux testing]$ ls -l <== 此 時 身 份 為 dmtsai -rw------- 1 root root 0 Jul 14 01:13 testing # 再 切 換 身 份 成 為 dmtsai, 此 時 就 能 夠 進 入 testing 了! 查 閱 一 下 內 容 # 發 現 了 testing 這 個 檔 案 存 在 喔! 權 限 是 只 有 root 才 能 夠 存 取 ~ # 那 我 們 測 試 一 下 能 否 刪 除 呢? [dmtsai@linux testing]$ rm testing <== 此 時 身 份 為 dmtsai rm: remove write-protected regular empty file `test # 竟 然 可 以 刪 除! 這 樣 理 解 了 嗎?! 透 過 上 面 這 個 簡 單 的 步 驟, 您 就 可 以 清 楚 的 知 道, x 在 目 錄 當 中 是 與 能 否 進 入 該 目 錄 有 關, 至 於 那 個 w 則 具 有 相 當 重 要 的 權 限, 因 為 他 可 以 讓 使 用 者 刪 除 更 新 新 建 檔 案 或 目 錄, 是 個 很 重 要 的 參 數 啊! 這 樣 可 以 理 解 了 嗎?! ^_^ Linux 檔 案 種 類 與 附 檔 名 我 們 在 學 習 Linux 之 前, 就 跟 大 家 灌 輸 過 一 個 概 念, 那 就 是, 任 何 裝 置 在 Linux 底 下 都 是 檔 案, 不 僅 如 此, 連 資 料 溝 通 的 介 面 也 有 專 屬 的 檔 案 在 負 責 ~ 所 以, 您 會 瞭 解 到, Linux 的 檔 案 種 類 真 的 很 多 ~ 除 了 前 面 提 到 的 那 個 -, d 亦 即 所 謂 的 一 般 檔 案 與 目 錄 檔 案 之 外, 還 有 哪 些 種 類 的 檔 案 呢? 檔 案 種 類 : 我 們 在 剛 剛 的 屬 性 介 紹 中 提 到 了 最 前 面 的 標 誌 ( d 或 - ) 可 以 代 表 目 錄 或 檔 案, 那 就 是 不 同 的 檔 案 種 類 啦!Linux 的 檔 案 種 類 主 要 有 底 下 這 幾 種 : 正 規 檔 案 (regular file ): 就 是 一 般 我 們 在 進 行 存 取 的 類 型 的 檔 案, 在 由 ls al 所 顯 示 出 來 的 屬 性 方 面, 第 一 個 屬 性 為 [ - ], 例 如 [-rwxrwxrwx ] 另 外, 依 照 檔 案 的 內 容, 又 大 略 可 以 分 為 : 純 文 字 檔 (ASCII): 這 是 Unix 系 統 中 最 多 的 一 種 檔 案 類 型 囉, 稱 為 純 文 字 檔 是 因 為 內 容 為 我 們 人 類 可 以 直 接 讀 到 的 資 料, 例 如 數 字 字 母 等 等 幾 乎 只 要 我 們 可 以 用 來 做 為 設 定 的 檔 案 都 屬 於 這 一 種 檔 案 類 型 舉 例 來 說, 您 可 以 下 達 cat ~/. bashrc 就 可 以 看 到 該 檔 案 的 內 容 (cat 是 將 一 個 檔 案 內 容 讀 出 來 的 指 令 ) 二 進 位 檔 (binary): 還 記 得 我 們 在 Linux 是 什 麼 那 一 章 裡 面 的 GNU 發 展 史 中 提 過, 我 們 的 系 統 其 實 僅 認 識 且 可 以 執 行 二 進 位 檔 案 (binary file) 吧? 沒 錯 ~ 您 的 Linux 當 中 的 可 執 行 檔 (scripts, 文 字 型 批 次 檔 不 算 ) 就 是 這 種 格 式 的 啦 ~ 舉 例 來 說, 剛 剛 下 達 的 指 令 cat 就 是 一 個 binary file 資 料 格 式 檔 (data): 有 些 程 式 在 運 作 的 過 程 當 中 會 讀 取 某 些 特 定 格 式 的 檔 案, 那 些 特 定 格 式 的 檔 案 可 以 被 稱 為 資 料 檔 (data file) 舉 例 來 說, 我 們 的 Linux 在 使 用 者 登 入 時, 都 會 將 登 錄 的 資 料 記 錄 在 /var/log/wtmp 那 個 檔 案 內, 該 檔 案 是 一 個 data file, 他 能 夠 透 過 last 這 個 指 令 讀 出 來! 但 是 使 用 cat 時, 會 讀 出 亂 碼 ~ 因 為 他 是 屬 於 一 種 特 殊 格 式 的 檔 案 瞭 乎? 目 錄 (directory): 就 是 目 錄 囉 ~ 第 一 個 屬 性 為 [ d ], 例 如 [drwxrwxrwx] 連 結 檔 (link): 就 是 類 似 Windows 底 下 的 捷 徑 啦! 第 一 個 屬 性 為 [ l ], 例 如 [lrwxrwxrwx] ; file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 設 備 與 裝 置 檔 (device): 與 系 統 周 邊 及 儲 存 等 相 關 的 一 些 檔 案, 通 常 都 集 中 在 /dev 這 個 目 錄 之 下! 通 常 又 分 為 兩 種 : 區 塊 (block) 設 備 檔 : 就 是 一 些 儲 存 資 料, 以 提 供 系 統 存 取 的 周 邊 設 備, 簡 單 的 說 就 是 硬 碟 啦! 例 如 你 的 一 號 硬 碟 的 代 碼 是 /dev/hda1 等 等 的 檔 案 啦! 第 一 個 屬 性 為 [ b ]; 字 元 (character) 設 備 檔 : 亦 即 是 一 些 序 列 埠 的 周 邊 設 備, 例 如 鍵 盤 滑 鼠 等 等! 第 一 個 屬 性 為 [ c ] 資 料 接 口 檔 (sockets): 既 然 被 稱 為 資 料 接 口 檔, 想 當 然 爾, 這 種 類 型 的 檔 案 通 常 被 用 在 網 路 上 的 資 料 承 接 了 我 們 可 以 啟 動 一 個 程 式 來 監 聽 用 戶 端 的 要 求, 而 用 戶 端 就 可 以 透 過 這 個 socket 來 進 行 資 料 的 溝 通 了 第 一 個 屬 性 為 [ s ], 最 常 在 /var/run 這 個 目 錄 中 看 到 這 種 檔 案 類 型 了 資 料 輸 送 檔 (FIFO, pipe): FIFO 也 是 一 種 特 殊 的 檔 案 類 型, 他 主 要 的 目 的 在 解 決 多 個 程 序 同 時 存 取 一 個 檔 案 所 造 成 的 錯 誤 問 題 FIFO 是 first-in-first-out 的 縮 寫 第 一 個 屬 性 為 [p] 那 麼 使 用 剛 剛 的 ls -al 這 個 指 令, 你 就 可 以 簡 單 的 經 由 判 斷 每 一 個 檔 案 的 第 一 個 屬 性 來 瞭 解 這 個 檔 案 是 何 種 類 型! 很 簡 單 吧! 除 了 設 備 檔 是 我 們 系 統 中 很 重 要 的 檔 案, 最 好 不 要 隨 意 修 改 之 外 ( 通 常 他 也 不 會 讓 你 修 改 的 啦!), 另 一 個 比 較 有 趣 的 檔 案 就 是 連 結 檔 如 果 你 常 常 將 應 用 程 式 捉 到 桌 面 來 的 話, 你 就 應 該 知 道 在 Windows 底 下 有 所 謂 的 捷 徑 同 樣 的, 你 可 以 將 linux 下 的 連 結 檔 簡 單 的 視 為 一 個 檔 案 或 目 錄 的 捷 徑 至 於 socket 與 FIFO 檔 案 比 較 難 理 解, 因 為 這 兩 個 咚 咚 與 程 序 (process) 比 較 有 關 係, 這 個 等 到 未 來 您 瞭 解 process 之 後, 再 回 來 查 閱 吧! 此 外, 也 可 以 透 過 man fifo 及 man socket 來 查 閱 系 統 上 的 說 明! Linux 檔 案 附 檔 名 : 基 本 上, Linux 的 檔 案 是 沒 有 所 謂 的 附 檔 名 的, 因 為 由 前 面 的 說 明 我 們 可 以 知 道, 一 個 Linux 檔 案 能 不 能 被 執 行, 與 他 的 第 一 欄 的 十 個 屬 性 有 關, 與 檔 名 根 本 一 點 關 係 也 沒 有 這 個 觀 念 跟 Windows 的 情 況 不 相 同 喔! 在 Windows 底 下, 能 被 執 行 的 檔 案 附 檔 名 通 常 是.com.exe.bat 等 等, 而 在 Linux 底 下, 只 要 你 的 屬 性 當 中 有 x 的 話, 例 如 [ -rwx-r-xr-x ] 即 代 表 這 個 檔 案 可 以 被 執 行 喔! 不 過, 可 以 被 執 行 跟 可 以 執 行 成 功 是 不 一 樣 的 ~ 舉 例 來 說, 在 root 家 目 錄 下 的 install.log 是 一 個 純 文 字 檔, 如 果 經 由 修 改 權 限 成 為 -rwxrwxrwx 後, 這 個 檔 案 能 夠 被 執 行 嗎? 當 然 不 行 ~ 因 為 他 的 內 容 根 本 就 沒 有 可 以 執 行 的 資 料 所 以 說, 這 個 x 代 表 這 個 檔 案 具 有 可 執 行 的 能 力, 但 是 能 不 能 執 行 成 功, 當 然 就 得 要 看 該 檔 案 的 內 容 囉 ~ 雖 然 附 檔 名 沒 有 什 麼 真 的 幫 助, 不 過, 由 於 我 們 仍 然 希 望 可 以 藉 由 附 檔 名 來 瞭 解 該 檔 案 是 什 麼 東 西?! 所 以, 通 常 我 們 還 是 會 以 適 當 的 附 檔 名 來 表 示 該 檔 案 是 什 麼 種 類 的 底 下 有 數 種 常 用 的 附 檔 名 : *.sh : 批 次 檔 ( scripts ), 因 為 批 次 檔 為 使 用 shell 寫 成 的, 所 以 附 檔 名 就 編 成.sh 囉 ; *Z, *.tar, *.tar.gz, *.zip, *.tgz: 經 過 打 包 的 壓 縮 檔 這 是 因 為 壓 縮 軟 體 分 別 為 gunzip, tar 等 等 的, 由 於 不 同 的 壓 縮 軟 體, 而 取 其 相 關 的 附 檔 名 囉! *.html, *.php: 網 頁 相 關 檔 案, 分 別 代 表 HTML 語 法 與 PHP 語 法 的 網 頁 檔 案 囉!.html 的 檔 案 可 使 用 網 頁 瀏 覽 器 來 直 接 開 啟, 至 於.php 的 檔 案, 則 可 以 透 過 client 端 的 瀏 覽 器 來 server 端 瀏 覽, 以 得 到 運 算 後 的 網 頁 結 果 呢! file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 另 外, 還 有 程 式 語 言 如 perl 的 檔 案, 其 附 檔 名 也 可 能 取 成.pl 這 種 檔 名! 基 本 上, Linux 上 面 的 檔 名 真 的 只 是 讓 你 瞭 解 該 檔 案 可 能 的 用 途 而 已, 真 正 的 執 行 與 否 仍 然 需 要 屬 性 的 規 範 才 行! 例 如 雖 然 有 一 個 檔 案 為 可 執 行 檔, 如 有 名 的 代 理 伺 服 器 軟 體 squid, 不 過, 如 果 這 個 檔 案 的 屬 性 被 修 改 成 無 法 執 行 時, 那 麼 他 就 變 成 不 能 執 行 囉! 這 種 問 題 最 常 發 生 在 檔 案 傳 送 的 過 程 中 例 如 你 在 網 路 上 下 載 一 個 可 執 行 檔, 但 是 偏 偏 在 你 的 Linux 系 統 中 就 是 無 法 執 行! 呵 呵! 那 麼 就 是 可 能 檔 案 的 屬 性 被 改 變 了! 不 要 懷 疑, 從 網 路 上 傳 送 到 你 的 Linux 系 統 中, 檔 案 的 屬 性 確 實 是 會 被 改 變 的 喔! 再 提 個 另 外! 在 Linux 底 下, 每 一 個 檔 案 或 目 錄 的 檔 名 最 長 可 以 到 達 255 的 字 元, 加 上 完 整 路 徑 時, 最 長 可 達 4096 個 字 元, 是 相 當 長 的 檔 名 喔! 我 們 希 望 Linux 的 檔 案 名 稱 可 以 一 看 就 知 道 該 檔 案 在 幹 嘛 的, 所 以 檔 名 通 常 是 很 長 很 長! 而 用 慣 了 Windows 的 人 可 能 會 受 不 了, 因 為 檔 案 名 稱 通 常 真 的 都 很 長, 對 於 用 慣 Windows 而 導 致 打 字 速 度 不 快 的 朋 友 來 說, 嗯! 真 的 是 很 困 擾... 不 過, 只 得 勸 您 好 好 的 加 強 打 字 的 訓 練 囉! 而 由 前 面 一 章 的 熱 鍵 您 也 會 知 道, 其 實 可 以 透 過 [tab] 按 鍵 來 確 認 檔 案 的 檔 名 的! 這 很 好 用 啊! 當 然 啦, 如 果 您 已 經 讀 完 了 本 書 第 三 篇 關 於 BASH 的 用 法, 那 麼 您 將 會 發 現 哇! 變 數 真 是 一 個 相 當 好 用 的 東 西 吶! 嗯! 看 不 懂, 沒 關 係, 到 第 三 篇 談 到 bash 再 說! Linux 檔 案 名 稱 的 限 制 : 由 於 Linux 在 文 字 介 面 下 的 一 些 指 令 操 作 關 係, 一 般 來 說, 您 在 設 定 Linux 底 下 的 檔 案 名 稱 時, 最 好 可 以 避 免 一 些 特 殊 字 元 比 較 好! 例 如 底 下 這 些 : *? > < ; &! [ ] \ ' " ` ( ) { } 因 為 這 些 符 號 在 文 字 介 面 下, 是 有 特 殊 意 義 的! 另 外, 檔 案 名 稱 的 開 頭 為 小 數 點. 時, 代 表 這 個 檔 案 為 隱 藏 檔 喔! 同 時, 由 於 指 令 下 達 當 中, 常 常 會 使 用 到 -option 之 類 的 參 數, 所 以 您 最 好 也 避 免 將 檔 案 檔 名 的 開 頭 以 - 或 + 來 命 名 啊! Linux 目 錄 配 置 在 瞭 解 了 每 個 檔 案 的 相 關 種 類 與 屬 性, 以 及 瞭 解 了 如 何 更 改 檔 案 屬 性 的 相 關 資 訊 後, 再 來 要 瞭 解 的 就 是, 為 什 麼 每 套 Linux distributions 他 們 的 設 定 檔 啊 執 行 檔 啊 每 個 目 錄 內 放 置 的 咚 咚 啊, 其 實 都 差 不 多? 原 來 是 有 一 套 標 準 依 據 的 哩! 我 們 底 下 就 來 瞧 一 瞧 Linux 目 錄 配 置 的 依 據 FHS 因 為 Linux 的 開 發 者 實 在 太 多 了, 如 果 每 個 人 都 發 展 出 屬 於 自 己 的 目 錄 配 置 方 法, 那 麼 將 可 能 會 造 成 很 多 管 理 上 的 困 擾 您 能 想 像, 您 進 入 一 個 企 業 之 後, 所 接 觸 到 的 Linux 目 錄 配 置 方 法 竟 然 跟 您 以 前 學 的 完 全 不 同 嗎?! 很 難 想 像 吧 ~ 所 以, 後 來 就 有 所 謂 的 Filesystem Hierarchy Standard (FHS) 標 準 的 出 爐 了! 這 個 FHS ( http://www.pathname.com/fhs/ ) 事 實 上 僅 是 規 範 出 在 根 目 錄 ( / ) 底 下 各 個 主 要 的 目 錄 應 該 是 要 放 置 什 麼 樣 的 檔 案 而 已 FHS 定 義 出 兩 層 規 範 出 來, 第 一 層 是 / 底 下 的 各 個 目 錄 應 該 要 放 置 什 麼 樣 內 容 的 檔 案 資 料, 例 如 /etc 應 該 要 放 置 設 定 檔, /bin 與 /sbin 則 應 該 要 放 置 可 執 行 檔 等 等 第 二 層 則 是 針 對 /usr 及 /var 這 兩 個 目 錄 的 次 目 錄 來 定 義 的 例 如 /var/log 放 置 系 統 登 錄 檔 /usr/share 放 置 共 享 資 料 等 等 file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 由 於 FHS 僅 是 定 義 出 最 上 層 (/) 及 次 層 (/usr, /var) 的 目 錄 內 容 應 該 要 放 置 的 檔 案 資 料, 因 此, 在 其 他 個 次 目 錄 層 級 內, 就 可 以 隨 開 發 者 自 行 來 配 置 了 舉 例 來 說, FC4 的 網 路 設 定 資 料 放 在 /etc/ sysconfig/network-script/ 目 錄 下, 但 是 SuSE Server 9 則 是 將 網 路 放 置 在 /etc/sysconfig/network/ 目 錄 下, 目 錄 名 稱 可 是 不 同 的 呢! 另 外, 在 Linux 底 下, 所 有 的 檔 案 與 目 錄 都 是 由 根 目 錄 / 開 始 的! 那 是 所 有 目 錄 與 檔 案 的 源 頭 ~ 然 後 再 一 個 一 個 的 分 支 下 來, 有 點 像 是 樹 枝 狀 啊 ~ 因 此, 我 們 也 稱 這 種 目 錄 配 置 方 式 為 : 目 錄 樹 (directory tree) 這 個 目 錄 樹 有 什 麼 特 性 呢? 他 主 要 的 特 性 有 : 目 錄 樹 的 啟 始 點 為 根 目 錄 (/, root); 每 一 個 目 錄 不 止 能 使 用 本 地 端 的 partition 的 檔 案 系 統, 也 可 以 使 用 網 路 上 的 filesystem 舉 例 來 說, 可 以 利 用 Network File System (NFS) 伺 服 器 掛 載 某 特 定 目 錄 等 每 一 個 檔 案 在 此 目 錄 樹 中 的 檔 名 ( 包 含 完 整 路 徑 ) 都 是 獨 一 無 二 的 此 外, 根 據 檔 名 寫 法 的 不 同, 也 可 將 所 謂 的 路 徑 (path) 定 義 為 絕 對 路 徑 (absolute) 與 相 對 路 徑 (relative) 絕 對 路 徑 為 : 由 根 目 錄 (/) 開 始 寫 起 的 檔 名 或 目 錄 名 稱, 例 如 /home/dmtsai/.bashrc; 相 對 路 徑 為 相 對 於 目 前 路 徑 的 檔 名 寫 法 例 如./home/dmtsai 或../../home/dmtsai/ 等 等 反 正 開 頭 不 是 / 就 屬 於 相 對 路 徑 的 寫 法, 而 您 必 須 要 瞭 解, 相 對 路 徑 是 以 您 當 前 所 在 路 徑 的 相 對 位 置 來 表 示 的 舉 例 來 說, 您 目 前 在 /home 這 個 目 錄 下, 如 果 想 要 進 入 /var/log 這 個 目 錄 時, 可 以 怎 麼 寫 呢? cd /var/log (absolute) cd../var/log (relative) 因 為 您 在 /home 底 下, 所 以 要 回 到 上 一 層 (../) 之 後, 才 能 繼 續 往 /var 來 移 動 的! 特 別 注 意 這 兩 個 特 殊 的 目 錄 :. : 代 表 當 前 的 目 錄, 也 可 以 使 用./ 來 表 示 ;.. : 代 表 上 一 層 目 錄, 也 可 以../ 來 代 表 這 個. 與.. 目 錄 概 念 是 很 重 要 的, 您 常 常 會 看 到 cd.. 或./command 之 類 的 指 令 下 達 方 式, 就 是 代 表 上 一 層 與 目 前 所 在 目 錄 的 工 作 狀 態 喔! 很 重 要 的 吶! 此 外, 針 對 檔 名 與 完 整 檔 名 ( 由 / 開 始 寫 起 的 檔 名 ) 的 字 元 限 制 大 小 為 : 單 一 檔 案 或 目 錄 的 最 大 容 許 檔 名 為 255 個 字 元 ; 包 含 完 整 路 徑 名 稱 及 目 錄 (/) 之 完 整 檔 名 為 4096 個 字 元 我 們 知 道 /var/log/ 底 下 有 個 檔 案 名 為 message, 這 個 message 檔 案 的 最 大 的 檔 名 可 達 255 個 字 元 var 與 log 這 兩 個 上 層 目 錄 最 長 也 分 別 可 達 255 個 字 元 但 總 的 來 說, 由 /var/log/messages 這 樣 完 整 檔 名 最 長 則 可 達 4096 個 字 元 這 樣 可 以 理 解 了 吧!? ^_^ Tips: 這 個 root 在 Linux 裡 面 的 意 義 真 的 很 多 很 多 ~ 多 到 讓 人 搞 不 懂 那 是 啥 玩 意 兒 如 果 以 帳 號 的 角 度 來 看, 所 謂 的 root 指 的 是 系 統 管 理 員! 的 身 份, 如 果 以 目 錄 的 角 度 來 看, 所 謂 的 root 意 即 指 的 是 根 目 錄, 就 是 / 啦 ~ 要 特 別 留 意 喔! file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 目 錄 配 置 的 內 容 從 前 一 小 節 的 說 明, 您 可 以 瞭 解 的 是, FHS 定 義 出 兩 層 目 錄 內 的 規 範, 那 麼 如 果 您 來 到 根 目 錄 查 閱 目 錄 資 料, 會 顯 示 什 麼 呢? [root@linux ~]# ls -l / drwxr-xr-x 2 root root 4096 Jul 14 05:22 bin drwxr-xr-x 3 root root 4096 Jul 9 05:18 boot drwxr-xr-x 9 root root 4880 Jul 11 00:45 dev drwxr-xr-x 6 root root 4096 Jun 29 01:06 disk1 drwxr-xr-x 3 root root 4096 Jun 25 08:53 disk2 drwxr-xr-x 83 root root 12288 Jul 14 05:23 etc drwxr-xr-x 6 root root 4096 May 30 20:07 home drwxr-xr-x 10 root root 4096 Jul 14 05:23 lib drwx------ 2 root root 16384 Jun 25 16:21 lost+fo drwxr-xr-x 3 root root 4096 Jun 25 19:34 media drwxr-xr-x 2 root root 4096 Apr 25 23:54 misc drwxr-xr-x 2 root root 4096 May 23 12:28 mnt drwxr-xr-x 2 root root 4096 May 23 12:28 opt dr-xr-xr-x 59 root root 0 Jul 10 01:25 proc drwx------ 9 root root 4096 Jul 13 11:31 root drwxr-xr-x 2 root root 4096 Jul 14 05:22 sbin drwxr-xr-x 2 root root 4096 Jun 25 08:23 selinux drwxr-xr-x 2 root root 4096 May 23 12:28 srv drwxr-xr-x 10 root root 0 Jul 10 01:25 sys drwxr-xr-x 10 root root 4096 Jun 25 20:24 system drwxrwxrwt 10 root root 4096 Jul 14 05:23 tmp drwxr-xr-x 14 root root 4096 Jun 25 08:27 usr drwxr-xr-x 24 root root 4096 Jun 25 20:16 var 從 屬 性 的 角 度 來 看, 上 面 的 檔 名 每 個 都 是 目 錄 名 稱, 較 為 特 殊 的 是 root, 由 於 root 這 個 目 錄 是 管 理 員 root 的 家 目 錄, 這 個 家 目 錄 可 重 要 了! 所 以 一 定 要 設 定 成 較 為 嚴 密 的 700 ( rwx------ ) 這 個 屬 性 才 行 吶! 如 果 以 較 為 完 整 的 樹 狀 目 錄 來 視 察 的 話, 可 以 將 整 個 Linux 的 樹 狀 目 錄 繪 製 成 下 圖 : file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 圖 四 根 據 FHS 定 義 的 各 層 目 錄 相 關 性 請 注 意, 每 個 目 錄 都 是 依 附 在 / 這 個 根 目 錄 底 下 的, 所 以 我 們 在 安 裝 的 時 候 一 定 要 有 一 個 / 對 應 的 partition 才 能 安 裝 的 原 因 即 在 於 此! 這 也 就 是 我 們 俗 稱 的 樹 狀 目 錄 囉! 而 根 據 FHS 定 義 出 來 的 每 個 目 錄 內 應 該 放 置 的 檔 案 內 容 為 : / 目 錄 應 放 置 檔 案 內 容 根 目 錄 root (/), 一 般 建 議 在 根 目 錄 底 下 只 接 目 錄, 不 要 直 接 有 檔 案 在 / 底 下 根 目 錄 是 開 機 的 時 候 系 統 第 一 個 掛 載 的 partition, 所 以, 所 有 開 機 過 程 會 用 到 的 檔 案, 應 該 都 要 放 置 在 這 個 partition 當 中 舉 例 來 說, /etc, /bin, /dev, /lib, / sbin 這 五 個 次 目 錄 都 應 該 要 與 根 目 錄 連 在 一 起, 不 可 獨 立 成 為 某 個 partition 呢! file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 /bin, /usr/bin, /usr/local/bin /boot /dev 除 了 /bin 之 外, /usr/local/bin, /usr/bin 也 是 放 置 使 用 者 可 執 行 的 binary file 的 目 錄 喔! 舉 例 來 說, ls, mv, rm, mkdir, rmdir, gzip, tar, cat, cp, mount 等 等 重 要 指 令 都 放 在 這 個 目 錄 當 中 這 個 目 錄 主 要 的 目 的 是 放 置 Linux 系 統 開 機 會 用 到 的 檔 案 開 機 會 用 到 什 麼 呢? 沒 錯 ~ 就 是 Linux 的 核 心 檔 案 這 個 目 錄 底 下 檔 名 為 vmlinuz 的 就 是 Linux 的 Kernel 啦! 粉 重 要 的 東 西! 而 如 果 你 的 開 機 管 理 程 式 (loader) 選 擇 grub 的 話, 那 麼 這 個 目 錄 內 還 有 /boot/grub 這 個 次 目 錄 呦! 在 Linux 系 統 上, 任 何 裝 置 與 周 邊 設 備 都 是 以 檔 案 的 型 態 存 在 於 這 個 目 錄 當 中 的 您 只 要 透 過 存 取 這 個 目 錄 底 下 的 某 個 檔 案, 就 等 於 存 取 某 個 裝 置 囉 ~ 主 要 又 分 為 周 邊 設 備 (character device), 例 如 鍵 盤 滑 鼠 等 ; 以 及 儲 存 設 備 (block device), 例 如 硬 碟 光 碟 等 等 在 此 目 錄 下 的 檔 案 會 多 出 兩 個 屬 性, 分 別 是 major device number, 與 minor device number 我 們 的 系 統 核 心 就 是 透 過 這 兩 個 number 來 判 斷 裝 置 的 呢! 比 要 重 要 的 檔 案 有 /dev/null, /dev/tty[1-6], /dev/ ttys*, /dev/lp*, /dev/hd*, /dev/sd* 等 等 系 統 主 要 的 設 定 檔 幾 乎 都 放 置 在 這 個 目 錄 內, 例 如 人 員 的 帳 號 密 碼 檔 各 種 服 務 的 啟 始 檔 等 等 一 般 來 說, 這 個 目 錄 下 的 各 檔 案 屬 性 是 可 以 讓 一 般 使 用 者 查 閱 的, 但 是 只 有 root 有 權 力 修 改 並 且 在 此 目 錄 下 的 檔 案 幾 乎 都 是 ASCII 的 純 文 字 檔 案 哩 不 過, FHS 建 議 不 要 放 置 可 執 行 檔 在 這 個 目 錄 中 喔 比 較 重 要 的 檔 案 有 : /etc/inittab, /etc/init.d/, /etc/modprobe.conf, /etc/x11, /etc/fstab, /etc/ sysconfig/ 等 等 另 外, 其 下 重 要 的 目 錄 有 : /etc /etc/init.d/: 所 有 服 務 的 預 設 啟 動 script 都 是 放 在 這 裡 的, 例 如 要 啟 動 或 者 關 閉 iptables 的 話 : /etc/init.d/iptables start /etc/init.d/iptables stop /etc/xinetd.d/: 這 就 是 所 謂 的 super daemon 管 理 的 各 項 服 務 的 設 定 檔 目 錄 /etc/x11: 與 X Window 有 關 的 各 種 設 定 檔 都 在 這 裡, 尤 其 是 xorg.conf 或 XF86Config 這 兩 個 X Server 的 設 定 檔 /home /lib, /usr/lib, /usr/local/lib /lost+found /mnt /media 這 是 系 統 預 設 的 使 用 者 家 目 錄 (home directory) 在 你 新 增 一 個 一 般 使 用 者 帳 號 時, 預 設 的 使 用 者 家 目 錄 都 會 規 範 到 這 裡 來 比 較 重 要 的 是, 家 目 錄 有 兩 種 代 號 喔 : ~: 代 表 目 前 這 個 使 用 者 的 家 目 錄, 而 ~dmtsai : 則 代 表 dmtsai 的 家 目 錄! 系 統 會 使 用 到 的 函 式 庫 放 置 的 目 錄 程 式 在 運 作 的 過 程 中, 可 能 會 呼 叫 一 些 額 外 的 功 能 參 數, 那 需 要 函 式 庫 的 協 助! 這 些 函 式 庫 就 放 在 此 處 比 較 重 要 的 是 /lib/modules 這 個 目 錄 內 會 擺 放 kernel 的 相 關 模 組 喔! 系 統 不 正 常 產 生 錯 誤 時, 會 將 一 些 遺 失 的 片 段 放 置 於 此 目 錄 下, 通 常 這 個 目 錄 會 自 動 出 現 在 某 個 partition 最 頂 層 的 目 錄 下 例 如 你 加 裝 一 棵 硬 碟 於 /disk 中, 那 在 這 個 目 錄 下 就 會 自 動 產 生 一 個 這 樣 的 目 錄 /disk/lost+found 這 是 軟 碟 與 光 碟 預 設 掛 載 點 的 地 方 ; 通 常 軟 碟 掛 在 /mnt/floppy 下, 而 光 碟 掛 在 /mnt/cdrom 下, 不 過 也 不 一 定 啦! 只 要 你 高 興, 隨 便 找 一 個 地 方 來 掛 載 也 可 以 呀! 另 外, 目 前 也 規 劃 出 另 一 個 /media 的 目 錄 呢! 與 /mnt 有 點 類 似 啦 ~ file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 /opt /proc /root /sbin, /usr/sbin, /usr/local/sbin /srv /tmp /usr 這 是 給 主 機 額 外 安 裝 軟 體 所 擺 放 的 目 錄 舉 例 來 說, FC4 使 用 的 是 Fedora 社 群 開 發 的 軟 體, 如 果 您 今 天 想 要 自 行 安 裝 新 的 KDE 桌 面 軟 體 的 話, 可 以 將 該 軟 體 安 裝 在 這 個 目 錄 下 的 意 思 不 過, 以 前 的 Linux 系 統 中, 我 們 還 是 習 慣 放 置 在 /usr/local 目 錄 下 呢! 這 個 目 錄 本 身 是 一 個 虛 擬 檔 案 系 統 喔! 他 放 置 的 資 料 都 是 在 記 憶 體 當 中, 例 如 系 統 核 心 形 成 資 訊 周 邊 設 備 的 狀 態 及 網 路 狀 態 等 等 因 為 這 個 目 錄 下 的 資 料 都 是 在 記 憶 體 當 中, 所 以 本 身 不 佔 任 何 硬 碟 空 間 啊! 比 較 重 要 的 檔 案 例 如 :/proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/* 等 等 系 統 管 理 員 (root) 的 家 目 錄 之 所 以 放 在 這 裡, 是 因 為 我 們 提 過, 系 統 第 一 個 開 機 就 被 掛 載 的 partition 為 /, 而 我 們 希 望 /root 能 夠 與 / 放 在 同 一 塊 partition 上 面 之 故 放 置 一 些 系 統 管 理 員 才 會 動 用 到 的 執 行 指 令, 例 如 : fdisk, mke2fs, fsck, mkswap, mount 等 等 與 /bin 不 太 一 樣 的 地 方, 這 幾 個 目 錄 是 給 root 等 系 統 管 理 用 的 但 是 本 目 錄 下 的 執 行 檔 還 是 可 以 讓 一 般 使 用 者 用 來 察 看 而 不 能 設 定 喔! 一 些 服 務 啟 動 之 後, 這 些 服 務 所 需 要 取 用 的 資 料 目 錄 舉 例 來 說,WWW 伺 服 器 需 要 的 網 頁 資 料 就 可 以 放 置 在 /srv/www 裡 面 這 是 讓 一 般 使 用 者 或 者 是 正 在 執 行 的 程 序 暫 時 放 置 檔 案 的 地 方 這 個 目 錄 是 任 何 人 都 能 夠 存 取 的, 所 以 您 需 要 定 期 的 清 理 一 下 當 然, 重 要 資 料 不 可 放 置 在 此 目 錄 啊! 由 FHS 規 範 的 第 二 層 內 容, 在 /usr 此 目 錄 下, 包 含 系 統 的 主 要 程 式 圖 形 介 面 所 需 要 的 檔 案 額 外 的 函 式 庫 本 機 端 所 自 行 安 裝 的 軟 體, 以 及 共 享 的 目 錄 與 文 件 等 等, 都 可 以 在 這 個 目 錄 當 中 發 現 事 實 上, 他 有 點 像 是 Windows 作 業 系 統 當 中 的 Program files 與 WinNT 這 兩 個 目 錄 的 結 合! 在 此 目 錄 下 的 重 要 次 目 錄 有 : /usr/bin, /usr/sbin: 一 般 身 份 使 用 者 與 系 統 管 理 員 可 執 行 的 檔 案 放 置 目 錄 ; /usr/include:c/c++ 等 程 式 語 言 的 檔 頭 (header) 與 包 含 檔 (include) 放 置 處, 當 我 們 以 tarball 方 式 (*.tar.gz 的 方 式 安 裝 軟 體 ) 安 裝 某 些 資 料 時, 會 使 用 到 裡 頭 的 許 多 包 含 檔 喔!; /usr/lib: 各 應 用 軟 體 的 函 式 庫 檔 案 放 置 目 錄 ; /usr/local: 本 機 端 自 行 安 裝 的 軟 體 預 設 放 置 的 目 錄 目 前 也 適 用 於 /opt 目 錄 在 你 安 裝 完 了 Linux 之 後, 基 本 上 所 有 的 配 備 你 都 有 了, 但 是 軟 體 總 是 可 以 升 級 的, 例 如 你 要 升 級 你 的 proxy 服 務, 則 通 常 軟 體 預 設 的 安 裝 地 方 就 是 在 /usr/local (local 是 當 地 的 意 思 ), 同 時, 安 裝 完 畢 之 後 所 得 到 的 執 行 檔, 為 了 與 系 統 原 先 的 執 行 檔 有 分 別, 因 此 升 級 後 的 執 行 檔 通 常 擺 在 /usr/local/bin 這 個 地 方 給 個 建 議 啦, 通 常 鳥 哥 都 會 將 後 來 才 安 裝 上 去 的 軟 體 放 置 在 這 裡, 因 為 便 於 管 理 呦 ; /usr/share: 共 享 文 件 放 置 的 目 錄, 例 如 底 下 兩 個 目 錄 : /usr/share/doc: 放 置 一 些 系 統 說 明 文 件 的 地 方, 例 如 你 安 裝 了 grub 了, 那 麼 在 該 目 錄 底 下 找 一 找, 就 可 以 查 到 grub 的 說 明 文 件 了! 很 是 便 利! /usr/share/man:manpage 的 文 件 檔 案 目 錄 ; 那 是 什 麼? 呵 呵! 就 是 你 使 用 man 的 時 候, 會 去 查 詢 的 路 徑 呀! 例 如 你 使 用 man ls 這 個 指 令 時, 就 會 查 出 /usr/share/man/man1/ls.1.gz 這 個 說 明 檔 的 內 容 囉! /usr/src:linux 系 統 相 關 的 程 式 碼 放 置 目 錄, 例 如 /usr/src/linux 為 核 心 原 始 碼! file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 /usr/x11r6: 系 統 內 的 X Window System 所 需 的 執 行 檔 幾 乎 都 放 在 這! 這 個 目 錄 也 很 重 要, 也 是 FHS 規 範 的 第 二 層 目 錄 內 容 他 主 要 放 置 的 是 針 對 系 統 執 行 過 程 中, 常 態 性 變 動 的 檔 案 放 置 的 目 錄 舉 例 來 說, 例 如 快 取 檔 案 (cache) 或 者 是 隨 時 變 更 的 登 錄 檔 (log file) 都 是 放 在 這 個 目 錄 中 的 此 外, 某 些 軟 體 執 行 過 程 中 會 寫 入 的 資 料 庫 檔 案, 例 如 MySQL 資 料 庫, 也 都 寫 入 在 這 個 目 錄 中! 很 重 要 吧! 他 底 下 的 重 要 目 錄 有 : /var /var/cache: 程 式 檔 案 在 運 作 過 程 當 中 的 一 些 暫 存 檔 ; /var/lib: 程 式 本 身 執 行 的 過 程 中, 需 要 使 用 到 的 資 料 檔 案 放 置 的 目 錄, 舉 例 來 說, locate 這 個 資 料 庫 與 MySQL 及 rpm 等 資 料 庫 系 統, 都 寫 在 這 個 目 錄 內 /var/log: 登 錄 檔 放 置 的 目 錄 很 重 要 啊! 例 如 /var/log/messages 就 是 總 管 所 有 登 錄 檔 的 一 個 檔 案! /var/lock: 某 些 裝 置 具 有 一 次 性 寫 入 的 特 性, 例 如 tab ( 磁 帶 機 ), 此 時, 為 了 擔 心 被 其 他 人 干 擾 而 破 壞 正 在 運 作 的 動 作, 因 此, 會 將 該 裝 置 lock ( 鎖 住 ) 起 來, 以 確 定 該 裝 置 只 能 被 單 一 個 程 序 所 使 用 啊! /var/run: 某 些 程 式 或 者 是 服 務 啟 動 後, 會 將 他 們 的 PID 放 置 在 這 個 目 錄 下 喔! /var/spool: 是 一 些 佇 列 資 料 存 放 的 地 方 舉 例 來 說, 主 機 收 到 電 子 郵 件 後, 就 會 放 置 到 /var/spool/mail 當 中, 若 信 件 暫 時 發 不 出 去, 就 會 放 置 到 /var/spool/mqueue 目 錄 下, 使 用 者 工 作 排 程 (cron) 則 是 放 置 在 /var/ spool/cron 當 中! 需 要 特 別 注 意 的 目 錄 在 上 一 節 當 中 我 們 大 約 瞭 解 了 各 個 目 錄 下 所 放 置 的 檔 案 的 用 途 或 許 您 會 看 得 很 吃 力, 不 過, 不 要 擔 心, 等 到 後 面 的 章 節 看 完 後, 再 回 來 這 裡 瞧 一 瞧, 就 會 很 清 楚 的 知 道 每 個 目 錄 的 意 義 囉! 而 這 些 目 錄 當 中, 有 幾 個 比 較 有 趣 的 目 錄 還 是 需 要 特 別 來 提 醒 一 下 的 : 建 議 不 可 與 root partition 分 開 的 目 錄 我 們 在 安 裝 FC4 那 個 章 節 裡 面, 有 提 到 磁 碟 分 割 (partition) 的 概 念 對 吧! 在 Linux 的 安 裝 裡 面, 最 重 要 的 就 是 根 目 錄 / 所 在 的 那 個 partition 了 我 們 也 可 以 將 其 他 的 例 如 /home 放 在 不 同 的 partition 裡 面 那 麼 是 否 有 一 定 要 放 在 root partition 內 的 目 錄 呢? 有 啊! 那 就 是 : /etc/, / sbin/, /bin/, /dev/ 以 及 /lib/ 這 幾 個 目 錄 了 為 什 麼 呢? 因 為 我 們 的 Linux 系 統 在 開 機 的 時 候, 一 開 始 進 行 核 心 載 入 時, 只 會 掛 載 一 個 partition, 那 就 是 / 但 是 開 機 的 時 候 會 用 到 很 多 的 指 令 與 函 式 庫, 舉 例 來 說, 要 掛 載, 就 得 需 要 mount 這 支 程 式, 而 且 我 們 也 需 要 init 這 支 程 式, 還 需 要 用 到 很 多 的 設 定 檔, 例 如 /etc/inittab 等 等 而 我 們 核 心 的 模 組 則 是 放 置 在 /lib 裡 面 當 然, /dev 是 所 有 裝 置 放 置 的 目 錄, 也 需 要 在 開 機 的 時 候 使 用 到 的 因 此, 這 些 目 錄 都 需 要 跟 / 綁 在 一 起 喔! 先 有 概 念 即 可, 下 面 兩 章 會 跟 您 介 紹 所 謂 的 partition 概 念 的! 建 議 最 好 獨 立 成 為 單 一 partition 的 目 錄 上 面 提 到 的 是 最 好 不 要 跟 / 這 個 partition 分 離 的 目 錄 至 於 有 些 目 錄 則 是 因 為 安 全 性 與 特 殊 功 能 性, 而 希 望 能 夠 獨 立 成 為 一 個 自 己 的 partition 呢! 例 如 : /home, /usr, /var, /tmp 等 等 file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 我 們 必 須 要 先 知 道 的, 系 統 上 的 使 用 者 個 人 家 目 錄 在 /home 裡 面, 這 個 目 錄 也 是 可 能 被 使 用 的 最 頻 繁 的 目 錄 之 一 此 外, 為 了 資 源 分 配 較 為 平 均, 我 們 可 能 會 希 望 針 對 每 個 人 限 制 他 可 以 使 用 的 最 大 硬 碟 總 量 (quota), 在 這 個 前 提 之 下, 您 就 必 須 要 將 /home 獨 立 出 來, 而 且 最 好 這 個 partition 能 夠 大 一 點, 尤 其 是 您 的 Linux 是 作 為 檔 案 伺 服 器 (file server) 時, 就 更 形 重 要 了 至 於 /usr 則 是 一 些 程 式 安 裝 的 目 錄, 也 可 以 獨 立 出 來 的 ; 還 有 /var/, 這 個 目 錄 由 於 記 錄 了 相 當 多 的 常 用 資 料, 讀 取 真 的 是 很 頻 繁, 所 以 是 很 容 易 掛 點 的 partition 一! 如 果 能 夠 將 他 獨 立 出 來, 那 麼 當 /var/ 真 的 萬 一 不 小 心 掛 點 時, 就 不 會 影 響 到 其 他 的 partition, 最 起 碼 能 有 一 定 程 度 的 安 全 性 啦! 特 別 重 要 的 幾 個 目 錄 除 了 針 對 partition 的 觀 念 來 談 目 錄 的 重 要 性 之 外, 有 幾 個 比 較 重 要 的 目 錄 您 也 需 要 瞭 解 一 下 : /etc: 這 個 目 錄 是 系 統 設 定 檔 放 置 的 地 方, 包 括 您 系 統 上 的 帳 號 與 密 碼 (/etc/passwd, /etc/ shadow), 還 有 開 機 時 所 要 用 到 的 各 項 設 定 值 (/etc/sysconfig/*), 還 有 各 主 要 的 網 路 服 務 的 設 定 檔, 都 在 這 個 目 錄 中 意 思 就 是 說, 如 果 這 個 目 錄 底 下 的 檔 案 被 刪 除 或 者 是 死 掉 了, 嘿 嘿 ~ 您 的 系 統 大 概 也 就 需 要 很 花 功 夫 的 重 建 了 ~ ^_^ 因 此, 一 般 鳥 哥 都 會 定 期 將 這 個 目 錄 的 所 有 檔 案 給 他 備 份 下 來, 反 正 這 個 目 錄 的 大 小 應 該 不 會 超 過 50MB 才 對, 多 多 備 份, 有 備 無 患 啊! /usr/local: 雖 然 說 目 前 已 經 將 這 個 目 錄 的 重 要 性 移 動 到 /opt 了, 但 是 鳥 哥 還 是 比 較 習 慣 將 我 自 己 開 發 或 自 行 額 外 安 裝 的 軟 體 放 置 在 這 個 /usr/local 目 錄 下 如 果 您 的 Linux 系 統 是 多 人 共 管 的 話, 那 麼, 養 成 一 個 良 好 的 操 作 習 慣 是 有 必 要 的 那 麼 安 裝 軟 體 的 習 慣 也 要 好 好 建 立 起 來 啊 ~ 不 要 隨 意 安 裝 呢! 統 一 放 置 在 /usr/local 或 者 是 /opt 底 下 吧! ^_^ /var: 在 上 面 提 過 一 次, 這 裡 再 次 強 調 這 個 目 錄 是 在 管 理 系 統 運 作 過 程 中 的 重 要 中 間 暫 存 資 料 的, 例 如 /var/lib 與 /var/run 此 外, 最 終 的 資 料 例 如 郵 件 /var/spool/mail 也 是 放 置 在 這 個 目 錄 中 ~ 另 外, 幾 乎 所 有 服 務 的 登 錄 檔 ( 可 以 記 錄 誰 什 麼 時 候 由 哪 裡 登 入 主 機 做 了 什 麼 事 等 等 資 訊!) 都 放 在 /var/log 這 個 目 錄 下, 因 此, 這 個 目 錄 也 很 重 要 記 得 常 常 去 檢 查 /var/log/messages 這 個 檔 案 是 否 有 異 常 啊 ~ 一 般 主 機 partition 與 目 錄 的 配 置 情 況 好 了, 知 道 了 Linux 的 檔 案 權 限, 目 前 也 知 道 了 各 個 檔 案 內 可 能 擺 放 的 資 料 是 什 麼 了, 那 麼 再 來 說 說 你 的 目 錄 與 磁 碟 分 割 之 間 的 相 關 性 通 常 一 般 的 大 型 主 機 都 不 會 將 所 有 的 資 料 放 置 在 一 個 磁 碟 中 ( 就 是 只 有 一 個 / 根 目 錄 ), 這 有 幾 個 目 的 : 安 全 性 考 量 : 你 的 系 統 通 常 是 在 /usr/ 中, 而 個 人 資 料 則 可 能 放 置 在 /home 當 中, 至 於 一 些 開 機 資 料 則 放 置 在 /etc 當 中 如 果 將 所 有 的 資 料 放 在 一 起, 當 你 的 系 統 不 小 心 被 駭 客 破 壞, 或 者 不 小 心 自 己 砍 了 一 個 小 東 西, 則 所 有 的 咚 咚 也 都 跟 著 不 見 了... 這 對 於 我 們 市 井 小 民 或 許 無 所 謂, 再 安 裝 一 次 就 好 了, 但 是 對 於 一 些 大 型 企 業 可 不 行 這 樣! 因 此 需 要 將 資 料 分 別 放 置 於 不 同 的 磁 碟 中, 會 比 較 保 險 些 便 利 性 : 如 果 你 需 要 升 級 你 的 系 統 的 話, 是 否 需 要 重 新 format 安 裝 呢? 有 些 資 料 例 如 /home 裡 面 的 資 料 為 個 人 用 戶 的 資 料, 似 乎 與 系 統 無 關! 所 以 如 果 你 將 這 些 資 料 分 別 放 置 於 不 同 的 磁 碟, 則 file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 你 要 升 級 或 者 進 行 一 些 系 統 更 動 時, 將 比 較 有 彈 性 你 或 許 可 以 將 你 的 系 統 做 成 這 樣 的 partition 分 佈 : / /boot /usr /home /var 這 是 比 較 常 見 的 磁 碟 分 佈 情 況, 其 中 : / 根 目 錄 可 以 分 配 約 1 GB 以 內 ; /boot 大 概 在 50 MB 就 可 以 了, 因 為 開 機 檔 案 並 不 大 ; /var 就 至 少 需 要 1GB 以 上, 因 為 你 的 mail proxy 預 設 的 儲 存 區 都 在 這 個 目 錄 中, 除 非 你 要 將 一 些 設 定 改 變! /home 與 /usr 通 常 是 最 大 的, 因 為 你 所 安 裝 的 資 料 都 是 在 /usr/ 當 中, 而 用 戶 資 料 則 放 置 在 / home 當 中, 因 此 通 常 大 家 都 會 建 議 你 將 所 剩 下 的 磁 碟 空 間 平 均 分 配 給 這 兩 個 目 錄 說! 不 過 也 不 一 定 啦! /usr 大 概 給 個 10G 就 很 多 了 ~ 其 他 的 可 以 都 給 /home, 也 可 以 保 留 一 些 剩 餘 空 間 來 作 為 以 後 的 安 裝 與 設 定 用 啊! 無 論 如 何, 每 部 主 機 的 環 境 與 功 能 用 途 都 不 相 同, 自 然 其 磁 碟 的 分 配 就 會 不 太 一 樣, 因 此, 上 面 的 設 定 您 就 看 看 就 好, 等 您 將 整 本 書 或 者 整 個 網 頁 內 容 全 K 完 了, 那 麼 大 概 就 知 道 怎 樣 設 定 您 的 主 機 最 恰 當 啦! Linux 支 援 的 檔 案 系 統 我 們 在 本 章 前 面 提 到 的 都 是 單 一 檔 案 的 屬 性 與 相 關 資 訊, 以 及 單 一 目 錄 在 Filesystem Hierarchy Standard (FHS) 當 中 的 定 義, 還 沒 有 提 到 所 謂 的 partition 的 相 關 概 念 底 下 我 們 就 約 略 來 談 一 談, 那 麼 我 們 前 面 提 到 的 這 些 檔 案 目 錄, 是 放 在 什 麼 樣 的 檔 案 系 統 內 呢? 什 麼 是 檔 案 系 統 (filesystem) 呢? 目 前 的 作 業 系 統 大 多 數 是 將 資 料 由 硬 碟 讀 出 來 的, 那 麼 每 個 作 業 系 統 使 用 的 硬 碟 在 x86 架 構 上 的, 都 一 樣 啊! 都 是 同 樣 的 硬 碟 但 是, 每 種 作 業 系 統 都 有 其 獨 特 的 讀 取 檔 案 的 方 法, 也 就 是 說, 每 種 作 業 系 統 對 硬 碟 讀 取 的 方 法 不 同, 所 以 就 造 就 了 不 同 的 檔 案 系 統 了 舉 例 來 說, Windows 98 預 設 的 檔 案 系 統 是 FAT ( 或 FAT16) 檔 案 系 統, Windows 2000 有 所 謂 的 NTFS 檔 案 系 統, 至 於 Linux 的 正 統 檔 案 系 統 則 為 ext2 ( Linux second extended file system, ext2fs ) 這 一 個 我 們 的 系 統 能 不 能 讀 取 某 個 檔 案 系 統, 與 前 面 提 過 的 核 心 功 能 有 關 Linux 核 心 必 須 要 能 夠 認 識 某 種 檔 案 系 統 後, 我 們 的 Linux 才 能 讀 取 該 檔 案 系 統 的 資 料 內 容 啊! 也 就 是 說, 你 必 須 要 將 你 所 想 要 支 援 的 檔 案 系 統 編 譯 到 你 的 核 心 當 中 才 能 被 支 援 因 此, 您 可 以 發 現, Windows 與 Linux 安 裝 在 同 一 個 硬 碟 的 不 同 partition 時, Windows 將 不 能 取 用 Linux 的 硬 碟 資 料, Why? 就 因 為 Windows 的 核 心 不 認 識 Linux 的 檔 案 系 統 呀! 目 前 Fedora Core IV 預 設 的 檔 案 系 統 為 ext3 (Third Extended File System), 他 是 Ext2 的 升 級 版, 主 要 是 增 加 了 日 誌 (journaling) 的 功 能, 但 是 ext3 還 是 向 下 支 援 ext2 等 另 外, 如 果 你 需 要 將 你 原 有 的 Windows 系 統 也 掛 載 在 Linux 底 下 的 話, 那 麼 Linux 同 時 也 支 援 MS-DOS, VFAT, FAT, BSD 等 等 的 檔 案 系 統 至 於 Window NT 的 NTFS 檔 案 系 統 則 不 見 得 每 一 個 Linux distribution 都 有 支 援, 例 如 我 們 的 FC4 預 設 就 沒 有 支 援 了 問 我 怎 麼 看 出 來 的? 呵 呵! Linux 能 夠 支 援 的 檔 案 系 統 與 核 心 是 否 有 編 譯 進 去 有 關, 所 以 你 可 以 到 你 的 Linux 系 統 的 : file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 /lib/modules/`uname -r`/kernel/fs 該 目 錄 底 下 看 一 看, 如 果 有 你 想 要 的 檔 案 系 統, 那 麼 這 個 核 心 就 有 支 援 啦! 很 多 Linux 所 需 要 的 功 能 都 可 以 在 ext2 上 面 完 成, 不 過 ext2 缺 乏 日 誌 管 理 系 統, 如 果 發 生 問 題 時, 修 復 過 程 會 比 較 慢 一 些 所 以 最 近 釋 出 的 Linux distribution 大 多 已 經 預 設 採 用 ext3 或 reiserfs 這 種 具 有 日 誌 式 管 理 的 檔 案 系 統 了 那 麼 什 麼 是 日 誌 式 檔 案 系 統 呢? 舉 例 來 說, ext3 與 ext2 有 啥 不 同? ext3 其 實 只 是 多 做 了 一 個 日 誌 式 資 料 的 紀 錄 當 我 們 要 在 將 資 料 寫 入 硬 碟 時, ext2 是 直 接 將 資 料 寫 入, 但 是 ext3 則 會 將 這 個 要 開 始 寫 入 的 訊 息 寫 入 日 誌 式 記 錄 區, 然 後 才 開 始 進 行 資 料 的 寫 入 在 資 料 寫 入 完 畢 後, 又 將 完 成 寫 入 動 作 的 訊 息 寫 入 日 誌 式 記 錄 區, 這 有 什 麼 好 處 呢? 最 大 的 好 處 就 是 資 料 的 完 整 性 與 恢 復 力 什 麼 是 恢 復 力 呢? 早 期 的 ext2 檔 案 系 統 如 果 發 生 類 似 斷 電 後 時, 檔 案 系 統 就 得 要 檢 查 檔 案 一 致 性 這 個 檢 查 的 過 程 要 將 整 個 partition 內 的 檔 案 做 一 個 完 整 的 比 較, 哇! 很 慢 很 慢 很 久 很 久 啊 ~ 如 果 是 ext3 的 話, 那 麼 只 要 透 過 檢 查 日 誌 記 錄 區 就 可 以 知 道 斷 電 時, 是 否 有 哪 些 檔 案 正 在 進 行 寫 入 的 動 作, 只 要 檢 查 這 些 地 方 即 可 ~ 這 樣 就 能 夠 節 省 很 多 檔 案 檢 查 的 時 間 呢! 這 樣 知 道 為 何 要 選 擇 ext3 了 吧? 我 們 還 可 以 引 用 Red Hat 公 司 中, 首 席 核 心 開 發 者 Michael K. Johnson 的 話 : 為 什 麼 你 想 要 從 ext 2 轉 換 到 ext3 呢? 有 四 個 主 要 的 理 由 : 可 利 用 性 資 料 完 整 性 速 度 及 易 於 轉 換 可 利 用 性, 他 指 出, 這 意 味 著 從 系 統 中 止 到 快 速 重 新 復 原 而 不 是 持 續 的 讓 e2fsck 執 行 長 時 間 的 修 復 ext3 的 日 誌 式 條 件 可 以 避 免 資 料 毀 損 的 可 能 他 也 指 出 : 除 了 寫 入 若 干 資 料 超 過 一 次 時,ext3 往 往 會 較 快 於 ext2, 因 為 ext3 的 日 誌 使 硬 碟 讀 取 頭 的 移 動 能 更 有 效 的 進 行 然 而 或 許 決 定 的 因 素 還 是 在 Johnson 先 生 的 第 四 個 理 由 中 它 是 可 以 輕 易 的 從 ext2 變 更 到 ext3 來 獲 得 一 個 強 而 有 力 的 日 誌 式 檔 案 系 統 而 不 需 要 重 新 做 格 式 化 那 是 正 確 的, 為 了 體 驗 一 下 ext3 的 好 處 是 不 需 要 去 做 一 種 長 時 間 的, 冗 長 乏 味 的 且 易 於 產 生 錯 誤 的 備 份 工 作 及 重 新 格 式 化 的 動 作 上 列 資 料 可 在 Whitepaper: Red Hat's New Journaling File System: ext3 ( http://www.redhat.com/support/ wpapers/redhat/ext3/ ) 查 閱 得 到 所 以 囉, 使 用 ext3 或 者 是 其 他 的 日 誌 式 檔 案 系 統 是 有 好 處 的, 最 大 的 好 處 當 然 是 錯 誤 問 題 的 排 除 效 率 比 較 高 無 論 如 何, 您 只 要 先 曉 得 ext2 是 Linux 正 規 的 檔 案 系 統, 而 近 年 來 的 ext3 等 日 誌 式 檔 案 系 統 則 有 取 代 的 趨 勢 Linux 的 VFS (Virtual Filesystem Switch): 瞭 解 了 我 們 使 用 的 檔 案 系 統 之 後, 再 來 則 是 要 提 到, 那 麼 Linux 的 核 心 又 是 如 何 管 理 這 些 認 識 的 檔 案 系 統 呢? 其 實, 整 個 Linux 的 系 統 都 是 透 過 一 個 名 為 Virtual Filesystem Switch 的 核 心 功 能 去 讀 取 filesystem 的 也 就 是 說, 整 個 Linux 認 識 的 filesystem 其 實 都 是 VFS 在 進 行 管 理, 我 們 使 用 者 並 不 需 要 知 道 每 個 partition 上 頭 的 filesystem 是 什 麼 ~ VFS 會 主 動 的 幫 我 們 做 好 讀 取 的 動 作 呢 ~ 這 無 疑 是 個 很 好 用 的 功 能 ~ 為 什 麼 呢? 因 為 只 要 系 統 管 理 員 一 開 始 就 設 定 好 各 主 要 filesystem 對 應 的 檔 案 系 統 模 組 後, 核 心 的 VFS 就 會 主 動 接 管 該 filesystem 的 存 取 模 式 使 用 者 可 以 在 不 曉 得 每 個 filesystem 是 什 麼 的 情 況 下, 就 能 自 由 的 運 用 系 統 上 的 各 種 filesystem 很 方 便 ~ 不 是 嗎?! ^_^ 本 章 習 題 練 習 ( 要 看 答 案 請 將 滑 鼠 移 動 到 答 : 底 下 的 空 白 處, 按 下 左 鍵 圈 選 空 白 處 即 可 察 看 ) file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 早 期 的 Unix 系 統 檔 名 最 多 允 許 14 個 字 元, 而 新 的 Unix 與 Linux 系 統 中, 檔 名 最 多 可 以 容 許 幾 個 字 元? 單 一 檔 名 可 達 255 字 元, 完 整 檔 名 ( 包 含 路 徑 ) 可 達 4096 個 字 元 當 一 個 檔 案 屬 性 為 rwxrwxrwx 則 表 示 這 個 檔 案 的 意 義 為? 任 何 人 皆 可 讀 取 可 寫 入 亦 可 刪 除 我 需 要 將 一 個 檔 案 的 屬 性 改 為 rwxr-xr-- 請 問 該 如 何 下 達 指 令? chmod 754 filename 或 chmod u=rwx,g=rx,o=r filename 若 我 需 要 更 改 一 個 檔 案 的 擁 有 者 與 群 組, 該 用 什 麼 指 令? chown, chgrp Linux 傳 統 的 檔 案 系 統 為 何? 此 外, 常 用 的 Journaling 檔 案 格 式 有 哪 些? 傳 統 檔 案 格 式 為 :ext2, Journaling 有 ext3 及 Reiserfs 等 請 問 底 下 的 目 錄 與 主 要 放 置 什 麼 資 料 : /etc/, /etc/init.d, /boot, /usr/bin, /bin, /usr/sbin, /sbin, /dev, /var/log /etc/: 幾 乎 系 統 的 所 有 設 定 檔 案 均 在 此, 尤 其 passwd,shadow /etc/init.d: 系 統 開 機 的 時 候 載 入 服 務 的 scripts 的 擺 放 地 點 /boot: 開 機 設 定 檔, 也 是 預 設 擺 放 核 心 vmlinuz 的 地 方 /usr/bin, /bin: 一 般 執 行 檔 擺 放 的 地 方 /usr/sbin, /sbin: 系 統 管 理 員 常 用 指 令 集 /dev: 擺 放 所 有 系 統 裝 置 檔 案 的 目 錄 /var/log: 擺 放 系 統 登 錄 檔 案 的 地 方 若 一 個 檔 案 的 檔 名 開 頭 為., 例 如.bashrc 這 個 檔 案, 代 表 什 麼? 另 外, 如 何 顯 示 出 這 個 檔 名 與 他 的 相 關 屬 性? 有. 為 開 頭 的 為 隱 藏 檔, 需 要 使 用 ls a 這 個 a 的 參 數 才 能 顯 示 出 隱 藏 檔 案 的 內 容, 而 使 用 ls al 才 能 顯 示 出 屬 性 參 考 資 料 關 於 Journaling 日 誌 式 文 章 的 相 關 說 明 http://www.linuxplanet.com/linuxplanet/reports/3726/1/ 2002/07/18: 第 一 次 完 成 2003/02/06: 重 新 編 排 與 加 入 FAQ 2005/06/28: 將 舊 的 資 料 移 動 到 這 裡 2005/07/15: 呼 呼 ~ 終 於 改 完 成 了 ~ 這 次 的 修 訂 當 中, 加 入 了 FHS 的 說 明, 希 望 大 家 能 夠 比 較 清 楚 Linux 的 目 錄 配 置! 2005/08/05: 修 訂 了 最 大 檔 名 字 元, 應 該 是 255 才 對! 另 外, 加 入 了 檔 名 限 制 的 部 分! 2005/09/03: 修 訂 了 目 錄 權 限 相 關 的 說 明, 將 原 本 僅 具 有 r 卻 寫 成 無 法 使 用 ls 瀏 覽 的 說 明 資 料 移 除! 2002/02/18 以 來 統 計 人 數 file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 的 檔 案 權 限 與 目 錄 配 置 本 網 頁 主 要 以 firefox 配 合 解 析 度 1024x768 作 為 設 計 依 據 http://linux.vbird.org is designed by VBird during 2001-2007. Aerosol Lab. file:///c /Documents and Settings/Administrator/ 桌 面 /0210filepermission.php.htm
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 鳥 哥 的 Linux 私 房 菜 為 取 得 較 佳 瀏 覽 結 果, 請 愛 用 firefox 瀏 覽 本 網 頁 切 換 解 析 度 為 800x600 Linux 磁 碟 與 檔 案 系 統 管 理 最 近 更 新 日 期 :2006/06/28 我 們 在 前 面 的 檔 案 權 限 介 紹 的 章 節 當 中, 提 到 很 多 的 權 限 與 屬 性 的 觀 念, 那 麼 接 下 來 要 瞭 解 的 是, 這 些 屬 性 是 記 錄 在 硬 碟 的 那 個 地 方? 這 裡 就 要 特 別 瞭 解 到 Linux 檔 案 系 統 ( filesystem ) 是 如 何 記 錄 檔 案, 與 檔 案 是 如 何 被 讀 取 的 囉! 而 要 瞭 解 整 個 檔 案 系 統 的 觀 念, 就 不 能 不 知 道 硬 碟 的 組 成 元 件! 所 以, 在 這 個 章 節 當 中, 我 們 由 最 基 礎 的 硬 碟 組 成 元 件 介 紹 起, 並 介 紹 inode 與 連 結 檔 等 基 本 知 識, 以 及 如 何 利 用 開 機 即 可 掛 載 的 方 式 來 使 我 們 的 各 個 partition 可 以 在 開 機 時 就 已 經 進 行 好 掛 載 的 動 作 喔! 1. 認 識 EXT2 檔 案 系 統 1.1 硬 碟 物 理 組 成 1.2 磁 碟 分 割 1.3 檔 案 系 統 1.4 Linux 的 EXT2 檔 案 系 統 (inode) 1.5 EXT2/EXT3 檔 案 的 存 取 與 日 誌 式 檔 案 系 統 的 功 能 : dumpe2fs 1.6 Linux 檔 案 系 統 的 運 作 1.7 掛 載 點 的 意 義 (mount point) 1.8 其 他 Linux 支 援 的 檔 案 系 統 2. 檔 案 系 統 的 簡 單 操 作 : 2.1 磁 碟 與 目 錄 的 容 量 : df, du 2.2 連 結 檔 的 介 紹 : ln 3. 磁 碟 的 分 割 格 式 化 檢 驗 與 掛 載 3.1 磁 碟 分 割 : fdisk 3.2 磁 碟 格 式 化 : mke2fs, mkbootdisk, fdformat 3.3 磁 碟 檢 驗 : fsck, badblocks, sync 3.4 磁 碟 掛 載 與 卸 載 : mount, umount 3.5 磁 碟 參 數 修 訂 : mknod, e2label, tune2fs, hdparm 4. 設 定 開 機 掛 載 : 4.1 各 式 磁 碟 掛 載 與 中 文 編 碼 掛 載 還 有 USB 隨 身 碟! 4.2 開 機 掛 載 /etc/fstab 及 /etc/mtab file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 4.3 特 殊 裝 置 loop 掛 載 5. 虛 擬 記 憶 體 之 建 置 : 5.1 建 立 虛 擬 記 憶 體 裝 置 5.2 建 立 虛 擬 記 憶 體 檔 案 5.3 虛 擬 記 憶 體 的 限 制 6. 本 章 習 題 練 習 7. 針 對 本 文 的 建 議 :http://phorum.vbird.org/viewtopic.php?t=23881 認 識 EXT2 檔 案 系 統 既 然 這 個 章 節 主 要 在 探 討 Linux 的 磁 碟 檔 案 系 統, 所 以 我 們 當 然 就 需 要 先 來 瞭 解 一 下 硬 碟 是 個 什 麼 東 西 啦! 首 先, 我 們 就 來 看 一 看 硬 碟 的 物 理 組 成, 瞭 解 了 物 理 組 成 之 後, 再 來 說 明 一 下 怎 麼 樣 進 行 硬 碟 的 分 割 (partition) 吧! 硬 碟 物 理 組 成 : 就 硬 碟 的 物 理 元 件 來 說, 硬 碟 其 實 是 由 許 許 多 多 的 圓 形 硬 碟 盤 所 組 成 的, 依 據 硬 碟 盤 能 夠 容 納 的 資 料 量, 而 有 所 謂 的 單 碟 ( 一 塊 硬 碟 裡 面 只 有 一 個 硬 碟 盤 ) 或 者 是 多 碟 ( 一 塊 硬 碟 裡 面 含 有 多 個 硬 碟 盤 ) 的 硬 碟 在 這 裡 我 們 以 單 一 個 硬 碟 盤 來 說 明, 硬 碟 盤 可 由 底 下 的 圖 形 來 示 意 : file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 圖 一 硬 碟 盤 示 意 圖 圖 二 磁 柱 示 意 圖 首 先, 硬 碟 裡 面 一 定 會 有 所 謂 的 磁 頭 ( Head ) 在 進 行 該 硬 碟 盤 上 面 的 讀 寫 動 作, 而 磁 頭 是 固 定 在 機 械 手 臂 上 面 的, 機 械 手 臂 上 有 多 個 磁 頭 可 以 進 行 讀 取 的 動 作 而 當 磁 頭 固 定 不 動 ( 假 設 機 械 手 臂 不 動 ), 硬 碟 盤 轉 一 圈 所 畫 出 來 的 圓 就 是 所 謂 的 磁 軌 ( Track ); 而 如 同 我 們 前 面 剛 剛 提 到 的, 一 塊 硬 碟 裡 面 可 能 具 有 多 個 硬 碟 盤, 所 有 硬 碟 盤 上 面 相 同 半 徑 的 那 一 個 磁 軌 就 組 成 了 所 謂 的 磁 柱 ( Cylinder ) 例 如 上 圖 二 所 示 意, 在 兩 個 硬 碟 盤 上 面 的 同 一 個 磁 軌 就 是 一 個 磁 柱 啦! 這 個 磁 柱 也 是 磁 碟 分 割 ( partition ) 時 的 最 小 單 位 了 ; 另 外, 由 圓 心 向 外 劃 直 線, 則 可 將 磁 軌 再 細 分 為 一 個 一 個 的 磁 區 ( Sector ), 這 個 磁 區 就 是 硬 碟 盤 上 面 的 最 小 儲 存 物 理 量 了! 通 常 一 個 sector 的 大 小 約 為 512 Bytes 以 上 就 是 整 個 硬 碟 的 基 本 元 件 file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 在 計 算 整 個 硬 碟 的 儲 存 量 時, 簡 單 的 計 算 公 式 就 是 :Cylinder x Head x Sector x 512 Bytes 另 外, 硬 碟 在 讀 取 時, 主 要 是 硬 碟 盤 會 轉 動, 利 用 機 械 手 臂 將 磁 頭 移 動 到 正 確 的 資 料 位 置 ( 單 方 向 的 前 後 移 動 ), 然 後 將 資 料 依 序 讀 出 在 這 個 操 作 的 過 程 當 中, 由 於 機 械 手 臂 上 的 磁 頭 與 硬 碟 盤 的 接 觸 是 很 細 微 的 空 間, 如 果 有 抖 動 或 者 是 髒 污 在 磁 頭 與 硬 碟 盤 之 間 時, 就 會 造 成 資 料 的 損 毀 或 者 是 實 體 硬 碟 整 個 損 毀 ~ 因 此, 正 確 的 使 用 電 腦 的 方 式, 應 該 是 在 電 腦 通 電 之 後, 就 絕 對 不 要 移 動 主 機, 並 免 抖 動 到 硬 碟, 而 導 致 整 個 硬 碟 資 料 發 生 問 題 啊! 另 外, 也 不 要 隨 便 將 插 頭 拔 掉 就 以 為 是 順 利 關 機! 因 為 機 械 手 臂 必 須 要 歸 回 原 位, 所 以 使 用 作 業 系 統 的 正 常 關 機 方 式, 才 能 夠 有 比 較 好 的 硬 碟 保 養 啊! 因 為 他 會 讓 硬 碟 的 機 械 手 臂 歸 回 原 位 啊! 磁 碟 分 割 ( Partition ): 在 瞭 解 了 硬 碟 的 物 理 元 件 之 後, 再 接 著 下 來 介 紹 的 就 是 硬 碟 的 分 割 ( Partition ) 囉! 為 什 麼 要 進 行 硬 碟 分 割 啊?! 因 為 我 們 必 須 要 告 訴 作 業 系 統 : 我 這 塊 硬 碟 可 以 存 取 的 區 域 是 由 A 磁 柱 到 B 磁 柱, 如 此 一 來, 作 業 系 統 才 能 夠 控 制 硬 碟 磁 頭 去 A-B 範 圍 內 的 磁 柱 存 取 資 料 ; 如 果 沒 有 告 訴 作 業 系 統 這 個 資 訊, 那 麼 作 業 系 統 就 無 法 利 用 我 們 的 硬 碟 來 進 行 資 料 的 存 取 了, 因 為 作 業 系 統 將 無 法 知 道 他 要 去 哪 裡 讀 取 資 料 啊! 這 就 是 磁 碟 分 割 ( Partition ) 的 重 點 了 : 也 就 是 記 錄 每 一 個 分 割 區 ( Partition ) 的 起 始 與 結 束 磁 柱! 好 了, 那 麼 這 個 分 割 區 的 起 始 與 結 束 磁 柱 的 資 料 放 在 哪 裡 呢?! 那 就 是 我 們 在 Linux 安 裝 與 多 重 開 機 技 巧 那 個 章 節 提 到 的 主 要 開 機 磁 區 ( Master Boot Recorder, MBR ) 囉! 事 實 上, MBR 就 是 在 一 塊 硬 碟 的 第 零 軌 上 面, 這 也 是 電 腦 開 機 之 後 要 去 利 用 該 硬 碟 時, 必 須 要 讀 取 的 第 一 個 區 域! 在 這 個 區 域 內 記 錄 的 就 是 硬 碟 裡 面 的 所 有 分 割 資 訊, 以 及 開 機 的 時 候 可 以 進 行 開 機 管 理 程 式 的 寫 入 的 處 所 啊! 所 以, 當 一 個 硬 碟 的 MBR 壞 掉 時, 由 於 分 割 的 資 料 不 見 了, 呵 呵, 那 麼 這 個 硬 碟 也 就 幾 乎 可 以 說 是 壽 終 正 寢 了, 因 為 作 業 系 統 不 知 道 該 去 哪 個 磁 柱 上 讀 取 資 料 啊 ~~ 那 麼 MBR 有 什 麼 限 制 呢? 他 最 大 的 限 制 來 自 於 他 的 大 小 不 夠 大 到 儲 存 所 有 分 割 與 開 機 管 理 程 式 的 資 訊, 因 此,MBR 僅 提 供 最 多 四 個 partition 的 記 憶, 這 就 是 所 謂 的 Primary (P) 與 Extended (E) 的 partition 最 多 只 能 有 四 個 的 原 因 了 所 以 說, 如 果 你 預 計 分 割 超 過 4 個 partition 的 話, 那 麼 勢 必 需 要 使 用 3P + 1E, 並 且 將 所 有 的 剩 餘 空 間 都 撥 給 Extended 才 行 ( 記 得 呦! Extended 最 多 只 能 有 一 個 ), 否 則 只 要 3P + E 之 後 還 有 剩 下 的 空 間, 那 麼 那 些 容 量 將 成 為 廢 物 而 浪 費 了, 所 以 結 論 就 是 如 果 您 要 分 割 硬 碟 時, 並 且 已 經 預 計 規 劃 使 用 掉 MBR 所 提 供 的 4 個 partition ( 3P + E 或 4P ) 那 麼 磁 碟 的 全 部 容 量 需 要 使 用 光, 否 則 剩 下 的 容 量 也 不 能 再 被 使 用 不 過, 如 果 您 僅 是 分 割 出 1P + 1E 的 話, 那 麼 剩 下 的 空 間 就 還 能 再 分 割 兩 個 primary partition! 檔 案 系 統 : 在 告 知 系 統 我 的 partition 所 在 的 起 始 與 結 束 磁 柱 之 後, 再 來 則 是 需 要 將 partition 格 式 化 為 我 的 作 業 系 統 認 識 的 檔 案 系 統 ( Filesystem ) 囉! 因 為 每 個 作 業 系 統 認 識 的 filesystem 並 不 相 同! 例 如 Windows 作 業 系 統 在 預 設 狀 態 下 就 無 法 認 識 Linux 的 檔 案 系 統 ( 這 裡 指 file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 Linux 的 標 準 檔 案 系 統 ext2 ) 所 以 當 然 要 針 對 我 們 的 作 業 系 統 來 格 式 化 partition 囉! 我 們 可 以 說, 每 一 個 partition 就 是 一 個 Filesystem, 那 麼 一 個 partition 是 否 可 以 具 有 兩 個 Filesystem 呢?! 理 論 上 應 該 是 不 行 的! 因 為 每 個 檔 案 系 統 都 有 其 獨 特 的 支 援 方 式, 例 如 Linux 的 ext3 就 無 法 被 Windows 系 統 所 讀 取! 而 你 將 一 個 partition 格 式 化 的 時 候, 總 不 能 格 式 化 為 ext3 也 同 時 格 式 化 為 fat32 吧?! 那 是 不 可 能 的 啊! 不 論 是 哪 一 種 filesystem, 資 料 總 是 需 要 儲 存 的 吧! 既 然 硬 碟 是 用 來 儲 存 資 料 的, 想 當 然 爾, 資 料 就 必 須 寫 入 硬 碟 啦! 剛 剛 我 們 提 到 硬 碟 的 最 小 儲 存 單 位 是 sector, 不 過 資 料 所 儲 存 的 最 小 單 位 並 不 是 sector 喔, 因 為 用 sector 來 儲 存 太 沒 有 效 率 了 怎 麼 說 呢? 因 為 一 個 sector 只 有 512 Bytes, 而 磁 頭 是 一 個 一 個 sector 的 讀 取, 也 就 是 說, 如 果 我 的 檔 案 有 10 MBytes, 那 麼 為 了 讀 這 個 檔 案, 我 的 磁 頭 必 須 要 進 行 讀 取 (I/O) 20480 次! 為 了 克 服 這 個 效 率 上 的 困 擾, 所 以 就 有 邏 輯 區 塊 ( Block ) 的 產 生 了! 邏 輯 區 塊 是 在 partition 進 行 filesystem 的 格 式 化 時, 所 指 定 的 最 小 儲 存 單 位, 這 個 最 小 儲 存 單 位 當 然 是 架 構 在 sector 的 大 小 上 面 ( 因 為 sector 為 硬 碟 的 最 小 物 理 儲 存 單 位 啊! ), 所 以 啦, Block 的 大 小 為 sector 的 2 的 次 方 倍 數 此 時, 磁 頭 一 次 可 以 讀 取 一 個 block, 如 果 假 設 我 們 在 格 式 化 的 時 候, 指 定 Block 為 4 KBytes ( 亦 即 由 連 續 的 八 個 sector 所 構 成 一 個 block ), 那 麼 同 樣 一 個 10 MBytes 的 檔 案, 磁 頭 要 讀 取 的 次 數 則 大 幅 降 為 2560 次, 這 個 時 候 可 就 大 大 的 增 加 檔 案 的 讀 取 效 能 啦! 不 過,Block 單 位 的 規 劃 並 不 是 越 大 越 好 喔! 怎 麼 說 呢? 因 為 一 個 Block 最 多 僅 能 容 納 一 個 檔 案 ( 這 裡 指 Linux 的 ext2 檔 案 系 統 )! 這 有 什 麼 問 題 呢? 舉 例 來 說 好 了, 假 如 您 的 Block 規 劃 為 4 KBytes, 而 您 有 一 個 檔 案 大 小 為 0.1 KBytes, 這 個 小 檔 案 將 佔 用 掉 一 個 Block 的 空 間, 也 就 是 說, 該 Block 雖 然 可 以 容 納 4 Kbytes 的 容 量, 然 而 由 於 檔 案 只 佔 用 了 0.1 Kbytes, 所 以, 實 際 上 剩 下 的 3.9 KBytes 是 不 能 再 被 使 用 了, 所 以, 在 考 慮 Block 的 規 劃 時, 需 要 同 時 考 慮 到 : 檔 案 讀 取 的 效 能 檔 案 大 小 可 能 造 成 的 硬 碟 空 間 浪 費 因 此, 在 規 劃 您 的 磁 碟 時, 需 要 留 意 到 您 主 機 的 用 途 來 進 行 規 劃 較 佳! 例 如 BBS 主 機 由 於 文 章 較 短, 也 就 是 說 檔 案 較 小, 那 麼 Block 小 一 點 的 好 ; 而 如 果 您 的 主 機 主 要 用 在 儲 存 大 容 量 的 檔 案, 那 麼 考 慮 到 效 能, 當 然 Block 理 論 上, 規 劃 的 大 一 點 會 比 較 妥 當 啦! Superblock: 如 同 前 面 說 的, 當 我 們 在 進 行 磁 碟 分 割 ( partition ) 時, 每 個 磁 碟 分 割 槽 ( partition ) 就 是 一 個 檔 案 系 統 ( filesystem ), 而 每 個 檔 案 系 統 開 始 的 位 置 的 那 個 block 就 稱 為 superblock,superblock 的 作 用 是 儲 存 像 是 檔 案 系 統 的 大 小 空 的 和 填 滿 的 區 塊, 以 及 他 各 自 的 總 數 和 其 他 諸 如 此 類 的 資 訊 等 等, 這 也 就 是 說, 當 您 要 使 用 這 一 個 磁 碟 分 割 槽 ( 或 者 說 是 檔 案 系 統 ) 來 進 行 資 料 存 取 的 時 候, 第 一 個 要 經 過 的 就 是 superblock 這 個 區 塊 了, 所 以 囉, superblock 壞 了, 您 的 這 個 磁 碟 槽 大 概 也 就 回 天 乏 術 了! Linux 的 EXT2 檔 案 系 統 ( inode ): 看 完 了 上 面 的 說 明, 您 應 該 對 於 硬 碟 有 一 定 程 度 的 認 識 了! 好 了, 那 麼 接 下 來 就 是 要 談 一 file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 談 Linux 的 檔 案 系 統 ( Filesystem ) 囉! 我 們 這 裡 以 Linux 最 標 準 的 ext2 這 個 檔 案 系 統 來 作 為 說 明 還 記 得 我 們 在 Linux 檔 案 屬 性 與 目 錄 配 置 那 個 章 節 提 到 的, 在 Linux 系 統 當 中, 每 個 檔 案 不 止 有 檔 案 的 內 容 資 料, 還 包 括 檔 案 的 種 種 屬 性, 例 如 : 所 屬 群 組 所 屬 使 用 者 能 否 執 行 檔 案 建 立 時 間 檔 案 特 殊 屬 性 等 等 由 於 Linux 作 業 系 統 是 一 個 多 人 多 工 的 環 境, 為 了 要 保 護 每 個 使 用 者 所 擁 有 資 料 的 隱 密 性, 所 以 具 有 多 樣 化 的 檔 案 屬 性 是 在 所 難 免 的! 在 標 準 的 ext2 檔 案 系 統 當 中, 我 們 將 每 個 檔 案 的 內 容 分 為 兩 個 部 分 來 儲 存, 一 個 是 檔 案 的 屬 性, 另 一 個 則 是 檔 案 的 內 容 為 了 應 付 這 兩 個 不 同 的 咚 咚, 所 以 ext2 規 劃 出 inode 與 Block 來 分 別 儲 存 檔 案 的 屬 性 ( 放 在 inode 當 中 ) 與 檔 案 的 內 容 ( 放 置 在 Block area 當 中 ) 當 我 們 要 將 一 個 partition 格 式 化 ( format ) 為 ext2 時, 就 必 須 要 指 定 inode 與 Block 的 大 小 才 行, 也 就 是 說, 當 partition 被 格 式 化 為 ext2 的 檔 案 系 統 時, 他 一 定 會 有 inode table 與 block area 這 兩 個 區 域 Block 已 經 在 前 面 說 過 了, 他 是 資 料 儲 存 的 最 小 單 位 那 麼 inode 是 什 麼?! 簡 單 的 說, Block 是 記 錄 檔 案 內 容 資 料 的 區 域, 至 於 inode 則 是 記 錄 該 檔 案 的 相 關 屬 性, 以 及 檔 案 內 容 放 置 在 哪 一 個 Block 之 內 的 資 訊 簡 單 的 說, inode 除 了 記 錄 檔 案 的 屬 性 外, 同 時 還 必 須 要 具 有 指 向 ( pointer ) 的 功 能, 亦 即 指 向 檔 案 內 容 放 置 的 區 塊 之 中, 好 讓 作 業 系 統 可 以 正 確 的 去 取 得 檔 案 的 內 容 啊! 底 下 幾 個 是 inode 記 錄 的 資 訊 ( 當 然 不 止 這 些 ): 該 檔 案 的 擁 有 者 與 群 組 (owner/group); 該 檔 案 的 存 取 模 式 (read/write/excute); 該 檔 案 的 類 型 (type); 該 檔 案 建 立 或 狀 態 改 變 的 時 間 (ctime) 最 近 一 次 的 讀 取 時 間 (atime) 最 近 修 改 的 時 間 (mtime); 該 檔 案 的 容 量 ; 定 義 檔 案 特 性 的 旗 標 (flag), 如 SetUID...; 該 檔 案 真 正 內 容 的 指 向 (pointer); 我 們 在 前 一 章 Linux 檔 案 與 目 錄 管 理 當 中 提 到 過 利 用 ls 查 詢 檔 案 所 記 載 的 時 間, 就 是 atime / ctime / mtime 三 種 時 間 這 三 種 時 間 的 意 義 我 們 已 經 在 前 一 章 的 touch 指 令 介 紹 時 提 過, 這 三 種 時 間 就 是 記 錄 在 inode 裡 面 的 啦 ~ 如 果 回 到 前 一 章, 您 會 發 現, 我 們 可 以 利 用 ls 的 相 關 功 能 來 查 詢 到 時 間 喔! 而 預 設 的 顯 示 時 間 是 mtime [root@linux ~]# ls -la --time=atime PATH 那 個 PATH 是 您 所 想 要 查 詢 的 檔 案 或 目 錄 名 稱 利 用 上 面 的 ls 相 關 參 數, 就 可 以 取 得 您 想 要 知 道 的 檔 案 相 關 的 三 種 時 間 囉 ~ 至 於 一 個 inode 的 大 小 為 128 bytes 這 麼 大 ( 可 以 使 用 底 下 要 介 紹 的 dumpe2fs 來 查 閱 inode 的 大 小 喔!)! 好 了, 那 麼 我 的 Linux 系 統 到 底 是 如 何 讀 取 一 個 檔 案 的 內 容 呢? 底 下 我 們 分 別 針 對 目 錄 與 檔 案 來 說 明 : 目 錄 : 當 我 們 在 Linux 下 的 ext2 檔 案 系 統 建 立 一 個 目 錄 時, ext2 會 分 配 一 個 inode 與 至 少 一 塊 Block 給 該 目 錄 其 中,inode 記 錄 該 目 錄 的 相 關 屬 性, 並 指 向 分 配 到 的 那 塊 Block ; 而 Block 則 是 記 錄 在 這 個 目 錄 下 的 相 關 連 的 檔 案 ( 或 目 錄 ) 的 關 連 性! file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 檔 案 : 當 我 們 在 Linux 下 的 ext2 建 立 一 個 一 般 檔 案 時, ext2 會 分 配 至 少 一 個 inode 與 相 對 於 該 檔 案 大 小 的 Block 數 量 給 該 檔 案 例 如 : 假 設 我 的 一 個 Block 為 4 Kbytes, 而 我 要 建 立 一 個 100 KBytes 的 檔 案, 那 麼 linux 將 分 配 一 個 inode 與 25 個 Block 來 儲 存 該 檔 案! 要 注 意 的 是, inode 本 身 並 不 紀 錄 檔 名, 而 是 記 錄 檔 案 的 相 關 屬 性, 至 於 檔 名 則 是 記 錄 在 目 錄 所 屬 的 block 區 域! 那 麼 檔 案 與 目 錄 的 關 係 又 是 如 何 呢? 就 如 同 上 面 的 目 錄 提 到 的, 檔 案 的 相 關 連 結 會 記 錄 在 目 錄 的 block 資 料 區 域, 所 以 當 我 們 要 讀 取 一 個 檔 案 的 內 容 時, 我 們 的 Linux 會 先 由 根 目 錄 / 取 得 該 檔 案 的 上 層 目 錄 所 在 inode, 再 由 該 目 錄 所 記 錄 的 檔 案 關 連 性 ( 在 該 目 錄 所 屬 的 block 區 域 ) 取 得 該 檔 案 的 inode, 最 後 在 經 由 inode 內 提 供 的 block 指 向, 而 取 得 最 終 的 檔 案 內 容 我 們 以 /etc/crontab 這 個 檔 案 的 讀 取 為 例, 他 的 內 容 資 料 是 這 樣 取 得 的 : 圖 三 讀 取 /etc/crontab 的 簡 易 流 程 示 意 一 塊 partition 在 ext2 底 下 會 被 格 式 化 為 inode table 與 block area 兩 個 區 域, 所 以 在 圖 三 裡 面, 我 們 將 partition 以 長 條 的 方 式 來 示 意, 會 比 較 容 易 理 解 的 啦! 而 讀 取 /etc/crontab 的 流 程 為 : 1. 作 業 系 統 根 據 根 目 錄 ( / ) 的 相 關 資 料 可 取 得 /etc 這 個 目 錄 所 在 的 inode, 並 前 往 讀 取 / etc 這 個 目 錄 的 所 有 相 關 屬 性 ; 2. 根 據 /etc 的 inode 的 資 料, 可 以 取 得 /etc 這 個 目 錄 底 下 所 有 檔 案 的 關 連 資 料 是 放 置 在 哪 一 個 Block 當 中, 並 前 往 該 block 讀 取 檔 案 的 關 連 性 內 容 ; 3. 由 上 個 步 驟 的 Block 當 中, 可 以 知 道 crontab 這 個 檔 案 的 inode 所 在 地, 並 前 往 該 inode ; 4. 由 上 個 步 驟 的 inode 當 中, 可 以 取 得 crontab 這 個 檔 案 的 所 有 屬 性, 並 且 可 前 往 由 inode 所 指 向 的 Block 區 域, 順 利 的 取 得 crontab 的 檔 案 內 容 整 個 讀 取 的 流 程 大 致 上 就 是 這 樣, 如 果 您 想 要 實 作 一 下 以 瞭 解 整 個 流 程 的 話, 可 以 這 樣 試 做 看 看 : file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 1. 察 看 一 下 根 目 錄 所 記 載 的 所 有 檔 案 關 連 性 資 料 [root@linux ~]# ls -lia / 2 drwxr-xr-x 24 root root 4096 Jul 16 2 drwxr-xr-x 24 root root 4096 Jul 16 719489 drwxr-xr-x 83 root root 12288 Jul 21 523265 drwxr-xr-x 24 root root 4096 Jun 25 # 注 意 看 一 下, 在 上 面 的. 與.. 都 是 連 結 到 inode 號 碼 為 2 的 那 個 inode, # 也 就 是 說, / 與 其 上 層 目 錄.. 都 是 指 向 同 一 個 inode number 啊! 兩 者 是 相 同 的 # 而 在 根 目 錄 所 記 載 的 檔 案 關 連 性 ( 在 block 內 ) 得 到 /etc 的 inode number # 為 719489 那 個 inode number 喔! 2. 察 看 一 下 /etc/ 內 的 檔 案 關 連 性 的 資 料 [root@linux ~]# ls -liad /etc/crontab /etc/. 719489 drwxr-xr-x 83 root root 12288 Jul 21 0 723496 -rw-r--r-- 1 root root 663 Jul 4 1 # 瞧! 此 時 就 能 夠 將 /etc/crontab 找 到 關 連 性 囉! 所 以 您 知 道, 目 錄 的 最 大 功 能 就 是 在 提 供 檔 案 的 關 連 性, 在 關 連 性 裡 面, 當 然 最 主 要 的 就 是 檔 名 與 inode 的 對 應 資 料 囉! 另 外, 關 於 EXT2 檔 案 系 統, 這 裡 有 幾 點 小 事 情 要 提 醒 一 下 : ext2 與 ext3 檔 案 在 建 立 時 (format) 就 已 經 設 定 好 固 定 的 inode 數 與 block 數 目 了 ; 格 式 化 Linux 的 ext2 檔 案 系 統, 可 以 使 用 mke2fs 這 個 程 式 來 執 行! ext2 允 許 的 block size 為 1024, 2048 及 4096 bytes; 一 個 partition (filesystem) 所 能 容 許 的 最 大 檔 案 數, 與 inode 的 數 量 有 關, 因 為 一 個 檔 案 至 少 要 佔 用 一 個 inode 啊! 在 目 錄 底 下 的 檔 案 數 如 果 太 多 而 導 致 一 個 Block 無 法 容 納 的 下 所 有 的 關 連 性 資 料 時,Linux 會 給 予 該 目 錄 多 一 個 Block 來 繼 續 記 錄 關 連 資 料 ; 通 常 inode 數 量 的 多 寡 設 定 為 (partition 的 容 量 ) 除 以 ( 一 個 inode 預 計 想 要 控 制 的 容 量 ) 舉 例 來 說, 若 我 的 block 規 劃 為 4Kbytes, 假 設 我 的 一 個 inode 會 控 制 兩 個 block, 亦 即 是 假 設 我 的 一 個 檔 案 大 致 的 容 量 在 8Kbytes 左 右 時, 假 設 我 的 這 個 partition 容 量 為 1GBytes, 則 inode 數 量 共 有 :( 1G * 1024M/G * 1024K/M ) / ( 8K ) = 131072 個 而 一 個 inode 佔 用 128 bytes 的 空 間, 因 此 格 式 化 時 就 會 有 ( 131072 個 * 128bytes/ 個 ) = 16777216 byes = 16384 Kbytes 的 inode table 也 就 是 說, 這 一 個 1GB 的 partition 在 還 沒 有 儲 存 任 何 資 料 前, 就 已 經 少 了 16MBytes 的 容 量 啊! 因 為 一 個 inode 只 能 記 錄 一 個 檔 案 的 屬 性, 所 以 inode 數 量 比 block 多 是 沒 有 意 義 的! 舉 上 面 的 例 子 來 說, 我 的 Block 規 劃 為 4 Kbytes, 所 以 1GB 大 概 就 有 262144 個 4Kbytes 的 block, 如 果 一 個 block 對 應 一 個 inode 的 話, 那 麼 當 我 的 inode 數 量 大 於 262144 時, 多 的 inode 將 沒 有 任 何 用 處, 徒 然 浪 費 硬 碟 的 空 間 而 已! 另 外 一 層 想 法, 如 果 我 的 檔 案 容 量 都 很 大, 那 麼 一 個 檔 案 佔 用 一 個 inode 以 及 數 個 block, 當 然 inode 數 量 就 可 以 規 劃 的 少 很 多 啦! file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 當 block 大 小 越 小, 而 inode 數 量 越 多, 則 可 利 用 的 空 間 越 多, 但 是 大 檔 案 寫 入 的 效 率 較 差 ; 這 種 情 況 適 合 檔 案 數 量 多, 但 是 檔 案 容 量 小 的 系 統, 例 如 BBS 或 者 是 新 聞 群 組 ( News ) 這 方 面 服 務 的 系 統 ; 當 Block 大 小 越 大, 而 inode 數 量 越 少 時, 大 檔 案 寫 入 的 效 率 較 佳, 但 是 可 能 浪 費 的 硬 碟 空 間 較 多 ; 這 種 狀 況 則 比 較 適 合 檔 案 容 量 較 大 的 系 統! 簡 單 的 歸 納 一 下, ext2 有 幾 個 特 色 : Blocks 與 inodes 在 一 開 始 格 式 化 時 (format) 就 已 經 固 定 了 一 個 partition 能 夠 容 納 的 檔 案 數 與 inode 有 關 ; 一 般 來 說, 每 4Kbytes 的 硬 碟 空 間 分 配 一 個 inode ; 一 個 inode 的 大 小 為 128 bytes; Block 為 固 定 大 小, 目 前 支 援 1024/2048/4096 bytes 等 ; Block 越 大, 則 損 耗 的 硬 碟 空 間 也 越 多 關 於 單 一 檔 案 : 若 block size=1024, 最 大 容 量 為 16GB, 若 block siz 關 於 整 個 partition : 若 block size=1024, 則 容 量 達 2TB, 若 block size= 檔 名 最 長 達 255 字 元, 完 整 檔 名 長 達 4096 字 元 另 外, 關 於 partition 的 使 用 效 率 上, 當 您 的 一 個 partition 規 劃 的 很 大 時, 例 如 100GB 這 麼 大, 由 於 硬 碟 上 面 的 資 料 總 是 來 來 去 去 的, 所 以, 整 個 partition 上 面 的 檔 案 通 常 無 法 連 續 寫 在 一 起, 而 是 填 入 式 的 將 資 料 填 入 沒 有 被 使 用 的 block 當 中 如 果 檔 案 寫 入 的 block 真 的 分 的 很 散, 此 時 就 會 有 所 謂 的 檔 案 離 散 的 問 題 發 生 了 雖 然 我 們 的 ext2 在 inode 處 已 經 將 該 檔 案 所 記 錄 的 block number 都 記 上 了, 所 以 資 料 可 以 一 次 性 讀 取, 但 是 如 果 檔 案 真 的 太 過 離 散, 確 實 還 是 會 發 生 讀 取 效 率 低 落 的 問 題 果 真 如 此, 那 麼 可 以 將 整 個 partition 內 的 資 料 全 部 複 製 出 來, 將 該 partition 重 新 格 式 化, 再 將 資 料 給 他 複 製 回 去 即 可 解 決 此 外, 如 果 partition 真 的 太 大 了, 那 麼 當 一 個 檔 案 分 別 記 錄 在 這 個 partition 的 最 前 面 與 最 後 面 的 block, 此 時 會 造 成 硬 碟 的 機 械 手 臂 移 動 幅 度 過 大, 也 會 造 成 資 料 讀 取 效 能 的 低 落 因 此, partition 的 規 劃 並 不 是 越 大 越 好, 而 是 真 的 要 針 對 您 的 主 機 用 途 來 進 行 規 劃 才 行!^_^ EXT2/EXT3 檔 案 的 存 取 與 日 誌 式 檔 案 系 統 的 功 能 綜 合 上 面 談 的 種 種, 我 們 可 以 知 道, 當 一 個 ext2 的 filesystem 被 建 立 時, 他 擁 有 superblock / group description / block bitmap / inode bitmap / inode table / data blocks 等 等 區 域 要 注 意 的 是, 每 個 ext2 filesystem 在 被 建 立 的 時 候, 會 依 據 partition 的 大 小, 給 予 數 個 block group, 而 每 個 block group 就 有 上 述 的 這 些 部 分 整 個 filesystem 的 架 構 可 以 下 圖 展 現 : file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 圖 四 整 個 filesystem 的 展 現 示 意 圖 我 們 將 整 個 filesystem 簡 單 化, 假 設 僅 有 一 個 block group, 那 麼 上 面 的 各 個 部 分 分 別 代 表 什 麼 呢? SuperBlock: 如 前 所 述, Superblock 是 記 錄 整 個 filesystem 相 關 資 訊 的 地 方, 沒 有 Superblock, 就 沒 有 這 個 filesystem 了 他 記 錄 的 資 訊 主 要 有 : block 與 inode 的 總 量 ; 未 使 用 與 已 使 用 的 inode / block 數 量 ; 一 個 block 與 一 個 inode 的 大 小 ; filesystem 的 掛 載 時 間 最 近 一 次 寫 入 資 料 的 時 間 最 近 一 次 檢 驗 磁 碟 (fsck) 的 時 間 等 檔 案 系 統 的 相 關 資 訊 ; 一 個 valid bit 數 值, 若 此 檔 案 系 統 已 被 掛 載, 則 valid bit 為 0, 若 未 被 掛 載, 則 valid bit 為 1 Group Description: 紀 錄 此 block 由 由 何 處 開 始 記 錄 ; Block bitmap: 此 處 記 錄 那 個 block 有 沒 有 被 使 用 ; Inode bitmap: 此 處 記 錄 那 個 inode 有 沒 有 被 使 用 ; Inode table: 為 每 個 inode 資 料 存 放 區 ; Data Blocks: 為 每 個 block 資 料 存 放 區 如 果 想 要 知 道 某 個 ext2/ext3 的 檔 案 系 統 內, 關 於 上 述 提 到 的 相 關 資 訊 時, 可 以 使 用 dumpe2fs 這 個 指 令 來 讀 取, 舉 例 來 說, 鳥 哥 將 我 自 己 的 主 機 /dev/hda1 讀 出 ext3 的 訊 息 : file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 [root@linux ~]# dumpe2fs /dev/hda1 Filesystem volume name: / Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 1537088 Block count: 1536207 Free blocks: 735609 Free inodes: 1393089 First block: 0 Block size: 4096 Filesystem created: Sat Jun 25 16:21:13 Last mount time: Sat Jul 16 23:45:04 Last write time: Sat Jul 16 23:45:04 Last checked: Sat Jun 25 16:21:13 First inode: 11 Inode size: 128 Journal inode: 8 Group 0: (Blocks 0-32767) Primary superblock at 0, Group descriptors a Reserved GDT blocks at 2-376 Block bitmap at 377 (+377), Inode bitmap at Inode table at 379-1400 (+379) 0 free blocks, 32424 free inodes, 11 directo Free blocks: Free inodes: 281-32704 Group 1: (Blocks 32768-65535) Backup superblock at 32768, Group descriptor Reserved GDT blocks at 32770-33144 Block bitmap at 33145 (+377), Inode bitmap a Inode table at 33147-34168 (+379) 18 free blocks, 24394 free inodes, 349 direc Free blocks: 37882-37886, 38263-38275 Free inodes: 38084-38147, 39283-39343, 41135 # 因 為 資 料 很 多, 所 以 鳥 哥 略 去 了 一 些 資 訊 了 ~ 上 面 是 比 較 精 簡 的 顯 示 內 容 # 在 Group 0 之 前 的 都 是 Superblock 的 內 容, 記 錄 了 inode/block 的 總 數, # 還 有 其 他 相 關 的 訊 息 至 於 由 Group 0 之 後, 則 是 說 明 各 個 bitmap 及 inode table # 與 block area 等 等 透 過 這 些 記 錄, 我 們 可 以 很 輕 易 的 就 知 道 哪 些 inode 沒 有 被 使 用, 哪 些 block 還 可 以 記 錄, 如 此 一 來, 在 新 增 建 立 檔 案 與 目 錄 時, 系 統 就 會 根 據 這 些 記 錄 來 將 資 料 分 別 寫 入 尚 未 被 使 用 的 inode 與 block area 了! 不 過, 要 注 意 的 是, 當 我 們 新 增 一 個 檔 案 ( 目 錄 ) 時 : 1. 根 據 inode bitmap / block bitmap 的 資 訊, 找 到 尚 未 被 使 用 的 inode 與 block, 進 而 將 檔 案 的 屬 性 與 資 料 分 別 記 載 進 inode 與 block ; 2. 將 剛 剛 被 利 用 的 inode 與 block 的 號 碼 (number) 告 知 superblock inode bitmap file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 block bitmap 等, 讓 這 些 metadata 更 新 資 訊 一 般 來 說, 我 們 將 inode table 與 block area 稱 為 資 料 存 放 區 域, 至 於 其 他 的 例 如 superblock block bitmap 與 inode bitmap 等 記 錄 就 被 稱 為 metadata 囉 經 由 上 面 兩 個 動 作, 我 們 知 道 一 筆 資 料 寫 入 硬 碟 時, 會 有 這 兩 個 動 作 資 料 的 不 一 致 (Inconsistent) 狀 態 那 麼 萬 一 您 的 檔 案 在 寫 入 硬 碟 時, 因 為 不 知 名 原 因 導 致 系 統 中 斷 ( 例 如 突 然 的 停 電 啊 系 統 核 心 發 生 錯 誤 啊 ~ 等 等 的 怪 事 發 生 時 ), 所 以 資 料 就 只 有 紀 錄 到 動 作 一, 而 動 作 二 尚 未 進 行 ~ 這 就 會 產 生 metadata 與 資 料 存 放 區 產 生 不 一 致 (Inconsistent) 的 情 況 發 生 了 在 早 期 的 EXT2 檔 案 系 統 中, 如 果 發 生 這 個 問 題, 那 麼 系 統 在 重 新 開 機 的 時 候, 就 會 藉 由 Superblock 當 中 記 錄 的 valid bit 與 filesystem state 等 狀 態 來 判 斷 是 否 強 制 進 行 資 料 一 致 性 的 檢 查! 檢 查 則 以 e2fsck 這 支 程 式 來 進 行 的 不 過, 這 樣 的 檢 查 真 的 是 很 費 時 ~ 因 為 要 針 對 metadata 區 域 與 實 際 資 料 存 放 區 來 進 行 比 對, 呵 呵 ~ 得 要 搜 尋 整 個 partition 呢 ~ 哇! 系 統 真 忙 碌 ~ 而 且 在 對 Internet 提 供 服 務 的 伺 服 器 主 機 上 面, 這 樣 的 檢 查 真 的 會 造 成 主 機 復 原 時 間 的 拉 長 ~ 真 是 麻 煩 ~ 這 也 就 造 成 後 來 所 謂 日 誌 式 檔 案 系 統 的 興 起 了 稍 微 瞭 解 了 所 謂 資 料 不 一 致 的 狀 態 後, 再 來 要 瞭 解 的, 就 是, 那 麼 為 何 要 有 日 誌 式 檔 案 系 統 的 產 生 呢? 我 們 已 經 在 Linux 檔 案 屬 性 與 目 錄 配 置 當 中 提 到 過 一 些 檔 案 系 統 的 注 意 事 項, 也 提 過 日 誌 式 (Journal) 檔 案 系 統 的 相 關 功 能, 這 裡 我 們 再 稍 微 深 入 的 討 論 一 下 剛 剛 提 到 了, 在 EXT2 檔 案 系 統 當 中, 要 進 行 檔 案 的 寫 入 時, 會 將 資 料 分 別 在 資 料 存 放 區 與 metadata 區 記 錄 下 來, 若 當 這 兩 個 動 作 無 法 一 次 完 成 時, 就 會 造 成 所 謂 的 不 一 致 現 象 若 發 生 不 一 致 現 象, 因 為 系 統 不 知 道 是 那 個 檔 案 發 生 不 一 致 現 象, 所 以 就 會 將 整 個 filesystem 做 一 致 性 的 檢 查, 如 此 一 來, 很 費 時 啊! 想 一 想, 如 果 在 我 們 的 filesystem 當 中, 要 是 能 夠 規 劃 出 一 個 區 塊, 專 門 來 記 錄 寫 入 或 修 訂 檔 案 時 的 步 驟, 那 不 就 可 以 簡 化 一 致 性 檢 查 的 步 驟 了? 也 就 是 說 : 1. 當 系 統 要 寫 入 一 個 檔 案 的 時 候, 會 先 在 日 誌 記 錄 區 塊 中 紀 錄 : 某 個 檔 案 準 備 要 寫 入 磁 碟 了 ; 2. 開 始 寫 入 檔 案 的 權 限 與 資 料 ; 3. 開 始 更 新 metadata 的 資 料 ; 4. 完 成 資 料 與 metadata 的 更 新 後, 在 日 誌 記 錄 區 塊 當 中 完 成 該 檔 案 的 紀 錄 在 這 樣 的 程 序 當 中, 萬 一 資 料 的 紀 錄 過 程 當 中 發 生 了 問 題, 那 麼 我 們 的 系 統 只 要 去 檢 查 日 誌 記 錄 區 塊, 就 可 以 知 道 那 個 檔 案 發 生 了 問 題, 針 對 該 問 題 來 做 一 致 性 的 檢 查 即 可, 而 不 必 針 對 整 塊 filesystem 去 檢 查, 真 的 就 可 以 達 到 快 速 修 復 filesystem 的 能 力 了! 這 就 是 日 誌 式 檔 案 最 基 礎 的 功 能 囉 ~ 那 麼 我 們 的 ext2 可 達 到 這 樣 的 功 能 嗎? 當 然 可 以 啊! 就 透 過 ext3 即 可! ext3 是 ext2 的 升 級 版 本, 並 且 可 向 下 相 容 ext2 版 本 呢! 所 以 囉, 目 前 我 們 才 建 議 大 家, 可 以 直 接 使 用 ext3 這 個 filesystem 啊! ^_^ 如 果 您 對 於 EXT2 / EXT3 系 統 還 有 更 多 的 興 趣, 可 以 參 考 底 下 這 幾 篇 文 章 : file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 Design and Implementation of the Second Extended Filesystem http://e2fsprogs.sourceforge.net/ext2intro.html The Second Extended File System - An introduction http://www.freeos.com/articles/3912/ ext3 or ReiserFS? Hans Reiser Says Red Hat's Move Is Understandable http://www.linuxplanet.com/linuxplanet/reports/3726/1/ 或 者 參 考 鳥 哥 由 網 路 上 面 找 到 的 相 關 中 文 翻 譯, 不 過... 原 發 文 者 的 文 章 出 處 已 經 找 不 到 了 ~ 真 是 不 好 意 思 ~ 請 參 考 : 附 錄 B:EXT2/EXT3 檔 案 系 統 Linux 檔 案 系 統 的 運 作 : 好 了, 我 們 知 道 整 個 ext2/ext3 的 資 料 存 取 是 透 過 journal 與 metadata 還 有 資 料 存 放 區 在 紀 錄 的 不 過, 實 際 上, Linux 檔 案 系 統 在 運 作 的 時 候, 真 的 要 將 資 料 直 接 存 放 到 硬 碟 上 面 嗎?! 有 沒 有 更 有 效 率 的 作 法? 我 們 來 看 看 整 部 電 腦 的 運 作 當 中, 那 個 資 料 的 存 取 速 度 最 慢 呢? 資 料 處 理 最 快 速 的 地 方 應 該 是 CPU 了, 接 下 來 則 是 主 記 憶 體 (RAM), 至 於 硬 碟, 哈 哈! 沒 錯, 速 度 可 是 比 CPU 還 有 RAM 要 慢 的 很 多 很 多 為 了 讓 Linux 加 快 整 個 系 統 的 存 取 效 率, 因 此 在 Linux 上 面 通 常 採 取 非 同 步 處 理 ( asynchronously ) 的 方 式 什 麼 是 非 同 步 呢? 舉 例 來 說 : 當 系 統 讀 取 了 某 一 個 檔 案, 則 該 檔 案 所 在 的 區 塊 資 料 會 被 載 入 到 記 憶 體 當 中, 所 以 該 磁 碟 區 塊 就 會 被 放 置 在 主 記 憶 體 的 緩 衝 快 取 區 中, 若 這 些 區 塊 的 資 料 被 改 變 時, 剛 開 始 資 料 僅 有 主 記 憶 體 的 區 塊 資 料 會 被 改 變, 而 且 在 緩 衝 區 當 中 的 區 塊 資 料 會 被 標 記 為 Dirty, 這 個 時 候 磁 碟 實 體 區 塊 尚 未 被 修 正! 所 以 亦 即 表 示, 這 些 Dirty 區 塊 的 資 料 必 需 回 寫 到 磁 碟 當 中, 以 維 持 磁 碟 實 體 區 塊 上 的 資 料 與 主 記 憶 體 中 的 區 塊 資 料 的 一 致 性 為 什 麼 要 這 麼 做 呢? 這 是 因 為 主 記 憶 體 的 運 作 速 度 比 起 硬 碟 來 實 在 是 快 太 多 了, 萬 一 系 統 當 中 有 一 個 檔 案 相 當 的 大, 而 又 持 續 性 的 存 取, 那 麼 由 於 較 慢 的 硬 碟 存 取 速 度, 將 使 得 整 個 Linux 速 度 被 拖 垮, 所 以 才 會 使 用 非 同 步 方 式 的 資 料 處 理 啊! 不 過, 也 由 於 硬 碟 與 主 記 憶 體 的 資 料 可 能 沒 有 同 步 化, 因 此, 如 果 Linux 不 正 常 關 機 ( 例 如 跳 電 或 者 是 當 機 ) 時, 則 由 於 資 料 尚 未 回 寫 入 磁 碟 當 中, 會 導 致 系 統 在 再 次 開 機 時, 會 花 相 當 多 的 時 間 進 行 磁 碟 檢 驗, 同 時 也 有 可 能 造 成 磁 碟 的 損 毀 啊! 掛 載 點 的 意 義 (mount point): 我 們 上 面 提 到 的 都 是 關 於 檔 案 系 統 (filesystem), 但 是 要 能 夠 讓 我 們 的 Linux 使 用 的 話, 非 得 掛 載 (mount) 上 我 們 的 Linux 系 統 才 行 啊! 剛 剛 我 們 上 面 提 到 了 目 錄 可 以 記 錄 檔 名 與 inode 的 相 關 資 訊, 此 外, 目 錄 也 是 讓 我 們 得 以 跟 filesystem 產 生 對 應 的 入 口 點 因 此, 我 們 稱 那 個 入 口 點 目 錄 為 掛 載 點 (mount point) 舉 例 來 說, 在 鳥 哥 的 安 裝 FC4 範 例 當 中, 我 們 將 硬 碟 分 割 為 幾 大 部 分, 同 時 主 要 將 / 與 / file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 home 設 定 為 兩 個 partition 的 掛 載 點 假 設 / 是 接 在 /dev/hda1, 而 /home 是 接 在 /dev/hda2 上 面, 那 麼, 也 就 是 說, 在 /home 底 下 的 所 有 次 目 錄, 使 用 的 都 是 /dev/hda2 那 個 partition 的 資 料 呢! 而 非 /home 的 則 都 是 使 用 /dev/hda1 的 資 料! 那 麼 來 看 看 系 統 中 如 果 主 要 分 為 / 與 /home 時, 他 們 對 應 的 inode 會 有 什 麼 現 象 呢? [root@linux ~]# ls -lid / /home 2 drwxr-xr-x 26 root root 4096 7 月 21 09:08 / 2 drwxr-xr-x 42 root root 4096 7 月 14 23:37 /h 看 到 了 吧? 咦! 怎 麼 / 與 /home 的 inode number 都 是 2 啊?? 這 太 不 合 理 了 ~ 原 因 很 簡 單 啊! 因 為 / 是 /dev/hda1 而 /home 是 /dev/hda2, 這 兩 個 partition 都 有 inode number 為 2 的 號 碼 啊! 所 以 啊, 請 注 意, 掛 載 點 一 定 是 目 錄 而 不 是 檔 案 喔! 也 就 是 說, 這 個 掛 載 點 就 是 進 入 該 filesystem 的 入 口 啦! 其 他 Linux 支 援 的 檔 案 系 統 雖 然 Linux 的 標 準 檔 案 系 統 是 ext2, 且 還 有 增 加 了 日 誌 功 能 的 ext3 之 外, 事 實 上,Linux 還 有 支 援 很 多 檔 案 格 式 的, 尤 其 是 最 近 這 幾 年 推 出 了 好 幾 種 速 度 很 快 的 日 誌 式 檔 案 系 統, 包 括 SGI 的 XFS 檔 案 系 統, 可 以 適 用 更 小 型 檔 案 的 Reiserfs 檔 案 系 統, 以 及 Windows 的 FAT 檔 案 系 統 等 等, 都 能 夠 被 Linux 所 支 援 喔! 常 見 的 支 援 檔 案 系 統 有 : 傳 統 檔 案 系 統 :ext2 / minix / MS-DOS / FAT ( 用 vfat 模 組 ) / iso9660 ( 光 碟 ) 等 等 ; 日 誌 式 檔 案 系 統 : ext3 / ReiserFS / Windows' NTFS / IBM's JFS / SGI's XFS 網 路 檔 案 系 統 : NFS / SMBFS 想 要 知 道 您 的 Linux 支 援 的 檔 案 系 統 有 哪 些, 可 以 察 看 底 下 這 個 目 錄 : [root@linux ~]# ls -l /lib/modules/`uname -r`/kernel/fs 系 統 目 前 已 啟 用 的 檔 案 系 統 則 有 : [root@linux ~]# cat /proc/filesystems 假 設 您 的 / 使 用 的 是 /dev/hda1, 用 ext3, 而 /home 使 用 /dev/hda2, 用 reiserfs, 那 麼 您 取 用 /home/dmtsai/.bashrc 時, 有 特 別 指 定 要 用 的 什 麼 檔 案 系 統 的 模 組 來 讀 取 嗎?! 應 該 是 沒 有 吧! 嘿 嘿! 這 個 就 是 我 們 Linux kernel 的 Virtual Filesystem Switch (VFS) 的 功 能 啦! 透 過 這 個 VFS 的 功 能 來 管 理 所 有 的 filesystem, 省 去 我 們 需 要 自 行 設 定 讀 取 檔 案 系 統 的 定 義 啊 ~ 方 便 很 多! file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 檔 案 系 統 的 簡 單 操 作 : 在 瞭 解 了 一 些 簡 單 的 硬 碟 與 檔 案 系 統 的 概 念 之 後, 並 且 知 道 如 何 以 ls 查 詢 檔 案 系 統 相 關 的 資 訊 後, 接 下 來 就 是 得 要 瞭 解 如 何 知 道 整 個 磁 碟 的 剩 餘 容 量 與 總 容 量 囉 ~ 此 外, 也 得 要 知 道 一 下, 前 一 章 還 沒 有 介 紹 到 的 連 結 檔 (link file) 囉 ~ 磁 碟 與 目 錄 的 容 量 : 在 文 字 介 面 底 下 有 什 麼 方 法 可 以 查 看 目 前 的 磁 碟 最 大 容 許 容 量 已 經 使 用 掉 的 容 量 目 前 所 在 目 錄 的 已 使 用 容 量? 還 有 還 有, 怎 麼 知 道 目 前 目 錄 底 下 使 用 掉 的 硬 碟 容 量 呢? 以 及 如 何 查 詢 目 前 的 inodes 數 目? 呵 呵! 底 下 我 們 就 來 談 一 談 主 要 的 兩 個 指 令 : df [root@linux ~]# df [-ahikhtm] [ 目 錄 或 檔 名 ] 參 數 : -a : 列 出 所 有 的 檔 案 系 統, 包 括 系 統 特 有 的 /proc 等 檔 案 系 統 ; -k : 以 KBytes 的 容 量 顯 示 各 檔 案 系 統 ; -m : 以 MBytes 的 容 量 顯 示 各 檔 案 系 統 ; -h : 以 人 們 較 易 閱 讀 的 GBytes, MBytes, KBytes 等 格 式 自 行 顯 示 ; -H : 以 M=1000K 取 代 M=1024K 的 進 位 方 式 ; -T : 連 同 該 partition 的 filesystem 名 稱 ( 例 如 ext3) 也 列 出 ; -i : 不 用 硬 碟 容 量, 而 以 inode 的 數 量 來 顯 示 範 例 : 範 例 一 : 將 系 統 內 所 有 的 partition 列 出 來! [root@linux ~]# df Filesystem 1K-blocks Used Availabl /dev/hda1 5952252 3012332 2 /dev/shm 192836 0 /dev/hda5 9492644 221604 8 # 特 別 注 意, 在 Linux (FC4) 底 下, 如 果 df 沒 有 加 任 何 參 數, # 那 麼 預 設 會 將 系 統 內 所 有 的 ( 不 含 特 殊 記 憶 體 內 的 檔 案 系 統 與 swap) 都 以 Kbytes # 的 容 量 來 列 出 來! 至 於 那 個 /dev/shm 是 與 記 憶 體 有 關 的 掛 載, 先 不 要 理 他! 範 例 二 : 將 容 量 結 果 以 易 讀 的 容 量 格 式 顯 示 出 來 [root@linux ~]# df -h Filesystem Size Used Avail Use% /dev/hda1 5.7G 2.9G 2.6G 54% /dev/shm 189M 0 189M 0% /dev/hda5 9.1G 217M 8.4G 3% # 不 同 於 範 例 一, 這 裡 會 以 G/M 等 容 量 格 式 顯 示 出 來, 比 較 容 易 看 啦! 範 例 三 : 將 系 統 內 的 所 有 特 殊 檔 案 格 式 及 名 稱 都 列 出 來 [root@linux ~]# df -at Filesystem Type 1K-blocks Used Avail /dev/hda1 ext3 5952252 3012332 2 file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 /dev/proc proc 0 0 /dev/sys sysfs 0 0 /dev/devpts devpts 0 0 /dev/shm tmpfs 192836 0 /dev/hda5 ext3 9492644 221604 8 none binfmt_misc 0 0 # 看 到 了 吧! 系 統 裡 面 其 實 還 有 很 多 的 特 殊 檔 案 系 統 在 跑 得! # 不 過, 那 些 比 較 特 殊 的 檔 案 系 統 幾 乎 都 是 在 記 憶 體 當 中, 例 如 /proc 這 個 掛 載 點 # 因 此, 這 些 特 殊 的 檔 案 系 統 都 不 會 佔 據 硬 碟 空 間 喔! ^_^ 範 例 四 : 將 /etc 底 下 的 可 用 的 磁 碟 容 量 以 易 讀 的 容 量 格 式 顯 示 [root@linux ~]# df -h /etc Filesystem Size Used Avail Use% /dev/hda1 5.7G 2.9G 2.6G 54% # 這 個 範 例 比 較 有 趣 一 點 啦, 在 df 後 面 加 上 目 錄 或 者 是 檔 案 時, df # 會 自 動 的 分 析 該 目 錄 或 檔 案 所 在 的 partition, 並 將 該 partition 的 容 量 顯 示 出 來, # 所 以, 您 就 可 以 知 道 某 個 目 錄 底 下 還 有 多 少 容 量 可 以 使 用 了! ^_^ 範 例 五 : 將 目 前 各 個 partition 當 中 可 用 的 inode 數 量 列 出 [root@linux ~]# df -ih Filesystem Inodes IUsed IFree /dev/hda1 1.5M 141K 1.4M /dev/shm 48K 1 48K /dev/hda5 2.4M 67 2.4M 這 是 用 來 顯 示 目 前 磁 碟 的 總 容 量 與 剩 餘 可 用 容 量 的 指 令! 需 要 注 意 的 是, 由 於 我 們 的 檔 案 或 者 是 外 掛 的 磁 碟 都 是 加 在 / 底 下, 所 以 當 根 目 錄 沒 有 空 間 的 時 候, 嘿 嘿! 你 的 Linux 系 統 可 能 大 概 就 要 掛 了 吧 ~ 當 然 囉! 你 可 以 將 你 的 資 料 放 置 在 加 掛 的 硬 碟 中, 那 麼 如 何 知 道 目 前 哪 一 個 磁 碟 還 有 多 少 空 間 呢?! Tips: 說 個 笑 話! 當 初 我 們 系 上 有 個 研 究 生 在 管 理 Sun 的 工 作 站, 是 別 研 究 室 的, 他 的 硬 碟 明 明 有 好 幾 GB, 但 是 就 是 沒 有 辦 法 將 幾 MB 的 資 料 copy 進 去, 他 就 去 跟 老 闆 講 說 機 器 壞 了! 嘿! 明 明 才 來 維 護 過 幾 天 而 已 為 何 會 壞 了! 結 果 老 闆 將 維 護 商 叫 來 罵 了 2 小 時 左 右 吧! 後 來, 維 護 商 發 現 原 來 硬 碟 的 總 空 間 還 有 很 多, 只 是 某 個 磁 區 填 滿 了, 偏 偏 該 研 究 生 就 是 要 將 資 料 copy 去 那 個 磁 區! 呵 呵! 後 來 那 個 研 究 生 就 被 命 令 再 也 不 許 碰 Sun 主 機 了 ~~ 這 裡 要 請 大 家 再 複 習 一 下, 我 們 的 硬 碟 磁 區 規 劃 中, primary 磁 區 每 一 顆 硬 碟 最 多 只 允 許 4 個, 其 他 的 就 放 置 在 Extended 磁 區 中 了! 而, 硬 碟 的 代 號 與 IDE 的 插 槽 是 有 關 係 的! 如 果 忘 記 了, 那 就 回 去 安 裝 Linux 那 一 章 複 習 一 下 吧! 好 了! 假 設 我 只 有 一 棵 硬 碟, 且 放 在 IDE 的 master, 那 麼 我 的 硬 碟 就 是 /dev/hda 囉! 而 在 這 顆 硬 碟 中 的 分 割 磁 區 就 可 以 由 /dev/hda1 開 始 向 上 加! OK, 那 麼 使 用 df -k 之 後, 假 設 我 的 硬 碟 分 為 /dev/hda1, /dev/hda2, /dev/hda3, /dev/hda5 file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 與 /dev/hda6, 咦! /dev/hda4 跑 去 哪 裡 了! 呵 呵! 其 實 /dev/hda4 通 常 就 是 Extended 磁 區 啦! 而 後 面 的 /dev/hda5, /dev/hda6 等 磁 區 就 是 由 /dev/hda4 所 切 出 來 的! 所 以 /dev/ hda5 + /dev/hda6 = /dev/hda4! 當 然, 如 果 還 有 沒 有 顯 示 出 來 的, 例 如 Swap, 則 /dev/ hda4 還 有 可 能 更 大 呦! 那 麼 來 解 釋 一 下 上 面 的 資 料 吧! Filesystem: 代 表 該 檔 案 系 統 是 在 那 個 partition 啊, 所 以 列 出 裝 置 名 稱 ; 1k-blocks: 說 明 底 下 的 數 字 單 位 是 1KB 呦! 可 利 用 -h 或 -m 來 改 變 容 量 ; Used: 顧 名 思 義, 就 是 使 用 掉 的 硬 碟 空 間 啦! Available: 也 就 是 剩 下 的 磁 碟 空 間 大 小 ; Use%: 就 是 磁 碟 的 使 用 率 啦! 如 果 使 用 率 高 達 90% 以 上 時, 最 好 需 要 注 意 一 下 了, 免 得 容 量 不 足 造 成 系 統 問 題 喔! ( 例 如 最 容 易 被 灌 爆 的 /var/spool/mail 這 個 放 置 郵 件 的 磁 碟 ) Mounted on: 就 是 磁 碟 掛 載 的 目 錄 所 在 啦!( 掛 載 點 啦!) 另 外, 需 要 注 意 的 是, 如 果 使 用 -a 這 個 參 數 時, 系 統 會 出 現 /proc 這 個 磁 區, 但 是 裡 面 的 東 西 都 是 0, 不 要 緊 張! /proc 的 東 西 都 是 Linux 系 統 所 需 要 載 入 的 系 統 資 料, 而 且 是 掛 載 在 記 憶 體 當 中 的, 所 以 當 然 沒 有 佔 任 何 的 硬 碟 空 間 囉! du [root@linux ~]# du [-ahskm] 檔 案 或 目 錄 名 稱 參 數 : -a : 列 出 所 有 的 檔 案 與 目 錄 容 量, 因 為 預 設 僅 統 計 目 錄 底 下 的 檔 案 量 而 已 -h : 以 人 們 較 易 讀 的 容 量 格 式 (G/M) 顯 示 ; -s : 列 出 總 量 而 已, 而 不 列 出 每 個 各 別 的 目 錄 佔 用 容 量 ; -k : 以 KBytes 列 出 容 量 顯 示 ; -m : 以 MBytes 列 出 容 量 顯 示 ; 範 例 : 範 例 一 : 列 出 目 前 目 錄 下 的 所 有 檔 案 容 量 [root@linux ~]# du [root@vbird ~]# du 16./.gnome2 16./.ssh... 中 間 省 略... 292. # 直 接 輸 入 du 沒 有 加 任 何 參 數 時, 則 du 會 分 析 目 前 所 在 目 錄 # 的 檔 案 與 目 錄 所 佔 用 的 硬 碟 空 間 但 是, 實 際 顯 示 時, 僅 會 顯 示 目 錄 容 量, # 但 我 的. 目 錄 有 很 多 檔 案 沒 有 被 列 出 來, 所 以, 全 部 的 目 錄 相 加 不 會 等 於. 的 容 量 喔! 範 例 二 : 同 範 例 一, 但 是 將 檔 案 的 容 量 也 列 出 來 [root@linux ~]# du -a 12./install.log.syslog 16./.gnome2 16./.ssh file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 76./install.log 16./.bash_history 4./.bashrc... 中 間 省 略... 292. # 加 上 這 個 -a 參 數 後, 就 會 將 目 錄 底 下 的 檔 案 也 一 起 列 示 出 來, # 而 不 是 僅 列 出 檔 案 資 訊 而 已! 注 意 囉 ~ ^_^ 範 例 三 : 檢 查 根 目 錄 底 下 每 個 目 錄 所 佔 用 的 容 量 [root@linux ~]# du -sm /* 7 /bin 14 /boot... 中 間 省 略... 385 /proc... 中 間 省 略... 1 /tmp 2944 /usr 79 /var # 這 是 個 很 常 被 使 用 的 功 能 囉 ~ 利 用 萬 用 字 元 * 來 代 表 每 個 目 錄, # 所 以, 如 果 想 要 檢 查 某 個 目 錄 下, 那 個 次 目 錄 佔 用 最 大 的 容 量, 就 可 以 用 這 個 方 法 找 出 來 # 值 得 注 意 的 是, 如 果 您 剛 剛 安 裝 好 Linux 時, 那 麼 整 個 系 統 容 量 最 大 的 應 該 是 /usr # 那 個 目 錄, 而 /proc 雖 然 有 列 出 容 量, 但 是 那 個 容 量 是 在 記 憶 體 中, 不 佔 硬 碟 空 間 在 Windows 底 下 可 以 使 用 檔 案 總 管 來 管 理 你 的 磁 碟, 在 Linux 底 下 也 可 以 輕 易 的 以 du 來 知 道 目 前 磁 碟 的 檔 案 容 量 耶! 在 預 設 的 情 況 下, 容 量 的 輸 出 是 以 KB 來 設 計 的, 如 果 你 想 要 知 道 目 錄 佔 了 多 少 MB, 那 麼 就 使 用 -m 這 個 參 數 即 可 囉! 而, 如 果 你 只 想 要 知 道 該 目 錄 佔 了 多 少 容 量 的 話, 呵 呵, 使 用 -s 就 可 以 啦! 另 外, 如 同 上 面 的 範 例 三, 可 以 利 用 萬 用 字 元 * 來 加 快 你 的 搜 尋 喔! 連 結 檔 的 介 紹 : ln 什 麼 是 連 結 檔 呢? 其 實 連 結 檔 有 點 類 似 Windows 底 下 的 捷 徑! 也 就 是 很 多 的 連 結 檔 案 ( link file ) 其 實 都 指 向 同 一 個 來 源 檔 案 ( source file )! 不 過, 在 所 有 的 檔 案 類 型 當 中, 連 結 檔 算 是 比 較 難 理 解 的 一 部 份 了! 因 為 連 結 檔 還 分 成 Hard link 與 symbolic link 兩 種, 這 兩 種 連 結 檔 在 架 構 上 是 完 全 不 一 樣 的 咚 咚, 底 下 就 來 好 好 的 談 一 談 先! Hard Link ( 硬 式 連 結 或 實 際 連 結 ) 在 前 一 節 當 中, 我 們 提 到 檔 案 的 讀 取 方 式 為 : 1. 先 由 一 層 一 層 的 目 錄 取 得 檔 案 相 關 的 關 連 資 料, 2. 再 到 對 應 的 inode 取 得 檔 案 的 屬 性, 以 及 檔 案 內 容 資 料 所 在 的 Block, 3. 最 後 到 Block area 取 得 檔 案 的 資 料 那 麼 hard link 怎 麼 製 作 檔 案 的 連 結 呢?! 很 簡 單, Hard Link 只 是 在 某 個 目 錄 下 新 增 file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 一 個 該 檔 案 的 關 連 資 料 而 已! 舉 個 例 子 來 說, 假 設 我 的 /root/crontab 為 一 個 hard link 的 檔 案, 他 連 結 到 /etc/crontab 這 個 檔 案, 也 就 是 說, 其 實 /root/crontab 與 /etc/crontab 是 同 一 個 檔 案, 只 是 有 兩 個 目 錄 ( /etc 與 /root ) 記 錄 了 crontab 這 個 檔 案 的 關 連 資 料 罷 了! 也 就 是 說, 我 由 /etc 這 個 目 錄 所 記 錄 的 關 連 資 料 可 知 道 crontab 的 inode 放 置 在 A 處, 而 由 /root 這 個 目 錄 下 的 關 連 資 料, crontab 同 樣 也 指 到 A 處 的 inode! 所 以 囉, crontab 這 個 檔 案 的 inode 與 block 都 沒 有 改 變, 有 的 只 是 有 兩 個 目 錄 記 錄 了 關 連 資 料 那 這 樣 有 什 麼 好 處 呢? 最 大 的 好 處 就 是 安 全! 如 同 上 面 提 到 的 /root/crontab 與 /etc/ crontab 中, 不 管 哪 一 個 檔 案 被 刪 除 了, 其 實 僅 是 移 除 一 筆 目 錄 底 下 的 檔 案 關 連 性 資 料, 並 沒 有 更 動 到 原 本 檔 案 的 inode 與 block 資 料 呢! 而 且, 不 論 由 那 個 目 錄 連 結 到 正 確 的 crontab 的 inode 與 block, 都 可 以 正 確 無 誤 的 進 行 資 料 的 修 改 喔! ^_^ 一 般 來 說, 使 用 hard link 設 定 連 結 檔 時, 磁 碟 的 空 間 與 inode 的 數 目 都 不 會 改 變! 由 上 面 的 說 明 來 看, 我 們 可 以 知 道, hard link 只 是 在 某 個 目 錄 下 的 block 多 寫 入 一 個 關 連 資 料, 所 以 當 然 不 會 用 掉 inode 與 磁 碟 空 間 囉! Tips: 其 實 可 能 會 改 變 的, 那 就 是 當 目 錄 的 Block 被 用 完 時, 就 可 能 會 新 加 一 個 block 來 記 錄, 而 導 致 磁 碟 空 間 的 變 化! 不 過, 一 般 hard link 所 用 掉 的 關 連 資 料 量 很 小, 所 以 通 常 不 會 改 變 inode 與 磁 碟 空 間 的 大 小 喔! 由 於 hard link 是 在 同 一 個 partition 上 面 進 行 資 料 關 連 的 建 立, 所 以 hard link 是 有 限 制 的 : 不 能 跨 Filesystem; 不 能 link 目 錄 不 能 跨 Filesystem 還 好 理 解, 因 為 hard link 本 來 就 是 在 一 個 partition 內 建 立 關 連 性 的, 那 不 能 hard link 到 目 錄 又 是 怎 麼 回 事 呢? 這 是 因 為 如 果 使 用 hard link 連 結 到 目 錄 時, 連 結 的 資 料 被 需 要 連 同 被 連 結 目 錄 底 下 的 所 有 資 料 都 建 立 連 結, 舉 例 來 說, 如 果 你 要 將 /etc 使 用 硬 式 連 結 建 立 一 個 /etc_hd 的 目 錄 時, 那 麼 在 /etc_hd 底 下 的 所 有 資 料 同 時 都 與 /etc 底 下 的 資 料 要 建 立 hard link 的, 而 不 能 僅 是 連 結 到 /etc_hd 與 /etc 而 已 並 且, 未 來 如 果 需 要 在 /etc_hd 底 下 建 立 新 檔 案 時, 連 帶 的, /etc 底 下 的 資 料 又 得 要 建 立 一 次 hard link, 因 此 造 成 環 境 相 當 大 的 複 雜 度 所 以 囉, 目 前 hard link 對 於 目 錄 暫 時 還 是 不 支 援 的 啊! Symbolic Link ( 符 號 連 結, 亦 即 是 捷 徑 ) 相 對 於 hard link, Symbolic link 可 就 好 理 解 多 了, 基 本 上, Symbolic link 就 是 在 建 立 一 個 獨 立 的 檔 案, 而 這 個 檔 案 會 讓 資 料 的 讀 取 指 向 他 link 的 那 個 檔 案 內 容! 由 於 只 是 利 用 檔 案 來 做 為 指 向 的 動 作, 所 以, 當 來 源 檔 被 刪 除 之 後,symbolic link 的 檔 案 會 開 不 了, 會 一 直 說 無 法 開 啟 某 檔 案! 這 裡 還 是 得 特 別 留 意, 這 個 Symbolic file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 Link 與 Windows 的 捷 徑 可 以 給 他 劃 上 等 號, 由 Symbolic link 所 建 立 的 檔 案 為 一 個 獨 立 的 新 的 檔 案, 所 以 會 佔 用 掉 inode 與 block 喔! 由 上 面 的 說 明 來 看, 似 乎 hard link 比 較 安 全, 因 為 即 使 某 一 個 目 錄 下 的 關 連 資 料 被 殺 掉 了, 也 沒 有 關 係, 只 要 有 任 何 一 個 目 錄 下 存 在 著 關 連 資 料, 那 麼 該 檔 案 就 不 會 不 見! 舉 上 面 的 例 子 來 說, 我 的 /etc/crontab 與 /root/crontab 指 向 同 一 個 檔 案, 如 果 我 刪 除 了 /etc/ crontab 這 個 檔 案, 該 刪 除 的 動 作 其 實 只 是 將 /etc 目 錄 下 關 於 crontab 的 關 連 資 料 拿 掉 而 已, crontab 所 在 的 inode 與 block 其 實 都 沒 有 被 變 動 喔! 不 過, 不 幸 的 是, 由 於 Hard Link 的 限 制 太 多 了, 包 括 無 法 做 目 錄 的 link, 所 以 在 用 途 上 面 是 比 較 受 限 的! 反 而 是 Symbolic Link 的 使 用 方 面 較 廣 喔! 好 了, 說 的 天 花 亂 墜, 看 您 也 差 不 多 快 要 昏 倒 了! 沒 關 係, 實 作 一 下 就 知 道 怎 麼 回 事 了! 要 製 作 連 結 檔 就 必 須 要 使 用 ln 這 個 指 令 呢! [root@linux ~]# ln [-sf] 來 源 檔 目 標 檔 參 數 : -s : 如 果 ln 不 加 任 何 參 數 就 進 行 連 結, 那 就 是 hard link, 至 於 -s 就 是 symbolic link -f : 如 果 目 標 檔 存 在 時, 就 主 動 的 將 目 標 檔 直 接 移 除 後 再 建 立! 範 例 : 範 例 一 : 將 /etc/passwd 複 製 到 /tmp 底 下, 並 且 觀 察 inode 與 block [root@linux ~]# cd /tmp [root@linux tmp]# cp -a /etc/passwd. [root@linux tmp]# du -sb ; df -i. 26948. <== 先 注 意 一 下, 這 裡 的 容 量 是 多 少! Filesystem Inodes IUsed IFree I /dev/hda1 1537088 144016 1393072 10 # 利 用 du 與 df 來 檢 查 一 下 目 前 的 參 數 ~ 那 個 du -sb # 是 計 算 整 個 /tmp 底 下 有 多 少 bytes 的 容 量 啦! 範 例 二 : 將 /tmp/passwd 製 作 hard link 成 為 passwd-hd 檔 案 [root@linux tmp]# ln passwd passwd-hd [root@linux tmp]# du -sb ; df -i. 26948. Filesystem Inodes IUsed IFree I /dev/hda1 1537088 144016 1393072 10 # 仔 細 看, 即 使 多 了 一 個 檔 案 在 /tmp 底 下, 整 個 inode 與 block 的 容 量 並 沒 有 改 變! [root@linux tmp]# ls -il passwd* 1242760 -rw-r--r-- 2 root root 1746 Jun 29 01:03 1242760 -rw-r--r-- 2 root root 1746 Jun 29 01:03 # 原 來 是 指 向 同 一 個 inode 啊! 這 是 個 重 點 啊! 另 外, 那 個 第 二 欄 的 連 結 數 也 會 增 加! 範 例 三 : 將 /tmp/passwd 建 立 一 個 符 號 連 結 [root@linux tmp]# ln -s passwd passwd-so [root@linux tmp]# ls -li passwd* 1242760 -rw-r--r-- 2 root root 1746 Jun 29 01 1242760 -rw-r--r-- 2 root root 1746 Jun 29 01 1242806 lrwxrwxrwx 1 root root 6 Jul 23 20:02 # 仔 細 看 喔, 這 個 passwd-so 指 向 的 inode number 不 同 了! 這 是 一 個 新 的 檔 案 ~ # 這 個 檔 案 的 內 容 是 指 向 passwd 的, 你 可 以 看 到 這 個 檔 案 的 大 小, 是 6bytes, file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 # 怎 麼 來 的? 因 為 passwd 共 有 六 個 字 元 啊! 哈 哈! 沒 錯 ~ 這 個 連 結 檔 的 內 容 只 是 填 寫 # 連 結 的 目 標 檔 案 檔 名 而 已! 所 以, 你 的 連 結 檔 檔 名 ( 有 時 候 含 路 徑 ) 有 多 長, 檔 案 就 多 大! [root@linux tmp]# du -sb ; df -i. 26954. Filesystem Inodes IUsed IFree I /dev/hda1 1537088 144017 1393071 10 # 呼 呼! 整 個 容 量 與 inode 使 用 數 都 改 變 囉 ~ 確 實 如 此 啊! 範 例 四 : 刪 除 原 始 檔 案 passwd, 其 他 兩 個 檔 案 是 否 能 夠 開 啟? [root@linux tmp]# rm passwd [root@linux tmp]# cat passwd-hd... 正 常 顯 示 完 畢! [root@linux tmp]# cat passwd-so cat: passwd-so: No such file or directory # 怕 了 吧?! 竟 然 無 法 正 常 的 開 啟 這 個 檔 案 呢 ~ Tips: 還 記 得 上 一 章 當 中, 我 們 提 到 的 /tmp 這 個 目 錄 是 幹 嘛 用 的 嗎? 是 給 大 家 作 為 暫 存 檔 用 的 啊! 所 以, 您 會 發 現, 過 去 我 們 在 進 行 測 試 時, 都 會 將 資 料 移 動 到 /tmp 底 下 去 練 習 ~ 嘿 嘿! 因 此, 有 事 沒 事, 記 得 將 /tmp 底 下 的 一 些 怪 異 的 資 料 清 一 清 先! 要 注 意 囉! 使 用 ln 如 果 不 加 任 何 參 數 的 話, 那 麼 就 是 Hard Link 囉! 如 同 上 面 的 情 況, 增 加 了 hard link 之 後, 可 以 發 現 使 用 ls -l 時, 顯 示 的 link 那 一 欄 屬 性 增 加 了! 而 如 果 這 個 時 候 砍 掉 passwd 會 發 生 什 麼 事 情 呢? 呵 呵! passwd-hd 的 內 容 還 是 會 跟 原 來 passwd 相 同, 但 是 passwd-so 就 會 找 不 到 該 檔 案 啦! 就 是 這 樣! 瞭 解 了 嗎?! 而 如 果 ln 使 用 -s 的 參 數 時, 就 做 成 差 不 多 是 Windows 底 下 的 捷 徑 的 意 思 ( Symbolic Link, 較 常 用! ) 當 你 修 改 Linux 下 的 link 檔 案 時, 則 更 動 的 其 實 是 原 始 檔, 呵 呵, 所 以 不 論 你 的 這 個 原 始 檔 被 連 結 到 哪 裡 去, 只 要 你 修 改 了 連 結 檔, 呵 呵! 原 始 檔 就 跟 著 變 囉! 以 上 面 為 例, 由 於 你 使 用 -s 的 參 數 建 立 一 個 名 為 passwd-so 的 檔 案, 則 你 修 改 passwd-so 時, 其 內 容 與 passwd 完 全 相 同, 並 且, 當 你 按 下 儲 存 之 後, 被 改 變 的 將 是 passwd 這 個 檔 案! 此 外, 如 果 你 做 了 底 下 這 樣 的 連 結 : ln -s /bin /root/bin 那 麼 如 果 你 進 入 /root/bin 這 個 目 錄 下, 請 注 意 呦! 該 目 錄 其 實 是 /bin 這 個 目 錄, 因 為 你 做 了 連 結 檔 了! 所 以, 如 果 你 進 入 /root/bin 這 個 剛 剛 建 立 的 連 結 目 錄, 並 且 將 其 中 的 資 料 殺 掉 時, 嗯! /bin 裡 面 的 資 料 就 通 通 不 見 了! 這 點 請 千 萬 注 意! 並 不 是 /root 底 下 的 資 料 都 是 root 的! 還 需 要 注 意 一 下 該 屬 性 才 行!( 其 實 可 以 透 過 pwd -P 去 觀 察!) 基 本 上, Symbolic link 的 用 途 比 較 廣, 所 以 您 要 特 別 留 意 symbolic link 的 用 法 呢! 未 來 一 定 還 會 常 常 用 到 的 啦! file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 關 於 目 錄 的 link 數 量 : 或 許 您 已 經 發 現 了, 那 就 是, 當 我 們 以 hard link 進 行 檔 案 的 連 結 時, 可 以 發 現, 在 ls -l 所 顯 示 的 第 二 欄 位 會 增 加 一 才 對, 那 麼 請 教, 如 果 建 立 目 錄 時, 他 預 設 的 link 數 量 會 是 多 少? 讓 我 們 來 想 一 想, 一 個 空 目 錄 裡 面 至 少 會 存 在 些 什 麼? 呵 呵! 就 是 存 在. 與.. 這 兩 個 目 錄 啊! 那 麼, 當 我 們 建 立 一 個 新 目 錄 名 稱 為 /tmp/testing 時, 基 本 上 會 有 三 個 東 西, 那 就 是 : /tmp/testing /tmp/testing/. /tmp/testing/.. 而 其 中 /tmp/testing 與 /tmp/testing/. 其 實 是 一 樣 的! 都 代 表 該 目 錄 啊 ~ 而 /tmp/testing/.. 則 代 表 /tmp 這 個 目 錄, 所 以 說, 當 我 們 建 立 一 個 新 的 目 錄 時, 新 的 目 錄 的 link 數 為 2, 而 上 層 目 錄 的 link 數 則 會 增 加 1 不 信 的 話, 我 們 來 作 個 測 試 看 看 : [root@linux ~]# ls -ld /tmp drwxrwxrwt 5 root root 4096 Oct 11 05:15 /tm [root@linux ~]# mkdir /tmp/testing1 [root@linux ~]# ls -ld /tmp drwxrwxrwt 6 root root 4096 Oct 11 13:58 /tm [root@linux ~]# ls -ld /tmp/testing1 drwxr-xr-x 2 root root 4096 Oct 11 13:58 /tm 瞧! 原 本 的 所 謂 上 層 目 錄 /tmp 的 link 數 量 由 5 增 加 為 6, 至 於 新 目 錄 /tmp/testing 則 為 2, 這 樣 可 以 理 解 目 錄 的 link 數 量 的 意 義 了 嗎?! ^_^ 磁 碟 的 分 割 格 式 化 檢 驗 與 掛 載 : 對 於 一 個 系 統 管 理 者 ( root ) 而 言, 磁 碟 的 的 管 理 是 相 當 重 要 的 一 環, 尤 其 近 來 硬 碟 已 經 漸 漸 的 被 當 成 是 消 耗 品 了... 好 了, 如 果 我 們 想 要 在 系 統 裡 面 新 增 一 顆 硬 碟 時, 應 該 有 哪 些 動 作 需 要 做 的 呢? 有 幾 個 動 作 囉 : 1. 對 磁 碟 進 行 分 割, 以 建 立 可 用 的 partition ; 2. 對 該 partition 進 行 格 式 化 ( format ), 以 建 立 系 統 可 用 的 filesystem; 3. 若 想 要 仔 細 一 點, 則 可 對 剛 剛 建 立 好 的 filesystem 進 行 檢 驗 ; 4. 在 Linux 系 統 上, 需 要 建 立 掛 載 點 ( 亦 即 是 目 錄 ), 並 將 他 掛 載 上 來 ; 當 然 囉, 在 上 述 的 過 程 當 中, 還 有 很 多 需 要 考 慮 的, 例 如 磁 碟 分 割 槽 (partition) 需 要 定 多 大? 是 否 需 要 加 入 journal 的 功 能?inode 與 block 的 數 量 應 該 如 何 規 劃 等 等 的 問 題 但 是 這 些 問 題 的 決 定, 都 需 要 與 您 的 主 機 用 途 來 加 以 考 量 的 ~ 所 以, 在 這 個 小 節 裡 面, 鳥 哥 僅 會 介 紹 幾 個 動 file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 作 而 已, 更 詳 細 的 設 定 值, 則 需 要 以 您 未 來 的 經 驗 來 參 考 囉! 磁 碟 分 割 : fdisk [root@linux ~]# fdisk [-l] 裝 置 名 稱 參 數 : -l : 輸 出 後 面 接 的 裝 置 所 有 的 partition 內 容 若 僅 有 fdisk -l 時, 則 系 統 將 會 把 整 個 系 統 內 能 夠 搜 尋 到 的 裝 置 的 partition 均 列 出 來 範 例 : 範 例 : 查 閱 您 的 第 一 顆 硬 碟 內 的 相 關 資 訊 [root@linux ~]# fdisk /dev/hda <== 仔 細 看, 不 要 加 上 數 字 喔! The number of cylinders for this disk is set to 2494. There is nothing wrong 1024, with that, but this is and could in certain setups cause problems wit 1) software that runs at boot time (e.g., old 2) booting and partitioning software from othe (e.g., DOS FDISK, OS/2 FDISK) # 在 你 進 入 fdisk 這 支 程 式 的 工 作 畫 面 後, 如 果 您 的 硬 碟 太 大 的 話, 就 會 出 現 如 上 訊 息 # 這 個 訊 息 僅 是 在 告 知 你, 因 為 某 些 舊 版 的 軟 體 與 作 業 系 統 並 無 法 支 援 大 於 1024 # 磁 柱 (cylinter) 後 的 磁 區 使 用, 不 過 我 們 Linux 是 沒 問 題 啦! Command (m for help): m <== 輸 入 m 後, 就 會 看 到 底 下 這 些 指 令 介 紹 Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) # 這 裡 注 意 一 下, 使 用 fdisk 這 支 程 式 是 完 全 不 需 要 背 指 令 的, 因 為 按 下 m 之 後, # 立 刻 就 會 有 一 堆 指 令 說 明 跑 出 來 了! 在 上 面 的 指 令 當 中, 比 較 重 要 的 有 : # d 刪 除 一 個 磁 碟 分 割 槽 n 新 增 一 個 磁 碟 分 割 槽 p 將 目 前 的 磁 碟 分 割 槽 列 出 來 # q 不 儲 存 離 開! 這 個 重 要! w 寫 入 磁 碟 分 割 表 後 離 開! 這 個 危 險! Command (m for help): p <== 這 裡 可 以 輸 出 目 前 磁 碟 的 狀 態 Disk /dev/hda: 20.5 GB, 20520493056 bytes <== 硬 碟 的 255 heads, 63 sectors/track, 2494 cylinders file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 Units = cylinders of 16065 * 512 = 8225280 byt Device Boot Start End Blocks Id /dev/hda1 * 1 765 6144 /dev/hda2 766 1147 3068 /dev/hda3 1148 1274 1020 /dev/hda4 1275 2494 9799 /dev/hda5 1275 2494 9799 # 由 上 面 的 資 訊, 您 可 以 知 道, 我 的 硬 碟 是 20GB 的, 而 Head/Sector/Cylinder # 的 數 量 為 255/63/2494, 另 外, 可 以 看 到 上 頭 的 Boot 嗎? 那 個 地 方 代 表 有 開 機 資 訊 的 # partition! 另 外, 那 個 start 與 end 則 是 指 每 一 個 partition 的 開 始 與 結 束 的 # Cylinder 號 碼! 這 樣 可 以 瞭 解 我 們 前 面 一 直 強 調 的, partition 最 小 單 位 為 cylinder # 此 外, 上 頭 顯 示 的 那 個 Id 為 主 要 檔 案 格 式 的 代 號, 你 可 以 按 下 l ( L 的 小 寫 ) # 就 可 以 知 道 我 們 linux 的 fdisk 認 識 多 少 檔 案 系 統 囉! ^_^ # 至 於 Blocks 則 以 KBytes 來 顯 示 該 partition 的 容 量 的 Command (m for help): q # 想 要 不 儲 存 離 開 嗎? 按 下 q 就 對 了! 不 要 隨 便 按 w 啊! 範 例 : 查 閱 目 前 系 統 內 的 所 有 partition 有 哪 些? [root@linux ~]# fdisk -l Disk /dev/hda: 20.5 GB, 20520493056 bytes 255 heads, 63 sectors/track, 2494 cylinders Units = cylinders of 16065 * 512 = 8225280 byt Device Boot Start End Blo /dev/hda1 * 1 765 6144 /dev/hda2 766 1147 3068 /dev/hda3 1148 1274 1020 /dev/hda4 1275 2494 9799 /dev/hda5 1275 2494 9799 Disk /dev/hdb: 30.7 GB, 30735581184 bytes 255 heads, 63 sectors/track, 3736 cylinders Units = cylinders of 16065 * 512 = 8225280 byt Device Boot Start End Blo /dev/hdb1 * 1 3633 2918204 # 由 於 我 的 這 個 系 統 有 兩 顆 硬 碟, 下 達 fdisk -l 的 話, 所 有 的 partition 都 看 到 了! # 另 外, 我 可 以 確 定 我 的 /dev/hdb 還 有 剩 餘 空 間 喔! 因 為 由 上 面 的 資 訊 看 來, # 我 的 /dev/hdb 的 磁 柱 應 該 可 以 到 3736, 但 是 目 前 只 用 到 3633, 所 以, # 就 肯 定 還 有 剩 餘 空 間 拉! 等 一 下 我 們 就 用 這 個 來 測 試 囉! 還 記 得 我 們 剛 剛 在 認 識 EXT2 檔 案 系 統 裡 面 提 到 的 partition 部 分 內 容 嗎? 其 實 fdisk 最 主 要 的 工 作 就 是 在 修 改 partition table 而 已, 並 沒 有 實 際 的 將 硬 碟 切 切 割 割 的 啦! 他 會 定 義 出 某 一 個 partition 是 由 n1 磁 柱 到 n2 磁 柱 之 間 這 樣 的 資 訊! 因 此, 如 果 硬 碟 分 割 錯 誤 時, 只 要 在 format 之 前 將 partition tables 復 原, 那 麼 就 可 以 將 硬 碟 原 來 的 資 料 救 回 來 囉! 所 以, 一 個 好 的 管 理 員, 有 時 候 也 會 將 自 己 的 partition table 記 錄 下 來, 以 備 不 時 之 需 呀! file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 這 個 fdisk 只 有 root 才 能 執 行, 此 外, 請 注 意, 使 用 的 裝 置 名 稱 請 不 要 加 上 數 字, 因 為 partition 是 針 對 整 個 硬 碟 裝 置 而 不 是 某 個 partition 呢! 所 以 執 行 fdisk /dev/hdb1 就 會 發 生 錯 誤 啦! 要 使 用 fdisk /dev/hdb 才 對! 那 麼 我 們 知 道 可 以 利 用 fdisk 來 查 閱 硬 碟 的 partition 資 訊 外, 底 下 再 來 說 一 說 進 入 fdisk 之 後 的 幾 個 常 做 的 工 作! Tips: 你 可 以 使 用 fdisk 在 您 的 硬 碟 上 面 胡 搞 瞎 搞 的 進 行 實 際 操 作, 都 不 打 緊, 但 是 請 千 萬 記 住, 不 要 按 下 w 即 可! 離 開 的 時 候 按 下 q 就 萬 事 無 妨 囉! 刪 除 磁 碟 分 割 槽 剛 剛 的 fdisk 結 果 當 中, 我 知 道 我 的 /dev/hdb 僅 有 /dev/hdb1 而 已, 那 麼 假 設 我 要 將 這 個 /dev/hdb1 刪 除 的 話, 可 以 怎 麼 做? 1. fdisk /dev/hdb : 先 進 入 fdisk 畫 面 ; 2. p : 先 看 一 下 磁 區 的 資 訊, 假 設 要 殺 掉 /dev/hdb1; 3. d : 這 個 時 候 會 要 你 選 擇 一 個 partition, 就 選 1 囉! 4. w (or) q : 按 w 可 儲 存 到 磁 碟 資 料 表 中, 並 離 開 fdisk ; 當 然 囉, 如 果 你 反 悔 了, 呵 呵, 直 接 按 下 q 就 可 以 取 消 剛 剛 的 刪 除 動 作 了! [root@linux ~]# fdisk /dev/hdb 1. 先 看 看 整 個 結 果 是 如 何 ~ Command (m for help): p Disk /dev/hdb: 30.7 GB, 30735581184 bytes 255 heads, 63 sectors/track, 3736 cylinders Units = cylinders of 16065 * 512 = 8225280 b Device Boot Start End B /dev/hdb1 * 1 3633 2918 2. 按 下 d 給 他 刪 除 吧! Command (m for help): d Selected partition 1 # 因 為 我 們 這 個 磁 碟 僅 有 1 個 partition, 所 以 系 統 會 自 動 幫 我 們 ~ Command (m for help): p Disk /dev/hdb: 30.7 GB, 30735581184 bytes 255 heads, 63 sectors/track, 3736 cylinders Units = cylinders of 16065 * 512 = 8225280 b Device Boot Start End B # 看 不 見 了! partition 就 這 樣 不 見 了! file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 Command (m for help): q # 鳥 哥 這 裡 僅 是 做 一 個 練 習 而 已, 所 以, 按 下 q 就 能 夠 離 開 囉 ~ 新 增 磁 碟 分 割 槽 那 麼 如 何 新 增 partition 呢? 以 鳥 哥 剛 剛 的 /dev/hdb 為 例, 我 的 /dev/hdb 有 一 個 /dev/ hdb1, 而 且 還 有 剩 餘 空 間, 那 我 如 何 利 用? 1. fdisk /dev/hdb : 先 進 入 fdisk 畫 面 中 ; 2. n: 新 增 一 個 磁 區, 這 個 時 候 系 統 會 問 你, 如 果 您 已 經 具 有 extended 磁 區 時, 那 麼 系 統 會 問 您, 您 要 新 增 的 是 Primary 還 是 Logical, 而 如 果 您 還 沒 有 extended, 那 麼 系 統 僅 會 問 你 要 新 增 Primary 還 是 Extended 除 此 之 外, 如 果 您 已 經 用 完 了 四 個 P + E 的 話, 那 麼 就 僅 有 Logical 可 以 選 擇 啦! 請 再 回 到 剛 剛 說 明 硬 碟 的 地 方 再 次 的 複 習 一 下 吧! 如 果 是 選 擇 primary 的 話, 請 按 p, 否 則 請 按 e (extended) 或 l (logical) 3. p : 由 於 選 擇 為 primary 所 以 就 會 按 下 p 囉! 4. 1-4 :primary 只 允 許 四 個, 所 以 這 裡 請 按 尚 未 被 使 用 的 那 一 個 磁 區 囉! 5. w : 同 樣 的 儲 存 離 開 囉! 好 了, 假 設 鳥 哥 想 要 將 我 剛 剛 的 /dev/hdb 剩 餘 空 間 分 為 兩 個 分 割 槽, 一 個 是 primary, 另 一 個 則 是 logical, 且 primary 只 要 100MBytes 就 夠 了! 其 他 的 都 分 給 logical, 那 可 以 這 麼 做! [root@linux ~]# fdisk /dev/hdb Command (m for help): n Command action e extended p primary partition (1-4) p <== 就 是 這 裡! 可 以 自 行 決 定 是 p 還 是 e 喔! Partition number (1-4): 4 <== 編 號 可 以 隨 意! First cylinder (3634-3736, default 3634): <= Using default value 3634 Last cylinder or +size or +sizem +100M or +sizek ( # 這 個 地 方 有 趣 了! 我 們 知 道 partition 是 由 n1 到 n2 的 磁 柱 (cylinder), # 但 是 我 們 對 於 磁 柱 的 大 小 不 容 易 掌 握! 這 個 時 候 可 以 填 入 +100M 來 讓 系 統 自 動 幫 我 們 找 出 # 最 接 近 100M 的 那 個 cylinder 號 碼! 因 為 不 可 能 剛 好 等 於 100MBytes 啦! Command (m for help): p Disk /dev/hdb: 30.7 GB, 30735581184 bytes 255 heads, 63 sectors/track, 3736 cylinders Units = cylinders of 16065 * 512 = 8225280 b Device Boot Start End B /dev/hdb1 * 1 3633 291 /dev/hdb4 3634 3646 104422+ 83 Linux file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 # 這 個 就 是 剛 剛 建 立 起 來 的 primary partition 囉! 再 繼 續 吧! Command (m for help): n Command action e extended p primary partition (1-4) e Partition number (1-4): 2 First cylinder (3647-3736, default 3647): <== 這 Using default value 3647 Last cylinder or +size or +sizem <==Enter or +sizek ( Using default value 3736 Command (m for help): p Disk /dev/hdb: 30.7 GB, 30735581184 bytes 255 heads, 63 sectors/track, 3736 cylinders Units = cylinders of 16065 * 512 = 8225280 b Device Boot Start End B /dev/hdb1 * 1 3633 291 /dev/hdb2 3647 3736 722925 5 Extended /dev/hdb4 3634 3646 1 # 仔 細 看, 我 們 說 過, 1-4 號 是 磁 碟 保 留 的 號 碼, 所 以 這 個 號 碼 可 以 隨 意 設 定, # 不 一 定 要 由 1 開 始 呢! 但 是, 等 一 下 做 的 logical 就 一 定 是 由 5 開 始 累 加 了! Command (m for help): n Command action l logical (5 or over) p primary partition (1-4) l <== 使 用 的 是 logical 的 partition 喔! First cylinder (3647-3736, default 3647):<==Ent Using default value 3647 Last cylinder or +size or +sizem <==Enter or +sizek ( Using default value 3736 Command (m for help): p Disk /dev/hdb: 30.7 GB, 30735581184 bytes 255 heads, 63 sectors/track, 3736 cylinders Units = cylinders of 16065 * 512 = 8225280 b Device Boot Start End B /dev/hdb1 * 1 3633 291 /dev/hdb2 3647 3736 7 /dev/hdb4 3634 3646 1 /dev/hdb5 3647 3736 722893+ 83 Linux # 這 可 就 OK 囉 ~ 雖 然 新 作 出 三 個 partition, 不 過 僅 有 /dev/hdb4 與 # /dev/hdb5 可 以 用 啊! Command (m for help): w file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 The kernel still uses the old table. The new table will be used at the next reboo Syncing disks. # 有 的 時 候, 磁 碟 分 割 表 變 動 之 後, 得 要 重 新 開 機, 有 的 則 不 需 要 ~ # 上 面 的 訊 息 告 訴 我 們, 需 要 重 新 開 機 呢! 那 就 reboot 吧! 透 過 上 面 的 例 子, 您 可 以 清 楚 的 看 到, 呵 呵! 第 一 個 logical 是 在 5 號 呦!OK! 在 fdisk 完 成 之 後, 請 記 得 使 用 mke2fs 格 式 化 囉! 另 外, 請 注 意, 如 果 過 程 中 進 行 錯 誤 時, 那 麼 趕 緊 按 下 q 離 開 即 可! 操 作 環 境 的 說 明 以 root 的 身 份 進 行 硬 碟 的 partition 時, 最 好 是 在 單 人 維 護 模 式 底 下 比 較 安 全 一 些, 此 外, 在 進 行 fdisk 的 時 候, 如 果 該 硬 碟 某 個 partition 還 在 使 用 當 中, 那 麼 很 有 可 能 系 統 核 心 會 無 法 重 新 載 入 硬 碟 的 partition table, 解 決 的 方 法 就 是 將 該 使 用 中 的 partition 給 他 卸 載, 然 後 再 重 新 進 入 fdisk 一 遍, 重 新 寫 入 partition table, 那 麼 就 可 以 成 功 囉! 注 意 事 項 : 另 外, 請 注 意 一 下, 雖 然 一 顆 硬 碟 最 大 的 邏 輯 磁 區 可 以 到 達 63 號 ( 總 數, 包 含 1~4 的 primary partition ), 但 是 並 非 所 有 的 Linux distribution 都 會 將 所 有 的 邏 輯 磁 區 對 應 的 磁 碟 代 號 都 寫 入 系 統 當 中, 以 Red Hat 為 例, 他 僅 列 出 1~16 個 代 碼, 其 他 的 您 就 得 自 己 動 手 做 啦! 至 於 Fedora 的 話, 他 則 是 使 用 自 己 偵 測 的, 當 您 以 fdisk 設 定 好 了 partition table 之 後, 磁 碟 對 應 的 磁 碟 代 號 就 會 自 動 的 在 您 的 /dev/ 裡 頭 設 定 完 成 囉! 不 過, 有 的 時 候 您 還 是 得 自 己 設 定 一 下 磁 碟 代 碼 啦! 如 何 設 定 呢? 就 使 用 mknod 這 個 指 令 吧! 磁 碟 格 式 化 [root@linux ~]# mke2fs [-biclj] 裝 置 名 稱 參 數 : -b : 可 以 設 定 每 個 block 的 大 小, 目 前 支 援 1024, 2048, 4096 bytes 三 種 ; -i : 多 少 容 量 給 予 一 個 inode 呢? -c : 檢 查 磁 碟 錯 誤, 僅 下 達 一 次 -c 時, 會 進 行 快 速 讀 取 測 試 ; 如 果 下 達 兩 次 -c -c 的 話, 會 測 試 讀 寫 (read-write), 會 很 慢 ~ -L : 後 面 可 以 接 表 頭 名 稱 (Label), 這 個 label 是 有 用 的 喔! 後 面 會 講 ~ -j : 本 來 mke2fs 是 EXT2, 加 上 -j 後, 會 主 動 加 入 journal 而 成 為 EXT3 範 例 : 範 例 一 : 將 剛 剛 建 立 的 /dev/hdb5 格 式 化 成 為 ext3 吧! 且 名 稱 為 logical [root@linux ~]# mke2fs -j -L "logical" /dev/hdb5 mke2fs 1.37 (21-Mar-2005) Filesystem label=logical OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 90432 inodes, 180723 blocks 9036 blocks (5.00%) reserved for the super use First data block=0 Maximum filesystem blocks=188743680 6 block groups 32768 blocks per group, 32768 fragments per gr 15072 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840 Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting This filesystem will be automatically checked 180 days, whichever comes first. Use tune2fs # 這 樣 子 就 能 夠 將 我 們 的 系 統 給 他 建 立 起 來 囉 ~ 範 例 二 : 承 上 題, 如 果 將 block 改 為 2048, 且 inode 改 為 4096? [root@linux ~]# mke2fs -j -L "logical" -b 2048 -i 4096 /dev/hdb5 # 呈 現 出 來 的 結 果 大 致 與 範 例 一 相 似 ~ 不 過 就 是 block 大 小 與 inode 數 量 會 改 變! 這 是 用 來 將 磁 碟 格 式 化 成 Linux 系 統 檔 的 指 令 基 本 上, 只 要 寫 入 對 的 裝 置 檔 案 就 可 以 了 例 如 我 們 要 格 式 化 軟 碟 的 話, 或 是 新 的 硬 碟 /dev/hda5 等 等! 這 個 指 令 通 常 是 在 新 的 硬 碟 上 面 切 割 完 之 後, 再 加 以 格 式 化 的! 另 外, 如 果 要 將 舊 的 磁 區 格 式 化 成 ext2 格 式 的 話, 就 使 用 這 個 指 令 吧! 進 行 當 中 顯 示 的 訊 息 有 點 像 上 面 的 最 後 幾 行, 系 統 會 顯 示 目 前 的 格 式 化 的 預 設 值! 而 如 果 要 設 定 不 同 的 Block, 就 可 以 使 用 -b 這 個 參 數! 請 注 意 囉, 預 設 的 情 況 下, Block 是 4096! 此 外, 您 也 可 以 自 訂 inode table 呢! 而, 當 沒 有 指 定 的 時 候, mke2fs 使 用 ext2 為 格 式 化 檔 案 格 式, 若 加 入 j 時, 則 格 式 化 為 ext3 這 個 Journaling 的 filesystem 呦! 上 面 提 到 的 是 關 於 將 磁 碟 給 他 格 式 化 成 為 ext2/ext3 檔 案 系 統 的 指 令, 那 麼 如 果 想 要 格 式 化 成 為 其 他 的 檔 案 系 統 呢? 可 以 直 接 使 用 mkfs 這 個 指 令 喔! 這 個 指 令 其 實 是 將 幾 個 指 令 整 合 的 一 個 功 能 而 已! 實 際 上, 你 可 以 參 考 : ls -l /sbin/mkfs* 來 看 看 系 援 的 檔 案 格 式 呢! 利 用 man mkfs 就 能 夠 查 閱 囉! 接 下 來, 如 果 我 想 要 製 作 一 個 可 以 開 機 進 入 Linux 的 軟 碟 片 呢? 可 以 有 底 下 這 個 作 法 喔! mkbootdisk ( 製 作 軟 碟 開 機 片 ) [root@linux ~]# mkbootdisk --device /dev/fd0 `uname -r` 這 是 製 作 開 機 磁 片 的 指 令, 其 中, `uname -r` 是 目 前 Linux 系 統 所 使 用 的 核 心 版 本, 如 果 你 有 多 個 核 心 版 本 的 話, 你 可 以 直 接 輸 入 核 心 版 本 例 如 在 鳥 哥 的 系 統 中, 舊 的 核 心 還 是 有 保 留 的, 所 以 我 都 會 至 少 有 兩 個 核 心, 在 我 管 理 的 某 部 主 機 中, 核 心 file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 為 2.6.11-1.1369_FC4 及 2.6.12-1.1398_FC4, 那 麼 如 果 我 要 直 接 以 2.6.11-1.1369_FC4 來 開 機 的 話, 就 可 以 使 用 : mkbootdisk --device /dev/fd0 2.6.11-1. 這 個 時 候, mkbootdisk 就 會 以 /lib/modules 目 錄 下 的 資 料, 配 合 /boot 底 下 的 kernel 檔 案, 來 建 立 可 開 機 的 磁 碟 囉 ~ 建 立 軟 碟 開 機 片 一 直 是 個 好 主 意! 他 可 以 在 你 求 助 無 門 的 時 候 給 你 莫 大 的 幫 助 喔! 所 以, 建 立 一 個 新 的 軟 碟 開 機 片 是 一 個 好 主 意 啦! fdformat ( 進 行 軟 碟 低 階 格 式 化 ) [root@linux ~]# fdformat /dev/fd0h1440 這 是 用 來 低 階 格 式 化 軟 碟 的 指 令 ( 注 意 : 軟 碟 的 裝 置 檔 為 /dev/fd0 )! 在 上 面 的 裝 置 檔 案 為 /dev/fd0h1440, 其 中 加 在 /fd0 之 後 的 H1440 為 表 示 1.44MB 的 軟 碟 容 量! 在 低 階 格 式 化 之 後, 還 要 將 軟 碟 的 檔 案 格 式 化 為 Linux 的 ext2 之 型 態, 則 需 要 使 用 mke2fs 指 令! 磁 碟 檢 驗 : fsck, badblocks 現 在 也 建 立 好 了 新 的 partition 了, 也 format 好 了, 那 麼 有 沒 有 其 他 的 關 於 硬 碟 的 工 作 需 要 來 進 行 呢? 有 的, 就 是 需 要 怎 樣 來 檢 查 硬 碟 有 沒 有 壞 軌 呢? 那 個 就 是 fsck 這 個 工 具 的 用 途 啦! 此 外, 您 會 發 現 到, 在 / 這 個 目 錄 底 下 ( 其 實 只 要 有 掛 載 硬 碟 的 那 個 目 錄 底 下 都 有 這 個 目 錄 ) 會 有 一 個 特 殊 的 目 錄, 就 是 lost+found 這 個 目 錄 啦! 對 的! 就 是 當 你 處 理 完 fsck 之 後, 如 果 程 式 有 發 現 到 任 何 的 錯 誤 的 檔 案, 就 會 將 該 檔 案 的 資 料 給 他 丟 到 這 個 目 錄 當 中, 嘿 嘿! 所 以 當 你 發 現 你 的 Linux 目 錄 當 中 有 這 個 檔 案 時, 不 要 擔 心, 那 個 是 正 常 的 啦! 而 且 只 有 掛 載 partition 的 目 錄 ( 就 是 掛 載 點 ) 才 會 有 這 個 預 設 的 目 錄 囉! 還 有, 由 於 在 Linux 系 統 當 中, 為 了 增 加 系 統 效 能, 通 常 系 統 預 設 就 是 一 些 資 料 會 寫 在 記 憶 體 當 中, 並 不 會 直 接 將 資 料 寫 入 硬 碟 裡 面, 這 是 因 為 記 憶 體 的 速 度 要 比 硬 碟 快 上 若 干 倍 呀! 但 是 有 個 問 題 就 發 生 了, 萬 一 系 統 由 於 跳 電 或 者 是 其 他 的 莫 名 原 因, 造 成 系 統 的 shutdown 時, 唉 呀! 怎 麼 辦?! 系 統 就 完 蛋 啦! 所 以 囉, 我 們 需 要 在 某 些 特 定 的 時 候 讓 資 料 直 接 回 存 到 硬 碟 之 中 呀! 瞭 乎! 這 裡 提 供 幾 個 慣 用 的 指 令, 其 中, 那 個 fsck 是 相 當 重 要 的, 請 參 考 其 用 法 囉! fsck file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 [root@linux ~]# fsck [-AtCary] 裝 置 名 稱 參 數 : -t :fsck 可 以 檢 查 好 幾 種 不 同 的 filesystem, 而 fsck 只 是 一 支 綜 合 程 式 而 已 個 別 的 filesystem 的 檢 驗 程 式 都 在 /sbin 底 下, 您 可 以 使 用 ls -l /sbin/fsck* 去 檢 查 看 看, 就 知 道 有 幾 種 filesystem 囉 預 設 的 FC4 情 況 下, 至 少 有 : ext2, ext3, vfat, msdos 等 等 filesystem -A : 依 據 /etc/fstab 的 內 容, 將 所 有 的 裝 置 都 掃 瞄 一 次 ( 通 常 開 機 過 程 中 就 會 執 行 此 一 指 令 ) -a : 自 動 修 復 檢 查 到 的 有 問 題 的 磁 區, 所 以 你 不 用 一 直 按 y 囉! -r : 一 定 要 讓 使 用 者 決 定 是 否 需 要 修 復, 這 與 上 一 個 -a 剛 好 相 反! -y : 與 -a 類 似, 但 是 某 些 filesystem 僅 支 援 -y 這 個 參 數, 所 以 您 也 可 以 利 用 -y 啦! -C : 可 以 在 檢 驗 的 過 程 當 中, 使 用 一 個 長 條 圖 來 顯 示 目 前 的 進 度! -f : 強 制 檢 查! 一 般 來 說, 如 果 fsck 沒 有 發 現 任 何 unclean 的 旗 標, 不 會 主 動 進 入 細 部 檢 查 的, 如 果 您 想 要 強 制 fsck 進 入 細 部 檢 查, 就 得 加 上 -f 旗 標 囉! 範 例 : 範 例 一 : 將 前 面 我 們 建 立 的 /dev/hdb5 這 個 裝 置 給 他 檢 驗 一 下! [root@linux ~]# fsck -C -t ext3 /dev/hdb5 fsck 1.37 (21-Mar-2005) e2fsck 1.37 (21-Mar-2005) logical: clean, 11/181056 files, 21706/36144 # 如 果 一 切 沒 有 問 題, 就 會 出 現 上 述 的 訊 息 ~ 這 是 用 來 檢 查 與 修 正 硬 碟 錯 誤 的 指 令 注 意 : 通 常 只 有 身 為 root 且 你 的 系 統 有 問 題 的 時 候 才 使 用 這 個 指 令, 否 則 在 正 常 狀 況 下 使 用 此 一 指 令, 可 能 會 造 成 對 檔 案 的 危 害! 通 常 使 用 這 個 指 令 的 場 合 都 是 在 系 統 出 現 極 大 的 問 題, 導 致 你 在 Linux 開 機 的 時 候 得 進 入 單 人 單 機 模 式 下 進 行 維 護 的 行 為 時, 才 必 須 使 用 此 一 指 令! 另 外, 如 果 你 懷 疑 剛 剛 格 式 化 成 功 的 硬 碟 有 問 題 的 時 後, 也 可 以 使 用 fsck 來 檢 查 一 下 硬 碟 呦! 其 實 就 有 點 像 是 Windows 的 scandisk 啦! 此 外, 由 於 fsck 在 掃 瞄 硬 碟 的 時 候, 可 能 會 造 成 部 分 filesystem 的 損 壞, 所 以 執 行 fsck 時, 被 檢 查 的 partition 務 必 不 可 掛 載 到 系 統 上! 亦 即 是 需 要 在 卸 載 的 狀 態 喔! 常 常 我 們 會 發 現, 在 比 較 老 舊 的 機 器 上 ( 例 如 鳥 哥 的 p-166 ), 如 果 主 機 不 正 常 的 關 機 ( 例 如 跳 電 囉!), 那 麼 硬 碟 很 可 能 會 出 現 錯 誤 的 狀 況! 這 個 時 候 Linux 就 無 法 正 常 的 開 機! 這 個 時 候 就 需 要 輸 入 root 的 密 碼, 以 登 入 單 人 維 護 模 式 (run level 1), 然 後 下 達 fsck -y /dev/hdxxx 來 檢 查 你 的 硬 碟! 等 到 確 認 成 功 之 後, 就 使 用 reboot 來 重 新 啟 動 吧! badblocks file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 [root@linux ~]# badblocks -[svw] 裝 置 名 稱 參 數 : -s : 在 螢 幕 上 列 出 進 度 -v : 可 以 在 螢 幕 上 看 到 進 度 -w : 使 用 寫 入 的 方 式 來 測 試, 建 議 不 要 使 用 此 一 參 數, 尤 其 是 待 檢 查 的 裝 置 已 有 檔 案 時! 範 例 : [root@linux ~]# badblocks -sv /dev/hdb5 Checking blocks 0 to 722893 Checking for bad blocks (read-only test): do Pass completed, 0 bad blocks found. 這 是 用 來 檢 查 硬 碟 或 軟 碟 磁 區 有 沒 有 壞 軌 的 指 令! 跟 Windows 的 scandisk 相 同 功 能 啦! 不 過 由 於 fsck 的 功 能 比 較 強, 所 以 目 前 大 多 已 經 不 使 用 這 個 指 令 了! sync 在 正 常 的 狀 況 中, 由 於 為 了 增 加 系 統 的 效 率, 因 此, 很 多 時 候 進 行 中 的 程 式 產 生 的 程 序 之 暫 存 檔 案 都 不 會 直 接 存 至 磁 碟 機 當 中, 而 是 記 憶 在 記 憶 體 當 中! 由 於 記 憶 體 的 資 料 傳 遞 速 度 比 磁 碟 機 快 了 幾 十 倍, 所 以 如 此 一 來 將 有 助 於 整 個 系 統 的 效 率!! 然 而 這 也 產 生 了 一 個 困 擾, 那 就 是 當 你 的 系 統 不 正 常 關 機 的 時 候, 可 能 會 使 得 一 些 已 經 經 過 改 變, 卻 還 沒 有 存 入 磁 碟 中 的 資 料 遺 失 ( 因 為 還 在 記 憶 體 當 中!) 所 以 這 個 時 候 sync 的 功 能 就 相 當 的 大 了! 因 為 他 可 以 直 接 將 系 統 暫 存 在 記 憶 體 當 中 的 資 料 回 存 寫 入 磁 碟 當 中, 呵 呵! 很 棒 吧! 但 是 需 要 注 意 你 的 系 統 核 心 (kernel) 必 須 要 有 支 援 sync 才 行 ( 目 前 幾 乎 一 定 都 會 支 援 的 啦!) 磁 碟 掛 載 與 卸 載 要 將 上 面 我 們 所 建 立 起 來 的 磁 碟 檔 案 系 統 或 軟 碟 正 式 的 在 Linux 上 面 啟 用 時, 一 定 需 要 將 他 掛 載 上 檔 案 系 統! 而 所 謂 的 掛 載 點 則 是 該 partition 所 在 的 目 錄, 且 在 該 目 錄 下 的 所 有 目 錄 都 歸 在 該 partition 所 有! 假 設 一 個 情 況 好 了, 我 們 的 / 為 /dev/hda1 而 /home 為 /dev/ hda2, 那 麼 在 /home/test 底 下 的 咚 咚 就 也 都 歸 /dev/hda2 這 個 partition 所 有 囉! 而 需 要 特 別 留 意 的 是, 由 於 掛 載 檔 案 系 統 需 要 掛 載 點, 所 以 掛 載 的 時 候 得 先 建 立 起 掛 載 的 目 錄 才 行! 除 此 之 外, 如 果 您 要 用 來 掛 載 的 目 錄 裡 面 並 不 是 空 的, 那 麼 掛 載 了 檔 案 系 統 之 後, 那 麼 原 目 錄 下 的 東 西 就 會 暫 時 的 消 失 舉 個 例 子 來 說, 假 設 您 的 /home 原 本 是 屬 於 根 目 錄 / 底 下 的 partition 所 有, 底 下 原 本 就 有 /home/test 與 /home/vbird 兩 個 目 錄 然 後 你 想 要 加 入 新 的 硬 碟, 並 且 直 接 掛 載 /home 底 下, 那 麼 當 您 掛 載 上 新 的 partition 時, 則 /home 目 錄 顯 示 的 是 該 partition 的 內 容, 至 於 原 先 的 test 與 vbird 這 兩 個 目 錄 就 會 暫 時 的 被 隱 藏 掉 了! 注 意 喔! 並 不 是 被 覆 蓋 掉, 而 是 暫 時 的 隱 藏 了 起 來, 等 到 partition 被 umount 之 後, 則 該 目 錄 的 內 容 就 會 再 次 的 跑 出 來 啦! 而 要 將 檔 案 系 統 掛 載 到 我 們 的 Linux 系 統 上, 就 要 使 用 mount 這 個 指 令 啦! 不 過, 這 個 指 令 真 的 是 博 大 精 深 ~ 粉 難 啦! 我 們 學 簡 單 一 點 啊 ~ ^_^ file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 [root@linux ~]# mount -a [root@linux ~]# mount [-tonl] 裝 置 名 稱 代 號 掛 載 點 參 數 : -a : 依 照 /etc/fstab 的 內 容 將 所 有 相 關 的 磁 碟 都 掛 上 來! -n : 一 般 來 說, 當 我 們 掛 載 檔 案 系 統 到 Linux 上 頭 時, Linux 會 主 動 的 將 目 前 的 partition 與 filesystem 還 有 對 應 的 掛 載 點, 都 記 錄 到 /etc/mtab 那 個 檔 案 中 不 過, 有 些 時 刻 ( 例 如 不 正 常 關 機 導 致 一 些 問 題, 而 進 入 單 人 模 式 ) 系 統 無 法 寫 入 /etc/mtab 時, 就 可 以 加 上 -n 這 個 參 數 來 略 過 寫 入 mtab 的 動 作 -L : 系 統 除 了 利 用 裝 置 名 稱 代 號 ( 例 如 /dev/hda1) 之 外, 還 可 以 利 用 partition 的 表 頭 名 稱 ( Label ) 來 進 行 掛 載 喔! 所 以, 最 好 為 您 的 partition 取 一 個 在 您 系 統 當 中 獨 一 無 二 的 名 稱 吧! -t : 您 的 Linux 支 援 的 檔 案 格 式, 就 寫 在 這 裡 吧! 舉 例 來 說, 我 們 在 上 面 建 立 /dev/hdb5 是 ext3 檔 案 系 統, 那 麼 要 掛 載 時, 就 得 要 加 上 -t ext3 來 告 知 系 統, 用 ext3 的 檔 案 格 式 來 掛 載 該 partition 呢! 至 於 系 統 支 援 的 filesystem 類 型 在 /lib/modules/`uname -r`/kernel/fs 當 中 常 見 的 有 : ext2, ext3, reiserfs, 等 Linux 慣 用 filesystem vfat, msdos 等 Windows 常 見 filesystem iso9660 為 光 碟 片 的 格 式 nfs, smbfs 等 為 網 路 相 關 檔 案 系 統 這 部 分 未 來 我 們 會 在 網 路 方 面 提 及! 若 mount 後 面 沒 有 加 -t 檔 案 系 統 格 式 時, 則 Linux 在 預 設 的 情 況 下, 會 主 動 以 /etc/filesystems 這 個 檔 案 內 規 範 的 檔 案 系 統 格 式 來 嘗 試 主 動 的 掛 載 喔! -o : 後 面 可 以 接 一 些 掛 載 時, 額 外 加 上 的 參 數 喔! 比 方 說 帳 號 密 碼 讀 寫 權 限 等 : ro, rw: 此 partition 為 唯 讀 (ro) 或 可 讀 寫 (rw) async, sync: 此 partition 為 同 步 寫 入 (sync) 或 非 同 步 (async), 這 個 與 我 們 之 前 提 到 的 檔 案 系 統 運 作 方 式 有 關, 預 設 是 async auto, noauto: 允 許 此 partition 被 以 mount -a 自 動 掛 載 (auto) dev, nodev: 是 否 允 許 此 partition 上, 可 建 立 裝 置 檔 案? dev 為 可 允 許 suid, nosuid: 是 否 允 許 此 partition 含 有 suid/sgid 的 檔 案 格 式? exec, noexec: 是 否 允 許 此 partition 上 擁 有 可 執 行 binary 檔 案? user, nouser: 是 否 允 許 此 partition 讓 user 執 行 mount? 一 般 來 說, mount 僅 有 root 可 以 進 行, 但 下 達 user 參 數, 則 可 讓 一 般 user 也 能 夠 對 此 partition 進 行 mount defaults: 預 設 值 為 :rw, suid, dev, exec, auto, nouser, and async remount: 重 新 掛 載, 這 在 系 統 出 錯, 或 重 新 更 新 參 數 時, 很 有 用! 範 例 : 範 例 一 : 將 剛 剛 建 立 的 /dev/hdb5 掛 載 到 /mnt/hdb5 上 面! [root@linux ~]# mkdir /mnt/hdb5 [root@linux ~]# mount -t ext3 /dev/hdb5 /mnt/hdb5 [root@linux ~]# df Filesystem 1K-blocks Used Avail... 中 間 省 略... /dev/hdb5 700144 20664 64 範 例 二 : 掛 載 光 碟! [root@linux ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom [root@linux ~]# mount /dev/cdrom # 上 面 的 參 數 當 中 提 到, 如 果 沒 有 加 上 -t 這 個 參 數 時, 系 統 會 主 動 的 以 # /etc/filesystems 裡 面 規 範 的 內 容 給 他 測 試 一 下 是 否 掛 載 ~ 另 外, file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 # 因 為 我 們 的 /etc/fstab 裡 面 會 規 範 /dev/cdrom 應 該 掛 載 到 那 個 掛 載 點, # 因 此, 直 接 下 達 mount /dev/cdrom 也 是 可 以 的 喔!( 當 然 要 看 /etc/fstab 設 定 啦!) 範 例 三 : 掛 載 Window fat 軟 碟! [root@linux ~]# mount -t vfat /dev/fd0 /mnt/floppy 範 例 四 : 將 / 重 新 掛 載, 並 加 入 參 數 為 rw! [root@linux ~]# mount -o remount,rw / 範 例 五 : 將 Label 名 為 logical 的 partition 掛 載 到 /mnt/hdb5 中 [root@linux ~]# mount -t ext3 -L logical /mnt/hdb5 範 例 六 : 將 系 統 所 有 的 以 掛 載 的 partition 資 料 列 出 來 [root@linux ~]# mount /dev/hda1 on / type ext3 (rw) /dev/proc on /proc type proc (rw) /dev/shm on /dev/shm type tmpfs (rw) /dev/hda5 on /home type ext3 (rw) /dev/hdb5 on /mnt/hdb5 type ext3 (rw) # 嗯! 不 加 任 何 參 數, 則 mount 會 將 目 前 系 統 的 所 有 partition # 與 相 關 對 應 的 filesystem 及 mount point 都 列 出 來! 在 預 設 的 情 況 下, mount 這 個 指 令 只 有 root 才 能 執 行! 如 果 您 想 要 將 整 個 系 統 裡 面 記 錄 的 filesystem 與 mount point 對 應 的 資 料 ( 記 錄 在 /etc/fstab 檔 中!), 全 部 都 掛 載 上 來, 那 麼 請 執 行 : mount -a 就 可 以 依 照 /etc/fstab 的 參 數 內 容 將 所 有 的 磁 碟 給 他 重 新 掛 上 去! 此 外, 需 要 注 意 的 是, 由 於 Linux 系 統 中, 每 一 個 路 徑 都 有 可 能 是 一 個 獨 立 的 磁 區 系 統, 所 以 需 要 將 每 個 磁 區 系 統 都 掛 上 各 自 的 掛 載 點! 詳 細 的 內 容 請 回 去 參 考 一 下 上 一 篇 Linux 檔 案 系 統 的 說 明 另 外, 由 於 各 個 磁 區 的 檔 案 系 統 可 能 並 不 相 同, 所 以 您 必 須 先 要 瞭 解 該 磁 區 的 檔 案 系 統, 這 樣 才 可 以 進 行 mount 的 工 作! 如 何 知 道 該 磁 碟 的 檔 案 格 式 呢? 可 以 使 用 fdisk 來 顯 示 的 功 能 即 可! 另 外, 如 果 您 沒 有 加 上 -t 的 參 數, 那 麼 系 統 會 預 設 嘗 試 以 /etc/filesystems 內 的 檔 案 系 統 格 式 來 測 試 一 下 是 否 可 以 將 裝 置 掛 載 上 來 呢! 請 注 意 呦! 由 於 mount 之 後 的 partition 就 已 經 被 設 定 在 使 用 了, 所 以, 您 不 可 以 使 用 fsck 檢 查 該 partition 呢! 否 則 可 能 會 造 成 filesystem 的 損 毀 ~ 因 此, 你 就 必 須 要 將 該 partition 給 卸 載 才 行! 可 以 利 用 umount 來 卸 載 喔! 另 外, 我 們 也 可 以 利 用 mount 來 將 某 個 目 錄 掛 載 到 另 外 一 個 目 錄 去 喔! 這 並 不 是 掛 載 檔 案 系 統, 而 是 額 外 掛 載 某 個 目 錄 的 方 法! 其 實 可 以 利 用 link file 來 達 到 底 下 範 例 的 功 能 啦! ^_^ file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 範 例 一 : 將 /home 這 個 目 錄 暫 時 掛 載 到 /tmp/home 底 下 : [root@linux ~]# mkdir /tmp/home [root@linux ~]# mount --bind /home /tmp/home [root@linux ~]# ls -lid /home/ /tmp/home 159841 drwxr-xr-x 6 root root 4096 May 30 20: 159841 drwxr-xr-x 6 root root 4096 May 30 20: 範 例 二 : 將 /tmp/home 卸 載 : [root@linux ~]# umount /tmp/home 看 起 來, 其 實 兩 者 連 結 到 同 一 個 inode 嘛!! ^_^ 沒 錯 啦! 透 過 這 個 mount --bind 的 功 能, 您 可 以 將 某 個 目 錄 掛 載 到 其 他 目 錄 去 喔! 而 並 不 是 整 塊 filesystem 的 啦! umount ( 將 裝 置 檔 案 卸 載 ) [root@linux ~]# umount 裝 置 代 號 或 掛 載 點 [root@linux ~]# umount /dev/hdb5 [root@linux ~]# umount /mnt/hdb5 就 是 直 接 將 mount 上 來 的 檔 案 系 統 給 他 卸 載 即 是! 卸 載 之 後, 可 以 使 用 df 看 看 是 否 還 存 在 呢?! 此 外, 也 可 以 利 用 -f 參 數 將 想 要 卸 載 的 partition 強 制 卸 載! 此 外, 卸 載 的 方 式, 可 以 下 達 裝 置 ( 如 /dev/hdb5) 或 掛 載 點 ( 如 /mnt/hdb5), 均 可 接 受 啦! 磁 碟 參 數 修 訂 : 某 些 時 刻, 您 可 能 會 希 望 修 改 一 下 目 前 磁 碟 的 一 些 相 關 資 訊, 舉 例 來 說, 磁 碟 的 Label, 或 者 是 journal 的 參 數, 或 者 是 其 他 硬 碟 運 作 時 的 相 關 參 數 ( 例 如 DMA 啟 動 與 否 ~) 這 個 時 候, 就 得 需 要 底 下 這 些 相 關 的 指 令 功 能 囉 ~ mknod file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 [root@linux ~]# mknod 裝 置 名 稱 [bcp] [Major] [Minor] 參 數 : 裝 置 種 類 : b : 設 定 裝 置 名 稱 成 為 一 個 周 邊 儲 存 設 備 檔 案, 例 如 硬 碟 等 ; c : 設 定 裝 置 名 稱 成 為 一 個 周 邊 輸 入 設 備 檔 案, 例 如 滑 鼠 / 鍵 盤 等 ; p : 設 定 裝 置 名 稱 成 為 一 個 FIFO 檔 案 ; Major : 主 要 裝 置 代 碼 ; Minor : 次 要 裝 置 代 碼 ; 範 例 : 範 例 一 : 建 立 /dev/hda10 這 個 磁 碟 儲 存 裝 置 [root@linux ~]# mknod /dev/hda10 b 3 10 # 上 面 那 個 3 與 10 是 有 意 義 的, 不 要 隨 意 設 定 啊! 還 記 得 我 們 說 過, 在 Linux 底 下 所 有 的 裝 置 都 以 檔 案 來 代 表 吧!? 但 是 那 個 檔 案 如 何 代 表 該 裝 置 呢? 很 簡 單! 就 是 透 過 檔 案 的 major 與 minor 數 值 來 替 代 的 ~ 所 以, 那 個 major 與 minor 數 值 是 有 特 殊 意 義 的, 不 是 隨 意 設 定 的 喔! 舉 例 來 說, 如 果 以 硬 碟 裝 置 來 說 明, 那 麼 /dev/hda 到 /dev/hdd 的 major 與 minor 代 碼 是 : 硬 碟 代 號 Major Minor /dev/hda 3 0~63 /dev/hdb 3 64~127 /dev/hdc 22 0~63 /dev/hdd 22 64~127 此 外, mknod 也 可 以 用 來 製 作 FIFO 類 型 的 檔 案 喔! 更 多 與 Linux 核 心 有 關 的 裝 置 及 裝 置 代 號 可 以 參 考 : http://www.kernel.org/pub/linux/docs/device-list/devices.txt e2label [root@linux ~]# e2label 裝 置 名 稱 新 的 Label 名 稱 [root@linux ~]# e2label /dev/hdb5 hdb5 [root@linux ~]# dumpe2fs -h /dev/hdb5 Filesystem volume name: hdb5... 其 他 省 略... 這 個 東 西 也 挺 有 趣 的, 主 要 的 功 能 是 用 來 修 改 磁 碟 的 表 頭 資 料, 也 就 是 label 啦 那 是 甚 麼 東 西 呢? 如 果 你 使 用 過 Windows 的 檔 案 總 管 的 話, 那 麼 應 該 會 曉 得, 每 個 磁 碟 機 代 號 後 面 都 有 個 名 稱 吧, 呵 呵! 那 個 就 是 label 囉 這 個 東 西 除 了 有 趣 之 外, 也 會 被 使 用 到 一 些 設 定 檔 案 當 中, 舉 例 來 說, 當 我 們 在 掛 載 磁 碟 的 時 候, 除 了 利 用 磁 碟 的 file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 代 號 之 外 (/dev/hdxx) 也 可 以 直 接 利 用 磁 碟 的 label 來 作 為 掛 載 的 磁 碟 掛 載 點 喔! 基 本 上, 就 是 那 個 /etc/fstab 檔 案 的 設 定 囉! 因 為 某 些 distribution 為 了 方 便, 他 們 是 以 Label 來 做 為 磁 碟 掛 載 的 依 據, 這 樣 有 好 有 壞 啦! 優 點 : 不 論 硬 碟 代 號 怎 麼 變, 不 論 您 將 硬 碟 插 在 那 個 IDE 介 面 (IDE1 或 IDE2 或 master 或 slave 等 ), 由 於 系 統 是 透 過 Label, 所 以, 磁 碟 插 在 那 個 介 面 將 不 會 有 影 響 缺 點 : 如 果 插 了 兩 顆 硬 碟, 剛 好 兩 顆 硬 碟 的 Label 有 重 複 的, 那 就 慘 了 ~ 因 為 系 統 會 無 法 判 斷 那 個 磁 碟 分 割 槽 才 是 正 確 的! 所 以, 鳥 哥 通 常 還 是 比 較 喜 歡 直 接 利 用 磁 碟 代 號 來 掛 載 啦! 不 過, 如 果 沒 有 特 殊 需 求 的 話, 那 麼 利 用 Label 來 掛 載 也 成! 但 是 您 就 不 可 以 隨 意 修 改 Label 的 名 稱 了! tune2fs [root@linux ~]# tune2fs [-jll] 裝 置 代 號 參 數 : -j : 將 ext2 的 filesystem 轉 換 為 ext3 的 檔 案 系 統 ; -l : 類 似 dumpe2fs -h 的 功 能 ~ 將 superblock 內 的 資 料 讀 出 來 ~ -L : 類 似 e2label 的 功 能, 可 以 修 改 filesystem 的 Label 喔! 範 例 : [root@linux ~]# tune2fs -l /dev/hdb5 這 個 指 令 的 功 能 其 實 很 廣 泛 啦 ~ 上 面 鳥 哥 僅 列 出 很 簡 單 的 一 些 參 數 而 已, 更 多 的 用 法 請 自 行 參 考 man tune2fs 比 較 有 趣 的 是, 如 果 您 的 某 個 partition 原 本 是 ext2 的 檔 案 系 統, 如 果 想 要 將 他 更 新 成 為 ext3 檔 案 系 統 的 話, 利 用 tune2fs 就 可 以 很 簡 單 的 轉 換 過 來 囉 ~ hdparm 如 果 您 的 硬 碟 是 有 DMA 模 式 功 能 的, 但 是 系 統 卻 沒 有 啟 動 他, 那 麼 您 的 硬 碟 存 取 效 能 可 能 會 降 低 一 半 以 上 ~ 所 以, 當 然 要 啟 動 DMA 啦 ~ 那 麼 如 何 啟 動? 就 用 hdparm 啊! 不 過, hdparm 裡 頭 有 很 多 很 進 階 的 參 數 設 定 值, 一 般 來 說, 不 很 建 議 大 家 隨 意 修 訂 ~ 很 容 易 造 成 硬 碟 的 掛 點 喔! 用 這 個 指 令 時, 最 多 是 啟 動 DMA 模 式, 以 及 測 試 硬 碟 的 存 取 效 能 就 好 了 ~ 真 的 不 要 隨 意 更 動 其 他 參 數 喔! 除 非 您 真 的 知 道 自 己 在 幹 嘛 ~ file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 [root@linux ~]# hdparm [-icdmxtt] 裝 置 名 稱 參 數 : -i : 系 統 在 開 機 的 過 程 當 中, 會 利 用 本 身 核 心 的 驅 動 程 式 ( 模 組 ) 來 測 試 硬 碟, 利 用 -i 參 數, 可 將 這 些 測 試 值 取 出 來, 這 些 值 不 一 定 是 正 確 的, 不 過, 卻 可 以 提 供 我 們 一 個 參 考 值 的 依 據! -c : 設 定 32-bit (32 位 元 ) 存 取 模 式 這 個 32 位 元 存 取 模 式 指 的 是 在 硬 碟 在 與 PCI 介 面 之 間 傳 輸 的 模 式, 而 硬 碟 本 身 是 依 舊 以 16 位 元 模 式 在 跑 得! 預 設 的 情 況 下, 這 個 設 定 值 都 會 被 打 開, 建 議 直 接 使 用 c1 即 可! -d : 設 定 是 否 啟 用 dma 模 式, -d1 為 啟 動, -d0 為 取 消 ; -m : 設 定 同 步 讀 取 多 個 sector 的 模 式 一 般 來 說, 設 定 此 模 式, 可 降 低 系 統 因 為 讀 取 磁 碟 而 損 耗 的 效 能 ~ 不 過, WD 的 硬 碟 則 不 怎 麼 建 議 設 定 此 值 ~ 一 般 來 說, 設 定 為 16/32 是 最 佳 化, 不 過,WD 硬 碟 建 議 值 則 是 4/8 這 個 值 的 最 大 值, 可 以 利 用 hdparm -i /dev/hda 輸 出 的 MaxMultSect 來 設 定 喔! 一 般 如 果 不 曉 得, 設 定 16 是 合 理 的! -X : 設 定 UtraDMA 的 模 式, 一 般 來 說, UDMA 的 模 式 值 加 64 即 為 設 定 值 並 且, 硬 碟 與 主 機 板 晶 片 必 須 要 同 步, 所 以, 取 最 小 的 那 個 一 般 來 說 : 33 MHz DMA mode 0~2 (X64~X66) 66 MHz DMA mode 3~4 (X67~X68) 100MHz DMA mode 5 (X69) 如 果 您 的 硬 碟 上 面 顯 示 的 是 UATA 100 以 上 的, 那 麼 設 定 X69 也 不 錯! -T : 測 試 暫 存 區 cache 的 存 取 效 能 -t : 測 試 硬 碟 的 實 際 存 取 效 能 ( 較 正 確!) 範 例 : 範 例 一 : 取 得 我 硬 碟 的 最 大 同 步 存 取 sector 值 與 目 前 的 UDMA 模 式 [root@linux ~]# hdparm -i /dev/hda Model=ST320430A, FwRev=3.07, SerialNo=7BX02 Config={ HardSect NotMFM HdSw>15uSec Fixed RawCHS=16383/16/63, TrkSize=0, SectSize=0, BuffType=unknown, BuffSize=512kB, MaxMultSect=16, CurCHS=16383/16/63, CurSects=16514064, LBA= IORDY=on/off, tpio={min:240,w/iordy:120}, t PIO modes: pio0 pio1 pio2 pio3 pio4 DMA modes: mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 udma2 udma3 *udma4 AdvancedPM=no WriteCache=enabled Drive conforms to: device does not report v # 在 輸 出 的 資 料 中, 有 幾 個 比 較 重 要 的, 除 了 MaxMultSec 這 個 數 值 外, # 那 個 UDMA modes: 會 顯 示 目 前 的 UDMA 模 式 ( 有 * 號 的 那 個 為 目 前 的 值 ) 範 例 二 : 取 得 我 主 機 板 上 面 關 於 IDE 的 速 度 限 制 [root@linux ~]# lspci -v 00:07.1 IDE interface: VIA Technologies, Inc. VT82C58 IDE (rev 10) (prog-if 8a [Master SecP PriP]) Subsystem: VIA Technologies, Inc. VT Flags: bus master, medium devsel, la I/O ports at d000 [size=16] Capabilities: [c0] Power Management # 我 可 以 透 過 lspci 來 直 接 取 得 PCI 介 面 上 的 各 個 裝 置 設 備 # 其 中, 可 以 找 到 IDE 介 面, 並 從 中 找 到 關 於 這 個 介 面 可 接 受 的 速 度 呢! file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 範 例 三 : 啟 動 我 的 UDMA 在 mode 4 喔 ~ [root@linux ~]# hdparm -d1 -c1 -X68 /dev/hda # 由 範 例 一 與 範 例 二, 鳥 哥 的 主 機 板 上 面 大 概 僅 能 支 持 到 UDMA 66 吧 ~ # 那 就 是 mode4 囉 ~ 所 以, X = 64+4 = 68, 因 此, 設 定 就 是 -X68 囉 ~ 範 例 四 : 測 試 這 顆 硬 碟 的 讀 取 效 能 [root@linux ~]# hdparm -Tt /dev/hda /dev/hda: Timing cached reads: 544 MB in 2.01 seco Timing buffered disk reads: 80 MB in 3.0 # 我 的 機 子 沒 有 很 好 啦 ~ 這 樣 的 速 度... 差 強 人 意 ~ 我 們 都 知 道 目 前 的 IDE 硬 碟 主 要 的 傳 輸 模 式 為 ATA 模 式, 最 近 (2002 年 ) 已 經 出 到 了 ATA 133 了! 不 過, 傳 統 上, ATA 66 就 已 經 很 厲 害 了! 新 的 IDE 硬 碟 也 沒 有 辦 法 完 全 利 用 ATA 100 呢! 但 是, 你 知 道 嗎? 有 沒 有 開 啟 ATA 這 個 傳 輸 通 道 的 DMA 模 式, 對 於 硬 碟 的 存 取 效 率 差 很 大 呦! 這 個 指 令 必 須 要 root 才 能 執 行! 此 外, 需 要 特 別 注 意, -X 這 個 參 數 是 很 危 險 的 參 數 設 定, 除 非 您 非 常 瞭 解 您 的 硬 碟 架 構, 否 則 不 建 議 自 行 設 定, 因 為 manual page 上 面 就 有 說 明 到 這 一 點 ~~ 不 過, 無 論 如 何, 目 前 大 於 2GB 以 上 的 硬 碟 至 少 都 已 經 支 援 了 DMA 33 了! 因 此, 使 用 -X66 應 該 都 是 可 行 的! 而 如 果 您 的 硬 碟 是 很 新 的, 那 麼 - X69 應 該 是 沒 有 問 題 才 是! 不 過, 還 是 要 hdparm -i /dev/hd[a-d] 去 檢 查 看 看! 設 定 開 機 掛 載 : 在 上 一 小 節 裡 面, 我 們 提 到 了 硬 碟 的 分 割 與 格 式 化, 同 時 還 提 到 了 如 何 掛 載 的 問 題 等 等, 在 這 個 小 節 當 中, 我 們 就 持 續 的 來 討 論, 那 麼 mount 還 可 以 做 哪 些 事 情 呢? 還 有, 如 果 想 要 一 開 機 就 讓 系 統 自 動 的 幫 我 們 將 partition 掛 載 起 來, 又 該 如 何 呢? 各 式 磁 碟 掛 載 與 中 文 編 碼 掛 載 還 有 USB 隨 身 碟 : 這 裡 再 次 強 調 一 個 觀 念, 在 Windows 底 下, 磁 碟 分 割 是 以 A, B, C, D,... 等 等 的 方 式 來 劃 分 的, 然 而 在 Linux 或 Unix 系 統 之 下, 卻 是 以 目 錄 來 代 表, 也 就 是 說, 一 個 目 錄 很 可 能 就 是 一 個 磁 區 了! 舉 個 例 子 來 說, 通 常 Linux 預 設 的 軟 碟 掛 載 的 地 點 在 /mnt/floppy 這 裡! 呵 呵! 那 麼 如 果 你 需 要 軟 碟 的 資 料 時, 就 將 /dev/fd0 這 一 個 裝 置 ( 前 面 提 過 囉! 這 個 是 周 邊 存 取 裝 置 的 一 個 設 備 檔 案 類 型 ) 掛 上 /mnt/floppy 就 可 以 啦! 然 後 你 進 入 到 /mnt/floppy 就 可 以 讀 取 軟 碟 的 資 料 囉! 掛 載 軟 碟 很 多 朋 友 常 常 會 使 用 到 軟 碟, 尤 其 是 在 網 路 有 問 題 的 時 候, 那 麼 如 何 使 用 Linux 將 軟 碟 掛 上 來 呢?! 首 先, 您 給 先 瞭 解 你 的 磁 片 檔 案 的 格 式, 例 如 Linux 的 檔 案 格 式 ( ext2 ) 與 Windows 的 檔 案 格 式 ( vfat ) 是 不 一 樣 的! 分 別 可 以 使 用 如 下 的 方 式 掛 上 來 : file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 [root@linux ~]# mount -t ext2 /dev/fd0 /media/floppy [root@linux ~]# mount -t vfat /dev/fd0 /media/floppy [root@linux ~]# umount /media/floppy 所 以 囉! 即 使 是 Windows 格 式 的 檔 案, 在 Linux 底 下 仍 然 是 可 以 讀 取 的 到 的 呦! 另 外, 要 注 意 的 是, 即 使 你 使 用 軟 碟 完 畢 之 後, 一 定 要 將 /media/floppy 卸 載 之 後 才 可 以 取 出 軟 碟 片 喔! 不 然 系 統 會 一 直 告 訴 你 發 生 錯 誤 囉! 而 在 卸 載 /media/floppy 的 時 候, 你 一 定 不 能 在 該 目 錄 底 下, 否 則 會 發 生 錯 誤 訊 息 喔! 而 如 果 載 入 的 格 式 不 符 合, 系 統 也 不 會 將 該 軟 碟 掛 上 來 的 呦! 好 了, 那 麼 怎 麼 製 作 ext2 的 軟 碟 呢? 簡 單 的 很, 就 使 用 mke2fs /dev/fd0 就 行 啦! 掛 載 Windows 磁 碟 如 果 萬 一 你 在 安 裝 系 統 的 時 候 忘 記 將 Windows 的 VFAT 格 式 的 磁 區 mount 上 你 的 Linux 時, 該 怎 麼 辦?! 這 種 現 象 最 常 發 生 在 多 系 統 共 存 的 環 境 中! 例 如 在 原 有 的 Windows 98 或 Win2000 上 面 安 裝 Linux, 但 是 結 果 卻 忘 記 將 該 磁 區 掛 載 上 來! 嗯! 這 樣 需 要 重 新 安 裝 嗎?! 當 然 不 需 要 了! 又 不 是 被 入 侵! 那 麼 該 如 何 掛 載 上 來 呢?! 就 如 同 前 面 說 的, 由 於 一 個 目 錄 可 能 代 表 了 一 個 磁 區, 因 此 你 必 須 要 先 建 立 一 個 目 錄, 然 後 再 將 此 磁 區 掛 載 上 你 的 Linux 目 錄, 就 可 以 啦! 另 外, 由 於 需 要 將 磁 區 掛 在 目 錄 下, 所 以 你 還 得 需 要 瞭 解 你 的 Windows 磁 區 是 在 哪 一 個 硬 碟 周 邊 中 喔! 如 何 知 道 你 的 Windows 磁 區 呢? 就 使 用 fdisk 吧! 使 用 fdisk -l 就 能 夠 知 道 囉 ~ 那 麼 假 設 我 的 windows 的 VFAT filesystem 是 在 /dev/hda1, 而 我 想 要 將 該 partition 掛 載 到 /mnt/win98, 該 如 何 做? [root@linux ~]# mkdir /mnt/win98 [root@linux ~]# mount -t vfat /dev/hda1 /mnt/win98 [root@linux ~]# mount -t vfat -o iocharset=cp950 /dev/hda1 /mnt/win98 如 此 一 來 就 將 Windows 的 系 統 掛 到 Linux 裡 面 囉! 簡 單 吧! 請 注 意, 上 面 那 個 第 三 行 所 使 用 的 參 數 可 以 讓 您 的 Windows 98 的 磁 區 當 中 的 檔 案 顯 示 出 正 確 的 中 文 呦! 因 為 加 入 了 中 文 編 碼 啊! ^_^ 掛 載 USB 隨 身 碟 以 現 在 的 科 技 來 說 (2005 年 ), 軟 碟 與 光 碟 不 再 是 最 佳 的 攜 帶 工 具 了 ~ 最 佳 的 攜 帶 儲 存 設 備 應 該 是 USB 隨 身 碟 或 者 是 隨 身 硬 碟 ~ 那 麼 我 們 可 以 掛 載 USB 隨 身 碟 嗎?! 呵 呵! 當 然 可 以 啊 ~ 不 過... 要 我 們 的 Linux 捉 的 到 USB 才 行 ~ 不 過, 您 不 需 要 擔 心, 因 為, 目 前 的 distribution 均 會 主 動 的 載 入 USB 的 模 組, 所 以, 您 只 要 插 入 USB 隨 身 碟, 嘿 嘿! 我 們 的 Linux 幾 乎 沒 有 問 題, 一 定 可 以 捉 到 的! 捉 到 USB 隨 身 碟 之 後, 再 利 用 fdisk -l 列 出 所 有 的 partition, 您 會 發 現, 系 統 中 怎 麼 file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 會 多 出 /dev/sda[??] 的 SCSI 硬 碟 啊?! 不 會 吧! 系 統 這 麼 好?? 呵 呵! 不 是 啦 ~ 其 實 USB 硬 碟 的 代 號 也 是 /dev/sd[a-??] 的 代 號, 第 一 個 USB 代 號 為 /dev/sda, 而 如 果 該 USB 硬 碟 還 有 partition 的 話, 那 就 會 有 一 些 號 碼 出 現 了 ~ 如 果 是 隨 身 碟, 通 常 只 有 / dev/sda1 而 已 啦 ~ 好, 那 就 假 設 您 的 隨 身 碟 是 /dev/sda1 好 了, 那 麼 將 他 掛 載 到 /mnt/ usb, 要 怎 麼 做? [root@linux ~]# mkdir /mnt/usb [root@linux ~]# mount -t vfat /dev/sda1 /mnt/usb 上 頭 是 假 設 您 的 USB 隨 身 碟 使 用 的 是 FAT 的 Windows 檔 案 格 式 而 設 定 的 如 果 您 的 隨 身 碟 是 NTFS 的 Windows 2000 檔 案 格 式, 那 就 比 較 麻 煩, 因 為 FC4 預 設 情 況 下, 並 不 支 援 這 個 檔 案 系 統 的 ~ 如 果 您 執 意 要 掛 載 NTFS 的 檔 案 格 式, 那 麼... 請 參 考 底 下 這 個 計 畫 的 網 站 囉 ~ Linux-NTFS Project: http://linux-ntfs.sourceforge.net/ 開 機 掛 載 /etc/fstab 及 /etc/mtab 剛 剛 上 面 說 了 許 多, 那 麼 可 不 可 以 在 開 機 的 時 候 就 將 我 要 的 磁 區 都 掛 好 呢?! 這 樣 我 就 不 需 要 每 次 進 入 Linux 系 統 都 還 要 在 掛 載 一 次 呀! 當 然 可 以 囉! 那 就 直 接 到 /etc/fstab 裡 面 去 修 修 就 行 囉! 不 過, 在 開 始 說 明 前, 這 裡 要 先 跟 大 家 說 一 說 系 統 掛 載 的 一 些 限 制 : 根 目 錄 / 是 必 須 掛 載 的, 而 且 一 定 要 先 於 其 它 mount point 被 掛 載 進 來 其 它 mount point 必 須 為 已 建 立 的 目 錄, 可 任 意 指 定, 但 一 定 要 遵 守 必 須 的 系 統 目 錄 架 構 原 則 所 有 mount point 在 同 一 時 間 之 內, 只 能 掛 載 一 次 所 有 partition 在 同 一 時 間 之 內, 只 能 掛 載 一 次 如 若 進 行 卸 載, 您 必 須 先 將 工 作 目 錄 移 到 mount point( 及 其 子 目 錄 ) 之 外 好 了, 那 麼 我 們 進 入 /etc/fstab 看 一 看 吧 : [root@linux ~]# cat /etc/fstab # Device Mount point filesystem parameter LABEL=/ / ext3 defaults 1 1 /dev/hda5 /home ext3 defaults 1 2 /dev/hda3 swap swap defaults 0 0 /dev/hdc /media/cdrom auto pamconsole,exec,noauto,managed 0 0 /dev/devpts /dev/pts devpts gid=5,mode= /dev/shm /dev/shm tmpfs defaults /dev/proc /proc proc defaults /dev/sys /sys sysfs defaults file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 其 實 這 個 /etc/fstab 就 是 將 我 們 使 用 mount 來 掛 載 一 個 裝 置 到 系 統 的 某 個 掛 載 點, 所 需 要 下 達 的 指 令 內 容, 將 這 些 內 容 通 通 寫 到 /etc/fstab 裡 面 去, 而 讓 系 統 一 開 機 就 主 動 掛 載 囉 ~ 那 麼 mount 下 達 指 令 時, 需 要 哪 些 參 數? 不 就 是 裝 置 代 號 掛 載 點 檔 案 系 統 類 別 參 數 等 等, 而 我 們 的 /etc/fstab 則 加 入 了 兩 項 額 外 的 功 能, 分 別 是 備 份 指 令 dump 的 執 行 與 否, 與 是 否 開 機 進 行 fsck 掃 瞄 磁 碟 呢 ~ 我 這 個 人 比 較 龜 毛 一 點, 因 為 某 些 distributions 的 /etc/fstab 檔 案 排 列 方 式 蠻 醜 的, 雖 然 每 一 欄 之 間 只 要 以 空 白 字 元 分 開 即 可, 但 就 是 覺 得 醜, 所 以 通 常 鳥 哥 就 會 自 己 排 列 整 齊, 並 加 上 註 解 符 號, 就 是 # 字 號, 來 幫 我 記 憶 這 些 資 訊! 由 上 面 的 說 明, 我 們 知 道 /etc/fstab 內 總 共 有 六 欄, 分 別 來 談 一 談 每 一 欄 的 內 容 吧! 1. 磁 碟 裝 置 代 號 或 該 裝 置 的 Label: 這 個 就 是 裝 置 代 號 啦! 將 您 需 要 的 裝 置 代 號 給 他 填 上 去 吧!! 不 過, 還 記 得 我 們 的 filesystem 可 以 擁 有 標 頭 名 稱 吧 (Label)? 沒 錯, 我 們 也 可 以 利 用 Label 來 掛 載 檔 案 系 統 喔! 例 如 上 表 當 中 的 特 殊 字 體 的 第 一 行, 我 的 根 目 錄 (/) 就 是 以 Label 名 稱 為 / 的 磁 碟 分 割 槽 來 掛 載 的 啊! 利 用 label 掛 載 時, 您 必 須 要 知 道 您 的 磁 碟 內 的 label 名 稱, 可 以 利 用 dumpe2fs 來 讀 取, 也 可 以 利 用 e2label 來 更 改 標 頭 名 稱 啊 在 知 道 了 label 名 稱 後, 最 後 就 可 以 利 用 LABEL=(your label name) 來 設 定 您 的 裝 置 囉 ~ Tips: 記 得 有 一 次 有 個 網 友 寫 信 給 鳥 哥, 他 說, 依 照 e2label 的 設 定 去 練 習 修 改 自 己 的 partition 的 Label name 之 後, 卻 發 現, 再 也 無 法 順 利 開 機 成 功! 後 來 才 發 現, 原 來 他 的 /etc/fstab 就 是 以 Label name 去 掛 載 的 但 是 因 為 在 練 習 的 時 候, 將 Label name 改 名 字 過 了, 導 致 無 法 在 開 機 的 過 程 當 中 順 利 搜 尋 到 ~ 所 以 啦, 各 位 親 愛 的 朋 友, 這 裡 再 次 的 強 調, 利 用 裝 置 名 稱 (ex> /dev/hda1) 來 掛 載 partition 時, 雖 然 是 被 固 定 死 的, 所 以 您 的 硬 碟 不 可 以 隨 意 插 在 任 意 的 插 槽, 不 過 他 還 是 有 好 處 的 而 使 用 Label name 來 掛 載, 雖 然 就 沒 有 插 槽 方 面 的 問 題, 不 過, 您 就 得 要 隨 時 注 意 您 的 Label name 喔! 尤 其 是 新 增 硬 碟 的 時 候! ^_^ 2. 掛 載 點 (mount point):: 就 是 掛 載 點 啊! 掛 載 點 是 什 麼? 一 定 是 目 錄 啊 ~ 要 知 道 啊!!! 3. 磁 碟 分 割 槽 的 檔 案 系 統 : 就 如 同 我 們 在 這 個 章 節 一 開 始 就 談 到 的, Linux 在 傳 統 上 面, 使 用 的 是 ext2/ext3 等 檔 案 系 統, 目 前 則 加 入 了 很 多 日 誌 式 檔 案 系 統, 例 如 reiserfs 及 XFS 等 檔 案 系 統 的 支 援 此 外, 存 在 已 久 的 Windows vfat, msdos 及 iso9660 的 光 碟 檔 案 系 統, 還 有 網 路 檔 案 系 統 如 nfs, smbfs 等 等, 都 可 以 被 支 援 這 個 欄 位 就 是 寫 這 些 檔 案 系 統 的 地 方 啊! 4. 檔 案 系 統 參 數 : 每 個 檔 案 系 統 還 有 很 多 參 數 可 以 加 入 的, 例 如 中 文 編 碼 的 iocharset=big5, codepage=950 之 類 的, 當 然 還 有 很 多 常 見 的 參 數, 雖 然 之 前 在 mount 已 經 提 過 一 file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 次, 這 裡 我 們 利 用 表 格 的 方 式 再 次 的 說 明 一 下 : 參 數 async/sync 非 同 步 / 同 步 auto/noauto 自 動 / 非 自 動 rw/ro 可 讀 寫 / 唯 讀 exec/noexec 可 執 行 / 不 可 執 行 user/nouser 允 許 / 不 允 許 使 用 者 掛 載 suid/nosuid 具 有 / 不 具 有 suid 權 限 usrquota grpquota defaults 內 容 意 義 是 否 允 許 磁 碟 與 記 憶 體 中 的 資 料 以 同 步 寫 入 的 動 作? 使 用 async 這 個 非 同 步 寫 入 的 方 式 會 比 較 快 速 一 些 在 開 機 的 時 候 是 否 自 動 掛 載 該 磁 區? 既 然 設 定 在 這 個 區 域 內 了, 當 然 希 望 開 機 的 時 候 自 動 掛 載 囉! 讓 該 磁 區 以 可 讀 寫 或 者 是 唯 讀 的 型 態 掛 載 上 來, 如 果 是 vfat 之 類 的 非 Linux 傳 統 磁 區, 您 不 想 讓 Linux 變 更 的 話, 那 麼 使 用 ro 也 不 錯! 能 夠 提 供 有 效 的 保 護 呢! 限 制 在 此 檔 案 系 統 內 是 否 可 以 進 行 執 行 的 工 作? 如 果 是 純 粹 用 來 儲 存 資 料 的, 那 麼 可 以 設 定 為 noexec 會 比 較 安 全, 相 對 的, 會 比 較 麻 煩! 是 否 允 許 使 用 者 使 用 mount 指 令 來 掛 載 呢? 一 般 而 言, 我 們 當 然 不 希 望 一 般 身 份 的 user 能 使 用 mount 囉, 因 為 太 不 安 全 了, 因 此 這 裡 應 該 要 設 定 為 nouser 囉! 該 檔 案 系 統 是 否 允 許 SUID 的 存 在? 一 般 而 言, 如 果 不 是 Linux 系 統 的 磁 區, 而 是 一 般 資 料 的 partition, 那 麼 設 定 為 nosuid 確 實 比 較 安 全 一 些! 畢 竟 有 SUID 是 蠻 可 怕 的 一 件 事 注 意 名 稱 是 usrquota 不 要 拼 錯 了! 這 個 是 在 啟 動 filesystem 支 援 磁 碟 配 額 模 式, 更 多 資 料 我 們 在 第 四 篇 再 談 注 意 名 稱 是 grpquota, 啟 動 filesystem 對 群 組 磁 碟 配 額 模 式 的 支 援 同 時 具 有 rw, suid, dev, exec, auto, nouser, async 等 參 數 基 本 上, 預 設 情 況 使 用 defaults 設 定 即 可! 5. 能 否 被 dump 備 份 指 令 作 用 : 在 Linux 當 中, 可 以 利 用 dump 這 個 指 令 來 進 行 系 統 的 備 份 的 而 dump 指 令 則 會 針 對 /etc/fstab 的 設 定 值, 去 選 擇 是 否 要 將 該 partition 進 行 備 份 的 動 作 呢! 0 代 表 不 要 做 dump 備 份, 1 代 表 要 進 行 dump 的 動 作 2 也 代 表 要 做 dump 備 份 動 作, 不 過, 該 partition 重 要 度 比 1 小 6. 是 否 以 fsck 檢 驗 磁 區 : 開 機 的 過 程 中, 系 統 預 設 會 以 fsck 檢 驗 我 們 的 partition 內 的 filesystem 是 否 完 整 file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 (clean) 不 過, 某 些 filesystem 是 不 需 要 檢 驗 的, 例 如 虛 擬 記 憶 體 swap, 或 者 是 特 殊 檔 案 系 統, 例 如 /proc 與 /sys 等 等 所 以, 在 這 個 欄 位 中, 我 們 可 以 設 定 是 否 要 以 fsck 檢 驗 該 filesystem 喔 0 是 不 要 檢 驗, 1 是 要 檢 驗, 2 也 是 要 檢 驗, 不 過 1 會 比 較 早 被 檢 驗 啦! 一 般 來 說, 根 目 錄 設 定 為 1, 其 他 的 要 檢 驗 的 filesystem 都 設 定 為 2 就 好 了 所 以 說, 如 果 我 想 要 將 我 們 剛 剛 練 習 時, 建 立 的 /dev/hdb5 這 個 ext3 的 filesystem 掛 載 到 / mnt/hdb5 時, 並 且 在 開 機 的 時 候 就 已 經 自 動 的 掛 載 好, 那 麼 就 可 以 將 底 下 這 一 行 寫 入 到 / etc/fstab 當 中 了 : /dev/hdb5 /mnt/hdb5 ext3 defaults 2 2 很 簡 單 吧! 所 以 啦, 以 後 您 自 己 建 立 的 磁 碟 檔 案 系 統 想 在 開 機 的 時 候 掛 載 好 時, 就 在 /etc/ fstab 加 入 吧! 此 外, 這 個 /etc/fstab 還 有 什 麼 特 殊 功 能 呢? 還 記 得 使 用 mount -a 時, 我 們 提 到 的 該 參 數 參 考 檔 案 吧?! 沒 錯 啊! 就 是 這 個 /etc/fstab 啊! 而 且, 一 般 來 說, 當 我 們 編 輯 /etc/fstab 後, 為 了 避 免 可 能 的 錯 誤, 通 常 就 會 以 mount -a 這 個 指 令 來 測 試 看 看 呢! 這 是 很 重 要 的 一 個 測 試 動 作 喔! 另 外, 您 也 必 須 要 瞭 解 到, 除 了 這 些 磁 碟 檔 案 格 式 之 外, 其 實 在 系 統 裡 面 還 有 一 些 特 殊 的 格 式 可 以 掛 載 來 幫 助 系 統 的 運 作 的! 例 如 上 表 當 中 非 特 殊 字 體 的 那 幾 行 字! 而 /etc/fstab 是 開 機 時 的 設 定 檔, 不 過, 實 際 filesystem 的 掛 載 是 記 錄 到 /etc/mtab 與 /proc/ mounts 這 兩 個 檔 案 當 中 的 每 次 我 們 在 更 動 filesystem 的 掛 載 時, 也 會 同 時 更 動 這 兩 個 檔 案 喔! 但 是, 萬 一 發 生 您 在 /etc/fstab 輸 入 的 資 料 錯 誤, 導 致 無 法 順 利 開 機 成 功, 而 進 入 單 人 維 護 模 式 當 中, 那 時 候 的 / 可 是 read only 的 狀 態, 當 然 您 就 無 法 修 改 /etc/fstab, 也 無 法 更 新 /etc/mtab 囉 ~ 那 怎 麼 辦? 沒 關 係, 可 以 利 用 底 下 這 一 招 : [root@linux ~]# mount -n -o remount,rw / 加 上 -n 則 不 更 新 /etc/mtab, 加 上 -o 則 提 供 額 外 的 參 數 設 定 利 用 這 一 動 作, 嘿 嘿! 您 的 / 就 可 以 讀 寫, 那 麼 自 然 就 能 夠 更 新 檔 案 內 容 囉 ~ 特 殊 裝 置 loop 掛 載 除 了 常 見 的 軟 硬 碟 掛 載 之 外, 我 們 還 可 以 掛 載 特 殊 裝 置 喔! 舉 例 來 說, 利 用 我 們 的 硬 碟 內 的 檔 案 模 擬 出 來 的 裝 置! 也 就 是 說, 當 我 的 硬 碟 內 有 一 個 2GB 的 檔 案 時, 我 可 以 將 這 個 檔 案 模 擬 成 為 一 個 獨 立 的 裝 置, 然 後 用 這 個 裝 置 來 掛 載 使 用 喔! 當 然 啦, 這 個 2GB 的 大 檔 案 要 能 夠 被 掛 載 時, 他 必 須 是 一 個 被 格 式 化 過 的 檔 案 才 行! 底 下 我 們 就 來 玩 一 玩 這 個 咚 咚 建 立 大 型 檔 案 首 先, 我 們 得 先 有 一 個 大 的 檔 案 吧! 怎 麼 建 立 這 個 大 檔 案 呢? 在 Linux 底 下 我 們 有 一 支 很 好 用 的 程 式 dd 可 以 用 來 建 立 空 的 檔 案 喔! 詳 細 的 說 明 請 先 翻 到 後 面 一 章 壓 縮 指 令 的 運 用 file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 來 查 閱, 這 裡 鳥 哥 僅 作 一 個 簡 單 的 範 例 而 已 假 設 我 要 建 立 一 個 空 的 檔 案 在 /tmp/ loopdev, 那 可 以 這 樣 做 : [root@linux ~]# dd if=/dev/zero of=/tmp/loopdev bs=1024k count=2048 2048+0 records in 2048+0 records out # 這 個 指 令 在 下 一 小 節 也 會 談 到, 那 個 if 是 input file, # of 是 output file, 至 於 bs 是 每 個 block 大 小, # count 則 是 總 共 幾 個 bs 的 意 思 不 過, 測 試 時, 注 意 /tmp # 那 個 partition 的 大 小 啊! 格 式 化 很 簡 單 就 建 立 起 一 個 2GB 的 檔 案 了 吶!! 接 下 來 當 然 是 格 式 化 囉! [root@linux ~]# mke2fs -j /tmp/loopdev mke2fs 1.35 (28-Feb-2004) loopdev is not a block special device. Proceed anyway? (y,n) y Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 262144 inodes, 524288 blocks 26214 blocks (5.00%) reserved for the super us... 以 下 省 略... 掛 載 那 要 如 何 掛 載 啊? 利 用 mount 的 特 殊 參 數, 那 個 -o loop 的 參 數 來 處 理! [root@linux ~]# mount -t ext3 -o loop /tmp/loopdev /media/cdrom/ [root@linux ~]# df Filesystem 1K-blocks Used Avail /tmp/loopdev 2064208 35880 192 多 了 個 獨 立 的 裝 置 給 您 使 用 喔! 其 實 就 是 那 個 2GB 的 檔 案 內 容 啦! 這 東 西 看 起 來 似 乎 沒 有 什 麼 用 途 的 樣 子, 不 過, 如 果 您 未 來 想 要 玩 Linux 上 面 的 虛 擬 主 機 的 話, 也 就 是 以 一 部 Linux 主 機 再 切 割 成 為 數 個 獨 立 的 主 機 系 統 時, 類 似 VMware 這 類 的 軟 體, 在 Linux 上 使 用 xen 這 個 軟 體, 他 就 可 以 配 合 這 種 loop device 的 檔 案 類 型 來 進 行 根 目 錄 的 掛 載, 真 的 非 常 有 用 的 喔! ^_^ 虛 擬 記 憶 體 之 建 置 我 們 前 面 談 了 很 多 各 式 各 樣 的 filesystem, 不 過, 您 曉 得 在 安 裝 的 時 候 設 定 的 那 一 個 虛 擬 記 file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 憶 體 (swap) 要 如 何 增 加 嗎? 舉 個 簡 單 的 例 子 吧, 鳥 哥 的 Sun 主 機 上 面, 由 於 跑 的 程 式 太 龐 大 了, 通 常 swap 需 要 開 啟 到 1GB 左 右, 但 是 呢, 有 的 時 候 還 是 會 不 夠 的! 在 Linux 當 中, 如 果 您 需 要 使 用 到 很 大 量 的 虛 擬 記 憶 體, 偏 偏 當 初 給 的 swap 磁 區 不 夠 大, 那 要 怎 麼 辦 呢? 有 什 麼 方 法 可 以 來 達 成 : 設 定 一 個 swap partition? 建 立 一 個 虛 擬 記 憶 體 的 檔 案? 怎 麼 說 呢? 基 本 上, 虛 擬 記 憶 體 就 是 將 硬 碟 規 劃 出 一 個 區 間, 讓 記 憶 體 的 資 料 可 以 經 由 硬 碟 來 讀 取 罷 了, 那 麼 如 果 有 swap file 也 就 夠 了 對 不 對! 是 呀! 所 以 這 裡 我 們 使 用 兩 種 方 法 來 嘗 試 建 立 一 下 swap 的 擴 增 吧! 另 外, swap 的 建 立 其 實 也 很 簡 單 啊! 同 樣 的 需 要 先 建 立 出 swap 這 個 裝 置 或 者 是 檔 案 後, 將 他 格 式 化 成 為 swap 的 格 式, 最 後 將 他 掛 載 到 系 統 上 即 可! 那 就 來 實 作 看 看 吧! 建 立 虛 擬 記 憶 體 裝 置 第 一 種 正 規 的 方 法 是 直 接 再 加 一 棵 硬 碟, 並 且 將 其 中 某 個 磁 區 規 劃 為 swap 的 filesystem, 呵 呵, 說 的 容 易, 做 起 來 更 容 易! 實 際 的 動 作 為 : 1. 以 fdisk /dev/hd[a-d] 先 建 立 一 個 partition, 還 記 得 fdisk 怎 麼 做 嗎? 回 去 複 習 一 下 吧! 簡 單 的 來 說, 就 是 先 (1) 建 立 一 個 partition, 然 後 (2) 將 該 partition 的 ID 改 為 82 這 一 個 swap 的 磁 碟 檔 案 格 式 代 號 就 對 啦! 這 樣 這 一 步 驟 就 OK 囉! 2. 以 mkswap /dev/hd[a-d][1-16] 的 方 式 來 將 您 剛 剛 建 置 出 來 的 partition 格 式 化 為 swap 的 檔 案 格 式, 很 簡 單 吧! 這 樣 就 格 式 化 OK 囉! 3. 再 來 則 是 將 swap 啟 動, 啟 動 的 指 令 為 swapon /dev/hd[a-d][1-16], 這 樣 就 能 啟 動 了! 很 簡 單 吧! 這 樣 swap 就 自 動 加 入 到 記 憶 體 容 量 裡 頭 去 了! 那 麼 如 何 將 swap 關 掉 呢? 呵 呵! 很 簡 單 呀! 就 是 直 接 給 他 swapoff 就 對 了! 例 題 一 : 如 果 您 的 系 統 是 以 鳥 哥 建 議 的 方 式 來 安 裝 的, 那 麼 系 統 應 該 有 一 塊 剩 餘 的 空 間 請 將 該 剩 餘 的 空 間 格 式 化 成 為 一 個 swap device, 並 且 掛 載 到 系 統 上! 建 立 虛 擬 記 憶 體 檔 案 那 麼 萬 一 我 不 想 新 增 加 一 個 磁 區 呢? 可 不 可 以 使 用 swap file 的 方 式 來 新 增 硬 碟 呀! 當 然 可 以 囉! 而 且 步 驟 還 蠻 簡 單 的 呢! 基 本 的 流 程 就 是 : 1. 以 dd 指 令 來 建 立 swapfile ; 2. 以 mkswap 來 將 swapfile 格 式 化 為 swap 的 檔 案 格 式 ; 3. 以 swapon 來 啟 動 該 檔 案, 使 成 為 swap ; file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 4. 以 swapoff 來 關 閉 該 檔 案! 嗯! 多 說 無 益! 我 們 來 實 際 的 將 您 的 主 機 系 統 上 面 新 增 64MB 的 虛 擬 記 憶 體 吧! 如 果 可 能 的 話, 請 您 在 您 的 系 統 上 面 實 際 的 操 作 一 次 底 下 的 步 驟, 我 想, 您 應 該 馬 上 會 瞭 解 實 際 的 操 作 流 程 的! ( 底 下 的 步 驟 是 可 以 復 原 的!! 別 擔 心, 不 過 mkswap 這 個 指 令 的 下 達 要 小 心 一 點 就 是 了!) 1. 使 用 dd 這 個 指 令 來 新 增 一 個 64MB 的 檔 案 在 /tmp 底 下 : [root@linux ~]# dd if=/dev/zero of=/tmp/swap bs=4k count=16382 16382+0 records in 16382+0 records out # dd 這 個 指 令 是 用 來 轉 換 檔 案 並 且 copy 用 的 ; # if 指 的 是 要 被 轉 換 的 輸 入 檔 案 格 式 /dev/zero 可 以 由 man zero 來 查 看 內 容 ; # of 指 的 是 輸 出 的 檔 案, 我 們 將 之 輸 出 到 /tmp/swap 這 個 檔 案 ; # bs 指 的 是 一 個 磁 區 佔 用 幾 個 kb ; # count 指 的 是 要 使 用 多 少 個 bs, 所 以 最 後 的 容 量 為 bs*count = 4k * 16382 ~ 64MB 如 上 所 述, 我 們 將 建 立 一 個 檔 名 為 /tmp/swap 的 檔 案, 且 其 內 容 共 有 64MB 左 右 大 小 的 檔 案 ; 2. 使 用 mkswap 將 /tmp/swap 這 個 檔 案 格 式 化 為 swap 的 檔 案 格 式 : [root@linux ~]# mkswap /tmp/swap Setting up swapspace version 1, size = 6709 # 請 注 意, 這 個 指 令 在 下 達 的 時 候 請 特 別 小 心, 因 為 下 錯 字 元 控 制, # 將 可 能 使 您 的 filesystem 掛 掉! 3. 使 用 swapon 來 將 /tmp/swap 啟 動 囉! [root@linux ~]# free total used free Mem: 62524 60200 2324 -/+ buffers/cache: 39992 22532 Swap: 127004 2620 124384 [root@linux ~]# swapon /tmp/swap # 不 要 懷 疑! 這 樣 就 已 經 將 虛 擬 記 憶 體 增 加 64 MB 囉! 如 果 您 需 要 每 次 都 啟 動 該 檔 案, 那 麼 將 swapon /tmp/swap 寫 入 /etc/rc.d/rc.local 當 中 即 可! [root@linux ~]# free total used free Mem: 62524 60240 2284 -/+ buffers/cache: 40024 22500 Swap: 192524 2620 189904 file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 4. 使 用 swapoff 關 掉 swap file [root@linux ~]# swapoff /tmp/swap 沒 錯, 就 這 麼 簡 單 的 將 虛 擬 記 憶 體 給 他 新 增 囉! 趕 快 來 去 試 試 看 去! 不 過, 如 果 您 的 FC4 從 來 沒 有 經 過 update 的 話, 那 麼 可 能 會 發 生 一 些 小 困 擾, 困 擾 的 原 因 在 此 : https:// bugzilla.redhat.com/bugzilla/show_bug.cgi?id=164937, 因 為 我 們 尚 未 學 習 如 何 以 rpm 安 裝 軟 體, 所 以 這 裡 的 練 習 您 可 以 先 略 過! 虛 擬 記 憶 體 的 限 制 說 實 話, 虛 擬 記 憶 體 在 目 前 的 桌 上 型 電 腦 來 講, 存 在 的 意 義 已 經 不 大 了! 這 是 因 為 目 前 的 x86 主 機 所 含 的 記 憶 體 實 在 都 太 大 了 ( 一 般 入 門 級 至 少 也 都 有 256MB 了 ), 所 以, 我 們 的 Linux 系 統 大 概 都 用 不 到 虛 擬 記 憶 體 (swap) 這 個 玩 意 兒 的 不 過, 如 果 是 針 對 伺 服 器 或 者 是 工 作 站 這 些 常 年 上 線 的 系 統 來 說 的 話, 那 麼, 無 論 如 何,swap 還 是 需 要 建 立 的 因 為 swap 主 要 的 功 能 是 當 實 體 記 憶 體 不 夠 時, 則 某 些 在 記 憶 體 當 中 所 佔 的 程 式 會 暫 時 被 移 動 到 swap 當 中, 讓 實 體 記 憶 體 可 以 被 需 要 的 程 式 來 使 用 另 外, 如 果 您 的 主 機 支 援 電 源 管 理 模 式, 也 就 是 說, 您 的 Linux 主 機 系 統 可 以 進 入 休 眠 模 式 的 話, 那 麼, 運 作 當 中 的 程 式 狀 態 澤 會 被 紀 錄 到 swap 去, 以 作 為 喚 醒 主 機 的 狀 態 依 據! 另 外, 有 某 些 程 式 在 運 作 時, 本 來 就 會 利 用 swap 的 特 性 來 存 放 一 些 資 料 段, 所 以, swap 來 是 需 要 建 立 的! 只 是 不 需 要 太 大! 不 過, swap 在 被 建 立 時, 是 有 限 制 的 喔! 在 核 心 2.4.10 版 本 以 後, 單 一 swap 量 已 經 沒 有 2GB 的 限 制 了, 但 是, 最 多 還 是 僅 能 建 立 到 32 個 swap 的 數 量! 而 且, 由 於 目 前 x86_64 (64 位 元 ) 最 大 記 憶 體 定 址 到 64GB, 因 此, swap 總 量 最 大 也 是 僅 能 達 64GB 就 是 了! 本 章 習 題 練 習 : ( 要 看 答 案 請 將 滑 鼠 移 動 到 答 : 底 下 的 空 白 處, 按 下 左 鍵 圈 選 空 白 處 即 可 察 看 ) 如 何 增 加 一 顆 新 的 硬 碟 在 你 的 Linux 系 統 當 中? 請 詳 述 流 程 : 安 裝 硬 碟 : 關 掉 Linux 主 機 電 源, 調 整 Hard Disk 的 Jump (master 或 slave), 串 接 在 IDE 的 介 面, 請 注 意, 留 意 你 增 加 的 硬 碟 所 串 接 的 IDE 介 面 為 哪 一 個 插 槽, 例 如 你 插 在 IDE2 的 Master, 則 你 的 硬 碟 應 為 hdc; 此 外, 需 要 特 別 留 意 的 是, 目 前 的 機 器 中, 如 果 file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 是 ATA 66 以 上 的 排 線 ( 那 種 很 密 的 排 線 ), 那 麼 master 或 者 是 slave 在 排 線 上 的 順 序 是 固 定 的! 底 端 的 是 Mater 而 中 間 的 是 Slave, 這 點 請 稍 微 注 意 呦! 新 增 硬 體 於 BIOS: 開 啟 電 腦 後, 按 del 鍵 進 入 BIOS, 選 擇 IDE Hard Disk Detector 字 樣 的 選 項, 讓 BIOS 去 捉 硬 碟, 然 後 再 選 擇 Save and Exit; 不 過, 較 新 的 機 器 通 常 都 可 以 自 動 偵 測 了! 但 是, 如 果 你 的 機 器 是 舊 型 的, 那 麼 還 是 手 動 來 增 加 硬 碟 吧! Linux 系 統 偵 測 : 如 果 你 的 Linux 系 統 有 啟 動 kudzu 這 個 服 務 時, 那 麼 開 機 就 會 自 動 去 偵 測 新 的 硬 體 裝 置! Fedora Core IV 預 設 是 有 開 啟 這 項 服 務 的, 除 非 你 關 掉 他 了!OK, 假 設 你 有 開 啟 這 項 服 務, 那 麼 開 機 進 入 Linux 的 時 候, 系 統 會 告 訴 你 有 捉 到 一 個 新 的 硬 體, 你 可 以 按 configure 由 系 統 直 接 安 裝 即 可 ; 格 式 化 硬 碟 : 以 root 的 身 份 進 入 Linux 後, 執 行 以 下 兩 個 程 式 :fdisk /dev/hd[a-d] 與 mke2fs /dev/hd[a-d][1-16] 建 立 mount point: 假 設 我 的 這 顆 硬 碟 要 掛 在 /disk3 下 面, 那 麼 就 需 要 : mkdir /disk3 開 機 自 動 載 入 ( mount ): 再 來 則 是 以 vi 修 改 /etc/fstab 檔 案, 讓 每 次 開 機 把 這 個 硬 碟 直 接 掛 入 系 統 中 安 裝 完 成 : 你 可 以 使 用 mount -a 來 將 全 部 的 裝 置 重 新 掛 載 一 遍, 或 者 是 重 新 開 機 就 可 以 啦! 假 設 條 件 : 我 原 先 規 劃 的 /home 只 有 1GB, 但 是 目 前 的 使 用 者 日 眾, 所 以 容 量 不 足! 我 想 要 增 加 一 棵 8GB 的 舊 硬 碟, 要 如 何 作?! 將 硬 碟 加 入 Linux 系 統 中 : 利 用 剛 剛 上 一 題 的 方 式 將 你 的 硬 碟 加 入 到 Linux 系 統 中, 亦 即 是 使 用 fdisk 與 mke2fs 建 立 了 ext2 的 檔 案 格 式 的 硬 碟! 好 了, 假 設 該 硬 碟 的 代 號 為 /dev/ hdc1 好 了! 掛 載 新 硬 碟 : 由 於 我 需 要 將 新 舊 磁 區 都 掛 上 來, 這 樣 才 有 辦 法 將 資 料 由 舊 硬 碟 移 到 新 硬 碟 上 面,OK! 我 就 建 立 一 個 暫 存 的 目 錄, 稱 為 /disk-tmp: mkdir /disk-tmp mount -t ext2 /dev/hdc1 /disk-tmp 如 此 一 來 則 /disk-tmp 就 是 新 掛 上 來 那 顆 8 GB 的 硬 碟 啦! 移 動 資 料 : 好 了! 現 在 開 始 將 資 料 copy 到 新 掛 上 的 硬 碟 上 面 吧! cd /home tar -zcvf /disk-tmp/home.tar.gz * cd /disk-tmp tar -zxvf home.tar.gz 上 面 的 指 令 會 將 目 前 舊 有 的 /home 底 下 的 東 西 完 全 的 壓 縮 之 後 移 動 到 /disk-tmp/home.tar. gz 這 個 壓 縮 檔, 然 後 再 到 /disk-tmp 底 下 將 他 解 壓 縮! 這 樣 資 料 就 複 製 到 新 掛 上 來 的 硬 碟 啦! 卸 載 舊 的, 掛 上 新 的 : 好 了, 那 麼 我 們 就 開 始 來 測 試 一 下 吧! 你 可 以 這 樣 做 : umount /home mount -t ext2 /dev/hdc1 /home 注 意 呦! 如 果 你 的 /home 底 下 原 本 就 沒 有 掛 載 磁 區 的 話, 那 麼 你 就 可 以 直 接 將 /home 底 下 的 資 料 都 砍 掉, 然 後 在 掛 上 新 的 那 顆 硬 碟 就 好 了! 而 home.tar.gz 這 個 檔 案 就 可 以 用 作 為 備 份 之 用! 開 機 執 行 : 同 樣 的, 如 果 要 設 定 成 開 機 就 掛 上 這 顆 新 的 硬 碟, 那 就 修 改 /etc/fstab 檔 案 file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 吧! 如 果 磁 區 /dev/hda3 有 問 題, 偏 偏 他 是 被 掛 載 上 的, 請 問 我 要 如 何 修 理 此 一 磁 區? umount /dev/hda3 fsck /dev/hda3 我 們 常 常 說, 開 機 的 時 候, 發 現 硬 碟 有 問 題, 請 問, 這 個 問 題 的 產 生 是 filesystem 的 損 毀, 還 是 硬 碟 的 損 毀? 特 別 需 要 注 意 的 是, 如 果 您 某 個 filesystem 裡 面, 由 於 操 作 不 當, 可 能 會 造 成 Superblock 資 料 的 損 毀, 或 者 是 inode 的 架 構 損 毀, 或 者 是 block area 的 記 錄 遺 失 等 等, 這 些 問 題 當 中, 其 實 您 的 硬 碟 還 是 好 好 的, 不 過, 在 硬 碟 上 面 的 檔 案 系 統 則 已 經 無 法 再 利 用! 一 般 來 說, 我 們 的 Linux 很 少 會 造 成 filesystem 的 損 毀, 所 以, 發 生 問 題 時, 很 可 能 整 個 硬 碟 都 損 毀 了 但 是, 如 果 您 的 主 機 常 常 不 正 常 斷 電, 那 麼, 很 可 能 硬 碟 是 沒 問 題 的, 但 是, 檔 案 系 統 則 有 損 毀 之 虞 此 時, 重 建 檔 案 系 統 (reinstall) 即 可! 不 需 要 換 掉 硬 碟 啦! ^_^ 當 我 有 兩 個 檔 案, 分 別 是 file1 與 file2, 這 兩 個 檔 案 互 為 hard link 的 檔 案, 請 問, 若 我 將 file1 刪 除, 然 後 再 以 類 似 vi 的 方 式 重 新 建 立 一 個 名 為 file1 的 檔 案, 則 file2 的 內 容 是 否 會 被 更 動? 這 是 來 自 網 友 的 疑 問 當 我 刪 除 file1 之 後, file2 則 為 一 個 正 規 檔 案, 並 不 會 與 他 人 共 同 分 享 同 一 個 inode 與 block, 因 此, 當 我 重 新 建 立 一 個 檔 名 為 file1 時, 他 所 利 用 的 inode 與 block 都 是 由 我 們 的 filesystem 主 動 去 搜 尋 meta data, 找 到 空 的 inode 與 block 來 建 立 的, 與 原 本 的 file1 並 沒 有 任 何 關 連 性 喔! 所 以, 新 建 的 file1 並 不 會 影 響 file2 呢! 參 考 資 料 : 硬 碟 的 相 關 認 識 :http://www.linwei.com.tw/knowhdd.html Linux System Administrator's Survival Guide http://sunsite.iisc.ernet.in/virlib/linux/survival/ ewtoc.html Design and Implementation of the Second Extended Filesystem http://e2fsprogs.sourceforge. net/ext2intro.html 小 木 偶 的 組 合 語 言 教 學 之 硬 碟 知 識 :http://home.educities.edu.tw/wanker742126/asm/ch32. html Linux 核 心 所 支 援 的 裝 置 代 號 查 詢 : http://www.kernel.org/pub/linux/docs/device-list/devices.txt 2002/07/15: 第 一 次 完 成 2003/02/07: 重 新 編 排 與 加 入 FAQ 2004/03/15: 修 改 inode 的 說 明, 並 且 將 連 結 檔 的 說 明 移 動 至 這 個 章 節 當 中! 2005/07/20: 將 舊 的 文 章 移 動 到 這 裡 file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.
鳥 哥 的 Linux 私 房 菜 -- Linux 磁 碟 與 檔 案 系 統 管 理 2005/07/22: 將 原 本 的 附 錄 一 與 附 錄 二 移 動 成 為 附 錄 B 啦! 2005/07/26: 做 了 一 個 比 較 完 整 的 修 訂, 加 入 較 完 整 的 ext3 的 說 明 ~ 2005/09/08: 看 到 了 一 篇 討 論, 說 明 FC4 在 預 設 的 環 境 中, 使 用 mkswap 會 有 問 題 2005/10/11: 新 增 加 了 一 個 目 錄 的 link 數 量 說 明! 2005/11/11: 增 加 了 一 個 fsck 的 -f 參 數 在 裡 頭! 2006/03/02: 參 考 : 這 裡 的 說 明, 將 ext2/ext3 最 大 檔 案 系 統 由 16TB 改 為 32TB 2006/03/31: 增 加 了 虛 擬 記 憶 體 的 相 關 說 明 在 這 裡 2006/05/01: 將 硬 碟 磁 區 的 圖 做 個 修 正, 感 謝 網 友 LiaoLiang 兄 提 供 的 資 訊! 並 加 入 參 考 文 獻! 2006/06/09: 增 加 hard link 不 能 連 結 到 目 錄 的 原 因, 詳 情 參 考 :http://phorum.study-area.org/viewtopic.php?t=12235 2006/06/28: 增 加 關 於 loop device 的 相 關 說 明 吶! 2006/09/08: 加 入 mknod 內 的 裝 置 代 號 說 明, 以 及 列 出 Linux 核 心 網 站 的 裝 置 代 號 查 詢 2002/06/26 以 來 統 計 人 數 本 網 頁 主 要 以 firefox 配 合 解 析 度 1024x768 作 為 設 計 依 據 http://linux.vbird.org is designed by VBird during 2001-2007. Aerosol Lab. file:///c /Documents and Settings/Administrator/ 桌 面 /0230filesystem.php.