eddy-em.livejournal.com github.com/eddyem
-
- В общем, проверил на копии одной из рабочих виртуальных машин. Из 588тыс файлов, более 170тыс оказались с дубликатами. В основном, это были файлы пакетов МК в MPLAB X и файлы тулчейнов с компиляторами GCC. Они пересекались и между разными версиями одной платформы, и между платформами. Nikolay_Po(215 знак., 17.03.2026 19:02)
- Вижу в этом скрипте пример эффективного использования готовых приложений. Каждое из которых имеет ограниченный и отточенный функционал. Всё в идеологии UNIX. Спасибо за пример, Эдуард! - Nikolay_Po(17.03.2026 12:23)
- Ужас. Этого я и боялся. Строить и содержать свою БД... Думал, уже
как-то автоматизировали до уровня вызова одной утилиты... Nikolay_Po(826 знак., 17.02.2026 00:35)
- База временная и удаляется при выходе из скрипта. Я его написал
достаточно давно, когда ещё про fdupes не знал. По скорости мой
скрипт быстрей был, но не исключены редкие коллизии: если файлы
разные, а хэши одинаковые. Eddy_Em(294 знак., 17.02.2026 08:21)
- Как его запускать? По идее, нужно с обоими ключами сразу, и -l, и
-d. Иначе не сработает и удалит базу. Так? - Nikolay_Po(16.03.2026 15:16)
- Эти ключи взаимоисключающие. -d удаляет все дубликаты, кроме
одного, а -l делает их всех хардлинками (скажем, расплодил одних и
тех же песен в разных подкаталогах в /Music, места много жрут;
запускаешь скрипт, и сразу все компактизируется, но файлы никуда не
деваются). Eddy_Em(42 знак., 16.03.2026 16:07)
- Ну, я сделал клон виртуальной машины, у которой всё, кроме бута, на
томе BTRFS. И хочу запустить. Но не работает. Nikolay_Po(153 знак., 16.03.2026 17:48)
- Еще sha1sum нужен. Должно работать. А ошибка очень странная… - Eddy_Em(16.03.2026 18:30)
- Заменил /bin/sh на /bin/bash. Говорят, в Дебиане интерпретатор для
sh - dash. И для него скобки ничего не значат. Рекомендовали
заменить на bash. И оно поехало. Nikolay_Po(47 знак., 17.03.2026 11:29, ссылка)
- Посмотрел на работу - жаль, оно однопоточное. Не вижу насыщения ни
по скорости обмена с файловой системой, ни по объёму памяти.
Но вижу полностью загруженное одно ядро при свободных остальных. Его нельзя распараллелить, чтобы одно ядро отвечала за базу данных, а остальные брали себе по файлу для вычисления sha1? Nikolay_Po(168 знак., 17.03.2026 12:18)- Распараллелить можно, но тогда ещё по БД на каждый поток придется добавить. А потом их объединять. Eddy_Em(176 знак., 17.03.2026 13:35)
- Посмотрел на работу - жаль, оно однопоточное. Не вижу насыщения ни
по скорости обмена с файловой системой, ни по объёму памяти.
- В начале так и должно быть? Nikolay_Po(1 знак., 17.03.2026 10:38, картинка)
- Конечно, если в утф смотреть. Там же КОИ8-Р - единственная кошерная
кириллическая кодировка :) - Eddy_Em(17.03.2026 10:42)
- Скопипасть, пожалуйста, текстом сюда, почитаю. Не нашёл способа
открыть в Линуске. Попытка переключить кодировку происходит уже
постфактум, после того, как символы уже были не верно
интерпретированы как UTF-8. - Nikolay_Po(17.03.2026 10:49)
- Скачай оригинал с пастебина, а потом просто iconv -f koi8-r -t
utf8. Или ещё проще: enconv. - Eddy_Em(17.03.2026 13:36)
- Первый вариант даёт Nikolay_Po(847 знак., 17.03.2026 16:20)
- Ну вот же: Eddy_Em(3481 знак., 17.03.2026 17:30)
- А я прочитать не могу и думал, там инструкция, что и как запускать.
Так и не понял, требуется ли перед -d запускать -l,? - Nikolay_Po(17.03.2026 18:48)
- Если надо удалять, то -d, а если надо оставлять, но хардлинками, то -l. - Eddy_Em(17.03.2026 18:59)
- А я прочитать не могу и думал, там инструкция, что и как запускать.
Так и не понял, требуется ли перед -d запускать -l,? - Nikolay_Po(17.03.2026 18:48)
- Ну вот же: Eddy_Em(3481 знак., 17.03.2026 17:30)
- Первый вариант даёт Nikolay_Po(847 знак., 17.03.2026 16:20)
- Скачай оригинал с пастебина, а потом просто iconv -f koi8-r -t
utf8. Или ещё проще: enconv. - Eddy_Em(17.03.2026 13:36)
- Скопипасть, пожалуйста, текстом сюда, почитаю. Не нашёл способа
открыть в Линуске. Попытка переключить кодировку происходит уже
постфактум, после того, как символы уже были не верно
интерпретированы как UTF-8. - Nikolay_Po(17.03.2026 10:49)
- Конечно, если в утф смотреть. Там же КОИ8-Р - единственная кошерная
кириллическая кодировка :) - Eddy_Em(17.03.2026 10:42)
- Заменил /bin/sh на /bin/bash. Говорят, в Дебиане интерпретатор для
sh - dash. И для него скобки ничего не значат. Рекомендовали
заменить на bash. И оно поехало. Nikolay_Po(47 знак., 17.03.2026 11:29, ссылка)
- Еще sha1sum нужен. Должно работать. А ошибка очень странная… - Eddy_Em(16.03.2026 18:30)
- Ну, я сделал клон виртуальной машины, у которой всё, кроме бута, на
томе BTRFS. И хочу запустить. Но не работает. Nikolay_Po(153 знак., 16.03.2026 17:48)
- Эти ключи взаимоисключающие. -d удаляет все дубликаты, кроме
одного, а -l делает их всех хардлинками (скажем, расплодил одних и
тех же песен в разных подкаталогах в /Music, места много жрут;
запускаешь скрипт, и сразу все компактизируется, но файлы никуда не
деваются). Eddy_Em(42 знак., 16.03.2026 16:07)
- Как его запускать? По идее, нужно с обоими ключами сразу, и -l, и
-d. Иначе не сработает и удалит базу. Так? - Nikolay_Po(16.03.2026 15:16)
- База временная и удаляется при выходе из скрипта. Я его написал
достаточно давно, когда ещё про fdupes не знал. По скорости мой
скрипт быстрей был, но не исключены редкие коллизии: если файлы
разные, а хэши одинаковые. Eddy_Em(294 знак., 17.02.2026 08:21)