How are non-admins expected to keep PureOS up to date

Hi,

While randomly browsing the net today (2021-11-22), I happened to read this blog post announcing that PureOS Byzantium has been released. Sadly, there’s absolutely no information in there about how you might go about actually upgrading to the new distribution or where to get more (technical) information etc. :frowning:

Which leads me to ask:

  • what is/are the best-practices for keeping PureOS up to date?
    • especially for users who don’t (want to) use a root shell? (no, I don’t mean sudo)
    • is there a definitive reference somewhere? e.g. a PureOS handbook
  • upgrades to the next major release don’t happen automagically… I’m cool with that… but how are users supposed to know that a new distribution is available (years after they bought their machine)?
    • how is a user supposed to know what they’ve got? (I don’t see “This is Amber” anywhere, except in /etc/apt/sources.list)
    • are new releases (e.g. Byzantium) announced anywhere which might appear on an Amber installation? (desktop, cli, …)
      • or is there at least an official “releases overview” somewhere? (as opposed to some random blog post)
    • do we really need to edit /etc/apt/sources.list to move from amber => byzantium?
    • a hint from apt and/or the GUI would be nice, perhaps with a “find out more” link and maybe an “OK, upgrade to {next release}” button
      • having to log in as root and fiddle around in /etc feels a bit like letting the neighbour’s kid fix the brakes on my car

Thanks.

Background

I’m a long time unix/linux user, but by no means an admin.
At work, I write code and the admins keep the machines running :slight_smile:

I would like to use the GUI tools to keep my system up-to-date, but don’t (reasons below).
Instead, I regularly sudo to the root shell and do the apt update; apt upgrade dance.
That works, but at the distribution level, I’ve never seen any way to check if what I have is what I (might) want (i.e. what is available). (this is also true for every *nix I’ve ever used :frowning: )

Beyond uname -a, I don’t even know how up-to-date my machine actually is
(apt says “all packages are up to date” and uname tells me that my kernel is 10 months old… and my raspi’s kernel is a full major-release higher!?).

I have tried using the “Software” and “Software & Updates” GUIs, but they feel like they’re hiding all the interesting information from me.
For example:

  • “what version is installed” or at least “when was the last successful update”?
  • when was the most recent check?
    • did the check succeed or was there an error connecting to the server?
    • if there were errors, what were they? please try again etc.
  • is there anything new (especially security updates)?
  • or even… “have they actually done anything at all”?

