LINUX.ORG.RU

md5sum не работает pipe

 , ,


0

2

Почему так работает

tail +2 file.md5 | md5sum -c

А так нет

tail +2 file.md5 | md5sum --ignore-missing -c
md5sum: 'standard input': no file was verified

При этом если вместо --ignore-missing или после --check поставить, например, --quiet, то все работает. Опция --ignore-missing не принимает никакие аргументы. От чего же так?

Ответ на: комментарий от pinus_nigra

Какой именно опции? --ignore-missing? В файле с хешсуммами много строк с файлами, которых нет локально. Мне нужно, чтобы md5sum не ругался на их отсутствие.

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

У вас какое-то грандиозное смешение тёплого с мягким. Если у вас файл с хеш-суммами, то откуда там строки с файлами? Чтобы посчитать хешсумму от имени файла - этому файлу совсем не обязательно существовать. А ignore-missing пропускает переданные аргументом несуществующие файлы и при работе через пайп бессмысленна.

pinus_nigra
()

не знаю как работает tail но походу md5sum если пустой input проверяет дальше, а в случае –ignore-missing завершается

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

Если у вас файл с хеш-суммами, то откуда там строки с файлами?

Не пойму, ты тролль или шлангуешь? Файл с хешсуммами выглядит как

хеш /путь/до/файла

А ignore-missing пропускает переданные аргументом несуществующие файлы и при работе через пайп бессмысленна.

ignore-missing скрывает информацию (ошибки) об отсутствии тех файлов, путь и хеш которых есть в md5 файле, но которых нет по указанному путе в системе. Это нужный и рабочий ключ.

А ignore-missing пропускает переданные аргументом

Нет у нее никаких аргументов

 --ignore-missing
don't fail or report status for missing files
kardjoe
() автор топика
Последнее исправление: kardjoe (всего исправлений: 1)
Ответ на: комментарий от kardjoe

ты тролль или шлангуешь?

Похоже, что всё сразу. Попутал опции, каюсь.
И кстати УМВР, может у тебя coreutils какие-то неправильные?

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

Да вполне себе обычные коръютилсы.

md5sum --version
md5sum (GNU coreutils) 8.32
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Ulrich Drepper, Scott Miller, and David Madore.

В целом md5sum работает штатно кроме этого пайпа. Попробовал переустановить coreutils, но ничего не изменилось.

Сейчас попробовал создать тестовые файлы с md5, sha1 и sha512 хешами и проделать тоже самое - все работает. А на изначальном файле не работает. Сам файл в порядке (он подписан). Окончания строк юниксовые, форматирование правильное. Изначальный файл с хешами - https://slackware.nl/people/alien/slackbuilds/CHECKSUMS.md5

Пойду на профильный форум вопрос задам.

kardjoe
() автор топика
Последнее исправление: kardjoe (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.