Я хочу создать образ файловой системы для чужой системы Linux на локальном Linux.
Во-первых, внешняя система может иметь другую архитектуру ЦП, такую как ARM, MIPS, а не мой локальный компьютер Linux. И в настоящее время он не поддерживает virtualbox
моделирование.
Во-вторых, внешняя система может иметь пользователей, отличных от моего локального хоста, и, возможно, иметь тот же идентификатор пользователя, но может иметь другое имя, или, возможно, идентификатор пользователя существует только во внешней системе, но не на локальном хосте.
Аналогично для идентификаторов групп.
Обычный процесс создания файловой системы, включая создание пустого образа файловой системы, его монтирование, копирование файлов в него и затем размонтирование.
Проблема в том, что, поскольку идентификатор пользователя не существует на моем локальном хосте, как мне создать его в моей локальной файловой системе на этапе копирования файла?
Мы знаем, что если мы tar
какую-то папку во внешней системе, а затем разархивировать ее на моем локальном хосте, я могу получить некоторые файлы с несуществующими пользователями / группами на месте. Это доказывает, что файлы с несуществующими пользователями / группами могут существовать в системе Linux.
В файловой системе хранятся UID и GID. Можно также chown UID:GID
Вместо того, чтобы использовать chown user:group
для установки прав доступа к файлам для несуществующих локальных пользователей / групп. Таким образом, создание файлов должно быть простым.
Еще лучше было бы создать пользователей / группы в локальной системе с определенным UID / GID, соответствующим обеим системам. useradd & groupadd
поддержите это.