Schlagwort Archiv: Open-Source

FFmpeg: Videos in Vivaldi schauen

Probleme mit Vivaldi ind FFmpeg lassen sich recht leicht lösen.

Probleme mit Vivaldi ind FFmpeg lassen sich recht leicht lösen.

Wer den relativ neuen auf Chromium basierenden Browser Vivaldi benutzt, der wird oftmals das Problem haben, dass Videos nicht abgespielt werden. Öffnet man die Browser eigene Konsole, so erscheint oft nur der Fehler net::ERR_BLOCKED_BY_CLIENT. Dieser weist darauf hin, dass Vivaldi das Video nicht öffnen kann. Meist liegt das an einem veralteten oder fehlenden FFmpeg, genauer gesagt an der Datei libffmpeg.so.

FFmpeg in Vivaldi installieren

Ich habe ein gist angelegt, in dem ich die Schritte bereits beschrieben habe. Hier aber nochmal die Anleitung:

Die Dateien nehme ich aus den Ubuntu-Repository und sind im Paket chromium-codecs-ffmpeg-extra versteckt. Wer also eine auf Debian/Ubuntu basierende Distribution fährt, kann dies Paket installieren und vielleicht löst sich das Problem bereits dort. (mehr …)

OS-Internals #2: Ext2 und Dateien in Linux

In Linux ist alles eine Datei, selbst Ordner und Geräte.

In Linux ist alles eine Datei, selbst Ordner und Geräte.

In Linux gibt es bezüglich Dingen wie Dateien, Ordnern, Geräten, Schnittstellen und Verknüpfungen eine schöne Regel: „On a UNIX system, everything is a file; if something is not a file, it is a process.“. Bei Linux ist also alles eine Datei (ja, auch Ordner sind Dateien), darum sollten wir mal einen genaueren Blick darauf werfen.

Dateisystem: ext2 und inodes

Da man Dateien nicht einfach hintereinander weg speichern kann (da sich z.B. die Größe ändern kann), greifen UNIX-Systeme meist auf das Konzept der inode (index node) zurück. Um zu verstehen, was eine inode ist, sollte man sich aber anschauen, wie z.B. das ext2 Dateisystem (welches inodes benutzt und auf dem viele weitere Dateisysteme basieren) funktioniert.

Zunächst zur Hardware: Ein Block ist eine Menge von Sektoren einer Festplatte, wobei ein Sektor die kleinste zu adressierende Einheit einer Festplatte ist. Ein Block ist normalerweise 1, 2, 4 oder 8 KiB groß (also ggf. ein Zusammenschluss von Sektoren), was bei der Formatierung der Festplatte angegeben wird. Fasst man mehrere Blöcke zusammen ist es eine block group.

Kommen wir jetzt zur inode, was im Prinzip nichts weiter als eine block group ist. Sie ist 128 bytes groß und enthält Metadaten und Referenzen auf weitere Blöcke.
Jede Datei ist eine Referenz auf genau eine inode, wobei die eigentlichen Daten eben in anderen inodes liegen und referenziert werden. Es gibt 12 direkte Referenzen und 3 weitere Referenzen, die jeweils auf cluster zeigen. Ein cluster enthält 256 Referenzen auf weitere cluster oder inodes. Dadurch kann eine Datei bis zu 2 TiB groß werden. (mehr …)

Microsoft entwickelt GNU/NT Kernel

Der GNU/NT Kernel soll NT- und Linux-Anwendungen ausführen.

Microsoft hat auf der Build 2016 den GNU/NT Kernel vorgestellt. Ein Kernel, der NT- und Linux-Anwendungen ausführen soll.

Als wäre die Bekanntmachung der Bash on Windows nicht schon genug Aufregung für einen Tag gewesen, so hat Microsoft auf der Build 2016 heute auch noch den GNU/NT Kernel vorgestellt. Dabei handelt es sich um eine Umgestaltung des bisherigen NT-Kernels, die vom Team der Bash on Windows stammt. Der Kernel soll dabei in der Lage sein NT (also Windows) und Linux Anwendungen auszuführen.

