System Packages
Development Dependencies
For R package specific system dependencies, see P3M https://packagemanager.posit.co/client/#/repos/cran/setup?distribution=ubuntu-24.04
# Basics
sudo apt-get install -y curl wget git zsh build-essential
sudo apt-get install -y gdebi-core make cmake
# Probably can't hurt, some pkgs require it anyway. Would prefer TinyTex in userland
sudo apt-get install -y texlive
# Things likely to be required by common packages
sudo apt-get install -y python libcurl4-openssl-dev libssl-dev libxml2-dev pandoc pandoc-citeproc libpng-dev
# Not sure about those but might come in handy
sudo apt-get install -y libsecret-1-dev
sudo apt-get install -y libglpk-dev
sudo apt-get install -y libgmp3-dev
sudo apt-get install -y libv8-dev
# graphics-related requirements:
sudo apt-get install -y libfreetype6-dev
sudo apt-get install -y libjpeg-dev
sudo apt-get install -y libpng-dev
sudo apt-get install -y libtiff-dev
sudo apt-get install -y libcairo2-dev
# git2r requirements:
sudo apt-get install -y libssh2-1-dev
sudo apt-get install -y libssl-dev
sudo apt-get install -y zlib1g-dev
# mlr3 requirements:
sudo apt-get install -y libgdal-dev
sudo apt-get install -y gdal-bin
sudo apt-get install -y libgeos-dev
sudo apt-get install -y libglu1-mesa-dev
sudo apt-get install -y libgmp3-dev
sudo apt-get install -y libgsl0-dev
sudo apt-get install -y jags
sudo apt-get install -y libproj-dev
# Anything that requires java, not needed so far but *sigh*
# apt-get install -y default-jdk
# R CMD javareconfUnattended Upgrades
Unattended upgrades run in the background periodically to ensure that e.g. security updates are applies as soon as possible, without the need for manual installation. One of the potential downsides is that unless told otherwise, the tool will update everything it can update, including nvidia drivers and CUDA stuff. If that happens, GPUs may be unusable until the next reboot — and worst case scenario the entire GPU/CUDA situation might be completely broken. To prevent accidental automatic updates for these packages, the config file
/etc/apt/apt.conf.d/50unattended-upgrades
was edited with a blacklist rule to ignore all nvidia and cuda packages during updates.