Donnerstag, 31. Dezember 2020

E-Mail - Archivierung mit MailStore Home

Mit MailStore Home ist es möglich schnell und komfortable seine privaten E-Mails aus nahezu allen E-Mail-Quellen kostenlos zu archivieren und zu durchsuchen.


Downoad unter https://www.mailstore.com/de/produkte/mailstore-home/, anschließend kann die Installation als normales Programm oder auch als "portable Version" erfolgen.


Danach kann man bestehende Profile vom Rechner importieren (in meinem Fall MS Outlook) oder aber auch direkt vom Mailserver die Nachrichten abholen, sofern die Zugangsdaten hinterlegt werden.


Jetzt kann die Archivierung gestartet werden. Es können beliebig viele Profile angelegt und übertragen werden.

 

Natürlich ist es auch möglich mit der Exportfunktionen E-Mails aus dem Archiv wiederherzustellen oder eine Migration von E-Mail Postfächern durchzuführen.

Montag, 28. Dezember 2020

Intel 386 DX/33 - Microsoft MS-DOS 6.22 Installation (DELL 333D)

Schon länger liegt ein DELL 386er (Dreisechsundachtziger) bei mir im Keller und durch das Coronavirus bietete sich die Zeit im Lockdown an, endlich mal die aktuelle MS-DOS Version (6.22) zu installieren.


Download und Diskettenerstellung

Der Download von MS-DOS (Hinweis: die original Disketten sind in meinem Besitz, von meinem ersten PC ein 486 DX2/66) in verschiedenen Versionen ist hier möglich: https://winworldpc.com/product/ms-dos/622 .


Die Erstellung der Installations Disketten (3,5″ ≈ 1,4 MB) ist mit Hilfe von

und einem USB-Diskettenlaufwerk möglich. Auch eine Installation von CD-Rom wäre mit der der Boot-Diskette von WinFuture (hier ist direkt ein CD-ROM Device Driver mit dabei) möglich .

Hinweis: Unter Windows 10 gibt es das folgende Problem "USB (A:\) floppy drive won't refresh it's contents when switching floppies in Windows", daher am Besten mit einem Windows XP, 7 Rechner oder unter Linux die Disketten erstellen. Wenn man nicht immer wieder den Rechner neustarten will.

Booten und Installation 

Nach dem eine Startdiskette (MS-DOS 6.22 Disk1 oder Boot-Diskette von WinFuture) erstellt wurde, startet die Installation automatisch oder es muss die SETUP.EXE ausgeführt werden.



Defekter Bootsektor

Den Fehler kennt vermutlich jeder aus den DOS-Zeiten. Zum Beispiel mit der Meldung "Betriebssystem fehlt".

Oft genügt es, von der Startdiskette zu booten und den MBR (Masterbootrekord) neu zu schreiben. Dies geht mit dem folgenden Befehl: 

fdisk /mbr

Eine neue Partitionstabelle oder auch ein neuer MBR kann auch mit dem Tool TestDisk geschrieben werden, welches nur ca. 1 MB groß ist


DELL 333D - 33 MHz

Siehe auch MBR (Masterbootrekord) - CHS (cylinder/head/sector) Adressierung.

 



Intel 80386 Prozessor und Coprozessor 80387

Für den Intel 80386 Prozessor wurden unterschiedliche Versionen von Coprozessoren vertrieben.
Original Intel 80387DX (nicht i387) Coprozessor für 386 und 286
Hinweis: "Die Produktion des i386EX als Embedded-Version des i386SX wurde erst im Jahr 2007 eingestellt." Siehe auch https://de.wikipedia.org/wiki/Intel_80386.


Freitag, 25. Dezember 2020

Windows-Subsystem für Linux (WSL) - Installation WSL 2

In dem Artikel Windows-Subsystem für Linux (WSL) - Installation habe ich wie beschrieben, wie man das WSL installieren kann. In diesem kurzem Update beschreibe ich die Installation/Update auf WSL 2.


