this post was submitted on 09 Apr 2024
312 points (98.8% liked)

Linux

48165 readers
868 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I thought I'll make this thread for all of you out there who have questions but are afraid to ask them. This is your chance!

I'll try my best to answer any questions here, but I hope others in the community will contribute too!

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 15 points 7 months ago (6 children)

What is the system32 equivalent in linux

[–] [email protected] 15 points 7 months ago

/bin, since that will include any basic programs (bash, ls, cd, etc.).

[–] [email protected] 5 points 7 months ago* (last edited 7 months ago)

For the memes:

sudo rm -rf /*

This deletes everything and is the most popular linux meme

The same "expected" functionality:

sudo rm -rf /bin/*

This deletes the main binaries. You kinda can recover here but I have never done it.

[–] [email protected] 5 points 7 months ago

Don’t think there is.

system32 holds files that are in various places in Linux, because Windows often puts libraries with binaries and Linux shares them.

The bash in /bin depends on libraries in /lib for example.

[–] [email protected] 5 points 7 months ago (1 children)

There is no direct equivalent, system32 is just a collection of libraries, exes, and confs.

Some of what others have said is accurate, but to explain a bit further:

Longer explanation:

spoiler
system32 is just some folder name the MS engineers came up back in the day.

Linux on the other hand has many distros, many different contributors, and generally just encourages a .. better .. separation for types of files, imho

The linux filesystem is well defined if you are inclined to research more about it.
Understanding the core principals will make understanding virtually everything else about "linux" easier, imho.

https://tldp.org/LDP/intro-linux/html/sect_03_01.html

tl;dr; "On a UNIX system, everything is a file; if something is not a file, it is a process."

The basics:

  • /bin - base level executables, ls, mv, things like that
  • /sbin - super-level-only (root) executables, parted, reboot, etc
  • /lib - Somewhat self-explanatory, holds libraries, lots of things put their libs here, including linux kernel modules, /lib/modules/*, similar to system32's function of holding critical libraries
  • /etc - Configuration lives here, generally speaking, /etc/<application name> can point you in the right direction, typically requires super-user (root) to edit
  • /usr - "User installed" software, which can be a murky definition in today's world, but lots of stuff ends up here for installed software, manuals, icon files, executables

Bonus:

  • /opt - A special location, generally third-party, bundled-style software likes to use this, Java for instance, but historically some admins use it as the "company location", meaning internally developed software would live there.
  • /srv - Largely subjective, but myself and others I know use it for partitions that are outside the primary disk, for instance we use /srv/db for database volumes, /srv/www for web-data volumes, /srv/Media for large-file storage, etc, etc

For completeness:

  • /home - You'll find your user directories here, personally, this is my directory I backup, I don't carry much more with me on most systems.
  • /var - "Variable data", basically meaning any data that will likely grow over time, eg: /var/log
[–] [email protected] 1 points 7 months ago

Oooh. I always wondered where I would put my docker bind shares in. I currently have them point to /Media but /srv makes so much more sense.

[–] [email protected] 1 points 7 months ago* (last edited 7 months ago)

/usr/lib or /usr/lib64 or /lib (some distros) or /lib64

Some things (like hosts file) are in /etc. /etc mostly contains configs.

[–] [email protected] 1 points 7 months ago (1 children)

What is system32? Outdated 32bit binaries?

[–] [email protected] 1 points 7 months ago (1 children)

A weird catch-all folder for "most important Windows system stuff". It's not 32bit, just named like that in typical Windows fashion for backwards compatibility.

[–] [email protected] 2 points 7 months ago

Would probably be /usr and /bin, while some apps get installed to /opt or even /local or /var