# Formation Evolix

### Linux et distributions

## Historique

- 1991 : Lancement du projet Linux par Linus Torvalds, coordination par Internet
- 1993 : Fiabilité de Linux déjà à la hauteur des Unix commerciaux
- 1994 : Reconnaissance de Linux par les membres du projet GNU et entraide

    Newsgroups: comp.os.minix
    Date: 25 Aug 91 20:57:08 GMT
    Subject: What would you like to see most in minix?
    Summary: small poll for my new operating system

    Hello everybody out there using minix -

    I'm doing a (free) operating system (just a hobby, won't be big and
    professional like gnu) for 386(486) AT clones.  This has been brewing
    since april, and is starting to get ready.  I'd like any feedback on
    things people like/dislike in minix, as my OS resembles it somewhat
    (same physical layout of the file-system (due to practical reasons)
    among other things).

    I've currently ported bash(1.08) and gcc(1.40), and things seem to work.
    This implies that I'll get something practical within a few months, and
    I'd like to know what features most people would want.  Any suggestions
    are welcome, but I won't promise I'll implement them :-)

                    Linus (torvalds@kruuna.helsinki.fi)

    PS.  Yes - it's free of any minix code, and it has a multi-threaded fs.
    It is NOT protable (uses 386 task switching etc), and it probably never
    will support anything other than AT-harddisks, as that's all I have :-(.

## Versions

- Mars 1994 : version 1.0
- Juillet 1996 : version 2.0
- Janvier 1999 : version 2.2
- Janvier 2001 : version 2.4
- Décembre 2003 : version 2.6
- Juillet 2011 : version 3.0
- Avril 2015 : version 4.0
- Aujourd'hui : 4.11

## Linux, juste un noyau…

- Interface de programmation pour utiliser le matériel (clavier, écran, disque)
- Multi-taches et multi-utilisateurs
- gestion du CPU, pile réseau, filesystems
- Monolitique + modulaire VS micro-noyau (Mach, Hurd)

## Démo

    $ wget https://git.kernel.org/torvalds/t/linux-4.12-rc5.tar.gz
    $ tar xvf linux-4.12-rc5.tar.gz
    $ cd linux-4.12-rc5
    # apt install libqt4-dev
    $ make xconfig

## …Un noyau de système d'exploitation

- Ce ne sont pas des commandes
- Ce ne sont pas des fichiers
- Ça ne s'utilise pas tout seul
- Il faut ajouter des logiciels (outils, services, etc.)
- Ne fait pas partie de Linux : cron, passwd, login, tar, mount, libc, coreutils

## Outils GNU

- GCC : compilateur
- glibc : librairie C (printf,malloc,open,etc.)
- Bash : shell
- GRUB : boot loader
- coreutils : ls, cat, chmod, du, su, etc.

Autres outils : OpenSSH, sudo, Vim, systemd

## Organisation des fichiers

    bin : binaires (exécutables) des commandes essentielles
    boot : fichiers statiques pour le chargeur d'amorçage
    dev : fichiers des pilotes de périphériques
    etc : configuration système propre à la machine
    home : répertoires personnels des utilisateurs
    lib : bibliothèques partagées et modules noyau
    mnt, media : points de montage temporaire
    proc,sys : répertoire virtuel pour infos système
    root : répertoire personnel de l'utilisateur root
    sbin : binaires (exécutables) essentiels
    tmp : fichiers temporaires
    usr : hiérarchie secondaire
    var : données variables
    opt : suites applicatives additionnelles

## Distributions

- Red Hat
- CentOS
- Debian
- Ubuntu

## Red Hat

### Carte d'identité

- Fondation : 1993
- Siège social : Raleigh
- CA : 2500 M$
- Nombre d'employés : 10000

## Red Hat

### Carte d'identité (suite)

- Cotée en bourse
- Des bureaux dans le monde entier
- 4 centres de support : Amérique, Asie, Europe, Pacifique
- Un des plus gros contributeurs à la communauté du Libre

## Red Hat

### Équipe

- Des développeurs du noyau Linux
- Des mainteneurs de GCC
- Des développeurs d'Apache

## Red Hat

### Versions

- Redhat version 9 : plus supportée
- Red Hat Entreprise/Advanced Server : obsolète
- Redhat Desktop
- Redhat Entreprise Linux 7 (RHEL)

## Red Hat

### Dérivés

- Fedora
- CentOS

## Red Hat

### Autres produits

- Ansible
- OpenStack
- JBOSS

## Red Hat

### Caractéristiques

- Système de packages RPM (rpm.org)

- Installation facile et rapide (pas de compilation)
- Gestion des dépendances
- Notoriété et abondance de dépôts RPM
- Bénéficie d'améliorations constantes

## CentOS

### Carte d'identité

- Fondation : 2004
- Fondateur : Lance Davis
- Community enterprise Operating System
- Utilisation uniquement des sources de RH
- Binary compatible avec RH
- Version : CentOS 7

## Debian

### Carte d'identité

- Fondation : 1993
- Fondateur : Ian Murdock
- Basé sur un contrat social
- DFSG - Debian Free Software Guidelines

## Debian

### Carte d'identité (suite)

- Plusieurs milliers de développeurs Debian

      ldapsearch -x -h db.debian.org -b dc=debian,dc=org | grep ^uid: | wc -l
      2080

- Des dizaines de milliers de paquets “sources”

      grep-dctrl -P '' -c /var/lib/apt/lists/*jessie*Sources
      21019

## Debian

### Versions

- Debian 7 (2013) : support jusqu'en 2016 (LTS jusqu'en 2018)
- Debian 8 (2015) : support jusqu'en 2018 (LTS jusqu'en 2020)
- Debian 9 (2017) : support jusqu'en 2020 (LTS jusqu'en 2022)

## Ubuntu

### Carte d'identité

- Fondation : 2004
- Fondateur : Mark Shuttleworth
- Entreprise : Canonical
- Basée sur Debian

## Ubuntu

### Versions

- Versions LTS : tous les 2 ans (support 5 ans)
- Versions : tous les 6 mois avec support limité
- Version 16.04 LTS (Xenial Xerus59) : avril 2016
- Version 17.04 (Zesty Zapus) : avril 2017

##