Technisches und Persönliches

Kategorie: Linux Seite 1 von 2

Webcam Logitech C310 HD

Während Corona hat die Anzahl der Webkonferenzen deutlich zugenommen und im Home-Office habe ich nach wie vor keinen Laptop sondern einen schicken Kasten-Rechner unterm Schreibtisch stehen, der von Hause aus keine Webcam mitbringt.

Also war bin ich seit März auf der Suche nach einer Webcam, was bisher daran scheiterte, dass diese europaweit praktisch ausverkauft waren. Offenbar gibt es noch andere Kasten-Rechner-Nutzer da draußen :)

Kürzlich hat es dann mit der Lieferung geklappt und so nenne ich jetzt ein Logitech C310 HD mein Eigentum. Aber läuft die auch wie gehofft problemlos unter Linux?

Ein besseres FTP-Backup

Wie ich im März in meinem Artikel zum automatischen FTP-Download beschrieben habe, gibt es für mich die Notwendigkeit regelmäßig den Stand der WordPress-Instanzen vom Server lokal zu ziehen.

Dafür habe ich auch ein kleines Makefile mit wget-Aufruf erstellt und in der Nachbetrachtung festgestellt, dass das Script noch ein paar Verbesserungswünsche offen lässt.

Heute habe ich mich mal dran gesetzt und die das Makefile ein klein wenig aufpoliert, so dass es nun noch nützlicher ist.

Bootfähigen USB Stick für Windows 10 Installation unter Linux Mint erstellen

Für einen älteren Laptop habe ich kürzlich eine kleine Rettungsaktion durchgeführt und dabei u.a. die Festplatte gegen eine SSD ausgetauscht. Nun brauchte das Gerät natürlich wieder ein Betriebssystem und die Wahl des Nutzers fiel auf Windows 10 Pro.

Da das entsprechende ISO-Image nicht auf eine DVD passt, musste ich einen bootfähigen USB-Stick erstellen, der das ISO transportieren kann. Aber läuft das eigentlich unter Linux? Welches Toolset braucht man dafür?

Nach der Lektüre verschiedener Beiträge (u.a. vom LinuxMagazin) hab ich es dann mit einer Kombination aus Gnome Disks und Unetbootin versucht.

Alternative CDDB Server

Ich gehöre zu der Generation, die noch CDs kauft und diese dann über Tools wie z.B. Ripper X in MP3 umwandelt, damit ich die Musik flexibel unterwegs bzw. an verschiedenen Geräten hören kann.

Um die erstellten MP3s nicht manuell benennen zu müssen, nutze ich bisher gern die CDDB-Funktion in Ripper X. Hierbei wird auf Basis der Längen der Tracks in der “Compact Disc Database” nachgeschlagen, um welche CD es sich handelt und die entsprechenden Titel und Interpret-Informationen zurückgeliefert. Die MP3s werden dann automatisch entsprechend benannt.

Zumindest war das bislang so. Nun blieb der entsprechende CDDB-Server leider stumm. Wie ich bei Heise nachgelesen habe, wurde das Projekt des Betreibers Magix leider offenbar eingestellt. Zum Glück gibt es verschiedene Alternativ-Server, wovon einige allerdings ebenfalls nicht mehr aktiv sind.

Aktuelle Alternativen:

  • freedb.freac.org/~cddb/cddb.cgi
  • freedb.dbpoweramp.com/~cddb/cddb.cgi

Stand heute mit Ripper X nicht (mehr) funktionstüchtig:

  • freedb.musicbrainz.org/~cddb/cddb.cgi
  • freedb2.org/~cddb/cddb.cgi
  • gnudb.gnudb.org/~cddb/cddb.cgi

Ich hab mich nun erstmal für freedb.freac.org entschieden, weil der am schnellsten antwortete und hoffe sehr, dass der Dienst nicht perspektivisch komplett verschwindet.

