Quantcast
Channel: openSUSE Planet - Global
Viewing all articles
Browse latest Browse all 23317

Alexander Mityunin: systemd vs. xl2tpd

$
0
0
Являясьсчастливымобладателеминтернетапопротоколу L2TP, обнаружилв openSUSE 12.3 rc2 довольнонеприятноеповедениесистемы. Пригарантированнорабочемконфигурационномфайледля 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
2013-03-04T19:24:40.601560+06:00 linux-wwu0 systemd[1]: Unit xl2tpd.service entered failed state
 Ранеена openSUSE 12.1 спервымидвумясообщениями xl2tpd благополучноработалиненуженемубылникакой l2tp-control. Ноневсеобновленияодинаковополезныи xl2tpd втомчислевсборкедля openSUSE 12.3 получилподдержку xl2tpd-control причёмподдержкавнепосредственновсамомдемонепоявиласьещёв 2011-омгоду, простоболеесвежаяверсиячем 1.2.7 для oS 12.1 несобиралась. Витогедляработыдемонадостаточносоздатьэтотфайлик, например, так:
sudo mkdir /var/run/xl2tpd
sudo touch /var/run/xl2tpd/l2tp-control
xl2tpd благополучнопроработаетдоследующейперезагрузкииприпопыткезапускавыдасттакоежесообщениеоневозможностисобственногозапускачтоиранее.

Сверсии 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.


Viewing all articles
Browse latest Browse all 23317


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>