Schlagwort-Archive: linux

Steuererklärung mit oder ohne Cloud?

Ist es weise, seine Steuererklärung in der Cloud zu erstellen? Warum sollte man dies überhaupt tun? Ich möchte im Folgenden zum Nachdenken anregen und gern andere Meinungen zum Thema hören. Es geht dabei im Wesentlichen um die Frage, wie sehr man einer Cloud vertrauen kann und ob das Vertrauen groß genug ist, um die eigene Steuererklärung einer Cloud anzuvertrauen.

Zuerst will ich kurz erläutern, wie ich dazu kam, mich mit diesen Fragen zu beschäftigen.

Seit etlichen Jahren benutze ich die Software WISO-Sparbuch, zur Erstellung meiner Einkommenssteuererklärung. Diese Software ist aktuell der einzige Grund, warum ich noch eine virtuelle Maschine mit Windows 7 als Gastbetriebssystem benötige, obwohl ich sonst ausschließlich Ubuntu Linux verwende.

Auf meine Anfrage beim Kundenservice, ob es nicht möglich sei, eine Programmversion für Linux zu veröffentlichen, wurde mir das WISO InternetSparbuch als Alternative empfohlen.

Die Vorteile dieser Lösung liegen auf der Hand. Unabhängig von Computer und Betriebssystem kann man seine Steuererklärung im Browser erstellen. Eine lokale Installation ist nicht notwendig. Auch um Updates muss man sich nicht kümmern, da diese auf den Servern des Anbieters eingespielt werden und somit in der Webanwendung automatisch zur Verfügung stehen. Alles in allem ein verlockendes Angebot. Doch wo es Vorteile gibt, da gibt es meist auch Nachteile. In diesem Fall mag es von Nachteil sein, dass man alle Daten, die zur Anfertigung der Steuererklärung benötigt werden, in einer Cloud speichert. Es stellt sich die Frage, in wie weit man dabei die Kontrolle über die eigenen Daten behält. Denn ich möchte nicht, dass mein Steuerfall plötzlich im Internet auftaucht oder Dritte Kenntnis über meine finanziellen Verhältnisse erlangen.

Um diese Frage zu beantworten, hilft ein Blick in die Datenschutzerklärung des Anbieters. Als Erstes fällt hier positiv auf, dass der Anbieter die Datenschutzerklärung nicht auf seiner Website versteckt, sondern diese gleich als ersten Punkt am Anfang der Seite verlinkt.

Zum Zweiten bewerte ich es als positiv, dass mir in der Datenschutzerklärung kein „Juristendeutsch“ oder verklausulierte Formulierungen begegnen. Die Datenschutzerklärung ist in natürlicher Sprache verfasst und leicht verständlich. In ihr finden sich folgende Punkte, die mich die Verwendung des Produkts in Erwägung ziehen lassen:

  1. Wir gehen mit den uns übertragenen Daten vertrauensvoll und verantwortungsbewusst um und halten die geltenden Datenschutzgesetze ein.
  2. Personenbezogene Daten werden von uns nur dann und nur in dem Umfang erhoben, wie Sie sie uns mit Ihrer Kenntnis selbst zur Verfügung stellen.
  3. Wir verkaufen oder verleihen Ihre persönlichen Daten nicht.
  4. Wir verwenden Sicherheitstechnologien auf dem aktuellen Stand der Technik, um Ihre Daten vor Missbrauch zu schützen.
  5. Wir möchten Ihnen eine sichere, reibungslose, effiziente und persönliche Nutzer-Erfahrung bieten.

Die klare Aussage, dass meine Daten weder verkauft noch vermietet werden, ist schon mal viel wert. Auch verspricht die Erklärung, dass ohne ausdrückliche Einwilligung des Benutzers keine Daten an Steuer- und Finanzbehörden übermittelt werden. Letztendlich werden nur die zur Vertragsabwicklung erforderlichen Daten an Dritte weitergeben. Dies sind z.B. die eigenen Bankverbindungsdaten, damit die Beiträge für den Steuer-Spar-Vertrag abgebucht werden können.

Das InternetSparbuch verspricht meine Daten mit aktuellen Sicherheitstechnologien zu schützen. Dies ist in meinen Augen selbstverständlich und doch bleibe ich mißtrauisch. Sind meine Daten wirklich sicher? Was kann damit passieren, wenn die Server des Anbieters kompromittiert werden? Der Abschnitt Datensicherheit hilft bei der Beantwortung dieser Fragen weiter.

Gespeicherte Daten werden verschlüsselt gespeichert. Darüber hinaus werden sie nach einer festgelegten Zeit (4 Monate bzw. 90 Tage) ohne Anmeldung automatisch gelöscht. Das ist gut, hilft aber nicht unbedingt, wenn der Server in diesem Zeitraum kompromittiert wird. Entscheidend ist für mich folgende Aussage:

Zusätzlich haben Sie die Möglichkeit, auch Ihren Steuerfall mit einem Passwort zu schützen und wahlweise bei Ihnen auf einem lokalen Datenträger oder auf unserem Server verschlüsselt zu speichern.

Damit ist es mir möglich, die Kontrolle über meinen Steuerfall zu behalten. Denn speichere ich meinen Steuerfall nicht auf dem Server des Anbieters, so kann er von dort auch nicht entwendet werden. Der Steuerfall selbst wird in einer Datei codiert und ist nicht im Klartext lesbar. So kann man ohne die dazugehörige Anwendung auch mit der Datei, welche meinen Steuerfall enthält, nichts anfangen.

Meine erste Annahme, dass die Daten in der Cloud gespeichert werden und ich sie aus der Hand geben muss war falsch. Ich habe die Wahl, wo mein Steuerfall gespeicher wird. Lediglich die Daten, die benötigt werden, um mir einen Account zur Verfügung zu stellen und die Gebühren für den Steuer-Spar-Vertrag abzuwickeln, werden beim Anbieter gespeichert. Dies ist vorbildlich und einige andere Anbieter könnten sich daran orientieren.

Mich selbst hat das Angebot überzeugt und ich werde es für die nächste Steuererklärung ausprobieren.

MySQL Datenbanken auf neuen Server übertragen

Mit diesem Artikel möchte ich euch ein Tutorial bieten, dass erklärt wie Datenbanken von einem MySQL Server auf einen anderen übertragen werden können. Es kann euch damit bei der Konsolidierung oder Migration von MySQL-Servern gute Dienste leisten.

Um Inkonsistenzen zu vermeiden empfehle ich den MySQL-Quell-Server in den Read-Only Modus zu schalten. Dazu ist zuerst eine Anmeldung am MySQL Server erforderlich.

mysql -u root -p

Einschalten des Read-Only Modus:

mysql> set GLOBAL read_only = true;

Möchte man den Read-Only Modus später wieder abschalten, so meldet man sich wieder am Server an und führt den folgenden Befehl aus.

mysql> set GLOBAL read_only = false;

Es gibt im Prinzip mehrere Möglichkeiten die Datenbanken auf den neuen Server zu transferieren. Ich entscheide mich hier für den Weg der in meisten Fällen zum Ziel führen sollte. Wir können die gewünschten Datenbanken nun mit dem folgenden Befehl sichern. Um die Zeit für den Transfer über das Netzwerk zu reduzieren wird der Dump noch mit gzip gepackt.

shell> mysqldump -u root -p --databases db_name1 [db_name2 ...] >my_databases.sql
shell> gzip my_databases.sql
shell> scp my_databases.sql.gz user@zielserver:/zielverzeichnis/

Auf dem Zielsystem können die Datenbanken nun mit gunzip entpackt und in die Datenbank eingespielt werden.

shell> gunzip my_databases.sql.gz
shell> mysql -u root -p < my_databases.sql

Jetzt müssen wir noch dafür sorgen, dass auf dem neuen MySQL-Server die gleichen Benutzer wie auf dem Quellserver hinzugefügt werden und diese die gleichen Berechtigungen auf die Datenbanken erhalten wie sie sie auf dem Quellsystem besaßen. Ich habe mich dafür entschieden die benötigten Benutzer und Berechtigungszuordnungen mit dem folgenden Abfragemuster aus der mysql-Datenbank des Quellservers in eine Textdatei zu schreiben. Dazu muss ich die Tabellen user und db abfragen.

SELECT someColumn FROM `table`
WHERE foo LIKE '%foo%'
INTO OUTFILE '/tmp/dbdump.txt'

Wie genau obige Abfrage aussieht ist von Fall zu Fall unterschiedlich. In meinem Fall habe ich in zwei Abfragen die Dateien mysql_user.txt und mysql_db.txt erstellt. Diese sind nun auf den Zielserver zu übertragen.

Auf dem Zielserver müssen die Inhalte dieser Dateien nun wieder in die Tabellen user und db der Datenbank mysql eingespielt werden. Wer auf Nummer sicher gehen möchte testet den Import mit der Datenbank test, welche auf jedem MySQL Server vorhanden sein sollte. Das Einlesen der Dateien erledigt man mit dem LOAD DATA INFILE Kommando.

LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
    [REPLACE | IGNORE]
    INTO TABLE tbl_name
    [FIELDS
        [TERMINATED BY 'string']
        [[OPTIONALLY] ENCLOSED BY 'char']
        [ESCAPED BY 'char']
    ]
    [LINES
        [STARTING BY 'string']
        [TERMINATED BY 'string']
    ]
    [IGNORE number LINES]
    [(col_name_or_user_var,...)]
    [SET col_name = expr,...)]

Bei einigen Ubuntusystemen, auf denen AppArmor läuft kann es zu einem Fehler beim Einlesen der Datei kommen. Wer von diesem Problem betroffen ist, kann hier eine Lösung finden.

Damit ist es geschafft. Unsere Datenbanken sind nun auf dem neuen Server angekommen und wir können den alten im besten Fall abschalten.

Linux – Systemauslastung mit top analysieren

top – ist eines der wichtigsten Tools für den Linux Systemadministrator, wenn es darum geht die Systemauslastung eines Systems zu analysieren.

Sicherlich bin ich nicht der einzige, dem es nicht ganz leicht fällt alle Angaben von top auf Anhieb richtig zu interpretieren, wenn man es lange nicht mehr benutzt hat. Zum Glück habe ich jetzt im Web einen schönen Artikel gefunden, der die Systemanalyse mit top erläutert.

Auf www.pc-erfahrung.de habe ich den Artikel Linux – Systemauslastung analysieren, Schwachstellen finden entdeckt, welcher eine umfangreiche Beschreibung von top und eine Erläuterung der wichtigsten Optionen bietet.

An dieser Stelle vielen Dank an den Autor.

Bildbearbeitung in der Kommandozeile

Auf Ausflügen und im Urlaub begleitet mich neben meiner Freundin meist auch meine kleine Canon IXUS, um die schönsten Urlaubsbilder festhalten zu können. Die Fotos mache ich meist mit der höchsten Auflösung. Falls ich später ein Bild in Postergröße drucken lassen möchte habe ich so keine Probleme wegen einer zu geringen Auflösung. Jedoch belegen Bilder in Hoher Auflösung schnell 3-4MB pro Bild was die SSD bei vielen Bildern sehr schnell füllt.

Zu den regelmäßigen Aufgaben nach dem Urlaub gehört daher das Bilder durchsehen und verkleinern. Denn zum Zeigen auf den Notebook oder Tablet reicht meist auch eine wesentlich kleinere Auflösung und man spart jede Menge Speicherplatz ein.

Das Verkleinern der Bilder erledige ich schnell und einfach auf der Kommandozeile. Dazu habe ich mir folgendes Skript erstellt, dem ich beim Aufruf die gewünschte Auflösung mitgebe und schon wandelt es alle Bilder im angegebenen Verzeichnis um. Dabei werden keine neuen Dateien angelegt, sondern die vorhandenen bearbeitet. Daher sollte man sicher sein welche Auflösung man will.

#!/bin/bash
# Bildgroesse reduzieren und Seitenverhaeltnis beibehalten
# Die gewuenschte Aufloesung wird abgefragt
# Author: Joerg Kastning
# Lizenz: GPLv3
# Programmbeginn
read -p "Bitte die gewünschte Auflösung eingeben (z.B. 1600): " aufloesung
ls -1 *.JPG *.jpg | while read file;
do {
mogrify -resize "$aufloesung"x"$aufloesung" "$file"
echo "Bild $file wird verkleinert."
}
done
echo "Die Bearbeitung ist beendet."
exit

Möchte man seine Bilder nun noch ins Web hochladen, um sie mit Freunden zu teilen kann man den Bildern ein Wasserzeichen hinzufügen. Wasserzeichen schützen eure Bilder davor, dass andere sie als ihren eigenen Schnappschuss ausgeben. Denn sind eure Bilder erstmal im Netz kann sie dort so gut wie jeder finden und kopieren. Beim hinzufügen der Wasserzeichen hilft das folgende Skript welches ich im Wiki von Ubuntuusers gefunden habe.

