Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
4.3. 檔案系統格式
Red Hat Enterprise Linux 7 針對於檔案系統的格式加入了兩項重大變更。
/bin
、/sbin
、/lib
和/lib64
目錄現在已位於/usr
目錄下。/tmp
目錄現在已能作為暫時性檔案儲存系統(tmpfs
)使用。
4.3.1. root 檔案系統的新格式
典型的
/bin
和 /lib
目錄中僅有最少量的必要內容包含在內,以避免造成開機程序緩慢。部分工具程式必須位於 root(/
)層級,以便掛載 /usr
分割區。這造成了其它工具程式將其內容散佈在不同層級目錄中的情況,比方說同時位於 /bin
和 /usr/bin
中。
Red Hat Enterprise Linux 7 已將
/bin
、/sbin
、/lib
和 /lib64
目錄移至 /usr
中。因為 /usr
檔案系統現在已能透過 initramfs
掛載,而非透過 root 層級目錄中的工具程式,因此已不再需要將套件內容分佈在兩個不同的目錄層級中。這能讓 root 檔案系統的大小減少許多,而讓系統更有效率地共享磁碟空間、更容易維護、更加靈活,且更加安全。
為了降低此變更帶來的影響,先前的
/bin
目錄現在已是 /usr/bin
的符號連結,而 /sbin
則為 /usr/sbin
的符號連結,以此類推。
4.3.1.1. 準備您的檔案系統進行升級
若
/usr
目前位於獨立的分割區上,請確保 /usr
分割區擁有足夠的空間存放 /bin
、/sbin
、/lib
和 /lib64
的副本。
若
/usr
不位於獨立的分割區上,請確保 /
分割區擁有足夠的空間存放 /bin
、/sbin
、/lib
和 /lib64
的副本。
若
/var
位於獨立的分割區上,您必須手動式將 /var/run
和 /var/lock
轉換為符號連結,如:
# mv -f /var/run /var/run.runmove~ # ln -sfn /run /var/run # mv -f /var/lock /var/lock.lockmove~ # ln -sfn /run/lock /var/lock
當您的準備完成時,請參閱《Red Hat Enterprise Linux 7 安裝指南》以取得執行升級程序的指示。
4.3.1.2. 驗證成功的升級程序
在執行了升級程序後,請務必驗證系統升級過後是否能依照預期地運作。
- 請檢查以下符號連結是否存在:
/bin
乃/usr/bin
的符號連結/sbin
乃/usr/sbin
的符號連結/lib
乃/usr/lib
的符號連結/lib64
乃/usr/lib64
的符號連結/var/run
乃/run
的符號連結/var/lock
乃/run/lock
的符號連結
若列出的目錄為符號連結,您將需要再進行兩項檢查。 - 檢查以下 find 指令的輸出:
# find /usr/{lib,lib64,bin,sbin} -name '.usrmove'
透過這項指令所顯示檔案或目錄無法複製至/usr
,因為/usr
中已經有個相同名稱檔案或目錄。您將需要手動解決此名稱衝突上的問題。 - 請檢查以下目錄,以找出您希望保留的檔案:
/var/run.runmove~
/var/lock.lockmove~
若列出的任何檔案非符號連結,您將需要按照 節 4.3.1.3, “由失敗的升級程序中復原” 中的程序進行復原。
4.3.1.3. 由失敗的升級程序中復原
升級程序失敗可能基於幾個原因。請檢查以下指令的輸出,以查看哪裏出了問題:
# dmesg # journalctl -ab --full
若找不到錯誤,請檢查:
/
是否可寫入/usr
是否可寫入/usr
是否已正確掛載/
是否擁有足夠的空間/usr
是否擁有足夠的空間/var
是否有掛載在 rhelup 工具中
若您需要協助,請聯絡 Red Hat 支援人員。