2008年10月30日 星期四

ps 指令的範例蒐集

行程 (process) 的意義 ,已談過何謂行程並簡介 ps 這個指令。
現在我想要做的不是深入探討 ps 指令的意義,而是蒐集常用 ps 指令串,列出提及的旗標,
這將方便我快速查詢目前的行程狀態。

一般旗標:
-A:顯示所有程序
-e:顯示所有程序
T: 顯示現行終端本身的所有程序
a: 顯示現行終端本身的所有程序,包括其他使用者
x: 顯示所有程序,不以終端來區分。
輸出格式規劃:
-f:全格式的顯示。
-l:較長、較詳細的將該 PID 的的資訊列出。
j:工作的格式 (jobs format)。
u:以使用者導向顯示。
f:以 ASCII 字符顯示程序的樹狀結構,以表示程序間的關係

注意:
ps 指令支援多種作樣系統,故旗標相當多元,有沒有 - 號,代表意義完全不同
,部分作業系統可相容兩種顯示,但一般學習 ps 指令還是得分辨有沒有 - 的差異。

範例一:最常用顯示詳細行程狀態

bang@linuxdiary:~$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 1692 552 ? S Sep30 0:01 init [5]
root 2 0.0 0.0 0 0 ? S Sep30 0:00 [migration/0]
範例二:次常用顯示所有行程狀態
bang@linuxdiary:~$ ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Sep30 ? 00:00:01 init [5]
root 2 1 0 Sep30 ? 00:00:00 [migration/0]
範例三:顯示某個指令行程狀態
bang@linuxdiary:~$ ps -fC httpd
UID PID PPID C STIME TTY TIME CMD
root 26990 1 0 Oct25 ? 00:00:00 /usr/sbin/httpd
範例四:找出某兩個服務有關行程
bang@linuxdiary:~$ ps aux | egrep 'cron|syslog'
root 3270 0.0 0.0 1604 608 ? Ss Sep30 1:51 syslogd -m 0
root 3761 0.0 0.0 4624 1044 ? Ss Sep30 0:07 crond
root 14312 0.0 0.0 5216 1344 ? S 04:00 0:00 crond
root 20013 0.0 0.0 3732 716 pts/1 S+ 12:07 0:00 egrep cron|syslog
範例五:列出 CPU 使用率最高的 10 行程
bang@linuxdiary:~$ ps aux | head -1 ; ps aux | sort -k3rn | head -10
範例六:列出記憶體使用率最高的 10 行程
bang@linuxdiary:~$ ps aux | head -1 ; ps aux | sort -k4rn | head -10
範例七:另一種列出記憶體使用率最高的 10 行程,他是利用排列 SZ (記憶體使用量)
bang@linuxdiary:~$ ps -elf | head -1 ; ps -elf | sort -k10rn | head -10
範例八:列出行程樹
bang@linuxdiary:~$ ps auxf

2008年10月1日 星期三

學習使用 Logwatch (日誌檢視系統)

每天檢視日誌是系統管理員的工作,但就算是老練的網管一個個日誌檔的檢視,也要解讀老半天,使用 Logwatch 將幫助你更有效的檢視日誌。它主要用途是收集系統上的日誌資料,以淺顯易懂的方式表達,並 Email 給系統管理員,由於它已安裝在 Linux 中,基本上你只需要知道如何配置及使用,以下節錄 Logwatch 內容片段。
--------------------- Disk Space Begin ------------------------
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
108G 68G 35G 67% /
/dev/hda1 99M 26M 69M 28% /boot
---------------------- Disk Space End -------------------------

大略在 Logwatch 7 之後的版本,設定檔被移至 /etc/logwatch/conf/ 目錄下
,其中包含 ignore.conf,logfiles,logwatch.conf,override.conf,services 等檔案。
且都是空的檔案與資料夾,表示一切設定為預設值。而預設的範例設定檔則放置於
/usr/share/logwatch/default.conf,你可以參考此檔案的預設設定,而將它改寫至 /etc/logwatch/logwatch.conf 中。

以下我們用問答的方式來介紹 Logwatch 常用功能與常見問題。

問題一:將日誌寄給誰,由誰寄出

我們可以在 /etc/logwatch/logwatch.conf 中,設定 Logwatch 將日誌資料寄到哪個信箱,以及由誰寄出。

#寄給誰

MailTo = admin@aaa.com

#由誰寄出

MailFrom = admin@aaa.com

問題二:如何移除不想分析的服務

有些服務不是那麼重要,移除後可以減少日誌郵件寄出的大小,Logwatch 預設為掃描所有的服務,參數為 All,所花的時間是最多,為了節省時間,可以把不需要分析的移除,以下為範例。

# The 'Service' option expects either the name of a filter

# (in /usr/share/logwatch/scripts/services/*) or 'All'.

# The default service(s) to report on. This should be left as All for most people.

Service = -audit

Service = -cisco

Service = -http

Service = -samba

Service = -postfix

問題三:省略寄信步驟,直接列出昨天的日誌資訊

[root@lamp ~]# logwatch --print

問題四:單獨查看某個服務 (如 clamav )

[root@lamp ~]# logwatch --service clamav --print

問題五:剛剛修改 logwatch config 設定,想馬上知道結果

修改 range 旗標,將其目標縮小至今天。

[root@lamp ~]#logwatch --service clam-update --range Today --print

問題六:如何移除警告 Warning: Large mailbox: root

Large Mailbox threshold: 40MB (41943040 bytes)
當收到的 Log 其中個人郵件超過 40MB 就會被記錄,可以根據以下說明修改限制大小。
在 /etc/logwatch/conf/servicessendmail-largeboxes.conf 中

  # Mailbox size threshold

# can add units KB, MB, GB, TB

# can set to 0 to report spool files being created where they shouldn't

sendmail_largeboxes_size = 40MB

# 改為希望的大小就可以了。

2008年9月1日 星期一

在 CentOS 5 安裝 MRTG

1.安裝 snmp 與 MRTG

bang@linuxdiary:~$ yum -y install net-snmp mrtg net-snmp-utils

說明:安裝 net-snmp-utils 是為了使用 snmpwalk。

2.設定 snmp

先備分一份設定檔

bang@linuxdiary:~$ cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak

編輯設定檔 /etc/snmp/snmpd.conf
在 snmpd.conf 有好幾段範例,請註解第一段範例,使用者由第二個範例修改。
在第二段範例設定一開始你可以看到

# Here is a commented out example configuration that allows less
# restrictive access.

你需要修改的地方只有 community string,其餘請依序移除註解。

a.設定 community string

#       sec.name  source          community
com2sec local localhost hplus

說明:hplus 即為 community string

b. Map Group name

#       groupName      securityModel securityName
#group MyRWGroup any local

說明:移除紅色 #

c. 設定檢視權限

#           incl/excl subtree                          mask
#view all included .1 80

說明:移除紅色 #


d. 最後,讓群組可以唯讀方式檢視系統

#                context sec.model sec.level prefix read   write  notif
#access MyRWGroup "" any noauth 0 all all all

說明:移除紅色 #

e.啟動 SNMP

bang@linuxdiary:~$ /etc/rc.d/init.d/snmpd start

f.測試 SNMP

bang@linuxdiary:~$ snmpwalk -v 1 localhost -c hplus

若 snmp 安裝完成,會顯示一大堆 snmp 回傳訊息,以下節錄一小段

SNMPv2-MIB::sysDescr.0 = STRING: Linux www.hundredplus.com 2.6.15-1.2054_FC5 #1 Tue Mar 14 15:48:33 EST 2006 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (2289589) 6:21:35.89
SNMPv2-MIB::sysContact.0 = STRING: Root (configure /etc/snmp/snmp.local.conf)

g.防火牆

如果不是觀察本機端 SNMP,請記得對方要開啟 UDP PROT 161

3.設定 MRTG

架構說明

觀察對象的 Community String:hplus
輸出設定目錄:/etc/mrtg/
輸出網頁目錄:/opt/lampp/htdocs/mrtg/
目的:建立主機流量圖

a.產生 cfg 檔案
執行以下命令

