Retour
 
 
LINUX QUID ?

Vous avez entendu parler de LINUX. Vous vous dites c'est pas mal l'idée d'entrer dans cette communauté d'irréductibles gaulois qui résistent au méchant empire de Bill Gates mais ...
Linux c'est un système de la famille Unix donc compliqué. Et puis qu'en est-il de mes logiciels professionnels ? Est-ce que je vais trouver l'équivalent sous Linux ???

Je vais tout d'abord répondre aux affirmations les plus courantes.
Linux c'est gratuit !
Pas toujours. Il existe des versions commerciales. Dans ce cas, ce n'est pas le système qui est facturé mais le service (adaptation, installation, maintenance ...)

Une version gratuite, c'est forcément moins chère que Windows ou Mac-OS
Oui bien sûr... A condition de ne pas compter le temps nécessaire à l'adaptation, à la formation...

LINUX, c'est compliqué à utiliser!
Non, en tous cas pas plus que Windows ou Mac-OS en ce qui concernant l'usage courant. On s'habitue très vite aux interfaces graphiques. Je suis même convaincu que les menus sont mieux organisés que sous Vista.

Je ne suis pas informaticien ; vais-je arriver à installer LINUX ?
Si vous avez déjà installé ou ré-installer Windows, vous êtes capable d'installer les versions actuelles de LINUX !

Windows est instable ; Mac-OS est moyennement stable ; Linux est stable !
Ca n'est qu'en partie vrai. Pour être tout à fait honnête, la première cause d'instabilité de Windows vient de l'utilisateur.
Les versions récentes de Linux sont conviviales... Et désormais facilement modifiables. En conséquence, un mauvais usage de Linux produira les mêmes effets qu'un mauvais usage de Windows (ou de Mac-OS).

LINUX étant gratuit, c'est moins abouti que Windows !
C'est faux. Bien entendu, on ne peut pas nier que les systèmes commerciaux comme Windows ou Mac-OS font l'objet d'un travail d'équipes très professionnelles avec de gros moyens... Et avec des objectifs de rentabilité ; ce qui conduit parfois à la mise en marché de produits incomplets.
Les différentes versions gratuites de Linux sont élaborées par des communautés d'informaticiens répartis dans le monde entier. Contrairement aux systèmes commerciaux, il n'y a pas de date butoire pour la sortie d'un nouveau produit, donc pas de pression pour aboutir au dépens de la qualité. Les nouveautés sont mises en tests. Lorsque le retour d'expérience est concluant, une version dite "stable" est livrée.
Linux est cependant pénalisé par "l'étroitesse" de son segment de marché. Les fabricants de matériel informatique privilégient le segment Windows (plus de 90% des ventes) et fournissent rarement les pilotes pour Linux. Par conséquent, un nouveau matériel arrivant sur le marché mettra plusieurs mois avant d'être utilisable par les systèmes Linux, le temps que la communauté trouve un moyen d'adaptation. Il ne faut cependant pas attacher trop d'importance à cet aspect. Le laps de temps d'adaptation est en réalité assez court. D'autre part, il vaut mieux attendre les retours d'expérience avant d'acquérir un nouveau produit.
 
J'essaierai bien Linux mais je veux être certain de pouvoir revenir à Windows sans rien perdre de mes applications et de mes données, au cas où l'expérience ne me satisferait pas.
Linux, c'est comme la drogue, on y entre par palier (mais les conséquences sont moins graves).
Le 1er palier consiste à télécharger un "CD-LIVE". Je conseille UBUNTU (prononcez oubountou). Une fois le CD gravé, insérez-le dans le lecteur et redémarrez la machine qui va "booter" sur le CD. Cette solution est très avantageuse dans la mesure où vous avez un système complet et fonctionnel sans rien écrire sur le disque, donc sans risque pour votre configuration.
Si vous avez un PC "sandard", UBUNTU va s'y adapter. Vous disposerez très probablement de votre accès internet et d'une série de logiciels bureautique ; donc tout ce qu'il faut pour se faire une idée précise de ce système.
L'inconvénient de cette solution est la lenteur. C'est normal puisque le système tourne à partir du CD qui est moins performant que le disque dur.

