Schlagwort-Archive: Linux

BitNotice #74 – Multimedia unter Linux – Musikverwaltung

BitNotice #74 - Multimedia unter Linux - Musikverwaltung

(15 MB) 00:08:02

2014-12-17 09:00 🛈

Gegen Ende der Serie entfernen wir uns vom Erstellen von Multimediainhalten und werfen nochmals einen Blick auf Sortieren und Abspielen – diesmal geht es dabei um die Verwaltung der heimischen Musiksammlung

Banshee
Rhythmbox
Amarok
Clementine

Musik:
Alex S. – Ultimate Sweetie Belle
Ken Ashcorp – 20 Percent Cooler

BitNotice #70 – Multimedia unter Linux – Audiobearbeitung & Composing

BitNotice #70 - Multimedia unter Linux - Audiobearbeitung & Composing

(55 MB) 00:09:09

2014-11-21 23:00 🛈

Viel Bild gab es in den letzten Folgen, heute ist dann auch mal der Ton an der Reihe: Mit dem Audioeditor „Audacity“ lassen sich Audiodateien nicht nur aufnehmen und schneiden, sondern auch mit einer Breiten Effektpalette verbessern oder künstlerisch umgestalten. Wer lieber vollständig digital seine Musik entwerfen möchte dürfte mit LMMS fündig werden. Hier kann man neben dem Editor für Beat- und Samplesequenzen auch auf eine Vielzahl von virtuellen Synthesizern, Effektgeräten & Co zugreifen

BitNotice #68 – Multimedia unter Linux – Videos konvertieren

BitNotice #68 - Multimedia unter Linux - Videos konvertieren

(16 MB) 00:08:17

2014-11-07 20:14 🛈

Nachdem wir nun einige Formen kennen um Videos zu erstellen stehen wir vor dem nächsten Problem: Auch wenn viele moderne Geräte ein breites Spektrum an Codecs unterstützen passt das Format immer irgendwo nicht, wir müssen also ggf. Videos in andere Formate umwandeln. Zwar ist dies prinzipiell auch mit den gezeigten Videoeditoren möglich, die die aber meist Filter erneut anwenden oder einfache Bearbeitungen nicht effizient unterstützen empfiehlt es sich zu passenderen Programmen zu greifen. Als Auswahl zeige ich hier die grafische Lösung HandBrake sowie die eierlegende Wollmilchsau für Konsolennutzer: ffmpeg/avconv.

dd-Backupfortschritt mit pv visualisieren

Vollsicherungen gesamter Festplatten oder Partitionen lassen sich mit dem Unix-Tool „dd“ schnell und einfach anfertigen. Während das Tool automatisiert wohl keine Wünsche offen lässt ist es ein wahrer Quählgeist, wenn man dringend auf die Fertigstellung eines Jobs wartet, denn eine automatische Ausgabe des Fortschirttes ist nicht vorgesehen. Zwar kann man sich hier behelfen, in dem man über den „kill„-Befehl das Signal „SIGUSR1“ an den Prozess sendet und so die Anzeige der verarbeiteten Datenmenge erzwingt, wirklich komfortabel ist dies jedoch nicht.

Senden von SIGUSR1

Bild: https://adlerweb.info/blog/wp-content/uploads/2014/11/pv1-300×98.png
Um das Signal SIGUSR1 an einen Prozess zu senden sollte im ersten Schritt dessen Prozess-ID (PID) ermittelt werden, hierzu kann man in der Ausgabe „ps“ nach dem zuvor gestarteten „dd„-Befehl suchen. Ich nutze zur Suche im Beispiel „grep„. Da zum Zeitpunkt des Schreenshots mehrere „dd„-Prozesse liefen suche ich zudem nach der Quelle des Testjobs (urandom).

kronos ~ # ps xa | grep "dd" | grep urandom
23204 pts/24   R+     0:24 dd if=/dev/urandom of=/dev/zero

Mit dieser ID kann man nun das Signal über den Befehl „kill“ absetzen. „dd“ verarbeitetet dieses Signal intern, das Programm wird hierdurch nicht beendet.

