New Post: App Showcase: Backups

I disagree. Apt maintains the state of which packages were manually installed and which were automatically installed as a dependency. Your method would not maintain that state entirely since it would just mark all packages as manually installed.

There should be a command for getting the installed versions along with that auto/manual state, but I’m unable to find it right now.

However, if all you want is the list of manually installed packages, then apt-mark showmanual will do that for you.

10 Likes

or if you auto-snooptube-dl the whole Cyberpunk 2077 walkthrough playlist in max quality 4k@60fps … not many people with the machines capable of outputing that for us though …

thanks for that one, added to my backup script! And I agree, it’s much better to get only the manual installations, otherwise when doing an apt install with the full pkglist it will mark all of them as manually installed and removing dependencies will be a lot harder.

2 Likes

Won’t it just install the dependency packages when whatever depends on them gets installed, and then when they come up on the list they just won’t get installed again? That would maintain the dependency state, as long as you can guarantee that they won’t get installed before whatever depends on them gets installed (maybe that guarantee isn’t possible?).

1 Like

For a start, that guarantee is not sought … by listing all the packages in alphabetical order you’ve lost a lot of the obvious information.

It would be a messy job to sort the packages into dependency order yourself. You may find yourself doing the analysis of the dependency graph, replicating the work that apt presumably already did when you installed initially.

Is it possible that apt is smart enough to work the way you suggest is possible? Yes. (In other words, could it eliminate redundantly specified package names from a large list of packages to install, taking into account the dependencies between packages? Having eliminated them it would of course have to immediately add them back as required dependencies.)

Does it work that way? No idea. You would have to go and study the source code.

Does it even try to? No idea.

Is it really possible? I wonder. If A depends on B and B depends on A, and I install A then I will end up with both A and B installed. Later on, if I only list the installed packages, how would software by examining that list know whether I installed A or I installed B? By using a “manual” flag, it would actually know that A was “manual” and B was automatically installed, as a dependency. ??

dd rulez

1 Like

How would that work? B could never be installed because you are missing A which can’t be installed because you are missing B… :sweat_smile:

But yes, apt saves wether you installed packages manually. Try installing some package which has been installed automatically.

Correct, to include aptitude.

dpkg --get-selections | awk '!/deinstall|purge|hold/ {print $1}' > /home/purism/201230pkg.list

Now someone can edit this pkg.list (.list) file and remove or add whatever preferred in order to or not to (re)install/restore very same packages again with:
xargs -a "201230pkg.list" apt-get install
or
xargs -a "201230pkg.list" aptitude install --without-recommends

@Gavaudan for further options please take a look at man aptitude.

Unfortunately it actually happens fairly often and is one of the main reasons I try to stay away from deb/rpm based systems. There are mainly two options how this may happen (without user consent):

  • system bootstrapping (during initial installation packages are mostly forced, without dependency checks)
  • change of dependencies over the time (so that two manually installed packages become interdependent either directly or via another dependency)
1 Like

It just means that you have to install them at the same time and if they all (both) have post-installation scripts then there could be problems with configuring the newly installed package.

Refer: https://www.debian.org/doc/debian-policy/ch-relationships.html in the paragraph beginning

If there is a circular dependency

and one other comment on the scenario on that web page.

Ahhh. Everyday something new to learn, thanks!

See, this is where I disagree: the state of the machine includes having the packages you installed marked as “installed manually” and the ones that came in as dependencies as “installed as dependency” (or whatever the proper terminology is).

If you would preserve state, then uninstalling the main package would have the same effect pre or post restore: it would uninstall the package, and an apt autoremove would uninstall its dependencies. This does not happen when you install the dependencies manually. See transcripts below:

Install kodi, let system figure out dependencies

[02:38] nighty@saltmine ~$ sudo apt install kodi
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  fonts-noto-hinted fonts-noto-mono fonts-roboto-unhinted javascript-common kodi-bin kodi-data kodi-repository-kodi kodi-visualization-spectrum kodi-x11 libcec4 libcrossguid0
  libfstrcmp0 libjs-iscroll libmicrohttpd12 libp8-platform2 python-olefile python-pil python-pycryptodome
Suggested packages:
  apache2 | lighttpd | httpd python-pil-doc python-pil-dbg
The following NEW packages will be installed
  fonts-noto-hinted fonts-noto-mono fonts-roboto-unhinted javascript-common kodi kodi-bin kodi-data kodi-repository-kodi kodi-visualization-spectrum kodi-x11 libcec4
  libcrossguid0 libfstrcmp0 libjs-iscroll libmicrohttpd12 libp8-platform2 python-olefile python-pil python-pycryptodome
0 to upgrade, 19 to newly install, 0 to remove and 4 not to upgrade.

# SNIP

[02:48] nighty@saltmine ~$ sudo dpkg -P kodi
(Reading database ... 443621 files and directories currently installed.)
Removing kodi (2:18.6+dfsg1-2ubuntu1) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...
Processing triggers for desktop-file-utils (0.24+linuxmint1) ...
Processing triggers for mime-support (3.64ubuntu1) ...
[02:48] nighty@saltmine ~$ sudo apt autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED
  fonts-noto-hinted fonts-roboto-unhinted kodi-bin kodi-data kodi-repository-kodi kodi-visualization-spectrum kodi-x11 libcec4 libcrossguid0 libfstrcmp0 libjs-iscroll
  libmicrohttpd12 libp8-platform2 python-olefile python-pil python-pycryptodome