Wobei.. viele meiner CDs kennt CDDB nun auch nicht, insofern würde ich das gelegentliche Abtippen wohl überleben.

Flatpak Cache und unbenutzte Runtimes löschen

Neben apt nutze ich auf meinem Linux Mint System auch gelegentlich Flatpak zur Verwaltung von Anwendungen. Dies ist dann der Fall, wenn der Maintainer diesen Weg empfiehlt.

Nun ist mir aufgefallen, dass Flatpak nicht eben sorgsam mit meinem Speicherplatz umgeht. So wird einerseits ein Cache unter /var/tmp/ angelegt als auch ein Repo unter /var/lib/.

Das ist per se kein Problem, allerdings ist Flatpak offenbar schlecht darin diese Ordner aufzuräumen, daher sammeln sich hier mit der Zeit immer mehr Daten an.

Man muss Flatpak immer mal sagen, es soll sein Zimmer aufräumen :)

Linux Mint Admin

Um Flatpak auf die Sprünge zu helfen, kann man mit diesem Befehl die nicht mehr genutzten Runtimes löschen:

$ flatpak uninstall --unused -y

Dabei werden praktisch veraltete Versionen der Anwendungen, die Flatpak mal heruntergeladen hat, entfernt. Lässt man das -y zeigt Flatpak auch, welche Anwendungen in welcher Version dies betrifft.

Für die Bereinigung der Caches habe ich im GitHub Forum eine praktische Lösung gefunden. Dabei wird geprüft, ob Flatpak gerade läuft und falls nicht der Cache gelöscht. Statt wie beschrieben den Service einzurichten, kann man den Befehl natürlich auch einfach auf der Kommandozeile ausführen:

$ bash -c "! pgrep -x flatpak && rm -r /var/tmp/flatpak-cache-*"

In meinem Fall hat das gerade ca. 2 GB Daten freigegeben, wobei ich Flatpak – wie beschrieben – wirklich wenig nutze.

Ich hab das Ganze nun noch in meinem /etc/anacrontab hinterlegt, damit An(n)a dem Flatpak regelmäßig sagt sein Zimmer aufzuräumen :)

ftp-mysql-dump: eine Datenbank per FTP abholen

Die letzten Wochen arbeite ich recht intensiv an einem aktuellen Projekt und habe daher wenig Zeit aufs Bloggen verwendet. Dazu werde ich später sicherlich nochmal was schreiben. In diesem Zusammenhang kam ich aber an eine Aufgabenstellung, die mir immer mal wieder über den Weg läuft:

“Wie holt man eigentlich am besten einen Datenbankstand vom Webserver, wenn man kein SSH zur Verfügung hat?”

David

Bisher habe ich dafür oft Tools wie Adminer genutzt. Das klappt gut, aber da ich ein Freund von Automatisierung bin, habe ich diesmal ein Tool gesucht, welches sich in ein Makefile einbinden lässt. Meine Internet-Recherche hierzu stellte mich nicht unbedingt zufrieden, daher entschied ich mich das Ganze einfach selbst umzusetzen.

Die Grundidee war dabei möglichst ein Script zu haben, welches ohne große Abhängigkeiten funktioniert und sich automatisch zum FTP verbindet, dort dann ein Script hochlädt, dieses ausführt und direkt danach wieder löscht.

PHP Mails lokal loggen

Für ein PHP Projekt wollte ich kürzlich prüfen, welche Mails die Anwendung verschickt. Es ging nur um ein kleines Detail und daher wollte ich keine aufwändige Mailkonfiguration aufbauen, sondern einfach nur den Quellcode der Mails in eine Logdatei schreiben.

Nachdem ich mich zunächst bei sendmail umgesehen habe, ohne eine passenden Parameter zu finden, der die Mails nur in die Queue packt ohne sie aber zu versenden, bin ich dann in einem Blog auf eine einfache Lösung gestoßen.

Dazu hab ich einfach folgendes Script erstellt und ausführbar gemacht:

#!/usr/bin/php
<?php
  $logfile = '/var/log/phpmail.log';
  $log_output = "****" . date('Y-m-d H:i:s') . "****\n";
  $handle = fopen('php://stdin', 'r');
  $count = 0;
  while(!feof($handle)) {
    $count++;
    $buffer = trim(fgets($handle));
    if ($count <= 12) # Output header information
      $log_output .= $count . ": " . $buffer . "\n";
    else # Output body
      $log_output .= $buffer . "\n";
  }
  file_put_contents($logfile, $log_output, FILE_APPEND);
?>

Damit es beim “Senden” einer Mail ausgeführt wird, reicht eine einfache Anpassung in der php.ini des Apache:

$ sudo vim /etc/php/7.2/apache2/php.ini
; send mail to /var/log/phpmail.log
sendmail_path = /path/to/phpmail

Das wars schon. Mehr ist nicht notwendig und ab sofort kann man den Mailinhalt leicht aus der phpmail.log herauslesen, z.B. mit tail:

$ tail -f /var/log/phpmail.log

Mein Problem war in 10 Minuten gelöst. Danke Internet! :)

Bash Script: Export Sony

Im Oktober 2016 habe ich mir einen neuen MP3 Player von Sony gekauft. Konkret den Sony Walkman NWZ-15A. Recht bald darauf fiel mir dann auf, dass die Titel innerhalb eines Albums nicht in der korrekten Reihenfolge abgespielt werden. Außerdem hat mich gestört, dass bei den meisten Titeln keine Album-Cover angezeigt werden.

Das war zu dem Zeitpunkt ärgerlich, aber auch eine nette persönliche Herausforderung. Zur Lösung habe ich mich für ein Bash-Script entschieden und in mehreren Phasen dann die Probleme lösen können. Die letzten größeren Anpassungen erfolgten dann August 2018, wo ich vor allem eine Funktion ergänzte um bestehende Dateien zu überspringen und das Cover-Problem endlich vollständig lösen konnte.

Und heute? Nachdem ich meinen Player mal wieder damit aktualisiert habe, dachte ich, es wäre vielleicht ne nette Idee den Code öffentlich zu teilen. Also habe ich noch ein wenig aufgeräumt und ihn dann im GitLab zur Verfügung gestellt. Einfach so :)

Mein Entwicklungsworkflow

An verschiedenen Stellen habe ich schon zu meiner lokalen Entwicklungsumgebung geschrieben, aber vielleicht ist es ganz nützlich, wenn ich das nochmal etwas erläutere.

Normalerweise entwickle ich im Moment für PHP, manchmal auch für die Bash-Shell. Üblicherweise bin ich auch der einzige Entwickler bei meinen Projekten, daher bin ich komplett frei in meinen Rahmenbedingungen.

Vieles ist sicherlich trotzdem mehr oder weniger Standard, aber hin und wieder kann man sich ja doch etwas abschauen und besonders bei der Versionskontrolle und dem Deployment arbeite ich jetzt anders als früher.

Samsung Xpress C480W unter Linux Mint 19

In den beiden letzten Beiträgen habe ich gezeigt, wie überwiegend reibungslos mein Update auf Linux Mint 19 sowie die Nacharbeiten hierzu waren.

Damit war ich zufrieden, ahnte aber noch nicht, dass sich hieraus noch eine echte “Linux Story” entwickeln würde. Damit meine ich eine Geschichte, bei der man auf ein technisches Problem stößt – meist im Zusammenhang mit Hardware – und bis zum Ende nicht weiß, ob man es lösen kann oder sich neue Hardware besorgen muss.

Konkret war mir beim Check der verschiedenen Workflows, die ich so gelegentlich nutze, aufgefallen, dass mein Multifunktionsdrucker nicht mehr als Scanner erkannt wurde. Daraus entspann sich dann ein wechselhafter und lehrreicher Abend.

Seite 1 von 2

Präsentiert von WordPress & Theme erstellt von Anders Norén