Editor's note: This article explores how you can "be your own SAS admin" by installing and running SAS 9 for Linux on your own Windows workstation. It may be useful for daily tasks, or for testing changes in a dev environment before deploying to a larger installation. Note that SAS also offers SAS Analytics Pro for SAS Viya, a containerized image of SAS that can be deployed in a similar way.
SAS 9 run-time - SAS Foundation - is tied to a license file - the setinit. Every SAS user has, sometimes frustratingly, experienced some kind of interruption when the license is over and must be updated. This updating process requires elevated privileges on Windows and our organisations are now, understandably, very wary to give them even for a limited time and scope since it's disabling the main safeguard against virus or hacking.
Even a security-obsessed company I have worked for optionally proposed to enable WSL2 on your company PC, prepackaged for a streamlined deployment. This full-fledged Linux extension of Windows gives you the full capacity to install, configure, run and update a complete SAS 9 installment. The general use case for WSL2 in IT might imply Docker image building, deployment and testing in a personal Dev env ; leveraging this virtualisation tool will also give you extra benefits, notably with SAS. This article explores SAS 9 on WSL2; another option closer to SAS Viya might SAS Analytics Pro on WSL2, especially using IOM Clients like SAS Enterprise Guide or SAS VS Code extension.
There is no better introduction for Windows Sub-System WSL than the welcome pane from Microsoft itself :
Run WSL settings on your start menu and click on the Tux icon ("Tux", I am told by Wikipedia - being the official name of the Linux smiling penguin mascot).
WSL2 is the Linux desktop virtualization technology provided by Microsoft on Windows (10 or 11). It is now fully integrated to Windows OS, execution stack and user experience. You are able to make your own way of Linux :
WSL2 is Microsoft Unix Kernel integration to Windows Operating System, a bit like Darwin is to MacOS (formerly MacOS X). WSL2 can dynamically share hardware resources with Windows but (today) remains optional and runs in its own windows NT process (vmmemWSL). Based on a Linux Kernel, it can run any Linux-based distributions replacing older products like VirtualBox or VMWare Workstation. Windows Terminal is the preferred choice as SSH client interacting with WSL2, but VS Code
Note:
Due to the close integration between the underlying virtualisation technology (Hyper-V) and Windows Host, WSL2 can be configured from top to bottom without High Windows Privileges (Local Administrator Access). As an exception however, attaching a new storage disk to WSL2 requires it , although that's rarely needed from my experience : see https://learn.microsoft.com/en-us/windows/wsl/wsl2-mount-disk.
Even if SAS Enterprise Guide is not available with a recent version packaged for deployment in your organisation, I am quite sure the all-pervasive editor Visual Studio Code ( VS Code in short) can be installed with its extension store including the SAS extension, allowing you to run SAS 9 with a modern interface locally and update it accordingly clientwise.
Then, with SAS 9 installed in WSL2 and the SAS Extension of VS Code, even a non admin Windows user is able to:
For instance, you become fully independent with testing new pieces of SAS software and do not have to ask your preferred provider of SAS access but once a year . I was for instance able to test some external ODBC driver with SAS ODBC connector all by myself on my company PC.
My machine is equipped with a, Intel Core i7 CPU with 8 cores (hyperthreaded), 32 GB of Ram and 1TB of SSD storage. Be aware that WSL (VmmemWSL process) requires at least 0,5Gb and up to 2 or 3 GB of RAM depending on the workload. Therefore, 16GB RAM would not be enough , 24 or 32GB of memory should be considered instead.
This article won't guide you into all the details of a SAS installation on Linux. I have put separately here <git repo > some installation files I used that you might replicate with your own SAS Depot. Rather I will stress out some particular points during this installation to help you follow the same route safely, or give you further ideas for devising your own SAS sandbox.
If you are not a SAS Administrator experienced with installing SAS 9 then ask for one to help you. It's fun and not over-complicated, afterwards you will gain extra technical knowledge to further your career path with SAS software ;-). You might also become a SAS Admin yourself if administration suits you, or take the copilot seat of the captain already in charge !
SAS 9 minimal server deployment offer is called Office Analytics - usually abridged "oa".
A SAS Depot with a valid license for :
Note that minimal standard supported version, as of Sept. 1st 2025 is SAS 9.4 M8.
I tested my steps with SAS 9.4 release M7.
Two dozen versions if not many more linux distros are provided through official Microsoft installation channel for WSL2. Your IT enterprise environment shall probably only support of few, like Ubuntu or Debian usually used by Docker devs. If, you can also readily deploy your own WSL2 with a corresponding image since it is fully supported by Red Hat.
Try asking for the Oracle Linux version 9 image if you cannot have some RHEL license: it is fully supported by SAS and a free clone of Red Hat Enterprise Linux – like former CentOS - which is the standard of Enterprise Linux distro apart from Desktop env. or specific usages.
I have been told that SAS 9 runs fine on Ubuntu (not officially supported); please, fellow Ubuntu users , give your recommendations in the comment section below for further guidance.
wsl --list --online
NAME FRIENDLY NAME
AlmaLinux-10 AlmaLinux OS 10
Debian Debian GNU/Linux
FedoraLinux-42 Fedora Linux 42
SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6
Ubuntu-24.04 Ubuntu 24.04 LTS
…
openSUSE-Leap-15.6 openSUSE Leap 15.6
Ubuntu-22.04 Ubuntu 22.04 LTS
…
OracleLinux_9_5 Oracle Linux 9.5
I am already familiar with RHEL distributions, slightly less with siblings like Debian/Ubuntu thus I chose Oracle Linux 9.5 which is a RHEL 9.5 alternative fully supported by SAS with SAS 9.4 M7+.
You don't need any specific Windows (AD) privileges to configure your WSL2 machine since the host configuration file is stored into your %UserProfile% personal folder and since, on Linux, you are given the sudo ALL highest privilege elevation (root) and become Master after God. (source : https://learn.microsoft.com/en-us/windows/wsl/wsl-config)
location |
%UserProfile%\.wslconfig |
content |
[wsl2] networkingMode=mirrored dnsTunneling=true |
The networkingMode configured to mirroring is required in order to enable network redirection between linux and windows using the "localhost" destination address instead of some redirection IP with etc\hosts file, out of reach of the non admin user. This mode is the gamechanger (see https://learn.microsoft.com/en-us/windows/wsl/networking).
location |
/etc/wslconf |
content |
[boot] systemd=true |
I recommend aligning with RHEL 9 default services manager now SystemD (sysctl) but you can run SAS servers with the previous init.d nonetheless .
Note:
Be careful when deploying new software on your WSL2 VM using root privileges. "Sideloading" - here directly installing RPM packages from unofficial repositories is not a good practice unless you are fully aware of the risks and can trace back the origin of the code. Even the need for compiling external source code (gcc) must be carefully assessed. Ask for IT Support Team guidance and approval beforehand.
Here are the macro steps I followed :
5. [Linux] Generating the SAS Deployment Wizard response files for installing SAS OA
Best practice: deploy in two steps, Installation (1) then Configuration (2).
See for guidance on the response files: https://github.com/ronan-martorell/sas9wsl-tools/tree/main/sdw_response_examples
/mnt/d/SASDepot/SAS94TS1M7/setup.sh -record -responsefile "/opt/sas/sasoa1machine-install-YOURS.properties"
/mnt/d/SASDepot/SAS94TS1M7/setup.sh -record -responsefile "/opt/sas/sasoa1machine-record-YOURS.properties"
Deployment Plan Category |
Standard deployment Plan |
Deployment Plan Name |
Office Analytics, one machine |
Fully-qualified Local Host Name |
localhost |
Short Local Host Name |
localhost |
6. [Linux] Deploying SAS OA with the previous scripts
/mnt/d/SASDepot/SAS94TS1M7/setup.sh -deploy -partialprompt -responsefile "/opt/sas/sasoa1machine-install-YOURS.properties"
/mnt/d/SASDepot/SAS94TS1M7/setup.sh -deploy -partialprompt -responsefile "/opt/sas/sasoa1machine-record-YOURS.properties"
7. [Linux] Configuring the new SAS deployment : metadata, system options, sas.server launcher script
8. [Windows] Configuring new SAS IOM Profile to connect VS Code extension
I only needed to run SAS Workspace server which relies on SAS Metadata Server with the ObjectSpawner. For this purpose, I disabled the Middle-Tier services with the following modification of the sas.server script
cd $SASCFG
cp sas.servers sas.servers.bak
sed -i 's/SCRIPT_MID=YES/SCRIPT_MID=NO/g' sas.servers
sed -i 's/SCRIPT_PRE=YES/SCRIPT_PRE=NO/g' sas.servers
This greatly simplifies the handling of SAS services : they just run once the WSL2 is active and stopped when inactive. See the first lines of the sas.server script .
Technically, once systemD is enabled, an init.d service automatically generates a new systemD unit service.
As user "root", copy the sas.servers script (not .pre or .mid) to /etc/init.d:
For manual command lines, see the aliases in the bashrc-example :
https://github.com/ronan-martorell/sas9wsl-tools
Since the Linux WSL2 VM is often started and stopped, daily if not more frequently, the number of log files generated by the SAS Metadata and Object Spawner services is increasing by the day with each new process instance. I provided an example of SAS log cleaning script for archiving these log files on a regular basis. The default verbosity being moderate (Info Level), SAS IOM Server logs likely won't saturate your folders but after some time, dozens of files makes any manual inspection in case of debugging quite difficult; therefore archiving log is a priority.
See cleanlog script for instance :
https://github.com/ronan-martorell/sas9wsl-tools
Always activate Compression by default :
/opt/sas/sasbin/SASFoundation/9.4/sasv9_local.cfg
-COMPRESS YES
With SAS on WSL2, I was able to develop some code for testing a specific ODBC driver and scripting some macros for generating compressed JSON file successfully. I made some changes on the SAS metadata repository, adding a new Workspace Server for Unicode (UTF8) session and replacing the default Workspace authentication (system) with Token based on new Linux technical accounts I also created.
For the administration of the Linux VM, I installed the cockpit packages and UI which is so handy :
From the must-read Platformadmin blog by Metacoda SAS expert Paul Homes, the first article introducing to WSL2 reuse for SAS :
https://platformadmin.com/blogs/paul/2023/08/remote-sas-management-console-using-wsl2/
List of required Linux packages :
https://support.sas.com/documentation/installcenter/en/ikfdtnlaxsr/66396/PDF/default/sreq.pdf
Extra RPM repo EPEL must be enabled for libpng12, libpng15 :
https://cloudspinx.com/how-to-enable-epel-repository-on-oracle-linux/
SAS Deployment Wizard documentation :
https://documentation.sas.com/doc/en/deploywizug/9.4/titlepage.htm
Comprehensive check-list for configuring and managing a SAS 9 or Viya Platform, encompassing every aspect of the job :
"SAS® Administration from the Ground Up" by Anja Fischer is a lively, easy-to-follow and and excellent introduction for gaining SAS 9 administration skills: https://support.sas.com/en/books/authors/anja-fischer.html
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
The rapid growth of AI technologies is driving an AI skills gap and demand for AI talent. Ready to grow your AI literacy? SAS offers free ways to get started for beginners, business leaders, and analytics professionals of all skill levels. Your future self will thank you.