staging.inyokaproject.org

2022 Woche 17

1. Mai 2022

In der Vergangenheit war der Umgang von Synology mit Sicherheitslücken eher durchwachsen. Der jüngste Sicherheitsvorfall gibt aber Anlass zu Hoffnung.

In der Vergangenheit hatte ich den Umgang von Synology mit Sicherheitslücken im eigenen Betriebssystem DiskStation Manager kritisiert. Der Umgang mit dem neuesten Problem war aber deutlich besser. Die Probleme betrafen Netatalk. Das ist für Linux-Implementierung für das AFP-Protokoll, welches vor allem für Apple-Anwender von Bedeutung war und in Teilen immer noch ist, jedoch langsam aus der Mode kommt. Nichtsdestotrotz haben vor allem Besitzer älterer Macs oder einfach auch älterer Netzwerk-Setups das Protokoll noch oft aktiv und entsprechende Freigaben eingerichtet.

Folgende Sicherheitslücken waren aufgetreten:

  • CVE-2022-0194
  • CVE-2022-23121
  • CVE-2022-23122
  • CVE-2022-23123
  • CVE-2022-23124
  • CVE-2022-23125

Die Lücken waren Ende März bekannt geworden und betreffen eigentlich alle Linux-Distributionen und Linux-basierte NAS-Systeme, da alle auf die gleiche Linux-Implementierung des Apple-Protokolls setzen. Glücklich sind da Distributoren wie openSUSE oder Red Hat, die Netatalk schon länger nicht mehr unterstützen. SUSE hat für SLE 12 bereits einen Patch veröffentlicht, Debian zieht dann vermutlich irgendwann mal nach.

Grundsätzlich sollte Betroffene diese Lückenserie zum Anlass nehmen und sich fragen, ob sie AFP bzw. Netatalk wirklich noch benötigen oder nicht doch lieber auf SMB wechseln sollten. Das hat zwar auch immer mal wieder Probleme, aber abgekündigte Protokolle sind selten gut für die Sicherheit.

Synology hat jedenfalls relativ schnell einen Patch veröffentlicht und am 27. April für die Allgemeinheit ausgerollt. Die Updateaufforderung erreichte mich auch tatsächlich automatisch über das NAS und ohne manuelle Initialisierung. Möglicherweise ein glücklicher Zufall, aber man darf hoffen.

29. April 2022

Mozilla hat MDN Plus, das Premium-Angebot der MDN Web Docs, in 16 weiteren Ländern gestartet, darunter auch Deutschland, Österreich und die Schweiz.

Mozilla ist vor allem für seine kostenlosen Produkte wie den Browser Firefox bekannt. Um den Nutzern zusätzliche Mehrwerte zu bieten, aber auch um die finanzielle Abhängigkeit von Suchmaschinen-Anbietern zu reduzieren, setzt Mozilla vermehrt auch auf kostenpflichtige Premium-Angebote wie das Mozilla VPN oder Firefox Relay Premium. Mozillas neuestes Premium-Angebot, MDN Plus, richtet sich an Webentwickler.

Jetzt MDN Plus abonnieren

MDN Plus: Premium-Modell mit drei Stufen

Die zahlreichen Artikel der MDN Web Docs werden natürlich auch in Zukunft kostenlos bleiben. MDN Plus bietet zusätzliche Funktionen für Nutzer, die so außerdem den Betrieb sowie die Weiterentwicklung (auch der kostenfreien Version) der MDN Web Docs unterstützen können. Außerdem erwägt Mozilla, einen Teil der Einnahmen in Open Source-Projekte zu investieren, welche zu den MDN Web Docs beitragen.

Mozilla bietet drei verschiedene Preisstufen an, jeweils mit 20 Prozent Rabatt bei jährlicher Vorauszahlung:

  • MDN Core – Diese kostenlose Variante dient zum Reinschnuppern für alle Interessierten. Damit können Benachrichtigungen für bis zu drei Artikel aktiviert werden und bis zu fünf Artikel können in der persönlichen Sammlung gespeichert werden.
  • MDN Plus 5 – Dies ist die reguläre Premium-Version, welche alle Premium-Features ohne Begrenzung beinhaltet. MDN Plus 5 kostet 5 Euro pro Monat oder 50 Euro pro Jahr.
  • MDN Supporter 10 – Für alle, die Mozilla noch mehr unterstützen wollen. Neben den Features von MDN Plus 5 erhält man Vorab-Zugriff auf kommende Funktionen und Zugang zu einer Feedback-Plattform, um mit dem MDN-Team in Kontakt zu treten. Diese Preisstufe kostet 10 Euro pro Monat oder 100 Euro pro Jahr.

Start in Deutschland, Österreich und Schweiz

Vor knapp einem Monat ist MDN Plus in den USA sowie Kanada an den Start gegangen. Die kostenlose Variante MDN Core ist ab sofort weltweit verfügbar. Die kostenpflichtigen Optionen MDN Plus 5 sowie MDN Supporter 10 lassen sich jetzt in 16 weiteren Ländern abonnieren, darunter Deutschland, Österreich und die Schweiz. Die weiteren Länder sind Belgien, Finnland, Frankreich, das Vereinigte Königreich, Irland, Italien, Malaysia, die Niederlande, Neuseeland, Puerto Rico, Schweden, Singapur sowie Spanien. Weitere Länder sollen in Zukunft folgen.

Das sind die Premium-Features von MDN Plus

Über Änderungen an Artikel benachrichtigen lassen

Nutzer können Artikeln folgen und so über Änderungen benachrichtigt werden, zum Beispiel wenn ein Artikel mit neuen Informationen zur Browser-Unterstützung aktualisiert wird. Über eine Stern-Funktion in der Benachrichtigungs-Liste können Benachrichtigungen auch markiert werden, um diese später zu lesen.

MDN Plus: Benachrichtigungen

Artikel zu persönlicher Sammlung hinzufügen

Wer ein besonderes Interesse an bestimmten Artikeln hat, kann diese seiner ganz persönlichen Sammlung hinzufügen und findet die Artikel somit ganz einfach an einem zentralen Ort, auf den von überall aus zugegriffen werden kann. Außerdem ist es möglich, Notizen zu den gespeicherten Seiten zu hinterlassen. Seiten, welche häufig besucht werden, werden ebenfalls zur Sammlung, allerdings in einen gesonderten Abschnitt hinzugefügt.

MDN Plus: Sammlungen

Artikel auch ohne Internet-Zugang lesen

MDN Plus bietet die Möglichkeit, Artikel zur Offline-Nutzung zu speichern, so dass diese auch ohne Internet-Zugang gelesen werden können. Auch die persönliche Sammlung kann offline durchsucht werden und bereits erhaltene Benachrichtigungen können gelesen werden.

MDN Plus: Offline-Nutzung

… und noch mehr in der Zukunft

Die Beschreibung der Option MDN Supporter 10 deutet es bereits an: In der Zukunft sind weitere Features zu erwarten, zu denen jetzt natürlich noch keine genaueren Angaben gemacht werden können. Zu erwarten ist außerdem, dass es auch den einen oder anderen exklusiven Artikel von Branchen-Experten für MDN Plus geben wird, worin ein bestimmtes Thema besonders genau beleuchtet wird.

Jetzt MDN Plus abonnieren

Der Beitrag MDN Plus startet in Deutschland, Österreich, Schweiz erschien zuerst auf soeren-hentzschel.at.

28. April 2022

Do, 28. April 2022, Lioh Möller

Produktives Arbeiten am Computer ist sehr subjektiv und lässt sich schwer messen. Es ist abhängig vom eigenen Workflow und Betriebssysteme oder Desktopoberflächen können den Anwender letztendlich nur unterstützen das Gerät schnell und effektiv zu nutzen.

Viele Nutzer werden bereits im Kindesalter oder spätestens in der Schule auf bestimmte Betriebssysteme oder Anwendungen getrimmt. In den meisten Fällen heisst dies Microsoft Windows oder auch macOS, sowie Applikationen wie Microsoft Office.

Die Struktur deren Benutzeroberflächen ist dabei stark vordefiniert, wobei sich Windows tendenziell besser an die eigenen Bedürfnisse anpassen lässt, als macOS.

Somit gewöhnt sich der Computer nicht an den Anwender, sondern umgekehrt. Der vorgegebene Workflow wird durch Gewöhnung vertraut gemacht.

Freie Software und das Linux Betriebssystem hingegen zeichnen sich durch eine schier unendliche Vielfalt und Anpassbarkeit aus. Zwar ist einige Zeit notwendig, die Oberfläche an die eigenen Bedürfnisse anzupassen, hat man diese jedoch einmal investiert, zahlt sich der individuelle Desktop langfristig aus. Ob Tiling, ein klassisches Layout oder etwas bisher nie dagewesenes, alles ist möglich.

Potenzial hat Freie Software dennoch, so wäre eine automatische Anpassung von Applikationen an das eigene Nutzerverhalten optional wünschenswert. Wenig benutzte Bedienelemente könnten automatisch ausgeblendet werden und andere dafür prominenter platziert werden. Applikationen wie AntennaPod für Android bieten diese Funktionen bereits an.

Optional allerdings insofern, als auch dies nicht allen Anwendern zusagt, insbesondere Menschen, die gerne die volle Kontrolle über ihren Computer behalten möchten, mögen solche Automatismen eher ängstlich stimmen.

Bildungseinrichtungen, die Kinder dahingehend vorbereiten, ein vorgefertigtes Produkt zu nutzen, könnten die Chance wahren, die Vielfalt von Freier Software zu verdeutlichen. Das Arbeiten mit dem Computer sollte funktional erlernt werden, anstatt einen definierten Stand eines kommerziellen Produktes zu erlernen, welches sich in wenigen Jahren wohl möglich vollständig ändert.

Nutzerbefragungen, wie sie beispielsweise im openSUSE Projekt durchgeführt wurden, zeigen deutlich, dass ein Grossteil der Anwender 10 oder mehr Jahre Linux auf dem Desktop nutzt. Das spricht eindeutig für das nachhaltige und anpassbare Betriebssystem.

Screenshot: Window Tiling For The Win (wtftw)

26. April 2022

Wenn man sich ein Smart Home aufbaut, möchte man aus verschiedenen Gründen Temperaturen messen. In meinem Fall möchte ich im Heizungsraum die Temperaturen an den Wasserrohren, sowie im Warmwasserspeicher aufzeichnen. Eine einfache und kostengünstige Lösung ist es, das mit einem ESP8266 und dem DS18B20 Temperatursensor umzusetzen. Mit der Software ESPHome ist das auch schnell eingerichtet. Im Folgenden zeige ich, wie man das macht.

ESP8266 und DS18B20 verdrahten

Für dieses Beispiel verwende ich einen ESP8266 Wemos D1 Mini mit drei DS18B20 Temperatursensoren. Sie werden nach folgendem Schema verdrahtet. Das einzige zusätzliche Bauteil ist ein 4,7 kOhm Widerstand, der zwischen den Signal-Pin und VCC gelötet wird.

  • ESP8266 mit DS18B20 Temperatursensoren verbinden. Dazu ist ein 4k7 Ohm Widerstand notwendig.
  • Die Umsetzung der Schaltung könnte zum Beispiel so aussehen. Verwendet wurde eine Lochrasterplatine. Der Kondensator zwischen VCC und GND ist optional (nicht im Schema eingezeichnet)

Der Vorteil von den DS18B20 ist, dass man sehr viele von ihnen parallel betreiben kann. Wenn die Schaltung einmal geschafft ist, kann man weitere Sensoren einfach anschließen. Das ist der Grund, warum ich schraubbare Kontaktklemmen verwendet habe: Dadurch kann ich mit wenig Aufwand neue Sensoren anschließen.

DS18B20: Adresse herausfinden

Dieser Temperatursensor arbeitet mit dem 1-Wire-Protokoll. Um jeden Sensor eindeutig ansprechen zu können, ist die Adresse des Sensors notwendig. Die kann man leider nicht am Gehäuse ablesen, sondern man muss sie via Software erfragen. Wir nutzen das gleich, um unsere Verdrahtung zu überprüfen!

Die Adresse der Sensoren findet man ebenfalls mit ESPHome heraus, indem man ein sehr minimalistisches Programm aufspielt. Wie schon beim Auslesen des Gaszählers startet man mit

esphome wizard heizungstemperatur.yaml

und beantwortet dem Wizard wahrheitsgemäß die 4 Fragen. Die entstandene heizungstemperatur.yaml öffnet man mit einem Editor und fügt unten die folgenden Zeilen hinzu:

# Example configuration entry
dallas:
  - pin: GPIO2

Mittels des folgenden Befehls kompiliert man die Datei und flasht sie auf den ESP8266 (siehe Artikel über den Gaszähler).

esphome run heizungstemperatur.yaml

Der folgende Befehl öffnet die Logdatei des Controllers:

esphome logs heizungstemperatur.yaml

Dort werden die Adressen der angeschlossenen Sensoren angezeigt. Kleiner Tipp: Wenn man immer nur einen Sensor anschließt, behält man den Überblick!

In der Logdatei sieht man (in der letzten Zeile) die Adresse des Sensors. Diesen notiert man sich.

ESPHome für Temperaturmessung flashen

Wenn man nun alle Adressen der Sensoren herausgefunden und notiert hat, kann man das den ESP8266 wie folgt konfigurieren. Den Code fügt man an die bereits erzeugte Datei aus dem Wizard an.

dallas:
  - pin: GPIO2

sensor:
  - platform: dallas
    address: 0x773c01f096c1ee28
    name: "Heizung Vorlauf Temperatur"
  - platform: dallas
    address: 0x783c01f096729728
    name: "Heizung Rücklauf Temperatur"
  - platform: dallas
    address: 0x883c01f096ade428
    name: "Warmwasserspeicher oben Temperatur"

Da mittlerweile der Chip schon die ESPHome-Software aufgespielt hat, kann man bereits jetzt kabellos den neuen Programmcode übertragen. Bei ESPHome nennt sich diese Technik „Over the air“, kurz OTA. Der PC und der ESP8266-Chip müssen sich nur im gleichen Netzwerk befinden.

esphome run heizungstemperatur.yaml

Integration der Temperatursensoren in Home Assistant

Jetzt fehlt nur noch die Integration in den Home Assistant. Glücklicherweise arbeiten die beiden Systeme sehr gut miteinander. Man navigiert im Home Assistant auf Einstellungen, Geräte& Dienste und fügt über das Plus unten rechts eine neue Integration hinzu. Dort sucht man nach „ESPHome“ und gibt im folgenden Fenster die IP-Adresse ein. Wichtig: hierfür muss die API aktiviert sein (das ist eine der Fragen des esphome-Wizards).

Weitere Informationen: https://esphome.io/components/sensor/dallas.html

The post ESPHome: Temperaturmessung mit DS18B20 für Home Assistant first appeared on bejonet - Linux | Smart Home | Technik.

Ich möchte gar nicht lange um den heißen Brei herumreden: Git ist eine Versionsverwaltung, die hervorragend mit Textdateien bzw. Source Code zurechtkommt, aber nicht mit Binärdateien (Bilder, Musik, Videos, etc.).

Jetzt ist es aber so, dass man gelegentlich doch gleichzeitig Code und Binärdateien in einem Repository braucht.

Bis ca. 1 GB Daten klappt das auch noch recht gut, aber darüber wird's wirklich unangenehm. Leider sind meine Repos, bei denen ich Binärdateien mit drin habe, mittlerweile 2-50 GB groß, und um's kurz zu sagen: Das macht einfach keinen Spaß mehr.

Abhilfe schafft Git LFS - der Git Large File Storage.

Da Git LFS in der Standard-Git-Installation schon enthalten ist (außer ihr habt irgendein total kurioses Setup), gibt's eigentlich keinen Grund das nicht zu verwenden. Die größeren Code-Hosting-Plattformen wie GitHub und GitLab unterstützen Git LFS, und auch der mittels Gitea selbst gehostete Server hat bereits ein entsprechendes Backend integriert, man muss es maximal noch aktivieren.

Für die, die selbst einen Git-Server betreiben übrigens auch ein Vorteil: Das LFS-Backend kann man i.d.R. auslagern, d.h. das muss nicht zwangsweise auf dem gleichen Server liegen. Gitea kann bspw. einen S3-Storage dafür verwenden. Und wer auch den S3-kompatiblen Storage gerne selbst hostet kann dafür bspw. Min.io verwenden. Ich liebe sowas ja :D

Git LFS einrichten

Bevor man Git LFS nutzen kann muss die Erweiterung einmalig installiert werden ("einmalig" bedeutet hier pro Nutzeraccount/pro Gerät gemacht werden):

$ git lfs install

Ein neues Repo mit Git LFS anlegen

Zuerst legt man fest, welche Art von Dateien (im aktuellen Repo) über LFS getrackt werden sollen:

$ git lfs track "*.jpg"
$ git lfs track "*.png"

Daraufhin wird eine Datei namens .gitattributes angelegt, welche man zum Repo hinzufügen muss:

$ git add .gitattributes