bang@linuxdiary:~$ cfgmaker --global 'WorkDir: /opt/lampp/htdocs/mrtg' \
--global 'Options[_]: growright' \
--output /etc/mrtg/network.cfg \
hplus@localhost

說明:更多 cfgmaker 設定請參考
http://mrtg.cs.pu.edu.tw/doc/cfgmaker.en.html

b.執行 mrtg

bang@linuxdiary:~$ env LANG=C /usr/bin/mrtg /etc/mrtg/ network.cfg

說明:會出現多行警告訊息如下

Rateup WARNING: /usr/bin/rateup Can't remove localhost_2.old updating log file

請重複執行命令,直到警告消失為止

c.產生網頁

bang@linuxdiary:~$ indexmaker /etc/mrtg/network.cfg > /opt/lampp/htdocs/mrtg/network.html

說明:輸出的網頁只是一種顯示方式,可依據喜好編輯網頁。

e.檢視網頁是否建立成功

http://localhost/mrtg

你應該要看到以下圖片

f.自動排程

編輯 /etc/cron.d/mrtg ,加入已下一行

*/5 * * * * root env LANG=C /usr/bin/mrtg /etc/mrtg/network.cfg

說明:每五分鐘執行一次,需重新啟動 crond

bang@linuxdiary:~$ /etc/rc.d/init.d/crond restart

4.其他觀察指標

下載 mrtg.zip,利用現成範例檔案,完成其他觀察指標,以記憶體為例,解開壓縮檔後,上傳 mem.cfg 至 /etc/mrtg,並編輯

Target[freemem]: .1.3.6.1.4.1.2021.4.11.0&.1.3.6.1.4.1.2021.4.11.0: hplus@localhost
Title[freemem]: Free Memory
MaxBytes[freemem]: 10000000
kMG[freemem]: k,M
YLegend[freemem]: bytes
ShortLegend[freemem]: bytes
PageTop[freemem]: Free memory, not including swap, in bytes
Legend1[freemem]: Free memory, not including swap, in bytes
LegendI[freemem]: Free Memory:
LegendO[freemem]:
Options[freemem]: nopercent,growright,gauge,noinfo
WorkDir:/opt/lampp/htdocs/mrtg/
Language:big5

編輯檔案時,需確認 Community String@觀察 IP,輸出網頁目錄是否正確。
完成後,執行回到之前 設定 MRTG介紹,重複執行 b,c,e,f 動作即可。

同理依序上傳並編輯各個檔案,包含

AttemptFails.cfg
連線嘗試失敗
cpu_act.cfg
CPU 負載率
cpu_idle.cfg
CPU 閒置率
cpu_usr.cfg
CPU 使用者與系統使用率
dsk.cfg
磁碟使用率
estabcons.cfg
目前連線數
hrStorage.cfg
磁碟目前用量
mem.cfg
記憶體使用率
newconn.cfg
新建立連線數

5.監控硬碟項,要注意的地方

a.監控硬碟必須先知道我們掛載的情況

輸入命令

bang@linuxdiary:~$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
471016352 14887036 431817100 4% /
/dev/sda1 101086 10960 84907 12% /boot
tmpfs 1037820 0 1037820 0% /dev/shm

利用以上資訊,編輯 snmp.conf

b.然後在 snmp.conf 指定硬碟

