Browse Source

Editing 2021.10.06.21:23

tags/Issue-001
Kenneth John Odle 2 weeks ago
parent
commit
630ad7c025
  1. 26
      001/codex-001.tex

26
001/codex-001.tex

@ -371,10 +371,30 @@ These are violations of the Unix Principle that actually work well and that I ca
\noindent Well, I've rambled a bit here. I'm sure I'll remember more things to like about Unix after I put this issue to bed.
\chapter{What Are All Those Files in the Linux Root?}
\chapter{What Are All Those Folders in the Linux Root?}
If you're using a Linux distro with a GUI (Ubuntu, Puppy OS, Mint, etc.) you land right in your Home folder whenever you click on ``Files''. But if you've ever gone all the way into the root of your computer (the Windows equivalent would be \verb|C:\|) you'll see a lot of folders\footnote{Technically, these are \textit{directories}, but let's not be pedantic. In a GUI, the icon usually looks like a folder.} there with mysterious three-letter names. Let's take a look at the them and what they contain.\footnotemark
\footnotetext{For more information about this, consult the Linux Foundation Reference specifications, which are found at \href{https://refspecs.linuxfoundation.org/}{https://refspecs.linuxfoundation.org/}. You're probably going to want the pdf version of this, which is at \href{https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.pdf}{https://refspecs.linuxfoundation.org/FHS\_3.0/fhs-3.0.pdf}. It really is amazing how much you can learn just by reading the specs and manuals. Scotty was right.}
If you're using a Linux distro with a GUI (Ubuntu, Puppy OS, Mint, etc.) you land right in your Home folder whenever you click on ``Files''. But if you've ever gone all the way into the root of your computer (the Windows equivalent would be \verb|C:\|) you'll see a lot of folders\footnote{Technically, these are \textit{directories}, but let's not be pedantic. In a GUI, the icon usually looks like a folder.} there with mysterious three-letter names. Let's take a look at the them and what they contain.
(For more information about this, consult the Linux Foundation \textit{Filesystem Hierarchy Standard}, which is found at \href{https://refspecs.linuxfoundation.org/}{\texttt{https://refspecs.linuxfound\\ation.org/}}. You're probably going to want the pdf version of this, which is at \href{https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.pdf}{\texttt{https://refspecs.linuxfoundation.org/FHS\_3.0/fhs-3.0.pdf}}. It really is amazing how much you can learn just by reading the specs and manuals. Scotty was right.)
The essential point behind this directory structure is to segregate different file types. To quote the FHS:
\begin{quote}
It is possible to define two independent distinctions among files: shareable vs. unshareable and variable vs. static. In general, files that differ in either of these respects should be located in different directories. This makes it easy to store files with different usage characteristics on different filesystems.
\end{quote}
The FHS goes on to clarify these terms:
\begin{quote}
``Shareable'' files are those that can be stored on one host and used on others. ``Unshareable'' files are those that are not shareable. For example, the files in user home directories are shareable whereas device lock files are not.
``Static'' files include binaries, libraries, documentation files and other files that do not change without system administrator intervention. ``Variable'' files are files that are not static.
\end{quote}
Now, if that excites you (and it does me), I urge you to read the FHS, especially the ``Rationale'' section of this description, which talks about the historical use of \texttt{/usr} and \texttt{/etc} and why \texttt{/var} was created. (I admit, I'm a bit of a junkie for early history, whether it's mythology and folk tales, or computer systems. I love learning about the early days.)
(I also love the fact that the spec goes out of its way to point out that ``unshareable'' files are simply files that can't be shared. It's kind of like saying a ``non-citrus'' fruit is any fruit that is not citrus. You would think stuff like this would be obvious, but it's not always.)
\section{bin}
This directory contains essential command binaries that need to be available for all users. Many of these include binaries that bring up the system or repair it. Your basic binaries like \verb|cat|, \verb|ls|, and \verb|mv| live here.

Loading…
Cancel
Save