Dans un monde informatique dominé à 90% par Microsoft, il y aura toujours un ou plusieurs logiciels dont j'ai un besoin impérieux qui ne seront pas porté sous Linux
C'est vrai et c'est la principale faiblesse de Linux. C'est également la raison pour laquelle les autres sytèmes commerciaux n'ont pas survécus.
Il existe cependant des solutions alternatives et c'est l'objet des paragraphes suivants.

RETOUR D'EXPERIENCE
Après plusieurs tentatives en 94 et 97, Je suis passé sous  Linux-DEBIAN début 2005 sur mon PC de bureau. Je suis resté sous Windows à la maison à cause des enfants. Pour cette période, début 2005 à fin 2007, l'expérience est mitigée. J'ai eu quelques soucis de stabilité d'abord imputés à DEBIAN. Je me suis aperçu ensuite que c'était le disque dur qui faisait des siennes.
Au moment du passage sous DEBIAN, j'étais serein quant aux applications non supportées. LINUX dispose d'un "client" pour Windows TSE (terminal-server) qui permet d'exécuter à distance les outils Windows.
Entre temps, le serveur TSE a lâché et n'a pas été immédiatement remplacé. Il s'en est suivi une période d'essais de différents outils soit pour émuler Windows, soit pour le "virtualiser", soit pour installer les applications Microsoft sous DEBIAN via un outil qui s'appelle WINE.
Autant le dire tout de suite, rien n'a fonctionné de manière satisfaisante. Globalement, ça marchait, mais il manquait toujours quelque chose.
Ayant changé de machine début 2008, je me disais, tout en le regrettant, qu'il y en avait marre avec ces solutions boîteuses. Le Nouveau PC étant livré avec Vista, j'étais bien décidé à garder ce système.
Et puis... Toujours à l'affut de ce qui se passe dans ce domaine, j'ai testé la version LIVE d'UBUNTU; après tout, ça n'engage à rien, si ce n'est à condamner un CD ! Ayant des problèmes avec mon portable sous XP family, je remplace ce dernier par UBUNTU, eh oui ! C'était les vacances, j'avais un peu de temps...
J'ai d'abord été agréablement surpris par la reconnaissance du matériel et surtout par le fonctionnement immédiat du wifi qui m'avait posé quelques problèmes sous DEBIAN.
Restait l'épineux problèmes des applications Microsoft. Je ne sais plus comment je suis tombé dessus, mais j'ai trouvé quelque chose de nouveau pour moi : il s'agit de VIRTUALBOX. C'est un outil qui s'installe sur un système (Linux ou Windows) et qui permait de "virtualiser" un autre système.
 C'est gourmand en ressources système (on installe réellement le système hôte ainsi que les logiciels). En réalité, ce n'est pas si gênant que cela. En effet, même si chaque système a besoin d'une certaine quantité de mémoire, on sollicite rarement les 2 OS en même temps. On peut donc affecter plus au système le plus sollicité.
Le résultat est bluffant. Tout fonctionne parfaitement !

En conclusion, grâce Virtualbox, on peut passer sans soucis à Linux !



Liste des commandes UNIX/LINUX les plus utilisées:
le tableau contient le nom de la commande, l'équivalent sous DOS, NT et une brève explication

Les commandes les plus utilisées sont décrites à la fin du tableau.

 UNIX          DOS        NT        action
