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