Hacker News new | ask | show | jobs
by saagarjha 72 days ago
I feel like the complaints here are…not really Samsung's fault?

> So I’ve dug around and found a cleanup script buried six folders deep inside the app bundle. Let’s try to run it:

> sh ~/Library/'Application Support'/Samsung/'Samsung Magician'/SamsungMagician.app/Contents/Resources/CleanupMagician_Admin_Mac.sh

> It ran. And my kitty exploded. Sweet kitty overflowed. Hundreds - literally hundreds - of lines of chown: Operation not permitted.

I mean, if you read on, you'll find that most of the things that were removed were from system folders that are owned by root? Presumably this was run without sudo…

> I rm -rf every Samsung folder I could find. The Preferences. The Caches. The LaunchAgents. The LaunchDaemons. The kernel extensions. The crash reports.

…that's where you put your stuff on macOS. Would you prefer that they picked some non-standard location you had to dig up?

> Package receipts in /private/var/db/receipts/ (Samsung left its receipts behind like a burglar leaving a bunch of turds in the living room)

This is again for your benefit so you know what was installed on your system

> Cached processes in /private/var/folders/7v/<your username hash>/C/ (yes, Samsung is in there too)

That's getconf DARWIN_USER_CACHE_DIR

> I shut down my Mac. Held the power button. Booted into Recovery Mode. Opened Terminal. Ran csrutil disable. Rebooted. Opened Terminal. Deleted the kernel extensions.

That's just how kernel extensions are on Apple silicon

4 comments

Yeah, the two steps:

* going into some internal directory and running a script based on the name

* deleting a bunch of directories

Seem like pretty bad ideas. Especially for software provided by a hardware vendor, which is probably a little clunky and inherently touches deep stuff.

But not including a removal script seems like bad form.

Edit: On the other hand, I don’t actually know for certain that the tool doesn’t have an uninstall script. Just, that the author didn’t find it. This seems worth noting because the author really wasn’t giving them the benefit of the doubt on anything, see all of the irrelevant complaints about animations.

I mean, there clearly was an uninstall script. It was in the app's Contents/Resources file, and it was called CleanupMagician_Admin_Mac.sh. Which means there was some intended way to trigger running it. Perhaps Samsung's instructions or their menu system weren't clear and they managed to hide it from him. But there most definitely was an uninstall script, and if he had managed to find the intended button in the interface, it would have asked for admin permissions and then done all the cleanup for him. The very cleanup that he complained about having to do by hand.
I think you are probably right. Although, with a name like that it could be some post-install cleanup of temporary files (which would explain why it was doing chown, rather than rm, although there are certainly other options!).
I wondered about the chown thing myself, but ended up concluding that the author was misremembering the errors. He probably saw some chown messages and didn't read all the hundreds of lines (I certainly don't read every line of hundreds of log lines, I skim looking for key words), meaning many of them could well have been rm failures that he misremembered as chown. But whatever it was doing, the author would have been wise to read it before deleting the directory it contained, as it would have saved him a lot of trouble finding all the bits and pieces he had to hunt down later.
The author is an unreliable narrator. The very first thing, the location of the script, can’t possibly be true (the app itself won’t be in per-user support data directory). They conflate things, they definitely don’t know enough about macOS to know to use sudo. I mean, they even rant about bog standard localization files…
Sadly, there are apps out there whose installers drop helper apps in ~/Library/Application Support. Or worse: Eve Online actually puts the whole game there. The Eve.app in /Applications (or wherever you choose to put it) is just the launcher/downloader.
Plus it would be nice to know if the script expected some environment variables or arguments, and what it did in their absence…
> I feel like the complaints here are…not really Samsung's fault?

I don't know man, the last time I uninstalled an app on macOS, all I had to do was drag it to the trash. If you find this procedure sane, then I don't know what to tell you.

Samsung is responsible of how users interact with their app, including its install and removal.

And you probably have a lot of files still from removed apps. There’s a reason there’s a few app uninstaller / cleaner utils
Yeah but I don't actually care if some orphaned cache or config file gets left behind if it doesn't take up GBs of space.

Clearing the package receipt database of stuff you want to uninstall is fucking neurotic, I'm sorry, but it just is.

There is a new way to make apps to mostly allow this to work, but very few apps have taken advantage of this. That is definitely on Samsung. However, macOS was really like this for many years and if you ship software that talks to your SSD you kind of have to make it this way.
It's a .sh script, so he could have read it before running it. And when he saw "chown: Operation not permitted", he could have realized that the word Admin in the script was a clue that it needed, well, admin-level privileges, and he should try running it with sudo (after reading it first, naturally). I'm with you, I feel like this is someone who caused himself a lot of self-inflicted pain.

I mean, if he had read the script before deleting it (that's the third time I've mentioned reading the script, do you think I'm dropping enough hints?), he might have found a handy list of ... ALL THE FILES HE WAS LOOKING FOR. You know, all the 18 or so locations that he had to find by hand.

But nope, he didn't ... yes, I'm going to say it for the fourth time ... READ THE SCRIPT.

And what about for users that either can’t find this uninstall script or wouldn’t know how to read it or what the contents mean? While I think you do have a point, we also can’t assume that the uninstall script really would’ve removed all traces.
Those users have never heard of the word `uninstall` nor have any comprehension of what it would do. They will after a time, just buy a new computer because the old one is full up.
Also it doesn't take 18 steps to uninstall. The steps provided are the steps he took stumbling around trying to remove every trace of it, but it is in no way the optimal method.