Quel fut notre étonnement de nous voir proposer, il y a de cela un mois, un livre vituel complet sur Linux écrit par un internaute de la communauté. Avec la certitude que le contenu de ce e-book puisse contribuer à la découverte et à la maîtrise de Linux, nous l’avons publié sans hésitation.
Note sur l’auteur
André Ani est un jeune technicien en informatique qui se passionne depuis plus de deux ans au logiciel libre et Linux. Son apprentissage du système d’exploitation Linux l’a emmené à écrire le document suivant qui répond efficacement aux interrogations des débutants tout en fournissant des informations fort utiles pour les initiés.
Pierre-Luc Bacon
Ce document est aussi disponible en version PDF :
Sommaire
Présentation du système d’exploitation libre GNU/Linux
Présentation du système d’exploitation libre GNU/Linux
C’est en 1984 que Richard M. Stallman (RMS), alors chercheur au MIT (Massachussetts Institute of Technology, grand centre de recherche américain, dans des domaines très divers), lance le projet GNU (Gnu’s Not Unix, acronyme récursif) en réaction à la mentalité d’alors, qui consiste à garder son code source secret et faire payer des licences pour ses logiciels.
Il souhaite développer un système d’exploitation basé sur Unix, mais totalement libre (il est l’auteur d’Emac, du compilateur GCC...). Il créé pour cela la F.S.F. (Free Software Foundation), pour récolter de l’argent pour ce projet.
Ce qu’il souhaite développer grâce à ce projet est la liberté :
- d’utiliser le programme quel qu’en soit l’usage.
- d’étudier le fonctionnement du programme, et de l’adapter à ses propres besoins.
- de le redistribuer (aider son prochain).
- d’améliorer le programme et de publier ses améliorations, pour que tout le monde puisse en profiter.
Un des points fondamentaux à tout ceci est l’accès au code source.
Linux s’est naturellement associé au projet GNU, car le noyau voulu par GNU n’était pas encore prêt. Le projet GNU a défini une licence pour garantir toutes ces libertés, la GPL (General Public Licence), qui est très utilisée dans le monde du Libre. Il existe aussi la licence BSD, compatible GNU mais tirée du projet BSD (un autre Unix libre), et la FDL (Free Documentation licence) qui vient du projet GNU, et qui s’applique à la documentation.
En 1985, RMS crée la FSF (Free Software Fondation), pour s’assurer la logistique nécessaire à son projet. Ce sont surtout des volontaires qui travaillent dessus, à travers le monde entier.
Le mot Linux pour désigner une distribution est un abus de langage, car Linux ne désigne en fait que le noyau, le reste étant en grande partie tiré du projet GNU, c’est pourquoi je parle de GNU/Linux. Les composants du système d’exploitation sont :
- le noyau, le coeur du système.
- les composants GNU : le shell, le compilateur, Emac...
- l’environnement graphique.
- les logiciels serveurs.
Mais le noyau officiel du projet GNU n’est pas Linux, mais le Hurd (qui est un microkernel, contrairement à Linux qui est plutôt monolithique).
GNU/Linux date de 1991. En effet, c’est le 5 octobre 1991 que Linus Torvalds, étudiant Finlandais de 21 ans, annonce sur le forum usenet la mise à disposition des sources d’un système d’exploitation, tout petit pour le moment. Il l’a créé seul, au départ pour ses propres besoins. Il s’est basé sur Minix, un petit clone d’Unix, libre.
Et GNU/Linux est resté un système d’exploitation libre, librement redistribuable.
GNU/Linux est donc basé sur Unix, qui lui date des années 70, créé dans les laboratoires de AT&T. La première version d’Unix date de 1969, il était alors écrit en assembleur (langage machine). En 1973, il est réécrit en C, puis distribué, avec ses sources, dans les universités. De nombreuses versions d’Unix vont alors voir le jour en quelques années, qui donneront plusieurs branches : la famille des BSD, les GNU/Linux.
GNU/Linux ressemble beaucoup à Unix (beaucoup de leurs commandes sont équivalentes), il en a les avantages : fiabilité, stabilité, performances. GNU/Linux, est un système d’exploitation Multi-Utilisateurs, chacun ayant ses propres fichiers, applications et environnement de travail, inaccessibles aux autres. Il est aussi multi-tâches, il gère très bien le réseau (très utilisé en tant que serveur Internet par exemple), et il est plus sécurisé que la plupart des autres systèmes.
La première version officielle de GNU/Linux date de 1993. GNU/Linux s’étant beaucoup développé, il intéresse aussi les entreprises, et il existe un nombre impressionnant de logiciels libres pour lui. Lorsque l’on installe un système GNU/Linux standard, il est fournit dès le départ avec une kyrielle de logiciels qui comblent tous les besoins.
Le logo de Linux, le pingouin, date de 1996, et il s’appelle Tux.
Après ce petit historique, voyons quelques détails du fonctionnement de GNU/Linux :
Les partitions pour pouvoir installer le système sont ext2, ext3 ou Reiser (ce sont les systèmes de fichiers) et une swap (partition d’échange, d’environ 2 fois la taille de la mémoire vive). Avec ces systèmes de fichiers, il n’y a pas besoin de faire de défragmentation de disque, comme avec d’autres systèmes.
Contrairement à d’autres systèmes d’exploitation, sur celui-ci, tout est fichier ; que ce soit les périphériques, disques durs ou lecteurs amovibles, ils sont tous considérés comme des dossiers.
Une distribution de GNU/Linux est fournit avec les sources du kernel. Cela permet de compiler son noyau, pour l’adapter à ses propres besoins, pour y ajouter des fonctionnalités ou en retirer certaines qui prennent de la place inutilement. On peut aussi installer un nouveau noyau, pour upgrader son système.
Il existe un grand nombre d’environnements de bureau, mais, les deux principaux sont KDE et Gnome.
Toutes les commandes dont il est question dans ce document sont à effectuer dans une console, souvent avec le compte root (su, puis mot de passe super utilisateur). Pour avoir l’aide de ces commandes, taper : man commande.
Introduction au shell
Le shell est un interpréteur de commandes, c’est une interface entre le système d’exploitation et l’utilisateur. Il reçoit les commandes que l’on saisi et les exécute, si on a les droits nécessaires. Car, lorsque l’on ouvre une session sur le système (qu’on se logue), avec son nom d’utilisateur (login) et son mot de passe, le shell, avant de se lancer, vérifie si le compte est valide, nos droits et nos permissions sur les fichiers, puis charge notre environnement personnel (chaque processus a lui aussi ses propres droits et permissions).
Certaines variables de cet environnement peuvent être modifiées, adapter à nos besoins. Il faut taper stty -a (qui signifie set teletype, c’est à dire configurer le téléscripteur, puisque le shell date des débuts d’Unix et que la plupart des postes étaient alors des terminaux) pour visualiser et modifier ces variables.
Il existe aujourd’hui de nombreux shell, le plus ancien (à l’origine de GNU/Linux) est le shell sh (Bourne Shell) créé dans les laboratoires de AT&T. Celui fournit en standard sur les systèmes est le shell Bash (Bourne Again Shell), mais il en existe d’autres : Zsh, Korn Shell, le shell C... Ils ont chacun leurs spécificités.
Pour avoir de l’aide, il y a les pages de man, ainsi que la commande help.
Pour connaître votre shell, tapez :
echo $SHELL
Ce qui commence par $ indique qu’il s’agit d’une variable, et echo demande de l’afficher.
Une commande shell se présente ainsi :
commande -option (s) paramètres (optionnel)
Le système de fichiers
Sous GNU/Linux, tous les fichiers, périphériques, disques durs sont considérés comme des dossiers
L’arborescence
| /bin | Fichiers exécutables des commandes systèmes principales |
| /boot | Noyau et fichiers de démarrage |
| /dev | Fichiers spéciaux, points d’entrées des périphériques |
| /etc | Fichiers de configuration du système ainsi que les principaux scripts de paramétrages |
| /home | Contient les répertoires des utilisateurs, ce dossier peut être une partition à part |
| /lib | Bibliothèques système |
| /mnt | Racine des points de montage (pour lecteur de Cd-rom, disquette, partage windows) |
| /opt | Installation de packages supplémentaires |
| /root | Répertoire personnel du super-utilisateur |
| /sbin | Binaires systèmes pour l’administration |
| /tmp | Fichiers temporaires |
| /usr | Programme accessibles à tous les utilisateurs, c’est une sous-arborescence |
| /var | Données variables |
| /proc | « image » du système |
Même si l’arborescence se présente toujours comme cela, les dossiers (/tmp, /home, /usr) peuvent être situés sur d’autres partitions.
Nommage des partitions et des périphériques
Les disques durs sont nommés hda pour le premier, hdb et ainsi de suite. Les différentes partitions sont ensuites numérotées : hdb2 serait donc la deuxième partition du deuxième disque dur.
Les lecteurs de disquettes sont nommés fd0, fd1... (dans /dev/...). Tous les périphériques (cd-rom, disquettes, partitions...) sont dans le répertoire /dev, et ils sont en général montés dans le répertoire /mnt (/mnt/cdrom, /mnt/floppy, /mnt/windows).
Montage des partitions et des périphériques
Pour pouvoir travailler sur un cd-rom, une disquette, un dossier partagé, il faut tout d’abord le monter, pour qu’il soit accessible. Pour cela, on utilise la commande mount. Elle a besoin de plusieurs arguments, dont, le périphérique à monter, le point de montage (l’endroit où vous souhaiter monter le périphérique), le système de fichier (ext3, vfat, ntfs, smb...), et certaines options. Inversement, pour démonter une partition, c’est la commande umount qu’il faut utiliser.
Par exemple, pour monter un lecteur de cd-rom, il faut taper :
mount /mnt/cdrom
Pour le démonter :
umount /mnt/cdrom
Et pour l’éjecter, il faut faire :
eject /mnt/cdrom
Pour une partition :
mount /dev/hda1 /mnt/windows
Toutes les partitions et périphériques que l’on peut monter sont configurables grâce au fichier /etc/fstab. Il est préférable d’utiliser ce fichier plutôt que de monter à chaque fois telle ou telle partition.
Les runlevels
Sous GNU/Linux, le système peut démarrer sous différents runlevels (niveau d’exécution) :
| 0 | Arrêt |
| 1 | Mode mono-utilisateur (maintenance système, failsafe) |
| 2 | Mode multi-utilisateurs, sans réseau |
| 3 | Mode multi-utilisateurs, réseau, sans environnement graphique, donc en console |
| 4 | Non utilisé |
| 5 | Mode multi-utilisateurs, réseau et environnement graphique |
| 6 | Redémarrage |
grep :initdefault /etc/inittab
Renvoie le runlevel du système.
Le niveau d’exécution peut être modifié :
- lors du boot,
- par le fichier /etc/inittab,
- par la commande init niveau.
Les services sont lancés par des scripts dans /etc/init.d. Les fichiers stockés dans /etc/rc.d, avec des numéros correspondants aux runlevels (rc1.d à rc6.d), servent aussi à lancer les services, suivant leur runlevel.
Chaque service démarre à son propre runlevel, que l’on peut modifier.
/etc/init.d/service start/stop/restart/status
Permet d’agir sur le service voulu.
chkconfig -list
Liste tous les services pour connaître leur niveau d’exécution.
chkconfig -level 0123456 nom_service off / on
Active ou désactive le service voulu.
chkconfig -add service
Ajoute un service au démarrage.
Les droits de utilisateurs
Les utilisateurs sous GNU/Linux.
L’utilisateur root (super-utilisateur) a tous les droits sur le système, et peut faire tout ce qu’il veut. Il faut donc utiliser ce compte avec parcimonie.
Il faut créer des utilisateurs, qui auront, eux, des droits plus réduits et seront donc moins « dangereux » pour le système.
Chaque utilisateur aura ensuite ses propres fichiers dans son propre répertoire (sans avoir accès aux répertoires des autres utilisateurs), et ne pourra lancer que certains programmes, dépendants du groupe auquel il appartient ou des droits que le root (l’administrateur du système) lui aura accordés.
Pour créer un utilisateur, il faut se servir de la commande :
adduser utilisateur
Et ensuite créer son mot de passe (ne jamais laisser un compte sans mot de passe !) :
passwd utilisateur
On peut ensuite regrouper des utilisateurs dans différents groupes, qui auront chacun des droits différents.
Modification des droits sur les fichiers
Il existe 5 types de fichiers sous GNU/Linux :
- Les fichiers ordinaires représentés par un -
- Les fichiers spéciaux en mode bloc b
- Les fichiers spéciaux en mode caractères c
- Les répertoires d
- Les liens symboliques l
Pour pouvoir agir sur un fichier, il faut pour cela avoir les droits nécessaires, ou modifier ses droits pour un fichier précis.
Ceci se fait grâce à la commande :
chmod paramètres fichier
Les paramètres peuvent êtres écrit de manière symbolique (en lettres) ou octal (avec des chiffres).
Les droits d’un fichier se présentent comme ceci :
roman.txt - rwx -x -x
Comme vous le voyez, le premier symbole correspond au type du fichier, ici un fichier standard, et ensuite, les droits de ce fichier, découpé en 3 parties, elles-mêmes découpées en 3 accès différents :
Les 3 premières lettres correspondent aux droits du propriétaire, ensuite le groupe, et les 3 derniers, tous les autres utilisateurs.
Le r signifie des droits de lecture (read), le w donne les droits d’écriture (write), et le x donne les droits d’exécution.
Les paramètres de chmod sont :
A qui donne les droits :
| a | tous les utilisateurs |
| g | le groupe du propriétaire |
| o | tous les utilisateurs, sauf ceux du groupe |
| u | uniquement à l’utilisateur |
Les opérateurs pour ajouter ou enlever des permissions :
| + | ajoute les droits |
| - | soustrait des droits |
Les droits :
| x | pour exécuter |
| r | pour lire |
| w | pour écrire |
Le réseau
Les cartes réseaux sont nommées eth0, eth1... et Io pour la boucle locale (127.0.0.1).
Les fichiers principaux de configuration du réseau (que l’on peut modifier avec un simple éditeur de texte) sont :
Le fichier /etc/hosts : Pour affecter l’adresse IP et le nom d’hôte de la machine.
Le fichier /etc/networks : Celui-ci permet de gérer les sous réseaux, en général, il n’a pas besoin d’être modifié.
La commande hostname permet d’afficher votre nom d’hôte.
Quelques commandes utiles pour gérer le réseau :
ifconfig :
Cette commande permet de connaître la configuration de sa carte réseau et de la modifier si besoin est. Ifconfig IP interface pour affecter IP à interface.
Par exemple :
ifconfig 192.168.0.1 eth0
Affecte l’adresse 192.168.0.1 à la carte réseau eth0.
/sbin/route :
Pour afficher ou modifier la table de routage du noyau. On lui indique par exemple la passerelle pour se connecter à internet.
netstat :
Affiche la liste des ports en écoute, ainsi que les protocoles et connexions actives.
Introduction à Samba
Le serveur Samba, qui date de 1987, est un serveur de fichiers, très souvent fournit en standard sur les diverses distributions GNU/Linux. Il utilise le protocole SMB (Server Message Bloc). C’est un programme qui fonctionne en mode client / serveur, et qui permet de partager des dossiers, répertoires, imprimantes entre des machines en réseau, qu’elles tournent sous GNU/Linux ou Win...
La partie serveur est composée de deux daemons : smb, le coeur du serveur, et nmbd qui fournit les services. Le client est smbclient.
Le fichier de configuration se trouve généralement dans /etc/samba et s’appelle smb.conf. Il est composé de plusieurs sections, pour la configuration du réseau, de la sécurité, des utilisateurs, des différents partages.
Pour lancer/arrêter/voir état de samba :
/etc/init.d/smb start/stop/status
Pour vérifier que le fichier de configuration est correct, faite :
testparm /etc/smb.conf hostname
Pour voir les dossiers partagés par samba :
smbclient -L hostname
Accéder à un dossier en partage sous Win... : Créer un dossier, dans /mnt par exemple, puis, dans une console :
smbmount //host_distant/fichier_à_récupérer /mnt/dossier_dans_mnt
Installation de logiciels
Avec une installation standard de GNU/Linux, de nombreux logiciels sont fournis, et pour tous les besoins, que ce soit la bureautique (OpenOffice, Koffice), le multimédia (Xmms, noaturn, Xine...), internet (Mozilla, Galeon...), des éditeurs de texte, des outils de programmation et bien d’autres encore.
Les programmes sous GNU/Linux se présentent soit en fichier compressé (archive .tar, .gz, ...), soit en .rpm (redhat package manager).
Tout d’abord, les rpm :
C’est un format standard sous Linux. Il suffit tout d’abord de télécharger le programme voulu (un package), puis ensuite de l’installer grâce aux commandes suivantes, que l’on saisi dans une console, après être allé dans le répertoire où est le package :
rpm -ivh programme.rpm
Pour installer un package.
rpm -Uvh programme.rpm
Pour mettre à jour.
rpm -e programme
Pour supprimer un package.
rpm -qa
Lister les packages installés.
Puis les archives :
Souvent au format .tar.gz ou .tar.bz2. Comme les rpm, il faut se placer dans le répertoire où est l’archive, et taper dans une console :
tar xvf archive.tar
Décompresse une archive .tar.
gunzip archive.gz
Décompresse une archive .gz.
bzip2 -d archive.bz2
Décompresse une archive .bz2.
tar zxvf archive.tar.gz
Décompresse une archive .tar.gz.
tar jxvf archive.tar.bz2
Décompresse une archive .tar.bz2.
Une fois l’archive décompressée, pour installer le programme, il faut taper les commandes suivantes, dans son répertoire (mais lisez les fichiers readme ou install pour de plus amples informations sur la façon d’installer ou de configurer tels ou tels logiciels) :
./configure
make
make install
Informations sur le système
Voici quelques commandes pour se renseigner sur son système :
arch
Permet de connaître l’architecture de son système (i386, i686, ppc...).
uname -r
Permet de connaître la version du noyau.
top
Permet de savoir quels sont les processus en cours, la mémoire, l’usage du processeur.
ps -aux
Permet de voir tous les processus qui tournent, ainsi que leur PID (Process ID, numéro d’identification d’un processus actif, le premier lancé sous GNU/Linux est le processus init, le « père » de tous les autres processus), leur utilisateur, la commande qui les lance, leur usage mémoire...
df -h
Donne l’utilisation de la mémoire (libre, occupée) sur les partitions montées.
env | more
Affiche les variables d’environnement.
who
Permet de savoir qui est connecté sur le système.
last
Affiche les dernières personnes connectées.
man programme ou commande
Permet d’afficher les pages de man (format standard sous GNU/Linux pour les pages de manuel) d’une commande ou d’un programme.
lsdev
Affiche le matériel installé.
more /proc/cpuinfo
Donne des informations sur le processeur.
scanpci
Pour voir les cartes PCI du système.
/sbin/fdisk -l
Affiche les partitions.
Sécuriser le système
Voici quelques conseils pour sécuriser un minimum son poste sous GNU/Linux. Ce n’est qu’un début car évidemment, les problèmes de sécurité sont complexes et il y aurait beaucoup à faire.
- Lors de l’installation, il faut penser aux programmes que l’on utilisera, et n’installer que ceux nécessaires. Moins il y a de programmes installés, moins il y a de risques.
- Après l’installation, vérifier ce qui a été installé (car certains programmes s’installent par défaut). Il faut aller regarder dans les scripts de /etc/xinetd.d pour voir quelles sont les applications démarrées suivant votre runlevel, et désactiver celles présentant des risques, ou inutiles. Il suffit d’éditer le script du service et de modifier disable. Pour activer ou désactiver un service au démarrage, faire :
/sbin/chkconfig -level 0123456 service on/off
Il vaut mieux désactiver les services tels que telnet, rwho, finger, httpd, sendmail, netfs, rusersd... Pour voir la liste de tous les services et leurs statuts, faire :
/sbin/chkconfig --list
- Il faut aussi vérifier les fichiers /etc/passwd et /etc/group pour vérifier qu’il n’y ai pas de compte sans mot de passe. Il existe un programme (Shadow), qui permet de stocker les mots de passe dans un autre répertoire, et surtout, de les crypter pour qu’ils ne soient accessibles que par le root. Il est donc conseillé d’installer shadow, qui ensuite, se lance comme ceci :
/usr/sbin/pwconv
Pour vérifier que les mots de passe shadow sont activés, éditez le fichier /etc/passwd. S’il y a un x après le nom du compte, c’est que shadow est activé. S’il y a une *, c’est que le compte est désactivé.
- Très important aussi, maintenir son système à jour, en téléchargeant sur le site de l’éditeur les patchs et correctifs (pour le système, mais aussi pour les programmes installés).
Évidemment, installer (et bien configurer) un firewall, souvent basé sur Iptable, tel shorewall.
- Surveiller les ports ouverts, pour vérifier qu’il n’y ai rien d’anormal, avec un scanner tel que Nmap.
- Faire des contrôles de root-kit réguliers avec chkrootkit. Il permet de vérifier la présence de rootkits, des programmes malveillants utilisés par les pirates pour corrompre le système.
- Utiliser Open Ssh pour crypter les connexions, car, sans cela, certains mots de passe circulent en clair.
- Utiliser des mots de passe de 6 ou 8 caractères, en utilisant des minuscules, majuscules, symboles et chiffres. Ne pas prendre de mots du dictionnaire.
- Utiliser un programme de vérification d’intégrité du système, tel Tripwire, pour vérifier qu’il n’y ai pas eu de modification du système par un intrus.
- Penser à contrôler régulièrement les fichiers de log (généralement dans /var/log) pour être au courant de tout ce qui se passe sur son système.
- On peut aussi installer un IDS (détection d’intrusion système) afin de pouvoir contrecarrer les tentatives d’intrusion.
- Et enfin, il faut se tenir au courant des évolutions matérielles et logicielles, des nouvelles failles et virus et des moyens de s’en protéger.
Gérer son poste GNU/Linux
Les tâches d’administration d’un poste font partie des tâches de sécurisation.
Il faut bien gérer les utilisateurs, leurs différents groupes, les droits que chacun a sur les programmes, et aussi, les former sur les problèmes de sécurité.
Penser à réaliser régulièrement des sauvegardes de ses documents, des fichiers de configuration...
Trucs et astuces
Voici divers petits trucs à connaître :
- Pour faire un raccourci sur le bureau pour un programme ou une commande (comme par exemble /sbin/reboot) :
Clic droit sur le bureau, « créer un nouveau », « lien vers une application », puis remplissez les cases utiles (chemin de l’exécutable, droits pour l’exécution de l’application).
- Pour avoir le lecteur CD-ROM, ou une disquette, une partition en partage sur le bureau :
Clic droit sur le bureau, puis : « créez un nouveau », « CD-ROM » ou « disquette » ou « disque dur ».
- Le pavé numérique ne s’allume pas toujours par défaut au démarrage, alors pour y remédier, il faut tout d’abord vérifier si vous avez le package numlockx. Si oui, faite « numlockx on » dans une console, sinon, il vous faudra l’installer.
- Quelques commandes utiles pour gérer les répertoires (dans une console) :
| cd | pour ce déplacer |
| rm | supprime un répertoire |
| mv | déplace ou renomme |
| ls | liste les répertoires du dossier |
| mkdir | crée un dossier |
- La commande more sert à afficher un fichier, page par page, dans une console.
- Pour rechercher un fichier, utilisez la commande « find » :
find / -name fichier_à_chercher - print
- Pour agir sur un service :
/etc/rc.d/init.d/service start/stop/restart
- Créer un alias pour une commande, si vous l’utilisez souvent, où qu’elle est longue à taper et que l’on a du mal à s’en rappeler : Par exemple, pour monter le CD-ROM, la commande est : mount /mnt/cdrom On peut remplacer ceci simplement par cdrom ou autre chose, en ajoutant dans le fichier /home/bashrc (mais cela dépend de votre shell) :
alias cdrom=”mount /mnt/cdrom”
- Pour rediriger le résultat d’une commande ailleurs que sur la sortie standard (stdout, l’écran, stdin est l’entrée standard, le clavier, et stderr la sortie d’erreur), il suffit d’ajouter > et un nom de fichier par exemple :
ps aux > test.txt
- Si vous avez besoin d’aspirer un site, le votre par exemple pour le sauvegarder utilisez :
wget -m adresse_du_site
- Pour manipuler les modules : Tout d’abord, les modules, ce sont, en général, des drivers qui sont extérieurs au noyau (pour gagner en place et en « modularité »). Ils peuvent se charger en mémoire soit manuellement, soit automatiquement. Ils se situent souvent dans /lib/modules.
| lsmod | affiche les modules chargés à cet instant |
| insmod module | charge le module |
| rmmod module | décharge le module |
| modprob module | charge le module, ainsi que les modules dont il dépend (les dépendances) |
Les bases de l’éditeur Vi
Vi est un éditeur datant d’Unix, et il est encore présent sur toutes les plateformes GNU/Linux. Il est donc nécessaire d’en connaître les bases, car parfois, il est le seul éditeur disponible. C’est un éditeur plein écran, il n’y a donc pas d’interface graphique, ni même de menu. Mais il est interactif, car il communique avec l’utilisateur, grâce à la ligne d’état, qui affiche des messages.
Vi possède deux modes différents :
- Le premier, celui qui est actif par défaut à son lancement, est le mode commande. Toutes frappes de l’utilisateur sont interprétées comme des commandes.
- Le mode insertion, lui, interprète chaque frappe comme du texte à ajouter dans le fichier ouvert.
Pour passer du mode commande au mode insertion, il faut taper a (pour ajout) ou i (pour insertion). Inversement, pour quitter le mode insertion, taper esc. Vi peut être configuré pour s’adapter à l’utilisateur, ceci ce fait par la commande set. Lorsque l’on démarre Vi, en tapant simplement vi dans une console, ou vi fichier, les lignes vides apparaissent avec un (tilde) en début.
Maintenant, voici quelques commandes de base :
Pour se déplacer dans un fichier, outre les flèches, on peut utiliser h, j, k, l.
Pour faire avancer l’écran, ctrl B.
| :help | permet d’obtenir de l’aide |
| A | ajoute du texte en fin de ligne |
| R | remplace du texte à partir du curseur |
| R | remplace un caractère |
| O | ouvre une ligne sous la ligne courante pour ajout de texte. |
| U | permet d’annuler une action |
| Maj h | va à la première ligne |
| Maj l | va à la dernière ligne |
| /mot | cherche mot dans le fichier |
| :n fichier | ouvre fichier |
| :q ! | quitte sans sauvegarder |
| :w | enregistre |
| :wq | enregistre et quitte |
Liens utiles
Documentation et news sur GNU/Linux et l’open source :
www.linux-center.org (il y a aussi des programmes).
slashdot.org (en anglais, news sur l’informatique, la programmation et le libre).
www.lea-linux.org (très bon site pour les Linuxiens débutants, il y a tout : progs, tutoriaux, astuces...)
Philosophie GNU/Linux et Open Source :
www.gnu.org (site incontournable sur le mouvement GNU). www.france.fsfeurope.org (site incontournable, la Free Software Foundation).
www.stallman.org (site incontournable, le fondateur du mouvement libre, du projet GNU : Richard Stallman (R.M.S.).
www.gnu.org/licenses/gpl.html (la licence GPL).
www.gnu.org/software/hurd/hurd.html (site du noyau officiel du projet GNU, le Hurd).
Distributions et programmes :
www.linuxiso.org (les distributions GNU/Linux).
www.framasoft.net (logiciels libres win...).
freshmeat.net (répertoires de projets libres).
sourceforge.net (idem).
us1.samba.org/samba/index.html (site officiel de Samba).
Divers :
Glossaire
Compiler : C’est le fait de transformer un code source en binaire, directement exécutable et compréhensible par l’ordinateur. Ceci ce fait grâce à un compilateur.
Console : C’est un shell, une fenêtreavec un prompt, dans laquelle vous tapez les commandes. Le shell (il en existe plusieurs : bash, tcsh, ksh, ash..., le plus utilisé étant le shell bash) estle programme qui se charge d’exécuter vos commandes. Sous GNU/Linux, on parle aussideconsole virtuelle, au nombrede12.
Daemons : Ce sont des programmes chargés au démarrage.
Libre : Un logiciel libre est distribué avec son code source, que l’on peut modifier ou redistribuer selonles termes de la licence Gnu Public Licence (GPL), ou une licence de type BSD. C’est le principe de développement de GNU/Linux et d’une grande majoritédes applications livrées avec celui-ci.
Lien symbolique : C’est un concept d’Unix. Cela permet à un fichier d’apparaître à plusieurs endroits dans l’arborescence, sans qu’il ait été copié.
Noyau ou kernel : C’est leprogramme de base de GNU/Linux,qui gère l’ordinateur, les périphériques, le réseau... A la base, Linux n’est que le nom du noyau,les autres programmes venant du projet GNU (GNU is Not Unix). Mais tout le monde parle de Linux, alors que l’on devrait dire GNU/Linux.
Partition : Lorsqu’on doit utiliser un disque dur, il faut d’abordlestructureren une ou plusieurs sous-parties, afin d’y installer un système d’exploitation.
Point de montage : C’est le répertoire particulier (cela vient d’Unix) auquel est attaché un système de fichier, qu’il se trouve sur une disquette, un cd-rom ou un disque dur.
PID : C’est le Process ID, le numéro d’identification alloué par le noyau à chaque processus (puisque GNU/Linux est un système multi-tâches), et qui lui permet de le suivre et de communiquer avec lui. Chaque PID est unique.
Processus : Chaque programme qui tourne sous GNU/Linux est un processus.
Runlevels : Ce sont les différents niveaux d’exécution des programmes au démarrage.
Script : Un script est un programme écrit dans un langage interprété. Contrairement aux programmes écrits en langage compilé, les scripts sont traduits en langage machine au fur et à mesure de leur exécution.
Swap : C’est la mémoire virtuelle de GNU/Linux, qu’il utilise lorsque la mémoire vive est pleine.
Système d’exploitation, Operating System (OS) : C’est l’interface entre le matériel et les logiciels.
Système de fichier : C’est la manière dont sont structurées les données sur une partition, un cd-rom, une disquette. Pour GNU/Linux, on utilise généralement le type ext3 (qui est « journalisé », c’est à dire qu’il garde sur le disque un « journal » des opérations à effectuer, pour, ensuite, les effectuer, ce qui rend ce système plus fiable.
Documents joints
-
Tout sur Linux (PDF - 64.4 ko)


Répondre à l'auteur: