Achtung: Die Informationen auf dieser Seite habe ich 1:1 mit nur ganz kleinen Änderungen im Juli 2019 von der letzten Version meiner Homepage übernommen und 2020 ein paar Links ergänzt. Der Text ist Stand 16.03.2014 und bedarf ganz sicher der Überarbeitung!


Apple A/UX Logo

A/UX war ein UNIX von Apple, welches zwischen 1988 und 1995 für die damals auf Motorola 68000 CPUs basierenden Macintosh Computer vertrieben wurde. Das Spannende: Die grafische Oberfläche des Mac, System 6 bzw. später System 7 wurde integriert, viele Mac-Anwendungen konnten direkt ausgeführt werden!

Installation

Installation des Grundsystems

  • A/UX Mac-System installieren (kleine Partition mit 8 MB reicht).
  • CD-ROM-Treiber nicht vergessen!
  • Ggf. weitere Tools wie DiskCopy, Lido etc. mit auf die Mac-Partition kopieren.
  • Es kann vom gemounteten Install-Floppy-Image installiert werden 😉
  • Partitionierung:
    • Slice 0: Root&Usr („eher größer“),
    • Slice 1: Swap (muss nicht so groß wie das RAM sein, 64 MB ist beispielsweise eine gute Wahl)

Updates einspielen

Als nächstes nach der Installation von A/UX 3.0.x sollten die verfügbaren Updates eingespielt werden, so sie das jeweilige System verträgt:

  • AWS Tune-Up 1.0: Update von A/UX 3.0.1 auf 3.0.2.
    Für alle Systeme geeignet. Nicht nötig, wenn Update auf A/UX 3.1 geplant.
  • A/UX Update 3.1
  • AWS Tune-Up 2.0: Update von A/UX 3.1 auf A/UX 3.1.1.
    Achtung: A/UX 3.1.1 läuft nicht verläßlich auf dem MacII, MacIIx, MacIIcx und SE/30! Für alle anderen Systeme empfohlen.

Konfiguration

Tastaturlayout ändern

Im entsprechenden Kontrollfeld 🙂

Zeitzone einstellen

Mit dem Befehl settimezone (als root).

„inittab“ anpassen

Ggf. die Datei /etc/inittab als root anpassen und Dienste aktivieren bzw. deaktiveiren.

Beispiele:

  • nfs0 (portmap): RPC-Dienste
  • nfs2 (ypbind): NIS-Client
  • nfs4, nfs5, nfs6 (biod, rpc.statd, rpc.lockd): NFS-Client
  • nfs8 (mount): mounten von NFS-Freigaben
  • net5 (rwhod): rwho-Daemon

rc.local anlegen & einbinden

Als root mit vi oder einfach touch die Datei /etc/rc.local anlegen. In dieser können nun in Zukunft alle Befehle aufgenommen werden, die beim Systemstart ausgeführt werden sollen (z.B. für Routing).

Anschließend muss /etc/rc.local noch ausführbar gemacht werden. Als root:

chmod 755 /etc/rc.local
chown bin /etc/rc.local
chgrp bin /etc/rc.local

Damit /etc/rc.local ausgeführt wird, muss in der Datei /etc/inittab folgende Zeile ergänzt werden, direkt unter der Zeile, die mit „csd:“ beginnt (Zeile 35):

rcl::wait:/etc/rc.local 1>/dev/syscon 2>&1

Netzwerkkarte einbinden

Mit dem Befehl newconfig ao (als root).

Nameserver/DNS konfigurieren

In der Datei /etc/resolv.confdie Optionen „domain“, „search“ und „nameserver“ entsprechend angeben (als root).

Hosts-Datei anpassen

Datei /etc/hosts anpassen, ggf. weitere statische Einträge ergänzen (als root).

Routing konfigurieren

In die Datei /etc/rc.local (siehe auch rc.local!) folgenden Befehl aufnehmen:

 route add default <gateway> 1

Dabei für <gateway> die entsprechende IP-Adresse angeben.

Auto-Login deaktivieren/konfigurieren

In der Datei Autologin in /mac/sys/Login System Folder/Preferences den gewünschten Benutzer bzw. nichts eingeben.

Achtung: beim nächsten Login zudem im Login-Programm ein Paßwort für den root-Benutzer setzen!

Home-Verzeichnis von root setzen

Als root /etc/passwd editieren und manuell ändern:

chmod +w /etc/passwd
vi /etc/passwd
chmod -w /etc/passwd

Neuen User anlegen