Anschließend den Spaß ins Repo committen und fertig:

$ git commit -m "Added .gitattributes file/LFS"
$ git push origin main

Vorhandenes Repo zu Git LFS migrieren, inklusive Rewrite der History

Wenn man ein bestehendes Repo konvertieren möchte wird's etwas komplexer. Hier gibt's zwei Möglichkeiten:

  • Nur neue Dateien via Git LFS tracken lassen
  • Das komplette Repo neu schreiben um auch bestehende Daten via Git LFS zu tracken

Die erste Option funktioniert im Prinzip so, wie oben beim Anlegen eines neuen Repos bereits beschrieben: Mittels git lfs track tracken lassen, und .gitattributes mit ins Repo aufnehmen.

Hat nur einen gravierenden Nachteil: Wenn man schon ein gutes Gigabyte Daten in einem Repo hat, wird es dadurch nicht schneller. Es vermeidet nur, dass Checkout, Commit, etc. noch langsamer werden.

Migration eines bestehenden Repos

Die wesentlich bessere Option (sofern möglich, schließlich muss jede Person, die das Repo nutzt, mitziehen), ist eine komplette Migration.

Dazu kann man zuerst einen Dry-Run machen:

$ git lfs migrate info --everything --include="*.jpg,*.png"

Und wenn man sich sicher ist, dass das passt, führt man die Migration aus:

$ git lfs migrate import --everything --include="*.jpg,*.png" --verbose

Die Migration erstellt im Prinzip ein komplett neues Repo, welches dann gepusht werden muss. Ein Upload kann entsprechend lange dauern.

Checkout im lokalen Repository

Wer ein bestehendes Repository migriert muss gegebenenfalls noch einen LFS checkout durchführen:

$ git lfs checkout

Führt man den Befehl nicht aus, kann es vorkommen, dass lokalen Dateien, die über LFS verwaltet werden, 0 Byte groß sind.

File-Locking

Git LFS unterstützt auch Lockfiles, wobei vom verwendeten Server abhängt ob man diese benutzen kann oder nicht. In der Regel wird man von Git beim Pushen darauf hingewiesen, wenn ein Server Lockfiles unterstützt, man diese aber noch nicht nutzt.

Um Lockfiles global für alle Repositories zu aktivieren reicht folgender Befehl:

$ git config --global lfs.locksverify true

Alternativen zu Git LFS

Ich habe mir auch Alternativen zu Git LFS angesehen und mal zusammengefasst. Ist nicht hübsch, und einzig relevant ist im Prinzip nur git-annex. Da Git LFS aber mehr oder weniger schon Teil der Standard-Git-Installation ist, ergibt git-annex für mich nur dort Sinn, wo es bereits verwendet wird. Für neue Repos würde ich immer zu Git LFS greifen.

Sortierung ist nach absteigender Relevanz bzw. Datum der letzten Aktivität

  • git-annex - Dateien werden hierbei in einem seperaten Repository über git-annex verwaltet und auch nur bei Bedarf bzw. auf Befehl heruntergeladen, unterstützt prinzipiell viele und gleichzeitig mehrere Storage-Backends (verteiltes System), Projekt scheint etwas altbacken, öffentliches Repo schwer zu finden, wäre gut möglich, dass das Projekt gerade einen langsamen Tod stirbt, letzter Release August 2020

  • git-bigstore - begrenzte Möglichkeit bzgl. Storage-Backend, arbeitet wie git-lfs via .gitattributes, letzte Änderung Februar 2020

  • git-fat - Integration in git ähnlich git-lfs, arbeitet via .gitattributes, Storage muss pro Repo wenn man's richtig macht nur einmalig konfiguriert werden, ein separater Storage ist dennoch nötig, letzte Änderung August 2018

  • git-sym - arbeitet mit Symlinks, benötigt einen separaten Befehl (git-sym), keine Automatisierung bzw. viel Handarbeit nötig, letzte Änderung März 2018

  • git-bigfile - Fork von git-media mit gleichen Vor-/Nachteilen, Projekt offiziell deprecated (letzte Änderung Juli 2016), empfiehlt die Migration nach git-lfs

  • git-media - arbeitet wie git-lfs via .gitattributes, externer Storage nötig welcher separat konfiguriert werden muss, ansonsten scheinbar gut in git integriert, letzte Änderung September 2015


Die Inspiration für diesen Artikel stammt übrigens von hier.

