Pacman

Package Managers
Installing programs on Linux systems often includes the use of a package manager, and installing programs through other means is often considered bad practice and can cause accidental installation of malware.

A package manager is used to install programs in the form of packages. Packages can be shared between multiple programs or other packages in order to save space.

A repository will contain both a list of available packages along with their version names, and the packages themselves. A package manager will download the list to check for packages.

To verify that what the package manager downloads are genuinely what was requested for and have not been tampered, package signing is used.

Basic overview of using pacman
SteamOS 3 is based on Arch Linux, as such, it uses the package manager named pacman. The full official guide for pacman can be found here. Or can be accessed through the man command.

When installing packages through, root user privileges are needed. To do this, a program like sudo can be used. All actions which involve the "-S"  flag will require root privileges.

The below will explain the commands in a way which may not be fully true to what the command does behind the scenes, but it will be more understandable for a normal user.

Updates the local copy of the repository list to match the external repositories.
 * 1) pacman -Sy

Searches for package_name in the local repositories.
 * 1) pacman -Ss package_name

Checks for updates.
 * 1) pacman -Syu

Shows information on a package. Can be used on both installed and not yet installed packages.
 * 1) pacman -Si

Deletes a package and all other packages which were installed along with it. (if those packages are no longer needed)
 * 1) pacman -Rs

Searches for package_name in installed packages.
 * 1) pacman -Qs package_name

Installing Programs from the AUR
The AUR, or Arch User Repository, is home to many packages not provided by Steam's repositories.

Oftentimes, you will need a package from here if you want to use a more obscure program, or need to interface with hardware requiring specialized drivers.