INTRODUCTION A
UNIX/LINUX
Licence 2
Kamagaté Z.
I.Historique
Linux naît en 1991 dans la chambre d'un
étudiant finlandais, Linus Torvalds. Il développe
un noyau en s'inspirant des principes du
système d'exploitation unix. Son but initial est
de s'amuser et d'apprendre les instructions Intel
386. Quand son noyau commence à marcher, il
le met en libre téléchargement sur Internet en
demandant aux gens de l'essayer et de lui dire
ce qui ne marche pas chez eux.
De nombreuses personnes se montrent intéressées et l'aident
à développer son noyau. Dès la version 0.12, il choisit de
mettre Linux sous licence GPL. Quelques années plus tard,
d'autres bénévoles commencent à créer des distributions
Linux.
Les utilisateurs de Linux sont aujourd'hui estimés à plusieurs
millions !
Aujourd'hui, le succès de Linux s'explique par la qualité
technique du noyau, par la présence de nombreuses
distributions Linux qui facilitent l'installation du système et
des programmes, mais s'explique surtout par son
appartenance au monde du Libre qui lui apporte une grande
rapidité et qualité de développement.
II.Qu’est ce qu’un logiciel libre?
Un programme informatique, que ce soit un noyau ou
un logiciel, est constitué de nombreuses lignes de
code, écrites dans un langage de programmation (le
langage C dans le cas du noyau Linux). Ce code n'est
généralement pas utilisable en tant que tel. Il faut
passer par la phase de compilation qui transforme le
code source en programme exécutable, souvent
appelé binaire. Il suffit d'avoir le binaire pour utiliser le
programme ; on n'a pas besoin des sources du
programme.
Il n'existe pas de moyen de remonter aux
sources complètes du programme à partir du
seul binaire. Quand on achète un logiciel
(Microsoft Office par exemple) ou un système
d'exploitation (Windows par exemple), on a un
CD qui contient le binaire, mais pas les sources.
Il est donc impossible de savoir comment le
programme est conçu. Par conséquent, on ne
peut pas modifier le programme. On peut
seulement l'utiliser et éventuellement le copier
à l'identique.
1. Les logiciels propriétaires
Les logiciels propriétaires sont donc les logiciels
dont une licence, souvent payante, ne donne qu'un
droit limité d'utilisation. On n'a la plupart du temps
accès qu'aux binaires de ces logiciels. Certains
logiciels propriétaires sont gratuits, on les appelle
alors des freewares.
2. les logiciels Libres
Les logiciels libres sont les logiciels que l'ont peut
librement utiliser, échanger, étudier et redistribuer.
Cela implique que l'on ait accès à leur code source
(d'où le terme équivalent OpenSource).
Les logiciels libres
garantissent les 4 libertés suivantes aux utilisateurs:
La liberté d'exécuter le programme, qu'elle que soit l
e but
La liberté d'étudier son fonctionnement, et de l'adapt
er à ses besoins.
La liberté de redistribuer des copies pour aider autrui
La liberté d'améliorer le programme, et de partager
ses améliorations avec autrui
a. Logiciels libres sous licence BSD
Bien sur, elle garantit les 4 libertés aux utilisateurs.Cependant, elle
permet de rendre propriétaire le programme pour soi
Exemple de licences: BSD, Apache
b.Licence GNU(General Public Licence)
La contribution majeure du projet GNU!
Les licences Copyleft utilisent la loi sur le copyright pour permettre
aux auteurs d'exiger que toute modification d'un logiciel libre
reste un
logiciel libre. La licence GNU GPL exige que toutes modifications et
travaux dérivés soient aussi publiés sous licence GPL:
Ne s'appliquent qu'aux logiciels publiés
Tous les programmes incluant le code GPL (que ce soit par lien
statique ou dynamique) sont considérés comme une extension
de ce code.
Le projet GNU (Gnu Is Not Unix)
GNU = GNU is Not Unix (« GNU N'est pas Unix »)
(un acronyme récursif!)
Projet de réaliser un système à la Unix entièrement libre.
Lancé en 1984 par Richard Stallman, un chercheur du MIT, à
une époque où les sources d'Unix n'étaient plus libres d'accès.
Composants initiaux: compilateur C (gcc), make (GNU make),
Emacs, bibliothèque C (glibc), outils de base (ls, cp ...)
Cependant, en 1991, le projet GNU n'avait toujours pas de
noyau et tournait sur des Unix propriétaires.
Gnu Lesser Licence Copyleft similaire à GNU GPL:
Les modifications doivent être échangés selon les mêmes conditions
Cependant, permet l'utilisation au sein de programmes
propriétaires. Utiliser par plusieurs librairies de logiciels libres.
Exemples:glibc, GTK,Wine, SDL
III. Principales caractéristiques de Linux
Au départ, Unix à été créé pour les ordinateurs mu
ltiutilisateurs
Multiutilisateur et sécurisé:
Plusieurs utilisateurs sous Unix. Chacun disposede
l’ensemble des ressources du système. Comme
tout système multi-utilisateur, Unix comporte
des mécanismes d’identification et de protection
permettant d’éviter toute interférence entre
utilisateurs.
2 types de Users :
Par défaut, les utilisateurs ordinaires n
e peuvent pas toucher
aux fichiers d'autres utilisateurs.
En particulier, ils ne peuvent ni modifi
er les paramètres du
système, ni supprimer des
programmes, etc.
root: utilisateur administrateur avec to
us les privilèges
Multi-tâches :
Unix est multi-tâche car plusieurs programmes
peuvent être en cours d’exécution en même
temps sur une même machine.
Un processus est une tâche en train de
s’exécuter. On appelle
processus, l’image de l’état du processeur et de
la mémoire au
cours de l’exécution du programme.
Supporte plusieurs processeurs
Extrêmement flexible
Prise en charge du réseau
Portable
IV. Notion de couches
Linux fonctionne par couche
Partage des ressources équitables : veiller au partage équitable des
ressources entre tous les processus.
Interface avec le matériel : passage par des fichiers spéciaux gérés
par le SE. pour accéder à une ressource matériel (disque dur,
lecteur de disquettes,...)
Gestion de la mémoire : partage correct de la RAM entre
processus.
Gestion des fichiers : Unix fournit un mécanisme de gestion de
fichiers
shell : interpréteur de commandes Unix
(vérifie, interprète les commandes, exécute
et renvoie les réponses). Le Shell envoie des
appels au noyau en fonction des requêtes
des utilisateurs
noyau : couche logicielle la plus interne du
S.E Unix dédiée à la gestion des
composants matériels : processeur, mémoire, périph.
Autour du noyau gravite un certain nombre
d’utilitaires.
V.Distribution Linux
Se chargent de publier un ensemble cohérent de versions compatible
à partir
du noyau, de la bibliothèque C, des compilateurs, des outils. Cela
représente un travail très conséquent!
Les outils sont disponibles sous forme de
paquetages
qui peuvent facilement être installés, supprimés ou mis à jour.
Les dépendances entre outils sont gérées automatiquement.
Distributions commerciales: incluent de l'assistance technique.
Le code source est libre, mais les binaires ne sont pas libres d'accès.
Distributions communautaires: sources et binaires sont librement
disponibles.
Fourni sans assistance technique obligatoire.
1.Distributions commerciales
Red Hat: http://www.redhat.com/
La plus populaire. Fiable, sûre, conviviale et facile à installer,
prise en charge par tous les fournisseurs de logiciel et de matériel
(Novell): http://www.suse.com/
L'alternative principale. Face à installer, conviviale et stable.
Obtiens le support des fournisseurs de logiciel et de matériel..
Mandriva (anciennement Mandrake): http://mandrivalinux.co
m/
Conviviale, facile à installer, plus innovante, mais moins stable.
Cible principalement les utilisateurs individuels. Peu pris en charge
par les fournisseurs de logiciels
2.Distributions communautaires
Fedora Core: http://fedora.redhat.com/
Stable, sûre, conviviale, facile à installer. Sortie fréquente de nouvell
es versions
complètes.
Ubuntu Linux: http://ubuntulinux.org/
La distribution communautaire qui progresse le plus.
Basé sur Debian mais avec une version stable tout les 6 mois.
Conviviale pour les utilisateurs. Bonne pour les débutants.
Debian: http://debian.org/
Très stable et sûre, mais plus difficile à configurer et à installer. Conv
iviale pour les développeurs mais pas encore pour les utilisateurs.
Version stables pas assez fréquentes (tous les 2 ou 3 ans). La meille
ure pour les serveurs, mais pas pour les débutants.
Mandriva Community: http://mandrivalinux.com/
Facile à installer, sûre, conviviale, sortie fréquente de versions compl
ètes, mais moins stable (pas assez de tests et de prise en compte de
s retours des utilisateurs et testeurs).
3. Distributions lives
Linux s'amorce à partir d'un périphérique de stockage (cdrom, dvdrom
ou usb) et démarre tout à partir de ce périphérique.
Idéal pour essayer GNU / Linux et les applications des logiciels libres
sans avoir à installer quoi que ce soit sur le disque dur!
Le système est prêt et démarre en 23 minutes.
Plus rapide qu'installer et configurer GNU / Linux!
Aussi efficace pour récupérer des données lorsque le système d'origine
ne démarre plus.
Utilise un système de compression pour mettre en mémoire 3 à 4 fois la
capacité de stockage !
Knoppix: http://knoppix.net/
La plus populaire. Disponible en CD et DVD.
Idéale pour l'auto configuration de votre matériel!
Ubuntu: http://ubuntulinux.org/
Distribue un CD live avec chaque version (tous les 6 mois).
4. Autres systèmes Unix libres
GNU / Hurd:
http://www.gnu.org/software/hurd/hurd.html
Outils GNU avec le Hurd, le micronoyau de GNU
De plus en plus mûr, mais pas encore assez pour être utilisé par tous. Jusqu
'à présent , surtout utilisé par ses développeurs euxmêmes.
Famille BSD
FreeBSD: http://www.freebsd.org/
Système BSD puissant, multiplateforme, sûr et populaire.
OpenBSD: http://openbsd.org/
Système BSD puissant, multiplateforme, sûr et populaire.
Construit pour une fiabilité et une sécurité extrêmes. Populaire pour serveurs sur In
ternet.
NetBSD: http://netbsd.org/
Distribution BSD dont le but est d'être extrêmement portable.
Disponible sur ARM et autres
Famille SystèmeV
OpenSolaris:
http://opensolaris.org/
Le noyau open source de Sun Solaris.
A débuté en juin (2005). Pas encore de version stable.
Autres
eCos: http://ecos.sourceware.org/
Système embarqué à temps réel très léger
fourni par Red Hat / Cygnus.
API compatible avec POSIX
V.Connection /Deconnection
Connexion :
S’identifier pour ouvrir une session (de travail) :
Entrer nom de connexion aprés le message login
Entrer mot de passage aprés le message password
L’utilisateur de trouve alors dans son répertoire privé
correspondant à son login (home directory)
Déconnexion :
En l’absence d’environnement graphique, une
simple commande exit suffit pour terminer ma session de
travail.
VI.Système de fichiers
Presque tous dans Unix est un fichier!
Un fichier est un objet recevant et délivrant des
données, constitué d’une chaîne de caractères non
structurée.
Type de Fichiers :
Fichiers ordinaires :données stockées sur un disque
Répertoire s:ensemble d’informations permettant
l’accés àd’autres fichiers
Fichiers spéciaux :dispositif d’entrée/sortie
(terminal, lecteur,...)
1. Nom de fichier
Depuis le début d'Unix, les noms de fichiers ont les caractéristiques
suivantes:
Sensibles aux majuscules / minuscules
Pas de longueur limite évidente
Peuvent contenir tous caractères
(incluant l'espace, à l'exception de /).
Les types de fichiers sont stockés dans un fichier(“nombre magiqu
e”).
Les extensions d'un nom de fichier n'ont pas besoin et ne sont pas
interprétés. Ils sont justes utilisés pour les utilisateurs .
Exemples de noms de fichiers:
README .bashrcWindows Buglist
index.htm index.html index.html.old
2.Chemin de fichiers
Un chemin est une séquence de répertoires emboîtés
avec un fichier ou un répertoire à la fin, séparés par le
caractère /
Chemin relatif:
documents/fun/microsoft_jokes.html
Relatif au répertoire courant
Chemin absolu: /home/bill/bugs/crash9402031614568
:/répertoire racine («root»)
Le début des chemins absolus pour tous les fichiers du
système de fichiers (même pour les fichiers sur des
périphériques externes ou de partage réseau).
Arborescence
COMMANDES DE BASE SOUS
UNIX/LINUX
Manipulation de repertoires/Fichiers