LINUX.ORG.RU

Бекап системы (без tar, rsync, squashfs и т.д.)

 ,


1

5

Пришлось переустанавливать систему и бекапить всякое нажитое непосильным трудом. Возник вопрос, на который я не смог найти ответ в Google за несколько минут. А именно:

Как сделать архив директории с сохранением атрибутов, чтобы потом можно было БЫСТРО просматривать содержимое?

Собственно, проблема tar в том, что при попытке посмотреть tar.bz2 архив весом в 50Гб и найти там что-то, ты проходишь через все стадии торг, принятие, смирение и т.д.

На дворе 2023 год, неужели нельзя просто сделать архив, в котором можешь потом найти то, что надо, и положить этот архив на внешний NTFS диск?


  • Атрибуты файлов хранят только родные для Linux файловые системы (никаких NTFS, FAT, ExtFAT)
  • tar и zip - форматы архивов, которые хранят права (ugo user group owner)
  • архивы не распаковываются полностью при открытии, там данные часятми по N-bytes сжимаются и так же распаковываются

Собственно, проблема tar в том, что при попытке посмотреть tar.bz2 архив весом в 50Гб

  • tar умеет выводить список файлов, ты можешь искать их grep или даже с помощью fzf (нечеткий поиск)
  • tar умеет выводить в основной поток содержимое файлов…

Эти операции, выполняемые ч/з терминал, на порядок быстрее чем через неназванный файловый менеджер.

uwuwuu
()
Ответ на: комментарий от firkax

Я думал с самого начал про этот вариант, но он не хранит информацию о владельце. Согласен, это, обычно, не надо, но хотелось бы понять, есть ли универсальный вариант на все случаи жизни.

zerone
() автор топика
Ответ на: комментарий от uwuwuu

Да, пока из самого близкого я нашёл zip с атрибутом -y, чтобы симлинки корректно сохранялись.

Хотелось бы, как раз, без плясок с консолью, потому что когда ты что-то ищешь и не помнишь точно, как оно называется, то ты пользуешься как раз неназванным файловым менеджером, чтобы полазать то тут, то там, в поисках.

zerone
() автор топика
Ответ на: комментарий от uwuwuu

Дак сколько времени у вас tar выводит список файлов из 50 Гб архива tar.bz2.

там данные часятми по N-bytes сжимаются и так же распаковываются

Это какая-то новая версия tar? Обычный tar порождает отдельный процесс, через который прогоняется весь tar.bz2 архив. Не просто так же создали ratarmount с indexed_bzip2...

mky ★★★★★
()
Ответ на: комментарий от Harliff

Вот про dar никогда не слышал. Спасибо.

Соответственно, сразу возник вопрос, пользовались ли вы в быту restic или borg? Я имею в виду, не на работе, когда надо с одного сервера забекапить на другой, где на обеих машинах стоит одна и та же ОС и т.д., а во вполне житейских ситуациях, когда вот есть ноутбук с двумя установленными системами, вот есть внешний диск, на котором уже что-то есть, но ещё полно места и тебе надо быстренько всё переустановить с минимальными усилиями.

В описании написано, что borg и restic умеют монтировать образ бекапа как диск, чтобы удобно пользоваться файловым менеджером. restic написан на Go, что упрощает установку на разные системы (с моей точки зрения, конечно). Не пробовали ли вы монтировать бекапы restic из-под Windows?

zerone
() автор топика

tar не имеет индекса. посему придется перечитывать все 50гб таровской дури (с расжиманием :) ) чтобы увидеть содержимое.

squashfs имеет индекс - т.е. просматривать содержимое squashfs можно очень быстро, прочитав малое по сравнению со всем архивом количество индекс-данных при этом без всяких мдурений с расжиманием. в фар3 вообще мгновенно :)