#!/bin/bash
# Wasserzeichentext in alle JPEG Bilder aus diesen Verzeichnis einfuegen
# Der Wasserzeichentext wird unten links ins Bild eingebracht
# Sie koennen folgende Parameter anpassen:
Textabstandvonlinks=10
Textabstandvonunten=10
Schriftgroesse=10
PfadFonts="/usr/share/fonts/truetype/msttcorefonts"
# Pfad ist je nach Distribution unterschiedlich!
Schriftart="Arial.ttf"
Schriftfarbe="white"
# Moegliche Farben koennen aufgelistet werden mit dem Befehl: convert -list color
Wasserzeichentext="Copyright Joerg Kastning"
# Programmbeginn
echo "Textabstand von links: $Textabstandvonlinks"
echo "Textabstand von unten: $Textabstandvonunten"
echo "Schriftgoesse: $Schriftgroesse"
echo "Schriftart: $Schriftart"
echo "Schriftfarbe: $Schriftfarbe"
echo "Wasserzeichentext: $Wasserzeichentext"
echo " "
ls -1 *.JPG *.jpg | while read file;
do {
horizontal=`identify -verbose $file | grep Geometry: | awk {'print $2'} |cut -d"x" -f 1`
vertikal=`identify -verbose $file | grep Geometry: | awk {'print $2'} |cut -d"x" -f 2`
X=$Textabstandvonlinks
Y=$(($vertikal - $Textabstandvonunten))
convert
-font $PfadFonts/$Schriftart -pointsize $Schriftgroesse -fill
$Schriftfarbe -draw "text $X, $Y '$Wasserzeichentext'" "$file"
"`basename Wasserzeichen_"$file"`";
echo "Bearbeite Datei $file"
}
done
echo "Wasserzeichen wurden erfolgreich eingearbeitet"
exit
# Programmende

Diese beiden Skripts machen aus der Skalierung und dem Hinzufügen von Wasserzeichen ein Kinderspiel. So macht Bildbearbeitung in der Kommandozeile Spaß.

Ergänzung vom 15.12.2017

Beim Aufräumen und Sortieren meiner Bilder entstand eine neue Anforderung, die ich mit den beiden bisherigen Skripten nicht abdecken konnte. Datum und Uhrzeit der Aufnahme, sollten aus den EXIF-Informationen extrahiert und in den Dateinamen kodiert werden. Diese Aufgabe werde ich fortan mit folgendem Python-Skript erledigen:

#!/usr/bin/env python3
# -*- encoding: utf-8 -*-
#
# Beschreibung:
# Dieses Skript dient der Verarbeitung von JPEG-Dateien. Es wertet das
# Attribut 'EXIF DateTimeOriginal' aus und benennt die verbeiteten Dateien
# um, so dass diese dem Muster '_img.jpg' entsprechen.
#
# Autor:    Tronde (https://ubuntuusers.de/user/Tronde/)
# Lizenz:   GPLv3 (http://www.gnu.de/documents/gpl.de.html)

import os
import exifread
import argparse

def main():
    parser = argparse.ArgumentParser(description="Dieses Skript dient der Verarbeitung von JPEG-Dateien. Es wertet das Attribut 'EXIF DateTimeOriginal' aus und benennt die verbeiteten Dateien um, so dass diese dem Muster  entsprechen.")
    parser.add_argument("-s", "--source-dir", required=False, default='.', dest="src", help="Quell-Verzeichnis mit den zu verarbeitenden JPEG-Dateien.")

    args = parser.parse_args()
    
    src = args.src

    os.chdir(src)
    for file in os.listdir(src):
        if file.endswith(".jpg") or file.endswith(".JPG"):
            f = open(file, 'rb')
            tags = exifread.process_file(f, details=False, stop_tag='EXIF DateTimeOriginal')
            str_DateTime = str(tags['EXIF DateTimeOriginal']).split()
            str_Date = str(str_DateTime[0]).split(':')
            str_Time = str(str_DateTime[1]).split(':')
            Date = str_Date[0] + "-" + str_Date[1] + "-" + str_Date[2]
            Time = str_Time[0] + str_Time[1] + str_Time[2]
            fname = Date + "T" + Time + "_img.jpg"
#            print(fname)
            os.rename(file,fname)

if __name__ == "__main__":
main()