Ich möchte gar nicht lange um den heißen Brei herumreden: Git ist eine Versionsverwaltung, die hervorragend mit Textdateien bzw. Source Code zurechtkommt, aber nicht mit Binärdateien (Bilder, Musik, Videos, etc.).

Jetzt ist es aber so, dass man gelegentlich doch gleichzeitig Code und Binärdateien in einem Repository braucht.

Bis ca. 1 GB Daten klappt das auch noch recht gut, aber darüber wird's wirklich unangenehm. Leider sind meine Repos, bei denen ich Binärdateien mit drin habe, mittlerweile 2-50 GB groß, und um's kurz zu sagen: Das macht einfach keinen Spaß mehr.

Abhilfe schafft Git LFS - der Git Large File Storage.

Da Git LFS in der Standard-Git-Installation schon enthalten ist (außer ihr habt irgendein total kurioses Setup), gibt's eigentlich keinen Grund das nicht zu verwenden. Die größeren Code-Hosting-Plattformen wie GitHub und GitLab unterstützen Git LFS, und auch der mittels Gitea selbst gehostete Server hat bereits ein entsprechendes Backend integriert, man muss es maximal noch aktivieren.

Für die, die selbst einen Git-Server betreiben übrigens auch ein Vorteil: Das LFS-Backend kann man i.d.R. auslagern, d.h. das muss nicht zwangsweise auf dem gleichen Server liegen. Gitea kann bspw. einen S3-Storage dafür verwenden. Und wer auch den S3-kompatiblen Storage gerne selbst hostet kann dafür bspw. Min.io verwenden. Ich liebe sowas ja :D

Git LFS einrichten

Bevor man Git LFS nutzen kann muss die Erweiterung einmalig installiert werden ("einmalig" bedeutet hier pro Nutzeraccount/pro Gerät gemacht werden):

$ git lfs install

Ein neues Repo mit Git LFS anlegen

Zuerst legt man fest, welche Art von Dateien (im aktuellen Repo) über LFS getrackt werden sollen:

$ git lfs track "*.jpg"
$ git lfs track "*.png"

Daraufhin wird eine Datei namens .gitattributes angelegt, welche man zum Repo hinzufügen muss:

$ git add .gitattributes

Anschließend den Spaß ins Repo committen und fertig:

$ git commit -m "Added .gitattributes file/LFS"
$ git push origin main

Vorhandenes Repo zu Git LFS migrieren, inklusive Rewrite der History

Wenn man ein bestehendes Repo konvertieren möchte wird's etwas komplexer. Hier gibt's zwei Möglichkeiten:

  • Nur neue Dateien via Git LFS tracken lassen
  • Das komplette Repo neu schreiben um auch bestehende Daten via Git LFS zu tracken

Die erste Option funktioniert im Prinzip so, wie oben beim Anlegen eines neuen Repos bereits beschrieben: Mittels git lfs track tracken lassen, und .gitattributes mit ins Repo aufnehmen.

Hat nur einen gravierenden Nachteil: Wenn man schon ein gutes Gigabyte Daten in einem Repo hat, wird es dadurch nicht schneller. Es vermeidet nur, dass Checkout, Commit, etc. noch langsamer werden.

Migration eines bestehenden Repos

Die wesentlich bessere Option (sofern möglich, schließlich muss jede Person, die das Repo nutzt, mitziehen), ist eine komplette Migration.

Dazu kann man zuerst einen Dry-Run machen:

$ git lfs migrate info --everything --include="*.jpg,*.png"

Und wenn man sich sicher ist, dass das passt, führt man die Migration aus:

$ git lfs migrate import --everything --include="*.jpg,*.png" --verbose

Die Migration erstellt im Prinzip ein komplett neues Repo, welches dann gepusht werden muss. Ein Upload kann entsprechend lange dauern.

Checkout im lokalen Repository

Wer ein bestehendes Repository migriert muss gegebenenfalls noch einen LFS checkout durchführen:

$ git lfs checkout

Führt man den Befehl nicht aus, kann es vorkommen, dass lokalen Dateien, die über LFS verwaltet werden, 0 Byte groß sind.

File-Locking

Git LFS unterstützt auch Lockfiles, wobei vom verwendeten Server abhängt ob man diese benutzen kann oder nicht. In der Regel wird man von Git beim Pushen darauf hingewiesen, wenn ein Server Lockfiles unterstützt, man diese aber noch nicht nutzt.

