knowledge/technology/linux/Linux.md
2024-02-12 21:55:34 +01:00

9.1 KiB

obj wiki website
os https://en.wikipedia.org/wiki/Linux https://www.kernel.org

Linux

Linux is a kernel and computing platform.
It support virtually every filesystem. Linux has many distributions, such as Arch Linux or Alpine Linux, Proxmox, etc.
The default init system is Systemd. See mkinitcpio for other boot time configuration.
Linux has GUIs but is generally used with the Shell. The kernel development can be tracked here

Filesystem Structure

A typical Linux system has, among others, the following directories:

Path Description
/ This is the root directory. This is where the whole tree starts.
/bin This directory contains executable programs which are needed in single user mode and to bring the system up or repair it.
/boot Contains static files for the boot loader. This directory holds only the files which are needed during the boot process. The operating system kernel (initrd for example) must be located in either / or /boot.
/dev Special or device files, which refer to physical devices.
/etc Contains configuration files which are local to the machine.
/home On machines with home directories for users, these are usually beneath this directory, directly or not.
/lib This directory should hold those shared libraries that are necessary to boot the system and to run the commands in the root filesystem.
/lib/modules Loadable kernel modules (optional)
/lost+found This comes from Ext4. This directory contains items lost in the filesystem.
/media This directory contains mount points for removable media such as CD and DVD disks or USB sticks.
/mnt This directory is a mount point for a temporarily mounted filesystem.
/proc This is a mount point for the proc filesystem, which provides information about running processes and the kernel.
/root This directory is usually the home directory for the root user (optional).
/run This directory contains information which describes the system since it was booted. Once this purpose was served by /var/run and programs may continue to use it.
/sbin Like /bin, this directory holds commands needed to boot the system, but which are usually not executed by normal users.
/sys This is a mount point for the sysfs filesystem, which provides information about the kernel like /proc, but better structured, following the formalism of kobject infrastructure.
/tmp This directory contains temporary files which may be deleted with no notice, such as by a regular job or at system boot up.
/usr This directory is usually mounted from a separate partition. It should hold only shareable, read-only data, so that it can be mounted by various machines running Linux.
/usr/bin This is the primary directory for executable programs. Most programs executed by normal users which are not needed for booting or for repairing the system and which are not installed locally should be placed in this directory.
/usr/etc Site-wide configuration files to be shared between several machines may be stored in this directory. However, commands should always reference those files using the /etc directory. Links from files in /etc should point to the appropriate files in /usr/etc.
/usr/include Include files for the C compiler.
/usr/lib Object libraries, including dynamic libraries, plus some executables which usually are not invoked directly. More complicated programs may have whole subdirectories there.
/usr/share This directory contains subdirectories with specific application data, that can be shared among different architectures of the same OS.
/usr/share/doc Documentation about installed programs (optional).
/usr/share/man Manual pages go here in subdirectories according to the man page sections.
/var This directory contains files which may change in size, such as spool and log files.
/var/cache Data cached for programs.
/var/log Miscellaneous log files.