Bei der Verwendung des SSH Clients Putty und einer standard Debian Etch/Lenny/Ubuntu installation kommt es bei der Anzeige von diversen Anwendungen die auf ncurses setzen, z.B. aptitude, zu fehlerhaften Zeichendarstellungen der Menüfenster. Mit folgenden Einstellungen in der Putty Verbindung lassen sich diese Darstellungsfehler vermeiden:
Window -> Translation -> Received data assumed to be in which character set: UTF-8
Window -> Translation -> Handling of line drawing characters: Use Unicode line drawing code points
Nach einem langen Nachmittag und etlichen Versuchen hatte ich endlich herrausgefunden wie man unter Debian Etch den chroot Modus bei SCPonly zum laufen bekommt. Bei der installation mit aptitude install scponly entsteht das 1. Problem: Das SetUid Bit wird nicht auf die Datei /usr/sbin/scponlyc gesetzt. Dies lässt sich mit dpkg-reconfigure scponly dauerhaft setzen. Dann kommt man zu Problem Nr. 2: scponlyc ist nicht als gültige Shell eingetragen. Dies löst man ganz einfach mit einem echo "/usr/sbin/scponlyc" >> /etc/shells Anschließend kann man die Datei /usr/share/doc/scponly/setup_chroot/setup_chroot.sh.gz entpacken: gunzip /usr/share/doc/scponly/setup_chroot/setup_chroot.sh.gz und ausführen. Es wird eine chroot Umgebung für den angegebenen Benutzer erstellt. Allerdings kann man sich immer noch nicht mit Tools wie WinSCP anmelden (Fehlermeldung: „Cannot initialize SFTP protocol. Is the host running a SFTP server?“). Und hier kommt die Lösung: Es gibt in der chroot Umgebung kein /dev/null Device. Um das Device anzulegen wechselt man zuerst mittels cd /home/ in das Verzeichnis des Benutzers. Anschließend legt man mit mkdir dev das Verzeichnis an und wechselt mit cd dev in selbiges. Mit dem Befehl mknod -m 666 null c 1 3 legt man das null Device an. Damit klappts auch mit Debian und SCPonly in einer chroot Umgebung 🙂
Sollte jemand in der Datei „c:WindowsWindowsUpdate.log“ folgende Meldungen finden FATAL: Error: 0x80004002. wuauclt handler: failed to spawn COM server
FATAL: 0x80004002: ERROR: Remote update handler container process created (PID: 1048), but exited before signaling event
und der Windows Update Dienst auch seinen Dienst nicht verrichten gibt es folgende einfache Lösung:
Man muss die Komponenten des Windows Update Dienstes neu registrieren: regsvr32.exe c:winntsystem32wuweb.dll
regsvr32.exe c:winntsystem32wups2.dll
regsvr32.exe c:winntsystem32wups.dll
regsvr32.exe c:winntsystem32wucltui.dll
regsvr32.exe c:winntsystem32wuaueng1.dll
regsvr32.exe c:winntsystem32wuaueng.dll
regsvr32.exe c:winntsystem32wuapi.dll
Anschließend muss man den Windows Update Dienst neu starten. Das gelingt mit folgendem Befehl: net stop wuauserv
net start wuauserv
Zum Schluss kann man mit wuauclt /detectnowden WSUS Dienst zum sofortigen Update suchen bewegen.
Bei einem Besuch in Regensburg auf der Walhalla sind folgende Aufnahmen entstanden. Dachte ich mir mach ich ein paar Experimente mit HDR. Herausgekommen ist das hier:
Unter bestimmten umständen kann es vorkommen dass man den Explorer Prozess unter Windows (der die Taskleiste etc darstellt) sauber beenden muss. Mit sauber meine ich ohne ihn im Taskmanager abzuschießen. Dies kann man folgendermaßen erreichen.
[Start] –> [Herrunterfahren]
Anschließend klickt man im aufgehenden Fenster bei gedrückter STRG+ALT+SHIFT Taste auf „Abbrechen“. Nun beendet sich der Explorer Prozess.
Um ihn erneut zu starten öffnet man den Taskmanager (STRG+SHIFT+ESC) und wählt im Menü Datei –> Ausführen die explorer.exe aus.
Wenn man unter Debian/Ubuntu etc. bei einem aptitude update folgende Meldung erhält: Paketlisten werden gelesen... Fehler!
E: Dynamic MMap ran out of room
E: Ein Fehler trat beim Bearbeiten von xmakemol-gl auf (NewVersion1)
E: Problem with MergeList /var/lib/apt/lists/ftp.de.debian.org_debian_dists_testing_main_binary-i386_Packages
E: Die Paketliste oder die Statusdatei konnte nicht geparst oder geöffnet werden.
E: Konnte den Paketcache nicht neu erzeugen
Gibt es folgende einfache Lösung:
Man legt unter /etc/apt/apt.conf.d eine neue Datei an (z.B. 71cachelimit). Anschließend schreibt man in die Datei folgenden Befehl um die Cache Größe zu erhöhen: APT::Cache-Limit "125000000";
Am Schluss kann man nochmals aptitude update ausführen.
Sollte man sich als Perl anfänger schon einmal die Frage gestellt haben ob es denn kein str_replace in Perl gibt, hier die einfache Antwort: NEIN
In Perl werden solche Konstrukte mit regulären Ausdrücken verarbeitet.
Als Beispiel:
Der Ausdruck : $variable_name = str_replace ("Hello", "World", $variable_name);
würde in Perl wie folgt geschrieben: $variable_name =~ s/Hello/World/g;