at ? at execute une action à une heure définie
awk tableur tableur langage de programmation pour traiter des fichiers
cat type type liste le contenu d'un fichier
cd cd cd changement de repértoire
chgrp ? ? change un fichier de groupe
chmod ? cacls ou Explorateur | propriétés change les droits d'accès à un fichier
chown ? cacls changement de propriétaire d'un fichier
cp copy copy copie de fichiers
cut ? ? coupe une chaine (surtout utilisé dans les scripts)
date date date affiche/modifie la date
df dir dir affiche l'espace disponible
diff ? comp ou FC affiche la différence entre 2 fichiers
du dir ? dir ? indique l'espace disque utilisé
egrep find find recherche dans un fichier
find find find recherche de fichiers
ftp ? ftp transfert de fichiers
grep find find recherche dans un fichier
history doskey flèche arrière au clavier liste des dernières commandes utilisées
kill ? gestionnaire des tâches arrêter un process
sh ou ksh ou rsh ou ... command cmd appel d'un shell (interpréteur de commandes)
ln ? raccourci vers un fichier crée un lien sur un fichier
lp ou lpr print  lpr redirection vers l'imprimante
lpstat print /d:lpt1 print /d:lpt1 ou gestionnaire d'impression information sur les imprimantes
ls dir dir liste des fichiers
mail; mailx ? ? affiche et envoie des messages
man commande help ou help commande commande /? aide sur une commande
mkdir md md crée un dossier
more type |p type |p affiche un fichier page à page
mv move move ou couper (explorateur) deplace un fichier
passwd ? gestionnaire des tâches changer le mot de passe
ps  mem /c /p  mem /c /p ou gestionnaire des tâches listage des process
pwd chdir chdir affiche le chemin du dossier en cours
rlogin user ? gestionnaire des tâches changement  d'utilisateur
rlogin -l user machine ? ? connexion sur une autre machine
rm del del détruit un fichier
rmdir rd deltree deltree détruit un dossier
rsh -l user machine ? net...  exécute une commande sur une machine distante
rusers ? ? liste les utilisateurs connectés au reseau
set set set afficher les variables d'environnement
sh command cmd appel du shell de base (Bourne shell sous Unix)
sort ? sort trie les ligne d'un fichier
tar backup backup sauvegarde
tee ? ? duplique un flux de données
telnet ? telnet connection à un autre système
vi edlin  edit edit éditeur système
w ou who ou whoami ? net ... liste les utilisateurs connectés au système
write ? net send envoie un message à un utilisateur du système


Personnaliser son compte Unix ou Linux

Si vous tapez la commande: ls -la sous votre "home directory" vous voyez plusieurs fichiers dont le nom commence par le caractère "point" (.) exemple:
.forward, .profile ou .cshrc ; il s'agit de fichiers dit de "configuration". Tous les fichiers de ce type sont lus par le système à la connexion et leur contenu est exécuté. Si vous souhaitez personnaliser votre environnement Unix, vous devrez intervenir dans l'un de ces fichiers.

Rediriger son courrier électronique vers une autre adresse:
lorsqu'un message arrive, il est possible de le rediriger automatiquement (to forward en anglais) vers une autre adresse; il suffit de créer un fichier .forward contenant l'adresse de redirection.Exemple, ré-expédier le courrier à l'adresse toto@free.fr:
- créer sous son "home directory"  le fichier .forward contenant l'adresse "toto@free.fr" à l'aide de la commande:
  echo "toto@free.fr" > .forward
la commande ECHO affiche  à l'écran le texte situé entre les quotes; le signe supérieur (>) envoie ce texte dans le fichier qui figure à droite du signe >

Annuler la redirection du courrier:
Il suffit de supprimer le fichier .forward à l'aide la commande: rm .forward
ou de le déplacer à l'aide la commande: mv  .forward  ex_forward

Changer l'interpréteur de commandes ou Shell:
on peut appeler n'importe quel shell disponible en tapant son nom, exemple; rsh pour utiliser le shell RSH mais si l'on doit l'utiliser de manière permanente, il est préférable de le faire démarrer à la place du shell par défaut afin de ne pas superposer inutilement des process. Pour modifier le shell par défaut, il faut avoir les droits de "super-user" ou administrateur et modifier le fichier passwd généralement situé dans le dossier /usr
Extrait du fichier "/etc/passwd" :
herbe:x:2411:240:/export/home/qualbois/herbe:/bin/csh
- chaque information est séparée de sa voisine par le caractère (:)
- le 1er champ contient le login
- le 3eme contient le n° de l'utilisateur
- le 4eme contient le n° du groupe auquel appartient l'utilisateur
- le 5eme indique le répértoire par défaut (home directory)
- le 6eme indique le shell utilisé; si ce champ est vide, le système appelle le shell par défaut qui est différent selon les systèmes.

Environnement de l'utilisateur
selon le shell utilisé, le système scrute le home directory de l'utilisateur à la recherche d'un fichier de configuration; pour le shell SH, le système recherche le fichier .profile ; pour le shell CSH, le sytème recherche le fichier .cshrc ;
Personnellement, j'en suis resté à l'utilisation du shell CSH. Les exemples suivants font tous appel à ce shell.

