Выберите каталоги исключительно и перейдите к новой папке

Во-первых, в Fedora и auditd, и auditctl происходят из одного и того же пакета (незаслуженно названный audit). Так что, если у вас нет auditctl, значит что-то еще не так. Попробуйте следующее:

rpm -ql audit |grep ctl

Если это ничего не даст, значит, у вас вообще не установлен пакет аудита.

Во-вторых, первая "человеческая" языковая строка в файле grub.cfg, который вы упомянули, говорит: "НЕ РЕДАКТИРУЙТЕ" в моей системе. Это признак того, что любые ручные изменения файла могут быть потеряны.

Правильным местом для редактирования конфигурации grub в системе fedora / redhat является тот файл, который вы специально предложили как необязательный для изменения (/ etc / default / grub). На самом деле это единственный «безопасный» способ внести предложенное изменение и выжить при обновлении ядра. Это связано с тем, что он используется как часть исходной конфигурации во время обновления ядра для восстановления рабочего файла grub.cfg. Найдите команду grub2-mkconfig (и ее друзей). Подробности здесь: https://fedoraproject.org/wiki/GRUB_2

Ваш ответ правильный, но я нашел его немного запутанным. Я ненавижу командную строку grub, и ИМХО любой, кто, вероятно, пропустит добавление символа пробела в командную строку ядра, вероятно, не будет благодарить кого-либо за то, что его привели по этому пути. Тем не менее, некоторым людям нравится учиться на собственном горьком опыте, который я знаю.

Все приведенные ниже команды необходимо запускать от имени пользователя root (что само по себе опасно).

Для работающей системы:

auditctl -e 0

Если вы не можете найти auditctl, проверьте свой PATH, а также примите во внимание:

dnf install audit

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

Чтобы сохраниться после перезагрузки, отредактируйте / etc / default / grub и измените строку GRUB_CMDLINE_LINUX, добавив в конец «audit = 0», затем используйте grub2-mkconfig для регенерации grub.cfg. Этот последний шаг также устанавливает уровень проверки между вашим изменением и работающей системой.

0
08.07.2018, 05:45
2 ответа

Вы можете выбирать каталоги с помощью глобуса:

for d in./*/; do
  mv "$d" dest_dir/
done

Если вы действительно хотите использовать массив + явный тест

files_and_dirs=(./* )
for fd in "${files_and_dirs[@]}"; do
  if [[ -d "$fd" ]]; then
    mv "$fd" dest_dir/
  fi
done

AFAIK, в отличие от cp, mvне использует-r(рекурсивную )опцию.

files_and_dirsне найден, потому что это не команда -если вы хотите увидеть значения в массиве, используйтеecho "${files_and_dirs[@]}"

3
28.01.2020, 02:23
files_and_dirs="$(echo *)"

Без пробелов вокруг=

И, пожалуйста, вставьте свой код, над которым вы работаете, а не плохую копию. Этот ответ основан на сообщении об ошибке. Так как код не выдает сообщения об ошибке, но имеет некоторые проблемы (отсутствие кавычек и необходи-мые -скобки ).

0
28.01.2020, 02:23

Теги

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