The Linux lab machines use a common image maintained by CSS/STEM IT Liaisons, currently all machines are running Rocky.
Sinchai Delong and Rene Gomez are the primary CSS/STEM IT Liaisons for the Linux lab and can be contacted at uwbit@uw.edu for any support questions or requests.
Remote Linux Lab
The remote Linux lab is located in the UW IT Seattle Data center. There are 22 dedicated VMs for remote work.
The remote linux lab includes a range of software tools including.
Software | Description |
Git | Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. |
Python3 | Python is a high-level, general-purpose programming language. |
Pip3 | pip3 is the official package manager and pip command for Python 3. |
vim | Vim is a free and open-source, screen-based text editor program. |
Cpplint | cpplint or cpplint.py is an open source lint-like tool developed by Google, designed to ensure that C++ code conforms to Google’s coding style guides. |
Boto3 | Boto3 makes it easy to integrate you Python application, library or script with AWS services. |
Xmlutils | A set of utilities for processing XML documents and converting to other formats. |
GitPython | GitPython is a python library used to interact with git repositories, high-level like git-porcelain, or low-level like git-plumbing. |
PyGithub | PyGithub is a Python library to use the Github API v3. With it, you can manage your Github resources (repositories, user profiles, organizations, etc.) from Python scripts. |
Cmake | CMake is an open-source, cross-platform family of tools designed to build, test and package software. |
Curl | Curl is used in command lines or scripts to transfer data. |
Emacs | Emacs is a text editing tool that comes out-of-the-box with Linux and macOS |
Gdb | GDB, the GNU Project debugger, allows you to see what is going on `inside’ another program while it executes — or what another program was doing at the moment it crashed. |
Java 11 Open-jdk | JDK 11 is the open-source reference implementation of version 11 of the Java SE Platform. |
Java 11 Open-jdk-devel | OpenJDK 11 Development Environment. |
Ghostscript | Ghostscript is an interpreter for the PostScript® language and PDF files. |
GCC | The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Ada, Go, and D, as well as libraries for these languages (libstdc++,…). |
Valgrind | Valgrind is a programming tool for memory debugging, memory leak detection, and profiling. |
Bind-utils | BIND is an implementation of the Domain Name System (DNS) protocols. |
Tcsh | C shell with file name completion and command line editing. |
Tcpdump | tcpdump is a data-network packet analyzer computer program that runs under a command line interface. |
Strace | Strace is a diagnostic, debugging and instructional userspace utility for Linux. |
FTP | Ftp is the user interface to the Internet standard File Transfer Protocol. The program allows a user to transfer files to and from a remote network site. |
Screen | Screen is a full-screen window manager that multiplexes a physical terminal between several processes, typically interactive shells. |
tmux | tmux is an open-source terminal multiplexer for Unix-like operating systems. |
gedit | gedit is a text editor designed for the GNOME desktop environment. |
dbux-x11 | D-Bus is a message bus, used for sending messages between applications. |
maven | Apache Maven is a software project management and comprehension tool. |
dos2unix | dos2unix – DOS/MAC to UNIX text file format converter. |
nfs-utils | The NFS Utilities package contains the userspace server and client tools necessary to use the kernel’s NFS abilities. |
Doxygen | Doxygen is the de facto standard tool for generating documentation from annotated C++ sources. |
Clang tools | Clang Tools are standalone command line tools designed for use by C++ developers who are already using and enjoying Clang as their compiler. |
llvm-toolset | llvm-toolset is a new software collection that packages together a number of the tools distributed by the LLVM project. |
Boost | Boost provides free peer-reviewed portable C++ source libraries. |
Netstat | netstat is a command-line network utility that displays network connections for Transmission Control Protocol, routing tables, and a number of network interface and network protocol statistics. |
Telnet | Telnet is a client/server application protocol that provides access to virtual terminals of remote systems on local area networks or the Internet. |
Traceroute | traceroute and tracert are computer network diagnostic commands for displaying possible routes and measuring transit delays of packets across an Internet Protocol network. |
nmap | Nmap is used to discover hosts and services on a computer network by sending packets and analyzing the responses. |
GNU plot | Gnupplots a portable command-line driven graphing utility for Linux, OS/2, MS Windows, OSX, VMS, and many other platforms. |
Crypto++ | Crypto++ is a free and open-source C++ class library of cryptographic algorithms and schemes. |
Rust | Rust is a multi-paradigm, high-level, general-purpose programming language. |
Cargo | This program is a package manager and build tool for the Rust language. |
Nodejs | Node.js is an open-source, cross-platform JavaScript runtime environment. |
Npm | npm is a package manager for the JavaScript programming language. npm is the default package manager for the JavaScript runtime environment Node.js |
wget | Wget is a free software package for retrieving files using HTTP, HTTPS, FTP and FTPS, the most widely used Internet protocols. |
Cockpit-pcp | Cockpit uses the Performance Co-Pilot framework to gather metrics data about the system. |
gawk | The awk utility interprets a special-purpose programming language that makes it possible to handle simple data-reformatting jobs with just a few lines of code. |
Perl | Perl is a highly capable, feature-rich programming language with over 30 years of development. |
Make | Make is a tool which controls the generation of executables and other non-source files of a program from the program’s source files. |
In-Person Linux Lab
The In-Person Linux lab is in IN-141, and is wired with gigabit Ethernet.
The Linux lab includes a range of software tools including:
Software | Description |
CUDA | CUDA is a parallel computing platform and application programming interface that allows software to use certain types of graphics processing units for general purpose processing, an approach called general-purpose computing on GPUs. |
MATLAB | MATLAB is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages. |