Table of Content
This is a three-parts article. There are few sections here.Part One
- Preparing Docker
- IRSIF: slackpkg install, removepkg, Query Search, Show Info, List File
- Container: Slackware64, Minimal Install, Package Series
- System Wide: Installed Packages
- History: The Log File
- No Dependency: Example, slpkg deps-status
- Hold: Blacklist
- Using slackbuild, manual compilation, and installpkg
- Using sbopkg, automatic compilation
- Using slapt-get: Reading, Install, Dependencies, Update, Upgrade, Install, Show Info
- Using slapt-src: Update, Install
- Install slpkg: Dependency, Install, No certificate
- Using slpkg: Documentation, Update, Install, The Log File
- Repository: List, Configuration, Enable, List Package, Install Package
Goal: Examine Package Manager, Focus on Command Line Interface
I am so glad that finally, for the first time, I can learn Slackware Package Management using Docker. Here is my report as a new slacker who just landed in slackware land, my journey using minimal install.
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
Our first move is, of course attach docker process, as usual.
Slackware does not really have a sophisticated official package management.
slackpkg there are special unoffical tools
to manage your packages such as
Read the fine manual. Helpless or more.
First Thing First
Remember to run
slackpkg update first.
Solve Dependency Issue
My first attempt is to install package I cannot live with. These package might be different with your favorites.
Unfortunately when I run
$ man man, error did happened.
I had to fix using
$ slackpkg file-search
And voila! No more encounter with error.
More command please ...
There are still, other cool command though. However, I choose not to bloat my minimal install.
Install, Remove, Search, Info, File
We have seen Install in previous example. How about reinstall ?
We have seen search in action in previous section.
Listing package files can be achieved using
Container: Minimal or Full Install ?
What should I do with this Container ?
How you play with your toy is up to you. At least we have two choice. Two kind of toy.
Populate Using Slackware64
Stay with Minimal Install.
The docker image
is a slackware minimal install.
Therefore you need to populate with full slackware distribution.
The issue with slackware64 is my docker container grown from 86.7 MB to 8.64 GB. Slackware64 has this huge size as a drawback. For that reason I decice to scrap the container. I can’t afford huge container, as I intent to play with other docker container as well.
I will do that when I have my own computer. But I would never do that again with my docker. Cheers.
Stay with Minimal Install
With minimal install, I am own my own. I assume that I know what I am doing.
For binary package come form official repository, it is all alright. The drawback is you have to prepare toolchain for slackbuild package, this slackbuild is unofficial, and must be compiled.
I must admit that I know nothing about toolchain. But here it is what you need based on my experience.
And some other package required
by make when I compile
It is not a big deal. Just be brave to identify what each build need.
D Package Series
You can install
D Package Series
as mentioned in installation help:
I remind that I keep my minimal install for learning purpose.
So do not have any plan to install
D Package Series.
If storage is not a problem for you,
you can install
D Package Series,
or even use full
Change mirror is slackware can be done, by changing the /etc/slackpkg/mirrors. Here I uncomment local university named kambing.
The result will shown when update.
The repository is already using kambing.
System wide information.
You can query installed packages, with rather hackish low level slackway as below
This will install a lot of package. I personally, avoid to use it.
Clean non official repository. I won’t do this.
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.
Unfortunately, I cannot find any reference about slackpkg log file. However, there is are some log file for
Most likely you want the tail, latest transaction, at the bottom of the recorded event.
Slackware proud of their no dependency resolution philosophy. A package that required by other packaged could be removed without prior warning.
libpipeline would not remove
libpipeline would be removed without prior warning.
Therefore be careful while remove.
The same result for
Using slpkg deps-status
However, you can use
and achieve dependency resolution.
Holding package ini Slackware
can be done using
This will install a lot of package,
and we want to reduce he number of package by blacklisting.
We can reduce by blacklist some few package
This is just an example.
lib is a bad idea.
Now we have fewer packages.
This is just an example. I do not have any intention to install anything.
Time after time, your cache size may growing bigger and bigger.
- /var/cache/packages/ * / * / * .txz
Unfortunately, I haven’t find any reference, on how to clean up this cache directory.
Consider finish reading [ Part Two ]
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 - 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