Ubuntu (deb packages)
Deb packages for ROS 2 Jazzy Jalisco are currently available for Ubuntu Noble (24.04). The target platforms are defined in REP 2000.
Resources
Status Page:
System setup
Set locale
Make sure you have a locale which supports UTF-8
.
If you are in a minimal environment (such as a docker container), the locale may be something minimal like POSIX
.
We test with the following settings.
However, it should be fine if you’re using a different UTF-8 supported locale.
$ locale # check for UTF-8
$ sudo apt update && sudo apt install locales
$ sudo locale-gen en_US en_US.UTF-8
$ sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
$ export LANG=en_US.UTF-8
$ locale # verify settings
Enable required repositories
You will need to add the ROS 2 apt repository to your system.
First ensure that the Ubuntu Universe repository is enabled.
$ sudo apt install software-properties-common
$ sudo add-apt-repository universe
Now add the ROS 2 GPG key with apt.
$ sudo apt update && sudo apt install curl -y
$ sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
Then add the repository to your sources list.
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
Install development tools (optional)
If you are going to build ROS packages or otherwise do development, you can also install the development tools:
$ sudo apt update && sudo apt install ros-dev-tools
Install ROS 2
Update your apt repository caches after setting up the repositories.
$ sudo apt update
ROS 2 packages are built on frequently updated Ubuntu systems. It is always recommended that you ensure your system is up to date before installing new packages.
$ sudo apt upgrade
Desktop Install (Recommended): ROS, RViz, demos, tutorials.
$ sudo apt install ros-jazzy-desktop
ROS-Base Install (Bare Bones): Communication libraries, message packages, command line tools. No GUI tools.
$ sudo apt install ros-jazzy-ros-base
Install additional RMW implementations (optional)
The default middleware that ROS 2 uses is Fast DDS
, but the middleware (RMW) can be replaced at runtime.
See the guide on how to work with multiple RMWs.
Setup environment
Set up your environment by sourcing the following file.
$ source /opt/ros/jazzy/setup.bash
Note
Replace .bash
with your shell if you’re not using bash.
Possible values are: setup.bash
, setup.sh
, setup.zsh
.
Try some examples
If you installed ros-jazzy-desktop
above you can try some examples.
In one terminal, source the setup file and then run a C++ talker
:
$ source /opt/ros/jazzy/setup.bash
$ ros2 run demo_nodes_cpp talker
In another terminal source the setup file and then run a Python listener
:
$ source /opt/ros/jazzy/setup.bash
$ ros2 run demo_nodes_py listener
You should see the talker
saying that it’s Publishing
messages and the listener
saying I heard
those messages.
This verifies both the C++ and Python APIs are working properly.
Hooray!
Next steps
Continue with the tutorials and demos to configure your environment, create your own workspace and packages, and learn ROS 2 core concepts.
Troubleshoot
Troubleshooting techniques can be found here.
Uninstall
If you need to uninstall ROS 2 or switch to a source-based install once you have already installed from binaries, run the following command:
$ sudo apt remove ~nros-jazzy-* && sudo apt autoremove
You may also want to remove the repository:
$ sudo rm /etc/apt/sources.list.d/ros2.list
$ sudo apt update
$ sudo apt autoremove
$ sudo apt upgrade # Consider upgrading for packages previously shadowed.