Das obige Skript

  1. liest alle JPG-Dateien eines Verzeichnisses ein,
  2. wertet die EXIF-Informationen aus und
  3. benennt die verbeiteten Dateien um, so dass diese dem Muster ‚_img.jpg‘ entsprechen.

Alles Skripte finden sich auch auf GitHub im Repository: https://github.com/Tronde/Bildbearbeitung

T-Online Mediencenter in Ubuntu einbinden

Mit dem T-Online Mediencenter bietet die Telekom einen Cloudspeicherdienst mit 25GB
Speicherkapazität. Dieser Artikel schreibt wie man das Mediencenter als Datenspeicher in Ubuntu/Linux einhängen kann, um es komfortabel mit dem Dateimanager oder über die Shell nutzen zu können.

Wie viele andere Speicherdienste kann auch das Mediencenter über den Webbrowser
genutzt werden. Die Software zur Synchronisation und zum Zugriff gibt es jedoch nur für Windows. Ein Softwareclient für Linux ist auch nicht in Planung. Es besteht jedoch die Möglichkeit das Mediencenter mittels WebDAV in das lokale Dateisystem einzuhängen. Die folgende Anleitung beschreibt wie dies funktioniert.

Quelle: http://skripta.de/Davfs2.html

T-Online-Cloud (Mediencenter) unter Linux einbinden
===================================================

Anmerkung: Die folgende Kurzanleitung wurde aus verschiedenen 
aehnlich lautenden Online-Anleitungen zusammengestellt und getestet.
z.B.:
http://anderes-en.de/blog.php?mode=view&blog=11
http://blog.philippklaus.de/2010/04/mount-t-online-mediencenter-via-webdav/

Es wurden nur geringfuegige Aenderungen vorgenommen. 

=======================================================

Paket davfs2 installieren:

    * sudo apt-get install davfs2

Berechtigungen fuer den Benutzer (username = lokaler Linux-Anmeldename) setzen:

    * sudo chmod u+s /usr/sbin/mount.davfs
    * sudo usermod -a -G davfs2 username

Im Home-Verzeichnis den spaeteren Mountpoint (Verzeichnis) erstellen:

    * mkdir ~/Mediencenter

Jetzt zur fstab:

     * cd /etc
     * sudo nano fstab

und folgendes am Ende eintragen (username = lokaler Linux-Anmeldename):

     * # T-Online Mediencenter
     * https://webdav.mediencenter.t-online.de/ /home/username/Mediencenter davfs rw,noauto,user 0 0

Datei secrets erstellen und editieren 

     * cd ~
     * mkdir ~/.davfs2
     * touch ~/.davfs2/secrets
     * chmod 600 ~/.davfs2/secrets
     * nano ~/.davfs2/secrets

In die Datei ~/.davfs2/secrets folgendes eintragen (username = lokaler Anmeldename) und 
fuer anmeldung@t-online.de sowie password die T-Online-Zugangsdaten eintragen:

     * /home/username/Mediencenter anmeldung@t-online.de password

Dann die davfs2.conf kopieren und editieren:

     * cp /etc/davfs2/davfs2.conf ~/.davfs2/
     * nano ~/.davfs2/davfs2.conf

Die dort vorhanden Settings auf folgende Werte aendern und das # davor entfernen:

     * if_match_bug 1
     * use_locks 0
     * cache_size 1 # MiByte
     * table_size 4096
     * delay_upload 1
     * gui_optimize 1

Jetzt kann man mit mount ~/Mediencenter das Online-Verzeichnis einhaengen 
ohne Eingabe der Zugangsdaten.

TeamDrive Personal Server als Dienst konfigurieren

Dieses Tutorial beschreibt wie man den TeamDrive Personal Server als Benutzer ausführt und ein Startskript anlegt. Es baut dabei auf das Tutorial TeamDrive 3 Server auf NAS installieren auf.

Bisher wird der TeamDrive Server als Benutzer root ausgeführt. Dies birgt gewisse Risiken. So könnte ein Angreifer durch ausnutzen einer evtl. vorhandenen Schwachstelle in der TeamDrive Software Zugriff auf das System erlangen, auf dem der  Server läuft. Um dies zu verhindern soll TeamDrive mit den Berechtigungen eines normalen Benutzers ausgeführt werden. Dieser Benutzer wird nur zum Betrieb des Dienstes benötigt und verfügt deshalb weder über eine Shell noch über ein Home-Directory.

