Первая ошибка состоит в том, потому что Вы являетесь передающими оба -H newc
и -c
. Необходимо решиться на формате архива, который Вы хотите генерировать. "Операция, не разрешенная", является ошибкой в GNU cpio, это передает неправильные аргументы функции, что выводы, из которых сообщение об ошибке и должно выйти там.
Другие ошибки состоят в том, потому что Вы не выполняете ту команду как суперпользователь или более вероятно, Вы не выполняете ее от корректного местоположения. Только суперпользователь может считать файлы как /etc/shadow
поскольку это содержит уязвимую информацию. Необходимо также удостовериться, что архив, который Вы генерируете, может только быть считан суперпользователем. Если это initramfs
Вы создаете, возможности /etc/shadow
не имеет бизнеса, являющегося там, если это initramfs
содержит полную операционную систему.
Для чтения файла линию за линией, стандартная процедура
while IFS= read -r MD5_COMPARE
do
echo "- $MD5_COMPARE"
done < /tmp/md5sum2.tmp | /bin/sort -d
, Но sed
должен работать также
/bin/sort -d /tmp/md5sum2.tmp | sed 's/^/ -/'
Просто проводит вывод из сортировки
на SED
и заменить одно пространство -
:
if [ -s /tmp/md5sum2.tmp ];
then
echo ""
echo "Comparison of MD5 for files archived:"
echo '---------------------------------------'
/bin/sort -d /tmp/md5sum2.tmp | sed 's/\(^ *\) \( [^ ]\)/\1-\2/'
fi
Результат:
Comparison of MD5 for files archived:
---------------------------------------
- My-config_17Oct2014.tgz: OK
- config_file.tgz: OK
- hostname1-config.uac: OK
- hostname2-config.uac: OK
- hostname3-config.uac: OK
- non_extension-config_file1: OK
- non_extension-config_file1: OK