• Und wer ist…?
  • Holiday Berichte
    • Urlaub Schottland 2013
    • Urlaub Griechenland 2013
  • Services
  • Kontakt/GnuPG

KOKOLOR.ES

Hier geht's einfach mal um alles und nichts!

Author: Sebastian

Sommerprojekt QEK Junior Teil 1 – Abholen und entkeimen

27. Mai 2017 by Sebastian 2 Comments

Nach langer Zeit mal wieder ein Beitrag, jedoch aus einer ganz anderen Kategorie als IT. Mein Onkel besitzt schon seitdem ich denken kann (um genau zu sein seit 1978, also noch lange vor meiner Zeit) einen alten DDR Wohnanhänger – einen QEK Junior – auf den ich schon als Kind abgefahren bin und wann immer ich zu Besuch war und es die Temperaturen zuließen, schlief ich darin. Schon damals sagte ich immer das dieser Wohnanhänger irgendwann einmal mir gehören wird und mein Onkel entgegnete immer das dies nie geschehen wird, da er ihn nie abgeben würde. Über ein Jahrzehnt später erreichte mich Mitte letzten Jahres, über den Verwandschaftsbuschfunk, die Nachricht, das mein Onkel den Wohnanhänger verschrotten möchte und ich dachte ich hör nicht richtig. Also direkt angerufen und ihm gesagt das er das mal schön vergessen kann und mir das Ding gefälligst geben soll, dem er nach etwas hin und her schlussendlich auch zustimmte. Meine Eltern waren davon nicht all zu begeistert, da sie ihn nur als Schrott betrachten und ich konnte mir immer anhören „Der kommt aber nicht auf unser Grundstück!“. Zum Glück habe ich aber einen netten Nachbarn und Kindheitsfreund namens Christoph, der meinem QEK einen Stellplatz geben wird.
So viel zur Vorgeschichte, letzte Woche war es dann nun endlich so weit und ich fuhr mit Christoph zu meinem Onkel um den QEK zu holen. Da dieser nun seit fast 7 Jahren stand, hatte er natürlich keinen TÜV und ich war mir nicht sicher ob ich direkt einen bekommen würde, weswegen wir mit einem großen Anhänger (Dank nochmal an den Freund meiner Schwester an dieser Stelle) fuhren, worauf der QEK dann schlussendlich geladen werden sollte. Der Plan war hinfahren, draufrollen, festschnallen und zurück. Alles in allem hat wir dafür nicht viel Zeit oder Aufwand eingeplant. Naja, schlussendlich hat das Beladen 1,5 Stunden gedauert, da der QEK doch breiter war als gedacht und wir etwas improvisieren musste und wir uns dann auch noch in Berlin verfuhren. Aber es ging schlussendlich alles gut und der QEK steht nun bei mir.
2 Tage später machte ich mich dann daran mir das gute Stück mal etwas näher anzuschauen. Vorab, der Gute ist Baujahr 1974 (EZ 1978) und stand in seinem ganze Leben die meiste Zeit eigentlich rum. Ich selbst kann mich an keine 10 Gelegenheiten erinnern, wo er wirklich mal bewegt wurde. Auch wurde in den ganzen Jahren nie etwas an ihm erneuert oder getauscht (abgesehn von den Rädern), höhstens mal notdürftig geflickt. Dafür muss man aber sagen, das er echt ganz in Ordnung aussieht und nichts gravierendes gammelt, weil es aber auch nicht viel gibt was gammeln könnte. Als ersten Akt habe ich erstmal angefangen alles was so im Inneren vorhanden war rauszuschmeißen, was primär die, auf Grund von brüchigen Fenstergummis, feucht gewordenen Polster, Teppiche und Gardienen waren und die Innenverkleidung der Küchenschränke. Außerdem fand ich einen intakte Hängematte, welche ich direkt mit der kleinen Tochter meines Nachbarn aufspannte und ausprobierte.
Am nächsten Tag schob ich den Hänger dann zusammen mit meinem Vater doch auf das Grundstück meiner Eltern, um den QEK von außen zu reinigen. Er stand bei meinem Onkel immer unter einem Nadelbaum und sah dementsprechend aus. Die Außentemperaturen stimmten und so schnappte ich mir einen Hochdruckreiniger und fing an, zusammen mit meinem Vater, den QEK wieder weiß zu machen. Das meiste und gröbste ging ab, allerdings haben die ein oder anderen Harzspuren dem Hochdruckreiniger getrotzt und so muss ich die Tage nochmal mit Schwamm und Scheuermilch rann. Außerdem musste ich nach der Reinigung außen, innen erst einmal wischen, auf Grund der zuvor erwähnten brüchigen Fenstergummis.
Nachdem der Dreck außen nun weitesgehend runter war, konnte ich nun besser herausfinden was so getauscht bzw. erneuert werden muss, was folgende Dinge wären:

  • Abdeckung der Kennzeichenbeleuchtung, welche gebrochen ist
  • Schalen der Beleuchtung müssen entweder erneuert oder poliert werden
  • Alle Schrauben, da diese teilweise nur noch aus Rost bestehen
  • Gummis der Fenster, Tür und Dachluke
  • Haltebänder der Dachlucke
  • Das linke Fenster und die Frontscheibe, da diese auf Grund von jahrelanger UV Einstrahlung Minirisse haben (Plexiglas)
  • Löcher und vorhandene Beschädigungen an der Glasfaserhaut ausbessern
  • Alle Polster müssen neu gemacht werden
  • Neue Gardienen
  • Türschloss
  • Bodenplatte direkt an der Tür sollte neu gemacht werden, da die im Türbereich etwas angegammelt ist
  • Abschleifen, versiegeln und streichen des Fussbereiches vor der Küche
  • Neuer Boden – geplant ist Linoleum
  • Außenbox wieder in Stand setzen (gebrochenes Scharnier, gammelnde Bodenplatte)
  • Alle Belüftungsöffnungen mit Insektengittern versehen
  • Bodenstützen von Rost befreien, versiegeln und schmieren
  • TÜV

