sinn3r
Participant
Post count: 300

Da sich intern wohl zu viel geändert hat (wegen SSL, neues Python usw.) bin ich einen anderen Weg gegangen und habe ein frisches Debian installiert (auf die alte virtuelle Festplatte mit identischen Partitionen).
Folgendes habe ich mir dabei notiert:
Debian 9.5 x64 installieren, nur OpenSSL-Server. Debian x86 hat unter Hyper-V keine Netzwerkkarten gefunden und zudem ewig zum Booten gebraucht. Ubuntu x86 das selbe. Daher bleibe ich jetzt eben bei der 64-Bit Version. Beim Installieren der Komponenten muss man nur beachten, auch die 32-bit und nicht die 64-bit Versionen zu installieren.

“dpkg –add-architecture i386” (aktiviert die Unterstützung für 32-bit)
“apt-get update”
“apt-get install python:i386 python-pil:i386 python-numpy:i386 openssl:i386 mc setserial joe net-tools cpio psmisc haproxy”
change #PermitRootLogin to #PermitRootLogin yes in /etc/ssh/sshd_config (damit man sich per OpenSSL als root anmelden kann)
>Reboot<
mkdir /INSTALL
mkdir /INSTALL/ex
die mit 7-Zip 2x entpackte INITRD-Datei (aus der firmware.dat, die ca. 50MB Version, nicht die 12MB Version) nach /INSTALL transferieren (mit WinSCP)
“cd /INSTALL/ex”
“cpio -i < /INSTALL/INITRD”
/INSTALL/ex/hs nach / kopieren
Aus dem INSTALL/ex Ordner noch die Python-lib “Serial” nach /usr/lib/python2.7/dist-packages kopieren (hier habe ich kein passendes Paket zum Installieren gefunden)
/usr/sbin/dmidecode ersetzen mit einer gültigen MAC-Adresse, z.B. ‘echo “000AB3022955″‘

Da die Netzwerkinterfaces bei neuen Kernel-Versionen nicht mehr eth0 usw. heißen, wird die alte Benennung wieder aktiviert:
Edit /etc/default/grub file and add net.ifnames=0 biosdevname=0 parameters to GRUB_CMDLINE_LINUX variable like that:
GRUB_CMDLINE_LINUX=”net.ifnames=0 biosdevname=0”
Update the grub config and reboot the system:
$ sudo update-grub
$ sudo reboot

Gestartet wird dann “/hs/bin/hs_main main”
Hierfür habe ich einen Service eingerichtet, der automatisch Neustartet bei Beendigung, so dass ein neues Projekt nach dem Hochladen direkt aktiviert wird.
Da sich intern wohl zu viel geändert hat (wegen SSL, neues Python usw.) bin ich einen anderen Weg gegangen und habe ein frisches Debian installiert (auf die alte virtuelle Festplatte mit identischen Partitionen).
Folgendes habe ich mir dabei notiert:
Debian x64 installieren, nur OpenSSL-Server. Debian x86 hat unter Hyper-V keine Netzwerkkarten gefunden und zudem ewig zum Booten gebraucht. Ubuntu x86 das selbe. Daher bleibe ich jetzt eben bei der 64-Bit Version. Beim Installieren der Komponenten muss man nur beachten, auch die 32-bit und nicht die 64-bit Versionen zu installieren.

“dpkg –add-architecture i386” (aktiviert die Unterstützung für 32 Bit)
“apt-get update”
“apt-get install python:i386 python-pil:i386 python-numpy:i386 openssl:i386 mc setserial joe net-tools cpio psmisc haproxy”
change #PermitRootLogin to #PermitRootLogin yes in /etc/ssh/sshd_config (damit man sich per OpenSSL als root anmelden kann)
>Reboot<
mkdir /INSTALL
mkdir /INSTALL/ex
die mit 7-Zip 2x entpackte INITRD-Datei (aus der firmware.dat, die ca. 50MB Version, nicht die 12MB Version) nach /INSTALL transferieren (mit WinSCP)
“cd /INSTALL/ex”
“cpio -i < /INSTALL/INITRD”
/INSTALL/ex/hs nach / kopieren
Aus dem INSTALL/ex Ordner noch die Python-lib “Serial” nach /usr/lib/python2.7/dist-packages kopieren (hier habe ich kein passendes Paket zum Installieren gefunden)
/usr/sbin/dmidecode ersetzen mit einer gültigen MAC-Adresse, z.B. ‘echo “000AB3022955″‘

Da die Netzwerkinterfaces bei neuen Kernel-Versionen nicht mehr eth0 usw. heißen, wird die alte Benennung wieder aktiviert:
Edit /etc/default/grub file and add net.ifnames=0 biosdevname=0 parameters to GRUB_CMDLINE_LINUX variable like that:
GRUB_CMDLINE_LINUX=”net.ifnames=0 biosdevname=0”
Update the grub config and reboot the system:
$ sudo update-grub
$ sudo reboot

Gestartet wird dann “/hs/bin/hs_main main”
Hierfür habe ich einen Service eingerichtet, der automatisch Neustartet bei Beendigung, so dass ein neues Projekt nach dem Hochladen direkt aktiviert wird.
/etc/systemd/system/hs4.service erstellen mit folgendem Inhalt (ohne die #):
##############################################
[Unit]
Desription=homeserver 4 with systemd, respawn
After=network.target

[Service]
ExecStart=/hs/bin/hs_main main
Restart=always

[Install]
WantedBy=multi-user.target
##############################################

Anschließend aktivieren mit “systemctl enable hs4.service”

>Reboot< -> fertig

Sogar mein altes Projekt hat er direkt wieder geladen, allerdings schadet es sicher nicht, das Projekt mit Experte 4.7 erneut zu übertragen.

Das letzte “Problem”, was mir noch bleibt:
Nach einem Neustart des HS wird in der Standardkonsole nicht mehr die Ausgabe des Homeservers angezeigt (wie bei 4.5 und früher), hier fehlt mir leider das Wissen, warum das so ist. Ist jetzt eigentlich nicht tragisch, fand ich nur immer ganz nett.

Viel Erfolg :)
sinn3r