Setup an internal Software Update Archive with NetSUSLP on Linux


Apple are notorious for suddenly removing product support and deleting support software downloads. Apple systems are great if you keep up to date but appalling when it comes to legacy support, and Apple often don’t bother informing customers of planed discontinuation of software, hardware and services.

The following guide gives you greater control of your legacy Apple hardware and software, and can also help in unsupported configurations. You can configure a Software Update archive for all Apple software running on Mac OS X 10.4 “Tiger” client and server – all the way up to macOS 10.15.7 “Catalina”. You can also use this archive to manually download macOS Big Sur update packages and possibly beyond!

For the setup you will need either a virtual or physical disk about 1Tb in size, an Ubuntu Server 16.04 bootable installer (this does work with other Linux systems but the procedure is a little different, and if you have VirtualBox it is possible to download a ready made appliance so you don’t need this guide), your physical or virtual server will need a static internal IP address and a DNS name could be helpful but theoretically you can just use the IP address.

I created my appliance in Parallels Desktop Pro so that it can run on my Mac mini Server. Having created the virtual machine with the Ubuntu Server ISO booted I did the following:

  • From Ubuntu Server Installer boot screen press F6 then Escape, Delete the preseed entry replacing it without quotes “auto url=https://raw.githubusercontent.com/jamf/NetSUS/master/appliance/http/ubuntu-16.04/preseed.cfg”
  • When prompted for a hostname enter “NetSUPLP” : do not use your IP address or DNS name as the system will not work with that setup; I know from trial and error!
  • If prompted to set domain enter “NetSUSLP.vm”, but if not prompted you must set this in /etc/hosts after installation.
  • Depending on your physical or virtual system on boot up you may be presented with a black screen rather than the NetSUSLP information screen. This is not as I’m about to give you the required details. Hold down control + option (alt) and press F1 to get to a prompt.
  • Login with the account “shelluser” and password “shelluser”.
  • I recommend changing the shelluser password for security given that remote login (SSH) is available by default. Change the password by entering without quotes: “passwd”. You will be prompted for the current password “shelluser” then prompted to enter your new password twice; for security reasons you will not see and typing appear on the screen.
  • You can now finish setup from a web browser by visiting the domain name or IP address you assigned this machine for example https://myserver.private/webadmin and you will have to acknowledge the self signed certificate security warning. The default login details are “webadmin” and password “webadmin”.
  • Secure the machine by changing all default passwords.

For comprehensive documentation on how to use your new server I recommend reading the documentation guide which can be found here: https://github.com/jamf/NetSUS/tree/master/docs