Das waren jetzt die Dinge die definitiv erneuert werden müssen und nun die Dinge die ich gern zusätzlich umsetzen würde:

  • Himmel verkleiden
  • Seiten verkleiden oder streichen
  • Küche farblich aufhübschen
  • Aufstellvorichtung des Tisches verändern oder direkt einen neuen Tisch anfertigen
  • Standort der Gasflasche in die Außenbox verlagern
  • Mischbatterie ans Waschbecken anbringen
  • Wassertank in den Topschrank oder in die Außenbox einbauen, wobei bei letzterem eine Pumpe nötig wäre, bei ersterem würde das Gefälle für den Wasserdruck sorgen
  • Alte Lampen durch LED’s ersetzen
  • Ringsherum über die Fenster, aus Holz eine Gardienenbefestigung anbringen, worauf oben dann LED-Beleuchtung angebracht werden soll
  • Elektrik modernisieren, was heißt Batterie für autarke Stromversorgung, welche wahlweise via Solarpanel auf dem Dach, 12V Anschluss vom Auto oder normale Stromversorgung geladen werden soll
  • Eine Anschlussdose für Strom Außen anringen (derzeit hängt unten einfach ein Schukostecker raus)
  • Vielleicht einen kleinen TV
  • Gasherd
  • eventuell einen Minikühlschrank

So, das ist einen ganz schöne Liste und mal schauen was ich davon umgesetzt bekomme und was gerade von den zusätzlichen Dingen aus Gewichtsgründen umsetzbar ist. Als erstes steht jedoch der TÜV auf dem Plan, da der QEK wie gesagt nun seit fast 7 Jahren steht und nach 7 Jahren muss man eine Vollabnahme machen lassen, welche natürlich mehr kostet. Außerdem läuft er noch auf meinen Onkel und eine Ummeldung werde ich ohne TÜV nicht machen können. Schön zu beobachten ist auf jeden Fall, seitdem er nun bei mir steht, das zumindest mein Vater mir sehr aktiv mit Rat und Tat zur Seite steht und das schon mich schon andere Nachbarn auf den QEK angesprochen habe und ab wann man sich den denn mal leihen könnte. :-D
Ich werde auf jedenfall in Zukunft von meinen Vorschritten berichten. Und zu guter letzt, nochmal ganz großen Dank an Christoph für die viele Hilfe :-)

Posted in: Allgemein, Privates, QEK Junior Tagged: qek

mysql: latin1 Zeichen nach utf8 konvertieren

15. März 2017 by Sebastian Leave a Comment

Ich hab die Tage eine Datenbank erstellt und diese mit ein paar Daten aus Dateien gefüllt, die unter anderem auch Sonderzeichen enthielten. Heute fiel mir auf, das die Sonderzeichen nicht korrekt übertragen wurden, obwohl das Charset der Datenbank auf utf8mb4 gestellt ist. Nach einer kurzen Suche fand ich einen stackoverflow Beitrag der die Lösung hatte, welcher dann in meinem Fall so aussah:

UPDATE test SET
    value=CONVERT(cast(CONVERT(value USING latin1) as BINARY) USING utf8)
WHERE 1;

Dies konvertierte alle kryptische Zeichen in der Spalte value der Tabelle test nach utf8.

Posted in: IT, Linux, Opensource Tagged: linux, mysql

Zugriffsschutz mit .htaccess in nginx

22. Februar 2017 by Sebastian 4 Comments

Ich habe vor einer Weile mal einen alten Webserver von apache2 nach nginx migriert, welcher eine Unterseite hatte, die mit .htaccess gesperrt war. Mir ist bekannt das nginx aus Performancegründen keine .htaccess-Dateien unterstützt, dennoch muss es ja möglich sein den Zugriff auf eine Unterseite zu limitieren. Nach ein paar Minuten suchen in der nginx Dokumentation, findet man das ngx_http_auth_basic_module, welches genau das kann. Der location-Block für die Unterseite foobar würde dann wie folgt aussehen:

location /foobar/ {
    auth_basic "Closed Access";
    auth_basic_user_file /etc/nginx/.htpasswd;
}

In der angegebenen .htpasswd steht der Username und das zugehörige Passwort (oder mehrere).

#EDIT
Hinweise von Arne, etwas von mir gekürzt: Den Usernamen und Passwort eintragen:

echo "USER:$(openssl passwd -apr1)" >> /etc/nginx/.htpasswd

Es wird zweimal nach dem Passwort gefragt.