Modifier le prompt:
le prompt est le texte qui s'affiche en permanence lors d'une connexion au système à l'aide de telnet. Contrairement aux systèmes DOS-Windows, Unix n'affiche pas automatiquement le dossier en cours d'utilisation. Pour afficher le chemin complet du dossier en cours, ajouter ces 2 commandes dans le fichier .cshrc :
alias cd 'cd \!*;set prompt = "$cwd""> "'
cd .

Ajouter un dossier dans le path:
Le path est une variable qui contient la liste des dossiers dans lesquels le système doit rechercher les fichiers ou les commandes. Pour y ajouter un dossier, ajouter cette commande dans le fichier .cshrc :
set path = ($path /export/home/qualbois/herbe/vnc)
ou bien:
set path = ($path $HOME/vnc)
( $HOME est une variable contenant le home directory )

Créer des alias
Si vous trouvez que les commandes du système manquent de poésie et que vous voulez recréer vos propres commandes, vous pouvez utiliser les alias. La syntaxe de cette commande étant très différente d'un shell à un autre, tapez la commande man alias pour obtenir la syntaxe exacte. Exemple avec CSH, remplacer la commande ls -la | more par la lettre L:
alias L  'ls -la | more'
si cette commande est stockée dans le fichier .cshrc, ells est disponible en permanence; il suffit de taper la lettre L pour l'exécuter



Quelques exemples de commandes Unix ou Linux:

L'aide en ligne:
Elle disponible (généralement en anglais sauf quelques rares versions de Linux) avec la commande:
man commande   (manuel) ex:
man man

Rechercher un fichier (find):
la commande find est sensible à la casse (majuscules-minuscules). Pour rechercher le fichier "toto" dans tous les sous-dossiers du home directory:
find $HOME -name "toto" -print
pour rechercher le fichier "toto" sans savoir si la 1ère lettre est une majuscule dans tous les sous-dossiers du répertoire /usr:
find /usr -name "*oto" -print

Rechercher une chaine de caractères dans un fichier (voir aussi  egrep et fgrep )
exemple pour obtenir des informations sur l'utilisateur "herbe" contenues dans le fichier /etc/passwd:
grep herbe /etc/passwd
résultat:  herbe:x:2411:240:/export/home/qualbois/herbe:/bin/csh

Créer un dossier:
mkdir dossier(mkdir signifie make directory)

