Почему при монтировании не соблюдается опция ro?

Make

Здесь мы генерируем Makefile динамически с помощью heredoc и запускаем динамический Makefile для выполнения copy

cat - <<\CODE | make -f - SRCDIR="/home/imp/imp/msgs" XN="BRD MIX"
.PHONY: all
all: $(foreach i,$(foreach j,$(XN),$(wildcard $(SRCDIR)/*.$j)),$(addprefix $(join $(dir $i),bak/),$(notdir $i)))
cprule = $(SRCDIR)/bak/%.$1: $(SRCDIR)/%.$1; /bin/cp -p "$$^" "$$@"
$(foreach i,$(XN),$(eval $(call cprule,$i)))
CODE

Bash

SRCDIR="/home/imp/imp/msgs"
for src in "$SRCDIR"/*.MIX "$SRCDIR"/*.BRD
do
   dest=${src%/*}/bak/${src##*/}
   if [ ! -e "$dest" ] || [ "$src" -nt "$dest" ]
   then
      /bin/cp -p "$src" "$dest"
   fi
done
4
19.10.2016, 09:41
1 ответ

Как указывалось выше, вероятно, именно из-за -f вы не видите свои изменения в тестовом окне.

Тем не менее, при этом .... обычно Linux переводит разделы в режим только для чтения, когда обнаруживает ошибки ввода-вывода. Если система, которая внезапно перешла в режим только для чтения, все еще работает, вы можете рассмотреть возможность проверки журналов на наличие ошибок ввода-вывода. Возможно, у вас не получится воспроизвести проблему на «хорошем» оборудовании. Проверьте dmesg, а также системные журналы пораженной системы. Шансы неплохие, это проблема с ухудшенным оборудованием, которую вам нужно будет решить.

0
27.01.2020, 20:46

Теги

Похожие вопросы