kerntop
kerntop is a safe terminal user interface for managing Linux kernel packages
on Debian- and Ubuntu-based systems. It is designed for servers and SSH
sessions: no graphical desktop or graphical libraries are required.
It presents installed and repository-available kernels in an ncdu-style browser, marks and protects the running kernel, and keeps kernel meta packages out of package actions.
[!WARNING] kerntop can run real
apt-gettransactions when started as root. From a read-only session, presseto restart throughsudo. Read the confirmation dialog and preview a transaction before applying it.
Install
Quick start
Run the latest release without installing it permanently:
$ uv tool run kerntop
$ uvenv run kerntop
$ pipx run kerntop
Install with pip
Install from PyPI with Python 3.11 or newer:
$ pip install kerntop
System prerequisite
kerntop uses Debian's python3-apt bindings to read package state. Install
the distribution package if it is not already present:
$ sudo apt-get install python3-apt
On systems where pip installs into a virtual environment, kerntop locates
supported system site-package directories so it can use the distribution's
python-apt binding. If the binding cannot be loaded, kerntop reports the
problem rather than falling back to parsing apt command output.
Usage
Start in read-only mode:
$ kerntop
Start with package-action controls enabled:
$ sudo kerntop
From an unprivileged session, press e to restart kerntop through sudo.
The application closes before sudo prompts for your password, so the normal
terminal authentication flow works over local terminals and SSH sessions.
The same entry points are available as command line flags, which may be
combined (kerntop -eu):
-e,--elevaterestarts throughsudobefore the interface starts, so the session begins in root mode.-u,--header-cleanupopens the header cleanup review as soon as the apt cache has loaded.-h,--helpstarts the interface on its Help screen.
Use the arrow keys and Enter to browse kernel series and builds. Press h in
the application for the complete key reference. The primary actions are:
atoggles the recommended and all-variants views.ppreviews the contextual install or removal withapt-get --simulatein root mode.qqueues a contextual install or removal for one combined transaction in root mode.creviews, simulates, applies, or clears queued package actions.iinstalls an available kernel image after confirmation in root mode.dremoves an installed, non-running kernel image after confirmation in root mode.ureviews unused versioned development headers and kernel-support packages from the main browser.erestarts kerntop withsudofrom a read-only session.rrefreshes repository indexes and reloads the cache in root mode; it only reloads the local cache in a read-only session.
Safety model
- The currently running kernel cannot be selected for removal or purge.
- The browser warns when no non-running fallback kernel is installed, and repeats that warning before removing the final fallback.
- Kernel meta packages are protected and are never package-action targets.
- Package changes require root; unprivileged sessions are read-only.
- Queued changes can be simulated before their final confirmation.
- Removal and purge actions require explicit confirmation.
- Header and kernel-support cleanup lists explicit packages and never runs
autoremoveautomatically.
Scope and current limitations
kerntop supports apt-based Debian- and Ubuntu-based systems. It deliberately has a narrow scope:
- It requires the distribution-provided
python3-aptbinding. - The available-kernel view comes from the local apt cache. Refresh repository
indexes with
rin root mode when that cache is stale. - Recommended variants follow the running kernel's flavour. We deliberately do not use installed meta-package dependencies because they only select their current targets and can hide other available kernels of the same flavour.
- Kernel installation targets image packages. Headers and kernel-support packages are handled through their separate cleanup workflow.
- Package previews, queues, and changes require root mode.
- It never runs
autoremoveautomatically.
Metadata
Release files for kerntop 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kerntop-0.2.0.tar.gz | 18.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kerntop-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 43.0 kB
Release files / kerntop-0.2.0.tar.gz
| Download URL | kerntop-0.2.0.tar.gz |
|---|---|
| Size | 18.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
417cdea5d5eb4a554a62620081307a13db9772ca329f6f64d54c193ce851c9f0
|
|
BLAKE2b-256 checksum How to use checksums |
058b1b8a1b7b0375a42dca5692681b5c18c4efa4fc04538d13b6414a7e2f3a94
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"PikaOS","version":"4","id":"nest","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / kerntop-0.2.0-py3-none-any.whl
| Download URL | kerntop-0.2.0-py3-none-any.whl |
|---|---|
| Size | 24.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5789b11923c521519219cd4e7b32c755d8ab38cc425ea22e63693abff51c7403
|
|
BLAKE2b-256 checksum How to use checksums |
6ecb14260cba3e20df70b72c273de429dd85c5af288b2543ecfe963fddc330fd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"PikaOS","version":"4","id":"nest","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|