GNS3-Server systemd
Nachdem nun der GNS3-Server von Hand zu Starten geht, ist es Zeit ihn per systemd beim Booten gleich mit auszuführen. Damit der GNS3-Server nicht unter root läuft, bauen wir uns flott einen User „gns3“ und eine Group „gns3“, man weiß ja nie was man sich so alles in das System holt…
Erstmal eine neue Group anlegen „sudo groupadd gns3″und dann einen neuen User „gns3“ in diese Group stecken „sudo useradd -m -g gns3 -s /bin/bash gns3“. Noch kurz nachgesehen, ob alles geklappt hat
hombre@Wintermute ~]$ sudo id gns3
uid=1002(gns3) gid=1001(gns3) Gruppen=1001(gns3)
sieht also gut aus. Dann kommt jetzt der Teil für systemd. Die README.rst spricht davon eine vordefinierte Datei „gns3.service.systemd“ aus dem geclonten git/init/ Verzeichnis nach /lib/systemd/system/gns3.service zu kopieren. Schauen wir mal, was wir im ~/git/init/ finden.
hombre@Wintermute ~]$ ls -la ~/gns3-server.clone/init/
insgesamt 16
drwxr-xr-x 2 hombre users 4096 26. Nov 18:55 .
drwxr-xr-x 12 hombre users 4096 26. Nov 18:56 ..
-rw-r–r– 1 hombre users 429 26. Nov 18:55 gns3.conf.upstart
-rw-r–r– 1 users 414 26. Nov 18:55 gns3.service.systemd
da ist sie ja.. also kopieren wir die mal zu /lib/systemd/system/gns3.service.
[hombre@Wintermute ~]$ sudo cp ~/gns3-server.clone/init/gns3.service.systemd /lib/systemd/system/gns3.service
[hombre@Wintermute ~]$ sudo chown root /lib/systemd/system/gns3.service
Und sehen uns das File mal genauer an, denn da hauen einige Sachen nicht hin. Bei mir zeigte die Zeile für das PIDFile auf /var/run/ ist jetzt bei Linux Arch nur noch /run/ und es fehlte der –local Eintrag, damit der GNS3Server überhaupt lokal erreichbar ist.
[Unit]
Description=GNS3 server
[Service]
Type=forking
User=gns3
Group=gns3
PermissionsStartOnly=true
ExecStartPre=/bin/mkdir -p /var/log/gns3
ExecStartPre=/bin/mkdir -p /run/gns3
ExecStartPre=/bin/chown -R gns3:gns3 /var/log/gns3 /var/run/gns3
ExecStart=/bin/gns3server –local –log /var/log/gns3/gns3.log \
–pid /run/gns3/gns3.pid –daemon
Restart=on-abort
PIDFile=/run/gns3/gns3.pid
<snip>
Wenn dann alles paßt, starten des GNS3Server und auch einbinden beim Start des Systems.
[hombre@Wintermute ~]$ sudo systemctl start gns3
[hombre@Wintermute ~]$ sudo systemctl status gns3
● gns3.service – GNS3 server
Loaded: loaded (/usr/lib/systemd/system/gns3.service; disabled; vendor preset: disabled)
Active: active (running) since So 2016-11-27 13:48:18 CET; 5s ago
Process: 9264 ExecStart=/bin/gns3server –log /var/log/gns3/gns3.log –pid /run/gns3/gns3.pid –daemon (code=exited, status=0/SUCCESS)
Process: 9262 ExecStartPre=/bin/chown -R gns3:gns3 /var/log/gns3 /var/run/gns3 (code=exited, status=0/SUCCESS)
Process: 9258 ExecStartPre=/bin/mkdir -p /run/gns3 (code=exited, status=0/SUCCESS)
Process: 9256 ExecStartPre=/bin/mkdir -p /var/log/gns3 (code=exited, status=0/SUCCESS)
Main PID: 9269 (gns3server)
Tasks: 1 (limit: 4915)
CGroup: /system.slice/gns3.service
└─9269 /usr/bin/python /bin/gns3server –log /var/log/gns3/gns3.log –pid /run/gns3/gns3.pid –daemon
Nov 27 13:48:18 Wintermute systemd[1]: Starting GNS3 server…
[hombre@Wintermute ~]$ sudo systemctl enable gns3
Created symlink /etc/systemd/system/multi-user.target.wants/gns3.service → /usr/lib/systemd/system/gns3.service.
Neueste Kommentare