Supprimer un dossier:
rm -r dossier (rm signifie remove; l'option -r signifie recursive)

Supprimer un fichier:
rm  fichier

Supprimer tous les fichiers du répertoire courant:
rm -r *

Supprimer tous les fichiers commençant par "toto":
rm -r toto*

Afficher un fichier page par page:
more fichier (appuyez sur les touches "Entrée" ou "barre d'espace" pour le défilement)

Copier un fichier:
cp  /chemin1/fichier1  /chemin2/fichier2

Copier un fichier dans le repértoire courant:
cp /chemin/fichier  .      (le point fait partie de la commande)

Copier tous les dossiers "fils" et fichiers du dossier /tmp dans le répertoire courant:
cp  -r  /tmp  .

Imprimer un fichier sur l'imprimante par défaut:
lp fichier  (lp signifie Line Printer)

Obtenir la liste des imprimantes et leur état:
lpstat -a   (l'option -a signifie All)

Imprimer un fichier sur l'imprimante "laserjet4":
lp -d laserjet4 fichier  ( l'option -d signifie Destination)

Lister les fichiers du répertoire courant:
ls

Lister les fichiers du répertoire /tmp :
ls  /tmp

Lister les fichiers contenus dans le sous-dossier "VNC" du répértoire courant:
ls  ./VNC  (le point à gauche du slash indique que le dossier VNC est un sous-dossier ou dossier "fils")

Lister les fichiers du répértoire "parent":
ls ../  (les 2 points à gauche du slash indiquent le dossier supérieur ou dossier "père")

Lister les fichiers et leurs droits:
ls -la
exemple de résultat:
drwxrwxrwx  40 herbe    qualbois    3584 Apr 23 14:34 .
drwxrwxr-x  32 root     other       1024 Jan 11 14:11 ..
-rw-r--r--   1 herbe    qualbois    1201 Nov 25  1998 .acrorc
-rw-r--r--   1 herbe    qualbois    1443 Mar 16  2000 .cshrc
-rw-r--r--   1 herbe    qualbois     168 Sep  3  1997 .cshrc.14
drwxr-xr-x  16 herbe    qualbois     512 Apr 23 14:24 .dt

La 1ère colonne contient les droits de chaque fichier codés sur 10 caractères;
la 3eme contient le nom du propriétaire du fichier
la 4eme contient le nom du groupe de travail
la 5eme contient la taille du fichier exprimée en octets
la 6eme contient la date de la dernière modification
la 7eme contient le nom du fichier ou dossier
Décodage de la 1ère colonne:
si la 1ère lettre est un D, il s'agit d'un dossier (directory); si c'est un L, il s'agit d'un lien; si c'est un tiret (-), il 'agit d'un fichier.
Les autres lettres vont par triplet dans l'ordre RWX.
R indique un droit de lecture (Read).
W indique un droit d'écriture (Write).
X indique un droit d'exécution.
Le 1er groupe de 3 lettres (de la 2eme à la 4eme ) indique les droits du propriétaire du fichier.
Le 2eme groupe de 3 lettres (de la 5eme à la 7eme) donne les droits des membres du groupe de travail.
Le 3eme groupe de 3 lettres (de la 8eme à la 10eme) donne les droits de tous les autres utilisateurs du systèmes.

L'utilisateur peut changer les droits de ses propres fichiers; l'administrateur du système peut changer les droits de tous les fichiers.
Changer les droits d'un fichier:
On utilise la commande chmod: chmod  groupe(s)+droits  fichier
les groupes sont indiqués comme ceci:
u pour le propriétaire (user)
g pour groupe
o pour autres utilisateurs (other)

Pour donner tous les droits sur le fichier "toto":
chmod ugo+rwx toto

Pour retirer tous les droits au groupe et aux autres utilisateurs:
chmod go-rwx toto

Autre syntaxe pour chmod:
On peut compacter la commande en remplaçant les lettres RWX par une valeur numérique et additionner ces valeurs en fonction des droits à attribuer..
R vaut 4
W vaut 2
X vaut 1
Ainsi, pour donner tous les droits au fichier "TOTO", il suffit d'exécuter:
chmod 777 TOTO   (7 = 4(R) + 2(W) + 1(X) )
pour donner les droits de lecture et d'écriture au propriétaire et aucun droit aux autres utilisateurs:
chmod 600 TOTO
pour donner les droits de lecture et d'écriture au propriétaire, les droits de lecture au groupe et aucun droit aux aux autres utilisateurs:
chmod 640 TOTO

Lister les process en cours d'exécution
Chaque fois que vous tapez une commande ou que vous démarrez un programme, au moins un process est exécuté. Il arrive que certains process ne se terminent pas correctement. Il est donc nécessaire de vérifier régulièrement l'état des tâches. On utilise la commande:
ps -options
exemple, lister les process lancés par l'utilisateur herbe:
ps -u herbe
ou
ps -fu herbe
Sous ces 2 formes, la commande "ps" n'affiche que les commandes appartenant à  l'utilisateur "herbe" mais on peut avoir besoin de connaitre l'état d'une commande ou programme sans savoir à priori qui est le "propriétaire" de cette tâche. On utilise la commande "ps" sous cette forme pour lister tous les process en cours.:
ps -aux
Comme ils sont souvent trop nombreux pour être affichés à l'écran, il vaut mieux écrire:
ps -aux | more
Si l'on connait une partie de la réponse, il est plus efficace de filtrer le résultat de la commande en "pipant" la commande grep;
exemple, on veut savoir combien de fois le shell SH est exécuté simultanément:
ps -aux | grep sh
Résultat:
 12709 pts/7     0:00 sh
     756 pts/3     0:00 sh
  4848 pts/10    0:00 sh
  27562 pts/20  0:00 sh
 La 1ère colonne indique le n° du process.

Stopper un process
On utilise la commande "kill" avec l'option -9. Exemple, arrêter le process n° 756:
kill  -9  756

Changer son mot de passe:
passwd  et répondez aux questions!