Willst Du UNIX auf der Kommandozeilenebene lernen? Ohne weitere Installation? Dann ist das SDF Public Access Unix System eine sehr einfache und lehrreiche Möglichkeit, um einzusteigen. Aber es ist auch eine Zeitreise zurück in die 80er und 90er Jahre. Man kann auch ganz ohne irgendein Programm auskommen, ein Browser genügt. Daher funktioniert das UNIX-lernen auch mit einem Handy oder mit einem Tablet. Aber man kann sich auch einen Client am Handy oder am PC installieren.
Ich habe einen solchen Zugang seit einiger Zeit in Verwendung und unternehme die ersten Gehversuche. Der Server steht in den USA und man hat einen klassischen Telnet-Zugang zu dem Server. Man benötigt daher einen Telnet-Client, um mit dem Server zu kommunizieren. Klingt kompliziert, ist es aber nicht. Ein klassisches „dummes“ Terminal der Vor-PC-Zeit wäre geeignet. Weil diese Geräte aber von der Bildfläche verschwunden sind, muss man sich behelfen. Entweder mit einer Webanwendung oder mit einem geeigneten Client, die ein solches Terminal nachbilden.
Meine Anwendungen
Damit das System nicht nur einmal ausprobiert wird und dann in einem Dornröschenschlaf versinkt, nutze ich es derzeit für folgende Anwendungen:
Test-Adresse in den USA: ping, traceroute, whois, geoip
Da sich dieser Unix-Server außerhalb unseres ClubComputer-Netzes befindet, ist er gut geeignet, mit ping zu überprüfen, ob eine konkrete IP-Adresse oder ein Host von außerhalb erreichbar ist. Richtet man nämlich eine Domäne ein, dauert es bis zu 24 Stunden, bis die Adresse überall bekannt ist. Und in diesem Zusammenhang sind externe Server hilfreich. Ebenso nützlich ist traceroute, das uns alle Hops zu einem Zielserver auflistet. Mit whois erfährt man Details zu Domänen. Das UNIX-Kommando geoip sagt uns den geografischen Ort eines gegebenen Netzes.
Test-E-Mail-Adresse in den USA: ffiala@sdf.org
Es kommt immer wieder vor, dass man den Empfang von Nachrichten testen muss. Meist verwendet man eine gmx- oder gmail-Adresse. Wenn man aber eine Adresse „abseits des Mainstream“ verwenden will, ist natürlich die Adresse ffiala@sdf.org ein Hit. Es gibt für diese Adresse auch eine komfortable Oberfläche: http://webmail.freeshell.org oder https://wm.sdf.org.
Homepage in den USA: http://ffiala.freeshell.org
Um eine Homepage einzurichten, muss man das Kommando mkhomepg anwenden. Um nicht wirklich mehrere Homepages betreiben zu müssen, habe ich auf freeshell.org meine Seite fiala.cc in einem iframe laufen lassen.
Das sind also meine derzeitigen Anwendungen für diesen externen Server und ich werde im Laufe der Zeit weitere folgen lassen, je nach Kenntnisstand.
Voraussetzungen
Der UNIX-Zugang erfordert einen gesicherten Telnet-Client. Eigentlich ist das ein gewöhnliches Terminal der 80er Jahre, aufgewertet durch eine gesicherte Verbindung. Folgende Möglichkeiten wurden ausprobiert.
- Browser (betriebssystemunabhängig): Benutze eine freie Online-Version eines solchen Terminalprogramms, wie zum Beispiel webssh
- Windows-Client: Du brauchst dazu ein Terminalprogramm wie Putty oder besser Tera Term VT. Zweiteres hat den Vorteil, dass es über verschiedene Übertragungsprotokolle verfügt, die man für den Upload von Seiten verwenden kann.
- Android-Client: Android-App „Mobile SSH“.
Verbinde Dich mit einem dieser Clients mit dem Server sdf.lonestar.org, oder sdf.org Port 22. Du hast aber zu diesem Zeitpunkt noch keinen Account. Gib daher als Username new ein. Du wirst zur Prozedur mkacct weitergeleitet und im Zuge dieses Programm legst Du einen User und ein Passwort an, mit dem Du Dich dann mit dem UNIX-Server verbinden kannst. Der Username ist gleichzeitig Deine E-Mail-Adresse und auch die Adresse für den Webspace.
Siehe dazu die detaillierten Screenshots von Christian weiter hinten.
Hast Du diese kurze Anmeldung absolviert, gehörst Du zu eine Gruppe von 6.674 (2017-03-02) UNIX-Terminal-Usern weltweit, davon 35 in Österreich. Auf dieser Weltkarte sieht man die Verteilung der User:
SDF, wieder so eine Abkürzung
Es steht für „The Super Dimension Fortress Macross“ und das wieder bezieht sich auf die japanische Zeichentrickkultur „Anime“ aber das alles ist nicht wichtig. Wichtig ist, wie man diesen UNIX-Server erreicht.
Wählt man im Browser eine der folgenden Adressen,
bekommt man eine Erklärung für das ganze System. Klassisches HTML, kein Schnick-Schnack. Funktioniert unverändert seit 1987. Beachte den Copyrightvermerk in der Fußzeile: „©1987-2065“. Warum gerade 2065, ist unklar. Vielleicht wissen das UNIX-Kenner?
Arbeiten mit SDF
Ich verwende am liebsten das Terminal-Programm Tera Term. und zwar, weil es längst vergessen geglaubte Terminal-Übertragungsprogramme wie KERMIT, XMODEM, YMODEM und ZMODEM bietet. Das klingt ziemlich nostalgisch aber allein die Nostalgie ist nicht der Grund, denn für die schlichte Interaktion eignet sich auch das weit verbreitete Programm Putty.
Beim Anlegen der Homepage landet man unweigerlich beim Kommando edit von UNIX, denn die automatisch im Verzeichnis html erzeugte Datei index.html muss angepasst werden. An dieser Stelle wäre Lernen angesagt, denn zuletzt habe ich mit einem Zeileneditor, wie edit einer ist, in der Zeit von CP/M gearbeitet und genau dieses Wissen müsste man bei diesem Editor wieder ausgraben.
UNIX bietet aber auch das Kommando upload an und verlangt nach dessen Aufruf nach dem ZMODEM-Protokoll. Auf diese Weise kann man das unhandliche Kommando edit umgehen. Man editiert die benötigten Dateien am lokalen Desktop und lädt sie dann mit ZMODEM auf den Server. Kleinere administrative Arbeiten am Server kann man mit den UNIX-Kommandos ls, cd, mkdir, rm, mv erledigen.
Das eigene Verzeichnis
Mein User heißt ffiala, mein Heimatordner ebenso. Loggt man sich ein, ist das aktuelle Verzeichnis das eigene, ffiala. Es enthält folgende Objekte:
INBOX.Drafts INBOX.Sent INBOX.Trash Sent html <-- hier liegen die Dateien von ffiala.freeshell.orgy
Der vollständige Pfad für meinen Heimatordner lautet:
/sdf/arpa/af/f/ffiala
Ich bin nicht ganz sicher aber das Verzeichnis html ist anfangs nicht vorhanden, man legt es implizit im Zuge des Befehls mkhomepg an.
Anfangs befindet sich im Verzeichnis html nur die Datei index.html mit einem Dummy-Text. Ich habe diese Datei auf index0.html umbekannt und stattdessen meine eigene Startdatei index.html upgeloadet und genau für diesen Upload war das ZMODEM-Protokoll erforderlich. Diese winzige Startdatei index.html schaut folgendermaßen aus:
<html> <body> <iframe src="http://fiala.cc" width="100%" height="100%"></iframe> </body> </html>
Kommandozeilenprompt
Der Kommandozeilenprompt ist das Dollarzeichen „$“, auf dem folgende Befehle möglich sind help und unix. Mit unix erfährt man die verfügbaren impliziten UNIX-Kommandos:
cd {dir} - Change Directory
pwd - print working (current) directory
ls - LiSt directory (try ls -la)
cat {file} - conCATenate (view) a file
mkdir {name} - create a directory
rm {file} - remove a file or directory
mv {file) - move a file or directory
chmod perm {file} - set permission bits for a file or directory
edit {file} - edit a file in your directory
ps - Process Status (try ps -aux)
passwd - Change your password
disk - show current disk usage
uptime - show system status
df - print system storage
freeirc - IRC access is free on Sundays
profiles - Join the ASCII social network
dict {word} - query the online dictionary
cal - calendar (try 'cal 1752')
finger {user} - show info about a user (try who or w)
chfn - change your full name
chsh - change your shell
ping {host} - test network connectivity to a host
traceroute {host} - view the route to a remote host
man {cmd} - read a manual page for a command.
dig / host - DNS utilities
geoip - Country lookup on an IP
expire - calculate your account expiration
domains - list domains available for use on SDF
mkhomepg - manage your own webpage space
mkgopher - manage your own gopherspace
upload - upload a file using ZMODEM (works w/ TeraTERM)
com - multiuser online chat
msg {user} - send a message to another user online
bboard - bulletin board
faq - frequently asked questions
mail - read/send email (also try http://webmail.freeshell.org)
lynx {url} - browse webpages
links {url} - browse webpages (w/ frames support)
gopher {url} - browse gopherspace
talk {user} - talk to another user
url {user} - look up a user's URL
ysm - chat on the ICQ network
pkg_info - list ported/installed software packages
whois {domain} - query the INTERNIC WHOIS database
logout - logoff
Es gibt aber viele weitere externe Befehle, die hier nicht angeführt sind. Ein wichtiges Beispiel für einen solchen Befehl ist ftp (kennen wir, diese Kommandozeilenversion aber eher weniger) und pine (ein sehr übersichtliches, textbasiertes Mailprogramm).
Konfiguration von Tera Term
Das Programm Tera Term startet mit folgenden Konfigurationsscreens:
Server: sdf.lonestar.org, Port 22, SSH Version SSH2
Username: ffiala, Passwort
Startbildschirm
Auf dem Kommandozeilenprompt kann man schon loslegen, Das Kommando unix ist ein guter Einstieg.
Der Zeichensatz ist am Anfang ziemlich klein. Man kann ihn aber einfach über das Menü ändern und auch diese Änderung in der INI-Datei speichern lassen.
Credits
Ganz besonderer Dank ergeht an Christian Schneider für die Anregung zu diesem Artikel. Christian hat mir die folgenden Screens für die Anmeldung als neuer User eingesendet und mich damit motiviert, erste Gehversuche mit UNIX zu unternehmen.
Hier wählt man den Benutzernamen. Gut überlegen, der Name gilt sowohl für den Login, die E-Mail und auch die Homepage.
Kosten
Bis zu 200 MB Festplattenplatz, 5.000 Dateien ist die Benutzung kostenlos. Für 36,-$ einmalig bekommt man 600 MB und 15.000 Dateien. Details.
Franz war pensionierter HTL Lehrer (TGM), Präsident von ClubComputer, Herausgeber der Clubzeitung PCNEWS und betreute unser Clubtelefon und Internet Support. Er war leidenschaftlicher Rapid Wien Fan. Er ist leider Anfang Jänner 2024 nach langer schwerer Krankheit verstorben.
Coole Sache. Danke. Werde ich ausprobieren. Zuerst dachte ich, dass um Unix(Linux) zu lernen ja ein eigener Raspi besser wäre (hat übrigens gerade 5.ten Geburtstag), aber das hier klingt interessant.
LG, Thomas
Als macOS Nutzer kostet das mir nur ein Schmunzeln. 😉
Übrigens bevorzuge ich im Terminal weißen/hellen Untergrund und schwarze Schrift.
PS: Als macOS Nutzer habe ich mittels Macports (alternativ dazu HomeBrew, Fink) Zugriff auf nahezu alle Opensource Software und das ohne Linux installieren zu müssen.
Macports ist aus dem Ports Projekt für BSD entstanden. Da macOS ja auf BSD & Microkernel fußt, ja nur ein kleiner Schritt.