Pourquoi cet article?

J'ai commencé à écrire cet article pour essayer de répondre aux éventuelles questions qu'une personne ne connaissant que le monde de Windows peut se poser. Étant moi-même passé par là, j'essai de répondre aux premières réactions que j'ai eu quand j'ai commencé sous GNU/Linux. Le but n'est pas d'en faire un tutoriel, mais d'orienter un débutant vers une distribution qui lui convienne, de donner quelques bases pour qu'il puisse se débrouiller, qu'il sache faire des choses simples qui diffèrent sous Windows, et qu'il comprenne pourquoi certaines choses semblent stupides alors qu'elles sont, en fait, parfaitement logiques.

Lexique

Linux
C'est le nom du noyau, il fait la liaison entre le système d'exploitation et le matériel.
GNU
GNU est le système d'exploitation, celui qui autorise les programmes à faire telle ou telle chose.
GNU/Linux
C'est le nom de l'ensemble: le système GNU sur le noyau Linux. Certains pensent que cela ne sert à rien de l'appeler ainsi car on ne dit pas Windows/NT. Ce n'est pas faux, mais Windows est propriétaire. Microsoft ne vous laisse pas le choix, si vous utilisez Windows, vous utilisez également le noyau fourni avec votre version. Alors que GNU et Linux sont deux projets différents. Vous pouvez utiliser Linux sans utiliser GNU et vice-versa. Sous Android, vous utilisez le noyau Linux mais vous n'utilisez pas GNU, à l'inverse vous pouvez utiliser GNU avec un noyau BSD ou Hurd.
Logiciel libre
Le logiciel libre n'est pas un logiciel gratuit, même si la plupart le sont. La liberté concerne l'utilisation, la redistribution, et la modification. Vous utilisez le logiciel comme vous le souhaitez et vous pouvez le redistribuer. Vous devez aussi pouvoir le modifier si quelque chose ne vous convient pas, cela inclut donc l'accès au code source. En revanche, si vous faites une modification que vous incluez dans le logiciel, le logiciel modifié sera redistribué dans les mêmes conditions. Cela garanti que le logiciel restera libre. La GPL est la principale licence de ce type de logiciel.
Logiciel open-source
Un logiciel open-source se différencie par la condition de modification. Vous pouvez modifier un logiciel open-source et n'en distribuer que l'exécutable sans le code source. Le rendre propriétaire. Mais vous êtes obligé de citer l'auteur original. Par exemple Google Chrome est un logiciel propriétaire basé sur Chromium. La licence type d'un logiciel open-source est la licence BSD.
Logiciel FLOSS
FLOSS veut dire "Free/Libre Open-Source Software". Ce terme regroupe les logiciels libres et les logiciels open-source.

Quelle distribution choisir?

Pour quelqu'un qui ne connaît pas du tout GNU/Linux, il n'est pas facile de savoir quelle distribution choisir, car l'environnement de bureau par défaut change d'une distribution à l'autre. En fait, tout dépend de ce que vous attendez de votre ordinateur, de ce que vous privilégiez: la stabilité, la liberté, la légèreté… Voici un petit aperçu des distributions que j'ai principalement utilisé:

Il en existe d'autres pour différents domaines (sécurité, jeux, …), ce ne sont là que celles sur lesquelles je suis resté plus ou moins longtemps.

Si vous êtes sous Windows, renseignez vous avant d'installer GNU/Linux, car l'installation effacera le tatouage qui permet à votre ordinateur de reconnaître sa version de Windows d'origine, si vous l'avez eu dans le commerce. Vous devrez donc activer Windows manuellement.

L'installation de GNU/Linux

Avant l'installation je conseille d'essayer en live CD, cela permet d'utiliser GNU/Linux sans rien toucher sur votre ordinateur. Si la distribution fonctionne mal vous n'aurez pas perdu de temps installer quelque chose ne vous convient pas.