kronos ~ # kill -SIGUSR1 23204

Während auf der aktuellen Konsole keine Ausgabe erfolgt müsste dd nun einen Status ausgeben, welcher u.A. die verarbeitete Datenmenge sowie die Geschwindigkeit enthält:

162183+0 Datensätze ein
162182+0 Datensätze aus
83037184 Bytes (83 MB) kopiert, 37,7423 s, 2,2 MB/s

 

Wer sich einen übersichtlicheren und automatisierten Status wünscht kann hier mit dem Zusatztool „pv“ (Pipe Viewer) nachhelfen. Statt die Daten direkt von „dd“ an das Ziel schreiben zu lassen werden sie durch „pv“ geleitet, welches wiederum eine statistische Auswertung anzeigt. Als Ziel kann dann über einen weiteren „dd„-Prozess wieder eine Datei oder Gerät verwendet werden, alternativ gehen natürlich auch Kompressionstools wie „gzip“ oder man lässt die Daten z.B. mittels „nc“ (netcat) oder „SSH“ (Secure Shell) zur Speicherung an einen anderem Rechner senden.

Beispiele mit „pv

Bild: https://adlerweb.info/blog/wp-content/uploads/2014/11/pv2.png

Daten in Datei speichern

dd if=/dev/lvm/vm-102-disk-1 | pv -pterabs 32g | dd of=vm-102-disk-1.img
  15GiB 0:20:34 [  19MiB/s] [12,5MiB/s] [============================================>                                                      ] 46% ETA 0:23:12

Daten über gzip komprimieren und in Datei speichern

dd if=/dev/lvm/vm-102-disk-1 | pv -pterabs 32g | gzip > vm-102-disk-1.img.gz
  15GiB 0:20:34 [  19MiB/s] [12,5MiB/s] [============================================>                                                      ] 46% ETA 0:23:12

Daten über gzip komprimieren, per SSH mit schwacher Verschlüsselung an einen anderen Rechner senden und dort in Datei speichern

dd if=/dev/lvm/vm-102-disk-1 | pv -pterabs 32g | gzip | ssh -c arcfour,blowfish-cbc backup@cautio.lan.adlerweb.info 'dd of=/var/backup/vm-102-disk-1.img.gz'
Password:
 251MiB 0:00:23 [12,6MiB/s] [10,8MiB/s] [>                                                                                                  ]  0% ETA 0:49:38

 

Wichtig hierbei ist, dass „pv“ am Ende die Größe der Quelldatei/des Quellgerätes genannt wird, in diesem Fall 32 GB. Ingesamt bedeuten die Optionen folgendes:

-p Fortschrittsbalken anzeigen
-t Bisher vergangene Zeit anzeigen
-e ETA, also erwartete Restzeit, anzeigen
-r Aktuelle Datenrate, also „Geschwindigkeit“, anzeigen
-a Durchschnittliche Datenrate anzeigen
-b Bereits kopierte Datenmenge anzeigen
-s Größe der Quelle in Byte, k,m,g,… möglich

Alternative Reihenfolge zum besseren Merken: pertabs (per tabs) oder für Nutzer diverser Imageboards betraps.

Die Ausgabe ist wie folgt zu lesen:

  15GiB        0:20:34  [  19MiB/s] [12,5MiB/s] [======      ] 46% ETA 0:23:12
Kop.Datenmenge|Verg.Zeit|Datenrate|Ø Datenrate | Fortschritt      |Restzeit

Damit wäre der nervöse Admin mit beruhigenden Statistiken versorgt und weiß wie lange er sich noch gedulden muss – eine Ausrede weniger die Backups zu vernachlässigen. Natürlich kann „pv“ auch für andere Konstrukte verwendet werden, welche mit einer Pipe arbeiten.

MySQL/MariaDB unter Linux mit ZFS: Operating system error number 22 in a file operation

