Symlinks mit WinXP und WinVista

Vor kurzem musste ich wieder mal Junctions (Symlinks) unter Windows einrichten. Da die Erkenntnisse wieder frisch sind, nutze ich die Gelegenheit diese in diesem Blogpost nieder zu schreiben.

Symlinks werden unter Linux sehr häufig genutzt. Ein Beispiel:

ln -s /mnt/laufwerk /home/user/laufwerk

Windows kennt in den grafischen Tools solche Symlinks nicht. Erst seit Windows Vista und Server 2008 gibt es den Befehl mlink

c:\>mklink c:\symlinkfile d:\originalfile
c:\>mklink /d "c:\symlinkfolder" "c:\path\to\real folder"
c:\>mklink /d c:\netshare \\xp-server\real_netshare

Für Windows Server 2003 und Windows XP gibt es zwei Lösungen. Das Programm junction.exe oder linkd.exe aus den Windows 2003 Resource Kit Tools.

Die Befehle sind in der Kommandozeile auszuführen.

c:\>junction.exe "c:\symlinkfolder" "d:\path\to\real folder"

oder

c:\>linkd.exe "c:\symlinkfolder" "d:\path\to\real folder"

Um einen Symlink zu löschen, benutzt man folgenden Code:


c:\>rmdir /s /q "c:\symlinkfolder"
c:\>rmdir /s /q c:\netshare
c:\>junction.exe -d "c:\symlinkfolder"
c:\>linkd.exe "c:\symlinkfolder" /D
c:\>erase c:\symlinkfolder

Weitere Infos

Die Symlinks unter Vista/Server 2008 wurden im Tippsblog detailiert vorgestellt.

junction.exe
Windows 2003 Resource Kit Tools

Nx NoMachine

NX ist eine Remote-Desktop-Software der italienischen Firma NoMachine, die mit Ausnahme der zentralen Client- und Serverapplikation unter der GNU GPL steht. Mit NX kann man den Bildschirminhalt eines entfernten Computers auf einen lokalen Rechner (auch betriebssystemübergreifend) übertragen und damit arbeiten, als säße man direkt davor (vgl. Thin Client). (Text Quelle Wikipedia)

Der Zugriff auf einen NX Server erfolgt über eine Client-Software von Linux, Windows und Mac. Zusätzlich kann man auf dem NX Server ein JavaApplet bereit stellen, welches eine Verbindung ohne vorgängige Installation einer Software ermöglicht.

Die Verbindung zum NX Server ist mit SSH Verschlüsselt. Dank der ausgeklügelten Technologie ist auch ein Arbeiten bei einer 40Kbit Verbindung kein Problem. Es  ist möglich über NX einzelne Applikationen zu Starten oder auf den ganzen Desktop zu verbinden. Des weiteren ist es möglich über den NX Server per Remotedesktop Weiterleitung auf einen Windows-Server zuzugreifen. Daneben integriert die NX-Technologie Audio und Druckdienste.

Damit eignet sich die NX-Technologie optimal für Thin-Client Umgebungen in denen auch Heimarbeitsplätze über langsame Modem- oder ISDN-Verbindungn realisiert werden sollen. Die Software kann auf der Hersteller Seite heruntergeladen werden und ist für den Privatanwender kostenlos.

Daneben besteht das Projekt FreeNX welches eine komplett freie Version des NX NoMachine Servers ist.

Ich setze NX bereits seit mehreren Jahren erfolgreich ein.

Hier ein paar Links zum Thema:

NoMachine
Wikipedia Artikel
Pro Linux Artikel

GNU Screen

GNU Screen ist ein Konsolenprogramm mit der man mehrere virtuelle Konsolen eröffnen kann. Der Vorteil von Screen liegt darin, dass die Screen Sessions nach dem Ausloggen auf dem Server offen bleiben. Somit kann ein Programm gestartet werden und bleibt laufen obwohl man ausgeloggt ist.

Ein weiterer Vorteil von Screen, ist das Session Sharing. So können zwei verschiedene Personen auf der gleichen Screen Session arbeiten. Das heisst, beide sehen gleichzeitig die Eingaben des anderen. Ich habe dies schon mehrfach bei komplizierteren Operationen an Servern oder zur Schulung benutzt.

Screen ist bei den meisten Linux Distributionen enthalten oder kann aus den Quellen installiert werden.


screen -> startet eine Shell. Auch "screen programm"
Strg+a in Verbindung mit weiteren Tastenkombinationen für Befehle ausführen
Strg+a, c für weitere virtuelle konsolen.
Strg+a, Leertaste zum zwischen den virtuellen Shells zu switchen
Strg+a, d wird screen verlassen läuft aber im Hintergrund
screen -r zum Sitzung wiederherstellen (z.B. nach erneutem Login)
screen -x --> Session Sharing (wird durch die zweite Person ausgeführt)

imapsync – Mails vom alten auf das neue IMAP Konto verschieben

imapsync kopiert Mails vom alten auf den neuen IMAP-Server oder archiviert Mailinglisten-Archive auf einem zweiten Server.

Vor längerem musste ich ein sehr grosses IMAP Konto von einem alten Server auf den neuen zügeln. Eine Lösung mit Thunderbird oder ähnlichem schlug dabei fehl. Thunderbird kopierte zwar munter, Schlussendlich waren jedoch diverse Mails einfach nicht mehr auffindbar. DAS Tool für diesen Job ist imapsync. Es sticht jede mir bekannt Anwendung zum synchronisieren bzw backupen eines IMAPs Kontos aus. imapsync wurde von Gilles Lamiral entwickelt. Der Autor führt – gestützt auf Erfolgsberichte von Benutzern – über 30 IMAP-Server auf, mit denen sein Programm arbeitet, darunter auch große Kaliber wie Exchange und Notes.

Das Perl-Skript, das einige gängige Bibliotheken aus dem Comprehensive Perl Archive Network (CPAN) braucht, ist auf Unix-Systemen zu Hause, sollte aber auch auf Windows mit installiertem ActiveState Perl laufen. Für viele Linux-Distributionen ist es als fertiges Paket zu haben. Die Bedienung muss man auf der Kommandozeile erledigen. Das Programm kennt mehrere Dutzend Parameter, um die Art der Übertragung von einem Server auf den anderen zu steuern, etwa Benutzerkonten und Server anzugeben, SSL-Optionen zu setzen und nur einen Teil der Nachrichten auszuwählen.

imapsync herunterladen


# Syntax
imapsync --dry --host1 imap.domain.ch --user1 olduser --password1 oldpassword --host2 imap.newdomain.ch --user2 newuser --password2 newpassword
#weitere Parameter
--prefix1 / --prefix2 Damit wird der Rootordner Name angegeben
--fast Synchronisieren ohne Syncdatei. Geht schneller.

Ubuntu – sudo für Benutzer einrichten

Vor kurzem musste ich wieder mal auf der Ubuntu Kiste für einen neuen User sudo einrichten. So halte ich nun hier die Befehle fest die es braucht um Sudo einzurichten.
Um sudo für einen User einzurichten muss in /etc/sudoers folgende Zeile ergänzt werden:


# Members of the admin group may gain root privilege
%admin ALL=(ALL) ALL

Zum Editieren sollte visudo verwendet werden.
Danach auf der Konsole folgende Befehle ausführen


# /usr/sbin/groupadd admin
# /usr/sbin/usermod -g admin Benutzer

Wird ein neuer Benutzer erstellt der dieser Gruppe zugeordnet werden soll:


# useradd -G GRUPPE USERNAME