То, как проверить, что проверка gpg корректна на RHEL, основывало машины или нет?

Это может быть сделано легко с хорошей комбинацией sed и xargs.

find . -name "*.php" | xargs -n 1 echo

покажет Вам питание xargs.

После этого, на файле примера, можно протестировать regexp с оперативным изменением (-i) или резервным изменением (-i.bak). Можно также использовать другой символ для замены '/', если шаблон/замена уже имеет тот.

В конце это должно быть похожим:

pattern=`cat /path/to/pattern`; replacement=`cat /path/to/replacement`
find . -name "*.php" | xargs -n 1 sed -i -e 's|$pattern|$replacement|g'
0
17.12.2012, 12:58
1 ответ

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

sed '/^\[.*\]/s,\[,\n<<[,' /etc/yum.repos.d/*.repo |
  awk '
    BEGIN { 
      RS = "\n<<"
    }
    /\nenabled=1/ && !/\ngpgcheck=1/ {
      print $1"~gpgcheck disabled for enabled repo"
    }
    /\nenabled=1/ &&  /\ngpgcheck=1/ && !/\ngpgkey=/ {
      print $1"~gpgcheck enabled for enabled repo, but missing gpgkey setting"
    }
    /\nenabled=1/ &&  /\ngpgcheck=1/ && /\ngpgkey=/ {
      print $1"~gpgcheck enabled for enabled repo, see output below for gpgkey file status"
    }
  ' | column -ts~

printf "\nChecking gpg keys for enabled repos\n"

sed '/^\[.*\]/s,\[,\n<<[,' /etc/yum.repos.d/*.repo |
  awk '
    BEGIN { 
      RS = "\n<<"
    }
    /\nenabled=1/ && /\ngpgcheck=1/ && /\ngpgkey=/
  ' |
    awk -F: /^gpgkey=/{print\$2} |
      xargs ls -l                                                                                         

Бросьте его в сценарий, и Вы выключены.

0
28.01.2020, 05:03

Теги

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