Thursday, March 29, 2018

Tru64 Unix: Bringing the legendary Digital UNIX (DEC OSF/1 AXP) Back to Life with DECnet, TCP/IP and LANMAN, NetBIOS, NetBEUI Networking

Supratim Sanyal's Blog: Tru64 Unix CDE (Common Desktop Environmrnt) login screen
Tru64 Unix CDE (Common Desktop Environment) login screen
Introducing the pioneering Tru64 Unix to my little network and having it talk to my various OpenVMS Alpha, OpenVMS VAX, Ultrix VAX, PDP-11/24 RSX-11M-PLUS, Windows NT 4.0, Windows XP, Power Macintosh G4 MacOS 9, Solaris 11 and Linux systems is so much fun!

Tru64 Unix was renamed from Digital Unix which itself was originally named DEC OSF/1 AXP. It is a complete and powerful commercial-grade 64-bit Unix operating system originally released for DEC Alpha processor. Like Apple's MaxOS X (and therefore also iOS, tvOS and watchOS), it is based on Carnegie Mellon University's Mach kernel. It illustrates the beauty of the micro-kernel architecture.

Unlike Digital's previous BSD-derived Ultrix, Tru64 is the root of a third Unix family by itself, in addition to BSD and System V.

The complete documentation set for Tru64 Unix is available online.

I installed Tru64 Unix 5.0 inside a 32-bit FreeAXP  2.6.1.560 instance emulating DEC AlphaServer 400 4/166 from the publicly available Tru64 Unix 5.0 installation CD ROMs. Like all of my DECnet nodes, I dedicated one network adapter to TCP/IP and Microsoft networking protocols (NetBIOS, NetBEUI), and another network adapter to DECnet.

Using a XDMCP remote Unix desktop session from MobaXterm, I could launch the Tru64 graphical desktop that is an implementation of Common Desktop Environment (CDE) - a collaborative effort of Sun, HP, IBM, DEC, SCO, Fujitsu and Hitachi. Interestingly, CDE is now also available as open-source.

Supratim Sanyal's blog: Tru64 Unix CDE Desktop Environment
Tru64 Unix CDE desktop
Finding DECnet-Plus for Tru64 UNIX V5.0 was a bit tricky, but with the help of a thriving DEC user community, I could install DECnet-Plus (DECnet OSI Phase V) for Tru64 Unix and connect to HECnet. It turns out there was no DECnet Phase IV stack ever released for Tru64 Unix 5.0, so I have to deal with mysterious (to me!) NCL commands instead of the familiar NCP.

A nifty script is included with DECnet for Tru64 that copies over entries in a node database from another DECnet node. It works even if the remote node is running DECnet Phase IV. I copied the HECnet node database from the HECnet node name database information service at MIM:: using:

# /usr/sbin/update_nodes -dlocal 1.13

To configure a public DECnet FAL (File Access Listener) service on Tru64 Unix, I first created a user "decnet" with home directory at /usr/users/decnet and dropped a text file "info.txt" into it. Then, using NCL, I enabled the FAL proxy and assigned the default user "decnet":

ncl> set session control application fal incoming proxy true
ncl> set session control application fal user name decnet

I then tested the Tru64's FAL service from MacOS 9 Pathworks for Macintosh successfully.

Supratim Sanyal's Blog: Tru64 Unix DECnet-Plus Phase V OSI file sharing over DECnet with MacOS 9 on Power Macintosh running Pathworks for Macintosh
Tru64 Unix file sharing over DECnet with MacOS 9 on Power Macintosh


I also tested Tru64's DECnet FAL service from a Windows XP system over DEC Pathworks 32 with success.

Supratim Sanyal's Blog: Decnet-Plus OSI Phase V for Tru64 Unix file sharing over DECnet with Windows XP DEC Pathworks 32
Tru64 Unix file sharing over DECnet with Windows XP


In addition to DECnet Plus OSI for Tru64 Unix, I installed the Advanced Server for Unix kit. This basically added Windows networking with Windows advanced server domain controller functionality to Tru64 Unix. Interestingly, it installed "NetBIOS over DECnet" on the DECnet NIC in addition to NetBIOS/NetBEUI on the TCP/IP NIC.

I configured Tru64 as the secondary domain controller. Sure enough, Tru64 shows up in the list of computers reachable over Windows networking from ENTEE4 which is a Windows NT 4.0 Server with TCP/IP and DECnet protocol support.

Supratim Sanyal's blog: Digital Compaq Tru64 Unix as Windows Network Domain Server LANMAN NetBIOS NetBEUI File and Printer Sharing
Tru64 Unix participating in Windows network as a secondary domain server

The usual DECnet-related commands like dcat, dcp, dlogin, dls etc. on Tru64 perform as expected and are similar to the DECnet commands on Ultrix. They were successful in communicating over DECnet with OpenVMS (VAX and Alpha), RSX-11M-PLUS, Windows NT, Windows XP, Windows for Workgroups 3.11, MacOS 9, Linux and Ultrix VAX nodes in my lab:

$ uname -a
OSF1 tru64.sanyalnet.lan V5.0 910 alpha
$
$ dls qcocal::info.txt          # OpenVMS VAX 7.3