Hinweise von Anonymous:

Von den Online-Generatoren sollte man tunlichst die Finger lassen!
Zumindest in der Vergangenheit gab es einige dieser Generatoren, die nicht nur dem Benutzer ihre Passwörter verschlüsselt haben, sondern auch zeitgleich damit diverse Rainbow-Tables befüllt haben.

Vielen Dank für den Hinweis an euch beide!

Posted in: Arbeit, IT, Linux, Opensource Tagged: linux, nginx

Windows 7: „Es wird nach Updates gesucht“ ohne das was zu passieren scheint

2. Januar 2017 by Sebastian Leave a Comment

Ich habe zwischen Weihnachten und Neujahr (Frohes neues btw.) mal wieder meinen Gaming PC gestartet, also meine einzige Windows Installation. Dieser lief zuletzt irgendwann im Juni und auch da habe ich zuletzt Updates gemacht. Da mir bewusst ist das der Updatedienst von Windows einfach kompletter Crap ist, habe ich auch gar nicht damit gerechnet überhaupt an dem Tag was spielen zu können, da er erstmal updaten muss. Ich lies ihn dann mal Updates suchen und machte dann wärendessen was anderes, ich glaub ich war Familie besuchen. Jedenfalls kam ich dann nach ca. 4 Stunden wieder und sah….Nichts – „Es wird nach Updates gesucht…“. Nach einer Reihe Flüchen und wüsten Beschimpfungen meinerseits, entschied ich die Kiste einfach mal neu zu installieren. Auch läuft der PC noch mit einer normalen HDD, was dieses unglaublich träge Betriebssystem einfach noch unerträglicher macht. Also eine SSD geschnappt, die noch rumm lag, den wenigen Kram gesichert den ich da rummliegen hatte und Neuinstallation. Nach der Neuinstallation das übliche, erstmal Treiber von Drittanbieter Websites laden, weil Windows ja trotz stattlichen 20GB belegten Festplattenspeicher gefühlt keine Treiber mitbringt. Nachdem dann alles soweit lauffähig war, Updates suchen gestartet und dann Film gucken gegangen. Nach weiteren 4 Stunden ging ich mal wieder schauen und wieder Nichts. Erneut über diese Ranzsoftware zu fluchen lies ich dann sein und befragte lieber mal das Internet wie man diesen Mist denn mal ans laufen bekommt und fand dann folgenden Artikel der bei mir das Problem löste:
Windows 7 Update: Es wird nach Updates gesucht …

Ich möchte hier mal zwei besondere Stellen des Artikels hervorheben:

„[…]da bestimmte ältere Versionen dieses Dienstes ineffizient arbeiten[…]“ – Dafuq? Bestimmte Versionen des Update Dienst’s von Windows sollen demnach mal effizient gearbeitet haben? Der Dienst benötigt seitdem ich denken kann, nach einer Neuinstallation, Stunden bis er mal weiß was und wieviel er updaten muss. Windows Update Dienst und Ineffizienz haben ein und die selbe Bedeutung würde ich mal behaupten.

„Hinweis: Die Erfahrung hat gezeigt, dass die hier beschriebene „Lösung“ nicht von Dauer ist und nahezu monatlich (zum Patchday) angepasst werden muss.“ – Dazu muss man eigentlich nichts mehr sagen. Kopfschütteln oder Kopf zu Tischplatte reicht da völlig.

Vielen Dank an dieser Stelle an den Autor. Hätte ich den Artikel nicht gefunden hätte ich den Dienst wahrscheinlich einfach deaktiviert…

Posted in: Games, IT, Windows Tagged: rant, windows, windows-updates

Xubuntu: dnsmasq in NetworkManager deaktivieren

2. Januar 2017 by Sebastian 2 Comments

Ich hab bei Xubuntu 16.04 wiederholt beobachten können, das die Namensauflösung nicht richtig funktioniert, bzw. aller paar Minuten, für ca. 30s aussetzt. Das Problem habe ich schon vor ein paar Monaten auf meinem Arbeitsrechner gelöst, allerdings trat es gestern nach einer Neuinstallation für eine Bekannte erneut auf, weshalb ich das hier mal vermerke.
Das Problem liegt daran das in Xubuntu der Networkmanager so konfiguriert ist, dass er einen lokal installierten dnsmasq zur Namensauflösung verwendet. Ich weiß nicht wieso das so voreingestellt ist, da ich auch keinen Dienst gefunden habe, der darauf angewiesen wäre oder danach nicht mehr korrekt funktioniert. Es führt jedenfalls zu dem oben genannten Problemen und auch dazu das ein, über den nm-connection-editor vergebener DNS Server ignoriert wird. Um dem NetworkManager davon abzuhalten dnsmasq zu benutzen muss die Datei /etc/NetworkManager/NetworkManager.conf wie folgt angepasst werden:

