Re: Possible to "dnf upgrade" in a Fedora Gnome without the need to reboot?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/08/2017 08:25 AM, Patrick O'Callaghan wrote:
> On Fri, 2017-09-08 at 23:14 +0800, Ed Greshko wrote:
>>> That whole testing of services and whether their restart/reload is
>>> needed, then actually restarting them is something the dnf installer
>>> might be able to do by itself: Inform the user - maybe at the end of or
>>> during an upgrade - which services need a restart: dnf: "Shall we
>>> restart foo now: Yes or No, and if No: here's how you can do it manually
>>> ...."
>>> Or if a reboot is required: tell the users ... That whole procedure
>>> looks actually like a no-brainer  ...
>>>
>>> What did I miss? ...
>>
>> IMHO, it should be changed from "needs" to "should".   It is often the case that
>> processes which are already running will continue to run just fine even though they
>> "should" be restarted to make use of the updated libraries.
>>
>> It isn't as cut and dry as you may think.  It probably isn't a good idea to restart
>> some processes after an update as a user may be accessing the process and restarting
>> it in the middle may make for a bad user experience.  A connection to a socket may be
>> broken, for example.
> 
> Yes, the situation can be complex and I wouldn't advocate dnf just
> restarting stuff without asking first. I wasn't trying to understate
> the difficulty. Nevertheless, key services should be restartable by the
> user without having to poke around in documentation, which is often
> incomplete or even non-existent. Core services descend from systemd,
> but in some cases there is no corresponding target or unit file because
> the execution was down via something else. If tracer is smart enough to
>  know what processes are using obsolete libraries, I presume it could
> be  made smart enough to read the journal and trace how the process was
> originally run, but of course this is mere speculation.

IIRC, on process startup ld checks to see if the desired _shared_
library is already present in RAM and only loads it from disk if no copy
already exists in memory (that's the whole point of shared
libraries--only one copy of the _code_ section is needed). So even if a
library was updated, the new version won't be used unless _all_
processes currently using the old version shut down and a new process is
launched that needs that library. The only way to ensure you're using
the latest and greatest version of any given library is to do a reboot
to kill all the existing processes. Whether to run a new kernel at that
reboot is up to you.

Now, should the package manager of choice alert you to potential
changes? Unless the update to the library is security-related or
prevents some potential catastrophic meltdown, I see no particular
reason to. Others feel differently and may install the tracer plugin
to be alerted automatically (at the cost of a slower update cycle) or
they run "dnf needs-restarting" should they feel like it. The choice is
theirs.

I don't run automatic updates. I run them interactively and look at
what's being updated. That way I can determine what to do. Being the
oddball I am, I do periodic reboots (generally the first thing every
Monday morning) so I'm running the newest kernel and using the latest
libraries. But (as everyone familiar with this list knows) I'm simply
cranky, obnoxious and "weird".
----------------------------------------------------------------------
- Rick Stevens, Systems Engineer, AllDigital    ricks@xxxxxxxxxxxxxx -
- AIM/Skype: therps2        ICQ: 226437340           Yahoo: origrps2 -
-                                                                    -
-    If Windows isn't a virus, then it sure as hell is a carrier!    -
----------------------------------------------------------------------
_______________________________________________
users mailing list -- users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxxxxxxx



[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux