Linux

If you are interested in learning how to install a particular Linux distribution, visit the /Installation/ page.

This project is meant to help people understand how the internals of Linux operating system work. By studying the learning materials here you will hopefully come away with a better understanding of source code, programming, Linux, the history of Linux (e.g. History of the Linux kernel), operating systems, and probably other things that only thorough reflection upon the experience can glean.

Portability
Since Linux-based operating systems are free and largely open-source, they can be installed on an unlimited number of computers without the need for license keys. Linux can also be installed on external mass storage media such as USB-attached portable solid state drives, and existing installations can be cloned to a different computer or external drive.

Caching
Linux features a sophisticated and fine-tuneable disk caching system. Data read from and written to the disk is stored temporarily in the RAM to maximize performance and minimize lag, to an extent not reserved by running programs. Cached data is released should a running program need more memory.

The  command indicates usage by running programs and for cache; the   part does abbreviates the numbers for readability.

To increase performance on computers with much RAM capacity, some values in  can be fine-tuned through a text editor or using the   command. Root access is required to change the values, example,  (default: 100) can be decreased to keep file system meta data in the RAM cache for a longer time, and   (default: 500, meaning 5 seconds) can be increased to keep saved data in RAM for longer before writing to the "persistent storage", i.e. the local disk. This reduces stress on the disk from repeated writes.

Mounting file systems
Keep in mind that implementations of commands may slightly vary across Linux distributions. The easiest way to mount a file system is with the  command. The mountpoint needs to be created as a directory first. While it can be located elsewhere than, it is the location file manager software expects folders to be. A list of data storage devices and partitions (i.e. "block devices") can be shown through the  command. sorts block devices by size. Mounting typically needs root access, meaning that if the command terminal is not running with root permission,  must be prepended to the command.

A file system can be mounted with write-protection if desired. This can be done through the  option. Implementations may also support  for this purpose. If the file system is already mounted, it should be remounted with the  option. Multiple options can be separated through a comma, for example.

In order to be able to modify files' date and time stamps and to preserve date and time stamps of files copied (using  or  ) or moved from a different file system, the file system must be mounted with oneself as its owner. This is specified through the  option parameter. The own user ID number can be found out through the  command. The user name can be displayed by. These steps can be combined through the nested  command.

The  command shows which device a file or directory is located on.

Live CD
A Live CD is a CD which contains a ready-to-use, fully operational copy (called an image) of a version of the Linux operating system. The CD is used to boot the computer in place of the hard drive. Due to the fact that this method does not touch the contents of the hard disk, it is a popular way to test out a new operating system. It will not make any permanent alterations to the system. Usually these Live CDs have installer programs so that if you like what the live CD contains, you can install it on your hard disk by clicking on a link. However, one must click through a fair amount of warning messages before anything is overwritten on the hard disk. See the List of live CDs at Wikipedia.

Virtualization
Using Virtualization technologies such as VirtualBox or KVM you can also run more than one OS's simultaneously on the same machine.

For example, you can install VirtualBox onto your Windows or Mac system, and then install whatever OS you want into the VirtualBox environment (each install takes up disk space, and the number that you can run at the same time is limited by RAM -  a good graphical linux can run just fine on 1G, and run a little bit slower on half that). There are other virtualization options: Xen, VMware, etc...
 * VirtualBox download URL for all platforms: https://www.virtualbox.org/wiki/Downloads

Screen recording
The screen can be recorded using the  command-line utility which is usually bundled. (ffmpeg on Wikipedia)

This command automatically generates a time-stamped file name. If another format or output folder is desired, the command can be modified.

To create a memorable shortcut to this command, this line can be added to the file that is loaded automatically when opening the terminal, the  file:

A custom resolution can optionally be specified with the "video_size" option (for example . By default, ffmpeg picks the full screen resolution.

If the quality is too low, the encoding bitrate can be raised using the  option, for example   does specify 5 megabits per second.

Content to study
Portal:Linux
 * /Introduction/
 * Tiny Core Linux
 * /Compiling the Linux kernel/
 * /linux-0.01.tar/ source code
 * /Reading the Linux Kernel Sources/
 * Types of GUI
 * /Basic commands/
 * /Filesystems permissions/
 * /Directories/
 * Text editing with vi and vim
 * /logging/
 * Scheduling (crontab)
 * /Wireless configuration/
 * Package managers: RPM, APT
 * Bash programming

External materials

 * Linux Technology Reference
 * Introduction to Linux
 * LFS Project

Linux Certification Programs
There are multiple certification programs available in the market such as LPI, CompTIA or Red Hat certifications.

Linux Professional Institute
The Linux Professional Institute is an institute which is committed to the development of a global standard in Linux certification. Individuals and organisations wishing to be certified in the use of Linux systems can enroll in courses which meet the requirements of both IT professionals and the organizations that seek to employ people with skills and experience in using, administering and programming on open source distributions. The LPI seeks to be distribution neutral and aims to provide the highest quality resources in order to educate and certify people in the use of Linux distributions.

Levels
The LPI provides 3 levels of certification: Essentials, Professionals, and Enterprise.

Essentials:
 * Linux Essentials
 * LPIC-1

Linux Professionals:
 * LPIC-2

Enterprise:
 * LPIC-3
 * LPIC-3 Enterprise Mixed Environment
 * LPIC-3 Enterprise Security
 * LPIC-3 Enterprise Virtualization and High Availability

Open Technology:
 * DevOps Tools Engineer
 * BSD Specialist

Wikipedia LPI

On this wiki

 * Linux server administration wikiversity course
 * /mdadm/ (Disk Management Utility)
 * Linux adaptations for UMPC design

Wikipedia

 * Filesystem Hierarchy Standard
 * Advanced Packaging Tool
 * Linux for PlayStation 3
 * Magic SysRq key
 * Linux for mobile devices
 * LineageOS
 * PureOS
 * Linux-powered device
 * Linux on embedded systems