yum update openssl
problema, recibí este siguiente error al intentar actualizar openssl.
Loaded plugins: product-id, refresh-packagekit, rhnplugin, security, subscription-manager
There was an error communicating with RHN.
RHN Satellite or RHN Classic support will be disabled.
Error communicating with server. The message was:
Error Class Code: 6001
Error Class Info:
RHN is in the process of being decommissioned and systems are no longer able to receive updates or make use of any RHN services.
Please see https://access.redhat.com/articles/2979901 for more info.
Setting up Update Process
Could not retrieve mirrorlist https://mirrors.iuscommunity.org/mirrorlist?repo=ius-el6&arch=x86_64&protocol=http error was
14: Peer cert cannot be verified or peer cert invalid
Error: Cannot retrieve repository metadata (repomd.xml) for repository: ius. Please verify its path and try again.
Después de algunos RND obtuve la solución para el código de error 6001. Aquí está el resumen, que resolvió ese problema:
mv /etc/yum.repos.d/* /tmp/
rm -rf /var/cache/yum/*
yum clean all
yum repolist
yum update openssl
yum list installed openssl
Это должно сработать:
sed -i 's/^Code: 0$/Code: 1/' $(grep -l '^Number: [23]' File*)
sed
выполняет фактические замены grep -l... File*
перечислены все файлы с именем, совпадающим с «Файл *» и имеющими строку, начинающуюся с Number: 2
илиNumber: 3
$(...)
, окружающая команду grep
, является подстановкой команды , которая будет передавать файлы, перечисленные grep
, вsed
С инструментами GNU:
grep -lxZ 'Number: [23]..'./File* |
xargs -r0 sed -i 's/^Code: 0$/Code: 1/'
Не используйте sed для этой задачи без создания временных файлов, поскольку перенаправление обратно к источнику уничтожит содержимое файла. Вместо этого используйте редактор ed .
Я предполагаю, что имена файлов находятся в диапазоне [a -zA -Z0 -9 _-]
% cat scr.ed
1,$s/Code: 0/Code: 1/
w
q
% cat scr.sh
#!/bin/sh
for file in `grep -l '^Number: [23]' File*`
do
ed -s $file <scr.ed
done
% chmod 755 scr.sh
%./scr.sh
Предполагая, что число всегда предшествует коду , а код может иметь любое значение, затем с помощьюsed
:
sed -i '/^Number: [23]/{n;s/^Code:.*$/Code 1/}' File*
Если содержание согласовано, так что строка после Номер всегда является Кодом 0 , это можно упростить до:
sed -i '/^Number: [23]/{n;s/0/1/}' File*