0 to upgrade, 0 to newly install, 16 to remove and 4 not to upgrade.
After this operation, 86,4 MB disk space will be freed.

# SNIP

Install kodi and one of its dependencies

[02:49] nighty@saltmine ~$ sudo apt install kodi fonts-noto-hinted
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  fonts-roboto-unhinted kodi-bin kodi-data kodi-repository-kodi kodi-visualization-spectrum kodi-x11 libcec4 libcrossguid0 libfstrcmp0 libjs-iscroll libmicrohttpd12
  libp8-platform2 python-olefile python-pil python-pycryptodome
Suggested packages:
  python-pil-doc python-pil-dbg
The following NEW packages will be installed
  fonts-noto-hinted fonts-roboto-unhinted kodi kodi-bin kodi-data kodi-repository-kodi kodi-visualization-spectrum kodi-x11 libcec4 libcrossguid0 libfstrcmp0 libjs-iscroll
  libmicrohttpd12 libp8-platform2 python-olefile python-pil python-pycryptodome
0 to upgrade, 17 to newly install, 0 to remove and 4 not to upgrade.
Need to get 33,0 MB of archives.
After this operation, 86,5 MB of additional disk space will be used.

# SNIP

[02:49] nighty@saltmine ~$ sudo dpkg -P kodi
(Reading database ... 443621 files and directories currently installed.)
Removing kodi (2:18.6+dfsg1-2ubuntu1) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...
Processing triggers for desktop-file-utils (0.24+linuxmint1) ...
Processing triggers for mime-support (3.64ubuntu1) ...
[02:50] nighty@saltmine ~$ sudo apt autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED
  fonts-roboto-unhinted kodi-bin kodi-data kodi-repository-kodi kodi-visualization-spectrum kodi-x11 libcec4 libcrossguid0 libfstrcmp0 libjs-iscroll libmicrohttpd12
  libp8-platform2 python-olefile python-pil python-pycryptodome
0 to upgrade, 0 to newly install, 15 to remove and 4 not to upgrade.
After this operation, 86,3 MB disk space will be freed.

# SNIP

[02:50] nighty@saltmine ~$ dpkg -l |grep fonts-noto-hinted
ii  fonts-noto-hinted                                           20200323-1build1~ubuntu20.04.1                      all          obsolete metapackage to pull in a subset of Noto fonts
[02:50] nighty@saltmine ~$ sudo dpkg -P fonts-noto-hinted
(Reading database ... 440926 files and directories currently installed.)
Removing fonts-noto-hinted (20200323-1build1~ubuntu20.04.1) ...

As you can see, when I include fonts-noto-hinted in the apt install command, removal of kodi does not put it in the apt autoremove list, and it has to be manually deinstalled.

2 Likes

