Linux basics

ROS is developed using standard tools and tries to not be limited to one specific platform. So, with more or least effort, you can build and run ROS in almost any platform. However, a Unix platform is where it plays better.

Unix

Unix (trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center.

In the world of operating systems (OS), Linux, or better defined GNU/Linux is one of the most popular Unix flavor. The OS should be named GNU/Linux and consist of a kernel part (Linux) and a set of tools that mainly came from the GNU project.

Linux distribution

A Linux distribution (often abbreviated as distro) is an operating system made from a software collection that includes the Linux kernel, and often a package management system. A distribution can be done by a company with commercial support, such as Fedora Linux (Red Hat), openSUSE (SUSE) and Ubuntu (Canonical Ltd.); or entirely by a community, such as Debian, Slackware, Gentoo and Arch Linux.

Most distributions come ready-to-use with precompiled software for a specific instruction set (amd64, i386, arm64, etc), while some (such as Gentoo) are distributed mostly in source code form and must be compiled locally for installation.

A typical Linux distribution comprises a (usually modified) Linux kernel, an init system (such as systemd, OpenRC, or runit), GNU tools and libraries, documentation, and many other pieces of software (such as IP network configuration utilities and the getty TTY setup program, a desktop environment, among others). It also contains a package system to provide software from online repositories, which are storage locations usually distributed around the world.

Debian and Ubuntu

Debian, also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. It is one of the oldest operating systems based on the Linux kernel, and is, as of September 2023, the second oldest Linux distribution still in active development, only behind Slackware.

Debian is also the basis for many other distributions, most notably Ubuntu. The project is coordinated over the Internet by a team of volunteers guided by the Debian Project Leader and three foundational documents: the Debian Social Contract, the Debian Constitution, and the Debian Free Software Guidelines.

Ubuntu is a Linux distribution based on Debian and composed mostly of free and open-source software. Ubuntu is released every six months, with long-term support (LTS) releases every two years. Ubuntu is developed by the British company Canonical, and a community of other developers, under a meritocratic governance model. The initial release was Ubuntu 4.10 (Warty Warthog) in October 2004.

In the scope of the course, it is highly recommended installing a Ubuntu 22.04 distribution in the computer used for the course.

How to install a Ubuntu 22.04

To install a Ubuntu 22.04 is to install a complete operating system in a computer. There are several methods to accomplish that task:

Erase the hard disk of a computer and replace it with a new OS

You can follow the install instructions and chose the option Erase disk and install Ubuntu.

With this option you will have a complete installation in the computer.

Install it along the current OS in the computer

The second method is to install it alongside the current operating system on the computer. Typically, the most common operating system is MS Windows. To achieve better results with this option, it is highly recommended to first shrink the disk partition used by the current operating system, allocating enough space at the end of the disk to install Ubuntu. It is recommended to have at least 80 GB of free space; 150 GB would be even better. If you have another disk available, you can choose to install one operating system on one disk and the other on another disk.

When the computer boots, a menu (GRUB) appears and let the user choose which operating system will be loaded.

Install it using some virtualization technologies

The third method is to use some kind of virtualization. With the current virtualization technologies it is not mandatory to replace the OS of your computer with a GNU/Linux distro. With this method you can install or a VirtualBox machine, or VMWare machine or, in the case you are running MS Windows, the Windows Subsystem Linux (WSL).

We do not recommend for the course the use of a Virtual Machine like VirtualBox or VMWare. We have found several malfunctions and poor performance, especially when it interacts with programs that require intensive use of the computer’s graphics capabilities.

In any case, if you are running MS Windows we recommend to use WSL. To install and use it, follow the official documentation . You must be running Windows 10 version 2004 and higher (Build 19041 and higher) or Windows 11.