Nachdem LVM eine Qual ist wenn es um die Konfiguration von RAID geht (anm: Natives LVM-Raid, nicht md) und btrfs auf mehreren meiner Systeme gerne mal Dateien vergisst habt ich mich nach langer Zeit nochmal an ZFS gewagt. Die Funktionspalette ist beeindruckend: Integriertes RAID, integriertes Volumemanagement, Subvolumes, Kompression, Quota, etc. Alles natürlich verzahnt, sodass ein RAID-Rebuild wirklich nur belegte Dateisystembereiche rekonstruiert. Einzig die statische RAID-Konfiguration ist wenn man von LVM kommt etwas bedauerlich. Ansonsten scheint die Linux-Portierung des eigentlich von Solaris stammenden Systems inzwischen durchaus stabil.

Genug geredet, eigentliches Thema: MySQL unter ZFS. Als guter Einstieg sollte man hier einen Blick auf die Arch-Wiki werfen, welche einen Blick auf die Blockgrößen und Cache-Eigenheiten wirft. Doch egal wie: MySQL bzw. MariaDB haben noch eine Gemeinheit im Paket: Direct IO.

Da MySQL ein eigenes Caching implementiert versucht es über O_DIRECT die Dateicaches des Betriebssystems zu umgehen. Im Falle von ZFS ist dies durch den Aufbau nicht sonderlich hilfreich und wird durch den Linux-Treiber nicht unterstützt. Während die meisten Programme automatisch auf klassisches IO zurückfallen verabschiedet sich MySQL mit folgenden Log-Einträgen:

141019 18:07:42 InnoDB: Operating system error number 22 in a file operation.
InnoDB: Error number 22 means ‚Invalid argument‘.
InnoDB: Some operating system error numbers are described at
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/operating-system-error-codes.html
InnoDB: File name ./ib_logfile0
InnoDB: File operation call: ‚aio write‘.
InnoDB: Cannot continue operation.

Um das Problem zu beheben kann man die Datenbank über /etc/mysql/my.cnf in den klassischen IO-Modus zwingen, hierzu unter [mysqld] folgenden Eintrag ändern bzw. hinzufügen:

innodb_use_native_aio=0

im Anschluss sollte die Datenbank wieder wie gewohnt starten. Hinweis: Fehlender Direct-IO bringt auch Probleme mit KVM/LibVirt, auch hier sind ggf. Anpassungen notwendig.

BitNotice #65 – Multimedia unter Linux – Videoschnitt mit Cinelerra & Kdenlive

BitNotice #65 - Multimedia unter Linux - Videoschnitt mit Cinelerra & Kdenlive

(30 MB) 00:15:52

2014-10-17 23:05 🛈

Mit AVidemux und OpenShot haben wir schon den einfachen Videoschnitt hinter uns – Zeit in die komplexeren Programme einzutauchen: Cinelerra und Kdenlive sind mächtige Programme und müssen sich zumeist nicht hinter kommerziellen Lösungen verstecken.

BitNotice #63 – Multimedia unter Linux – Videoschnitt mit AVIDemux & Openshot

BitNotice #63 - Multimedia unter Linux - Videoschnitt mit AVIDemux & Openshot

(11 MB) 00:06:56

2014-10-10 14:36 🛈

Nachdem wir uns bisher eher mit stillen Bildern beschäftigt haben kommt nun Bewegung ins Spiel. AVIDemux eignet sich um Szenen aus Videos heraus zu schneiden, Videos zu vereinen oder kleinere Korrekturen bzw. Umwandlungen vorzunehmen. OpenShot arbeitet mit mehreren Spuren und bietet auch komplexe Filter und Übergänge, ist jedoch auch für Anfänger verständlich.

BitNotice #61 – Multimedia unter Linux – 3D-Animation mit Blender

BitNotice #61 - Multimedia unter Linux - 3D-Animation mit Blender

(27 MB) 00:17:08

2014-10-03 12:45 🛈

Blender: http://www.blender.org/

Tutorial „Pool balls“: https://www.youtube.com/watch?v=csro_0eV0BQ

Big Buck Bunny: http://www.bigbuckbunny.org/
Sintel: http://sintel.org/
Tears of Steel: http://www.tearsofsteel.org/