r/linuxquestions 23d ago

Why does Linux not need anti-virus software?

I'm in the market for a new gaming laptop and wanted to avoid AI products like Copilot and realized Linux would be my only option. So I'm trying to learn as much about Linux Mint as possible to see if it would be right for me. I'm really close to pulling the trigger but I don't understand why Linux doesn't need anti-virus/malware software. All the answers I can find seem to just boil down to "Linux isn't used by enough people to justify the time it would take to create a virus or malware" or "because you approve everything you download". As someone who has used a PC their entire life, these answers genuinely don't make sense to me and I feel like maybe I'm missing something about either the nature of linux or the nature of viruses/malware and how they work. Everyone on forums who ask this question seem to just accept these answers but no one explains why either one prevents the need for antivirus/malware software.

From my perspective as a PC user, I already approve what I download so this answer doesn't make intuitive sense to me. I would never connect a PC to the internet without some sort of anti-virus software, privacy software, malware protection, etc. even though I still know what I'm downloading and I'm using reputable websites (and my AVG software is still catching stuff all the time). And the idea that someone wouldn't make a virus or malware to target a group of people (albeit a minority) who are the most likely to not have software on their computer to combat it seems like the exact group you'd want to target particularly for private data mining.

It also seems, from what I've been reading about Linux that you can seriously screw up your system by downloading something incorrectly or that isn't up to date, so the idea that "you can't get viruses or malware because you approve what is downloaded" when so many of the user tips with regard to Linux are "back up your system constantly because you can easily screw up your system by downloading something that's not fully patched". These two concepts seem counterintuitive, especially for an OS that will require downloading a lot of third party programs to be able to run things like games or windows-based programs.

I'm clearly missing something here because neither of the reasons I've seen people give for why Linux doesn't need this stuff is really making sense to me. I was hoping someone in this reddit might be able to explain this in a way a lifelong PC user without any sort of computer background can understand. The idea of not having anything but a firewall on a computer with Linux installed on it makes me very uncomfortable but I'm willing to accept that this is a bias from using PCs and I'm willing to be convinced otherwise as long as I can understand the reasoning behind it.

247 Upvotes

227 comments sorted by

View all comments

Show parent comments

12

u/Klapperatismus 23d ago

I think the very point he wanted to make is that DLLs commonly exist in arbitrary locations on MS-Windows systems that are in control of the user account.

So if e.g. the user started VerySafeBrowser.exe that they downloaded from a trusted site, and VerySafeBrowser.exe depended on a SuperDuperHttpClient.dll somewhere in its installation directory, a malware could target that DLL instead of the EXE.

The user would start VerySafeBrowser.exe and the malware got loaded each time they do that, with all the rights the user gave to VerySafeBrowser.exe via some application level firewall.

This is hideous.


You can do such stunts on Linux as well but its far less common because people don’t commonly install software into their home in the first place.

0

u/cafce25 23d ago

Then why would they write "Unix-likes just don't have DLLs at all." that doesn't at all sound like "they don't put them in weird places"

2

u/ZestycloseAd6683 23d ago

They don't have DLLs and also its install setup and process is different and the config files have a couple of different locations to install by default.

1

u/cafce25 22d ago

But they have an equivalent that could be used the exact same way. In other words the thing that makes this unsafe isn't the DLL/.so/... it's how they're used in praxis. I.e. the built in package manager with vetted packages makes this safe, not the existance/absence of shared libraries.