Skip to content

Latest commit

 

History

23 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ROS Install Scripts

Install ROS 1 or ROS 2 on its target Ubuntu release with one command.

CI status ROS 1 and ROS 2 Ubuntu EOL releases License

Quick start · Variants · Distributions · EOL support


Choose a ROS distribution and an installation variant. The installer checks your Ubuntu release, configures the ROS repository, and installs the selected packages.

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

Quick start

Prerequisites

  • The Ubuntu release listed for your ROS distribution in the table below
  • Working Ubuntu package sources with the universe component enabled
  • Git, an internet connection, and sudo or root access

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

For example, install Jazzy desktop on Ubuntu 24.04:

git clone https://github.com/shkwon98/ros-install-scripts.git
cd ros-install-scripts
./install.sh jazzy desktop
source /opt/ros/jazzy/setup.bash

Use ./install.sh <distribution> <base|desktop> to select another target:

./install.sh noetic base   # Ubuntu 20.04, EOL ROS 1
./install.sh iron desktop  # Ubuntu 22.04, EOL ROS 2
./install.sh rolling base  # Ubuntu 26.04, Rolling Ridley

Run the setup command printed by the installer in each new shell. The installer does not edit your shell startup files.

Box Turtle uses source /opt/ros/boxturtle/setup.sh instead and supports only the base variant.

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

Indigo and Jade desktop require separate environments because their Gazebo dependencies conflict. ROS package installation stops if it would remove existing packages.

Supported distributions

Each distribution requires the Ubuntu release shown below. (LTS) means long-term support; EOL means end of life.

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

Active ROS 2 releases use the official current repository. Rolling uses the official testing repository; EOL releases use final snapshots.

EOL support

Warning

EOL ROS distributions are no longer supported upstream. Use them only when compatibility requires it, preferably in an isolated environment.

EOL distributions install from signed final snapshots at snapshots.ros.org. On an EOL Ubuntu release, configure the archived Ubuntu package sources and enable universe before running the installer.

The snapshot repository uses HTTP. Ubuntu 10.04 also retrieves the signing key over HTTP because its TLS library cannot connect to the keyserver. The installer checks the key's full fingerprint and keeps APT signature verification enabled:

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

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.