также имеют индекс 7zip rar и куча других архивов. rar5 умеет в юникс-метаданные файлов.
просто надо включить мозг и не использовать, древний как г мамонта, тар (или иные архивы без индекса) в 2023 году :)
тар создавался для стримерных лент, потому индекс в нем даже не задумывался. это другое !!

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 2)
Ответ на: комментарий от pfg

Продолжу про squash. Он для того и придуман, чтобы было быстро, в отличие от архивов. Помимо того, можно примонтировать и лазить по нему, как по любой файловой системе, любым файловым менеджером. При необходимости, мгновенно извлечь любое количество файлов, можно запускать программы.

andytux ★★★★★
()
Ответ на: комментарий от pfg

тар создавался для стримерных лент, потому индекс в нем даже не задумывался.

А вот здесь одно из другого никак не следует. И в серъезных форматах записи на ленты - т.е. вне студенческой поделки ЮНИКС - индекс всегда имеется.

🤡

token_polyak ★★★★
()
Последнее исправление: token_polyak (всего исправлений: 2)

Бэкап, это процесс. Зачем вам все запихивать в один большой архив? У меня всякие конфиги просто перезаписываются в бэкап-директории если не совпадает файловые хэши, время от времени, наверное раз в месяц, я их архивирую и перемещаю на внешний диск. Все остальное, нажитое непосильными выкачиваниями медиаконтента, зависит от того насколько для меня это важно, конечно стараюсь сохранять копии если в этот контент вложены какие-то усилия по его обработке.

dmitry237 ★★★
()
Ответ на: комментарий от token_polyak

следует/не следует :) но в таре индекса нет и не предполагается а ржавые отростки для управления стримером до сих пор торчат во все сторны.
вот недавно наконец-то и то со скрипом прикрутили к тару инкементальные архивы, на момент моего ковыряния в этой теме с год назад работало, не до конца…

pfg ★★★★★
()
Ответ на: комментарий от zerone

Я пользуюсь restic и да, он вполне себе корректно монтирует образ. Под виндой - не пробовал, подозреваю придется плясать с Dokany или чем-то подобным(так как restic монтирует ФС с использованием линуксового FUSE, которое под виндой надо чем-то эмулировать)

Беглый гуглинг подсказывать, что под Windows с монтированием всё достаточно тухло

Pinkbyte ★★★★★
()
Ответ на: комментарий от andytux

Я специально спрашивал про простой бекап, который можно было бы сделать без привязки к системе.

Мотивация примерно следующая, что бывает нужно быстро сохранить что-то как Linux, так и с Windows. Поэтому, на ум приходит именно архивирование. Если с Windows, вроде как, всё понятно, использую ЛЮБОЙ архиватор, то вот с Linux начинаются вопросы…

zerone
() автор топика
Ответ на: комментарий от Pinkbyte

Да, с FUSE грустно и под Windows (если не брать в рассчёт WSL), и не всё гладко с Mac.

Судя по GitHub, один из более или менее универсальных вариантов найти что-то конкретное, который предлагают разработчики – добавить web-сервер для просмотра.

zerone
() автор топика
Ответ на: комментарий от zerone

ну забекапить систему виндовса любым архиватором у тебя не просто получится - нужен бекапер разделов носителя, а это под винду отдельный вид програмулин.
по крайней мере не видел ни одну статейку про такое.

в случае с линуксом вполне возможно забекапить пофайлово системный раздел, а потом при разбекапливании натравить grub-install, при определенных условиях сработает.

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)
Ответ на: комментарий от zerone

С точность до наоборот. Как уже сказали выше, это винда ничего не умеет.

С позиции архивирования, squash - архиватор.

Конкретно. Сохранял Виндовс в squash. Просмотреть или найти - никаких проблем, просто и быстро. Нет проблем вытащить файлы. Единственная проблема - жесткие ссылки. Тут вина только винды. В ней специально сделано, чтобы они были «очень жесткие». Ты из винды их хотя-бы видел?.. Если их не затрагивать, то все прекрасно восстанавливается.

