saeftl und ich haben uns im Zuge unstillbarer Neugierde Plan 9 zugewendet. Dabei muß man alles vergessen, was man vorher über UNIX gelernt hat, sonst kommt man unfehlbar vom rechten Weg ab. Damit wir nicht das nächste Mal noch einmal so lange brauchen, hier die wichtigsten Ergebnisse:
- Vnfs verteilt evtl venti-volumes per NFS, nicht umgekehrt
- Es gibt mehrere Moeglichkeiten an die sourcen zu kommen.
- bell-labs:
- 9fs sources mountet anonym unter /n/sources
- pull updated die sourcen von bell-labs
- 9grid.de
- import tcp!ddr.9grid.de /dist/sources mountet mit account nach /n/sources
- bell-labs:
- Im contrib dir sind interessante Sachen, u.a. der webbrowser abaco (contrib/fgb)
compilieren webfs abaco
- in /sys/doc sind viele papers
- vac speichert auch das current dir als ".". Boese Fehlerquelle.
- mit 9p {read,write,ls} kann man auch unter unix in trees von vacfs rumlaufen.
- kein $path ! wenn in $home/bin/{rc,386}/ ein ausfuehrbares file liegt, wird es unter /bin sichtbar ( bind -a $home/bin/rc /bin ), und wird statt dem eventuell schon vorhandenen command genommen.
- Um einen Eindruck der Fileserverigkeit zu kriegen: netcat (as in 'nc hostname port') als fuenf zeilen shellskript:
#!/bin/rc { num=`{cat} echo connect $1!$2 > /net/tcp/$num/ctl cat /net/tcp/$num/data } < /net/tcp/clone
- /net/tcp/clone ist ein magisches file, dass immer einen neuen filedescriptor fuer tcp connections ausspuckt. Gleichzeitig erscheint magisch ein Verzeichnis /net/tcp/$num/. In dem gibts u.a. ein ctl file, in das man commando-strings schreiben kann. Wir schreiben "connect $hostname!$port" rein. Nachdem wir so eine tcp Verbindung gebaut haben, lesen wir die daten, die uns die Gegenseite schickt aus data.
- Anderes Beispiel: unter /mnt/wsys liegt das filesys vom Windowmanager rio. Zu jedem Fenster gibts ein subdir in /mnt/wsys/wsys/$nummer. Da drin sind u.a der titel des Fensters.