Как установить сервер Linux для бездисплейного использования?

Здесь является еще одним sed решение, которое связывает все строки в sed"держите пространство" так, чтобы мы получили одну длинную строку, которая наконец копируется в "пространство шаблона" для сопоставления с образцом.

Поскольку новые строки будут сохранены в заключительной длинной строке в sed"шаблон располагает с интервалами", пустые строки с точки зрения двойных разрывов строки [^\n]\n\n[^\n] может быть подобран и изменен к [^\n]\n[^\n].

Для получения дополнительной информации посмотрите, например, sed и Многострочный Поиск и Замена.

text='
line 1

line 2
line 3





line 4


line     5



line 6
line 7

line 8
'

# FreeBSD sed
# first sed deletes first / last line if empty and squeezes multiple spaces
printf '%s' "$text" |
sed -e '1{/^$/d;}' -e '${/^$/d;}' -e '/[[:space:]]\{2,\}/s// /g' | 
sed -n -e '1h;1!H;${;g;/\([^[:cntrl:]]\)\n\n\([^[:cntrl:]]\)/s//\1\
\2/g;p;}' |
nl -b a


# GNU sed
# alternative using ...;x;... instead of ...;g;...
# cf. man sed | less -p '\]x'
printf '%s' "$text" |
gsed -e '1{/^$/d;}' -e '${/^$/d;}' -e '/[[:space:]]\{2,\}/s// /g' | 
gsed -E -n '1h;1!H;${;x;/([^\n])\n\n([^\n])/s//\1\
\2/g;p;}' | 
nl -b a


# remove all the single linebreaks but leave the double linebreaks intact
printf '%s' "$text" | 
   sed -n -e '1h;1!H;${;g;/\([^[:cntrl:]]\)\n\([^[:cntrl:]]\)/s//\1 \2/g;p;}' | 
   nl -b a

7
07.08.2014, 05:14
3 ответа

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

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

Одна вещь отметить. Для машины как это выберите стабильное распределение (Debian, RHEL, SLES), и определенно обновите только после соответственно длительного периода (новая версия, стабилизированная в течение по крайней мере 6 месяцев).

6
27.01.2020, 20:16

Необходимо искать поставщика услуг хостинга, который будет поставщик serial-over-ssh доступ и настраивать установку Linux для использования (соответствующего) последовательного порта в качестве консоль (как Вы делаете это зависит от того, использует ли система выскочку или инициализацию типа sysV). Обратите внимание, что существует BIOS, доступный, который будет говорить с последовательным портом, а не созданным в экранном устройстве. Но обычно они только прибывают в дорогие аппаратные средства.

Также необходимо сказать личинке использовать последовательный порт, если Вы хотите управлять им через DTE.

3
27.01.2020, 20:16

Что-то, что Вы могли изучить, делает пользовательский initrd, который будет включать dropbear (работающий на другом порте, конечно), достаточно логики для получения сетевого движения и возможно способа загрузить некоторые средства восстановления при необходимости. На основе этого Вы могли затем заставить ядро восстановления сконфигурироваться, который загрузится с сетевыми возможностями и позволит Вам ssh в, позволяя Вам возвратиться на систему и делать попытку восстановления.

2
27.01.2020, 20:16
  • 1
    Да, походите вполне на проект. Я мог даже предположить создавать маленькую систему Linux, которая всегда загружается сначала и действует как диспетчер начальной загрузки (при обеспечении ssh- доступ и screen) - это могло затем загрузить реальное ядро через методы как en.wikipedia.org/wiki/Kexec. Или можно изучить серверы, которые идут с coreboot.org вместо некоторого дрянного BIOS от 80ies. Но уверенный, все это - ничто, что можно надежно установить и поддержать через несколько часов - в этом моменте времени со стабильным распределением. –  maxschlepzig 23.08.2011, 11:15
  • 2
    Похож Вы сможете сэкономить часть усилия путем рассмотрения этого Примечания страницы –  froztbyte 23.08.2011, 20:24

Теги

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