Linux Distros

Getting Started with Manjaro Linux Part-I

As a rolling release distribution, Manjaor Linux continuously rolls out updated software versions. Even though it’s an Arch Linux derivative, they differ in the context of targeted audience and goals. Arch Linux is a bleeding-edge software operating system aimed at technically sound users. Manjaro updates go through layers of testing to provide a comparatively stable, fast, and lightweight system for users. That is, the packages don’t come out as fast as in Arch Linux.

Hence, Manjaro uses its official repository to get the latest updates. Another main reason for a separate repository is that Manjaro maintains its own system packages like hardware detection memory, among many others.

However, users can access new software packages via an unofficial repository. To get started, we will learn about Manjaro’s official and unofficial repositories, how they are maintained, and how to install, update, and remove required packages via these repositories.

Official Repositories

Manjaro’s official repositories contain essential software accessible via a package manager. The primary repository contains packages required for booting Arch Linux, setting system process, web browsers, tools for languages like Python, and some community repositories accepted by package maintainers from unofficial repositories, etc.

The packages inside this repository are built and accepted based on high-quality requirements that are accessible via Manjaro Mirrors.

Pacman

The main distinction among Arch-based and other major Linux distributions is the package manager Pacman. Pacman allows the user to update, install, or remove packages along with all the required dependencies.

During installation, pacman lists optional dependencies which are not available in the pacman.log file; the local database is queried via the -Q flag to list dependencies.

The additional quality assurance feature diminishes the need to download or wait for a new Manjaro version release. New package update from the official repository only requires instructions for the packet manager to retrieve the latest software versions.

Manjaro Update Via Pacman CLI

Once installed, it’s important to update the distro to retrieve the latest Manjaro release. Manjaro update from a software program (Pamac GUI of Pacman) mostly suffices the entire installation process. However, updates via a command-line interface grant more control over resolving issues, if any.

Open the CLI to type the following command:

[email protected]:~$ sudo pacman -Syu

The above command only upgrades the configured packages. The -S option synchronizes the system packages with the official’s database, -y refreshes the packages or downloads the latest packages from the database. Lastly, the -u option upgrades the packages.

The use of the -Syyu option enforces Pacman to update all database repositories. Besides, it helps upgrade the system if the above command fails to retrieve the latest software releases. However, it only provides efficient package management from Manjaro official repository system.

Arch User Repository (AUR)

Even though Manjaro is a derivative of Arch Linux, it’s impossible to access its repository for use in Manjaro. However, we can access packages from an unofficial community-driven storage space known as Arch User Repository (AUR).

AUR contains package build information in a shell script PKGBUILD searched by the makepkg utility to follow the instructions to compile or build packages archive. The package is composed of instructions and binary files that are installable by the packet manager.

The Potential Risk Involved

The AUR allows regular users to create and share new software packages. Hence, if the AUR package gets votes from the community and has a compatible license with a good package build, it can become part of the official repository.

However, the additional software packages come with potential risks and issues. To overcome the problems, the Trusted User plays an intermediary role between unofficial package collection and Arch Linux to establish clean AUR operations. Besides, they have the authority to maintain, manage, and remove packages as well.

Ways to Use AUR in Manjaro

The installation process of AUR packages is not as simple as it seems. The official documentation recommends manually inspecting PKGBUILDS and installation files before building packages. Hence, there are various ways to access AUR; we will discuss each of them here:

Access via Pacman GUI (Pamac)

Go to the Add/Remove Software, go to the preferences. Select the AUR tab in the open dialogue box, enable AUR by moving the slider, and check for updates. Now, each package from the AUR is identified via an AUR tag.

Access via Pamac CLI

Before Accessing AUR packages via command-line, it’s recommended to visit the AUR website to gain information about the warnings and solutions provided by the users and developers.

Search for the required <pakagename> and install the package using the build command:

[email protected]:~$ pamac search -a <pakage_name>

[email protected]:~$ pamac build <pakage_name>

Above commands results in a series of question that includes:

  • Query to edit files for verification as a precaution to identify malicious scripts.
  • Query to download dependencies, scripts, builds, and installation.
  • Password authentication.

AUR Helper

Another simplest way to access PKGBUILDS from AUR is through AUR helpers. It’s a command-line tool that simplifies the task of package search and installation process.

The most recommended AUR Helper for new users is Yay, as it is closest to the Pacman in terms of commands and options. Moreover, its also upgrade and backups the system with little to no prompts.

Install git using Pacman, clone the PKGBUILD, and cd into the yay directory to build the package using makepkg.

[email protected]:~$ sudo pacman -S --needed base-devel git

[email protected]:~$ git clone https://aur.archlinux.org/yay.git

[email protected]:~$ cd yay

[email protected]:~$ makepkg -si

Now, use the following command to install the required software.

[email protected]:~$ yay -S <package_name>

Manual Installation of AUR Packages

Again the manual installation of AUR packages requires necessary files. Use Pacman to install git, clone the script files and build the package using makepkg.

[email protected]:~$ pamac install base-devel git

[email protected]:~$ git clone https://aur.archlinux.org/google-chrome.git

[email protected]:~$ cd google-chrome

[email protected]:~$ makepkg -s

The above command handles dependencies. Hence, once the package builds successfully, a file package_name-pkgver.pkg.tar.zst is created in the working directory.

Install the package using the following command:

[email protected]:~$ makepkg -i

This command is equivalent to

[email protected]:~$ pacman -U package_name-pkgver.pkg.tar.zst

Or combine the last two steps into one:

[email protected]:~$ makepkg -is

Conclusion

In this article, we learn about Manjaro’s official and unofficial repositories, ways to access and upgrade the Manjaro system and build packages using AUR through various means.

About the author

Usama Azad

A security enthusiast who loves Terminal and Open Source. My area of expertise is Python, Linux (Debian), Bash, Penetration testing, and Firewalls. I’m born and raised in Wazirabad, Pakistan and currently doing Undergraduation from National University of Science and Technology (NUST). On Twitter i go by @UsamaAzad14