LINUX.ORG.RU

rmlint - помогите осилить

 ,


2

2

Здравствуйте! Я - dk-, и я идиот.

Начало было тут: Сервер на убунте: правильно разбить диск и фс для дедупликации

Кратко суть:
Есть очень большие (десятки и сотни гигапикселей) фотопанорамы. Реальной картинки там сектор (скажем 200х50 градусов), остальное же - черные квадраты. Сферическая разверстка, полная сфера (на самом деле куб) только. Это жрет место на хостинге. Много. Мне ссд на 250гб не хватает. Все эти черные файлики абсолютно одинаковые. Хочется оставить один, а остальные симлинком.

Хороший человек посоветовал мне rmlint.

Я даже осилил собрать ее из исходников и запустить. И она даже удалила реально дубли. Правда очень странно (но сейчас не буду это описывать).

Гляжу в книгу, вижу фигу: https://rmlint.readthedocs.io/en/latest/tutorial.html#replaying-results

Вопрос:
Что мне «скопировать в терминал» %) чтоб получить искомый результат - идентичные файлы удаляются все кроме одного, остальные - симлинками.



Последнее исправление: dk- (всего исправлений: 1)

Ответ на: комментарий от i-rinat

Стоп, до слоупока дошло. Так 64к это лимит хардлинков на один конкретный файл, а не всего записей в ФС?

dk-
() автор топика
Ответ на: комментарий от ya-betmen

Если путь длиннее 67 байт (для утф это 33 символа) а размер файла меньше 4кб то это будет тот самый случай.

И как оно в бубунте\дебиане? Явно же УТФ? Мы же не Эдди.

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

Так 64к это лимит хардлинков на один конкретный файл, а не всего записей в ФС?

Да, это лимит для одного файла. У тебя может быть 65000 имён для одного файла, 65000 для другого, и так далее. Общее число файлов на ФС тоже ограничено (df -i), но там обычно так много, что можно не задумываться.

А, и ещё. «Хардлинк на конкретный файл» не совсем точно описывает суть хардлинков. Когда ты делаешь жёсткую ссылку, нет главного файла и ссылок на него, все имена равноценны. Можно сделать жёсткую ссылку, потом удалить «оригинал» файла, но по «ссылке» он всё ещё будет доступен. В частности, поэтому системный вызов для удаления файла называется unlink().

Создавая хардлинк, не создаёшь новый файл, только новое имя.

i-rinat ★★★★★
()
Ответ на: комментарий от dk-

Мы же не Эдди.

Мне то это откуда знать?! Тем более после его ухода твоя активность явно повысилась, это подозрительно.

ya-betmen ★★★★★
()
Ответ на: комментарий от dk-

Не умеет, значит. Файл целевой пропал? Или скрипт его оставил как есть?

Кстати, в squashfs пробовал паковать? В ней заявлен поиск дубликатов файлов.

mksquashfs /usr/share/doc target.squashfs -comp lzo

Вместо /usr/share/doc подставляешь путь до своих файлов. Сжатие/декодирование lzo очень быстрое, мало отличается от скорости чтения с диска. Желательно не паковать в файл в той же директории, которую сжимаешь. :-)

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

Не разбирался. Раз чудо не произошло - останусь на симлинках, как простом, тупом, но работающим решении.

Осталньое все сильно муторно.

dk-
() автор топика
Средняя загрузка CPU: 	1.00 (1 мин.) , 1.01 (5 мин.) , 1.00 (15 мин.)
Тип CPU: 	Intel(R) Atom(TM) CPU C2750 @ 2.40GHz , 8 cores

PID    	Владелец    	Использование CPU    	Команда   
20774 	root 	87.4 % 	rmlint -o sh:rmlint.sh -c sh:symlink
dk-
() автор топика

Однако жопа. Из похожего на предыдущий каталога в 59гб сэкономило только 3гб. Совсем пичалька.

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

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

ya-betmen ★★★★★
()
Ответ на: комментарий от dk-

Не разбирался. Раз чудо не произошло - останусь на симлинках, как простом, тупом, но работающим решении.

Видимо придется разобраться. Или можешь нанять себе админа.

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

Да, но я стараюсь не трогать технологии, в которых ничего не понимаю. Ну кроме закрытого софта как инструмента.

Днем затестил еще несколько примеров - вышел на те же 20% экономии. Хотелось больше, но годно. Остановлюсь на таком.

Еще раз всем спасибо.

dk-
() автор топика

Короче реальная экономия от 20 до 30% выходит. Годно. За сим для себя вопрос закрыл.

dk-
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.