Резервне копіювання файлів у сховище NTFS з швидким доступом до окремих файлів


2

Я намагаюся створити резервну копію мого / домашнього каталогу мого ноутбука Ubuntu на зовнішньому накопичувачі, відформатованому NTFS. Оскільки NTFS не підтримує дозволи для каталогу, я спробував використовувати tar для створення резервної копії:

tar -cvpf backup.tar /home

Закінчивши резервну копію, я з'ясував, що доступ до частин архіву (наприклад, перелік вмісту однієї директорії в архіві) жахливо повільний.

tar -tf backup.tar someuser/Documents

Оскільки загальний / домашній каталог не такий вже й малий (близько 120 ГБ), я вважаю, що це тому, що тар оптимізований для закріплення файлів на резервній стрічці, а не на реальних дисках, оскільки для файлів, що містять файли, не створюється індекс [1]. Зауважте, що простір не є проблемою, і тому я не стиснув файл tar!

Оскільки на диску NTFS вже є файли, я б хотів уникати переформатування накопичувача та створення розділу ext4 для резервної копії.

Як швидше зберігати та читати резервні копії?

Zip та 7z, схоже, не зберігають дозволи довідників, тому, здається, вони не підходять для роботи. Я не можу повірити, що в архіві не існує формату архіву, який би підтримував дозволи стилів UNIX і дозволяє швидкий доступ до окремих файлів в архіві ...

[1] http://www.cyberciti.biz/faq/extracting-single-file-directory-from-tarball-2/


tar повинен прочитати весь архів, перш ніж перерахувати всі файли. Якщо ви просто видобуваєте один заданий файл, вам може пощастить, і це буде на початку, а не в кінці, тому може бути швидше. PS. Це дійсно на тему "У мене є <problem-x>, який я не знаю, як вирішити. Я вже спробував X, Y, Z, але ці програми не працюють, тому що це чи інше. Як це зробити?" зробити це?"
Xen2050

Відповіді:


0

У мене є кілька ідей ...

Використовуйте ZIP

Формат ZIP робить магазин дозволу інформації (принаймні реалізації Info-ZIP, яка буде використовуватися під Mint / Ubuntu / Debian), але , мабуть , не користувач / груп (по крайней мере, версія на монетному дворі «Це Zip 3.0 (5 липня 2008), по Інфо-ZIP. "). Якщо всі файли належать вашому користувачеві, не маючи спеціального користувача чи групи, поштовий індекс повинен працювати досить добре.

Тестували в каталозі, використовуючи також Archive Manager 3.10.2.1, і він зберігав дозволи файлів і каталогів ОК. Користувач: group, мабуть, налаштований на вас: ви.

Дивіться Вікіпедію про формат файлу Zip :

Реалізації Info-ZIP формату .ZIP додають підтримку функцій файлової системи Unix, таких як ідентифікатори користувачів та групи, дозволи файлів та підтримка символічних посилань. Реалізація Apache Ant знає про це в тій мірі, в якій вона може створювати файли з попередньо визначеними дозволами Unix. Реалізації Info-ZIP також знають, як використовувати можливості виправлення помилок, вбудовані у формат стиснення .ZIP. Деякі програми (наприклад, IZArc) не роблять цього файлу, який має помилки.

Інструменти Info-ZIP Windows також підтримують дозволи файлової системи NTFS і спробують перевести з дозволів NTFS в дозволи Unix або навпаки під час вилучення файлів. Це може призвести до можливих ненавмисних комбінацій, наприклад .exe-файлів, створених у томах NTFS, з відхиленим дозволом виконання.

З'являється, що 7z також зберігає дозволи на файли та каталоги ОК, а також інформацію про користувача та групу.

Використовуйте файлову систему в файлі

Тим більше, що простір не викликає труднощів, ви можете створити один дуже великий файл і розглянути його як великий розділ, відформатувати його до ext (або улюбленого формату Linux) для зберігання всіх ваших файлів.

Після встановлення Linux обробляє його як інший розділ, і ви можете копіювати та читати файли на ньому, зберігаючи всі дозволи / користувачі.

В основному кроки

  1. Створіть великий порожній / нульовий файл. headпрацює, ddтощо. Цей приклад створює 5М файл, заповнений нулями:

    head -c 5M /dev/zero > bigfile
    

    (замініть 5M на потрібний розмір, використовуючи будь-який суфікс множника, який вам подобається: "b 512, kB 1000, K 1024, MB 1000 * 1000, M 1024 * 1024, GB 1000 * 1000 * 1000, G 1024 * 1024 * 1024, і так далі для T, P, E, Z, Y. ")

  2. Відформатуйте файл. Деякі вказівки говорять про те, що спочатку налаштувати файл циклу 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
    
  3. Змонтуйте файлову систему та використовуйте її

    $ 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.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.