\subsection{Contents}

\begin{frame}
  \frametitle{Root filesystem organization}
  \begin{itemize}
  \item The organization of a Linux root filesystem in terms of
    directories is well-defined by the {\bf Filesystem Hierarchy
      Standard}
  \item \url{http://www.linuxfoundation.org/collaborate/workgroups/lsb/fhs}
  \item Most Linux systems conform to this specification
    \begin{itemize}
    \item Applications expect this organization
    \item It makes it easier for developers and users as the
      filesystem organization is similar in all systems
    \end{itemize}
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Important directories (1)}
  \begin{description}
  \item[/bin] Basic programs
  \item[/boot] Kernel image (only when the kernel is loaded from a
    filesystem, not common on non-x86 architectures)
  \item[/dev] Device files (covered later)
  \item[/etc] System-wide configuration
  \item[/home] Directory for the users home directories
  \item[/lib] Basic libraries
  \item[/media] Mount points for removable media
  \item[/mnt] Mount points for static media
  \item[/proc] Mount point for the proc virtual filesystem
  \end{description}
\end{frame}

\begin{frame}
  \frametitle{Important directories (2)}
  \begin{description}
  \item[/root]Home directory of the root user
  \item[/sbin]Basic system programs
  \item[/sys]Mount point of the sysfs virtual filesystem
  \item[/tmp]Temporary files
  \item[/usr]
    \begin{description}
    \item[/usr/bin]Non-basic programs
    \item[/usr/lib]Non-basic libraries
    \item[/usr/sbin]Non-basic system programs
    \end{description}
  \item[/var] Variable data files. This includes spool directories and
    files, administrative and logging data, and transient and
    temporary files
  \end{description}
\end{frame}

\begin{frame}
  \frametitle{Separation of programs and libraries}
  \begin{itemize}
  \item Basic programs are installed in \code{/bin} and \code{/sbin}
    and basic libraries in \code{/lib}
  \item All other programs are installed in \code{/usr/bin} and
    \code{/usr/sbin} and all other libraries in \code{/usr/lib}
  \item In the past, on Unix systems, \code{/usr} was very often
    mounted over the network, through NFS
  \item In order to allow the system to boot when the network was
    down, some binaries and libraries are stored in \code{/bin},
    \code{/sbin} and \code{/lib}
  \item \code{/bin} and \code{/sbin} contain programs like \code{ls},
    \code{ifconfig}, \code{cp}, \code{bash}, etc.
  \item \code{/lib} contains the C library and sometimes a few other
    basic libraries
  \item All other programs and libraries are in \code{/usr}
  \end{itemize}
\end{frame}
