Я не сетевой свист, так скажите мне, если это элементарно:
Базирующийся от шаблонов я видел от вывода netstat - я изменился
serverSocket = new TcpListener(IPAddress.Parse("127.0.0.1"), port);
Кому:
serverSocket = new TcpListener(IPAddress.Parse("0.0.0.0"), port);
Также используемый nmap, который был очень полезен, но не сообщил о порте, открытом, в то время как я использовал IP localhost в качестве сервера. После того как я внес изменение хоста, я заметил, что nmap также сообщил о порте, как открыто, довольно странный, по-моему.
{, Un} комментирование - сложный вопрос для Авгия из-за его природы. Короткий ответ заключается в том, что Авгий не может {, un} комментировать узлы в настоящее время.
Причина (и предлагаемые решения) подробно описана в этом билете .
Что касается причины неудачной вставки, это потому что вы создали узел facle
вместо узла entry
. facle
- неизвестное имя узла в syslog.aug
.
Вот что вы можете сделать вместо этого:
augtool> print /files/etc/syslog.conf/
/files/etc/syslog.conf
/files/etc/syslog.conf/#comment[1] = "titi"
/files/etc/syslog.conf/#comment[2] = "kern.* /dev/console"
/files/etc/syslog.conf/#comment[3] = "toto"
augtool> defvar kerncomment /files/etc/syslog.conf/#comment[. =~ regexp('kern.* +/dev/console')][count(/files/etc/syslog.conf/entry[selector/facility = "kern" and selector/level = "*" and action/file = "/var/log/kern.log"]) = 0]
augtool> ins entry after $kerncomment
augtool> defvar kernentry /files/etc/syslog.conf/entry[preceding-sibling::*[1][$kerncomment]]
augtool> set $kernentry/selector/facility kern
augtool> set $kernentry/selector/level *
augtool> set $kernentry/action/file /var/log/kern.log
augtool> rm $kerncomment
augtool> print /files/etc/syslog.conf/
/files/etc/syslog.conf
/files/etc/syslog.conf/#comment[1] = "titi"
/files/etc/syslog.conf/entry
/files/etc/syslog.conf/entry/selector
/files/etc/syslog.conf/entry/selector/facility = "kern"
/files/etc/syslog.conf/entry/selector/level = "*"
/files/etc/syslog.conf/entry/action
/files/etc/syslog.conf/entry/action/file = "/var/log/kern.log"
/files/etc/syslog.conf/#comment[3] = "toto"
augtool> save
Saved 1 file(s)
augtool>
Первая строка гарантирует, что это изменение идемпотентно. Это можно упростить, если вы используете Puppet: вы можете избежать сложности первой строки, используя , только если
.
В Augeas AFAIK нет простого средства «раскомментировать эту строку». Вы можете использовать ins
, чтобы найти существующий комментарий, вставить новую запись с помощью команд set
, как у вас, а затем удалить комментарий.
По запросу, вот пример того, как Я установил «последовательный порт» и «терминал» для последовательной консоли для GRUB:
augeas { "grub-serial-ttyS${portnum}":
context => "/files/etc/grub.conf",
changes => [
'rm serial',
'ins serial after timeout',
"set serial/unit '${portnum}'",
"set serial/speed '${portspeed}'",
'rm terminal',
'ins terminal after serial',
"set terminal/timeout '5'",
"clear terminal/console",
"clear terminal/serial",
],
}
Единственное предостережение - должен существовать тайм-аут
.
На самом деле, я не уверен, что это действительно так. хороший пример, но вот он все равно.