Auf einem Ubuntu-System sind die unten stehenden Befehle mit sudo auszuführen.

Und los geht’s mit dem Anlegen eines Benutzers:
useradd -s /bin/false -d /bin/null tdpsd

Nun vergeben wir ein Passwort für den Benutzer:
passwd tdpsd

Damit der Benutzer den TDPS auch starten kann geben wir ihm die Berechtigungen für das Programmverzeichnis:
chown -R tdpsd:tdpsd /opt/tdpsd/

Als nächstes braucht man das Startscript. Dieses kann unter https://www.my-it-brain.de/wordpress/wp-content/uploads/2012/10/tdpsd.tar.gz heruntergeladen werden. Oder direkt auf dem Server mit:
wget https://www.my-it-brain.de/wordpress/wp-content/uploads/2012/10/tdpsd.tar.gz

Das Script muss aus dem Archiv entpack, im Pfad /etc/init.d abgelegt und mit den notwendigen Dateirechten versehen werden.
chmod 755 /etc/init.d/tdpsd

Und schon können wir den Server mit dem Befehl
service tdpsd start
starten.

Damit der TDPS zukünftig automatisch startet ist noch folgender Befehl notwendig:
update-rc.d -f tdpsd defaults

Und fertig. :-)

Quelle:

Dieses Tutorial enstand aus der Vorlage des englischsprachigen Tutoraials aus dem TeamDrive Forum. Dieses wurde von dem Benutzer SFu erstellt.

TeamDrive 3 Server auf NAS installieren

In diesem Artikel beschreibe ich die Installation des TeamDrive 3 Server auf meiner Buffalo Linkstation HS-DH500GL.

TeamDrive ist ein Cloud-Dienst ähnlich wie Dropbox oder Wuala. Ein Vorteil von TeamDirve ist, dass man die Möglichkeit hat eigene Cloud-Server zur Speicherung der der Spaces nutzen zu können. So kann man besser die Kontrolle darüber behalten, wo die eigenen Daten gespeichert werden. Und einen solchen Server möchte ich heute auf meinem NAS installieren, welches bei mir daheim im Wohnzimmer steht.

Voraussetzung ist die Installation von Debian auf dem NAS. Ist diese Voraussetzung erfüllt und man kann sich mit SSH auf dem NAS einloggen kann es auch schon losgehen.

  1. Als erstes lädt man das aktuelle Installationpaket von der TeamDrive Downloadseite herunter. Dies geht in der Konsole mit dem Befehl:
    wget http://s3-eu-west-1.amazonaws.com/s3download.teamdrive.net/TeamDrivePersonalServerLinux_10044-ARM.tar.gz
  2. Ich möchte den TeamDrive Server unter /opt installieren. Daher wechsel ich mit cd /opt das Verzeichnis und entpacke das Archiv mit dem Befehl
    tar -xzvf /root/TeamDrivePersonalServerLinux_10044-ARM.tar.gz
  3. Wechselt in das Verzeichnis tdpsd.
  4. Nun vergibt man ein Passwort für den TD Server. Das Passwort soll als MD5-Hash verschlüsselt werden. Dazu bringt der TD Server bereits ein Programm mit, so dass man diesen Schritt mit dem Befehl ./tdps-md5pwd [meinPasswort] erledigt.
  5. Das Passwort und den dazugehörigen Hash sollte man an einem sicheren Ort speichern. Ich verwende dafür KeePassX.
  6. Der Hash wird als nächstes in die Konfigurationsdatei tdps.config hinter dem Parameter server-password= eingetragen.
  7. Hinter dem Parameter server-host= gibt man die IP-Adresse oder den DNS-Namen des Servers an. Z.B. server-host=meinServer.dyndns.org. Befindet sich der TD Server hinter einem Router oder einer Firewall ist eine entsprechende Portweiterleitung für den Port 37655 einzurichten. Die restlichen Einstellungen können wie voreingestellt übernommen werden.
  8. Der Server kann nun mit dem Befehl ./tdpsd gestartet werden. Möchte man den Status des Servers überprüfen startet man ihn mit dem Befehl ./watch-tdps. Der Status wird in der Konsole ausgegeben und in einer Log-Datei protokolliert.

Damit ist es auch schon vollbracht. Der TeamDrive Personal Server kann nun auf TeamDrive Clients eingerichtet und zur Synchronisation der Spaces benutzt werden.

Quellen:
TeamDrive Homepage
TeamDrive Handbücher und Tutorials

Debian auf einer Buffalo Linkstation installieren

2022-02-02: Leider führt dieser Artikel nicht mehr zum Ziel, da referenzierte Anleitungen und Dokumentation nicht mehr verfügbar sind. Leider fehlt mir aktuell die Zeit diesen Artikel zu überarbeiten, um ihn zu aktualisieren.

Beim Aufräumen ist mir meine alte Buffalo Linkstation HS-DH500GL wieder in die Hände gefallen. Mit dem vorhandenen embedded Linux war sie nicht wirklich gut zu gebrauchen. Schnell kam mir die Idee ein anderes OS auf das NAS zu bringen. Und los geht’s:

  • Projektziel: Ein Debian Linux auf dem NAS.
  • Projektstart: Wir bemühen eine Suchmaschine unserer Wahl. ;-)

Es sei noch gesagt, um den Informationen in diesem Artikel folgen zu können sind Kenntnisse von Debian Linux notwendig. Man sollte wissen wie man auf der Shell arbeitet und das Netzwerk unter Linux konfiguriert. Ausserdem muss man der englischen Sprache mächtig sein, da ich zu großen Teilen auf englische Tutorials verweise.

Bei der Internetrecherche bin ich auf die Seite NAS-Central.org gestoßen. Hier fand ich alle Informationen, um Debian auf meiner Linkstation zu installiern.

Angefangen habe ich mit der Anleitung zur Installation von FreeLink. Der Anleitung kann ich nichts mehr hinzu fügen. Ihr müsste sie nur Schritt für Schritt befolgen und genau lesen was dort steht. ;-)

Die Installation von FreeLink bildet die Grundlage für unsere Installation von Debian Squeeze. Auch dafür finden wir eine hervoragende Anleitung auf NAS-Central. Auch hier gilt es genau zu lesen. Damit erspart man sich unnötige Fehler. Ich habe mich in Abschnitt 3 an Punkt 3.1.3 gehalten, da ich kein DEB-Paket für uboot-envtools von Lenny mehr im Web finden konnte.

Bevor ich mit dem debian-installer durchstarten konnte, hatte ich noch mit einem Problem bei der Netzwerkonfiguration zu kämpfen. Meine LinkStation bootete mit einer statischen IP-Adresse, die sich im Debian Installer nicht ändern lies. Mittlerweile habe ich diese Hürde überwunden. Es muss an der Netzwerkkonfiguration in unserer Firma oder an einem „Layer 8“-Problem gelegen zu haben. Daheim habe ich mein Netzwerk für die Installation auf das 192.168.11.0/24 Subnetz konfiguriert und die LinkStation gestartet. Sie bekam eine IP von meinem DHCP-Server und ich konnte den Debian-Installer ausführen.

Nun habe ich ein Debian Squeeze auf meiner LinkStation. :-) Sie soll in Zukunft als NAS und BOINC-Client in meinem Netzwerk dienen.

Also worauf wartet ihr noch? Befreit euer NAS!

Easy Servermigration mit RSYNC

Soll ein Linux-Server auf eine neue Hardware umziehen, stehen uns hier mehrere Wege offen. Ich selbst habe die letzte Migration dieser Art mit RSYNC durchgeführt. Dies hat so gut geklappt, dass ich euch hier beschreiben möchte, wie dabei vorzugehen ist.