Looking at “Software & Updates”, it also doesn’t seem to be protecting me from shooting myself in the foot either.

  • The “PureOS” tab doesn’t show any details (except “download from the internet”)
  • The “Other Software” tab just shows 3 of the 4 lines from /etc/apt/sources.list (but not https://repo.pureos.net/pureos amber main).
  • The “Add” and “Edit” buttons just ask for the same information from sources.list, but wrapped in a GUI form… you still just have to know the right magic incantations.
  • Also, clicking on “PureOS Software” / “Download from: [Other]” / “Select Best Server” only responds with “No suitable download server was found” - although I can access all of the listed sites via ping (~20ms), browser etc. (no errors, no hints about logfiles etc.)
  • The “Developer Options” tab is also fantastic: “warning, enabling this may introduce instability” - Thanks for the warning, but there is actually no way to enable anything on that tab :man_facepalming:
    Disconcerting!

I guess I’m looking for something akin to (or I’ve been spoilt by) apple’s “about this mac” and software updater, which actively lets you know that it’s doing something and at least provides clear and definitive information about the current state of affairs and any upgrade options which might be available.

By the way, :

% dmidecode | awk '/System/,/^$/{if(/Product/){print}}' # (*easy, right?!*)
Product Name: Librem 13 v2

% uname -a
Linux 4.19.0-14-amd64 #1 SMP Debian 4.19.171-2 (2021-01-30) x86_64 GNU/Linux

% apt update | tail -n 1
All packages are up to date.

% grep -v '^#' /etc/apt/sources.list
deb https://repo.pureos.net/pureos/ amber main
deb https://repo.puri.sm/pureos/ amber main
deb https://repo.pureos.net/pureos/ amber-security main
deb https://repo.pureos.net/pureos/ amber-updates main

… you’re still reading this?
Thanks for taking the time :slight_smile:

9 Likes

I don’t see much difference between Apple & Linux updates. Both are designed to keep currently installed apps up-to-date. The Linux default is to see the status of packages as they are being updated - unlike the slow-moving status bar and system restarts that are common with most Macs. If anything, Apple seems to keep it very simple… and even more difficult to see under the hood.

Either way, a detailed overview of obscure system software is of little use to a non-admin. It’s plenty for the average user to just make sure everything is “up to date”. Mac, Windows & Linux can all be set to automatically download updates daily via a GUI.

If you need a list of currently installed software (including versions) in a Debian-based system, try: apt list --installed

1 Like

Sorry, your response doesn’t address my question.

I didn’t mention packages (except while quoting what apt tells me).
The up-to-date-ness of each individual package is not my issue.
(although the complete lack of feedback from the GUI updaters has led to me using apt from the CLI instead of relying on the GUI apps)

My issue is the move to new distribution releases
e.g. from Amber to Byzantium

In short:

  • is there a command that shows which distribution release is currently installed?
  • is there any way to find out that Byzantium even exists from within an Amber installation?
  • is there a way to upgrade from Amber to Byzantium, that does not involve logging in as root and editing /etc/apt/sources.list ?
2 Likes

For current distribution release in Debian, you can use: cat /etc/*-release

I don’t know of any easy way that a user can automatically be notified of new distributions from within another distribution. And it seems that tweaking /etc/apt/sources.list is a necessary part of the dance.

Obviously scripts can be written to do those things… and a GUI could certainly be modified to handle it, but at the end of the day, I think most users find the CLI approach easy enough - especially given the infrequency of distribution upgrades. Is it really that much trouble?

I do see what you mean about Apple though. They have certainly improved upon the Linux standard of upgrading from one major release to another - but to be fair, Macs are vertical and closed systems, making it much easier for the developers to streamline those upgrades.

2 Likes

I didn’t test below command(s) by myself as currently not using PureOS (and not sure if it will work out 100% because of some, hopefully irrelevant, thoughts of mine), but still and in short:
sudo sed -i 's/amber/byzantium/g' /etc/apt/sources.list
sudo sed -i 's/amber/byzantium/g' /etc/apt/sources.list.d/*.list

sudo grep -v '^#' /etc/apt/sources.list −− as mentioned within your previous post (without direct/admin editing of …).

Above sed command I took from here, as it should help, but no guaranties from my side (as didn’t test it with following, used within linked article, apt-get commands.) @audegai it your turn now, let’s hope that outcome will turn out as positive.

I’ve tried upgrading from amber to byzantium by editing sources.list and then doing apt-get dist-upgrade. That unfortunately left me with lots of things broken. I had no heart to investigate and fix, I’ve just backed up my home directory and did a full reinstall from an .iso image.

3 Likes

Thanks! That at least tells me that I have “amber”.
I just hope that file has been accurately kept up-to-date by apt & co.
I also have /etc/debian_version which says: buster/sid ?!?

The point isn’t about how much trouble it is to actually type the commands.
The point is, how to gain the knowledge that
a: there is a new release available
b: whether or not upgrading would be a good idea for me
and c: how to safely do the upgrade.

At the moment
a: you find out somehow
b: you have no idea
and c: you search the 'net and hope you found a good description which didn’t leave out anything important.

And since there’s no other way… that’s what we all end up doing.

Think of it this way: try telling any non-IT expert what they need to do… people who have never used the command line, vi, sed, etc… on the phone… long distance… while on holiday.

One option would be “click on the logo in the top-left corner of the screen, select ‘system updates’, now click on ‘upgrade’ - done”.

1 Like

Then please, don’t post!
And again, your “list of commands grabbed from some random, unqualified and only vaguely related post” don’t actually address the problem.

I’m hoping to learn how to find out about new releases, from a definitive and reliable source (personally I would expect the OS to tell me) and then perform the upgrade in a manner suitable for people who are not happy on the command line.

3 Likes