Apt-Get Packages
This page lists the apt-get commands to install various packages.
For general information about apt-get usage, see Apt-Get.
System Utilities
Gparted
A helpful hard drive management tool, with a user-friendly GUI.
sudo apt update sudo apt install gparted
Extra Hard Drive Utils
Used, for example, in network share mounting.
sudo apt update sudo apt install cifs-utils
Compiz Config
For managing detailed desktop settings Ubuntu 16.04.
sudo apt update sudo apt install compizconfig-settings-manager
Gnome Tweaks
For managing detailed desktop settings of Ubuntu 18.04.
sudo add-apt-repository universe sudo apt install gnome-tweak-tool
Gnome Extensions
For generally customizing the gnome desktop.
sudo apt update sudo apt install gnome-shell-extensions
System Other
Build Essential
A package that essentially contains references to other packages.
Generally common to install for software development.
sudo apt update sudo apt install build-essential
DKMS
A package used to rebuild system kernels after a kernel update.
Generally needed if you manually upgrade kernels on your machine, or if running as a VM.
sudo apt update sudo apt install dkms
OpenConnect
Allows easy VPN connections through the terminal.
sudo apt update sudo apt install openconnect
Nvidia
Cuda
With proper Nvidia drivers already installed:
sudo apt update sudo apt install nvidia-cuda-toolkit
General
Chrome
Installs the standard Google Chrome web browser.
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list' sudo apt update sudo apt install google-chrome-stable
Gimp
Gimp is a free image editor tool.
sudo apt install gimp
VLC
VLC is an all-encompassing media player. It can handle just about any standardized media format you could throw at it.
VLC is not available directly via apt. However, it can be installed with the snap
manager:
sudo apt install snapd sudo snap install vlc
LaTeX
For creating and editing pdf files.
sudo apt update sudo apt install texlive-full texmaker
KeePass
For storing passwords securely.
sudo apt-add-repository ppa:jtaylor/keepass sudo apt update sudo apt install keepass2
Communication
Slack
Slack is not available directly via apt. However, it can be installed with the snap
manager:
sudo apt install snapd sudo snap install slack --classic
Discord
Discord is not available directly via apt. However, it can be installed with the snap
manager:
sudo apt install snapd sudo snap install discord
General Programming
Git and Gitk
Installed on most distro's by default, but not always. Pretty essential for anything programming. If not present, can be installed with:
sudo apt update sudo apt install git gitk
VirtualBox
VirtualBox is a free way to create and run Virtual Machines.
Since this seems to be updated frequently, see https://www.virtualbox.org/wiki/Linux_Downloads for up to date details.
It's recommended to specifically choose the newest version, as the base command seems to generally install an out-of-date version.
Docker
Docker does to software what VirtualMachines do to operating systems.
Essentially, docker creates individual, stand-alone environments (or containers) that allow a set of software to run.
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
MySQL Workbench
A useful and easy interface for interacting with MySQL servers.
sudo apt update sudo apt install mysql-workbench
Programming Languages
Npm/NodeJs
Npm & NodeJs are bundled together. Npm has turned into the standard project manager for anything JavaScript.
To install:
curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash - sudo apt install nodejs
SASS
Sass is a CSS pre-processor language, that upgrades CSS from just a "markup language" to a working "programming language". Very useful.
The current latest recommended means of installing SASS is dart-sass, via Npm:
sudo npm install -g sass
MySQL
Installs MySQL server and runs initial install setup.
sudo apt update sudo apt install mysql-server sudo mysql_secure_installation
Php
sudo apt install php php-all-dev php-common php-dev php-bcmath php-bz2 php-cli php-curl php-gd php-imap php-json php-intl php-ldap php-mbstring php-mysql php-xml php-zip
To install an older version of Php, specify the number. Ex:
sudo apt install php7.4 php7.4-common php7.4-dev php7.4-bcmath php7.4-bz2 php7.4-cli php7.4-curl php7.4-gd php7.4-imap php7.4-json php7.4-intl php7.4-ldap php7.4-mbstring php7.4-mysql php7.4-xml php7.4-zip
If trying to install really old versions of php, you may first need:
sudo add-apt-repository ppa:ondrej/php
Laravel
Laravel is a Php based web framework.
To install Laravel:
- First install the desired Php version, using the above steps.
- Download composer from https://getcomposer.org/download/
- Add execution permissions
sudo chmod +x <path_to_composer_file>
- Move composer file with
sudo mv <path_to_composer_file> /usr/local/bin/composer
- Restart terminal
- Run
composer global require laravel/installer
(Optional) To update what version of php that composer uses, run:
php<version> /usr/local/bin/composer update
Where <version>
corresponds to the version of Php you'd like composer to use. Note that this version of Php must be installed on your system for the command to work.
Python
Depending on your version of Ubuntu, you might only have certain Python versions available for install. To correct this, run:
sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update
Then you can install the desired Python version.
For example, some more recent versions are python3.6
, python3.7
, or python3.8
.
sudo apt install python<version> sudo apt install python<version>-dev sudo apt install python<version>-venv
If you get an error when trying to use Pip or run the python -m venv command, you might also need to run the following:
sudo apt install python3-pip
Programming IDEs
Sublime Text
A text editor that, by itself, isn't very impressive. But it has a lot of support for extensions and customization, which make it as good as most standard IDE's.
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add - echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list sudo apt update sudo apt install sublime-text
Pycharm
An IDE created specifically for Python. Made by the JetBrains people.
PyCharm is not available directly via apt. However, it can be installed with the snap
manager:
- Community
sudo apt install snapd sudo snap install pycharm-community --classic
- Professional
sudo apt install snapd sudo snap install pycharm-professional --classic
VsCode
A lightweight version of VisualStudio. Has support for many different languages.
VsCode is not available directly via apt. However, it can be installed with the snap
manager:
sudo apt install snapd sudo snap install code --classic
R Studio
An interface for programming with the R language.
sudo apt update sudo apt install r-base
Then follow the steps at https://rstudio.com/products/rstudio/download-server/debian-ubuntu/
Server Packages
Apache
Apache is one of the two most common web solutions for serving HTTP/HTTPS requests on a server.
Apache itself comes preinstalled on most modern Ubuntu installations, although most of the related packages do not.
To install apache itself, run:
sudo apt install apache2 apache2-dev
To install dependencies for serving Programming/Django (Programming/Python) projects, run:
sudo apt install libapache2-mod-wsgi-py3
Nginx
Nginx is the other of the two most common web solutions for serving HTTP/HTTPS requests on a server.
Note that with their default values, only one of Apache/Nginx can be enabled at a time. It is possible to get them running together, but it takes effort and manual configuration.
Having said that, to get nginx to run, you'll (initially) need to disable Apache with:
sudo systemctl stop apache2 sudo systemctl disable apache2
You can then install nginx with:
sudo apt install nginx
Redis
Redis is a "in-memory data struct store" that is sometimes used in web projects to help manage and cache data.
Install with:
sudo apt install redis-server