Skip to content

Latest commit

 

History

17 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ROS Install Scripts

Install any official ROS 1 or ROS 2 distribution on its canonical Ubuntu release with one command.

CI status ROS 1 and ROS 2 Ubuntu EOL releases License

Quick start · Distributions · Variants · EOL support


Choose a ROS distribution and an installation variant. The installer validates the host Ubuntu release before making system changes.

Command Ubuntu targets Variants
./install.sh <distribution> <base|desktop> 10.04 Lucid through 26.04 Resolute base, desktop

Important

This is a community project. It is not an official ROS or Ubuntu installer.

Warning

EOL distributions and their Ubuntu releases receive no security fixes. Use them only when compatibility requires it, preferably in an isolated environment.

Quick start

Prerequisites

  • The exact Ubuntu release listed for your ROS distribution
  • sudo access and an internet connection
  • The Ubuntu universe component enabled

On a current Ubuntu release, enable universe with:

sudo apt-get update
sudo apt-get install -y software-properties-common
sudo add-apt-repository -y universe

Clone the repository and make the installer executable:

git clone https://github.com/shkwon98/ros-install-scripts.git
cd ros-install-scripts
chmod +x install.sh

Install a distribution:

./install.sh jazzy desktop

Other examples:

./install.sh noetic base   # EOL ROS 1
./install.sh iron desktop # EOL ROS 2
./install.sh rolling base # Rolling

The installer does not edit your shell startup files. Use the command printed after installation:

source /opt/ros/<distribution>/setup.bash

Supported distributions

Each ROS distribution targets one canonical Ubuntu release. EOL entries are installed from their frozen final snapshot.

Ubuntu ROS 1 ROS 2
10.04 Lucid Box Turtle artwork Box Turtle EOL
C Turtle artwork C Turtle EOL
Diamondback artwork Diamondback EOL
Electric Emys artwork Electric EOL
—
12.04 Precise Fuerte Turtle artwork Fuerte EOL
Groovy Galapagos artwork Groovy EOL
Hydro Medusa artwork Hydro EOL
—
14.04 Trusty Indigo Igloo artwork Indigo EOL
Jade Turtle artwork Jade EOL
—
16.04 Xenial Kinetic Kame artwork Kinetic EOL
Lunar Loggerhead artwork Lunar EOL
Ardent Apalone artwork Ardent EOL
18.04 Bionic Melodic Morenia artwork Melodic EOL Bouncy Bolson artwork Bouncy EOL
Crystal Clemmys artwork Crystal EOL
Dashing Diademata artwork Dashing EOL
Eloquent Elusor artwork Eloquent EOL
20.04 Focal Noetic Ninjemys artwork Noetic EOL Foxy Fitzroy artwork Foxy EOL
Galactic Geochelone artwork Galactic EOL
22.04 Jammy — Humble Hawksbill artwork Humble
Iron Irwini artwork Iron EOL
24.04 Noble — Jazzy Jalisco artwork Jazzy
Kilted Kaiju artwork Kilted
26.04 Resolute — Lyrical Luth artwork Lyrical
Rolling Ridley artwork Rolling

Humble, Jazzy, Kilted, and Lyrical use the current official ROS repository. Rolling uses the official testing repository.

Installation variants

Variant Intended use Package family
base Headless systems, robots, and minimal installations ROS base metapackage
desktop Workstations that need GUI tools and common desktop packages ROS 1 desktop-full or ROS 2 desktop

EOL support

EOL distributions use the signed final repositories at snapshots.ros.org. The installer downloads the ROS Snapshot Builder public key from Ubuntu's keyserver and accepts it only when its complete fingerprint matches:

4B63 CF8F DE49 746E 98FA 01DD AD19 BAB3 CBF1 25EA

The snapshot repository uses HTTP because its current TLS certificate does not match the hostname. Apt signature verification remains enabled; the installer never uses trusted=yes or unauthenticated package installation.

Your Ubuntu package sources must already work. For an EOL Ubuntu release, configure its archived sources and include the universe component before running the installer.

How installation works

  1. Validate the distribution, variant, Ubuntu release, and universe component.
  2. Configure the official current, testing, or final snapshot repository.
  3. Confirm that the selected metapackage exists for the current architecture.
  4. Install the metapackage and verify /opt/ros/<distribution>/setup.bash.
  5. Print the shell command needed to use the installation.

License

This repository is licensed under the Apache License 2.0. ROS packages installed by this project remain subject to their respective licenses.

Distribution artwork by illustrator Joshua Ellingson is provided by Open Robotics and the ROS Wiki under CC BY-NC 4.0 and remains subject to the ROS trademark policy.