loading...
Cover image for Installing AUR packages

Installing AUR packages

nabbisen profile image Heddi Nabbisen ・2 min read

Summary

Arch Linux is one of the most popular Linux distributions.
It's supported by AUR, "A"rch Linux "U"ser "R"epository, which is a very big community of Arch users and developers, and hosts a large number of packages.
We can make our environment more convenient or more powerful by making good use of them.

This is also the case about Linux distributions based on Arch Linux such as Manjaro Linux and Antergos.


Reference: AUR User Guidelines' Statement

The beginning is:

The Arch User Repository (AUR) is a community-driven repository for Arch users. It contains package descriptions (PKGBUILDs) that allow you to compile a package from source with makepkg and then install it via pacman. The AUR was created to organize and share new packages from the community and to help expedite popular packages' inclusion into the community repository. This document explains how users can access and utilize the AUR.

A good number of new packages that enter the official repositories start in the AUR. In the AUR, users are able to contribute their own package builds (PKGBUILD and related files). The AUR community has the ability to vote for packages in the AUR. If a package becomes popular enough — provided it has a compatible license and good packaging technique — it may be entered into the community repository (directly accessible by pacman or abs).

And it's followed by:

Warning: AUR packages are user produced content. Any use of the provided files is at your own risk.


Well, I recommend to Manjaro users searching in Manjaro Package Manager before using AUR.
If there is some solution in the more reliable place, why wouldn't you visit there first?
And if there isn't any there, then think another way:

✿✿✿

How To Use

A Brief Account

Get "Git Clone URL", git clone it, makepkg -si it, and it's done.

Step 1: Get "Git Clone URL"

Visit AUR: https://aur.archlinux.org/ and search a package:

Go to the package page:

Get "Git Clone URL":

Confirm "Licence", "Popularity", "Last Updated", "Dependencies" and so on as needed:

Step 2: Build The Package And Install It

git clone [the package], cd [the package], makepkg -si, and it's done!

This is an example of a package called qperf.
* Note: qperf is a tool to measure network bandwidth and latency between nodes.

The 1st half step:

$ # git clone [the package]
$ git clone https://aur.archlinux.org/qperf.git

The 2nd half step:

$ # cd [the package]
$ cd qperf
$ makepkg -si

Finished 😁

A Side Topic

Actually, around installing qperf, however, there were not a single troubles on the way...

After all, I completed installing the package 😃

Posted on by:

nabbisen profile

Heddi Nabbisen

@nabbisen

An ICT designer/developer and a security monk. "With a cool brain and a warm heart", I am challenging unsolved problems in our society. I use OpenBSD/Rust/etc.

Discussion

markdown guide
 

And if you want to get rid of systemd, the Arch fork Artix might be for you.

 

Thank you very much, tux0r!
I have never heard of Artix.
It seems interesting especially to build an Arch server!

Although I don't have a strong opinion about systemd (because of shallow understanding), I remember I enjoyed using OpenRC when I used Alpine Linux.

By the way, I found the Debian fork Devuan without systemd as well as Artix when I studied Artix some time ago.
You and the web world are my big teachers : )

 

OpenRC is nice. (In fact, I currently have a toy Gentoo machine which is the main platform for OpenRC.) I mostly jumped off the Linux ship before systemd, and all that I can read about it is how many problems it makes to have a monolithic can-do-all software running as PID 1. I don't think that I'd want to make my own experiences with it.

You and the web world are my big teachers :)

My mother said that I would be a horrible teacher. I'm a cynic.

Hi, tux0r!
Thank you about the detail.

I have studied about systemd, SysVinit and upstart for a couple of days.
And I understood your saying, at least a part of it:

how many problems it makes to have a monolithic can-do-all software running as PID 1

What I understand is that it is a trade off between speed and stability.
And I seemed to understand why, in my past experiment, Ubuntu executed something faster than Alpine Linux or OpenBSD.

My mother said that I would be a horrible teacher. I'm a cynic.

To be frank, I couldn't find what to say, because I definitely know about you by far less than your mother 🤣

 

I have never heard of Artix.

I found (...) Artix when I studied Artix some time ago.

(... wait, what?)

Sorry for a wrong expression.
I tried to mean "dozens of minutes ago" using "some time ago" 😅
It's true I haven't known Artix since you taught me.

 

Thank you veery much. Damn I love Arch <3 <3

 

Hello, Alvan. Thank you for your cheering commenting 😉

 

Thanks for this!

I've been distro hopping and found myself back on Manjaro and couldn't for the life of me remember how to do this! My brain was stuck on dpkg for some reason 😑

Could you elaborate on the -si argument(s) on what it does and why it's needed? 🙂

 

Hi Tim. Thank you for your commenting 🙂 Sorry for my late reply.

Haha. My case is similiar to yours: Manjaro -> Debian ->Artix (Arch-based). I have recently got familiar with pacman commands after all.

Could you elaborate on the -si argument(s) on what it does and why it's needed? 🙂

  • -s is shorthand for --syncdeps that means "To build the package and install needed dependencies".
  • -i is for --install.

-si means to build the package and then install it.
When what you want is just to build the package and not to install it, makepkg -s is useful.
When you have finished building the package, all you have to do is executing makepkg -i to install it.

The documentations might help you: wiki.archlinux.org/index.php/Makepkg .

 

Hi Heddi

Thank you so much for taking the time to craft a really insightful and friendly response! :)

This makes tones more sense to me know - for some reason I was looking up "-si" as if it was one argument and not two arguments together 🙃

Hi, Tim. You're welcome.
I'm happy if it helped you in some way 😊