History, Laws, Info & Directory Structure
1) UNIX - Linux : A basic history
In 1969-1970, Kenneth Thompson, Dennis Ritchie, and others at
AT&T Bell Labs began developing an operating system named
UNIX. That is the first year of the computer. UNIX origin of Unics.
UNIX : Uniplexed Information & Computer Service
In 1969 Linus Trovalds is born.
In 1977 the first version of BSD was released
In 1984 Richard Stallman’s Free Software Foundation (FSF) began
the GNU project, a project to create a free version of the Unix OS.
In 1991 Linus Torvalds (a student in Finland) began developing an
operating system kernel, which he named “Linux”.
In 1993 the first version of FreeBSD was released
In July 1993 the first version of linux "Slackware" was released
In August 1993 the first version of Debian was released
In 1994 Red Hat Linux was introduced
In 2001 Linus Trovalds releases version 2.4 of the Linux Kernel
UNIX -> American Telecommunication & Telecom (AT&T) -> IBM AIX / HP-UX / Sun-OS ... (1979)
-> Berkley Software Distribution (BSD)
BSD -> Complete rewrite of Unix source code with the same commands
-> Unix-Like -> Minix -> Linux
Unix-Like -> MAC -> Darwin & Aqua -> Apple MacOS X
Unix-Like -> Traf-O-Data (Traffic Lights Management) by Micro-Soft
-> Micro-Soft -> Microsoft Windows 3.1 (BSD Code recovery)
-> Microsoft Windows 95 (TCP-IP Code Recovery of BSD)
Everything is based on UNIX-Linux (Android - Google / Apple - iOS / Microsoft)
The two main actors of the free world :
Richard Matthew Stallman (16/03/1953)
It was in the 1980s, when the Xerox printer in his lab began to have jams problems, he decided to improve the existing driver to solve this problem. He is surprised to see that it is only available in the form of a binary, the source code is inaccessible and no one wants to provide it. Following this mishap, Stallman created the GNU / GPL license and the FSF (Free Software Foundation).
Linus Benedict Trovalds (28/12/1969)
It is in 1991, that the history of Linux begins. Linus Torvalds, a computer science student, mishandled his Minix system (OS of the Unix family), causing the erasure of his system. It was then that he decided to create a new kernel under the GPL license with the name of Linux.
On July 16, 1993, the first version of the GNU / linux: Slackware distribution was released, followed the next month by the first version of the Debian GNU / Linux project.
Here the Evolution of Unix systems (1969 to 2017)
Wikipedia Original Source : https://en.wikipedia.org/wiki/Unix
2) Linux Laws
GPL -> General Public License
(Developed in 1983 by Richard Stallman)
GNU -> Gnus Not Unix (1st user Linus Trovalds in 1993)
GPL to GNU
The purpose of the license, according to its creators is to guarantee
the following rights on a computer program.
-> The freedom to run the software for any purpose
-> The freedom to study how a program works
and adapt it to his needs, which requires access source codes.
-> The freedom to redistribute copies
-> Obligation to provide modified versions to the community
For the first freedom, this excludes any limitations on the use of a program in relation to the architecture or
the use that will be made of it. The fourth goes through a choice :
The second authorizing the modification of a program, he is not required to publish a modified version as
long as it is for personal use; however, in the case of distribution of a modified version, the fourth freedom
entails the obligation that the modifications be returned to the community under the same license.
LPGL -> Lesser General Public License
The license allows developers and companies to use and integrate software released under the
LGPL into their own software without being required by the terms of a strong copy left license
to release the source code of their own components.
BSD -> Editable & usable. We just have to leave the names of the authors
FSF -> Free Software Foundation - An American non-profit organization with a mission to promote
computer user freedom.
Antitrust -> Forbidden own competitive system
3) Info & Directory structure
Boot loader : The software that manages the boot process of your computer
Kernel : The core of the system. Manage CPU, memory and peripheral devices. Core & Process separated
Daemon : Background services started
Shell : The Linux command line (Terminal)
Graphical Server : Displays the graphics on your monitor (Start X)
Desktop Environment : Gnome, Kde, Lynx, Xorg, Xfce, Unity, Cinnamon, Enlightenment ...
The formats of Linux partitions (Extended File System)
Ext1 (1992) / Ext2 (1993) / Ext3 (2001) / Ext4 (2008)
The first graphic interface is Lynx -> Xorg. Before KDE and Gnome.
Supported Architectures :
|Amd 64||Distribution for AMD processor and 64-bit compatibility|
|armel||Distribution for ARM processor|
|armhf||Distribution for ARM processor|
|i386||Distribution for Intel processor and 32-bit compatible|
|ia64||Distribution for Intel processor and 64-bit compatible|
|kfreebsd-i386||Intel-based and 32-bit compatible kernel distribution BSD|
|kfreebsd-amd64||Intel-based and 64-bit compatible kernel distribution BSD|
|mips||Distribution for MIPS processor|
|mipsel||Distribution for MIPS processor|
|powerpc||Distribution for Power-PC processor|
|sparc||Distribution for SPARC processor|
|s390x||Distribution for AS400 processor|
In a Linux system to get the version we write in the Terminal (shell) :
"uname -a" or "uname -r"
The directory structure is the same under Linux & Apple MacOS
The Linux distributions and their derivatives, adhering to the Filesystems
Hierarchy Standard (FHS) which defines the name, the role and the tree
of files and directories in a file system . It makes it easier to locate
directories and files. The file system hierarchy standard defines a
standard logical organization concerning the organization of these directories.
/ -> System root, primary hierarchy
BIN -> Binary (Command for executable files)
BOOT (Grub) -> Static boot loader, kernel, init and ramdisk files
DEV -> Peripheral / Device
ETC -> Editing Text Config (config files)
LIB & LIB64 -> Essential Shared Libraries and Kernel Modules (Like Windows Direct X)
MEDIA -> Contains mount points for temporary removable media
MNT -> Mount point to temporarily mount a system file
OPT -> Location for non-package manager installed applications (Software manually installed)
PROC -> Process. Virtual directory for system information (kernel states and system processes)
RUN -> Runtime - Execution files
SBIN -> Essential Executable Systems Commands reserved for the root user
SRV -> Data for system services (Samba Share, DNS ...)
USR -> Secondary hierarchy for read-only data by users.
Unix System Resources. Contains the usual applications of users and their files.
USR/LOCAL -> Tertiary hierarchy. Location where users must install the applications they compile.
VAR -> Variable and various data (Web Server for example)
TMP -> Temporary files
HOME / ROOT -> User & Administrator folder