"WSL2 features a Linux kernel running inside Windows 10 and is built on the core technology of Hyper-V to provide better Linux application support and improved file performance."

Installierte Linux-Distributionen anzeigen

wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Stopped         1

WSL2 Linux kernel update package herunterladen

Hinweis: "Virtual Machine Platform" muss aktiviert sein (PC muss danach neugestartet werden):
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

 

Überführen der WSL-Version in WSL 2:
wsl --set-version <distribution name> <versionNumber>

Nach Abschluss der Installation sollte WSL 2 als Standardversion festgelegt werden:
wsl --set-default-version 2

 

Donnerstag, 24. Dezember 2020

Apache HTTP Server - Basis Wissen (Module mod_info, mod_status, mod_remoteip)

Als Erweiterung zum Artikel Apache HTTP Server - vHost Konfiguration bietet sich ein Blick in die offizielle Apache Dokumentation für die Module mod_info, mod_status und mod_remoteip an.

Apache Module mod_info

Bietet einen umfassenden Überblick über die Serverkonfiguration, https://httpd.apache.org/docs/2.4/mod/mod_info.html.

Achtung: Sobald mod_info auf den Server geladen ist, ist seine Funktion in allen Konfigurationsdateien verfügbar, einschließlich Dateien pro Verzeichnis (z. B. .htaccess). Dies kann sicherheitsrelevante Auswirkungen auf die Webseiten haben. Daher am Besten den Zugriff auf den "localhost" beschränken, bzw. nur für bestimmte IP-Adressen freigeben.

<Location "/server-info">
    SetHandler server-info
    # Allow access from server itself
    Require ip 127.0.0.1

    # Additionally, allow access from local workstation
    Require ip 192.168.1.111
</Location>


Apache Module mod_status

Bietet Informationen zur Serveraktivität und -leistung, https://httpd.apache.org/docs/2.4/mod/mod_status.html.

Achtung: Auch hier ist zu beachten, dass beim Laden des Moduls mod_status der Server die Funktion in allen Konfigurationsdateien verfügbar ist, einschließlich der Dateien pro Verzeichnis (z. B. .htaccess). Dies kann auch hier sicherheitsrelevante Auswirkungen auf die Webseite haben! Daher am Besten den Zugriff auf den "localhost" beschränken, bzw. nur für bestimmte IP-Adressen freigeben.

<Location "/server-status">
    SetHandler server-status
    # Allow access from server itself
    Require ip 127.0.0.1

    # Additionally, allow access from local workstation
    Require ip 192.168.1.11
</Location>

Apache Module mod_remoteip

Das Module Remote IP https://httpd.apache.org/docs/2.4/mod/mod_remoteip.html ersetzt die ursprüngliche Client-IP-Adresse durch die IP-Adresse des useragent, die von einem Proxy oder einem Load Balancer über die Anforderungsheader angezeigt wird. So kann man dennoch auf die IP-Adresse des Besuchers reagieren.


Apache Serversignatur

Anpassung unter: /etc/apache2/conf-available/security.conf

ServerSignature
Bestimmt ob die Serversignatur angezeigt wird.
ServerSignature On | Off

ServerTokens
Bestimmt die Art der Serversignatur, wobei Full die meisten und Prod die wenigsten Informationen ausgibt.
ServerTokens Full | OS | Minimal | Minor | Major | Prod


Mittwoch, 23. Dezember 2020

Deutscher Pressevertrieb - PDF Dateien mit Hilfe von PowerShell Script sichern

Die DPV bietet viele verschiedene Android Apps um sein digitales Abo auf dem Smartphone/Tablet lesen zu können. Leider gibt es keine direkte Möglichkeit ein komplettes PDF herunterzuladen. Mit Hilfe einem PowerShell Script und dem Beitrag Linux - PDF Dokumente zusammenfügen / Merge PDF files ist dies dennoch möglich.


Das nachfolgende Beispiel wurde mit der App von "Schöner Wohnen" erfolgreich getestet!

