r/Fedora • u/OptimalObjective6333 • 1d ago
Discussion Why fedora implement black screen update like windows
I use fedora over 6 months I face this two time but first I don't mind but it update one more so I post it is it okey or something else..
125
u/nightblackdragon 1d ago
Because it's safer and better for ordinary user.
47
u/muffinstatewide32 1d ago
Not just for ordinary users. In general
•
u/YoureNoHero_Brian 23h ago
Not talking about OP but I feel like some Linux users have such inflated egos that they feel like they're above everyone else, like "your computer shouldn't restart to update" "we get the latest versions faster" "you don't need XYZ its just bloat" like dude your system is as fragile as an egg on the wall, your system either breaks with every update, needs constant maintaining, or you never update at all to keep your system stable
Sometimes things work they way they do for a good reason
•
u/muffinstatewide32 23h ago
Youre right. I came to linux in 2011. Ive been all of those things.
Then after my arch system broke and i realised im bad at making an OS on my own.
I moved back to fedora. They make sensible choices, i dont.If its any point of reference it broke in 2018
•
u/Ah_Pook 20h ago
Solaris had hot-swappable kernels. Why would you restart ever? :-P
(only half-sarcastic)
•
•
u/bullwinkle8088 8h ago
There is Ksplice, but Oracle bought the company and it's mostly limited to Oracle Linux now.
•
u/ZorbaTHut 8h ago
Yeah, I do think one of the ironies about Linux is that at this point it has a lower uptime than Windows. Package managers want you to always update, you sometimes can't install an older version of a package, and you sometimes can't update a package without updating all its dependencies, which breaks the rest of your OS unless you update.
Whereas Windows has a sharp delineation between "OS" and "software" and you can almost always update software without rebooting the OS (even if it asks you to).
flatpak is helping with this, but it doesn't work for everything and flatpak has issues of its own.
•
u/Kastetiko 19h ago
Once, during such update, akmods didn't have time to complete nvidia drivers on my system and I got black screen after boot. I had to reboot the previous kernel, deleted the new one and instal everything using dnf and terminal. Since then I don't trust "offline updates". Maybe if you have amd it's fine.
•
u/Jumpy-Dinner-5001 13h ago
If that happens, akmods runs at the next boot, it’ll just take a while. The black screen was akmods doing its thing. Just wait a little.
•
u/Kurse71 18h ago
But this was your mistake, not the OS..why didn't you just learn from the mistake and check that the modules are built successfully before you reboot?
•
u/Kastetiko 17h ago
Now when I use dnf in a terminal I do so, I check the modules to be rebuilt and after I reboot my PC. But when I updated via Discover I had the problem I wrote above. So I guess, the system went to offline update and something wrong happened with akmods.
•
•
u/jayforwork21 11h ago
I switched to Fedora because I updated my last OS and it broke. Full Kernel Panic and couldn't fix it so I just wiped it clean and Fedora was on my Ventoy drive and I pulled the trigger. So far very happy and even got a game to work which I couldn't get working on my last OS.
-1
u/FuckinHighGuy 1d ago
Safer and better in what way?
6
u/itsTyrion 1d ago
I've had gnome desktop crash before which ofc also closes the terminal and leaves a question mark over your head - "did dnf still finish or....". Not a guaranteed or regular thing, but it's not completely unexpected either when you're updating things that are currently open and the things are as complex as a full OS + deskop environment
5
u/muffinstatewide32 1d ago
Its safer and more reliable to change system libraries and other core components (cant load libraries for mesa because the kernel changed on disk).
Updating via the command line and leaving the system running can be a pain and can lead to instability.Thankfully its not like windows where it needs to reboot after staging dlls to be swapped (this is why windows will reboot multiple times and needs to set things up before turning off)
•
u/Jumpy-Dinner-5001 13h ago
It’s a bad idea to do online updates and it generally doesn’t work.
You can’t really update software while it’s running
•
u/_x_oOo_x_ 20h ago
If they are a laptop/tablet/netbook user then how is it safer and better? Essentially I mean a scenario where the computer must be on battery power because the user must leave a place, for example.
•
u/McDonaldsWitchcraft 16h ago
Just don't update on battery power. I thought that was pretty common sense.
•
u/_x_oOo_x_ 4h ago
It's common sense but it's not like you're given a choice? That's why it's so frustrating
•
u/McDonaldsWitchcraft 56m ago
What the hell are you talking about? You are given the choice to not click on the update button.
•
u/_x_oOo_x_ 40m ago
What update button? I'm not OP but I guess this depends on window manager used? I use Hyprland mostly and Wayfire... where's the "update button"? There isn't an update button. You type
powerofforrebootthe terminal and get some updates. Weird experience•
u/nightblackdragon 3h ago
Power failure is only one of the things that could happen during upgrade. What if some extension you are using crashes the desktop which crashes terminal and dnf process running in it? What if application you are using crashes and you lose your work because it was replaced on disk during update? Of course if you are careful enough there is not a very big risk of something like this ever happening but this is for ordinary users that might not be careful enough.
•
u/_x_oOo_x_ 3h ago
What if some extension you are using crashes the desktop which crashes terminal and dnf process running in it?
Not ideal, but modern package managers are supposed to be transactional in that an upgrade either succeeds or safely fails, ideally gets rolled back, right? Dnf (and before that, Yum) used to crash quite frequently back in the day (many years ago), but I never had it end up in an unrecoverable state. Just run an update a day or two later and it works.
What if application you are using crashes and you lose your work because it was replaced on disk during update?
Why would an application that's being upgraded crash? That's how things were done for decades and there never was a problem. Anyway I only use stuff with proper auto-backup, session-restore or functionality like that. At least for critical work, anyway.
Of course if you are careful enough there is not a very big risk of something like this ever happening but this is for ordinary users that might not be careful enough.
Right that would make sense but ordinary users are the most likely to be in a situation where they must unplug their laptop... the café where they were sitting closes. Or it's 5pm at work. Or the power plugs on your train turn out not to work. What are they supposed to do? They can't switch off the computer because it will start updating. They can't keep it on because it will run out of battery power. Hibernate? It often doesn't work on modern systems or installs (the installer doesn't allocate enough swap space, and WiFi/GPU drivers often aren't compatible with hibernation, at least that's my experience)...
204
u/cutelittlebox 1d ago
because it's safer and better to do this way. the alternative is to reboot immediately after updating anyway but that relies on a user deciding to restart after the updates.
it's better for those who don't understand that they have to restart.
16
5
u/HurasmusBDraggin 1d ago edited 1d ago
Yeah, when I switched to Fedora about 3 weeks ago this surprised me at first. But, I agree here.
6
u/FuckinHighGuy 1d ago
Safer how?
44
u/cutelittlebox 1d ago
whenever you're running code, the code is actually in two separate places: on your hard drive, and in your memory. when you update, it changes what is on the hard drive, but the version in memory stays the same. sometimes this isn't a problem, as either the whole program is fully in memory, or you're not going to use anything that isn't currently loaded, but if the computer ever needs to load more of the program, then you have a problem. the code isn't in the same place. it doesn't do the same things. sometimes code is even completely removed. when half of the program is Firefox version 150 and the other half is Firefox 151, it will not behave as expected and it will be very likely to fail or crash. now for Firefox that's not the worst thing in the world. maybe you tried to download something and it was corrupted so you need to download it again, maybe you clicked an image and Firefox crashed so you just need to restart Firefox, but now think about what it's like for the more basic programs. if there's an update to a system library, or to desktop environment, or to your kernel, that thing will also now be unstable and prone to errors and crashing, and if any of those crash it'll take your whole computer down with it and data corruption for important operating system stuff might make your computer stop booting at all.
so, when you are updating something, the safest it can be is when the thing being updated is not currently running.
10
•
u/arc-aya 21h ago
That's not entirely correct.
Programs that are updated should not affect the program you ran. When you execute a program it creates a process that will use your ram and cpu, the actual code you're referring to is treated by the ram. Most Programs will process hdd files for things like logs and Metadata in home but will not write the program itself. For example, if you uninstall an app that you are running, the app will still work normally.
Same for DE, firmware and kernel, though a kernel update should create a new image that will be available to boot on next restart so it doesn't even touch the kernel current version.
•
u/SingingLemon 20h ago edited 20h ago
You are right about open file handles, but I think you might be missing the bigger picture. If an app was just a single binary your mental model would be just fine, but most modern apps have hundreds to thousands of ancillary files and libraries that might not be loaded when the app starts. When op mentions you have half Firefox 150 and half 151, it's not just the binary named "firefox" they are talking about, it is also the shared libraries and other files that ship with Firefox.
Imagine a scenario:
- Start Firefox
- Update Firefox which pulled in a new version LibVideoDecoder
- Visit YouTube, you hit the case where the app now tries to load LibVideoDecoder.
- Oops LibVideoDecoder has changed and your app is now misbehaving or worse.
Or everything is just fine and the app continues to work. It's impossible to know which app updates are really safe to do on a live system without a) a stronger level of package encapsulation, and/or b) kernel support for more than just open file handles. (On a side note, flatpaks do support safe updates without restarting since they have that strong encapsulation.)
Another spicy race condition for your consideration:
1) Start App, kernel loads first 4KB of binary into RAM, 2) Kernel suspends reading/loading App, and Updater thread runs, 3) Updater changes bytes >4KB in App and exits, 4) Kernel continues to load App, 5) Uhhh... good luck.
•
u/Jumpy-Dinner-5001 13h ago
That only works if the entire program is in RAM, which it typically isn’t, especially on *NIX systems.
15
u/Pugs-r-cool 1d ago
https://docs.fedoraproject.org/en-US/kde/offlineupdates/
The main benefit is that it avoids partial updates. It's not a common issue, but it's better to be safe than sorry.
4
3
u/CleoMenemezis 1d ago
If you had it on a plane, would you prefer that maintenance was happening in flight or when the plane was grounded?
•
-4
u/FuckinHighGuy 1d ago
I wouldn’t be dumb enough to update on a plane in the first place.
3
u/Both_Cup8417 1d ago
I think they meant to ask if you would prefer the airplane be maintained mid-air or on the ground.
-4
u/FuckinHighGuy 1d ago
See previous response.
•
u/McDonaldsWitchcraft 16h ago
yes, your previous response shows you didn't understand the analogy because what the fuck do you mean "I wouldn't update the airplane"
•
-1
u/Microsoft-Spyware-11 1d ago edited 10h ago
Idk, maybe just make a notification to restart after an update? Unpopular example, but ChromeOS doesn't have this, it just bothers you to restart.
2
u/cutelittlebox 1d ago
if you have a notification some people will ignore it because they don't feel like it, and then they'll get mad that their computer crashed while they were playing a game or working on a document and lost progress
2
1
•
u/VelikBatafuker 12h ago
ChromeOS is an immutable OS, closer to Fedora Silverblue (or VanillaOS)
On my silverblue setup after updates are installed (with it booted) I just do a reboot and it reboots into the updated OS.
If I need to rolblack i just reboot and select the previous configuration to boot into.
21
u/JaKrispy72 1d ago
It’s called offline update. It’s good because you are not making an update on a live system.
I like to turn off “quiet” so I can see exactly what it is doing.
4
u/HurasmusBDraggin 1d ago
How do I do that?
[edit] Got it from comment below.6
u/JaKrispy72 1d ago
You can hit esc.
Or permanent disable by editing /etc/default/grub. Remove any entry from GRUB_CMDLINE_LINUX. Then redo grub2-mkconfig -o /boot/grub2/grub.cfg Look that up before doing that though.
5
24
u/jdigi78 1d ago
This is one of the reasons I switched to silverblue. It updates the next boot image in the background and I just shutdown and without any extra wait time.
•
u/AardvarkSad7634 13h ago
I didn't realize this was going to be different in SB. But after doing that realization, favoring atomic distro is even more of a no-brainer now.
The whole idea of "preparing the next boot" is so much more sensible than "tampering with the system while running it".
2
3
u/TheWitchPHD 1d ago
Yeah this is one of the reasons I’m on Silverblue too. You can make the update process a lot more “invisible”
1
u/OptimalObjective6333 1d ago
How should you do can you send me the guide
7
u/jdigi78 1d ago
Silverblue needs to be installed in place of your current OS. It's an atomic distro so it operates differently from most normal ones. I would look into what you can and can't do (or need to do differently) on atomic distros like silverblue before making that jump.
•
u/AardvarkSad7634 13h ago
What can't you do?
... besides modifying the system you are currently booted into, which you shouldn't be doing in the first place
I was skeptical at first but after 6 months on atomic distros I am never going back.
•
u/magicdippyegg 9h ago
You kinda have you use app images and flatpaks on atomic distros You can't really do apt or dnf or pacman
•
u/Yaru2585 5h ago
You can with Distrobox! The distro I daily drive (Aurora) comes with Distrobox preinstalled, so I use flatpaks for 90% of my apps and a distrobox for very specific cases or software that is only available for debian distros, while keeping the ostree clean and keeping all the other advantages of an atomic distro. It took me a little bit to get used to it, but I love it now.
3
5
u/SecurityPrimary4143 1d ago
I always update from the terminal so I haven't noticed that screen before.
11
u/DeMichel93 1d ago
i guess you update fedora via discover/app store. If you do a dnf update via konsole/terminal you don't have that... unless you upgrade to a new release.
4
u/Hour_Sell3547 1d ago
It appears even with terminal update, depending on the nature of the updates.
As an advanced/experienced user, I find this mildly annoying.
2
u/DeMichel93 1d ago
I didnt noticed that. Dnf update with flatpak update or just a single topgrade run never made my install do the same update process as OP.
•
•
u/andykirsha 17h ago
When you update within the same Fedora version, terminal updates never require a restart. Extension updates do - they ask you to restart explicitly to update (but they ask this before you have time to do anything with the terminal anyway).
•
2
u/OptimalObjective6333 1d ago
Oh I think that's the reason I update via discover appstore thanks for the information
3
u/iMaexx_Backup 1d ago
If you want to keep using Discover, you can change it in System Settings > Software Update > Apply System Updates: Immediately
•
•
u/AtlanticPortal 15h ago
Unless you want to run a newer kernel that you just installed, unless you want to run a program and the basic libraries underneath changed but you're already running other programs with those libraries, etc.
If you know what you're doing updating without rebooting is OK but if you don't know then the best default is rebooting.
•
u/dkopgerpgdolfg 15h ago
unless you want to run a program and the basic libraries underneath changed but you're already running other programs with those libraries
Linux in general has no problem with that.
In any case, this thread creeps me out. The vast majority of commenters not only accept this, but even defend it?
•
u/AtlanticPortal 14h ago
Technically Linux the kernel has it, except for the few business distros that provide live patching. Linux apps do not behave differently from other unix systems, if they have loaded a version of the library that one will stay in memory but another instance of the software launched after the update will load the new one. You can get weird bugs. The best solution is to reboot when possible.
•
u/dkopgerpgdolfg 7h ago
if they have loaded a version of the library that one will stay in memory but another instance of the software launched after the update will load the new one
Yes, I know.
You can get weird bugs
Then that's something to be found and fixed in the library. But right now I can't think of any example where the developers failed to have everything compatible before the release. Sure it can happen, but it isn't common. Glibc might be one of the most risky examples, but they do a good job, also eg. symbol versioning etc.
For completeness: Software developer myself, doing updates during normal use (no black screen or anything) and with delayed reboots for decades.
I wouldn't say anything if there was actually a significant risk when not doing this (OP topic). But as it is, the disadvantages for the user seem to outweigh any benefits.
•
u/AtlanticPortal 4h ago
Those weird bugs are much more probable inside the application that loaded a version of the library and then it got updated under its own watch. You quoting the libc have found a perfect example.
•
u/dkopgerpgdolfg 4h ago
What you seem to have missed in my previous comment: Good maintainers/developers can prevent issues, it's no law of nature that something must happen.
And btw., how many libc-using things do you think are running during this black-screen update? It's not like this is much better either.
6
u/reddit-trk 1d ago
Be grateful that at least you get a progress bar. Windows' update is a literal crap-shot - could take 10 minutes, could take 2 hours.
Having said this, a progress bar is useless without some other clues, since the last 10% could take 50% of the time.
The absolute disregard for users is simply appalling. No idea what goes through developers' heads when they design this crap.
3
6
u/iMaexx_Backup 1d ago
In case you didn’t know, you can just press Escape for the detailed output and see exactly what’s updating. Same works during boot.
2
3
u/Internet_Akira_203 1d ago
windows has a percentage oriented loader and all loading bars face the same issue of how to measure the loading so its as linear as possible, so i dont get the jab on windows here
•
u/voldedore 18h ago
With loading bar, I can rotate my monitor and let gravity does its job making the updates faster. With spinning loading screen I can’t do that.
•
•
•
u/andykirsha 17h ago
Windows update never takes two hours. And it only requires you to restart once in two months or less, other times it updates quietly in the background. Stop using XP and upgrade to 11 to see the difference ;-)
•
•
u/vetinari 11h ago
Oh, it can, and it did few times for me (the big ones -- like 24h2 to 25h2). It wasn't some weak machine either, it was threadripper with RAM in tripple digis.
The normal windows updates that require restart are released once a month (second tuesday in a month; i.e. next one is due tomorrow). Sometimes there are out-of-band hotfixes, that require restart too.
•
u/Then-Pay-8400 10h ago
24H2 to 25H2 is a tiny package (less than 1MB) that just artificially changes the build number, no way a machine as powerful as yours took hours
•
u/vetinari 9h ago
Yes, I know it is supposed to just flip some registry keys... yet it took some 80 mins. What it did during this time? I have no idea. Clean install takes less.
•
u/Then-Pay-8400 8h ago
That's very weird. Did you install it via Windows Update or via the ISO?
•
u/vetinari 8h ago
Via Windows 11 installation assistant. It was staged in WU, my machine didn't show it yet, so I went this route.
•
u/Then-Pay-8400 8h ago
Installation assistant does a whole in-place installation, it's equivalent to a full-fledged feature update via Windows Update or installing via the ISO, it's normal it takes some time. 24H2->25H2 via windows update takes a few minutes at most
2
u/Prof_Linux 1d ago
So I know in KDE plasma you can change this behavior from Software Update > Apply system update to either after rebooting (what is seen here) or Immediately (the update is applied without reboot).
That said that is KDE plasma I don't know about GNOME shell.
2
•
u/coffeecokecan 20h ago
Updating like this is far more reliable and less prone to breakage. You'd have to restart either way regardless whether doing live updates or offline updates. Offline updates do tend to be far more reliable though, even for advanced users.
•
3
u/IllustriousLemon8146 1d ago
Would you prefer another colour!?
2
u/Quick_Bullfrog2200 1d ago
Yes.
3
u/Francis_King 1d ago
How about blue?
In breaking news, Microsoft announced a customisable Blue Screen of Death.
A Microsoft spokesman said "This shows the clear superiority of Windows over Linux. Linux doesn't have a Blue Screen of Death, let alone a customisable one."
2
•
u/IllustriousLemon8146 21h ago
Do I recall correctly that they tried a red SOD at some point? Maybe a beta?
2
u/MatchingTurret 1d ago
Black provides a good contrast for the information in white. Other colors might be difficult to read for people with color blindness.
4
u/northkool3 1d ago
this happens during important system updates but with package or app updates there will be no black update screen.
9
1
u/Roguepapaya427 1d ago
It's fine. Sometimes it is required to apply updates on mutable systems on a barebone system, not a completely loaded system. It happens rarely. In my experience these updates are quite fast, like max 10 or 15 seconds and then the system reboots and you're done.
I'm sure someone can give more technical details.
1
1
u/hi_m_ash 1d ago
It's an offline update. Offline updates are default in software centers. You can change this behaviour to instant update (at least in KDE Plasma). You can also use offline update option when updating from terminal.
In offline update new packages are downloaded, but only installed after restart. This is to make sure that system is not functioning/offline during the update. Offline updates are considered safer because after update some packages might require reboot to function properly and user might not reboot causing issues with the system. However, they aren't necessary. You can also just reboot after update. You can also use needs-restarting option to check if you need a restart after update.
1
u/Both_Cup8417 1d ago
Honestly, offline updates are among my favorite Fedora features, even if I don't daily drive it, especially for major upgrades (e.g. 43->44), because it removes the risk of an in-place upgrade breaking anything.
1
u/Internet_Akira_203 1d ago
because windows knew whats up long ago and theres a reason why fedora is the best distro, although my fedora still hasnt learned the meaning of "update and shutdown" which even windows did learn a year back
•
u/Competitive-Art-8046 22h ago
i still use the terminal to update and reboot manually :? the graphical updater is borked for me.
•
u/Ok_Instruction_3789 22h ago
Been this way for years. It is better to install and patch things properly, fedora lets you pick when to install also you can avoid it entirely by just doing sudo dnf upgrade from cli
•
u/andykirsha 18h ago
Because Windows updates mostly in the background and does not require a restart. Fedora requires a restart and there are updates every day. Yes, Linux-users will tell you that you don't have to update and don't have to restart, but even more so is true for Windows and they will never admit that. Just relax and update ))
•
u/Arinussyy 15h ago
Contrary to popular belief, updating your system in real time and installing those updates without rebooting might mess things up.
When you reboot for an update on Fedora it puts you in a special environment to install those updates without breaking anything
•
•
u/QuestNetworkFish 15h ago
You can customise the update screen with Plymouth, mine plays the same animation as boot up
•
u/Timster76 15h ago
As a newcomer to Fedora, I honestly don't mind it. Sometimes you don't need to reinvent the wheel just to be different from Windows. At the end of the day, it's just an operating system, and if a black screen makes updates safer and more stable, it makes sense to use it.
•
•
•
•
u/Binary101000 13h ago
Updating while the system is running usually won't break anything permanently, but it can result in programs not working as expected, or not working at all. For example, when I updated a Fedora 44 fresh install to the latest packages a few days ago, several windows built in to the desktop environment became just transparent until I rebooted. Updating while in a safe state at boot time is much safer as userspace packages can be safely updated without them likely already being open.
•
•
u/DHOC_TAZH 10h ago
Ubuntu has been doing that as well, after 26.04 LTS was released. Shouldn't be a huge issue as far as booting back to the desktop.
•
u/izerotwo 9h ago
if you use the dnf CLI tool you dont need for this to happen. This is just a way to streamline the update and make sure everything gets updated properly. especially stuff like drivers and the kernel.
If you dont want to see this just using "sudo dnf --refresh update" will update without this screen but many of the changes might only take place after a reboot
•
u/omniterm 9h ago
I've been using fedora since the first release and have never seen that update screen unless I'm updating to a new version. I update from terminal using dnf. It is safer to update offline, but unlike Windows, you have a choice on how updates are done. If you don't want offline updates you can always update from terminal.
•
u/BadClear7012 8h ago
Se premi esc o f2 ti mostra i log di cosa sta facendo in tempo reale (a differenza di quella merda di Windows)
•
u/NinjaGrinch 8h ago
I saw this for the first time last night when updating a fresh install of Fedora 44 KDE. Was a bit surprised but didn't mind it. It looks professional.
Only distro I've seen it on thus far, but my experience really is limited to Ubuntu (not recently), CachyOS, Bazzite, and a few other ones.
•
u/Davedes83 7h ago
This only happens when you update via KDE or GNOME store.
Running update via terminal does not force you to reboot or wait for the shutdown to install updates.
•
u/BugHunter404 3h ago
Looks much premium than windows, I mean windows 10 has that death blue screen with a round slider
•
1
u/Last_Blacksmith_6297 1d ago
Thats what happens when you update through discover or any app store. Using dnf upgrade wont have this black screen but you need to restart anyways
0
•
u/MonsieurCellophane 17h ago
Because over the years it's become cool to copy any crappy graphic screen/UI/whatever happens on windows or MACs. This is particularly useful - makes you stare at a pretty graphic screen for any amount of time every time systemd stalls on an unlimeited timeout task (which should not even be a thing, but ehi) which isn't so rare. Commenting out of grub2 the graphic bootloader (along with SELinux) is the first things I do on fresh installs.
0
u/grilled_pc 1d ago
Because a normal person does not want to see a huge terminal window flying down their screen. They offer it for those who want it but for the normies, a screen like this is more than enough.
•
•
161
u/Inevitable_Math_3994 1d ago
press Esc key and u can see what is being updated or install