Являясьсчастливымобладателеминтернетапопротоколу L2TP, обнаружилв openSUSE 12.3 rc2 довольнонеприятноеповедениесистемы. Пригарантированнорабочемконфигурационномфайледля xl2tpd, этотсамый xl2tpd неработал, выдаваялишьтекстизтрёхстрок:
xl2tpd благополучнопроработаетдоследующейперезагрузкииприпопыткезапускавыдасттакоежесообщениеоневозможностисобственногозапускачтоиранее.2013-03-04T19:24:40.572381+06:00 linux-wwu0 xl2tpd[5382]: xl2tpd[5382]: setsockopt recvref[22]: Protocol not availableЗапусксервисом соответственно тоженеудавался:
2013-03-04T19:24:40.595657+06:00 linux-wwu0 xl2tpd[5382]: xl2tpd[5382]: Using l2tp kernel support.
2013-03-04T19:24:40.596264+06:00 linux-wwu0 xl2tpd[5382]: xl2tpd[5382]: open_controlfd: Unable to open /var/run/xl2tpd/l2tp-control for reading.
2013-03-04T19:24:40.596660+06:00 linux-wwu0 systemd[1]: xl2tpd.service: main process exited, code=exited, status=1/FAILUREРанеена openSUSE 12.1 спервымидвумясообщениями xl2tpd благополучноработалиненуженемубылникакой l2tp-control. Ноневсеобновленияодинаковополезныи xl2tpd втомчислевсборкедля openSUSE 12.3 получилподдержку xl2tpd-control причёмподдержкавнепосредственновсамомдемонепоявиласьещёв 2011-омгоду, простоболеесвежаяверсиячем 1.2.7 для oS 12.1 несобиралась. Витогедляработыдемонадостаточносоздатьэтотфайлик, например, так:
2013-03-04T19:24:40.601560+06:00 linux-wwu0 systemd[1]: Unit xl2tpd.service entered failed state
sudo mkdir /var/run/xl2tpd sudo touch /var/run/xl2tpd/l2tp-control
Сверсии 12.3 openSUSE окончательнопереходитнаиспользование systemd, которыймонтируеткаталоги /run, /var/run, /var/lock, и /media в tmpfs. Впримечаниикрелизунерекомендуетсясохранятьфайлы, которыедолжнывыжитьприперезагрузкевэтикаталоги. Незадачазаключаетсявтом, что xl2tpd обэтомнезнаетипродолжаетискать l2tp-control гдеонидолженбыть.
Длярешенияпроблемыпользователи Fedora, например, используют наименееочевидныйспособ - дополнениескриптаинициализации /etc/init.d/xl2tpd командаминасозданиенеобходимогокаталогаифайла. Теоретическиэтасхемаоднаждыдолжнаполоматься, когданеобходимостивсоблюденииостаточнойсовместимостисоскриптами SysV большенебудет. Ктомужеестьболееподходящийспособ - спомощьюсредств systemd: поправиламописаннымв man tmpfiles необходимопоместитьв /etc/tmpfiles.d/ файл xl2tpd.conf соследующимсодержанием (комментариидляпояснениястрок):
# Создатькаталог /var/run/xl2tpd справамипоумолчанию, еслиегоещёнесуществует.
d /var/run/xl2tpd 755 root root - -
# Создатьименованныйканалсправамипоумолчанию, еслиегоещёнесуществует.
p /var/run/xl2tpd/l2tp-control 600 root root - -
# Неудалятькаталог /var/run/xl2tpd/ иегосодержимоепричисткеотвременныхфайлов.
x /var/run/xl2tpd/
Послечего xl2tpd безпроблемработаетс systemd.