[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq

[ifupdown]
managed=false
Posted in: IT, Linux, Netzwerk, Opensource Tagged: dns, dnsmasq, linux, NetworkManager, ubuntu, xubuntu

Backup eines Audible Hörbuches erstellen – AAX to mp3

12. Dezember 2016 by Sebastian 12 Comments

Anti-Piracy Notice

Vorab möchte ich darauf hinweisen das es sich hierbei nicht um einen Crack oder so handelt. Die verwendete Software erlaubt lediglich dem User den eigenen Verschlüsselungskey (von den Audible Servern) zu beziehen und mit diesem das Hörbuch zu entschlüsseln, genau so wie es auch die offizielle Software tut. Der Sinn dieser Anleitung soll darin liegen von seinen eigenen, gekauften Hörbüchern ein Backup erstellen zu können und/oder um diese auch auf anderen Playern abspielen zu können, welche nicht DRM fähig sind, z.B. alte Autoradios.

Please only use this application for gaining full access to your own audiobooks for archiving/converson/convenience. DeDRMed audiobooks should not be uploaded to open servers, torrents, or other methods of mass distribution. No help will be given to people doing such things. Authors, retailers, and publishers all need to make a living, so that they can continue to produce audiobooks for us to hear, and enjoy. Don’t be a parasite.

This blurb is borrowed from the https://apprenticealf.wordpress.com/ page.

Außerdem sei auf die Hinweise der einzelnen Repositories hingewiesen, da diese auch noch einmal etwas dazu sagen. Teile aus diesem Abschnitt wurden auch aus den Repositrories entnommen.

activation_bytes beziehen

Um das AAX file nach mp3 zu convertieren benötigen wir als erstes den vier Byte großen Aktivierungscode, die activation_bytes. Genau genommen benötigt diese später ffmpeg. Um diese zu beziehen gibt es zwei Wege, den online und den offline Weg.

Online

Der Github User inAudible-NG hat dafür ein Python Skript geschrieben.
Um dieses zu nutzen muss folgendes installiert sein: python, python-requests, python-selenium und google-chrome

  • Als erstes cloned man das git:
git clone https://github.com/inAudible-NG/audible-activator.git
  • Anschließend lädt man das Paket ChromeDriver herunter und extrahiert es in das geklonte Verzeichnis
  • Nun kann man das Skript auch schon wie folgt ausführen:
./audible-activator.py
  • Es fragt nach den Logindaten und öffnet anschließend automatisch ein Chrome Fenster und sollte dann irgendwann den Aktivierungscode auf der Konsole ausgeben

Dieser Part hat bei mir allerdings nicht funktioniert. Ich bekam immer wieder den Fehler:

audible_error=Internal service error has occured while processing the request, please contact service admin

Dieser ist auch unter Debugging Tips auf der Githubseite aufgeführt mit dem Hinweis das es nur 8 Activation Slots gibt und man diese beim Support wieder zurücksetzen lassen kann. Das habe ich zweimal versucht, allerdings kam ich zu keinem positiven Ergebnis.

Offline

Der selbe Github User hat noch ein weiteres Repository parat um den Aktivierungscode aus einer bereits vorhandenen AAX Datei zu beziehen.
Folgendes muss vorab installiert sein: ffmpeg (>=2.8.1), libssl-dev, build-essentials (make, g++)

  • Als erstes cloned man das git:
git clone https://github.com/inAudible-NG/tables.git
  • Anschließend lädt man das Programm RainbowCrack herunter und extrahiert es in das geklonte Verzeichnis
  • Nun wechselt man in das git Verzeichnis und baut das Plugin mit
make
  • Dies sollte ziemlich schnell geschehen sein
  • Nun extrahieren wir mittel ffprobe die SHA1 Checksumme aus der herunter geladenen AAX Datei
ffprobe hörbuch.aax
[...]
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x15cfb80] [aax] file checksum == 5ca583c...
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x15cfb80] [aax] activation_bytes option is missing!
[...]
  • Zu guter letzt beziehen wir nun die activation_bytes aus der SHA1 Checksumme:
./rcrack *.rtc -h 5ca583c...
[...]
result
-------------------------------------------------------
5ca583c...  xyz  hex:60a80c21

Das ganze scheint aus meiner Sicht die deutlich schnellere Alternative zu sein, insofern man bereits eine AAX Datei heruntergeladen hat. Der ganze Spass hat bei mir 20s gebraucht und danach hatte ich die activation_bytes.

AAX to mp3

Der Github User KrumpetPirate hat ein bash Skript geschrieben, welches nun mittels der activation_bytes und ffmpeg dass AAX file in das mp3 Format konvertiert. Sehr schön daran ist das das Skript anschließend das mp3 File nochmal in einzelne Files pro Kapitel teilt. Folgendes muss hier vorab installiert sein: bash (>=4.3.42 – Ich selbst nutze eine ältere Version mit welcher es wunderbar funzte), ffmpeg (>=2.8.3), libmp3lame0

  • Als erstes cloned man das git:
git clone https://github.com/KrumpetPirate/AAXtoMP3.git
  • Ausgeführt wird es wie folgt:
bash AAXtoMP3.sh 60a80c21 hörbuch.aax
Decoding hörbuch.aax with AUTHCODE 60a80c21...
[...]
Created hörbuch.mp3.
Extracting chaptered mp3 files from hörbuch.mp3...
[...]
Done creating chapters. Single file and chaptered files contained in Hörbuch/Autor/hörbuch.
Extracting cover into Hörbuch/Autor/hörbuch/cover.jpg...
Done.

