Вот новое взятие по вопросу...
Использовать sed
для внесения изменений Вы - 97% пути там.
Вот некоторая основа и некоторые дополнительные точки, чтобы заставить это работать.
Может быть полезно сделать все Вами шаблоны нечувствительный к регистру. Использовать ig
вместо g
Можно сделать все замены в одной передаче. Просто свяжите их, например. 's/\\x00/NUL/ig;s/\\x01/SOH/ig;s/\\x02/STX/ig;...'
,
или's/\\x01/SOH/ig;
s/\\x02/STX/ig;
...
s/\\xFE/þ/ig;
s/\\xFF/ÿ/ig;'
Необходимо изменить некоторые выражения замены:/'/
должен быть /\x27/
Это сталкивается с заключением в кавычки '
в 's/a/b/ig'/\/
должен быть /\\/
Иначе это выходит /
/&/
должен быть /\&/
Как самостоятельно, это - обратная ссылка
Необходимо переключиться /
разделитель, когда /
происходит в Вашем выражении замены.. Только для этого выражения, измените его на |
(или независимо от того, что поражает Ваше воображение), например. s|\\x2F|/|g;
Некоторые sed ситуации требуют, чтобы этого оставили в начале шаблона, например, выражения диапазона. '\|^abc|q'
Я заметил несколько различий в Вашем списке по сравнению с тем, что я придумал (на основе кодирования, являющегося Windows 1252). Вы хотели бы проверять их: 7F
('DEL') A0
(' ') AD
('ЗАСТЕНЧИВЫЙ')
Я встречаюсь с переменными отчетами о пути sed -i
обрабатывает так называемые обновления insitu. Это использует временный файл в любом случае, таким образом, я склоняюсь к использованию sponge
(пакет moreutils
) для перезаписи текстового файла..
Это об этом. Вот пример получающейся команды sed...
sed -e '
s/\\x01/SOH/ig;
s/\\x02/STX/ig;
...
s/\\xFE/þ/ig;
s/\\xFF/ÿ/ig;
' "$1" | sponge "$1"
Полная команда может быть найдена в paste.ubuntu
Править /etc/sysconfig/network-scripts/ifcfg-$IFNAME
. Изменитесь ONBOOT
значение строки к yes
.
$IFNAME
будет eth0
на многих полях EL6, но на полях EL7 и EL6 с помощью Последовательной Схемы именования Сетевого устройства, это могло бы быть что-то еще, как en3p1
. Используйте команду ip link
получить список сетевых интерфейсов, включая тех, которые в настоящее время снижаются.
В Ваших будущих установках уделить больше внимания. Вы дули мимо опции в разделе конфигурации сети, которые позволяют Вам сказать ему поднимать интерфейс на начальной загрузке. Это на параметре загрузки находится прочь по умолчанию в EL6 и EL7, тогда как в предыдущих версиях, он шел по умолчанию.
Чтобы заставить сетевой интерфейс подойти на первой начальной загрузке во время установки в EL7, перейдите в Configure
→ General
вкладка на экране конфигурации сети, затем установите маркированный флажок Automatically connect to the network when available
.
Относительно того, почему они изменили это, я предположу соображения безопасности. Это дает Вам шанс сжать вещи вниз немного от установки по умолчанию перед переводом в рабочее состояние сетевого интерфейса впервые.
Вы не упоминали, какую версию CentOS Вы используете. Если я не ошибаюсь, 6.x использует NetworkManager по умолчанию.
Я редко устанавливаю X-окна на своих серверах, таким образом, NetworkManager является просто болью для меня. Я отключаю его и включаю стандартный 'сетевой' сервис.
chkconfig NetworkManager прочь
сеть chkconfig на
сервисная остановка NetworkManager
сеть услуг запускается
Для включения DHCP в интерфейсе работать system-config-network
, отредактируйте соответствующее устройство, сохраните и перезапустите сетевую службу. Поочередно, можно отредактировать /etc/sysconfig/network-scripts/ifcfg-eth0
и добавьте
ONBOOT=yes
BOOTPROTO=dhcp
Сохраните изменения и перезапустите сетевую службу.
Если у Вас нет сервера DHCP в Вашей сети, необходимо установить статический IP-адрес. Рассмотрите следующий пример:
vim /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=none
DEVICE=eth0
IPADDR=192.168.1.10 # your IP address
NETMASK=255.255.255.0 # your netmask
NETWORK=192.168.1.0
ONBOOT=yes
Добавьте ШЛЮЗ к Вашему /etc/sysconfig/network
файл:
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=hostname.domainname
GATEWAY=192.168.1.1 # your gateway
Дайте следующую команду для запуска сети на начальной загрузке:
chkconfig network on
Перезапустите свою сетевую службу:
service network restart
Смотрите на свои сетевые интерфейсы
ifconfig
От того, что я собрал из экспериментов и чтения, я согласен с уху, что диспетчер сети кажется загружен по умолчанию, но сетевой сервис не делает.
Когда я недавно имел хост VM, начиная с ETH0, появляющийся в выходе IFConfig, это было потому, что у меня был запущен сетевой менеджер, сеть не работает, а NM_Controlled = NO
в моем / etc / sysconfig / network-scripts / ifcfg-eth0
.
Как только я бегал сервисную сеть перезапустить
, ETH0 появился в выходе IFConfig. Перезагрузка, однако, заставило его снова уходить.
Решение для меня, кажется, устанавливает NM_CONTROLLED = NO
в / etc / sysconfig / network-scripts / ifcfg-eth0
, затем включение сетевой службы при запуске ( Сеть Chkconfig на
, как утерна и указывает Alexnorthsoul). Я мог (должен?), Вероятно, по умолчанию поверните NetworkManager, но сейчас он работает для меня, и я нервничаю, о котором больше всего трогают.
Кстати, моя цель состояла в том, чтобы получить систему, чтобы почитать мой выбранный статический IP. Когда я покинул NetworkManager и настроить
(или пропущено), я получил ETH0, отображающую в ifconfig, но адрес был адрес DHCP, а не мой статический IP. Поэтому отключение сетевогоManager, поэтавила меня от DHCP, и включить сеть, вызвало его загрузить мои настройки, которые включали статический IP.
(или их
= Да
Я не системный администратор, а скорее разработчик, так что это не слова из эксперта CentOS, но просто выжившего настроили VMS, которые мне нужны.