Certains pilotes ne sont pas disponibles sous certaines distributions GNU/Linux (voir toutes), car quelques fabricants refusent de les porter. Donc certains composant peuvent ne pas fonctionner, ou fonctionner avec un pilote alternatif. Pour les cartes graphiques, elles peuvent être partiellement fonctionnel, la 3D peut ne pas être activée ce qui empêchera les gros jeux en 3D de fonctiionner même si il sont disponible nativement sous GNU/Linux.

L'installation de GNU/Linux est plus ou moins facile suivant la distribution que vous avez choisi. Mais les questions sont sensiblement les mêmes.

Il demande aussi le partitionnement. Si il faut utiliser le disque dur entier, dans un "/home/" séparé (Il y aura une partition pour votre dossier personnel).
le format du disque dur par défaut sous GNU/Linux est le "ext4", depuis 2008, ou le "ext3".

La hiérarchie

Alors que Windows identifie les disques durs par des lettres, sous GNU/Linux le disque "C:" n'existe pas, il s'appelle le "dossier racine" noté: "/". Les autres disques durs, clés USB, lecteur cd/dvd,… sont dans des dossiers situés dans "/media/". Sous Windows, chaque logiciel installé possède un dossier au nom du logiciel dans "c:\Program files", et contient les fichiers du logiciel. Sous GNU/Linux, un logiciel est installé dans plusieurs dossiers:

L'équivalent à "Mes Documents" est situé dans " /home/user/" appelé "Home" ou "Dossier personnel". En dehors des documents, musiques, images, et autres fichiers créés par l'utilisateur, il contient aussi les configurations personnelles de celui-ci. Par exemple si l'utilisateur lance "vlc" et modifie les options, ces options modifiées seront sauvegardées dans "/home/user/.vlc/".

Gérer les fichiers

La sécurité

La gestion des droits

Sous GNU/Linux, les droits d'accès aux fichiers ou répertoires, sont gérés suivant la catégorie: propiétaire, groupe et autres.
Chaque catégorie peut lire, écrire et/ou exécuter un fichier.
Prenons le fichier 'test.sh' avec les droits -rwxrw-r--.
Le premier tiret indique que c'est un fichier, sinon c'est d pour dossier (directory en anglais) ou l pour lien (link en anglais).
Ensuite on a pour chaque caractère

L'autre façon d'indiquer les droits consiste à remplacer rwxrw-r-- par des chiffres, un par catégorie. Dans notre cas 764. Voilà comment ça fonctionne:

Le propriétaire a tous les droits (rwx), donc:
4 + 2 + 1 = 7
le groupe (rw-)
4 + 2 + 0 = 6
les autres (r--)
4 + 0 + 0 = 4

Le propriétaire est, comme son l'indique, celui à qui appartient le fichier. Tout ce qui est dans sont dossier personnel lui appartient. Pour les fichiers systéme, le propriétaire est root, l'administrateur.
Le groupe sont ceux qui appartiennent au groupe du propriétaire. Si on a trois utilisateurs sur un PC: user_1, user_2 et user_3, et que user_1 inclut user_2 dans son groupe, alors user_2 pourra ouvrir et modifier le fichier de user_1. user_3 fera parti de la dernière catégorie.
Les autres sont ceux qui ne sont pas dans le groupe de propiétaire. Ça peut être user_3 mais aussi tous ceux qui accèdent à au PC via internet ou réseau local. Ils ne peuvent, dans notre exemple, qu'ouvrir le fichier.

Pour les fichiers du système, par défaut, l'utilisateur ne peut que les lire puisque le propriétaire de ces fichiers c'est root, et seul lui peut modifier les permissions. Donc, contrairement à Windows qui se contente de demander si c'est bien l'utilisateur qui veut modifier un fichier ou un répertoire. GNU/Linux interdit tout simplement l'accès au fichier.