Anschließend hat man im Unterordner Hörbuch/$Autor/$Titel das Höbuch in mp3 Format liegen. Einmal als ganze Datei und einmal eine Datei pro Kapitel.

Quellen

https://github.com/inAudible-NG/audible-activator
https://github.com/inAudible-NG/tables
https://github.com/KrumpetPirate/AAXtoMP3

Posted in: Entertainment, IT, Linux Tagged: aax, drm, linux, mp3

mysql-server-5.5 dependency Probleme unter Precise

8. November 2016 by Sebastian Leave a Comment

Seit etwa einem halben Jahr habe ich sporadisch auf ein paar Client das Problem das mysql sich beim Updaten verhaspelt. Mir scheint es fast als ob er da etwas in der falschen Reihenfolge installiert:

(Reading database ... 267516 files and directories currently installed.)
Preparing to replace mysql-server-core-5.5 5.5.50-0ubuntu0.12.04.1 (using .../mysql-server-core-5.5_5.5.53-0ubuntu0.12.04.1_amd64.deb) ...
Unpacking replacement mysql-server-core-5.5 ...
Processing triggers for man-db ...
Setting up mysql-server-core-5.5 (5.5.53-0ubuntu0.12.04.1) ...
dpkg: dependency problems prevent configuration of mysql-server-5.5:
 mysql-server-5.5 depends on mysql-server-core-5.5 (= 5.5.52-0ubuntu0.12.04.1); however:
  Version of mysql-server-core-5.5 on system is 5.5.53-0ubuntu0.12.04.1.