andytux ★★★★★
()
Ответ на: комментарий от zerone

а во вполне житейских ситуациях, когда вот есть ноутбук с двумя установленными системами, вот есть внешний диск, на котором уже что-то есть, но ещё полно места и тебе надо быстренько всё переустановить с минимальными усилиями.

Вам не подойдёт обычный диск в виде файла для такого? Создайте файл нужного размера, отформатируйте в ext4, смонтируйте, скопируйте файлы. На внешнем диске будет лежать один файл, а внутри него — полноценная файловая система с файловой структурой и всеми необходимыми атрибутами.

ValdikSS ★★★★★
()
Ответ на: комментарий от damix9

В этом случае читаться будут все равное все 50 Гб. Tar - tape archiver, данные объединяются последовательно без добавление в начало информации о файловой структуре. Как следствие чтобы получить структуру файлов нужно считать все 50 Гб и проанализировать.

kostik87 ★★★★★
()

без […] squashfs

Почему?

Как раз именно squashfs прекрасно решает проблему.

А так, для бэкапов есть Borg. Он позволяет в том числе и монтировать себя.

P.S.

На дворе 2023 год

на внешний NTFS диск

2023

NTFS

🤦

CrX ★★★★
()
Ответ на: комментарий от master_0K

Конечно, как любым архивом.

Я не знаю, что ты не знаешь. Например.

https://ibb.co/jHsNsSB

На скриншоте. В правой панели. Входим в squash, как в любой другой архив… В частности, это бэкап лубунту 22.04. Могу загрузить систему прямо из этого скваша, как любой «живой линукс».

andytux ★★★★★
()
Ответ на: комментарий от master_0K

без монтирования?

Зачем?

В изначальном посте было:

чтобы потом можно было БЫСТРО просматривать содержимое?

То есть, нужно именно монтирование. А теперь говорите «без монтирования». Вы уж определитесь что ли, что вам нужно…

CrX ★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от master_0K

Никакого, также как и /run. Бэкапилась незапущенная система, поэтому, это просто пустые каталоги. По умолчанию не умеет. Но уже очень давно, находил для этого extfs. Но он был не без греха. Позже доработал его.

andytux ★★★★★
()
Ответ на: комментарий от master_0K

да вот именно, что бэкапить системные файлы не имеет никакого смысла. Сколько ставиться современный линух? Минут 10? Ради этого бэкапить все, чтобы потом еще и на разворот тратить кучу времени ).

Я еще ни разу не видел чтобы бэкапилась система полностью. Делать инкрементальный бекап критичных для юзера файлов из хомяка, бэкап дотфайлов и прочих конфигураций. Все.

monkdt
()
Последнее исправление: monkdt (всего исправлений: 2)
Ответ на: комментарий от monkdt

Но вот сегодня твоя система не загрузилась…

И пользы от твоих инкрементов, как от экскрементов. Я просто запущу систему из этого бэкапа. Далее, могу восстановить нерабочую систему, могу продолжить пользоваться «живой системой» вместо «нерабочей», могу получить доступ к любым данным и т.д.

andytux ★★★★★
()
Ответ на: комментарий от andytux

Далее, могу восстановить нерабочую систему

Интересно каким образом так просто восстановишь систему? В зависимости от ошибки я могу восстановить систему и без всяких бэкапов

могу продолжить пользоваться «живой системой»

Какой смысл пользоваться дальше этой не-живой системой аля лайв? Получить доступ к данным я могу с любой флешки

Что в итоге все скатывается либо к развороту бэкапа, либо переустановки после которой скриптом можно раскидать конфигурацию за секунды. Таких скриптов можно найти во многих дотфайлах на гитхабе

monkdt
()
Ответ на: комментарий от monkdt

Я мог бы привести ситуации когда в этом есть смысл, но зачем?

Действительно, задача бекапа

критичных для юзера файлов

это где-то 95…99% случаев, остальное бекап системы или какого специфического приложения.

master_0K
()