Hold Package: Case Example, Add Lock, Test Example, Remove Lock
Interesting Issue: systemd Dependencies
Conclusion
Preface
Goal: Examine Package Manager, Focus on Command Line Interface
Using openSUSE minimal install in Docker,
is a good way to learn zypper.
Zypper is a Package Manager utilized by openSUSE.
With minimal install, there is no need,
to download 4GB of full installation packages.
We need Tumbleweed rolling release with more often update than leap,
so that we have a chance to play more with package cycle.
Test Bed
Container: Docker
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.
By the container image size,
openSUSE is good at managing minimal install.
Issues on Minimal Install
No Reset
Since I use terminal with a lot of screenshot,
I utilize the $ reset command frequently.
Which is not available in openSUSE.
I can understand that minimal install,
could be a based for embedded system,
that is no need for either reset nor manual.
There are two workaround,
first is to emulate with character.
Or install ncurses-utils,
which contain $ reset command.
No Manual
No manual in openSUSE Docker.
Minimal install is designed to be minimal,
such as embedded system.
The manual should not be in minimal install.
Therefore we need to tweak this setting for our need.
Change rpm.install.excludedocs
from yes to no.
If necessary later, you still need to reinstall some packages,
so that the manual pages available in /usr/share/man/
Most modern package manager has shell feature,
that enable user to focus on the task of managing package.
Updating System
First Thing First
First thing to do is updating my system as usual.
OS Release
List Update
Update
Distribution Upgrade
Process that still being used after update and upgrade.
OS Release
List Updates
Equal to:
Update
This will update only newer packages.
Equal To:
Upgrade
This is similar to update, but affect all packages.
Wider than just new package.
This distribution upgrade also works in tumbleweed rolling release.
You can see that both are slightly different.
Equal To:
Patch Check
Another update method.
Equal To:
Process Being Used
Sometimes there are process still being used by upgraded package,
we can check this using $ zypper ps -s.
You can see a more complete example about this process,
in my previous opensuse full install article.
Package IRSIF
Install, Remove, Search, Info, File
Package Install
Consider our favorite example package below.
Equal To:
Note that you can reinstall using -f argument.
Download
Download without install is possible.
And you can continue with install later.
Package Removal
Equal to:
Dependency Removal
Supposed you install ViM, and later desire to remove ViM, with all dependencies.
Equal to:
Package Query Search
Equal to:
Package Show Info
Eauql to
Package File List
My bad, I cannot find any reference about listing files in particular package.
Therefore I use the lower level rpm -ql instead.
However there is this zypper -f command,
similar with rpm -qf instead.
What’s Next
Zypper has amazing repository commands,
so many commands that this topic deserve its own long article.
Consider finish reading [ Part Two ].