dpkg: error processing mysql-server-5.5 (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                          dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-5.5; however:
  Package mysql-server-5.5 is not configured yet.
dpkg: error processing mysql-server (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                          Errors were encountered while processing:
 mysql-server-5.5
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

Er versucht mysql-server-5.5_5.5.52-0ubuntu0.12.04.1 zu installieren und depended auf mysql-server-core-5.5_5.5.52-0ubuntu0.12.04.1, obwohl bereits mysql-server-core-5.5_5.5.53-0ubuntu0.12.04.1 installiert ist. Es gibt auch die passende, neuere mysql-server-5.5 Version im Repo, ich bekam ihn aber auf den Tod nicht dazu die Neuere zu verwenden. Einzige Lösung war für mich, die ältere mysql-server-core Version von Launchpad zu laden und zu installieren, damit die Installation durch läuft und dann alles nochmal zusammen zu updaten.
Ich bin bis heute noch nicht wirklich dahinter gestiegen wie das passiert und was dafür der Auslöser ist, da es für mich auch gar keinen Sinn ergibt…vielleicht weiß ja jemand Rat der das hier liest.

Posted in: Arbeit, IT, Linux, Opensource Tagged: linux, mysql, precise, ubuntu

KVM RAW Image erweitern

6. September 2016 by Sebastian Leave a Comment

Ich musste heute ein KVM RAW Image vergrößern und das kann man wie folgt machen:

1. qemu-img resize

Man kann das qemu eigene Tool qemu-img benutzen um ein Image zu resizen:

qemu-img resize image.img +50G

In meinem Fall lief die virtuelle Maschine noch auf Lucid, wo es die Option resize in qemu-img noch nicht gibt. Also kam das nicht in Frage für mich.

2. Zusätzliches leeres Image erzeugen und dieses dann mit dem bestehenden zusammenführen

Dazu legt man mit dem Tool qemu-img ein neues Image an

qemu-img create -f raw additionalspace.img 50G

Nun führt man die beiden Files zusammen

cat image.img additionalspace.img > image_new.img

Auch dies war in meinem Fall nicht möglich, da die Maschine zu wenig Speicherplatz dafür hatte.

3. Das Image mit dd vergrößern

dd if=/dev/zero of=image.img bs=1G count=50 oflag=append conv=notrunc

Diese Option fand bei mir Anwendung und hat wunderbar funktioniert.

4. Das Image mittels cat vergrößern

Dies ist im Grund genau die Version wie vorher, nur ein paar Schritte mehr

dd if=/dev/zero of=additionalspace.img bs=1G count=50G
cat additionalspace.img >> image.img

Statt dd kann man hier natürlich auch qemu-img create nutzen um ein leeres Imagefile zu erstellen.

Bevor man dies tut sollte man natürlich vorher ein Backup des Images anlegen und anschließend ist es nötig natürlich noch das Filesystem zu vergrößern.
Meinen Dank gebührt meinem Kollegen Dennis, da ich heute Abend irgendwie zu fertig war um auf die letzten beiden Optionen zu kommen. Stattdessen fing ich an, das, in meinem Fall nicht kleine Image, auf ein System mit aktuellerer qemu Version zu kopieren um es da mit Variante 1 zu vergrößern und es anschließend wieder zurück zu kopieren. Das hätte (und hat bereits) Stunden in Anspruch genommen… Ich kannte auch die oflag Option von dd noch gar nicht.

Posted in: Arbeit, IT, Linux, Opensource Tagged: dd, kvm, linux, lucid, qemu, ubuntu

Kolab Winterfell auf Ubuntu 16.04 – php dependencies

3. August 2016 by Sebastian 2 Comments

Ein Kollege versuchte auf Arbeit einen Kolab Mailserver auf Ubuntu 16.04 aufzusetzen, was aber auf Grund von Abhänigkeitsproblemen nicht funktionierte. Kolab depended nämlich noch auf php5, welches allerdings unter Xenial vpn php7 ersetzt wurde . Kolab hat das noch nicht angepasst, da das Paket php-kolabformat swig benötigt, welches allerdings noch kein php7 supported.
Behelfen kann man sich nun indem man zwei PPA’s von Ondřej Surý added, über welche man php5 installieren kann:
php5* dummy packages

sudo add-apt-repository ppa:ondrej/php5-compat

main php ppa

sudo add-apt-repository ppa:ondrej/php

Wenn man das getan hat kann man mit der Installationsanleitung von Kolab weitermachen. Ein Hinweis in dieser Anleitung seitens Kolab, das es zu Problemen kommen kann, auf Grund von Abhängkeiten zu php5, wäre natürlich auch nicht so verkehrt.

Update 1

Es muss noch ein Symlink unter /etc gesetzt werden, da nach der Installation von php der Pfad /etc/php/5.6/ lautet, aber kolab möchte gern /etc/php5/ haben.

ln -s /etc/php/5.6/ /etc/php5

Update 2

Nach der Installation wird man feststellen das man /kolab-admin nicht aufrufen kann im im Browser. Im Log findet man dazu folgenden Fehler:

[05-Aug-2016 14:54:48 Europe/Berlin] PHP Fatal error:  Call to undefined function mb_internal_encoding() in /usr/share/kolab-webadmin/lib/functions.php on line 60

Dies fixt man indem man php5.6-mbstring installiert

apt-get install php5.6-mbstring

Update 3

Und dann folgt auch schon direkt der nächste Error, diesmal im Zusammenhang mit Roundcube. Nach dem Login sitzt man vor einer weißen Seite und im Log bekommt man folgendes:

[05-Aug-2016 15:57:16 Europe/Berlin] PHP Fatal error:  Call to undefined function dl() in /usr/share/php/kolabformat.php on line 22

In dieser mail Liste fand ich dann den Hinweise, das er die Funktion dl() aufruft wenn kolabformat nicht geladen ist. Und tatsächlich, schaut man unter /etc/php5/apache2/conf.d nach, stehen da die Kolab Module nicht drin. Also macht man folgendes:

phpenmod kolabformat
phpenmod kolab

Wenn man sich jetzt mal eine phpinfo Seite anlegt (apache2 natürlich vorher neu starten)


wird man sehen, das unter **Additional .ini files parsed ** 20-kolab*.ini Files auftauchen. Leider war es das aber noch nicht, denn PHP kann die .so Dateien offenbar nicht finden, denn scrollt man ganz noch unten, tauchen die Module nicht in der Auflistung auf. Das liegt daran das die Module im Verzeichnis /usr/lib/php5/20131226/ liegen, PHP aber im Verzeichnis /usr/lib/php/20131226/ nach den Modulen sucht. Also muss man hier auch noch entsprechende Symlinks setzen:

cd /usr/lib/php/20131226/
for l in $(find /usr/lib/php5/20131226/ -type f); do ln -s $l $(echo $l | awk -F"/" '{print $6}'); done

Anschließend den apache2 neu starten und siehe da, man kann sich einloggen.

Posted in: Arbeit, IT, Linux, Opensource Tagged: kolab, linux, php, ubuntu, xenial

Brothers brscan-skey nutzbar machen

1. August 2016 by Sebastian 13 Comments

Update 27.03.2021

Da es nun schon zwei Kommentare mit Nachfragen zu dem Thema gab, dachte ich mir das ich hier kurz ein Update Kommentar dazu verfasse. Es ist wohl letztes Jahr eine neue Version des brscan-skey Paketes erschienen, mit welchem meine Scripte zum Teil nicht mehr funktionieren. Hauptsächlich betrifft es wohl scantofile, wo nur noch ein leeres PDF raus fällt. Ich habe letztens erst die Linux Version auf dem Laptop meiner Mutter installiert, allerdings das Scankey Tool ignoriert, da sie es in den vergangenen 5 Jahren nicht einmal genutzt hat. Wenn ich Zeit und Lust habe werde ich mir die neue Version nochmal anschauen und die Skripte anpassen, allerdings kann ich nicht sagen wann das sein wird. Vielen Dank auf jeden Fall für die Kommentare von Peter und Michél, die mich darauf aufmerksam gemacht haben und an den Kommentator Wade, der sich offensichtlich sogar aktiv zu dem Thema mit Brother auseinander gesetzt hat/auseinander setzt.

Update

Die Scripts liegen mittlerweile auch auf Github. Diese haben auch schon ein paar Updates erhalten, unter anderem auch scan2mail.

Ausgangsituation

Meine Mutter hat seit ein paar Monaten einen neuen Laptop und da sie nicht so viel Ahnung von PC’s hat und quasi noch ein unbeschriebenes Blatt ist, bekam sie von mir Linux drauf, um genauer zu sein Linux Mint mit Cinnamon, womit sie auch wunderbar klar kommt. Leider konnte sie damals die Scanner Funkionalität des Druckers nicht nutzen, da mein Vater diesen über einen propritären „Druckserver“ ins Netzwerk gehangen hat, welcher natürlich nur unter Windows richtig funktionierte.
Nun hat sich mein Vater endlich einen neuen Drucker gekauft, wodurch der „Druckserver“ endlich entsorgt werden konnte. Bei dem neuen Drucker handelt es sich um einen Brother MFC-J470DW mit WLAN, welcher auch Linux Unterstützung mit sich bringt. Ich gehe jetzt hier nicht auf die Installation der Treiber und so ein, mir geht es primär um das Scankey-Tool (brscan-skey), welches ermöglicht das man die Scanbuttons am Drucker nutzen kann.

Scankey-Tool und Anpassungen

Das ganze Tool besteht aus einem Binary File and ein paar Shell Scripten, welche nach /opt/brother/scanner/brscan-skey installiert werden. Im Unterordner script/ findet man nach der Installation 4 Scripte, also für jeden Button einen. Da ich festellte das die Scans alle als .ppm Dateien gespeichert werden und meine Mutter damit natürlich nichts anfangen kann, schaute ich mir mal die einzelnen Scripte an. Ich würde nicht behaupten das das, was ich manchmal schreibe als gutes scripten/programmieren durchgeht, aber diese Scripte sehen aus, als ob die ein Azubi im ersten Lehrjahr geschrieben hat. Ich hatte dann den starken Wunsch das alles nochmal ordentlich zu machen, unter anderem mit Convertierung der Dateien. Folgendes kam dabei heraus: Neuere Versionen der Skripte findet ihr auf Github

scantox.sh

#!/bin/bash

scan_path=~/Dokumente/Scans
scan_path_tmp=$(mktemp -d)
#logfile=/tmp/scan_logfile.log
resolution=300
output_filename=scan_$(date +%Y%m%d%H%M%S)
output_file="$scan_path/$output_filename"
output_file_tmp="$scan_path_tmp/$output_filename%03d.tiff"

#exec &> $logfile

function checkscanpath() {
    if [[ ! -d $scan_path ]]; then
        mkdir -p $scan_path
    fi
}

function scantox() {
    scanimage --device-name "$device" --resolution $resolution -l 0 -t 0 \
-x 210.00 -y 295.00 --format=tiff --batch=$output_file_tmp
}

function convert2() {
    if [[ "$1" == "pic" ]]; then
        c=0
        for file in $(find $scan_path_tmp -type f); do
            convert $file -quality 90 $output_file-$c.jpg
            c=$[$c+1]
        done
    elif [[ "$1" == "file" ]]; then
        convert $scan_path_tmp/* $output_file.pdf
    fi
}

function finish() {
    if [[ -d $scan_path_tmp ]]; then
        rm -r $scan_path_tmp
    fi
    if which nemo > /dev/null; then
        nemo $scan_path &
    fi
}

scantoimage.sh

#! /bin/sh
set +o noclobber

device=$1
. /opt/brother/scanner/brscan-skey/script/scantox.sh

sleep  1

checkscanpath
scantox
convert2 pic
finish

scantofile.sh

#! /bin/sh
set +o noclobber

device=$1
. /opt/brother/scanner/brscan-skey/script/scantox.sh

sleep  1

checkscanpath
scantox
convert2 file
finish

Die Scipte für OCR und Mail werde ich wahrscheinlich auch noch anpassen und werden dann ergänzt. Wenn ihr diese Scripte hier verwenden wollt, beachtet das wenn ihr die Filenames ändert ihr auch die .cfg einen Ordner höher anpassen müsst.

Probleme, Bugs etc.

Das die Scripte des Scankey Tools ziemlich schlecht geschrieben sind steht ja schon weiter oben, aber es gibt noch ein paar weitere Bugs:

Mehrere Seiten scannen über Flachbett nicht möglich

Der Drucker hat sowohl einen normales Flachbett als auch einen Dokumenteneinzug zum scannen. Wenn man nun über das Flachbett scannt, fragt er nach der ersten Seite ob man noch eine Weitere scannen möchte. Bejaht man das, fängt er an, bricht dann aber nach etwa 1/5 ab und man bekommt die Fehlermeldung (sofern man es mitloggt):

scanimage: sane_start: Device busy

Selbst wenn man die Zeile händisch ausführt, mit der expliziten Angabe das er bitte als Quelle das Flachbett nutzen soll, bekommt man bei der zweiten Seite einen Fehler, auch wenn es diesmal ein anderer ist:

scanimage --device-name "$device" --source FlatBed --resolution 300 -l 0 -t 0 \
-x 210.00 -y 295.00 --format=tiff --batch=$output_file_tmp --batch-prompt
scanimage: sane_start: document feeder out of documents

Mir scheint es so als ob er bei der ersten Seite noch mitbekommt das er das Flachbett nutzen soll, danach aber auf den Standart umspringt, welche ADF(left align) ist.
Wenn man hingegegen von Anfang an den Dokumenteneinzug zum scannen nutzt, funktionieren mehrere Seite ohne Probleme. Der Nachteil ist da natürlich, wenn man Dokumente hat, wo die Vorder- und Rückseite bedruckt ist, denn diese muss man so manuell zusammenführen.

Wenn jemand auch dieses Problem hat und es sogar gelöst hat, würde ich mich sehr über einen entsprechenden Kommentar freuen.

brscan-skey –help

Da ich mir mal anschauen wollte was ich mit dem Consolentool brscan-skey so machen kann führte ich es mal mit -h und –help aus. Beides brachte das selbe Ergebnis und zwar die Versionsausgabe. Als ich mir dann das Script mal anschaute, sah ich auch wieso:

if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
  if [ "$2" = "2" ];then
    --- gekürzt ---
    echo '   -h --help                :help'
  fi
  echo '   Copyright 2007-2012 Brother Industries, Ltd'
  exit 0
fi

Man muss also um die Help-Ausgabe zu bekommen -h 2 oder –help 2 eingeben. Wieso? Wusste der Entwickler nicht das -V geläufgier ist für die Versionsausgabe?

Versionsnummern

Das Paket kommt in der Version 0.2.4-1. Offenbar hatte der Entwickler vor dem Release keine Muse diese Versionsnummer überall anzupassen. So hat das Binaryfile noch die Version 0.2.4-0. Des Weiteren ist in der brscan-skey-0.2.4-1.sh als $BINVERSION ebenfalls noch die Version 0.2.4-0. Dieses Script ist dafür zuständig die Scripte unter script/ zu generieren, was zu einem weiteren Phänomen führt.

brscan-skey –reset

Führt man das nämlich aus, bekommt man die wunderschöne Fehlermeldung:

Can't open /opt/brother/scanner/brscan-skey/brscan-skey-0.2.4-0.sh

Ja klar, weil die auch brscan-skey-0.2.4-1.sh heißt. Passt man nun den Namen des Scripts an funktioniert –reset auch, nur haben dann alle Scripte unter script/ plötzlich eine Versionsnummer tiefer. Grund dafür ist das es neben $BINVERSION noch die Variable $VERSION gibt, welche zumindest schonmal nicht statisch vergeben ist, allerdings auch nicht, wie man denkt durch Abfrage der Paketversion gesetzt wird, nein, man schaute sich die Versionsnummer des ausgeführten Scripts an und setzt sie danach.
Das verursacht jetzt keine Probleme, da die brscan-skey-0.2.4-0.cfg auch entsprechend angepasst wird, aber dennoch…

brscan-skey -l / –list

Das ist einfach – diese Option hat einfach keine Funktion. Also zumindest zeigt sie weder unter Ubuntu noch unter Debian irgendwas an.

Fazit

Es funktioniert und macht, mit ein paar Anpassungen, weitesgehend das was es soll, aber dieses ganze Paket schreit einem quasi die Lust des Entwicklers ins Gesicht. Ich frag mich dann immer warum Unternehmen sowas machen. Wenn sie keinen Bock haben Linux Pakete zu bauen, schön, dann sollen sie den Code für das Binary irgendwohin werfen und sagen „Da habter den Code, macht es selbst, wir haben da keinen Bock zu.“ Das würde denen doch nicht mal jemand übel nehmen…

Posted in: IT, Linux, Opensource Tagged: bash, brother, drucker, linux, mint, scanner, ubuntu
« Zurück 1 2 3 … 14 Weiter »

Social Shit

Fediverse PGP-Key XMPP Matrix Git Github

Kategorien

  • Allgemein
  • Android
  • Anime
  • Arbeit
  • Entertainment
  • Games
  • Handy
  • IT
  • Linux
  • Monitoring
  • Netzwerk
  • Opensource
  • Privates
  • QEK Junior
  • Rattis
  • Showtime Ost
  • Showtime West
  • Windows

Interessantes

  • 5222.de
  • World of Edolas
  • Lainblog
  • chr.istoph's Blog

Archive

  • Juni 2023
  • August 2019
  • Oktober 2018
  • März 2018
  • Dezember 2017
  • Juli 2017
  • Juni 2017
  • Mai 2017
  • März 2017
  • Februar 2017
  • Januar 2017
  • Dezember 2016
  • November 2016
  • September 2016
  • August 2016
  • Juli 2016
  • Juni 2016
  • Mai 2016
  • April 2016
  • März 2016
  • Februar 2016
  • Dezember 2015
  • November 2015
  • September 2015
  • August 2015
  • Juli 2015
  • Juni 2015
  • Mai 2015
  • April 2015
  • März 2015
  • Februar 2015
  • November 2014
  • Oktober 2014
  • August 2014
  • Juli 2014
  • Juni 2014
  • Mai 2014
  • April 2014
  • März 2014
  • Februar 2014
  • Dezember 2013
  • November 2013
  • Oktober 2013
  • September 2013
  • August 2013
  • Juli 2013
  • April 2013
  • März 2013
  • Februar 2013
  • Januar 2013
  • Dezember 2012
  • November 2012
  • September 2012
  • Juli 2012
  • Juni 2012
  • Mai 2012
  • Februar 2012
  • Januar 2012

Tags

android anime apt bash bugs debian freifunk freifunk-aachen gnome hardware htpc kernel linux lucid lxc mdadm mint monitoring mysql network nginx openwrt outdoor package pgp php postgres precise raid redmine squeeze telekom testing trusty ubuntu virtualization vserver wheezy windows xbmc xenial xorg xubuntu zabbix zarafa

Datenschutzerklärung | Impressum

Copyright © 2025 KOKOLOR.ES.

Omega WordPress Theme by ThemeHall