[[Vorlage(Getestet, jammy, bionic)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis()]] [github:google/brotli:Brotli] ist ein von Google unter Open-Source-Lizenz entwickelter Kompressionsalgorithmus, welcher schnell und platzsparend ist. Die komprimierten Dateien sollen kleiner sein als z.B. mit [:gzip:] erzeugt, wobei Brotli aber ähnlich schnell arbeitet wie z.B. [:lzop:]. Des Weiteren besitzt Brotli ein vordefiniertes Wörterbuch, um HTML-Dokumente besonders platzsparend zu komprimieren. Dadurch bietet sich Brotli auch zum Einsatz auf Webserver an. Der [:Apache:] Webserver unterstützt ab Version 2.4.26 Brotli über [https://httpd.apache.org/docs/2.4/mod/mod_brotli.html mod_brotli] {en}, für den [:nginx:] Webserver gibt es ebenfalls [https://github.com/google/ngx_brotli ein Modul] {en}. Die gängigen Webbrowser unterstützen in den aktuellen Versionen ebenfalls die Dekompression von mit Brotli gepackten Dateien. = Installation = Brotli kann über die offiziellen Paketquellen installiert werden[1]: {{{#!vorlage Paketinstallation brotli, universe }}} = Benutzung = Im Folgenden wird die Nutzung von Brotli auf der Kommandozeile beschrieben. Die allgemeine Syntax lautet[2]: {{{#!vorlage Befehl brotli EINGABEDATEI [-o AUSGABEDATEI] [OPTIONEN] }}} Werden keine Eingagedatei angegeben, wird von der Standardeingabe gelesen. Die Ausgabedatei erhält standardmäßig die Dateiendung '''.br'''. Wird die Option `-o AUSGABEDATEI` weggelassen, dann nutzt Brotli für die Ausgabedatei automatischen den Namen '''EINGABEDATEI.br'''. Einige Optionen von Brotli sind: {{{#!vorlage Tabelle <-2 tableclass="zebra_start2" rowclass="titel">Optionen von Brotli +++ Option Erklärung +++ `-o DATEINAME`, `--output=DATEINAME` Schreibt die Ausgabe nach '''DATEINAME'''. +++ `-d`, `--decompress` Die Eingabedatei wird dekomprimiert. +++ `-q STUFE`, `--quality=STUFE` `STUFE` gibt den Kompressionsgrad beim Packen an, es kann ein Wert zwischen `1` (wenig Kompression, aber schnell) und `11` (maximale Kompression, aber langsamer) angegeben werden. Wird die Option nicht angegeben, verwendet Brotli immer Stufe 11. +++ `--force` Ist die bei `--output` angegebene Ausgabedatei bereits vorhanden, wird diese ungefragt überschrieben. +++ `-j`, `--rm` Löscht die Eingabedatei. Standardmäßig wird diese behalten. +++ `-c`, `--stdout` Schreibt die komprimierten Daten nach stdout statt in eine Datei. }}} Einige Beispiele: Im Folgenden wird die Datei '''eingabe.txt''' gelesen, komprimiert und in die Datei '''ausgabe''' geschrieben: {{{#!vorlage Befehl brotli eingabe.txt --output=ausgabe }}} Im nächsten Beispiel wird die Eingabedatei mit der Kompressionsrate 5 komprimiert und die Datei '''ausgabe.br''' ungefragt überschrieben (sofern die Datei existiert): {{{#!vorlage Befehl brotli eingabe.txt --output ausgabe.br --quality=5 --force }}} Im letzten Beispiel wird die Datei '''eingabe.br''' dekomprimiert und in die Datei '''ausgabe.txt''' geschrieben: {{{#!vorlage Befehl brotli input eingabe.br --output=ausgabe.txt --decompress }}} = Links = == intern == * [:Archivmanager:] - Übersichtseite über verschieben Packprogramme für Ubuntu == extern == * [github:google/brotli:Projekteseite] von Brotli bei Github * [github:google/brotli/blob/master/docs/brotli-comparison-study-2015-09-22.pdf:Vergleich] {en} der Packrate und -geschwindigkeit von Brotli, bzip2 und gzip * [wikipedia_en:google/brotli:englischsprachige Wikipeadiaseite] zu Brotli, enthält relativ viele historische Informationen zur Entwicklung #tag: Packprogramme, Archivmanager, Komprimierung