<message>Update the _set_golden_from_path function to improve the handling of existing golden image files. Replace the existing unlink logic with a more robust method that safely removes files or broken symlinks using the missing_ok parameter. This change enhances the reliability of the backup upload process by ensuring that stale references are properly cleared before setting a new golden image path.
8.7 KiB
Installed packages — candidates for removal (reTerminal kiosk)
Device: 10.20.50.147 (backup image).
Goal: shrink the image by removing apps and services not needed for a Chromium kiosk.
Keep: Chromium, LightDM, labwc, kanshi, maliit-keyboard, plymouth, openssh, NetworkManager, WayVNC (if you use it), wf-panel-pi, autotouch, wmctrl, wlr-randr, python3-gi, GTK/labwc themes in use.
1. Printing (CUPS) — safe to remove if no printing
| Package | Notes |
|---|---|
cups |
Print server |
cups-browsed |
Browse for network printers |
cups-client |
Command-line print client |
cups-common |
Shared files |
cups-core-drivers |
Core drivers |
cups-daemon |
Daemon |
cups-filters |
Filter stack |
cups-filters-core-drivers |
|
cups-ipp-utils |
IPP utilities |
cups-pk-helper |
PolicyKit helper |
cups-ppdc |
PPD compiler |
cups-server-common |
Server common |
hplip |
HP printer drivers |
hplip-data |
|
ipp-usb |
USB printer support |
ghostscript |
PostScript (used by printing) |
Remove in one go (will pull in dependencies):
sudo apt remove --purge cups cups-browsed cups-client cups-common cups-core-drivers cups-daemon cups-filters cups-filters-core-drivers cups-ipp-utils cups-pk-helper cups-ppdc cups-server-common hplip hplip-data ipp-usb ghostscript
# Then: sudo apt autoremove --purge
2. NFS / RPC — safe to remove if no NFS
| Package | Notes |
|---|---|
nfs-common (if present) |
NFS client |
rpcbind |
RPC port mapper (used by NFS) |
nfs-blkmap (service) |
pNFS block layout |
sudo apt remove --purge rpcbind # and nfs-* if listed by dpkg -l
sudo systemctl disable nfs-blkmap.service # if you don't use NFS
3. Development / build tools — safe to remove for kiosk
| Package | Notes |
|---|---|
build-essential |
gcc, g++, make |
gcc gcc-14 g++ g++-14 |
Compilers |
cpp cpp-14 |
Preprocessor |
make |
Build tool |
gdb |
Debugger |
dpkg-dev |
Package build tools |
binutils binutils-aarch64-linux-gnu |
Linker, etc. |
patch |
Patch utility |
git git-man |
Version control |
device-tree-compiler |
DTB compiler (only if you don’t build overlays) |
fakeroot |
Build env |
eatmydata |
Speed up builds |
sudo apt remove --purge build-essential gcc gcc-14 g++ g++-14 cpp cpp-14 gdb dpkg-dev binutils binutils-aarch64-linux-gnu patch git git-man device-tree-compiler fakeroot eatmydata
sudo apt autoremove --purge
4. Office / document viewers — safe to remove
| Package | Notes |
|---|---|
evince evince-common |
PDF/document viewer |
libevdocument3-4 libevview3-3 (often pulled by evince) |
|
catdoc |
Word document text extraction |
libreoffice-* (if any) |
Office suite |
sudo apt remove --purge evince evince-common catdoc
# If present: sudo apt remove --purge libreoffice-core libreoffice-common ...
sudo apt autoremove --purge
5. KDE Plasma apps (many) — review; remove what you don’t use
You’re using labwc as the session, but a lot of KDE packages are still installed (dolphin, konsole, kate, etc.). Removing big KDE apps can free a lot of space; keep anything your kiosk or panel needs.
File manager / desktop:
dolphindolphin-datadolphin-docdolphin-pluginskde-baseappsbaloo6(file indexer)
Editors / text:
katekate-datakwritemousepad(XFCE editor)
Terminal:
konsolekonsole-kpart
Browser / bookmarks:
konquerorkonqueror-datakonqueror-dockeditbookmarks
System / config:
kinfocenterkhelpcenterkhelpcenter-dataksystemstatskfindkmenueditkdialogkde-cli-toolskde-cli-tools-datakde-config-screenlocker(if you don’t use lock screen)kde-config-sddm(you use LightDM, not SDDM)kde-spectacle(screenshot)kscreen(display config; you use kanshi)
Connectivity / sharing:
kdeconnectkdeconnect-libskdenetwork-filesharing
Wallet / accounts:
kwalletmanagerkwallet6kaccounts-providers
Backup:
kup-backup
Other:
drkonqi(KDE crash handler)kactivitymanagerdkde-inotify-surveykdegraphics-thumbnailersffmpegthumbsframeworkintegration6
Example (remove a block of KDE apps; adjust to what you want to keep):
sudo apt remove --purge dolphin dolphin-data dolphin-doc dolphin-plugins kde-baseapps baloo6 kate kate-data kwrite konsole konsole-kpart konqueror konqueror-data konqueror-doc keditbookmarks kinfocenter khelpcenter khelpcenter-data ksystemstats kfind kmenuedit kdialog kde-spectacle kscreen kdeconnect kdeconnect-libs kdenetwork-filesharing kwalletmanager kup-backup drkonqi kactivitymanagerd kde-inotify-survey kdegraphics-thumbnailers ffmpegthumbs
sudo apt autoremove --purge
Keep (likely used by labwc/panel/theme): things like breeze, breeze-gtk-theme, kwin-wayland/kwin-common (if labwc or something depends on them), plasma-browser-integration if you want Chromium integration.
6. Image / media tools — safe to remove if not needed
| Package | Notes |
|---|---|
eom eom-common |
Eye of MATE image viewer |
imagemagick imagemagick-7.q16 imagemagick-7-common |
Image conversion |
gimp (if present) |
Image editor |
grim |
Wayland screenshot (keep only if you use it) |
sudo apt remove --purge eom eom-common imagemagick imagemagick-7.q16 imagemagick-7-common
sudo apt autoremove --purge
7. Archive / backup tools — optional
| Package | Notes |
|---|---|
7zip |
7z archives |
bup bup-doc |
Backup tool |
cryfs |
Encrypted filesystem |
sudo apt remove --purge 7zip bup bup-doc cryfs
sudo apt autoremove --purge
8. Bluetooth — optional (remove if no BT devices)
| Package | Notes |
|---|---|
bluedevil |
KDE Bluetooth |
bluez bluez-obexd bluez-firmware |
Bluetooth stack |
Removing these will disable Bluetooth. If the kiosk never uses BT:
sudo apt remove --purge bluedevil bluez bluez-obexd bluez-firmware
sudo apt autoremove --purge
9. Spell-check / dictionaries — optional
| Package | Notes |
|---|---|
aspell aspell-en |
Spell checker |
hunspell-en-us hunspell-en-gb hunspell-de-de hunspell-fr hunspell-fr-classical hunspell-nl |
Dictionaries |
hyphen-en-gb |
Hyphenation |
dictionaries-common |
Dictionary config |
sudo apt remove --purge aspell aspell-en hunspell-de-de hunspell-en-gb hunspell-en-us hunspell-fr hunspell-fr-classical hunspell-nl hyphen-en-gb dictionaries-common
sudo apt autoremove --purge
10. Miscellaneous apps
| Package | Notes |
|---|---|
alacarte |
Menu editor |
galculator |
Calculator |
htop |
Process viewer (keep if you use it for SSH admin) |
arp-scan |
Network scan |
fio |
Disk benchmark |
clinfo |
OpenCL info |
gldriver-test |
GL test |
gui-pkinst gui-updater |
GUI package/update tools (RPi) |
partitionmanager (if present) |
Partition editor |
fwupd fwupd-arm64-signed |
Firmware updates (optional to keep) |
fprintd libpam-fprintd |
Fingerprint (usually not on reTerminal) |
ModemManager |
Modem (remove if no modem) |
evolution-data-server-common |
Evolution PIM (often dependency of others) |
11. Optional services to disable (not necessarily remove)
cups.service— disable if you removed CUPSrpcbind.service— disable if you removed rpcbindnfs-blkmap.service— disable if no NFSbluetooth.service— disable if you removed BluetoothModemManager.service— disable if no modem
sudo systemctl disable cups.service
sudo systemctl disable rpcbind.service
sudo systemctl disable nfs-blkmap.service
# etc.
Suggested order of removal
- Printing: CUPS + ghostscript + hplip + ipp-usb
- NFS/RPC: rpcbind (and nfs-* if present)
- Development: build-essential, gcc, g++, git, gdb, etc.
- Document/office: evince, catdoc
- KDE apps: dolphin, kate, konsole, konqueror, spectacle, kscreen, kdeconnect, etc. (keep what labwc/panel needs)
- Image/media: eom, imagemagick
- Archive/backup: 7zip, bup, cryfs
- Bluetooth: if not needed
- Spell-check/dictionaries: if not needed
- Misc: alacarte, galculator, fprintd, ModemManager (if not needed)
After each group:
sudo apt autoremove --purge
sudo apt clean
Then re-check with dpkg -l and df -h to see space saved. If you want a single “remove list” file for scripting, say which categories to include and we can generate one.