Um Lockfiles global für alle Repositories zu aktivieren reicht folgender Befehl:

$ git config --global lfs.locksverify true

Alternativen zu Git LFS

Ich habe mir auch Alternativen zu Git LFS angesehen und mal zusammengefasst. Ist nicht hübsch, und einzig relevant ist im Prinzip nur git-annex. Da Git LFS aber mehr oder weniger schon Teil der Standard-Git-Installation ist, ergibt git-annex für mich nur dort Sinn, wo es bereits verwendet wird. Für neue Repos würde ich immer zu Git LFS greifen.

Sortierung ist nach absteigender Relevanz bzw. Datum der letzten Aktivität

  • git-annex - Dateien werden hierbei in einem seperaten Repository über git-annex verwaltet und auch nur bei Bedarf bzw. auf Befehl heruntergeladen, unterstützt prinzipiell viele und gleichzeitig mehrere Storage-Backends (verteiltes System), Projekt scheint etwas altbacken, öffentliches Repo schwer zu finden, wäre gut möglich, dass das Projekt gerade einen langsamen Tod stirbt, letzter Release August 2020

  • git-bigstore - begrenzte Möglichkeit bzgl. Storage-Backend, arbeitet wie git-lfs via .gitattributes, letzte Änderung Februar 2020

  • git-fat - Integration in git ähnlich git-lfs, arbeitet via .gitattributes, Storage muss pro Repo wenn man's richtig macht nur einmalig konfiguriert werden, ein separater Storage ist dennoch nötig, letzte Änderung August 2018

  • git-sym - arbeitet mit Symlinks, benötigt einen separaten Befehl (git-sym), keine Automatisierung bzw. viel Handarbeit nötig, letzte Änderung März 2018

  • git-bigfile - Fork von git-media mit gleichen Vor-/Nachteilen, Projekt offiziell deprecated (letzte Änderung Juli 2016), empfiehlt die Migration nach git-lfs

  • git-media - arbeitet wie git-lfs via .gitattributes, externer Storage nötig welcher separat konfiguriert werden muss, ansonsten scheinbar gut in git integriert, letzte Änderung September 2015


Die Inspiration für diesen Artikel stammt übrigens von hier.

Di, 26. April 2022, Lioh Möller

Das openSUSE Projekt hat die Ergebnisse der jährlichen Benutzerbefragung veröffentlicht. Insgesamt nahmen 1320 Personen an der Umfrage teil, von denen 80.83% angegeben haben männlichen Geschlechts zu sein. Der Frauenanteil ist mit lediglich 2.42% weiterhin verschwindend gering.


Ein grosser Teil der Befragten ist zwischen 35 und 44 Jahre alt, um den Nachwuchs bracht sich das Projekt allerdings nicht zu sorgen, den 171 Teilnehmende gaben an unter 25 Jahre alt zu sein.

43.48% gaben an, Linux auf dem Desktop bereits über 10 Jahre hinweg oder länger zu nutzen.

Interessanterweise wählt mit 44.09% ein Grossteil der openSUSE Anwender die Rolling-Release-Variante Tumbleweed. Leap erfreut sich hingegen mit 21.82% nur mässiger Beliebtheit.

Neben Paketen aus den Repositories der Distribution selbst sowie Drittanbieterpaketen im rpm Format gaben 28.79% an Flatpaks zu nutzen.

Die vollständigen Ergebnisse sind im Wiki des Projektes einsehbar.

Wenn ein Ubuntu-Server mit einem Software-RAID betrieben wird, so kann der Status des RAIDs über den Befehl: eingesehen werden. Eine entsprechende Ausgabe könnte dann wie folgt aussehen: Wird ein RAID neu aufgebaut bzw. synchronisiert sieht die Ausgabe etwas ausführlicher aus: Die Synchronisation kann unter anderem über die Variable speed_limit_max gesteuert werden.

Quelle

25. April 2022

Wenn Node.js unter der aktuellen Ubuntu-LTS Version 22.04 installiert werden soll, so kann hierfür apt benutzt werden: Das Problem an dieser Version aus den offiziellen Paketquellen ist, das sie ziemlich veraltet ist und mittlerweile meist neuere Node.js Versionen benötigt werden. Der gängige Weg wäre es nun die aktuelle LTS-Version von Node.js über den Befehl: zu installieren.

Quelle