Wie Wasser und Öl

Obwohl es seltsam klingt, so gibt es schon länger das Projekt Bash on Windows. Dabei soll die bekannte und (anscheinend auch bei Windows Nutzern beliebte) Linux Bash für Windows nativ eingebunden werden. Dabei gibt es keine virtuelle Maschine, sondern ein neues Kernel-Modul, welches die syscalls (also systemnahsten Befehle) von Linux-Calls in NT-Calls umwandelt. Diese können dann normal vom Windows Kernel ausgeführt werden.

Die Bash on Windows bietet die normalen Ubuntu-Anwendungen, eine funktionierende apt-Paketverwaltung und vieles mehr. Das Projekt verfolgt jedoch nicht das Ziel Anwendungen mit grafischer Benutzeroberfläche zu unterstützen. Nun soll es aber ein zweites Projekt geben, welches eben genau das kann: Grafische Benutzeroberflächen von Linux-Binaries auf dem Windows Kernel ausführen. Dadurch wurde GNU/NT geboren.

Kompromisse bei GNU/NT ermöglichen Mix

(mehr …)

Softwarepatente: Die „Microsoft liebt Linux“ Propaganda

Microsoft näher sich der OpenSource Welt an.

Auch wenn Microsoft sich der OpenSource Welt annähert, so sollte man sich doch Gedanken über die Gründe machen …

Die Debatte um Softwarepatente nimmer erneut Fahrt auf und der Satz „Microsoft liebt Linux“, der in letzter Zeit immer häufiger vorkommt, rückt dadurch in ein anderes Licht.
Dennoch ist die „Microsoft liebt Linux“ Propaganda sowohl in Linux-/GNU-/OpenSource-Communities, als auch bei Windows-Nutzern/-Entwicklern sehr beliebt. Dabei dreht es sich darum, dass Microsoft Software für und mit Linux und deren Community entwickelt und Erfahrungen tauscht.
Das klingt alles nach einer heilen Welt, doch die Wirklichkeit sieht anders aus.

Warum Softwarepatente schlecht sind

Patente im Allgemeinen sind Schutzrechte, die die alleinige Nutzung von Erfindungen ermöglichen. Durch die Anmeldung eines Patentes wird es einem Unternehmen ermöglicht Gewinn mit der Erfindung oder dem Verfahren zu machen. Anderen wird die Nutzung untersagt.

Klingt erst mal gut und richtig, die Idee an sich hat auch keinen großen Haken, doch bei Software sieht das ganze etwas anders aus.

(mehr …)

Die Sicherheit von Go (aka golang)

Wie sicher ist Go?

Go ist eine sehr schöne Sprache, doch wie sicher ist sie für z.B. Web-Anwendungen?
Hier das Maskottchen von Go, der Gopher.

Go (oder auch golang) ist eine seit 2009 entwickelte und seit 2012 als stabil verfügbare Programmiersprache. Sie ist natürlich open-source und wird von einem kleinen Google Team betreut, wobei sich mehr und mehr eine Community bildet.
Die Sprache selbst ist eine imperative und objektorientierte Sprache, welche das Prinzip der Nebenläufigkeit direkt und unkompliziert zur Verfügung stellt. Sie wurde entwickelt, da Robert Griesemer, Rob Pike und Ken Thompson (die Initiatoren des Projektes) bisher vorhandene Sprachen für die Entwicklung von u.A. Cluster- oder Cloud-Computing Software für ungeeignet erachten. Golang soll dort einiges besser und einfacher machen.

Und jetzt?

Klingt ja erst mal ziemlich nice, dass eine Sprache Nebenläufigkeit einfach so out-of-the-box mitbringt. Auch, dass es eine sehr performante open-source Sprache ist (nicht nur wegen der Nebenläufigkeit), spricht nicht gerade gegen Go.

Doch wie sieht es da bezüglich der Nebenläufigkeit und dem bevorzugten Einsatzgebiet der Web basierten Software eigentlich in Hinsicht auf die IT-Sicherheit aus?

Eine enzige Bekannte Sicherheitslücke

(mehr …)