Yep. Almost all operating systems have a bufor that tell programs file was moved when it is still in the process. It makes perfect sense, it speed things up and extends the lifespan of the device.
You can flush that bufor manually with just the sync command or disable it for whole partition with -o sync option. Technically you should unmount drives before unplugging for safety anyway, but people are stupid or more important lazy and in my opinion for external devices mounting with sync really should be the default. Maybe some low-level developer would disagree.
To be fair in the other direction. Debian and Ubuntu and forks have it. They handle pretty much all filesystems fine, which is indeed impressive. Suprisingly Windows also has pretty good EXT drivers, so in a way the world is in harmony :D .
That open file lock shit is terrible. You can't even attach a word document in an email if it's opened. The windows ui is painfully slow even on capable hardware which makes dealing with this even worse. KDE is so fast, ui stuff finishes happening faster than my finger can complete the "click" motion.
It's always blown my mind how game developers are ever able to get anything done working like this. A game development workflow, working with lots of different folders and different files open in different programs is exactly the type of workflow the windows ui is so bad at. Guess that explains things.
I recently used mv on a folder containing a massive quantity and size of files, and it completed the operation in like a second. I'm used to windows taking forever to do the same thing
‘rm -rf /*’ for the win. I was on a production system when I learned I used that combo far too much. Thankfully, lots were deleted and my crimes were never detected.
Yep. I mean, these days we use LVM, but I've actually resized a mounted partition by deleting it, recreating it with the same start and later end and rebooted for resizing the filesystem within (because the kernel won't reread active partition tables). Felt janky as fuck, but worked 🤷
There was a point not so long ago where Adobe Collaboration Sync got so bad on my Windows 10 box it wouldn't let me close any pdfs that were open. "File in use" error, even if all Adobe programs were closed except for that pdf. I'd have to go into Task Manager and manually kill it. Between that and Adobe Updater I couldn't get rid of it by any known means, and it was choking the shit out of my machine.
I'm transitioning to Linux but not there yet, still need the Windows box for now, so I had to do something. But I'm old school, so it was a DOS batch file to the rescue. I call it "kiladobe.bat":
taskkill /f /im armsvc.exe
del "C:\Program Files (x86)\Common Files\Adobe\ARM\1.0\armsvc.exe"
taskkill /f /im AdobeCollabSync.exe
del "C:\Program Files\Adobe\Acrobat DC\Acrobat\AdobeCollabSync.exe"
It's now a scheduled task in taskschd.msc. I put kiladobe.bat in the main Adobe program folder (heh) and run that task as administrator at startup and every four hours or so, give or take an hour.
No more problems.
Now, all that remains is that every so often I see the command window flash up for a split second because this batch file is killing Adobe shit, and it just makes me smile. (I could probably make it stop flashing up the CLI, but I genuinely enjoy the reminder of how I'm fucking Adobe's virus-like install and lock endeavors up the ass.)
EDITED TO ADD a simple "@echo off" by itself as the first line would probably turn off any appearance of the CLI, if anyone wants to use this text for their own batch file. If that didn't work I'd probably throw a space and a ">nul" at the end of each line to grab the output and throw it into neverneverland.
To be honest I do not like PDF readers being bundled in browser's binaries, I see web rendering engines themselfs as a pile of legacy impossible to rewrite spaghetti.
Qutebrowser for example has PDF.js as an optional, installable dependency. I guess Firefox can be recompiled without PDF support, if someone wants to save those... 3MB. But just that my Linux mind has slight aversion to bundling stuff in single binary, because on Linux installing 1 or 100 programs if they are packaged takes the same time.
Ah. And some commands for PDFs are really useful :P.
For example I used convert file.jpg file.pdf to upload couple of documents I had scanned as pictures but website required a PDF extension.
Had a call to sort an issue where someone couldn't open an excel file because they already had it open don't know why that needed a warning over a simple window switch to the sheet they wanted but hey stopped me doing what I was doing for nothing
Yeah, needing to use Microsoft Office for everything at work is a damn pain. This one time I am trying to close Word, but then I must have clicked the top right X one too many times so the "You can't close Word until the Closing... dialog is dismissed" dialog pops up, which itself interrupts the Closing dialog...
I lost a lot of respect for Microsoft when I first saw that issue. It's such an easy to avoid limitation. Like probably a similar level of difficulty to remove that limitation than to write the error message explaining it, unless it's more of a spaghetti mess than I'm expecting it to be.
If you want to reference other files, you should use a less ambiguous way to refer to them. Like a relative path or full absolute path. The fact that that weakness is because of a half-baked feature like that actually makes me lose even more respect.
Edit: thanks for the info though, it does add some missing context.
ChromeOS is so funny because it's either way too anal about what you can do or there's a part they forgot to harden against end users and the power of linux spews forth with endless destructive potential
Windows, too. Turns out, there's a hard-coded image size limit. If you've got a ~5k screen or bigger, or equivalent size virtual desktop with multiple monitors - you gotta find a way to compress it below limit. Nope, webp is not accepted, even though it is perfectly capable of using it.
Anyone who has to use Windows and suffers this, PowerToys is your friend. Locksmith identifies what's locking your file and allows you to free it up. Dunno why PowerToys isn't bundled by default tbh.
I always thought it wasn’t included by default to mitigate malware damage to a system. Malware needs to be just a little bit more advanced if it can’t hijack Powertools to do what it wants
Any self-respecting malware writer will download and decompile the Powertools to find out what API calls are being used. Especially if they're calls to an undocumented API.
Having Powertools on your computer is thus not the security hole it might appear to be.
The fact they exist at all - well that's not really a security hole either. Their existence just more quickly dissolves any security-by-obscurity that might have existed. Someone would have found those calls another way.
One might suppose that they contain something special that's not in the stock OS, but then we're back to the malware writer's reverse engineering which would lead them to learn and implement their own versions of whatever it is that Powertools does.
any self-respecting malware writer will download [powertools] and…
I’m not as familiar with mass-market malware, but APT-level gear generally doesn’t try to make use of such easily observed events. The more network traffic malware appropriates, the greater the probability that it’s caught.
Simply put, Powertools puts several functions within arms reach for malware looking to stay under the radar. Without it, malware needs to bring more of its own code which increases footprint. Living off the land exploits in particular love the presence of these kinds of programs
Shut up. I also think power toys that feature basic functionality and have been around for decades should be included in Windows. I can’t always install this on a computer that needs it.
Psexec can be pretty dangerous. Psexec.exe -i -s gives you access to the NTAUTHORITY/SYSTEM account, which is higher than Administrator. One time at work I was trying to do something and was getting permission denied so I decided to use that to get around the problem, I got to spend the afternoon talking to our security administrator because he got a bunch of alerts from our antivirus.
Never thought about that, but since these tools just work, when you copy them to your PC.... how does psexec do that? It'd either need you to be an administrator (and then it's not really a privilege escalation as you could have registered any program into the task scheduler or as a service to run as SYSTEM) or it'd need a delegate service, that should only be available when you use an installer - which again wasn't was has been done when just copying the tool.
You need Administrative permissions for psexec. It uploads a file to the target computer's \admin$ share (just C:\Windows) and starts a service to execute it. Services run as SYSTEM so that's why you get those privileges.
(Hah, I forgot your message while typing mine and just copied you :)
I found a blog post outlining exactly that. If you use it locally, it will install and start a service temporarily. That service runs as SYSTEM and invokes your command. To succeed, you need to be a local administrator.
If you try the same remote, it tries to access \\remote-server-ip\$admin and installs the service with that. To succeed your current account on your local machine must exist on the remote machine and must be an administrator there.
So in short: It only works, if you've already the privilege to do so and the tool itself is not (ab)using a privilege escalation or something like that. Any hacker and virus may do the very same and doesn't need psexec - it's just easier for them to use that tool.