this post was submitted on 24 Oct 2023
1644 points (96.8% liked)
Memes
45545 readers
1071 users here now
Rules:
- Be civil and nice.
- Try not to excessively repost, as a rule of thumb, wait at least 2 months to do it if you have to.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
This is a byproduct of one of the largest and more ignored differences between windows and linux. The fact that Linux let's you modify files while they are open whereas windows doesn't.
This means that you can update a linux system by just replacing the files with the new ones while it runs. On the other side, Windows can't modify its own files while it runs, so instead it has a second entire OS to update itself, and requires a reboot to unload all the files and boot from the updater without locking windows files.
In some sense this would even seem an advantage of Windows. (I know it's the fundamental reason for many hangs and freezes, but the idea that a file is a lockable resource doesn't seem that bad.)
There is flock/fcntl for you. But locking is bad for performance too, especially in multithreaded enviroments.
Yes, the thing is - it's a choice.
Then there is cooperative locking for you. It becomes a choice.
I think files being locked is really intuitive, which greatly helps new users. Allowing files to be modified or deleted while they are open makes it really easy to shoot yourself in the foot. For example in the video of Linus switching to Linux he was uncompressing a file and tried to open it while it was still uncompressing, which failed since the file wasn't complete. He didn't understand why the file wasnt uncompressing correctly. That can't happen on Windows, since the file being uncompressed would be locked.
I think there should be a 'lockable mode', and for distributions oriented to new users the home directory should be mounted like that.
There IS 'lockable mode' since System V era. It is extensively used by package managers and similar stuff.
Deleting file does not actually deletes it from disk until last program closes it. And there are ways to open file such that changes to file will not be seen in program.
Yeah with "lockable mode" I mean locking by default instead of requiring every program to specifically call for locking.
It would probably break lots of software, but only using such mode for the users home (or maybe even specific Downloads/documents/desktop/etc folders within the home directory) could reduce the impact.
[Edit] wait I think there is whole fs locking mode on mounting, with the "mand" option, going to test it.
ReplaceFile
exists to get everyone else's semantics though?Silverblue also does this, yet updates are really quick