Der Download innerhalb der App wird im Speicher des Smartphones unter dem folgenden Ordner abgelegt:

  • storage/696E-E61B/Android/data/com.audiencemedia.app2928/files/content/2bfdd49d-d113-4b18-b9ab-e84abbc94789/3abcca1a-0f52-4f7b-86c7-06dea1a9f24a/2

 

Diesen Ordner am Besten mit TotalCommander suchen und auf den PC kopieren (zum Beispiel per WebDav Share).

Jetzt kann das folgende PowerShell Script verwendet werden: https://www.shemel.de/download/powershell/GetPdfFromDigitalEpaper.ps1
Hinweis: Der Paramter zum Donwload Ordner muss natürlich ggf. angepasst werden.

Zum Abschluss im Ordner "..\3abcca1a-0f52-4f7b-86c7-06dea1a9f24a\2\pdf" den Befehl pdfunite *.pdf 01-2021.pdf , aus dem Beitrag https://sebastianhemel.blogspot.com/2020/09/linux-pdf-dokumente-zusammenfugen-merge.html ausführen!

# (c) 2020 - Sebastian Hemel, www.shemel.de
# Get One PDF File from "SCHÖNER WOHNEN Digital E-Paper" - https://play.google.com/store/apps/details?id=com.audiencemedia.app2928
######################################################################################################################################################
# Note: You can find the download folder in the app directory
# storage/696E-E61B/Android/data/com.audiencemedia.app2928/files/content/2bfdd49d-d113-4b18-b9ab-e84abbc94789/3abcca1a-0f52-4f7b-86c7-06dea1a9f24a/2
######################################################################################################################################################

# Loop through files in a directory using PowerShell
$pathToFiles = 'D:\Downloads\Schöner Wohnen 01-2021\3abcca1a-0f52-4f7b-86c7-06dea1a9f24a\2\'
$copyPath = $pathToFiles + 'pdf\'
$scriptPath   = '.\*'
$pattern1 = "page-" # only get files like page-02_2eb264de-f649-4c11-8bee-eeef504aaf48.stxml
$fileNames = Get-ChildItem -Path $scriptPath -Recurse -Include *.stxml

# generate folder for pdfs
New-Item -Name „pdf“ -ItemType Directory -Path $pathToFiles

foreach ($file in $fileNames) {

    if ($file.name -match $pattern1){
        $filesInDirectory = $file.Basename + $file.Extension
        Write-Output $filesInDirectory

        [xml]$xml = Get-Content $pathToFiles$filesInDirectory
        #Write-Output $xml.stage.scene.pdf | Where-Object {$_.contentURL} | Select-Object id
        #Adding leading zeros to a file name
        $newFilename1 = "{0:d3}$($_.extension)" -f [int]$fileNames.IndexOf($file)
        $counter = 0
        
        #copy PDF-files and rename it
        # page-02_2eb264de-f649-4c11-8bee-eeef504aaf48.stxml
        # ==> 5009b369-ff27-4136-9cad-7424be6b0c8b.pdf ==> ./pdf/000-1.pdf
        # ==> d90b35dc-ce19-4e78-b944-87d9503f4850.pdf ==> ./pdf/000-2.pdf
        $xml.stage.scene.pdf | Where-Object {$_.contentURL} | Select-Object id | ForEach-Object {
            $fileName = $_.id
            $fileName = $pathToFiles + $fileName
            Write-Output 'Copy: '$fileName
            Copy-Item $fileName $copyPath$newFilename1'-'$((++$counter))'.pdf'
        }
    }
}


Montag, 7. Dezember 2020

Synology NAS - Migration bzw. Daten umziehen auf ein neues NAS

In dem folgenden Beitrag erkläre ich, wie man von einem Synology DS216SE seine Daten bzw. Festplatten auf ein Synology DS220+ NAS migrieren kann. Im Artikel Synology NAS - Speicherplatz erweitern, hatte ich bereits vor einiger Zeit beschreiben, was zu tun ist, wenn man größere Festplatten verwenden möchte.

Backup durchführen

Zur eigenen Sicherheit sollte ein Backup der Daten gemacht, auch wenn es sehr unwahrscheinlich ist, dass nach der Migration etwas nicht mehr funktioniert!
Hier bietet sich die Möglichkeit alle Daten auf eine externe angeschlossene Festplatte zu kopieren, eine Datensicherungsaufgabe zu erstellen oder ein Cloud Sync durchzuführen.

Synology Systemkonfiguration sichern

Die Systemkonfiguration kann man unter

  • Systemsteuerung > Aktualisieren & Wiederherst. > Sicherung der Konfiguration und Klick auf "Konfiguration sichern"

lokal speichern.

Siehe hierzu auch die Anleitung Migration zwischen Synology NAS (DSM 6.0 und höher)

Synology Migrationsvorgang vorbereiten

  1. Die aktuellste Firmware sollte installiert sein. Prüfen unter "Systemsteuerung > Aktualisieren & Wiederherst.".
  2. Systemkonfiguration sichern, wie oben beschrieben.
  3. Prüfen, ob die Migration vom Alten- zum Neuen-Modell überhaupt möglich ist. Siehe auch 2.1 Festplattenmigration
  4. Synology NAS herunterfahren und vom Strom nehmen.
  5. Festplatten aus dem Gehäuse nehmen und in das neue NAS einbauen.

Jetzt kann das neue Synology NAS gestartet werden. Jetzt warten, bis das gepiepst hat. Anschließend kann der Migrationsvorgang gestartet werden.

Synology Migrationsvorgang starten

Das neue NAS sollte man jetzt unter der Eingabe von find.synology.com im Browser finden. Alternativ kann man auch den Synology Assistant verwenden oder die richtige IP-Adresse in der Fritz!Box suchen.
  1. Es sollte nun unter "Migrieren" angezeigt werden. Ausführen mit einem Klick auf den Button.
  2. Auswählen von "Migration: Meine Daten und die meisten Einstellungen und Daten behalten"
  3. Jetzt den Assistenten bis zum Ende durchgehen.
    • Hinweis: Die Migration der Daten dauert ca. 15 - 20min.
  4. Systemkonfiguration wieder einspielen (optional), siehe Punkt oben. Hinweis: Wird nur im Notfall benötigt.


Raspberry Pi - Docker Compose installieren

Docker Compose ist ein Tool zum Definieren und Ausführen von Docker-Anwendungen mit mehreren Containern. 

Hinweis: Docker muss zuvor installiert sein. Siehe auch Raspberry Pi - Docker installieren.

Compose verwendet eine YAML-Datei, um die Dienste der Anwendung zu konfigurieren. Anschließend kann man alle Dienste in der erstellten Konfiguration starten. Siehe hierzu auch https://docs.docker.com/compose/.

Die akutelle Compose-Version erhält man wie z.B. auch für Ubuntu über den Python-Paketmanager Pip.

Installation von Pip für Python 3:
sudo apt-get install python3-pip

Installation von Docker Compose:
sudo pip3 install docker-compose


Sonntag, 6. Dezember 2020

Raspberry Pi - Docker installieren (ARM - Exit Code 139)

Die Installation von Docker ist relativ einfach, benötigt wird nur ein Raspberry Pi mit bereits installiertem Raspberry Pi OS und einem SSH-Zugang. Mit Hilfe der Docker Software kann man verschiedenste Anwendungen in einer Containervirtualisierung starten.

Installation von Docker

Die Installation ist mit dem folgenden Befehl per curl möglich. Siehe hierzu auch https://github.com/docker/docker-install.

curl -fsSL https://get.docker.com -o get-docker.sh

Hinweis: Docker wird in der Regel auf x64-Systemen ausgeführt, dies bedeutet es müssen spezielle ARM-Images verwendet werden. Normale Images sind daher nicht kompatibel. Siehe auch mein Hinweis unten!

Docker-Installation Überprüfen

Ermittlung der Version, Informationen abrufen:
sudo docker version
sudo docker info


