У меня есть пара идей ...
Используйте ZIP
Формат ZIP делает магазин разрешения информации (по крайней мере реализации Info-ZIP, используемый по Mint/Ubuntu/Debian), но , видимо , не пользователей / групп (по крайней мере, версия на монетном дворе «Это Zip 3.0 (5 июля 2008), по Info-ZIP. "). Если все файлы принадлежат вашему пользователю без каких-либо специальных пользователей или групп, тогда zip должен работать достаточно хорошо.
Протестировано с каталогом, с использованием Archive Manager 3.10.2.1, и он сохранил права доступа к файлам и каталогам. Пользователь: группа, очевидно, настроен на вас: вы.
Смотрите Википедию о формате файла Zip:
Инфо-ZIP реализации.В формате ZIP добавлена поддержка функций файловой системы Unix, таких как идентификаторы пользователей и групп, права доступа к файлам и поддержка символических ссылок. Реализация Apache Ant знает об этом в той степени, в которой она может создавать файлы с предопределенными разрешениями Unix. Реализации Info-ZIP также знают, как использовать возможности исправления ошибок, встроенные в.Формат сжатия ZIP. Некоторые программы (например, IZArc) этого не делают, и в файлах с ошибками произойдет сбой.
Средства Info-ZIP для Windows также поддерживают разрешения файловой системы NTFS и будут пытаться преобразовать разрешения NTFS в разрешения Unix или наоборот при извлечении файлов. Это может привести к потенциально непреднамеренным комбинациям, например, к файлам .exe, создаваемым на томах NTFS с запрещенным разрешением для исполняемого файла.
7z, кажется, тоже хранит права доступа к файлам и каталогам, и информации о пользователях и группах тоже нет.
Использовать файловую систему в файле
Тем более, что пространство не является проблемой, вы можете создать один очень большой файл и рассматривать его как большой раздел, отформатировать его в ext (или ваш любимый формат linux) для хранения всех ваших файлов.
После монтирования Linux будет обрабатывать его как другой раздел, и вы сможете копировать и читать на него файлы, сохраняя все разрешения / пользователей.
Шаги в основном
Создайте большой пустой / нулевой файл. head
works, или dd
и т. д. В этом примере создается файл 5M, полный нулей:
head -c 5M /dev/zero > bigfile
(замените 5M на любой желаемый размер, используя любой суффикс множителя: «b 512, кБ 1000, K 1024, МБ 1000 * 1000, M 1024 * 1024, ГБ 1000 * 1000 * 1000, G 1024 * 1024 * 1024, и так далее для T, P, E, Z, Y. ")
Отформатируйте файл. В некоторых инструкциях говорится, что сначала нужно установить файл цикла с помощью losetup
, но современные дистрибутивы могут выполнять часть цикла самостоятельно.
$ mke2fs -v bigfile
mke2fs 1.42.9 (4-Feb-2014)
bigfile is not a block special device.
Proceed anyway? (y,n) y
...
Writing superblocks and filesystem accounting information: done
Смонтируйте файловую систему и используйте ее
$ sudo mount -v bigfile mountpoint
mount: enabling autoclear loopdev flag
mount: going to use the loop device /dev/loop1
mount: you didn't specify a filesystem type for /dev/loop1
I will try type ext2
/home/user/bigfile on /home/user/mountpoint type ext2 (rw)
Я видел некоторые программы для Windows, которые могут читать разделы ext, но я точно не знаю, может ли какая-либо из них сделать это из такого файла, поэтому файлы могут быть недоступны из Windows.