Table of Content
There are few sections here.
- Preface: Test Bed
- Getting Started With Docker
- Package Management: Reading, Source Code, Front End, Get Help
- Updating System: Ports Update, System Upgrade
- Package IRSIF: Install, Removal, Query Search, Show Info, List File
- Dependency: Help, Dependency, Reverse Dependency, Test
- System Wide: Installed Packages
- Ports Difference
- History: The Log File
- Clean Up
- Hold Package
- Issues with Unmaintained Docker Container
Goal: Examine Package Manager, Focus on Command Line Interface
This Crux is even easier with docker container, no need to set up system. Therefore we can dive right away to compilation.
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.
Getting Started With Docker
As usual, first, we do attach docker process.
Before Arch, there was Crux.
Arch was intended as additional Crux package manager,
but then was recreated from scratch.
While Arch Linux use
.pkg.tar.xz extension for package,
.pkg.tar.gz extension for package.
If you are helpless, just add this
help | less argument.
Or if you have
I mean after, source downloaded, compiled, built, and finally installed,
yes you can do below command.
First Thing First
First thing to do is updating my system as usual.
You can use
ports -u command.
That remind me of
emerge -u command.
Now is time to use
an advanced package management tool for CRUX.
Consider system update using
As you can see above, openssl has been failed to compile. Which we will solve later.
Install, Remove, Search, Info, File
Read the fine manual.
You can use
to install new package,
to upgrade package currently installed package.
Removing package would not not package that depend on it. Package would be removed without prior warning. Therefore be careful while remove.
Package Query Search
Package Show Info
Listing files in particular package.
There is this file owner command.
System wide information.
There are two main topics in dependency, dependency itself, and reverse dependency. Beside these two, there are other topic as well, such as managing conflict that we do not cover here.
Ports has a very nice help that show all dependency related options.
Package that required by: such as man-db need libpipeline and other.
This dependency information can be achieved by
This will show required parts of the package.
Most people love tree
Package that require: such as libpipeline needed by man-db or other.
This reverse dependency require
libpipeline would not remove
libpipeline would be removed without prior warning.
Therefore be careful while remove.
You check the ports difference.
I cannot find any reference about group in Crux’s Ports. I guess there is no group concept.
The Log File
This is most the forgotten part of package management, although it is not uncommon to notice messages. For that reason, I put the recorded event here, before discussing about any further feature.
Log options in Crux is disabled as default.
You have to enable it manually by editing
This is the nano log after nano installation.
Most likely you want the tail, latest transaction, at the bottom of the recorded event.
Time after time, your cache size may growing bigger and bigger.
- /usr/ports/core/ * / * .pkg.tar.gz
Unfortunately, I haven’t find any reference, on how to clean up this port directory.
Hold in prt-get is pretty straightforward. Ports can hold package using lock mechanism. This is just a terminology.
Consider a system upgrade,
we choose to hold openssl as our guinea pig example.
We can see that
sysup will have different result.
Issues with Unmaintained Docker Container
prt-get does not work, as you can see below.
We have to face
openssl install issue.
I was lucky, the package is there in
Therefore I can install using lower level
pkg command directly.
It turned out that
glibc version is
2.19, which is less than
Unfortunately, update command, not uprading the
Distribution upgrade from
can be done using live DVD.
But cannot be done directly due to ncurse break.
Distribution upgrade from
also can be done using live DVD.
Since we are using Docker, it can’t be done with external boot.
I should stay with 3.1 instead
There are things unsolved
Thank you for reading
- Docker - Package Management Summary
- Docker - LFS Build
- Docker - Arch ALPM - Part Four
- Docker - Arch ALPM - Part Three
- Docker - Arch ALPM - Part Two
- Docker - Arch ALPM - Part One
- 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
- 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