Ubuntu mod team takes anti-queer "Don't say gay" stance.
https://bark.lgbt/@gimmechocolate/115164408860865811
Common Ubuntu L unfortunately, and since the post on r/Ubuntu by the original poster, it seems like Canonical/Ubuntu are sticking by their mods teams decision.
https://redd.it/1nbai29
@r_linux
https://bark.lgbt/@gimmechocolate/115164408860865811
Common Ubuntu L unfortunately, and since the post on r/Ubuntu by the original poster, it seems like Canonical/Ubuntu are sticking by their mods teams decision.
https://redd.it/1nbai29
@r_linux
Bark!
unawarewolf 🐺 (@gimmechocolate@bark.lgbt)
Attached: 1 image · Content warning: Ubuntu mod team takes anti-queer "Don't say gay" stance.
Weird looking fonts on google chrome in linux
Hi everyone, I am running popOS and my fonts on google chrome have become strange and funny. It only happens in the searchbar and when I type something, but is absolutely stupid! I have tried a lot of fixes (chatGPT below) but nothing has fixed the issue.
I installed popOS and google chrome again and the same issue still persists!
Need y'alls help figuring this out! Thanks in advance :)
chrome: Version 140.0.7339.80 (Official Build) (64-bit)
https://preview.redd.it/kju90xdglunf1.png?width=1064&format=png&auto=webp&s=ff14f4746d407f4dbba14d813e5fda75691da086
chatGPT: https://chatgpt.com/share/68be3802-0950-800b-8cb6-fb1fb09b0562
https://redd.it/1nbbgiz
@r_linux
Hi everyone, I am running popOS and my fonts on google chrome have become strange and funny. It only happens in the searchbar and when I type something, but is absolutely stupid! I have tried a lot of fixes (chatGPT below) but nothing has fixed the issue.
I installed popOS and google chrome again and the same issue still persists!
Need y'alls help figuring this out! Thanks in advance :)
chrome: Version 140.0.7339.80 (Official Build) (64-bit)
https://preview.redd.it/kju90xdglunf1.png?width=1064&format=png&auto=webp&s=ff14f4746d407f4dbba14d813e5fda75691da086
chatGPT: https://chatgpt.com/share/68be3802-0950-800b-8cb6-fb1fb09b0562
https://redd.it/1nbbgiz
@r_linux
Been using Linux for half a year because I don't want to update to win11
Some thoughts:
1. Asked AI when I didn't know how to do certain things on Linux.
2. Typing commands is easier/faster than a graphical UI
3. Old computer (10+ yo) runs just as fast as new ones
4. Found all the software I need on Linux. Most are better or just as good. There's LM studio for AI, video (OBS/shotcut), and image processing (GIMP), reference manager (Zotero), LibreOffice etc. There's always an alternative for something that runs on Windows, if not the same software version available to Linux.
5. Unsubscribing from all the "antivirus software" that exists solely for Windows system
6. Hardware's driver is never an issue. From RX6600, RX7900 to RTX 5090 they all worked. The last one is new, so I had to go into command mode at the login stage and connect the wifi by typing a command - you learn something new every day.
7. Ubuntu Pro gives 10 years updates on 5 machines. Free.
8. No creepy software stealing my data and IP.
9. Many games can run on Linux without using things like Proton to mimic Windows. Some games have an anti-cheat system, so they can't run on Linux - I'd just play them on PS4/5. No issues with game performance, but it does not support 2560*1080 for Resident Evil 6 on an ultrawide screen, it didn't scale properly.
10. It does freeze or crash, but not often enough to bother me. When it happens, it's for a reason and not random crashing. Sometimes, certain software doesn't open or install properly,so just switch to a different one.
It's not the same Linux from 20 or 10 years ago. I'd never go back to Windows - these companies are charging monthly subnoscriptions, which are insane.
My platform:
1. Linux Ubuntu 24 Pro on 2 machines, soon adding a third.
2. One of the 3 machines I have is at least 10 years old, but runs FASTER than the new computer....weird.
Probably never going back to Windows again, but I plan to keep Windows 10 as a dual system on the 10-year-old machine as a backup.
https://redd.it/1nbf3x1
@r_linux
Some thoughts:
1. Asked AI when I didn't know how to do certain things on Linux.
2. Typing commands is easier/faster than a graphical UI
3. Old computer (10+ yo) runs just as fast as new ones
4. Found all the software I need on Linux. Most are better or just as good. There's LM studio for AI, video (OBS/shotcut), and image processing (GIMP), reference manager (Zotero), LibreOffice etc. There's always an alternative for something that runs on Windows, if not the same software version available to Linux.
5. Unsubscribing from all the "antivirus software" that exists solely for Windows system
6. Hardware's driver is never an issue. From RX6600, RX7900 to RTX 5090 they all worked. The last one is new, so I had to go into command mode at the login stage and connect the wifi by typing a command - you learn something new every day.
7. Ubuntu Pro gives 10 years updates on 5 machines. Free.
8. No creepy software stealing my data and IP.
9. Many games can run on Linux without using things like Proton to mimic Windows. Some games have an anti-cheat system, so they can't run on Linux - I'd just play them on PS4/5. No issues with game performance, but it does not support 2560*1080 for Resident Evil 6 on an ultrawide screen, it didn't scale properly.
10. It does freeze or crash, but not often enough to bother me. When it happens, it's for a reason and not random crashing. Sometimes, certain software doesn't open or install properly,so just switch to a different one.
It's not the same Linux from 20 or 10 years ago. I'd never go back to Windows - these companies are charging monthly subnoscriptions, which are insane.
My platform:
1. Linux Ubuntu 24 Pro on 2 machines, soon adding a third.
2. One of the 3 machines I have is at least 10 years old, but runs FASTER than the new computer....weird.
Probably never going back to Windows again, but I plan to keep Windows 10 as a dual system on the 10-year-old machine as a backup.
https://redd.it/1nbf3x1
@r_linux
Reddit
From the linux community on Reddit
Explore this post and more from the linux community
Best multi-page .TIFF viewer?
Specifically using Debian with KDE but what works best? Imagemagik is super clunky and others don’t seem to support multi-page and can only seem to show the first page. Please help ! Ironically the best one I’ve found so far is Windows Photo Viewer (not the Photos app) :-(
https://redd.it/1nbh17j
@r_linux
Specifically using Debian with KDE but what works best? Imagemagik is super clunky and others don’t seem to support multi-page and can only seem to show the first page. Please help ! Ironically the best one I’ve found so far is Windows Photo Viewer (not the Photos app) :-(
https://redd.it/1nbh17j
@r_linux
Reddit
From the linux community on Reddit
Explore this post and more from the linux community
Linux Data Analysts what tools do you use?
The noscript says it all. I want to dip my toes into the world of Data Analysis and currently I'm following Alex The Analyst's boot camp.
I dual boot Win10/Mint and I'm at the data visualisation part of the boot camp where you go through Tableau and PowerBI. This got me questioning what tools do you use for data visualisation? Python with libraries? On Windows and in general I know PowerBI and Tableau are the norm. Is there any user friendly alternative?
I know there is Superset but from what I heard it's not suitable for beginners and Metabase but you have to self host it.
Any tips would be appreciated and if it's even feasible to be a Data Analyst with Linux or do you need to use Windows.
I know I'm really in the beginning and I'm still away from actually having to worry about it. But hopefully within the span of a few years I'd like to go freelance and I'd like to see my options...
https://redd.it/1nbgthw
@r_linux
The noscript says it all. I want to dip my toes into the world of Data Analysis and currently I'm following Alex The Analyst's boot camp.
I dual boot Win10/Mint and I'm at the data visualisation part of the boot camp where you go through Tableau and PowerBI. This got me questioning what tools do you use for data visualisation? Python with libraries? On Windows and in general I know PowerBI and Tableau are the norm. Is there any user friendly alternative?
I know there is Superset but from what I heard it's not suitable for beginners and Metabase but you have to self host it.
Any tips would be appreciated and if it's even feasible to be a Data Analyst with Linux or do you need to use Windows.
I know I'm really in the beginning and I'm still away from actually having to worry about it. But hopefully within the span of a few years I'd like to go freelance and I'd like to see my options...
https://redd.it/1nbgthw
@r_linux
Reddit
From the linux community on Reddit
Explore this post and more from the linux community
How is the development of Flatpak's going
https://github.com/flatpak/flatpak/releases
This year alone there have been 2 releases (January - September) but last year their were 10 (January -September)
i know releases on GitHub don't tell the whole story surrounding Flatpak development however with Brave not officially recommending Flatpak's. Mullvad browser not supporting Flatpak's officially. Steam not supporting Flatpak's officially etc.
is there some underlying technical reason why applications don't fully commit to support one packaging format
https://redd.it/1nbko4g
@r_linux
https://github.com/flatpak/flatpak/releases
This year alone there have been 2 releases (January - September) but last year their were 10 (January -September)
i know releases on GitHub don't tell the whole story surrounding Flatpak development however with Brave not officially recommending Flatpak's. Mullvad browser not supporting Flatpak's officially. Steam not supporting Flatpak's officially etc.
is there some underlying technical reason why applications don't fully commit to support one packaging format
https://redd.it/1nbko4g
@r_linux
GitHub
Releases · flatpak/flatpak
Linux application sandboxing and distribution framework - flatpak/flatpak
Libreboot joins Software in the Public Interest (SPI) as Associated Project
https://libreboot.org/news/spi.html
https://redd.it/1nblsq2
@r_linux
https://libreboot.org/news/spi.html
https://redd.it/1nblsq2
@r_linux
Libreboot – Libreboot joins Software in the Public Interest as Member Project Leah Rowe 8
XFS File-System Ready To Enable Online Fsck Support By Default
https://www.phoronix.com/news/XFS-Ready-Online-FSCK-Default
https://redd.it/1nbn2sw
@r_linux
https://www.phoronix.com/news/XFS-Ready-Online-FSCK-Default
https://redd.it/1nbn2sw
@r_linux
Phoronix
XFS File-System Ready To Enable Online Fsck Support By Default
The XFS file-system is ready to declare their online file-system checking 'fsck' support in good enough shape for enabling by default in new kernel builds
If you experience stuttering or audio crackling on gaming, take a look at the scheduler.
https://www.youtube.com/watch?v=JsU4YkWKaNE
https://redd.it/1nbl5pz
@r_linux
https://www.youtube.com/watch?v=JsU4YkWKaNE
https://redd.it/1nbl5pz
@r_linux
YouTube
The most underrated Linux Kernel feature: SCHED_EXT
CachyOS Tutorial Kernel/SCHED_EXT: https://www.youtube.com/watch?v=hQjJZpidH4M
Full SCHED_EXT Stream testing: https://www.youtube.com/watch?v=DNExNI3g-bc
Github SCHED_EXT: https://github.com/sched-ext/scx
CachyOS Wiki: https://wiki.cachyos.org/configuration/sched…
Full SCHED_EXT Stream testing: https://www.youtube.com/watch?v=DNExNI3g-bc
Github SCHED_EXT: https://github.com/sched-ext/scx
CachyOS Wiki: https://wiki.cachyos.org/configuration/sched…
Local Windows VPS?
Instead of running a virtual machine or dualbooting, would it be possible to run a Windows machine (Slave) on my network to seamlessly use Windows while on my Linux Mint (Master)?
I mean use it like a typical vps but with a Windows desktop enviorment like a virtual box but fully external.
Does anyone else do this?
https://redd.it/1nbpzhu
@r_linux
Instead of running a virtual machine or dualbooting, would it be possible to run a Windows machine (Slave) on my network to seamlessly use Windows while on my Linux Mint (Master)?
I mean use it like a typical vps but with a Windows desktop enviorment like a virtual box but fully external.
Does anyone else do this?
https://redd.it/1nbpzhu
@r_linux
Reddit
From the linux community on Reddit
Explore this post and more from the linux community
Burger King hacked, attackers 'impressed by the commitment to terrible security practices' - systems described as 'solid as a paper Whopper wrapper in the rain,' other RBI brands like Tim Hortons and Popeyes also vulnerable
https://youtu.be/5wClzMQUGrg
https://redd.it/1nbt5d7
@r_linux
https://youtu.be/5wClzMQUGrg
https://redd.it/1nbt5d7
@r_linux
YouTube
Burger King caught training AI on 100 MILLION customers voices!
A hacker just breached Restaurant Brands International (RBI) system, using an authentication bypass, where they found voice recordings from customers were retained and used to train an AI /machine learning model. This includes restaurants such as Burger King…
Why did they abandon Cutefish
I was watching a desktop environment tierlist and I saw Cutefish being showcased. Honestly, I fellin love with it instantly. I've used KDE Plasma and Cinnamon in the past but I stick to Gnome and mostly window managers (cause all the DEs look ass). When I started researching Cutefish I realised it was abandoned in 2022 😭 and I'm so heartbroken right now.
I really think more people would hop on the Linux train if Cutefish was a popular DE cause my friends always say the default Linux DEs look really bad compared to Windows 11 (no transparency effects and the cool stuff) and I can't help but agree.
https://redd.it/1nbue6s
@r_linux
I was watching a desktop environment tierlist and I saw Cutefish being showcased. Honestly, I fellin love with it instantly. I've used KDE Plasma and Cinnamon in the past but I stick to Gnome and mostly window managers (cause all the DEs look ass). When I started researching Cutefish I realised it was abandoned in 2022 😭 and I'm so heartbroken right now.
I really think more people would hop on the Linux train if Cutefish was a popular DE cause my friends always say the default Linux DEs look really bad compared to Windows 11 (no transparency effects and the cool stuff) and I can't help but agree.
https://redd.it/1nbue6s
@r_linux
Reddit
From the linux community on Reddit
Explore this post and more from the linux community
npm debug and chalk packages compromised (~650 million weekly downloads)
https://www.aikido.dev/blog/npm-debug-and-chalk-packages-compromised
https://redd.it/1nbvcrc
@r_linux
https://www.aikido.dev/blog/npm-debug-and-chalk-packages-compromised
https://redd.it/1nbvcrc
@r_linux
www.aikido.dev
npm debug and chalk packages compromised
The popular packages debug and chalk on npm have been compromised with malicious code
i can't go back to windows now and i absolutely despise it
a simple
i had some previous experience with linux, 2 years ago. once with arch and once with ubuntu, and in both of them i had no idea what i was doing. i used them as a throw-away boot-from-usb Operating system as i was involved in some "journalism"
i then reverted back to windows because any shit i tried did not work and i just didnt understand what i was doing.
fast forward a year, i got into homelabbing and servers, and i just really enjoyed wasting my time on the terminal. it is just so elegant and made me so productive, i really enjoyed working on it. learnt some very very basic commands.
and exactly 2 months and 28 days later, after being sick of windows, it failing to install redis on and or docker, wsl failing, extreme slowness and supreme lagging by my windows 11 pro, downloading the distro and receiving my 512 gb gen3 nvme stick, backing up all the necessary data, it was done. the time had come to switch. i purchased an nvme to sata adapter to attach into the spare sata slot in my laptop, just in the dire case that i would need to access the data i had on my windows ssd ever. (spoiler alert: good idea)
the distro i chose was fedora 42, i was a big fan of rhel, and i went with kde plasma because i didn't like gnome when i used arch and ubuntu (yes i am an idiot i used gnome on arch i will never do that again). i went with kde plasma this time even after friends convincing me not to saying "i'd spend too much time on ricing"
and in the last 5 months. i have changed. i have become a very different man. i have evolved in ways no one else can describe. i think i have upgraded to my superior form. yes thats the feeling.
my computer is a lenovo v330 with 20gb of ram (16+4s) and i3 8th gen. yes it does suck but i use it as a beheaded laptop and remove the backplate when running a cpu intensive noscript and it keeps it at 70-75.
this machine absolutely gutted at windows, i mean it was slow but even using microsoft edge was hard. things it sucked the most was i/o and ram management.
now that i have switched to fedora, it is fast. it is light and it is fast. it is bloated but i dont mind it because i plugin my 2 decade old printer and it works. that shit doesnt happen in windows does it?
fedora and linux just made me so much better. need redis? one command away? need to run 89 commands together, split thy terminal, need updating colors on your screen with no reason whatsoever? btop is your friend. it is just so intuitive and just so faster than windows.
i have got some issues like obsidian not generating pdfs or using boomaga shortcuts, some security stuff and permissions mainly. not anything that has severely limited my abilities. some features i miss from windows are the sandbox, which led to the creation of very quick virtual machines, i mean i have that option on fedora too but it still isnt that fast. i dont use photoshop or play games so i dont feel that much of a brunt. i do feel if i had some proper bootable media creator like rufus, because the cli alternative just doesnt do a great job.
however a problem is that i have started to hate windows, every time i use windows, be it 7, 10 or 11, it just lags and that lag kills me. if i see any laptop with that blue screen it instantly triggers my ptsd, it has gotten so bad that i have had a couple nightmares of working on a windows pc and it hanging so bad i woke up being annoyed. some people might find it funny but i am serious. let's just say i have had a very bad experience and perhaps trauma associated with struggling hardware in the past.
this is making me a very toxic person overall, perhaps even a circlejerk, i bully people that complain about performance and not use linux or people that were scammed when buying new expensive laptops, and i now think
a simple
stat / command says that it has almost been 5 months since i made the big switch. nothing hard. just backed up my windows ssd, said my final goodbye to the operating system that just handled me for a year roughly. and booted into freedom.i had some previous experience with linux, 2 years ago. once with arch and once with ubuntu, and in both of them i had no idea what i was doing. i used them as a throw-away boot-from-usb Operating system as i was involved in some "journalism"
i then reverted back to windows because any shit i tried did not work and i just didnt understand what i was doing.
fast forward a year, i got into homelabbing and servers, and i just really enjoyed wasting my time on the terminal. it is just so elegant and made me so productive, i really enjoyed working on it. learnt some very very basic commands.
and exactly 2 months and 28 days later, after being sick of windows, it failing to install redis on and or docker, wsl failing, extreme slowness and supreme lagging by my windows 11 pro, downloading the distro and receiving my 512 gb gen3 nvme stick, backing up all the necessary data, it was done. the time had come to switch. i purchased an nvme to sata adapter to attach into the spare sata slot in my laptop, just in the dire case that i would need to access the data i had on my windows ssd ever. (spoiler alert: good idea)
the distro i chose was fedora 42, i was a big fan of rhel, and i went with kde plasma because i didn't like gnome when i used arch and ubuntu (yes i am an idiot i used gnome on arch i will never do that again). i went with kde plasma this time even after friends convincing me not to saying "i'd spend too much time on ricing"
and in the last 5 months. i have changed. i have become a very different man. i have evolved in ways no one else can describe. i think i have upgraded to my superior form. yes thats the feeling.
my computer is a lenovo v330 with 20gb of ram (16+4s) and i3 8th gen. yes it does suck but i use it as a beheaded laptop and remove the backplate when running a cpu intensive noscript and it keeps it at 70-75.
this machine absolutely gutted at windows, i mean it was slow but even using microsoft edge was hard. things it sucked the most was i/o and ram management.
now that i have switched to fedora, it is fast. it is light and it is fast. it is bloated but i dont mind it because i plugin my 2 decade old printer and it works. that shit doesnt happen in windows does it?
fedora and linux just made me so much better. need redis? one command away? need to run 89 commands together, split thy terminal, need updating colors on your screen with no reason whatsoever? btop is your friend. it is just so intuitive and just so faster than windows.
i have got some issues like obsidian not generating pdfs or using boomaga shortcuts, some security stuff and permissions mainly. not anything that has severely limited my abilities. some features i miss from windows are the sandbox, which led to the creation of very quick virtual machines, i mean i have that option on fedora too but it still isnt that fast. i dont use photoshop or play games so i dont feel that much of a brunt. i do feel if i had some proper bootable media creator like rufus, because the cli alternative just doesnt do a great job.
however a problem is that i have started to hate windows, every time i use windows, be it 7, 10 or 11, it just lags and that lag kills me. if i see any laptop with that blue screen it instantly triggers my ptsd, it has gotten so bad that i have had a couple nightmares of working on a windows pc and it hanging so bad i woke up being annoyed. some people might find it funny but i am serious. let's just say i have had a very bad experience and perhaps trauma associated with struggling hardware in the past.
this is making me a very toxic person overall, perhaps even a circlejerk, i bully people that complain about performance and not use linux or people that were scammed when buying new expensive laptops, and i now think
that no one needs an expensive laptop, or something more powerful than a t14/p15/t480, because playing games that need expensive hardware is a sin and a laptop is meant to be portable and not for gaming. there is no portable laptop without a good battery pack. that doesnt exist in gaming laptops.
and yeah that is how it is going currently. i was more accepting of people when it started. i just now feel like i know it all. like i am the supreme being. like i own everything. and it is just perfect.
i have also convinced myself that i would be undervolting the next laptop i buy (perhaps a t480) and running arch on it because maybe then i will feel more perfect than i am. and linux will handle the performance issues.
anyway
the only fair amount of ricing i've done is have an LLM write a bash noscript to save my variables and color choice, and use starship with kitty. im enjoying it till now. everything feels good. everything feels under control. nice. good.
bye.
https://redd.it/1nby02g
@r_linux
and yeah that is how it is going currently. i was more accepting of people when it started. i just now feel like i know it all. like i am the supreme being. like i own everything. and it is just perfect.
i have also convinced myself that i would be undervolting the next laptop i buy (perhaps a t480) and running arch on it because maybe then i will feel more perfect than i am. and linux will handle the performance issues.
anyway
the only fair amount of ricing i've done is have an LLM write a bash noscript to save my variables and color choice, and use starship with kitty. im enjoying it till now. everything feels good. everything feels under control. nice. good.
bye.
https://redd.it/1nby02g
@r_linux
Reddit
From the linux community on Reddit
Explore this post and more from the linux community
Great time for Linux mobile OS distributions to take over failed Android Google doesn't GAF about us and our security, it's all about $$$$$ and control, maximizing Ad Revenue instead of protecting privacy
https://redd.it/1nc1dtz
@r_linux
https://redd.it/1nc1dtz
@r_linux
Oddly useful Linux tools you probably haven't seen before
https://youtu.be/32O0a6qCQaQ
https://redd.it/1nc5q3z
@r_linux
https://youtu.be/32O0a6qCQaQ
https://redd.it/1nc5q3z
@r_linux
YouTube
Oddly useful Linux tools you probably haven't seen before
some Linux utilities, shell noscripts, etc that I've found oddly useful for one reason or another :-)
0:00 https://github.com/cowtoolz/webcamize
1:32 https://github.com/Canop/dysk
2:39 https://github.com/dylanaraps/pure-bash-bible
4:54 https://wiki.archli…
0:00 https://github.com/cowtoolz/webcamize
1:32 https://github.com/Canop/dysk
2:39 https://github.com/dylanaraps/pure-bash-bible
4:54 https://wiki.archli…
Why Linux has a scattered file system: a deep dive
I've seen a lot of Windows users who have given Linux a shot be confused, annoyed or generally critical of the fact that Windows has a scattered file system where a package will generally install stuff "all over the place" instead of in a simple neat directory. Ideally, programs install their static files: .exe's, .dll's and resources; in `C:\Program Files` , user files in `%APPDATA%` and some small global config in the registry. It's a little more complicated in practice, but that's generally the gist of it. This system does have some advantages. It makes it really easy for a particular program to be installed on a different drive for example. So it does make sense why Windows users would be taken aback by the scattered file system of Linux, where programs have files seemingly all over the place.
And so I wanted to make this post to outline what all of the directories in the Linux file system are, why they exist, and what advantages this design has over "one program <-> one package" design. It should hopefully also serve as an overview for new Linux users looking to learn more about their system. At least, it will be a post I can link to others if I ever need it.
**Chapter I -- what's in** `/`
**Chapter Ia -- system file directories**
These are directories where system files live.
In the traditional Linux view, the "system" basically means "your package manager". So this includes the core system components and programs installed through your package manager (be it apt on Debian/Ubuntu, dnf on RHEL/Fedora or pacman on Arch). There is no difference real between "system files" and "program files" on Linux when the programs are installed as packages. The "base" system, the one you get right after install, is just a bunch of packages, with many "spins" (Fedora KDE, Xubuntu etc.) basically being just different sets of packages to install as base.
Users do not generally do not write files here, but they read or execute them all the time -- programs, fonts, etc.
The directories are:
* `/usr` \-- static files (binaries, libraries, resources, fonts, etc.)
* `/var` \-- dynamic files (logs, databases, etc.)
* `/etc` \-- configuration files
* `/boot` \-- boot files
The reason these are all different directories? Well, you might want to put each of them on different partitions, or only some of them, or have all of them on the same partition, depending on your use case.
For example, you may want to mount `/usr` and/or `/etc` as read only after configuring your system to harden it. You may want to share `/etc` around multiple systems that should be configured identically. You may want to only backup `/etc` and `/var` since `/usr` and `/boot` can be easily recreated by the package manager.
These are not only theoretical use cases. The desktop distro I use is a version of Fedora Immutable, in which `/usr` is mounted as read-only, `/var` is mounted as read-write and `/etc` is mounted as an overlay filesystem, allowing me to modify it, but also allowing me to view what changes I made to system configuration and easily revert if needed.
`/boot` is kept separate because it sometimes needs to be separate, but not always. A use case for this (not the only one) is what I use: most of my disk is encrypted, so `/boot` is a separate, unencrypted partition, so the kernel can launch from there and decrypt the rest of my disk after asking me for the password.
**Chapter Ib -- user file directories**
These are the directories where users can store files and the package manager will not touch (but other system utilities may touch).
These directories are:
* `/home` \-- the home directories of users
* `/root` \-- the home directory of the root user (the administrator account)
* `/srv` \-- files to be served
These are pretty self-explanatory. `/root` is not a sub-directory of home because it's actually more something between a system directory and a user directory. Package managers will sometimes touch it.
Moreover, if you have a bunch of Linux servers that share user lists and have
I've seen a lot of Windows users who have given Linux a shot be confused, annoyed or generally critical of the fact that Windows has a scattered file system where a package will generally install stuff "all over the place" instead of in a simple neat directory. Ideally, programs install their static files: .exe's, .dll's and resources; in `C:\Program Files` , user files in `%APPDATA%` and some small global config in the registry. It's a little more complicated in practice, but that's generally the gist of it. This system does have some advantages. It makes it really easy for a particular program to be installed on a different drive for example. So it does make sense why Windows users would be taken aback by the scattered file system of Linux, where programs have files seemingly all over the place.
And so I wanted to make this post to outline what all of the directories in the Linux file system are, why they exist, and what advantages this design has over "one program <-> one package" design. It should hopefully also serve as an overview for new Linux users looking to learn more about their system. At least, it will be a post I can link to others if I ever need it.
**Chapter I -- what's in** `/`
**Chapter Ia -- system file directories**
These are directories where system files live.
In the traditional Linux view, the "system" basically means "your package manager". So this includes the core system components and programs installed through your package manager (be it apt on Debian/Ubuntu, dnf on RHEL/Fedora or pacman on Arch). There is no difference real between "system files" and "program files" on Linux when the programs are installed as packages. The "base" system, the one you get right after install, is just a bunch of packages, with many "spins" (Fedora KDE, Xubuntu etc.) basically being just different sets of packages to install as base.
Users do not generally do not write files here, but they read or execute them all the time -- programs, fonts, etc.
The directories are:
* `/usr` \-- static files (binaries, libraries, resources, fonts, etc.)
* `/var` \-- dynamic files (logs, databases, etc.)
* `/etc` \-- configuration files
* `/boot` \-- boot files
The reason these are all different directories? Well, you might want to put each of them on different partitions, or only some of them, or have all of them on the same partition, depending on your use case.
For example, you may want to mount `/usr` and/or `/etc` as read only after configuring your system to harden it. You may want to share `/etc` around multiple systems that should be configured identically. You may want to only backup `/etc` and `/var` since `/usr` and `/boot` can be easily recreated by the package manager.
These are not only theoretical use cases. The desktop distro I use is a version of Fedora Immutable, in which `/usr` is mounted as read-only, `/var` is mounted as read-write and `/etc` is mounted as an overlay filesystem, allowing me to modify it, but also allowing me to view what changes I made to system configuration and easily revert if needed.
`/boot` is kept separate because it sometimes needs to be separate, but not always. A use case for this (not the only one) is what I use: most of my disk is encrypted, so `/boot` is a separate, unencrypted partition, so the kernel can launch from there and decrypt the rest of my disk after asking me for the password.
**Chapter Ib -- user file directories**
These are the directories where users can store files and the package manager will not touch (but other system utilities may touch).
These directories are:
* `/home` \-- the home directories of users
* `/root` \-- the home directory of the root user (the administrator account)
* `/srv` \-- files to be served
These are pretty self-explanatory. `/root` is not a sub-directory of home because it's actually more something between a system directory and a user directory. Package managers will sometimes touch it.
Moreover, if you have a bunch of Linux servers that share user lists and have
`/home` mounted on the network (allowing the user to log into any server and see their files), the `/root` home should still be per-server.
`/srv` is just a convenient place to store files, such as those shared via FTP, HTTP, or any other files you need to store that is not just "a user's files". It's entirely unstructured. No tools that I know of create directories here without being told to, so it's a nice place to just put stuff on a server. Not very useful on a desktop.
**Chapter Ic -- temporary mount points**
These are mostly empty directories (or directories of empty directories) made for mounting partitions, removable drives, .ios's etc. that would not make sense anywhere else in a filesystem -- usually temporarily
These directories are:
* `/mnt` \-- for manual mounting
* `/media` \-- for automatic mounting of removable media
You generally do not need to worry about `/mnt` unless you are doing some command line work. Same for `/media`, if you just insert a USB stick, it'll be mounted here, but you'll also get a GUI icon to click on that will take you here, you don't generally have to manually navigate here.
**Chapter Id -- virtual file systems**
These are directories who's contents don't "actually exist" (on disk). One of Linux's great strengths, especially from a developer perspective, is that everything is a file, be it a real one on disk, or a virtual one. Programs that can write to a file, can also write to virtual files, be they disks, terminal windows or device control files.
These directories are:
* `/run` and `/tmp` \-- temporary files stored in RAM
* `/proc` and `/sys` \-- low level process and system information respectively
* `/dev` \-- device files
Now, you can safely ignore `/proc` and `/sys` as a regular user. When you open the GUI ~~Task Manager~~ System Monitor, the GUI System Monitor will read from these places, but you don't need to do so manually.
The `/run` and `/tmp` files are in-RAM places for temporary files. The reason there are two is historical and I won't go into it.
`/dev` is where all of the devices are represented. You will be exposed to this when you, for example, flash a USB stick, and the flashing utility will allow you to select `/dev/sdb` (SATA drive B) to flash to. Hopefully, you will also get a user-friendly name ("Kingston DataTraveller 32GB) next to it.
**Chapter Ie -- the** `/opt` **directory**
There are some cases where programs do want to be installed in a Program Files manner with a huge directory of stuff. This is either stuff that was lazily ported, or stuff with a lot of data (100GB Vivado installs).
This is what the `/opt` directory is for.
The package manager will generally not touch it, but graphical installers of proprietary software may default to this place.
In the case of large installs, it also makes it easier to put some of the sub-directories of `/opt`, or the entire thing, on a separate drive/partition. It also allows large installs to be networked mounted, in the case of many small computers using proprietary software from a local NFS server.
**Chapter II -- the structure of** `/usr`
**Chapter IIa -- the useful sub-directories of** `/usr` **that will always be there**
These directories are:
* `/usr/bin` \-- executable meant to be run by users
* `/usr/lib` \-- shared libraries (dll's) (see bellow)
* `/usr/share` \-- non-executable resource files
The reason libraries are all together is that each binary is generally dynamically linked, so if the same library is used by 10 different executables, it exists only once in the system.
The reason binaries are all together is so that the shell can search in one place for all of them.
**Chapter IIb -- the less useful or situational sub-directories of** `/usr` **that will usually always be there**
These directories are:
* `/usr/src` \-- sources for packages on the system, generally installed by special `*-src` packages, usually empty or almost empty
* `/usr/include` \-- stuff for C programming. Should arguably be a sub-directory to `/usr/share`, but hey, C is the big daddy and gets special
`/srv` is just a convenient place to store files, such as those shared via FTP, HTTP, or any other files you need to store that is not just "a user's files". It's entirely unstructured. No tools that I know of create directories here without being told to, so it's a nice place to just put stuff on a server. Not very useful on a desktop.
**Chapter Ic -- temporary mount points**
These are mostly empty directories (or directories of empty directories) made for mounting partitions, removable drives, .ios's etc. that would not make sense anywhere else in a filesystem -- usually temporarily
These directories are:
* `/mnt` \-- for manual mounting
* `/media` \-- for automatic mounting of removable media
You generally do not need to worry about `/mnt` unless you are doing some command line work. Same for `/media`, if you just insert a USB stick, it'll be mounted here, but you'll also get a GUI icon to click on that will take you here, you don't generally have to manually navigate here.
**Chapter Id -- virtual file systems**
These are directories who's contents don't "actually exist" (on disk). One of Linux's great strengths, especially from a developer perspective, is that everything is a file, be it a real one on disk, or a virtual one. Programs that can write to a file, can also write to virtual files, be they disks, terminal windows or device control files.
These directories are:
* `/run` and `/tmp` \-- temporary files stored in RAM
* `/proc` and `/sys` \-- low level process and system information respectively
* `/dev` \-- device files
Now, you can safely ignore `/proc` and `/sys` as a regular user. When you open the GUI ~~Task Manager~~ System Monitor, the GUI System Monitor will read from these places, but you don't need to do so manually.
The `/run` and `/tmp` files are in-RAM places for temporary files. The reason there are two is historical and I won't go into it.
`/dev` is where all of the devices are represented. You will be exposed to this when you, for example, flash a USB stick, and the flashing utility will allow you to select `/dev/sdb` (SATA drive B) to flash to. Hopefully, you will also get a user-friendly name ("Kingston DataTraveller 32GB) next to it.
**Chapter Ie -- the** `/opt` **directory**
There are some cases where programs do want to be installed in a Program Files manner with a huge directory of stuff. This is either stuff that was lazily ported, or stuff with a lot of data (100GB Vivado installs).
This is what the `/opt` directory is for.
The package manager will generally not touch it, but graphical installers of proprietary software may default to this place.
In the case of large installs, it also makes it easier to put some of the sub-directories of `/opt`, or the entire thing, on a separate drive/partition. It also allows large installs to be networked mounted, in the case of many small computers using proprietary software from a local NFS server.
**Chapter II -- the structure of** `/usr`
**Chapter IIa -- the useful sub-directories of** `/usr` **that will always be there**
These directories are:
* `/usr/bin` \-- executable meant to be run by users
* `/usr/lib` \-- shared libraries (dll's) (see bellow)
* `/usr/share` \-- non-executable resource files
The reason libraries are all together is that each binary is generally dynamically linked, so if the same library is used by 10 different executables, it exists only once in the system.
The reason binaries are all together is so that the shell can search in one place for all of them.
**Chapter IIb -- the less useful or situational sub-directories of** `/usr` **that will usually always be there**
These directories are:
* `/usr/src` \-- sources for packages on the system, generally installed by special `*-src` packages, usually empty or almost empty
* `/usr/include` \-- stuff for C programming. Should arguably be a sub-directory to `/usr/share`, but hey, C is the big daddy and gets special