Mit dem Befehl adduser werden neue Benutzer interaktiv angelegt. Dabei sollte in der Regel ein eigener Systemordner erzeugt werden.

MOTD („Message Of The Day“) anpassen

Einfach die Datei /etc/motd editieren 🙂

„Profil-Dateien“ anpassen bzw. erzeugen

/etc/profile:

# /etc/profile -- System profile
umask 022
# set terminal type - if it appears to be vt100, confirm
TERM=tset - -m network:\?vt100 -m vt100:\?vt100 -IQ
export TERM
# PATH PATH="/usr/local/bin:/usr/bin:/bin:/usr/ucb:/mac/bin:/usr/etc:/etc"
export PATH
# Miscellaneous environment things
EDITOR=/usr/bin/vi
export EDITOR
FINDER_EDITOR=/mac/bin/TextEditor
export FINDER_EDITOR
TZ=/bin/cat /etc/TIMEZONE
export TZ
PS1="$LOGNAME@`hostname`"
if [ -n "$BASH" ]; then
    # die bash wird als Shell verwendet
    PS1="$PS1:\w"
    alias ls="ls -F"
    alias ll="ls -l"
    alias l="ls -al"
    alias ".."="cd .."
fi
if [ $LOGNAME != root ]; then
    # normaler User
    /bin/news -n
    PS1="$PS1 > "
else
    # root
    PATH="/usr/local/sbin:$PATH"
    PS1="$PS1 $ "
fi
if [ -d /usr/bin/X11 ]; then
    PATH="$PATH:/usr/bin/X11"
fi
stty erase '^?' kill '^u' intr '^c' echoe echok ixon
export PS1
export PATH
# -eof-

Im Home der Benutzer sollte kein „.profile“ liegen!

Shell einstellen

Die sh bzw. bash (muß manuell installiert werden!) werten das soeben erstellte /etc/profile aus. Daher als root manuell in /etc/passwd die Shells entsprechend setzen:

chmod +w /etc/passwd
vi /etc/passwd
chmod -w /etc/passwd

/usr/local/share/catman einbinden

Als root:

cd /usr/catman
ln -s /usr/local/share/catman L_man

Syslog-Konfiguration anpassen

Ggf. die Syslog-Konfiguration so anpassen, dass alle Meldungen in die Datei /var/adm/syslog protokolliert werden. Hierzu in der Datei /etc/syslog.conf folgende Zeile ergänzen (als root):

*.debug /usr/adm/syslog

Rechte der Dateien prüfen und sichern

Dazu habe ich – nach der in der A/UX-FAQ aufgeführten Liste – ein kleines Script erstellt, welches dies automatisch korrigiert: aux-fix-perms.sh

Als root:

chmod 755 fix-perms.sh
./aux-fix-perms.sh

sh durch ksh ersetzen

Die sh von A/UX ist ein wenig eingeschränkt, z.B. laufen dadurch einige „configure“-Script nicht korrekt durch; die Meldung ist in diesem Fall am Ende „symbol too long“.

Abhilfe: /bin/sh durch einen Link auf /bin/ksh ersetzen.

Als root:

cd /bin
mv sh sh.AUX
ln -s ksh sh

UNIX-Software

gunzip(1) installieren

gzip bzw. gunzip wird für eigentlich jede Installation zum entpacken der Archive benötigt. Bei A/UX ist es leider nicht dabei.

Auf Arthur existiert aber gzip-124.bin.tar.Z, das darin enthaltene Binary sollte in /usr/local/bin als „gzip“ installiert werden.

Achtung:
Lädt man Dateien, die man mit UNIX-Tools weiter bearbeiten möchte, über ein MacOS-Programm (wie z.B. Fetch) herunter, so werden diese Dateien als „Apple-single format resource file“ gespeichert. Damit kann weder gunzipuncompress oder tar etwas anfangen …
Abhilfe: mit dem FTP-Client ftp in der Console von A/UX die Dateien auf das System herunterladen. Alternativ kann man auch mit fcnvt spielen …

Als root:

mkdir /usr/local
cd /usr/local
cp /gzip-124.bin.tar.Z .
uncompress gzip-124.bin.tar.Z
tar xf gzip-124.bin.tar
rm gzip-124.bin.tar
mkdir share
mkdir share/man
mkdir share/man/man1
mv *.1.Z share/man/man1/ 
mv g* z* bin/

Jetzt sin die Binaries unter /usr/local/bin und die Manual-Pages im Verzeichnis /usr/local/share/man/man1 installiert.

bash(1): Bourne Again Shell

[Archiv: bash-aux.bin.tar.gz]

