在新安裝時從其他分區重新掛載 /home 而不複製
我正在使用 Linux Mint 17.3,並使用 Mint 18 創建了一個新的更小的磁碟。現在我的計劃是將舊分區從新系統掛載
/mountpoint/oldroot/home/
到/home
新系統中。所以我創建了與舊系統相同的使用者名和密碼的所有 3 個使用者,然後編輯/etc/fstab
,對嗎?問題:
- 我需要確保數字 uid 和 gid 匹配,我該怎麼做?
- 還有什麼需要注意的嗎?
理想情況下,我想避免
chown
在舊房子上執行,因為我想並行使用這兩個系統,直到我確信過渡成功為止。但我有點擔心我錯過了什麼。
我最終將新安裝的 GID 和 UID 調整為舊安裝的
usermod -u <old-uid> <login>
,groupmod -g <old-gid> <login>
並確保主目錄在新系統上與舊系統上的名稱相同。為了更改到新的主目錄,我編輯了 fstab 以將它們掛載/home
,然後重命名預設使用者目錄mv /home/login /home/login_old
並將空目錄mkdir /home/login
作為 fstab 文件中使用的掛載點。之後,我立即重新啟動。它執行良好且沒有錯誤,因為 Mint 17.3 和 18 非常相似。
我一般不建議從一個發行版遷移到另一個發行版或者如果桌面環境發生更改,因為使用者主目錄的舊設置可能會導致問題。
您可以使用該
usermod
命令更改使用者憑據:UID 或 GID:
usermod -u NEW_UID USERNAME usermod -g NEW_GID USERNAME
因此,您可以採用舊系統的價值觀。
主目錄位置(僅當 /home 移動不完整時…)
usermod -d /path/to/new/home/dir USERNAME
要同時將目前主目錄的內容移動到新位置,請使用該
-m
選項。或者,您也可以將舊的
/etc/passwd
,/etc/group
和/etc/shadow
文件移動到新系統並跳過 UID 和 GID 的重置。我看到的一個問題可能是兩個系統是否對某些配置文件使用相同的名稱,從而產生錯誤。