A simple GUI for basic Package Management with Apt

The tool presented here, „Simple Apt Update“ (simple-apt-update) is nothing more than a front-end to the non-interactive execution of apt-get update|full-upgrade and apt list --upgradeable. It can look like this:

Why another tool? Other (G)UI tools that can perform interactive Apt package management have one or more of the following shortcomings:

  • The tool attempts to introduce the entirety of Apt functionality to the user.
  • The tool attempts to introduce separate package formats (such as Snap or Flatpack).
  • The tool attempts to introduce a store model.
  • The tool has a buggy solver.

Simple Apt Update tries not to repeat these mistakes. In future releases, the following goals shall be upheld:

  • The three operations „update the package cache“, „list available updates“ and „download and apply all available upgrades“ shall be the only actions offered to the user.
  • The user is not offered to exclude specific upgrades.
  • The user is not asked specific detail questions.
  • The configuration of Apt and Dpkg in /etc are fully respected.
  • The project has few dependencies.
  • The application is written in robust Python, the GUI is implemented using Gtk.

If you like these goals, feel free to check out and use the source code (Debian packaging included) under the terms and conditions of the General Public License version 3:

Gitea project simple-apt-updateLast 3 commits: by Tilman Kranz: 84361afe correct commandline example by Tilman Kranz: 22a18a20 label listed updates in text output by Tilman Kranz: 943af1a3 ensure only one subprocess is running at a timeLatest release: v0.2

Running simple-apt-update periodically

For the user, create a service unit .config/systemd/user/simple-apt-update.service:

[Unit]
Description=Check for package updates
[Service]
ExecStart=sudo /usr/bin/simple-apt-update --exit-on-no-updates

Also create the corresponding timer unit .config/systemd/user/simple-apt-update.timer:

[Unit]
Description=Perform daily check for package updates
[Timer]
OnCalendar=*-*-* 12:00:00
[Install]
WantedBy=default.target

Finally, enable the user timer unit:

systemctl --user enable --now simple-apt-update.timer

This will prompt the user for installation of package updates, if there are any, every day at 12:00.