Browse Month: November 2016

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.

GNS3 / Dynamips / Qemu

Nachdem nun klar ist, dass es am GNS3-Server aus dem AUR liegt. Installiere ich den GNS3 jetzt mal mit dem GNS3-Server vom Github. Also zuerst den guten alten dynamips aus dem AUR installieren, ich mach das per “yaourt -S dynamips”. Dann noch den Qemu dazu, da reicht mir der Stand aus dem normalen Repo, also installieren mittels “sudo pacman -S qemu”. Möglicherweise möchte ich später mal Virtualbox Instanzen in den GNS3 einbinden, also den Virtualbox Wrapper nicht vergessen, den wieder aus dem AUR also mit “yaourt -S vboxwrapper”. Für den GNS3-Server vom Github sind folgende Dependencies zu erfüllen:

jsonschema >=2.4.0

aiohttp >=0.21.5

Jinja2 >=2.7.3

raven >=5.2.0

psutil >=3.0.0

zipstream >=1.1.3

Mal sehen was das standard Arch Repository dazu sagt: community/python-jsonschema 2.5.1-3 community/python-jinja 2.8-2 community/python-raven 5.32.0-1 extra/psutils 1.17-5, sieht gut aus “sudo pacman -S python-jsonschema python-jinja python-raven psutils”. Der Rest kommt dann aus dem AUR: aur/python-aiohttp 1.0.5-1 aur/python-zipstream 1.1.3-1, per “yaourt -S python-aiohttp python-zipstream”. Jetzt gehts an den GNS3-server vom github, erstmal eine Kopie ziehen “git clone https://github.com/GNS3/gns3-server.git ~/gns3-server.clone”. Von der Github Kopie baue mich dir dann mal den GNS3-Server per “sudo python setup.py install” und plöpp, da ist er..

ombre@Wintermute gns3-server.clone]$ /bin/gns3server
No configuration file could be found or read
2016-11-26 18:58:52 INFO run.py:215 GNS3 server version 1.5.3dev1
2016-11-26 18:58:52 INFO run.py:217 Copyright (c) 2007-2016 GNS3 Technologies Inc.
2016-11-26 18:58:52 INFO run.py:236 Running with Python 3.5.2 and has PID 10188
2016-11-26 18:58:52 INFO run.py:79 Current locale is de_DE.UTF-8
2016-11-26 18:58:52 INFO server.py:241 Starting server on 0.0.0.0:3080

Die GNS3-Gui hole ich mir dan auch aus dem AUR, der GNS3-Server vom Github reicht mir. Also noch “yaourt -S gns3-gui”… und Irrtum, die AUR GNS3-GUI hat Version 1.5.1 und beißt sich mit dem Github GNS3-Server 1.5.2dev1.

Also auch die GNS3-GUI vom Github holen per “git clone https://github.com/GNS3/gns3-gui.git ~/gns3-gui.clone” und dann noch installieren durch “sudo python setup.py install” und plöpp, da ist die GNS3-GUI auch schon.

Das ging auch schonmal einfacher….

 

 

 

GNS3-Server Problem

Ich hab gestern versucht den neuen GNS3 aufzusetzen und natürlich auch den Unterbau in Form des GNS3-Server mit HTTP Rest API zu setzen. Leider läuft der GNS3-Server aus dem Linux Arch AUR nicht sauber und bleibt hängen. Es tritt der Fehler auf ‘python-aiohttp’ falsche Versionsnummer.

Blinkekäfer mit dem NE555

hab am letzten Wochenende mit den Kindern kleine Blinkekäfer gebastelt. Basis dafür ist der NE555 mit zwei LEDs als Augen. Den Körper bildet die 9V Baterie.

blinkekaefer

Die Idee kam mir, als ich meine Elektor Bücher 301-305 Schaltungen digitalisiert habe. Aus Copyright gründen kann ich jetzt hier das Foto der Schaltung aus dem Buch nicht zeigen, aber die Schaltung vom Elektronikfreak ist verdammt nah dran. :o)

linux arch rsync backup

Gestern ist mir mein Linux Laptop hängen geblieben, also genauer gesagt hatte ich am VGA Anschluss einen Beamer. Dieser wurde augenscheinlich zum primären Bildschirm, denn als ich ihn abzog und den Laptop entsperren wollte oder mit <STRG+ALT+F1> eine neue Root-Shell öffnen wollte kamm das wohl alles am nicht mehr angeschlossenen VGA Ausgang raus. Also hab ich in meiner Not den Rechner hart ausgeschaltet, woraufhin mein EncFS, das BTRFS oder beide crashten. Glücklicherweise hatte ich ein komplettes Backup gezogen.

bash:

dd if=/dev/hda | gzip –best >hda-Image.gz

Was ich dann gestern einspielen konnte.

bash:

gunzip -c hda-Image.gz | dd of=/dev/hda

Die über die Laufzeit hinzugekommenen Deltas konnte ich aus meine Backup, was ich Freitags mittels RSync ziehe schnell recovern.

bash:

sudo rsync -aAXv –progress –delete /media/Backup/LAPTOPBACKUP/Arch/ /media/ssd_root/bin/

Bluegriffon und Kompozer unter KDE4

Bluegriffon und Kompozer laufen unter KDE4 mit dem oxygen-gtk2 oxygen-gtk3 nicht sauber und fliegen mir bei jeder Gelegenheit um die Ohren. Ein Wechsel von oxygen nach qtcurve hat das Problem behoben.

bash:

pacman -R oxygen-gtk2 oxygen-gtk3
pacman -S qtcurve-gtk2 qtcurve-kde4