Certains windowsiens diront que c'est débile, que l'on devrait pouvoir faire ce que l'on veut de son ordi. Mais si on y réfléchi bien, on se rend compte que c'est normal. Beaucoup de famille se partage un ordinateur. Il y en a toujours un qui va installer tout et n'importe quoi. Puis peu de temps après, l'ordinateur rame, il est bourré de virus en tout genre (malgré la présence d'un soit disant bon anti-virus). Parce que Windows s'est juste contenté de demander si l'utilisateur est sûr de vouloir installer un programme et que l'utilisateur a cliqué sur "Oui".

Le pare-feu

Par défaut, il laisse tout passer dans tout les sens. Il va falloir le configurer via iptables qui est inclus dans Linux et fonctionne en ligne de commande. Gufw est une interface graphique pour ufw qui lui possède en ligne de commande mais plus simple à configurer que iptables mais il n'est pas installé par défaut sur toutes les distributions. La configuration du pare-feu nécessite les droits root.

Le pare-feu n'est pas configuré car les systèmes UNIX dont Linux fait parti, sont conçus, à l'origine pour tourner sur des serveurs et donc on laisse le soin à l'administrateur de gérer les connexions.

L'environnement

Sous Windows il n'y qu'un environnement possible: "explorer". Et aussi un seul bureau pour les versions avant Windows 10. Sous GNU/Linux il existe plusieurs environnements et plusieurs bureaux. Des environnements de bureau complets comme GNOME, KDE, Xfce, LXDE,… chacun inluant leur propre suite de logiciels. Mais on peut quand même utiliser un logiciel prévu pour le bureau KDE sur un bureau GNOME.
Ou on peut utiliser un gestionnaire de fenêtre comme OpenBox, WindowMaker, Awesome,… Beaucoup plus légers et rapides, il s'occupent juste de la disposition des fenêtres.

Les gestionnaires de fenêtres

Je présente ces trois gestionnaires de fenêtres en particulier car ils sont tous les trois différents, et les autres sont, à peu de choses près, similaires

OpenBox: sans le configurer, on a un écran noir mais il est bel et bien lancé. Un clic droit et un menu apparaît. Il nécessite d'autres applications pour la barre des tâches, le fond d'écran,…

WindowMaker: d'apparence ancienne repris sur l'apparence de NeXTSTEP, ancêtre de Mac OS X. Il contient deux docks, un permanent qui s'affiche sur tous les bureaux et un autre qui est propre à un bureau. On peut ajouter des applets pour avoir l'heure, une "barre des tâches" Comme OpenBox, on peut accéder au menu en faisant un clic droit sur le fond d'écran.

Awesome: Gestionnaire de fenêtres en mosaïque. La première fenêtre s'ouvre en prenant tout l'écran, jusqu'à l'ouverture d'une deuxième qui divise l'écran en deux parties égale. Une troisième divisera un coté l'écran. La fenêtre principale ayant toujours un coté entier.

Les bureaux virtuels

Sous GNU/Linux, il est possible d'avoir plusieurs bureaux. Cela permet d'organiser l'espace de travail comme vous le voulez, vous pouvez mettre les applications internet sur le premier, un traitement de texte sur second,… Le nombre varie suivant l'environnement que vous utilisez. Awesome, par exemple, peut avoir jusqu'à 9 bureaux par écran.

Le gestionnaire de paquets

L'installation d'un logiciel apporte une modification dans les fichiers système, ce qui implique les droits administrateur.

Qu'est-ce qu'un paquet?

Un paquet est un logiciel compilé prêt à être installé sur votre machine.

Le gestionnaire

Sous un Windows fraîchement installé, il faut aller télécharger les applications que l'on a l'habitude d'utiliser et/ou reprendre les CDs un par un. Ça peut devenir très long. Sous GNU/Linux, le gestionnaire de paquets est là pour ça. Il y a juste à cocher ceux qui nous intéressent, ou décocher dans le cas d'une désinstallation, et il s'occupe du téléchargement et de l'installation.

Lorsque vous demanderez à installer quelque chose il vous demandera d'installer d'autres paquets nécessaires au bon fonctionnement du logiciel que vous désirez. La raison est que si vous installez, par exemple, un logiciel écrit en Python, mais que la machine ne sait pas interpréter ce langage, vous ne pourrez pas utiliser ce logiciel. Le gestionnaire vous demandera donc télécharger un paquet qui s'appellera libpython, ou un nom s'en rapprochant suivant la distribution.
Les bibliothèques installées automatiquement avec d'autres paquets seront supprimées si aucun logiciel n'en a besoin. Celle qui ont été installées à la demande de l'utilisateur le resteront.

Le gestionnaire de paquet sert également à maintenir à jour votre système (mise à jour de sécurité seulement). Si votre distribution est sortie il y a 3 mois, qu'un logiciel est en version 1.0 dessus, et que les développeurs de ce logiciel sortent aujourd'hui la version 2.0, il ne sera pas mis à jour (sauf pour les quelques distributions en rolling-release). Une fois sortie en version stable, les paquets de la distribution sont "figés". Il faudra donc peut-être attendre la prochaine version de votre distribution.

Autres méthodes d'installations

La compilation

Elle demande plus de travail de la part de l'utilisateur, mais elle permet de compiler un logiciel sur mesure. Dans un premier temps il faut télécharger le code source d'un programme, le décompresser et de suivre les instructions du fichier INSTALL, ou README dans certains cas. Il se peut que vous ayez besoin d'installer les bibliothèques via le gestionnaire de paquet (ou les télécharger si les versions sont inférieures à celles nécessaires). Une fois toutes les dépendances installées, vous pouvez commencer à compiler le programme en faisant, la plupart du temps, './configure', 'make', 'make install'. Pour cette dernière commande il faut être connecté avec root.

Les paquets hors dépôt

Il possible de trouver des paquets sur internet. Une fois télécharger, pour Debian et dérivées, il faut ensuite utiliser la commande 'dpkg -i nom_du_paquet' ou utiliser un logiciel tel que gdebi

Ajouter des dépôts

On peut aussi trouver des dépôts sur internet, il suffit juste de les ajouter dans le gestionnaire de paquets et de recharger la liste. Vous pourrez par la suite installer le logiciel qui vous intéresse en le sélectionnant dans la liste.

Le terminal

Il est important de connaître les commandes de base. Car sur les forums ou les mailing-lists, si vous avez un problème, les personnes ne diront pas "Ouvre ça, clique ici, clique là". Elles vous donneront une commande à taper dans le terminal, puis vous n'avez plus qu'à copier la réponse que le terminal vous donnera ou expliquer ce que ça provoque. Donc le mieux est de savoir un peu ce que l'on vous demande de taper. Si on vous demande de taper su -c 'chmod -R 777 /', vous allez demander au Super-Utilisateur (su) d'exécuter la commande (-c): appliquer les droits d'accès (chmod) 777 au dossier racine (/) et tous ses sous-dossiers (-R). Si vous avez tout lu vous devriez savoir ce que cela implique.

L'avantage du terminal c'est la rapidité. Il est souvent plus rapide de taper une commande plutôt que de passer par l'interface graphique. Par exemple, pour copier le fichier /media/usb0/dossier_plein/truc.txt dans /home/user/Documents/ et le renommer en chose.txt, il faut:

Tandis que dans un terminal, par défaut on est déjà placé dans le dossier personnel.

Le fichier a été copié et renommé en même temps. On peut ce que fait une commande en tapant 'man nom_de_la_commande'

La console tty

il est possible de sortir de l'interface graphique en appuyant sur les touches Ctrl+Alt+F(1-6) pour se retrouver sur une console tty. F7 permet le retour à l'interface graphique. Lorsque l'on arrive sur une de ces consoles, il faut se logger même si on l'est déjà sur une autre. Cela peut permettre de faire quelques opérations lorsque quelqu'un d'autre utilise la machine, sans le déconnecter ou verrouiller sa session, ou d'effectuer des réparations lorsque l'interface graphique plante.