Directory qcocal::DUA2:[FAL$SERVER]
INFO.TXT;22
$
$ dls juichi::info.txt          # PDP-11/24, RSX-11M-PLUS

Directory juichi::DB:[FALSERVER]
INFO.TXT;10
$
$ dls fedach::info.txt          # Linux Ubuntu 14

Directory fedach::
info.txt
$
$ dls ostara::info.txt          # DEC Ultrix 4

Directory ostara::/usr/users/guest/
info.txt
$
$ dls wexpee::info.txt          # Windows XP

Directory wexpee::C:\WINDOWS\system32\
info.txt
$
$ dls entee4::info.txt          # Windows NT 4.0

Directory entee4::C:\WINNT\system32\
info.txt
$
$ dls raptor::info.txt          # OpenVMS Alpha 8.3

Directory raptor::SYS$SPECIFIC:[FAL$SERVER]
INFO.TXT;8
$
$ dls wfw311::info.txt          # Windows for Workgroups 3.11

Directory wfw311::C:[DECNET]
INFO.TXT
$

I saved some of the installation sessions in log files for reference.

Tru64 Unix Installation Log



Tru64 Unix DECnet Networking Kit Installation Log

The following log captures installation of DECnet for Tru64 Unix 5.0 and successful login over DECnet to remote HECnet nodes BOPOHA and FRUGAL.



Tru64 Unix Advanced Server for Unix (Windows Network Integration) Kit Installation Log

This log captures installation of the Tru64 Unix Advanced Server for Unix package which allows Tru64 Unix to participate in a Windows network environment for seamless file and printer sharing, using Microsoft's NetBIOS and NetBEUI protocols over DECnet and TCP/IP.









Sunday, March 25, 2018

Stop Cron and Anacron job 'cron.daily' Family of emails

The standard solution to the cron daemon sending emails to root is:

  • For each cron job in crontab (accessed via "crontab -e"), redirect standard output and standard error to a file or to null, for example:
    0 5 * * 1 tar -zcf /var/backups/home.tgz /home >/dev/null 2>&1
  • Add the following to crontab before the cron jobs list:
    MAILTO=""
However, this still leaves Anacron to send emails with subject lines like "Anacron job 'cron.daily' on node foobar" every day, week and month. To get around this, edit /etc/anacrontab using your usual favorite editor and add MAILTO="" before the Anacron jobs list.

Here is an actual complete /etc/anacrontab:


# /etc/anacrontab: configuration file for anacron
# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
HOME=/root
LOGNAME=root
MAILTO=""

# These replace cron's entries
1       5       cron.daily      run-parts --report /etc/cron.daily
7       10      cron.weekly     run-parts --report /etc/cron.weekly
@monthly        15      cron.monthly    run-parts --report /etc/cron.monthly


This works on Ubuntu 14 and Ubuntu 17, and should work on all Anacron-enabled Unix and Linux systems.

Thursday, March 8, 2018

Teaching Windows XP to speak AppleTalk

Supratim Sanyal's Blog: AppleTalk protocol support on Windows XP
AppleTalk protocol support on Windows XP
Windows 2000, which I still consider Microsoft's zenith, shipped with native support for AppleTalk. This made it possible to seamlessly share files and printers between Macintoshes and Windows 2000 PCs over AppleTalk networks.

When Windows XP came along it was sadly missing AppleTalk protocol support - Microsoft had decided to take it out of the package. But discerning Windows users soon found a trick. One can simply copy over just six files from an existing Windows 2000 installation configured with AppleTalk into the Windows directory of XP. After copying over the six files and rebooting, XP offers AppleTalk as an additional protocol that can be installed on any network adapter.

This makes a nice addition to my little but diverse AppleTalk network consisting of MacOS 9 and Linux (via netatalk) by now letting Windows XP support AppleTalk printers. To connect an AppleTalk printer to Windows XP, use the usual "Add Printer" wizard from the "Printers and Faxes" control panel. You can create a new port for "AppleTalk Printing Devices" type of port.

Supratim Sanyal's Blog: Add AppleTalk Printer Port on Windows XP
Add AppleTalk Printer Port on Windows XP
Windows XP will go and look for connected AppleTalk printers and make them available. Unfortunately, this is where my test ends, since I do not have an AppleTalk printer to test with!

Supratim Sanyal's Blog: Connecting Windows XP to AppleTalk Printer
Connecting Windows XP to AppleTalk Printer

The six Windows 2000 files that provide AppleTalk support and can be copied from Windows 2000 to Windows XP are:
  1. C:\WINDOWS\INF\netatlk.inf
  2. C:\WINDOWS\SYSTEM32\sfmatmsg.dll
  3. C:\WINDOWS\SYSTEM32\sfmmon.dll
  4. C:\WINDOWS\SYSTEM32\sfmwshat.dll
  5. C:\WINDOWS\SYSTEM32\DRIVERS\sfmatalk.sys
  6. C:\WINDOWS\SYSTEM32\SPOOL\PRTPROCS\W32X86\sfmpsprt.dll

A copy of these six Windows 2000 AppleTalk files for Windows XP can be downloaded from my google drive. If you are more interested in Neko the mouse-chasing cat who lives on desktops, you can adopt Neko for your desktop from here.