開啟 /etc/snmp.conf`,尋找 # disk checks
你可以看到一些設定範例,可將 df 所得資訊,插入以下兩行

disk / 471016352       #代表第一個要觀察的分割區

disk /boot 101086 #代表第二個要觀察的分割區

c.於/etc/mrtg 編輯 dsk.cfg,內容如下

LoadMIBs: /usr/share/snmp/mibs/UCD-SNMP-MIB.txt
Target[kontor.root]:dskPercent.1&dskPercent.2:MY_SRTING@localhost
MaxBytes[kontor.root]: 100
Title[kontor.root]: DISK USAGE
PageTop[kontor.root]: DISK / and /boot Usage %
Unscaled[kontor.root]: ymwd
ShortLegend[kontor.root]: %
YLegend[kontor.root]: DISK Utilization
Legend1[kontor.root]: Root disk
Legend2[kontor.root]: /boot disk
Legend3[kontor.root]:
Legend4[kontor.root]:
LegendI[kontor.root]: Root disk
LegendO[kontor.root]: /boot disk
Options[kontor.root]: growright,gauge,nopercent
WorkDir:/opt/lampp/htdocs/mrtg

編輯檔案時,只需確認 Community String,觀察 IP,輸出網頁目錄是否正確。
完成後,執行 設定 MRTG:b,c,e,f 動作即可。

6.編輯 index.html

這是最後結果,可視情況要不要作,當所有範例檔都修改並上傳完成,可根據範例包中 index.html,
修改連結與圖片正確的位址,即完成所有安裝。

範例

<div>
<a href="freemem.html"><img border="1" alt="freemem Traffic Graph" src="freemem-day.png"></a><br>
<small><!--#flastmod file="kontor.root.html" --></small>
</div>

2008年5月14日 星期三

如何知道現在的 Distribution

Distribution 不知道該怎麼翻譯,通常我會叫他「發佈」或「發行」,指的是各個軟體商或社群利用不同版本的核心,自行組裝各種套件,客製化後的各種不同 Linux 版本,如 Slackware、Red Hat、Mandriva、Debian、Ubuntu 等。
隨著發行版本越多,個人手邊安裝的系統也越多,加上版本號不斷更新,常常遊走不同版本之間的人難免會錯亂,現在是第幾版?哪一個 Distribution?核心是多少 ...
以下整理如何解決這些問題:

  • 從開機紀錄著手
    dmesg 可以將開機紀錄列印出來,/var/log/dmesg 也記錄著相同資料。
    bang@linuxdiary:~$ dmesg | head -1

    Linux version 2.6.12-1.1381_FC3smp (bhcompile@porky.build.redhat.com) (gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)) #1 SMP Fri Oct 21 04:03:26 EDT 2005

  • 利用 /proc/version
    這裡的結果與 dmesg 顯示的結果相同
    bang@linuxdiary:~$ cat /proc/version

    Linux version 2.6.12-1.1381_FC3smp (bhcompile@porky.build.redhat.com) (gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)) #1 SMP Fri Oct 21 04:03:26 EDT 2005

  • 利用 /etc/issue
    這個方式應該是最接近標題問題的正確解答
    bang@linuxdiary:~$ cat /etc/issue

    Fedora Core release 3 (Heidelberg)
    Kernel \r on an \m
  • 如何查詢核心版本
    這是 LPI1 的基本考題
    bang@linuxdiary:~$ uname -a

    Linux hundredplus.com 2.6.12-1.1381_FC3smp #1 SMP Fri Oct 21 04:03:26 EDT 2005 i686 i686 i386 GNU/Linux

2008年3月25日 星期二

如何製作 ssh 的鑰匙

使用 puttygen 製作鑰匙
  1. 點選 PUTTYGEN.EXE 程序 (官網下載頁面)。
  2. 在 Parameters 一欄選擇 Key 類型為「SSH2 DSA」。( 其實這裡的三個選項都可以選,主要式配合你的 ssh )
  3. 點擊 Generate 按鈕。
  4. 在空白處隨機移動鼠標用以產生隨機數據。這些隨機數據將被 Puttygen.exe 用來產生安全的 KEY (密鑰),收集到足夠的隨機數據密鑰就會產生。
  5. 基本上此時鑰匙以建立完成,但若你考慮在鑰匙上加上安全機制,可在"Key passphrase" 和 "Confirm passphrase"處輸入密碼,為你的私鑰加密,當然你也可以選擇不輸入密碼;當使用者利用私鑰要登入伺服器時,會被問起這組密碼。
  6. 保存這對鑰匙,Save private key 保存私鑰,Save public_key 保存公鑰,保存私鑰的附檔名為 .ppk,此文件就是客戶端要使用的私鑰,若你沒有設定 passphrase ,在儲存私鑰同時會詢問 passphrase 是否空白 。基本上,公鑰可以不儲存,可以將文字方塊中的那一長串文字複製於 authorized_keys 中,若真的遺失了,可用 load 私鑰的方式產生公鑰。
  7. Puttygen會在 key 文字方塊中產生一對亂碼,將整段複製,貼於個人資料夾中的 .ssh/authorized_keys ,以下為公鑰範例。
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAz7y1oBJiH6yuW6hOWu3jzTPYOJ5MRwvhvM6pcK9+NAjj8nJk9Msvpt7fwBoQyBNuXN/fZTneUxL16rYbeVQ8M2xWUZ0QbB38aCSRkM3iUaD/JuPXrfGkTsSEvwsztr+jyz8/SCeOiaZ7YXoCUUoTobJ2l4R43C8y6m7Y8DivH/k= rsa-key-20080514

增加使用公鑰的限制

在公鑰的亂碼前加入 from 或 command,可以限制使用公鑰的指令與來源IP如下
from="192.168.101.10" ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAz7y1oBJiH6yuW6hOWu3jzTPYOJ5MRwvhvM6pcK9+NAjj8nJk9Msvpt7fwBoQyBNuXN/fZTneUxL16rYbeVQ8M2xWUZ0QbB38aCSRkM3iUaD/JuPXrfGkTsSEvwsztr+jyz8/SCeOiaZ7YXoCUUoTobJ2l4R43C8y6m7Y8DivH/k= rsa-key-20080514

ssh-keygen 製作鑰匙

首先決定要使用這把公鑰的用戶(可以是 root),並切換至用戶目錄下。
bang@linuxdiary:~$ su bang
bang@linuxdiary:~$ cd ~
產生鑰匙,如同 puttygen,會產生一對鑰匙,公鑰與私鑰,-t 為產生格式,有一般可選擇 dsa 或 rsa,在產生時,系統會詢問你存放地點與使用密碼,你可以直接 Enter 略過,不設密碼,代表使用私鑰時,不須密碼。
bang@linuxdiary:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):/root/.ssh/id_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /bang/.ssh/id_rsa.
Your public key has been saved in /bang/.ssh/id_rsa.pub.
The key fingerprint is:
f4:b4:55:93:89:f7:d5:b0:4a:38:39:76:36:6c:a4:b6 bang@192.168.1.10

以下是容易忘記的地方,必須完成幾個重要的權限設定,最後將公鑰匯入 authorized_key
bang@linuxdiary:~$ chmod 700 .ssh
bang@linuxdiary:~$ cd .ssh
bang@linuxdiary:.ssh$ touch authorized_keys
bang@linuxdiary:.ssh$ chmod 600 authorized_keys
bang@linuxdiary:.ssh$ cat id_dsa.pub > authorized_keys
有關於私鑰的使用

在Linux上的使用方法,根據 /etc/ssh/ssh_config 的設定,私鑰放置預設路徑為 ~/.ssh/id_rsa
故製作完私鑰後,可以將私鑰內容,複製於 ~/.ssh/id_rsa 之中,但 id_rsa 只能放一把鑰匙,若同時擁有多把主機鑰匙可用以下方式登入。

bang@linuxdiary:~$ ssh -i 鑰匙名稱 root@192.168.1.1
sshd.conf 的相關設定

IdentityFile ~/.ssh/id_rsa
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

IdentityFile: 私鑰檔的路徑與名稱
AuthorizedKeysFile:公鑰檔的路徑與檔名
RSAAuthentication:是否開啟 RSA 認證
PubkeyAuthentication:是否允許公鑰認證

2008年2月11日 星期一

rpm 對照 dpkg

安裝、移除

目的 rpm 範例 長旗標
dpkg 範例長旗標
安裝 rpm -i webmin-1.400-1.noarch.rpm install
dpkg -i webmin_1.400_all.debinstall
移除
rpm -e webmin
erase
dpkg -r webmin (保留設定檔)
dpkg -P webmin (完全移除)
remove
purge

查詢已安裝套件

目的 rpm 範例 長旗標
dpkg 範例長旗標
顯示所有已安裝的套件名稱 rpm -qa query
all
dpkg -llist
顯示套件包含的所有檔案rpm -ql webmin
query
list
dpkg -L webmin
listfiles
顯示特定檔案所屬套件名稱rpm -qf ./webmin.conf
query
file
dpkg -S ./webmin.conf
search
查詢套件檔案資訊rpm -qi webmin
query
info
dpkg -p webmin (顯示詳細資訊)
print-avail
查詢套件安裝檔的資訊rpm -qip webmin-1.400-1.noarch.rpmquery
info
package
dpkg -I webmin_1.400_all.debinfo
查詢套件安裝檔的欲安裝檔案rpm -qlp webmin-1.400-1.noarch.rpmquery
list
package
dpkg -c webmin_1.400_all.debcontent

本文是主要參考
http://cha.homeip.net/blog/archives/2005/08/rpm_vs_dpkg.html
本來想做更詳盡的整理,但原文已夠棒了,就稍微整理一下編排就發布了。
這裡題一下 alien 這命令,它在 LPI1 常考,主要目的是用於 debian 系統上使用 rpm 的套件。

2008年1月4日 星期五

搜尋指令的整理

各種搜尋命令
命令名稱 對象
說明
locate 檔案、目錄
以比對資料庫索引的方式,尋找檔案與目錄。
find
檔案、目錄實際於目錄樹中尋找檔案或目錄。
whereis
命令
顯示命令、命令原始碼、命令 manual page 的位置。
which
命令顯示命令 (二進位檔) 的存放位置。
ldd
命令顯示與命令相依的分享函式庫。
whatis
Man Page
以關鍵字精確搜尋 manual page。
apropos
Man Page以關鍵字模糊搜尋 manual page。
info
Info Page以 Info 格式讀取 manual page。
man
Man Page搜尋 manual page。
whois
網域名稱
查詢網域名稱的註冊資訊。

2008年1月1日 星期二

分割區的管理

分割區的管理其實就是 fdisk 指令的應用,講起來很簡單,但這只是了解 Linux 檔案系統的其中一步而已,以下一個易搞混的例子來說,fdsik -l,mount,df 所顯示資訊的差異,這三個指令顯示的內容有類似的資訊,但事實上完全是兩碼事。
bang@linuxdiary:~$ fdisk -l

Disk /dev/sda: 164.6 GB, 164696555520 bytes
255 heads, 63 sectors/track, 20023 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 144 1052257+ 82 Linux swap
/dev/sda3 145 20023 159678067+ 83 Linux

bang@linuxdiary:~$ mount
/dev/sda3 on / type ext3 (rw)
none on /proc type proc (rw)
none on /sys type sysfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/sda1 on /boot type ext3 (rw)
none on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

bang@linuxdiary:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 157171140 130211572 18975668 88% /
/dev/sda1 101086 11071 84796 12% /boot
none 252752 0 252752 0% /dev/shm
注意
在參考書中,或 man page 中常常遇到,也容易搞混的一個名詞 Filesystem「檔案系統」,此 名詞有兩種不同的意思:一,檔案與目錄在硬碟(或其它儲存裝置)上的具體組織方法,簡單的說就是分割區類型 (partition type)。二,儲存裝置內容的組織結構,意即目錄樹 (directory tree),也可以說將分割區掛載後的目錄結構。
二的解釋是大家熟悉的檔案系統說明,但也許有人會質疑一的說明,認為分割區就分割區,檔案系統就檔案系統,但如果你去 man 一下 filesystem 就會發現在 man page 中,Filesystem 的意義多為一的解釋。
劃分分割區的注意事項
  • 雖然系統可規劃多個分割區,但系統必須在掛載 「/」根目錄的分割區完成開機作業,因此「/bin/」,「/sbin/」,「/etc/」,「/lib/」,「/dev/」此五個目錄必須與根目錄配置於同一分割區。
  • 若硬碟容量有限,建議容量最大的分割區分配給「/user/」使用。
  • 「/root/」,「/home/」為選擇建立 (optional) 的目錄,若硬碟空間不足,可不建立。
  • 「/」,「/var」,「/tmp」,「/usr」,「/usr/local」,「/opt」,「/home」分別配置在不同的獨立分割區,可提高存取效能,增加備份的便利性。