Ubuntu unter Windows ausprobiert
Erste Tests
Der Start von bash im Windows-Menü öffnet ein neues, cmd.exe-ähnliches Fenster mit Ubuntu-Logo. Der Prompt ist anders (root@localhost), und auch sonst hat das Fenster mehr Ähnlichkeiten mit einem Linux-Terminal als mit cmd.exe. Sogar die Farbdarstellung funktioniert, z.B. bei grep oder ls.
dpkg -l zeigt, das standardmäßig beachtliche 437 Ubuntu-Pakete installiert sind, unter anderem: apt, bash, cron, dpkg, nano, openssh-client und -server, openssl, perl, python (Version 2.7 und 3.4), rsync, sed, sudo, tar, upstart und vim. Die Paketverwaltung funktioniert wie in Debian/Ubuntu gewohnt, Sie können also problemlos weitere Pakete mit apt-get install installieren. sources.list enthält übrigens die ganz gewöhnlichen Ubuntu-Paketquellen, keine speziellen, für Windows optimierte/kompilierte Pakete!
cat /etc/apt/sources.list deb http://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse deb http://security.ubuntu.com/ubuntu trusty-security main restricted universe multiverse
Netzwerkfunktionen
Hier gibt es noch große Probleme. ping google.at
liefert die Fehlermeldung »Socket type not supported«. ssh meinserver
funktioniert problemlos. Die Kommandos ip addr
und ifconfig
liefern aber wieder Fehler (»cannot open netlink socket« bzw. »cannot open /proc/net/dev«).
Zeit
date zeigt die GMT-Zeit an. Es ist aber möglich, die Zeitzone zu ändern:
ln -s -f /usr/share/zoneinfo/Europe/Berlin /etc/localtime
Init-System
Da Ubuntu 14.04 als Basis dient, ist Upstart als Init-System installiert. Es scheint aber momentan nur wenige Funktionen (keine?) zu bieten. ps ax
zeigt, dass standardmäßig überhaupt keine Hintergrundprozesse laufen. Die Prozessliste besteht nur aus /init, /bin/bash und ps.
Der Versuch, den installierten ssh-Server zu starten, scheitert:
service ssh start initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: No such file or directory
Auch das direkte Ausführen des Init-Skripts führt zu einem Fehler:
/etc/init.d/ssh start * /dev/null is not a character device!
Nun habe ich versucht, sshd manuell zu starten — leider weiterhin ohne Erfolg:
dpkg-reconfigure openssh-server Creating SSH2 RSA key; this may take some time ... Creating SSH2 DSA key; this may take some time ... Creating SSH2 ECDSA key; this may take some time ... Creating SSH2 ED25519 key; this may take some time ... initctl: Unable to connect to Upstart: ... /dev/null is not a character device! /usr/sbin/sshd -D &
sshd läuft jetzt im Hintergrund, lässt sich aber nicht verwenden. (ssh localhost
führt zum Fehler »Connection closed by 127.0.0.1«.) An dieser Stelle habe ich aufgegeben — und auch gleich auf alle Versuche verzichtet, als nächstes Apache einzurichten.
Losgelöst von diesen Detailproblemen ist mir unklar, wie das Linux-Subsystem mit Hintergrunddiensten umgehen wird: Sollen alle Linux-Prozesse mit dem Schließen des bash-Fensters enden? Werden die laufenden Prozesse dann wenigstens ordentlich hinuntergefahren? (Man denke etwa an Datenbank-Server...)