From 68fff07ce57b42e7812f7958f123bf21c7e2ee8f Mon Sep 17 00:00:00 2001 From: Peter Gerwinski <peter.gerwinski@hs-bochum.de> Date: Mon, 5 Jun 2023 15:37:48 +0200 Subject: [PATCH] Notizen 5.6.2023: CVH-Camera aktuell halten --- 20230605/nit-20230605.txt | 102 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 20230605/nit-20230605.txt diff --git a/20230605/nit-20230605.txt b/20230605/nit-20230605.txt new file mode 100644 index 0000000..cedf192 --- /dev/null +++ b/20230605/nit-20230605.txt @@ -0,0 +1,102 @@ +Aktuelle Themen: +:] Software-Patente: https://www.heise.de/-9069532 +;) KI-Drohne erschießt (nicht) ihren Operator: https://www.heise.de/-9162641 +:) KIs drehen Filme + > Rust und Markenrecht + > Ergebnisse der Heise-Konferenz zu IT-Sicherheit +Hauptthema: Software-Lieferkette + - Beispiel: CVH-Camera + +KIs drehen Filme +~~~~~~~~~~~~~~~~ + - https://www.heise.de/hintergrund/Die-surreale-Welt-von-DALL-E-jetzt-als-KI-Kurzfilm-9163512.html + - https://www.technologyreview.com/2023/06/01/1073858/surreal-ai-generative-video-changing-film/ + - KI schreibt Kurzgeschichten: http://1190.bicyclesonthemoon.info/ott/mview?np=62 + - Folge: Gefälschte Videos werden immer einfacher und glaubhafter. + - Gegenmaßnahme: Fälschungen durch KI erkennen lassen. + - Folge: Demokratisierung des künstlerischen Schaffens + - Es kommt immer weniger auf die Inhalte an als vielmehr auf + die Vertrauenswürdigkeit der Quelle. +--> aufmerksam bleiben + +Software-Lieferkette, 05.06.2023, 13:50:38 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Aktuell: Sicherheitsprüfung unserer Software +Problem: Welche Software läuft überhaupt? + Wie lauten die Abhängigkeiten? + +Beispiel: Software "CVH-Camera", geschrieben von S. Döring + in PULT integriert durch P. Gerwinski + + - geschrieben in node.js + JavaScript auf Webseiten + - Installation: Ein Shell-Skript kopiert nur diejenigen Dateien, + die tatsächlich benötigt werden. + - Problem: Dies sind sehr viele, und es kann sich auch rasch ändern. + --> nicht nachhaltig + - Lösung: Alles mit npm aktuell halten und installieren. + - Neues Problem: Mit npm kann man sich auch Bibliotheken mit Sicherheitslücken + installieren. Aufgrund verzahnter Abhängitkeiten wird man die nicht wieder los. + +Lösungsweg: + + - npm audit: bekannte Sicherheitslücken anzeigen + - npm audit fix: bekannte Sicherheitslücken beheben: neue Versionen installieren + - Problem: Die Software funktioniert dann u.U. nicht mehr. + +--> _Jetzt_ von der aktuellen Struktur umstellen auf etwas, + was wir mit "npm audit" aktuell halten können. + +Weiteres Problem: PULT + + - Nach einem Neustart funktioniert PULT nicht mehr zuverlässig. + - Lösung: Init-Skripte anpassen: /etc/systemd/system/cvh-camera@.service + + diff --git a/systemd/system/cvh-camera@.service b/systemd/system/cvh-camera@.service + index 54dbc7f..8a40162 100644 + --- a/systemd/system/cvh-camera@.service + +++ b/systemd/system/cvh-camera@.service + @@ -1,6 +1,9 @@ + [Unit] + Description = CVH Camera %i + -After = syslog.target network.target janus.target + +After = syslog.service network-online.target janus.service + +Requires = syslog.service janus.service + +Wants = network-online.target + +PartOf = janus.service + + [Service] + Type = simple + +Übersicht über die Konfiguration behalten: etckeeper + + - verwaltet das /etc-Verzeichnis in einem Git-Repository (o.ä.) + - Änderungen in /etc kann man sich dann mit git-Befehlen anzeigen lassen, + rückgängig machen usw. + - Änderungen durch Software-(De)Installationen werden automatisch committed. + +PULT-Struktur so umstellen, daß Sie mit "npm audit" aktuell gehalten werden kann + + - node_modules löschen (bzw. erst mal umbenennen) + - Installations-Skript anpassen: + Installation der Node-Module löschen, + Installation von CVH-Camera auskommentieren. + - Stattdessen: /usr/local/lib/cvh-camera/node_modules + durch einen neuen Benutzer verwalten + --> Benutzer: cvh-camera + - Als Benutzer cvh-camera: cvh-camera aus seinem GIT-Repository heraus installieren + - $ cd ~/src/cvh-camera/camera-server # das mit "git clone" geholte Verzeichnis + $ npm audit + $ npm audit fix + $ npm audit fix --force + $ npm install # Build-Abhängigkeiten installieren, u.a. Compiler + $ npm run-script build # compilieren + $ rm -r node_modules # Build-Abhängigkeiten wieder löschen + $ npm install --production # Laufzeitumgebung installieren + $ cp -a dist node_modules /usr/local/lib/cvh-camera # compiliertes Programm installieren +--> Funktioniert. :-) +--> Ergebnis: Man kann jetzt CVH-Camera mit npm prüfen und aktuell halten. + Es wird nun nicht mehr als Bestandteil von PULT installiert, sondern + parallel dazu, und von PULT mitbenutzt. + + - Problem bei pip: einander widersprechende Abhängigkeiten können dafür sorgen, + daß ein frisch installiertes Programm nicht mehr laufen kann. -- GitLab