Ich habe mich für die folgende Vorgehensweise entschieden.

  1. Installation der Linuxdistribution des Quellsystems auf der neuen Hardware. Z.B. Quelle = Ubuntu Server 11.10 und Ziel = Ubuntu Server 11.10.
  2. Das Netzwerkinterface wird auf eine freie IP Adresse aus dem Netz konfiguriert, in dem sich auch das Quellsystem befindet.
  3. Für die Migration aktivieren wir auf dem Zielsystem den root-Account, in dem wir ihm ein Passwort geben -> sudo passwd root
  4. Um vom Quellsystem auf den neuen Server zugreifen  zu können installieren wir einen SSH-Server und richten uns den Zugriff über Public-Keys ein. Wie dies funktioniert wird sehr gut im Artikel SSH im Ubuntuusers Wiki erklärt.
  5. Auf dem neuen Server sollen nach der Migration die gleichen Pakete installiert sein wie auf dem Quellsystem. Dazu erstellt man auf dem Quellsystem mit dpkg –get-selections | awk ‚!/deinstall|purge|hold/ {print $1}‘ > ~/packages.listeine Liste aller installierten Pakete. Damit bei der Installation dieser Pakete die gleichen Paketquellen wie auf dem Quellsystem verwendet werden sichern wir diese ebenfalls mit find
    find /etc/apt/sources.list* -type f -name '*.list' -exec bash -c 'echo -e "\n## $1 ";grep "^[[:space:]]*[^#[:space:]]" ${1}' _ {} \; > sources.list.save

    in eine Datei. Diese beiden Dateien übertragen wir nun via SCP auf das Zielsystem.

  6. Nun kopiert man die sources.list.sav nach /etc/apt/sources.list und führt anschließend mit apt-get updateein Update der Quellen durch. Mit dem folgenden Befehl werden die Pakete aus der zuvor erstellten Liste installiert. ->
    xargs -a „packages.list“ sudo apt-get install
  7. Jetzt ist die Migration schon fast geschafft. Als nächsten kopieren wir uns die /etc/fstab und /etc/network/interfaces um später noch auf Infos aus diesen Dateien arbeiten zu können. Im letzten Schritt kopieren wir mit rsync -avz Quelle root@Zielhost:/ die benötigten Verzeichnisse und Dateien auf unser Zielsystem. Wird RSYNC als root ausgeführt werden dabei automatisch alle Zugriffsrechte beibehalten.
  8. Nachdem RSYNC durchgelaufen ist müssen nur noch die Dateien /etc/fstab und /etc/network/interfaces kontrolliert werden, damit der Server nach einem Reboot seine Festplatten findet und mit der IP-Konfiguration des Quellsystem startet. Das Quellsystem sollte nun vom Netzwerk getrennt werden.

Jetzt fehlt nur noch ein Neustart des neuen Servers und schon ist die Migration abgeschlossen. Das es so einfach geht hätte ich vorher selbst nicht gedacht. Aber nach der ersten Erfahrung werde ich bei der nächsten Migration wieder zu diesem Mittel greifen.

Vorstellung freiesMagazin

In diesem Artikel möchte ich auf das kostenlose und online erscheinende Magazin „freiesMagazin“ hinweisen. Was ist freiesMagazin?

freiesMagazin berichtet monatlich über Wissenswertes und Neues aus den Welten Freier Software, Open Source und Linux. Was 2005 als loser Newsletter begann, reifte mit der Zeit durch Akzeptanz und Teilnahme der Linux-Community zum regelmäßig erscheinenden Magazin. Getreu dem Motto „der Community etwas an Wissen, Spaß und Freude zurückzugeben“ laden wir auch weiterhin Autoren zum Wissensaustausch ein.

Neben interessanten Hintergrundartikeln und Neuvorstellungen gefallen mir auch die Artikelreihen, welche als Tutorial in Skript- und Programmiersprachen wie PHP, Perl, Java oder die Objektorientierte Programmierung allgemein einführen.

Die Ausgaben sind als PDF-, HTML- und EPUB-Version verfügbar. Bei dieser Aufwahl lässt sich das Magazin auf so gut wie jedem elektronischen Device gut lesen. Sei es der PC, das Notebook, Tablet oder eReader. Für mobile Geräte werden auch Versionen ohne Bilder bereitgestellt, um Speicherplatz zu sparen.

Somit ist es für mich ein leichtes alle Ausgaben der Jahre 2008 – 2011 auf meinem Kindle dabei zu haben. Damit man leichter die Übersicht behält gibt es für jedes Jahr einen Index, welcher alle erschienen Artikel aufführt und dem man entnehmen kann in welcher Ausgabe ein Artikel erschienen ist.

Die Jahressammlungen werden auch zum Download als *.tar.gz Archiv angeboten. Auf der Seite www.freiesmagazin.de/mobil gibt es die HTML-Versionen mit und ohne Bilder. Mit dem Programm wget und dem folgenden kurzen Bash-Skript könnt ihr euch alle Ausgaben automatisch auf euren Rechner laden.

#!/bin/bash
# Downloader für freiesMagazin HTML-Ausgaben
for i in {2008..2011}
do
for j in {01..12}
do
wget http://www.freiesmagazin.de/mobil/freiesMagazin-${i}-${j}.html
done
done

echo „Download abgeschlossen.“

Und nun wünsche ich euch viel Spaß beim Lesen. ;-)