Files
reterminal-dm4/emmc-provisioning/docs/DEVICE-REMOVABLE-PACKAGES.md
nearxos 808fbf5c7c Refactor golden image handling in backup upload process</message>
<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.
2026-02-24 00:19:40 +02:00

282 lines
8.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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):
```bash
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 |
```bash
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 dont build overlays) |
| `fakeroot` | Build env |
| `eatmydata` | Speed up builds |
```bash
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 |
```bash
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 dont use**
Youre 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:**
- `dolphin` `dolphin-data` `dolphin-doc` `dolphin-plugins`
- `kde-baseapps`
- `baloo6` (file indexer)
**Editors / text:**
- `kate` `kate-data`
- `kwrite`
- `mousepad` (XFCE editor)
**Terminal:**
- `konsole` `konsole-kpart`
**Browser / bookmarks:**
- `konqueror` `konqueror-data` `konqueror-doc`
- `keditbookmarks`
**System / config:**
- `kinfocenter`
- `khelpcenter` `khelpcenter-data`
- `ksystemstats`
- `kfind`
- `kmenuedit`
- `kdialog`
- `kde-cli-tools` `kde-cli-tools-data`
- `kde-config-screenlocker` (if you dont use lock screen)
- `kde-config-sddm` (you use LightDM, not SDDM)
- `kde-spectacle` (screenshot)
- `kscreen` (display config; you use kanshi)
**Connectivity / sharing:**
- `kdeconnect` `kdeconnect-libs`
- `kdenetwork-filesharing`
**Wallet / accounts:**
- `kwalletmanager`
- `kwallet6`
- `kaccounts-providers`
**Backup:**
- `kup-backup`
**Other:**
- `drkonqi` (KDE crash handler)
- `kactivitymanagerd`
- `kde-inotify-survey`
- `kdegraphics-thumbnailers`
- `ffmpegthumbs`
- `frameworkintegration6`
Example (remove a block of KDE apps; adjust to what you want to keep):
```bash
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) |
```bash
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 |
```bash
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:
```bash
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 |
```bash
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 CUPS
- `rpcbind.service` — disable if you removed rpcbind
- `nfs-blkmap.service` — disable if no NFS
- `bluetooth.service` — disable if you removed Bluetooth
- `ModemManager.service` — disable if no modem
```bash
sudo systemctl disable cups.service
sudo systemctl disable rpcbind.service
sudo systemctl disable nfs-blkmap.service
# etc.
```
---
## Suggested order of removal
1. **Printing:** CUPS + ghostscript + hplip + ipp-usb
2. **NFS/RPC:** rpcbind (and nfs-* if present)
3. **Development:** build-essential, gcc, g++, git, gdb, etc.
4. **Document/office:** evince, catdoc
5. **KDE apps:** dolphin, kate, konsole, konqueror, spectacle, kscreen, kdeconnect, etc. (keep what labwc/panel needs)
6. **Image/media:** eom, imagemagick
7. **Archive/backup:** 7zip, bup, cryfs
8. **Bluetooth:** if not needed
9. **Spell-check/dictionaries:** if not needed
10. **Misc:** alacarte, galculator, fprintd, ModemManager (if not needed)
After each group:
```bash
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.