Table of Content
This is a four-parts article. There are few sections here.Part One
- Preface: Test Bed, Must Read
- Getting Started With Docker
- Package Management: ALPM Frontend, ASP and AUR Helper, Get Help
- Updating System: OS Release, The Riddle, Refresh Update, List Upgradable, Download Upgrade, Upgrade, Common Form
- Package IRSIF: Install, Removal, Query Search, Show Info, Change Log, List Files, Verify, Package as File
- What's Next
- Dependency: Using pacman, Test, Using pactree
- Repository: Configuration, Mirror
- Group: Blackarch Example, List Group
- Lock Package: IgnorePkg, HoldPkg
- System Wide: List Packages, Search Files
- History: The Log File
- Clean Up: Cache, Autoremove
- Case: When chroot fail
- What's Next
- Automatic Build: User Privilege, PKGBUILD, makepkg, Example, Dependency, Download, Install, Namcap
- ABS: Deprecation, ASP, SVN
- What's Next
- Introducing AUR: Package Query, cower, Foreign Package
- AUR Helper: yaourt, pacaur, packer, aura
- Screenshot: Query AUR
Goal: Examine Package Manager, Focus on Command Line Interface
We have this ALPM, The Arch Linux Package Management,
as a base for
pacman binary package frontend,
and source package tools such as the famous
or even the lower level
They are all under ALPM umbrella.
Using Arch Linux minimal install in Docker,
is a good way to learn ALPM.
ALPM is considered a basic knowledge
utilized by Arch’s based distribution
such as Manjaro, Antergos, Artix,
and some other cool Arch’s influenced distribution such as KaOS.
In short, any distribution using
Personally I have been an Arch user since 2014, I have used so many pacman command, but never really understand. Reading pacman manual again makes me realize that I know nothing. That is why I have a need to write down this blog article.
Operating System: Artix (OpenRC )
Window Manager: Herbstluftwm
Since we are going to use docker again, you can read a common overview here.
Of course you can use virtualization, the issue is distraction. We need to avoid tendency to focus on GUI tools. At the same time, limiting the scope to CLI tools. Most of the time, CLI tools is considered lower level than the GUI one.
You are encouraged to read the holy archwiki first, before even starting to read this article.
There are already so many references for this pacman on the internet. This blog article is just another reference.
Getting Started With Docker
As usual, first, we do attach docker process.
Arch Linux use
.pkg.tar.xz extension for package.
ALPM Frontend, ASP and AUR Helper
ALPM = “Arch Linux Package Management”
Note that ABS tools is deprecated.
Package Query: C
Read the fine manual.
This one show nothing.
And this one show a lot.
Note that with minimal install in docker,
we do not have
First Thing First
First thing to do is updating my system as usual.
Make sure it is Arch that we are using.
/etc/os-release in Manjaro and KaOS,
But Arch utilized an empty file
to indicate that this is an arch distribution.
I guess since Arch is rolling release,
there is no need for release number.
Other Arch based may have different file,
pacman -Syu ?
And What is
pacman -Syyuu anyway ?
Of course there is
man pacman that explain it all.
After reading the manual we can have something like
pacman --sync --refresh --quiet --sysupgrade --force.
We can separate the
pacman -Syu into few smaller steps.
From the manual “ Passing two –refresh or -y flags will force a refresh of all package databases, even if they appear to be up-to-date. “
You may add
--noconfirm if you wish.
this one not asking for PGP confirmation anymore.
This command will install package, and download if necessary. This is a process with long verbose output, I have to split out to three figures.
This is why the first figure output looks pretty similar with the download command above since it works on the same upgradable packages. But the next figure is different.
Consider put all them command above together. You can combine update dan upgrade in single command. I usually only use this single command.
Install, Remove, Search, Info, File
Installing in Arch is just
--sync with target.
Consider our favorite example package below.
This will also have a verbose long output.
Or other favorites package.
You can also download, and install later, with color
And you can also combine with system upgrade.
We many cases to be shown here.
no package has any dependency to this friendly water creature.
We can also remove any its dependency as well
that is dependency of
Have a look at how ALPM manage dependency,
this command will send error notification message.
It can be solved by using
If you wish, you can have a cleaner removal.
It is just an example. We do not realy need to delete it.
Package Query Search
There are two kind of pacman searches,
local query search
repository sync search
Local query search.
And repository search.
There are also some AUR search command that we will discuss later.
Package Show Info
And repository search. With slightly different output, the additional Repository field.
I rarely use this feature.
Pretty straightforward using
-Si is totally different task.
Listing package files also can be achieved using
You can verify integrity of a package.
Package as File
You can examine downloaded package.
And gather information from the file directly
You can also query file
-Qpl or info
If you are a curious person, you can even extract the package.
pacman is a complete package management,
one command rule all, and it is also very fast.
So many commands that this topic deserve its own long article.
Consider finish reading [ Part Two ].
- Docker - Package Management Summary
- Docker - LFS Build
- Docker - Arch ALPM - Part Four
- Docker - Arch ALPM - Part Three
- Docker - Arch ALPM - Part Two
- Docker - Debian APT - Part Four
- Docker - Debian APT - Part Three
- Docker - Debian APT - Part Two
- Docker - Debian APT - Part One
- Docker - Slackware Package - Part Three
- Docker - Slackware Package - Part Two
- Docker - Slackware Package - Part One
- Docker - Fedora DNF - Part Four
- Docker - Fedora DNF - Part Three
- Docker - Fedora DNF - Part Two
- Docker - Fedora DNF - Part One
- Docker - openSUSE Zypper - Part Four
- Docker - openSUSE Zypper - Part Three
- Docker - openSUSE Zypper - Part Two
- Docker - openSUSE Zypper - Part One
- Docker - Void XBPS - Part Two
- Docker - Void XBPS - Part One
- Docker - Gentoo Portage - Part Three
- Docker - Gentoo Portage - Part Two
- Docker - Gentoo Portage - Part One
- Docker - Crux Ports
- Distribution - Debian to Devuan Migration
- Distribution - Manjaro OpenRC to Artix Migration
- Distribution - Mageia 6 Upgrade
- File System - GRUB2 support for BTRFS
- Distribution - openSUSE Tumbleweed First Time Install
- Distribution - Fedora First Time Install
- Distribution - Manjaro OpenRC Issues
- July 2017
- June 2017
- May 2017
- April 2017