Nun brauchen wir noch eine vernünftige Shell 😉

Als root:

cd /usr/local/bin
cp / bash-aux.bin.tar.gz .
gunzip bash-aux.bin.tar.gz
tar xf bash-aux.bin.tar bash-aux/bash
mv bash-aux/bash .
rm -r bash-aux*

Nun noch die bash als „valide“ Shell in /etc/shells eintragen:

vi /etc/shells

Und die bash als Shell für User eintragen lassen (als root!):

chsh root /usr/local/bin/bash
chsh  /usr/local/bin/bash

libUTIL installieren

[Archiv: libUTIL-2.1.tar.gz]

libUTIL ist eine Library, die einige Systemfunktionen zur verfügung stellt, die unter UNIXoiden Systemen gängig sind, unter A/UX aber leider fehlen. Die Funktion memmove(3) zählt z.B. dazu …

Als root in einem Arbeitsverzeichnis:

gunzip libUTIL-2.1.tar.gz
tar xf libUTIL-2.1.tar
cd libUTIL-2.1
mkdir /usr/local/include
mkdir /usr/local/lib
mv libUTIL.a /usr/local/lib/
mv *.h /usr/local/include/
mkdir /usr/local/share/man/man3/
mv man/*.3*.Z /usr/local/share/man/man3/
ln -s /usr/local/lib/libUTIL.a /usr/lib/

Der Rest im Verzeichnis libUTIL-2.1 wird nicht benötigt und kann nun wieder gelöscht werden.

GNU sed

[Archiv: sed-3.02.tar.gz]

Als root:

cd /usr/local
cp /sed-3.02.tar.gz .
gunzip sed-3.02.tar.gz 
tar xf sed-3.02.tar 
rm README sed-3.02.tar

Macintosh-Software

Viele der nachfolgend genannten Programme sind ausführlicher auf knubbelmac.de im Software-Verzeichnis beschrieben.

Programme, die unter A/UX funktionieren

Office-Anwendungen

  • Claris Resolve
  • Cricket Graph
  • Full Write 2.0.6
  • FrameMaker 3
  • Mariner 3.1
  • RagTime 3.2
  • Storeys 1.5.2
  • Sum It
  • Word 5.1a
  • Write Now 4

Texteditoren

  • Alpha 4.0.3
  • BBEdit Lite 3.5.1, 4.1

Grafik

  • Color MacCheese 3
  • LightningPaint
  • MacDraft
  • MacPaint 2

Netzwerk

  • BetterTelnet
  • Fetch 2.1.2, 3.0.3
  • MacSSH
  • Netscape 2.02, 3.04
  • NewsWatcher 2.2
  • NiftyTelnet 1.1

Programmierung

  • ResEdit 2.1.3
  • THINK Pascal 4.5a1

Tools

  • BinHex 5.0
  • Compact Pro 1.51
  • DropAttribute 3.0
  • Easy View 2.6
  • FileTyper 4.2
  • MacBinary 1.0.1
  • MacPGP263ii
  • MacZip 1.05
  • Screen Ruler
  • StuffIt Expander 5.5
  • StuffIt Lite 3.6

Programme, die nicht unter A/UX funktionieren

  • Alpha 7.4.2 (stürzt beim Start ab oder bleibt hängen)
  • DiskCopy 4.2, 6.3.3 (Meldung: nicht kompatibel mit A/UX)
  • FutureBASIC II (stürzt beim Start ab)
  • iCab 2.9.x (startet, lädt aber weder lokale noch remote Seiten)
  • Internet Config 2.0.2 (startet, lässt aber keine Eingaben zu)
  • MSIE 3.0.1 (ruft nach CFM-68k Enabler; der geht aber nicht)
  • Nisus Compact 3 (bleibt beim Start hängen)
  • ShrinkWrap (friert ein) 
  • Snak 3.2.1 (startet, kann aber keine Verbindungen aufbauen)

Systemerweiterungen, die unter A/UX funktionieren

  • AsyncSysBeep
  • BroadCast
  • Macintosh Drag and Drop
  • Natural Order
  • TaskMan
  • Thread Manager
  • Who’s There

Systemerweiterungen, die nicht funktionieren

  • Click There It is
  • Forward Delete (lädt, hat aber keine Wirkung)

Kontrollfelder, die unter A/UX funktionieren

  • Basic Black
  • Super Clock!
  • Window Shade

Tips & Tricks

Logfiles

  • /usr/adm/syslog (wenn aktiviert)
  • /usr/adm/messages
  • /usr/spool/mqueue/syslog