On Tue, 2016-10-04 at 10:39 -0700, Gerald B. Cox wrote:
and I have NEVER used the graphical update since the first release
Fedora. I've always used yum or dnf. As I mentioned earlier in the past
I've found the graphical tools to be quirky at best - perhaps that has
changed, but since the command line has always worked for me, I've stuck
with it. Apparently I've missed something along the way because now people
are implying that using the command line tools from within GNOME or KDE are
dangerous. What exactly is going on?
It's always been dangerous. It works fine all the time until it
doesn't, and then you're left with a pile of broken bits that you get
to spend all afternoon fixing.
It's pretty simple, really: a process running in a terminal inside a
graphical desktop will crash if the terminal app crashes, or if the
desktop crashes, or if X crashes. If any of those things happens, your
update process just dies instantly, leaving whatever bits it hadn't
done yet...undone. This is a situation it's technically more or less
impossible to *fully* recover from (it's more or less impossible to
figure out and execute precisely whatever scriptlet actions should have
happened but did not), and is a pain to more-or-less-practically
recover from (you get to hack up some crappy script to detect duplicate
packages, run rpm -e --justdb --noscripts on the old NEVR and run dnf
reinstall on the new NEVR...)
I'm not entirely sure if the KDE graphical updater is safer or not, but
I don't think it is, because I think it again effectively just runs the
update transaction inside the KDE session, where it will die partway
through if KDE or X crashes.
The current GNOME update workflow, however, is the most reliable we
have, because it downloads the updates then boots to a minimal systemd
target with as few things running as possible to install the updates,
then boots back to the normal system. This is far, far safer than
running the update inside a desktop.
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | XMPP: adamw AT happyassassin . net