Pro tip: since this qualifies as “code”, you can embed it between triplets of backticks (the ` character) to enclose it in a code box. That way it takes up less vertical space, and we don’t have to scroll past reams and reams of not so relevant text to get to the next post. Here’s what that list would look like, formatted as code:

accountsservice
acl
adduser
adwaita-icon-theme
aisleriot
apg
apparmor
appstream
apt
apt-config-icons
apt-utils
aspell
aspell-en
at-spi2-core
base-files
base-passwd
bash
bc
blends-tasks
bluez
bluez-obexd
brasero-common
brscan4:i386
bsdmainutils
bsdutils
bubblewrap
busybox
bzip2
ca-certificates
callaudiod
calls
chatty
cheese-common
cinnamon-desktop-data
cloud-guest-utils
cloud-image-utils
cloud-initramfs-growroot
cloud-utils
colord
colord-data
coreutils
cpio
cpp
cpp-8
cron
cups
cups-browsed
cups-client
cups-common
cups-core-drivers
cups-daemon
cups-filters
cups-filters-core-drivers
cups-ipp-utils
cups-ppdc
cups-server-common
cupswrapperhl5370dw:i386
dash
dbus
dbus-user-session
dbus-x11
dconf-gsettings-backend:arm64
dconf-service
debconf
debconf-i18n
debian-archive-keyring
debianutils
desktop-base
desktop-file-utils
devio
dictionaries-common
diffutils
dirmngr
distro-info-data
dmeventd
dmidecode
dmsetup
dnsmasq-base
dosfstools
dpkg
drawing
e2fslibs:arm64
e2fsprogs
emacsen-common
epiphany-browser
epiphany-browser-data
epiphany-webapps-sm.puri.news
evince
evince-common
evolution-data-server
evolution-data-server-common
f2fs-tools
fdisk
feedbackd
feedbackd-common
file
file-roller
findutils
firefox-esr
firefox-esr-mobile-config
flash-kernel
flatpak
folks-common
fontconfig
fontconfig-config
fonts-cantarell
fonts-dejavu-core
fonts-lato
fonts-noto-cjk
fonts-noto-color-emoji
fonts-quicksand
fuse
gcc-6-base:arm64
gcc-7-base:arm64
gcc-8-base:arm64
gconf-defaults-service
gconf-editor
gconf-service
gconf2
gconf2-common
gcr
gdbm-l10n
gdisk
geary
gedit
gedit-common
genisoimage
geoclue-2-demo
geoclue-2.0
ghostscript
gir1.2-accountsservice-1.0
gir1.2-atk-1.0:arm64
gir1.2-atspi-2.0:arm64
gir1.2-freedesktop:arm64
gir1.2-gck-1:arm64
gir1.2-gcr-3:arm64
gir1.2-gdesktopenums-3.0:arm64
gir1.2-gdkpixbuf-2.0:arm64
gir1.2-gdm-1.0:arm64
gir1.2-geoclue-2.0:arm64
gir1.2-geocodeglib-1.0:arm64
gir1.2-glib-2.0:arm64
gir1.2-gnomebluetooth-1.0:arm64
gir1.2-gnomedesktop-3.0:arm64
gir1.2-gst-plugins-bad-1.0:arm64
gir1.2-gst-plugins-base-1.0:arm64
gir1.2-gstreamer-1.0:arm64
gir1.2-gtk-3.0:arm64
gir1.2-gtksource-4:arm64
gir1.2-gweather-3.0:arm64
gir1.2-handy-0.0:arm64
gir1.2-handy-1:arm64
gir1.2-ibus-1.0:arm64
gir1.2-javascriptcoregtk-4.0:arm64
gir1.2-json-1.0:arm64
gir1.2-mutter-3:arm64
gir1.2-nm-1.0:arm64
gir1.2-nma-1.0:arm64
gir1.2-notify-0.7:arm64
gir1.2-packagekitglib-1.0
gir1.2-pango-1.0:arm64
gir1.2-peas-1.0:arm64
gir1.2-polkit-1.0
gir1.2-rsvg-2.0:arm64
gir1.2-secret-1:arm64
gir1.2-soup-2.4:arm64
gir1.2-totemplparser-1.0:arm64
gir1.2-upowerglib-1.0:arm64
gir1.2-webkit2-4.0:arm64
gjs
glib-networking:arm64
glib-networking-common
glib-networking-services
gnome-backgrounds
gnome-bluetooth
gnome-calculator
gnome-chess
gnome-clocks
gnome-contacts
gnome-control-center
gnome-control-center-data
gnome-desktop3-data
gnome-dictionary
gnome-disk-utility
gnome-getting-started-docs
gnome-icon-theme
gnome-initial-setup
gnome-keyring
gnome-online-accounts
gnome-passwordsafe
gnome-session-bin
gnome-settings-daemon
gnome-settings-daemon-common
gnome-shell
gnome-shell-common
gnome-sound-recorder
gnome-terminal
gnome-terminal-data
gnome-themes-extra-data
gnome-tweaks
gnome-usage
gnome-user-docs
gnome-weather
gnubik
gnupg
gnupg-l10n
gnupg-utils
gpg
gpg-agent
gpg-wks-client
gpg-wks-server
gpgconf
gpgsm
gpgv
gpgv1
grep
grim
groff-base
gsettings-desktop-schemas
gstreamer1.0-clutter-3.0:arm64
gstreamer1.0-libav:arm64
gstreamer1.0-packagekit
gstreamer1.0-plugins-bad:arm64
gstreamer1.0-plugins-base:arm64
gstreamer1.0-plugins-good:arm64
gstreamer1.0-plugins-ugly:arm64
gstreamer1.0-pulseaudio:arm64
gstreamer1.0-x:arm64
gthd
gthumb
gthumb-data
gtk-update-icon-cache
gufw
guile-2.2-libs:arm64
gvfs:arm64
gvfs-backends
gvfs-bin
gvfs-common
gvfs-daemons
gvfs-fuse
gvfs-libs:arm64
gzip
haegtesse
hicolor-icon-theme
hl5370dwlpr:i386
hoichess
hostname
i2c-tools
ieee-data
ifupdown
iio-sensor-proxy
init
init-system-helpers
initramfs-tools
initramfs-tools-core
iproute2
iptables
iputils-ping
isc-dhcp-client
isc-dhcp-common
iso-codes
jackd2
jitterentropy-rngd
kgx
klibc-utils
kmod
liba52-0.7.4:arm64
libaa1:arm64
libaccountsservice0:arm64
libacl1:arm64
libaio1:arm64
libaom0:arm64
libapparmor1:arm64
libappstream-glib8:arm64
libappstream4:arm64
libapt-inst2.0:arm64
libapt-pkg5.0:arm64
libarchive13:arm64
libargon2-1:arm64
libasound2:arm64
libasound2-data
libasound2-plugins:arm64
libaspell15:arm64
libass9:arm64
libassuan0:arm64
libasyncns0:arm64
libatasmart4:arm64
libatk-bridge2.0-0:arm64
libatk1.0-0:arm64
libatk1.0-data
libatomic1:arm64
libatspi2.0-0:arm64
libattr1:arm64
libaudit-common
libaudit1:arm64
libavahi-client3:arm64
libavahi-common-data:arm64
libavahi-common3:arm64
libavahi-glib1:arm64
libavc1394-0:arm64
libavcodec58:arm64
libavfilter7:arm64
libavformat58:arm64
libavresample4:arm64
libavutil56:arm64
libaxc0
libayatana-appindicator3-1
libayatana-ido3-0.4-0:arm64
libayatana-indicator3-7:arm64
libblkid1:arm64
libblockdev-fs2:arm64
libblockdev-loop2:arm64
libblockdev-part-err2:arm64
libblockdev-part2:arm64
libblockdev-swap2:arm64
libblockdev-utils2:arm64
libblockdev2:arm64
libbluetooth3:arm64
libbluray2:arm64
libboost-atomic1.67.0:arm64
libboost-chrono1.67.0:arm64
libboost-date-time1.67.0:arm64
libboost-filesystem1.67.0:arm64
libboost-system1.67.0:arm64
libboost-thread1.67.0:arm64
libbrasero-media3-1:arm64
libbrotli1:arm64
libbs2b0:arm64
libbsd0:arm64
libburn4:arm64
libbz2-1.0:arm64
libc-bin
libc-l10n
libc6:arm64
libcaca0:arm64
libcairo-gobject-perl
libcairo-gobject2:arm64
libcairo-perl
libcairo2:arm64
libcallaudio-0-0:arm64
libcamel-1.2-62:arm64
libcanberra-gtk0:arm64
libcanberra-gtk3-0:arm64
libcanberra-pulse:arm64
libcanberra0:arm64
libcap-ng0:arm64
libcap2:arm64
libcap2-bin
libcdio-cdda2:arm64
libcdio-paranoia2:arm64
libcdio18:arm64
libcdparanoia0:arm64
libcheese-gtk25:arm64
libcheese8:arm64
libchromaprint1:arm64
libcinnamon-desktop4:arm64
libclutter-1.0-0:arm64
libclutter-gst-3.0-0:arm64
libclutter-gtk-1.0-0:arm64
libcodec2-0.8.1:arm64
libcogl-pango20:arm64
libcogl-path20:arm64
libcogl20:arm64
libcolord2:arm64
libcolorhug2:arm64
libcom-err2:arm64
libcomerr2:arm64
libcrack2:arm64
libcroco3:arm64
libcryptsetup12:arm64
libcups2:arm64
libcupsfilters1:arm64
libcupsimage2:arm64
libcurl3-gnutls:arm64
libdatrie1:arm64
libdazzle-1.0-0:arm64
libdb5.3:arm64
libdbus-1-3:arm64
libdbus-glib-1-2:arm64
libdbusmenu-glib4:arm64
libdbusmenu-gtk3-4:arm64
libdc1394-22:arm64
libdca0:arm64
libdconf1:arm64
libde265-0:arm64
libdebconfclient0:arm64
libdevmapper-event1.02.1:arm64
libdevmapper1.02.1:arm64
libdjvulibre-text
libdjvulibre21:arm64
libdns-export1104
libdrm-common
libdrm-nouveau2:arm64
libdrm-radeon1:arm64
libdrm2:arm64
libdv4:arm64
libdvdnav4:arm64
libdvdread4:arm64
libdw1:arm64
libebackend-1.2-10:arm64
libebook-1.2-19:arm64
libebook-contacts-1.2-2:arm64
libecal-1.2-19:arm64
libedata-book-1.2-25:arm64
libedata-cal-1.2-29:arm64
libedataserver-1.2-23:arm64
libedataserverui-1.2-2:arm64
libedit2:arm64
libegl-mesa0:arm64
libegl1:arm64
libelf1:arm64
libenchant1c2a:arm64
libencode-locale-perl
libepoxy0:arm64
libestr0:arm64
libevdev2:arm64
libevdocument3-4:arm64
libevent-2.1-6:arm64
libevview3-3:arm64
libexempi8:arm64
libexif12:arm64
libexiv2-14:arm64
libexpat1:arm64
libext2fs2:arm64
libf2fs-format4:arm64
libf2fs5:arm64
libfaad2:arm64
libfarstream-0.2-5:arm64
libfastjson4:arm64
libfdisk1:arm64
libfeedback-0.0-0
libffi6:arm64
libfftw3-double3:arm64
libfile-listing-perl
libflac8:arm64
libflatpak0:arm64
libflite1:arm64
libfluidsynth1:arm64
libfolks-eds25:arm64
libfolks25:arm64
libfontconfig1:arm64
libfontembed1:arm64
libfontenc1:arm64
libfreetype6:arm64
libfribidi0:arm64
libfuse2:arm64
libgadu3
libgail-3-0:arm64
libgbm1:arm64
libgc1c2:arm64
libgcc1:arm64
libgck-1-0:arm64
libgconf-2-4:arm64
libgcr-base-3-1:arm64
libgcr-ui-3-1:arm64
libgcrypt20:arm64
libgd3:arm64
libgdata-common
libgdata22:arm64
libgdbm-compat4:arm64
libgdbm6:arm64
libgdbussyncevo0
libgdk-pixbuf2.0-0:arm64
libgdk-pixbuf2.0-common
libgdm1
libgee-0.8-2:arm64
libgeoclue-2-0:arm64
libgeocode-glib0:arm64
libgexiv2-2:arm64
libgirepository-1.0-1:arm64
libgjs0g
libgl1:arm64
libgl1-mesa-dri:arm64
libglapi-mesa:arm64
libgles2:arm64
libglib-object-introspection-perl
libglib-perl
libglib2.0-0:arm64
libglib2.0-bin
libglib2.0-data
libglu1-mesa:arm64
libglvnd0:arm64
libglx-mesa0:arm64
libglx0:arm64
libgme0:arm64
libgmime-3.0-0:arm64
libgmp10:arm64
libgnome-autoar-0-0:arm64
libgnome-bluetooth13:arm64
libgnome-desktop-3-17:arm64
libgnomekbd-common
libgnomekbd8:arm64
libgnutls30:arm64
libgoa-1.0-0b:arm64
libgoa-1.0-common
libgoa-backend-1.0-1:arm64
libgom-1.0-0:arm64
libgomp1:arm64
libgpg-error0:arm64
libgpgme11:arm64
libgphoto2-6:arm64
libgphoto2-port12:arm64
libgpm2:arm64
libgraphite2-3:arm64
libgs9:arm64
libgs9-common
libgsm1:arm64
libgsound0:arm64
libgspell-1-1:arm64
libgspell-1-common
libgssapi-krb5-2:arm64
libgssdp-1.0-3:arm64
libgstreamer-gl1.0-0:arm64
libgstreamer-plugins-bad1.0-0:arm64
libgstreamer-plugins-base1.0-0:arm64
libgstreamer1.0-0:arm64
libgtherm-0.0-0
libgtk-3-0:arm64
libgtk-3-common
libgtk2.0-0:arm64
libgtk2.0-common
libgtk3-perl
libgtkglext1:arm64
libgtksourceview-4-0:arm64
libgtksourceview-4-common
libgtop-2.0-11:arm64
libgtop2-common
libgudev-1.0-0:arm64
libgupnp-1.0-4:arm64
libgupnp-igd-1.0-4:arm64
libgusb2:arm64
libgutenprint-common
libgutenprint9
libgweather-3-15:arm64
libgweather-common
libgxps2:arm64
libhandy-0.0-0:arm64
libhandy-1-0:arm64
libharfbuzz-icu0:arm64
libharfbuzz0b:arm64
libhogweed4:arm64
libhtml-parser-perl
libhtml-tagset-perl
libhtml-tree-perl
libhttp-cookies-perl
libhttp-date-perl
libhttp-message-perl
libhttp-negotiate-perl
libhunspell-1.7-0:arm64
libhyphen0:arm64
libi2c0:arm64
libibus-1.0-5:arm64
libical3:arm64
libice6:arm64
libicu63:arm64
libidn11:arm64
libidn2-0:arm64
libiec61883-0:arm64
libieee1284-3:arm64
libijs-0.35:arm64
libilmbase23:arm64
libimagequant0:arm64
libimobiledevice6:arm64
libinput-bin
libinput10:arm64
libio-html-perl
libio-socket-ssl-perl
libip4tc0:arm64
libip6tc0:arm64
libiptc0:arm64
libisc-export1100:arm64
libisl19:arm64
libisofs6:arm64
libjack-jackd2-0:arm64
libjansson4:arm64
libjavascriptcoregtk-4.0-18:arm64
libjbig0:arm64
libjbig2dec0:arm64
libjim0.77:arm64
libjpeg62-turbo:arm64
libjson-c3:arm64
libjson-glib-1.0-0:arm64
libjson-glib-1.0-common
libjte1
libk5crypto3:arm64
libkate1:arm64
libkeyutils1:arm64
libklibc:arm64
libkmod2:arm64
libkpathsea6:arm64
libkrb5-3:arm64
libkrb5support0:arm64
libksba8:arm64
liblcms2-2:arm64
libldap-2.4-2:arm64
libldap-common
libldb1:arm64
liblilv-0-0:arm64
liblmdb0:arm64
liblocale-gettext-perl
liblognorm5:arm64
libltdl7:arm64
liblua5.2-0:arm64
liblvm2cmd2.03:arm64
liblwp-mediatypes-perl
liblwp-protocol-https-perl
liblz4-1:arm64
liblzma5:arm64
liblzo2-2:arm64
libmagic-mgc
libmagic1:arm64
libmariadb3:arm64
libmate-panel-applet-4-1:arm64
libmatedict6
libmbim-glib4:arm64
libmbim-proxy
libmbim-utils
libmeanwhile1:arm64
libmjpegutils-2.1-0
libmm-glib0:arm64
libmms0:arm64
libmnl0:arm64
libmodplug1:arm64
libmount1:arm64
libmozjs-60-0:arm64
libmp3lame0:arm64
libmpc3:arm64
libmpcdec6:arm64
libmpdec2:arm64
libmpeg2-4:arm64
libmpeg2encpp-2.1-0
libmpfr6:arm64
libmpg123-0:arm64
libmplex2-2.1-0
libmtdev1:arm64
libmtp-common
libmtp9:arm64
libmutter-3-0:arm64
libmxml1:arm64
libmysofa0:arm64
libnautilus-extension1a:arm64
libncurses5:arm64
libncurses6:arm64
libncursesw5:arm64
libncursesw6:arm64
libndp0:arm64
libnemo-extension1:arm64
libneon27-gnutls:arm64
libnet-http-perl
libnet-ssleay-perl
libnetfilter-conntrack3:arm64
libnettle6:arm64
libnewt0.52:arm64
libnfnetlink0:arm64
libnfs12:arm64
libnftnl11:arm64
libnghttp2-14:arm64
libnice10:arm64
libnl-3-200:arm64
libnl-genl-3-200:arm64
libnl-route-3-200:arm64
libnm0:arm64
libnma0:arm64
libnorm1:arm64
libnotify-bin
libnotify4:arm64
libnpth0:arm64
libnspr4:arm64
libnss-systemd:arm64
libnss3:arm64
libnuma1:arm64
liboauth0:arm64
libofa0:arm64
libogg0:arm64
libomemo0:arm64
libopenal-data
libopenal1:arm64
libopencore-amrnb0:arm64
libopencore-amrwb0:arm64
libopenexr23:arm64
libopenjp2-7:arm64
libopenmpt0:arm64
libopenobex2
libopus0:arm64
liborc-0.4-0:arm64
libostree-1-1:arm64
libp11-kit0:arm64
libpackagekit-glib2-18:arm64
libpam-modules:arm64
libpam-modules-bin
libpam-runtime
libpam-systemd:arm64
libpam0g:arm64
libpango-1.0-0:arm64
libpangocairo-1.0-0:arm64
libpangoft2-1.0-0:arm64
libpangox-1.0-0:arm64
libpangoxft-1.0-0:arm64
libpaper1:arm64
libparted-fs-resize0:arm64
libparted2:arm64
libpci3:arm64
libpcre2-8-0:arm64
libpcre3:arm64
libpcrecpp0v5:arm64
libpcsclite1:arm64
libpeas-1.0-0:arm64
libpeas-common
libperl5.28:arm64
libpgm-5.2-0:arm64
libphonenumber7:arm64
libpipeline1:arm64
libpipewire-0.2-1:arm64
libpixman-1-0:arm64
libplist3:arm64
libplymouth4:arm64
libpng16-16:arm64
libpolkit-agent-1-0:arm64
libpolkit-backend-1-0:arm64
libpolkit-gobject-1-0:arm64
libpoppler-glib8:arm64
libpoppler82:arm64
libpopt0:arm64
libpostproc55:arm64
libprocps7:arm64
libprotobuf-c1:arm64
libprotobuf17:arm64
libproxy1v5:arm64
libpsl5:arm64
libpulse-mainloop-glib0:arm64
libpulse0:arm64
libpulsedsp:arm64
libpurple0
libpwquality-common
libpwquality1:arm64
libpython-stdlib:arm64
libpython2-stdlib:arm64
libpython2.7:arm64
libpython2.7-minimal:arm64
libpython2.7-stdlib:arm64
libpython3-stdlib:arm64
libpython3.7:arm64
libpython3.7-minimal:arm64
libpython3.7-stdlib:arm64
libqmi-glib5:arm64
libqmi-proxy
libqmi-utils
libqpdf21:arm64
libquvi-0.9-0.9.3:arm64
libquvi-scripts-0.9
libraw1394-11:arm64
libraw19:arm64
libreadline5:arm64
libreadline7:arm64
librem5-base
librem5-base-defaults
librem5-devkit-base
librem5-gnome-base
librem5-gnome-phone
librem5-goodies
librem5-non-gnome
librest-0.7-0:arm64
librsvg2-2:arm64
librsvg2-common:arm64
librtmp1:arm64
librubberband2:arm64
libsamplerate0:arm64
libsane:arm64
libsane-common
libsasl2-2:arm64
libsasl2-modules:arm64
libsasl2-modules-db:arm64
libsbc1:arm64
libseccomp2:arm64
libsecret-1-0:arm64
libsecret-common
libselinux1:arm64
libsemanage-common
libsemanage1:arm64
libsensors-config
libsensors5:arm64
libsepol1:arm64
libserd-0-0:arm64
libshine3:arm64
libshout3:arm64
libsidplay1v5:arm64
libsignal-protocol-c2.3.2:arm64
libslang2:arm64
libsm6:arm64
libsmartcols1:arm64
libsmbclient:arm64
libsmltk0:arm64
libsnappy1v5:arm64
libsndfile1:arm64
libsndio7.0:arm64
libsnmp-base
libsnmp30:arm64
libsodium23:arm64
libsord-0-0:arm64
libsoundtouch1:arm64
libsoup-gnome2.4-1:arm64
libsoup2.4-1:arm64
libsoxr0:arm64
libspandsp2:arm64
libspectre1:arm64
libspeex1:arm64
libspeexdsp1:arm64
libsqlite3-0:arm64
libsratom-0-0:arm64
libsrtp2-1:arm64
libss2:arm64
libssh-gcrypt-4:arm64
libssh2-1:arm64
libssl1.1:arm64
libstartup-notification0:arm64
libstdc++6:arm64
libstemmer0d:arm64
libswresample3:arm64
libswscale5:arm64
libsyncevolution0
libsynctex2:arm64
libsynthesis0v5:arm64
libsystemd0:arm64
libtag1v5:arm64
libtag1v5-vanilla:arm64
libtalloc2:arm64
libtasn1-6:arm64
libtdb1:arm64
libteamdctl0:arm64
libtevent0:arm64
libtext-charwidth-perl
libtext-iconv-perl
libtext-wrapi18n-perl
libthai-data
libthai0:arm64
libtheora0:arm64
libtiff5:arm64
libtimedate-perl
libtinfo5:arm64
libtinfo6:arm64
libtotem-plparser-common
libtotem-plparser18:arm64
libtracker-control-2.0-0:arm64
libtracker-sparql-2.0-0:arm64
libtry-tiny-perl
libtwolame0:arm64
libuchardet0:arm64
libudev1:arm64
libudisks2-0:arm64
libunistring2:arm64
libunwind8:arm64
libupower-glib3:arm64
liburi-perl
libusb-0.1-4:arm64
libusb-1.0-0:arm64
libusbmuxd4:arm64
libuuid1:arm64
libv4l-0:arm64
libv4lconvert0:arm64
libva-drm2:arm64
libva-x11-2:arm64
libva2:arm64
libvdpau1:arm64
libverbiste-0.1-0v5:arm64
libvidstab1.1:arm64
libvisual-0.4-0:arm64
libvo-aacenc0:arm64
libvo-amrwbenc0:arm64
libvorbis0a:arm64
libvorbisenc2:arm64
libvorbisfile3:arm64
libvpx5:arm64
libvte-2.91-0:arm64
libvte-2.91-common
libvulkan1:arm64
libwacom-common
libwacom2:arm64
libwavpack1:arm64
libwayland-client0:arm64
libwayland-cursor0:arm64
libwayland-egl1:arm64
libwayland-server0:arm64
libwbclient0:arm64
libwebkit2gtk-4.0-37:arm64
libwebp6:arm64
libwebpdemux2:arm64
libwebpmux3:arm64
libwebrtc-audio-processing1:arm64
libwildmidi2:arm64
libwlroots5:arm64
libwoff1:arm64
libwpe-1.0-1:arm64
libwpebackend-fdo-1.0-1:arm64
libwrap0:arm64
libwww-perl
libwww-robotrules-perl
libx11-6:arm64
libx11-data
libx11-xcb1:arm64
libx264-155:arm64
libx265-165:arm64
libxapian30:arm64
libxapp1:arm64
libxau6:arm64
libxaw7:arm64
libxcb-composite0:arm64
libxcb-dri2-0:arm64
libxcb-dri3-0:arm64
libxcb-glx0:arm64
libxcb-icccm4:arm64
libxcb-present0:arm64
libxcb-randr0:arm64
libxcb-render0:arm64
libxcb-res0:arm64
libxcb-shape0:arm64
libxcb-shm0:arm64
libxcb-sync1:arm64
libxcb-util0:arm64
libxcb-xfixes0:arm64
libxcb-xkb1:arm64
libxcb1:arm64
libxcomposite1:arm64
libxcursor1:arm64
libxdamage1:arm64
libxdmcp6:arm64
libxext6:arm64
libxfixes3:arm64
libxfont2:arm64
libxft2:arm64
libxi6:arm64
libxinerama1:arm64
libxkbcommon-x11-0:arm64
libxkbcommon0:arm64
libxkbfile1:arm64
libxklavier16:arm64
libxml2:arm64
libxmlb1:arm64
libxmu6:arm64
libxmuu1:arm64
libxpm4:arm64
libxrandr2:arm64
libxrender1:arm64
libxshmfence1:arm64
libxslt1.1:arm64
libxt6:arm64
libxtables12:arm64
libxtst6:arm64
libxv1:arm64
libxvidcore4:arm64
libxxf86dga1:arm64
libxxf86vm1:arm64
libyaml-0-2:arm64
libyelp0:arm64
libytnef0:arm64
libzbar0:arm64
libzephyr4:arm64
libzmq5:arm64
libzstd1:arm64
libzvbi-common
libzvbi0:arm64
linux-base
linux-image-5.9.0-1-librem5
linux-image-librem5
locales
login
logrotate
lollypop
lsb-base
lsb-release
lsof
lua-bitop:arm64
lua-expat:arm64
lua-json
lua-lpeg:arm64
lua-socket:arm64
lvm2
man-db
mariadb-common
mate-desktop-common
mate-utils
mate-utils-common
mawk
mfcj880dwcupswrapper:i386
mfcj880dwlpr:i386
mime-support
mmc-utils
mobile-broadband-provider-info
modemmanager
mount
mtd-utils
multiarch-support
mutter
mutter-common
mysql-common
nano
nautilus
nautilus-data
ncurses-base
ncurses-bin
nemo
nemo-data
net-tools
netbase
network-manager
network-manager-gnome
ntpstat
obfs4proxy
openssh-client
openssh-server
openssh-sftp-server
openssl
p11-kit
p11-kit-modules:arm64
p7zip
p7zip-full
packagekit
parted
passwd
perl
perl-base
perl-modules-5.28
perl-openssl-defaults:arm64
phoc
phosh
pidgin-data
pinentry-curses
pinentry-gnome3
plymouth
plymouth-label
plymouth-theme-librem5
policykit-1
policykit-1-gnome
poppler-data
poppler-utils
prepaid-manager-applet
printer-driver-gutenprint
procps
psmisc
pulseaudio
pulseaudio-module-bluetooth
pulseaudio-utils
pureos-archive-keyring
pureos-minimal
pureos-store
pureos-store-common
pureos-store-plugin-flatpak
purple-carbons
purple-lurch
purple-mm-sms
purple-xmpp-http-upload
python
python-dbus
python-gi
python-minimal
python-pkg-resources
python-setuptools
python-talloc:arm64
python2
python2-minimal
python2.7
python2.7-minimal
python3
python3-argon2
python3-bs4
python3-cairo:arm64
python3-certifi
python3-cffi-backend
python3-chardet
python3-construct
python3-cups
python3-cupshelpers
python3-dateutil
python3-dbus
python3-distro
python3-evdev
python3-future
python3-gi
python3-gi-cairo
python3-gst-1.0
python3-idna
python3-lib2to3
python3-lxml:arm64
python3-minimal
python3-netaddr
python3-pil:arm64
python3-pkg-resources
python3-pwquality
python3-pycryptodome
python3-pykeepass
python3-requests
python3-six
python3-soupsieve
python3-urllib3
python3.7
python3.7-minimal
qemu-utils
readline-common
rfkill
samba-libs:arm64
scdaemon
seahorse
sed
sensible-utils
shared-mime-info
sound-theme-freedesktop
sound-theme-librem5
speedtest-cli
squeekboard
ssl-cert
sudo
sunclock
sunclock-maps
syncevolution
syncevolution-common
syncevolution-libs
syncevolution-libs-gnome
system-config-printer
system-config-printer-common
systemd
systemd-sysv
sysvinit-utils
tar
tasksel
tasksel-data
tor
tracker
tree
ttf-bitstream-vera
tzdata
u-boot-tools
ucf
udev
udisks2
ufw
upower
usb-modeswitch
usb-modeswitch-data
usb.ids
usbutils
usbview
util-linux
verbiste
verbiste-gtk
vim-common
vim-tiny
wget
whatip
whiptail
wlr-randr
wpasupplicant
wys
x11-common
x11-utils
x11-xkb-utils
x11-xserver-utils
xapps-common
xdg-dbus-proxy
xdg-desktop-portal
xdg-desktop-portal-gtk
xdg-user-dirs
xdg-utils
xkb-data
xserver-common
xwayland
xxd
yad
yelp
yelp-xsl
zenity
zenity-common
zlib1g:arm64

Here’s the list from the way I suggested, which appears to be limited to the manually installed applications (?):

bluetooth-sendto
com.github.maoschanz.drawing
evolution-calendar
firefox-esr
gconf-editor
gcr-prompter
gcr-viewer
geary-autostart
geoclue-demo-agent
geoclue-where-am-i
gnome-applications-panel
gnome-background-panel
gnome-bluetooth-panel
gnome-color-panel
gnome-control-center
gnome-datetime-panel
gnome-default-apps-panel
gnome-disk-image-mounter
gnome-disk-image-writer
gnome-display-panel
gnome-info-overview-panel
gnome-initial-setup
gnome-keyboard-panel
gnome-mouse-panel
gnome-network-panel
gnome-notifications-panel
gnome-online-accounts-panel
gnome-power-panel
gnome-printers-panel
gnome-privacy-panel
gnome-region-panel
gnome-removable-media-panel
gnome-search-panel
gnome-sharing-panel
gnome-shell-extension-prefs
gnome-sound-panel
gnome-thunderbolt-panel
gnome-universal-access-panel
gnome-user-accounts-panel
gnome-wacom-panel
gnome-wifi-panel
gnome-wwan-panel
gnubik
gufw
l5-contacts-importer
l5-scale-the-screen
l5-screenshot
mate-dictionary
mate-disk-usage-analyzer
mate-screenshot
mate-search-tool
mate-system-log
mimeinfo.cache
mutter
nautilus-autorun-software
nemo-autorun-software
nemo-autostart
nemo
nm-applet
nm-connection-editor
org.gabmus.whatip
org.gnome.Calculator
org.gnome.Chess
org.gnome.clocks
org.gnome.Contacts
org.gnome.Dictionary
org.gnome.DiskUtility
org.gnome.Epiphany
org.gnome.Evince
org.gnome.Evince-previewer
org.gnome.Evolution-alarm-notify
org.gnome.FileRoller
org.gnome.Geary
org.gnome.gedit
org.gnome.gThumb
org.gnome.gThumb.Import
org.gnome.Lollypop
org.gnome.Nautilus
org.gnome.PasswordSafe
org.gnome.PrepaidManager
org.gnome.Shell
org.gnome.Shell.PortalHelper
org.gnome.SoundRecorder
org.gnome.Terminal
org.gnome.tweaks
org.gnome.Usage
org.gnome.Weather
org.gnome.zbrown.KingsCross
pureos-store-local-file
python2.7
python3.7
seahorse
sm.puri.Calls
sm.puri.Chatty
sm.puri.OSK0
sm.puri.Phosh
sm.puri.Store
sm.puri.webapps.sm.puri.news
sol
sunclock
system-config-printer
usbview
verbiste
vim
x-cinnamon-mimeapps.list
xdg
yad-icon-browser
yelp

Hope that helps. :slight_smile:

1 Like

Done. Thanks.

1 Like

Question: How do I ask Backups to save all my dates in the Calendar and all my contacts? Which folder should I ask it to save? It saves “Home Purism” by default… Does it contain the calendar and contacts? Or do I have to add more by pressing the “+”?