Filesystems

Linux為外部(嵌入式)系統創建具有不存在所有者/組的文件系統

  • October 29, 2018

我想在本地 Linux 上為外部 Linux 系統創建文件系統映像。

首先,國外的系統可能有不同的CPU架構,比如ARM、MIPS,而不是我本地的PC Linux主機。而且它目前不支持virtualbox模擬。

其次,外部系統的使用者可能與我的本地主機不同,並且可能具有相同的使用者 ID 但可能使用不同的名稱,或者可能使用者 ID 僅存在於外部系統中而不存在於本地主機中。

組 ID 也是如此。

一個正常的文件系統創建過程,包括創建一個空的文件系統映像,掛載它,將文件複製到其中,然後解除安裝它。

問題是,由於我的本地主機中不存在使用者ID,我如何在復製文件階段在我的本地文件系統中創建它?

我們知道,如果我們tar在外部系統中的某個文件夾,然後在我的本地主機中解壓縮它,我可以獲得一些不存在的使用者/組的文件。這證明了不存在使用者/組的文件可以存在於 Linux 系統中。

在文件系統中儲存了 UID 和 GID。也可以chown UID:GID代替使用chown user:group將文件權限設置給不存在的本地使用者/組。所以文件的創建應該很容易。

更好的辦法是在本地系統上創建具有匹配兩個系統的特定 UID/GID 的使用者/組。useradd & groupadd支持那個。

引用自:https://serverfault.com/questions/937639