Hello-World-Image herunterladen und starten:
sudo docker run hello-world # No output on Pi (ARM)
sudo docker run hypriot/armhf-hello-world 

Anzeigen der heruntergeladen Docker-Images:
sudo docker image ls

Anzeigen der aktuellen Docker-Prozesse:
sudo docker ps -a
sudo docker container ls

Logfile des Containers anzeigen
sudo docker logs 7dd670ad4109

Docker Container Exit Codes (Exit Code 139: SIGSEGV)

Beim Starten des oben genannten Hello-World-Image, gab es das Problem das keine Ausgabe des Image erfolgte. Der Grund war, dass hier ein nicht kompatibles Image für ARM verwendet wurde.

Alle Container auflisten, die beendet wurden:
sudo docker ps --filter "status=exited"

Docker Container / Images löschen

# Delete all containers
sudo docker rm $(sudo docker ps -a -q)
# Delete all images
sudo docker rmi $(sudo docker images -q)

Samstag, 5. Dezember 2020

Raspberry Pi - Temperatursensor DS18B20 - Update I

Kurzes Update für den Artikel Raspberry Pi - Temperatursensor DS18B20. Jetzt gibt es ein Python Script, welches direkt die ID des Sensors herausfindet.

Mit dem Script temperatur.py ist es nicht mehr notwendig die ID (/sys/bus/w1/devices/xx-xxxxxxxxxxxx/w1_slave) des Sensors manuell anzupassen.

Download: wget https://www.shemel.de/download/raspberry/temperatur.py

Freitag, 4. Dezember 2020

E-Mail - Posteingang mit der richtigen Strategie bearbeiten (Inbox Zero Methode)

Bereits vor einigen Jahren habe ich in den Artikeln Gehen Sie effizient mit E-Mails um! und Schlüssel zur Produktivität? Konzentrieren Sie sich auf eine Aufgabe! beschrieben, wie man effektiv mit dem Kommunikationsmittel E-Mail umgeht. In diesem Beitrag möchte ich nochmals darauf eingehen, wie man mit der richtigen Strategie den Posteingang bearbeiten kann.


E-Mails regelmäßig bearbeiten, aber nicht ständig

Es bietet sich an E‐Mails nur z.B. viermal am Tag zu lesen. Hierfür sollte man sich feste Abholzeiten und einen Antwortzeitraum festlegen. Dies geht natürlich nur, wenn man keinen direkten Kundenkontakt hat und alle Anfragen per E-Mail ankommen.
In allen anderen Situationen bieten sich wie bereits oben beschrieben feste Abhol- und Antwortzeiträume z.B. stündlich oder auch nur täglich an. Nur so ist es möglich produktiv arbeiten zu können.

Wichtig: Die definierten Zeiträume sollte man fest im Kalender blocken, um die E-Mails abarbeiten und damit verbundene Aufgaben erledigen zu können.


Merlin Manns Inbox Zero Methode

Zum Erledigen der E-Mail-Flut bietet sich die Strategie Merlin Manns Inbox Zero Methode an.

Immer wenn man sein E-Mail Programm öffnet, muss eine der 4 folgenden Aktionen durchgeführt werden (reines checken von E-Mails ist somit nicht mehr möglich):

  1. E-Mail für mich relevant? Nein => löschen, weiterleiten, delegieren.
    • Ja, dann weiter mit Punkt 2.
  2. Ist etwas zu unternehmen mit der Nachricht (z.B. Info Mails)? Nein => Ablage (archivieren).
    • Ja, dann weiter mit Punkt 3.
  3. Ist der Zeitaufwand dafür kleiner als 3 Minute? Ja => Sofort erledigen / beantworten.
    • Nein, dann weiter mit Punkt 4.
  4. E-Mail kennzeichnen oder einen Termin setzen um sie bearbeiten zu können!

Nutzen Sie das Parkinsonsche Gesetz, verkürzen Sie Ihre Arbeitszeit, damit Sie Aufgaben auf das Wesentliche beschränken können!