Je passe à Linux

De Movilab
Aller à :navigation, rechercher


Cette page est ouverte à toutes les personnes qui souhaitent passer au système d'exploitation GNU/Linux de façon autonome.

Il ne s'agit pas ici de faire un tutoriel pour passer à Linux, beaucoup d'autres wikis et plateformes sont faites pour ça, en revanche nous souhaitons partager ici le parcours et les étapes culturelles et techniques par lesquels d'autres sont passés avant nous.

N'hésitez donc pas à l'améliorer par vos propres retours d'expériences.

Cette fois c'est sûr... je passe à Linux !

Pourquoi changer ?

Acte politique

Une prise de conscience tôt ou tardive qu'internet et le web ne sont pas neutre.

TeteMortPicto.png Reprendre le contrôle ! : Construire des Villes Libres et Open Source en s'appuyant sur des HackerSpace

Acte citoyen

Intention de l'exploration : Partir du cas de monsieur et madame tout le monde... #storytelling
Objectif personnel : en faire une table d'exploration pour un futur ExplorCamp
Stallman.png

Comme beaucoup de ma génération (40 ans), j'ai commencé l'informatique à l'école avec le TO7 et le MO5 de Thomson. Même si la plupart des usages que nous en faisions étaient confinés à des jeux éducatifs, quelques uns comme moi utilisaient le langage Basic pour créer quelques programmes simples comme des jeux de ping pong ou plus sophistiqués comme les dérivés de Space Invaders.

Rapidement, l'Amstrad CPC 464 est venu s'imposer avec son lecteur à cassette plus rapide et ses jeux plus nombreux. L'arrivée de la disquette avec le CPC 6128 faisait déjà gagner beaucoup plus de temps au chargement des jeux.

Mais c'est le Commodore 64 qui va nous faire passer à l'informatique au sens noble du terme.

Même si certains sont restés sur la partie jeux, les premiers programmeurs "pro-am" purent commencer à s'exprimer avec ce bolide pour l'époque.

Ensuite vint le temps de l'adolescence et l'appel de la puberté... l'informatique m'attirait moins que les filles et les 1ères consoles comme la Nes de Nintendo me firent passer à autre chose.

Ce n'est qu'en 2004, lors de mon embauche dans une Mutuelle d'assurances que je me remis à l'informatique avec un Thoshiba portable, équipé de windows XP et d'un connexion GSM...


La synthèse de tout ça version Norman


Windows,Mac... Linux ?

< Liberté, égalité... fraternité ! >

Conditionné comme beaucoup à Windows, je ne me suis jamais (trop) posé la question sur le système d'exploitation que j’utilisais jusqu'à ce que je découvre la culture et le parcours de la communauté du logiciel libre lors de ma rencontre avec un "GULL", Groupe d'Utilisateurs de Logiciels Libres à l'occasion d'un événement.

Je savais que Windows était l'O.S de tout le monde et Mac celui des médecins et des dentistes... mais à part ça, pas grand chose.


GNULinux.png GNU/Linux

Définition Wikipédia

Un système GNU/Linux est le nom parfois donné à un système d'exploitation associant des éléments essentiels du projet GNU et un noyau Linux. C'est une terminologie créée par le projet Debian et reprise notamment par Richard Stallman, à l'origine du projet de travail collaboratif GNU, lequel manquait encore d'un noyau de système d'exploitation qui permettrait d'en faire un système d'exploitation complet à la création du noyau Linux, en 1991. Des systèmes complets prêts à l'emploi, réunissant les deux pièces, sont alors apparus, comme la distribution Debian.

Dans le langage courant on trouve souvent l'emploi du terme « Linux » seul pour désigner une distribution du système d'exploitation GNU/Linux, ce qui peut porter à confusion étant donné qu'il existe quelques systèmes basés sur Linux mais pas sur GNU (par exemple : Android, ceci lui permettant d'éviter certaines clauses de la licence GNU).

Wikipedia logo.jpg Lire et améliorer la suite de la définition encyclopédique

Pourquoi utiliser GNU/Linux

Quelques arguments à développer ultérieurement 
  • Gratuit et MAJ
  • Adaptable
  • Casser la routine
  • Sécurité et stabilité
  • Liberté
    • 0 - utiliser : quelque sois l’usage / la cause
    • 1 - comprendre : étudier / analyser / détourner
    • 2 - faire : modifier / améliorer / adapter
    • 3 - partager : redistribuer / donner / vendre
  • Assure l’interopérabilité (respect des normes)
  • Au delà de la technique, GNU/Linux vise le partage et l’échange
  • Propose une meilleur sécurité > droits plus fin
  • Peut se déployer partout > ordi, console, box, drone, raspberry pi…

Comment changer ?

Un peu de culture : Après avoir lu la page Wikipédia sur Linux, en avant pour un documentaire de 55 mn sur le sujet



Opportunités

Motivations

Les difficultés rencontrées

  • le temps !
  • les habitudes
  • le matériel dont on dispose
  • le fait de connaitre la culture voir d'utiliser depuis longtemps des distributions GNU/Linux ne signifie pas savoir s'en servir... il faut déconstruire certaines croyances par la pratique
  • la peur que les logiciels de production ne fonctionnent plus
  • la peur de ne pas savoir se débrouiller seul = ça va marcher avec le formateur mais quand je serai chez moi le lundi d'après...

Passer à la pratique

Chantier.png Cette page est en chantier

Vous pouvez y contribuer en participant aux discussions et en améliorant les contenus.

Le matériel

1ère Question : Vais-je dédier un PC à cette migration ? Utiliser un service de virtualisation d'OS ? Utiliser un Raspberry Pi ? ...

Les pistes :

Installation

  • Linux, comment ça marche dans les faits ?
Formation vidéo : https://www.youtube.com/watch?v=py1E14pXfAM&list=PLrSOXFDHBtfHKxuz6NySItyf4iSEcTw97

Choisir une distribution

La définition d'une distribution Gnu/Linux
La liste des distributions Gnu/Linux

Les plus (re)connues

* Pour la famille - Ubuntu : https://ubuntu-fr.org/
* Pour les débutants - Linux Mint : https://www.linuxmint.com/
* Pour le style - OS élémentaire : https://elementary.io/
* Pour les codeurs - Debian : https://www.debian.org/
* Pour libristes du libre - Tristel : https://trisquel.info/fr
* Pour l'ancien matériel - Ubuntu MATE : https://ubuntu-mate.org/
* Pour le piratage éthique - Kali Linux : https://www.kali.org/
* Pour la confidentialité et l’anonymat - Tails : https://tails.boum.org/
* Pour les serveurs - CentOS : https://www.centos.org/
* Pour faciliter l’auto-hébergement - YunoHost : https://yunohost.org/
* Pour le Raspberry Pi - Raspbian : https://www.raspberrypi.org/downloads/raspbian/

Téléchargement

Même si les sites sont tous plus accueillant les uns que les autres, force est de reconnaitre que maitriser l'anglais devient un atout supplémentaire pour obtenir des informations précises.

C'est donc en découpant ce que je cherche à faire que j'oriente mon travail :

  1. Qu'est ce que je veux télécharger ? > Un système d'exploitation pour mettre sur un support.
  2. Quel support ? > PC, clé USB, carte SD, émulateur...
  3. Quel portée ? > Locale, internet ou web
  4. Quel périmètre ? > Personnel, associatif ou professionnel
  5. Pour quels usages ? ... ben pour le moment, mon souhait est de créer mon HLM... HackLabMoblie ! \o/


Principe du téléchargement

Pour télécharger les différentes distributions, le mieux est de passer par un torrent. En fait c'est un protocole de transfert de fichier comme lorsque vous téléchargez un film... sauf que la tout est légal et c'est pour télécharger un logiciel libre !

Exemple avec la distribution Kali

Si vous ne disposez pas de client torrent sur votre système comme c'est le cas pour Ubuntu avec le client Transmission, vous devez en télécharger un.


Images iso

Après avoir télécharger sur votre pc l'image iso d'une distribution, voici la ligne de commande à taper dans votre terminal pour installer une image iso sur une clé USB.

sudo dd if=nom_fichier.iso of=/dev/sdb && sync

Que se passe t il ?

  1. sudo : je passe en super utilisateur
  2. dd : convertir et copier un fichier
  3. if : va chercher ou se trouve le fichier iso
  4. of : indique ou va être gravé l'image (clé usb)
  5. && sync : appliquer ce que l'on vient de faire


Attention : ne pas inverser la destination de of= sur le disque dur de votre pc, cela écraserait votre système de façon irrémédiable.


Manger du Shell

Programme:

  1. c'est quoi une commande ?
  2. l'aide interne
  3. l'arborescence du système
  4. commandes de base (TP)
  5. recherche
  6. les permissions
  7. Bash comme langage de script


Pourquoi utiliser le terminal ?

=> programmation - l'interface graphique n'est pas la priorité. Une G.U.I oubllie souvent une partie du programme (possibilités, fonctions...) Pas toujours de G.U.I pour communiquer avec un serveur.


Shell :

  • outil le + bas niveau pour communiquer avec le système, en passant par des lignes de commandes https://fr.wikipedia.org/wiki/Interface_syst%C3%A8me
  • Plusieurs shell : bash (le plus ancien sous Linux, installé par défaut), zsh, csh, ...
  • On peut installer plusieurs shell sur un serveur et chacun utilise celui qu'il veut.
  • Peut-être utilisé comme langage de script


Terminal VS Interface graphique : une interface graphique, faut apprendre à la connaître... n'affiche pas forcément le processus mais directement le résultat

- c'est quoi une commande ? (prompt) (nom de commande) (options) (arg1) (arg2)

- l'aide interne man : pages de manuel -> $ man ls --> pour avoir le manuel d'une commande -> man nom_recherché whatis (entete manuel) description rapide apropos : recherche dans les différentes sections

les flèches directionnelles Bas et Haut permettent de naviguer dans l'historiques des commandes déjà tapées


clear -> nettoyer l'écran cd <-> raccourci pour aller directement dans son répertoire personnel (Change Directory) pwd <-> répertoire actuel/courrant q <-> Quitter -- help <-> options principales donc soit man nomDULogiciel soit nomDULogiciel --help man man -> manuel des manuel echo $PATH -> chemin vers les programmes = ? (echo<-> SVP écrit moi sur l'écran ceci...) which nomDuLogiciel -> où est l'exécutable ... ls -> liste ce qui est dans le dossier courant rm -> remove rmdir -> remove directory (si vide) cp -> copier nano -> éditer un fichier mv <-> move

ctrl+C : interrompre une commande

http://wiki.linux-france.org/wiki/Les_commandes_fondamentales_de_Linux

Pour décortiquer une ligne de commande : http://explainshell.com/

Aide mémoire des commandes Linux : http://www.epons.org/commandes-base-linux.php

bashrc = ??? (important !)

Chemin absolu : part de la racine /home/etc/etc Chemin relatif: part de la position courante dans l'arborescence .. <-> le dossier de niveau supérieur/parent . <-> le dossier courant


Q: Forcer à quitter une appli ? Sous Ubuntu -> Ouvrir console : Ctrl+alt+F1 (F2 etc.) Revenir à l'interface graphique Ctrl+alt+F7 Eteindre ou Redémarrer : Ctrl+Alt+Suppr

Recherche dans le système which NomDuProgramme whereis find (chemin) -> recherche sur tout le système Ex. find (chemin) -name *.gpx

Linux a sa base de données des fichiers MAIS il faut mettre à jour (indexer) --> updatedb

Enchaîner des commandes (la sortie d'une commande devient l'entrée d'une autre) : utiliser des pipes (Alt Gr + 6) | ... | ... |

Créer des Alias : des raccourcis vers des commandes un peu longues qu'on sait qu'on utilisera régulièrement (en faire la liste -> Alias)

http://linux.leunen.com/?p=86

Apprendre les lignes de commandes

Pour apprendre les lignes de commandes des systèmes d'exploitation GNU/Linux, les étudiants du MIT ont crée un jeu en ligne : Terminus.

Attention : le jeu est en anglais.

Article : Terminus : un jeu d’aventure pour apprendre à utiliser la ligne de commande

Terminus.JPG

Les incontournables

Les commandes fondamentales de Linux
101 commandes indispensables sous linux
Les commandes les plus souvent utilisées sous UNIX/LINUX
Commande Fonction Commentaire

Ctrl + C
clear
sudo
sudo apt-get update
nano

Terminer un processus dans le terminal
Nettoyer un terminal
Passer admin
Mise à jour des dépots
Éditer le contenu d'un fichier

Pratique pour reprendre la main
Repartir à zéro
Il le faut pour installer un logiciel
Avoir un système en bonne santé
Évite de faire appel à un éditeur externe

Outils et services

Les réseaux

* Page Movilab dédiée aux réseaux
* Analyse réseau sous Linux
* Auto-Hébergement de données

Les logiciels

C'est peut être une évidence pour pas mal d'utilisateurs de Linux, mais effectivement, il ne suffit pas de cliquer 2 fois sur un bouton pour que ça s'installe tout seul. Au 1er abord ça cela peut effectivement en repousser plus d'un, mais lorsque vous allez commencer à comprendre que ce n'est pas si compliqué mais que surtout cela vous permet de décider vous de ce qu'il se passe dans la machine... la transparence c'est compliqué mais ça marche !

Pour installer un logiciel en ligne de commande dans le terminal cela donne quelque chose comme ça...

sudo apt-get install mon_paquet

Les Mises à Jour (MAJ)

Les astuces

* Anonymisation navigation Internet
* Nettoyer ses traces sur Internet

Le bac à sable

Aide

Retours expériences

* Copie des notes sur le wiki - 2015 (création de cette page)

Forums

* Forum Ubuntu : https://forum.ubuntu-fr.org/
* Forum Linux : https://linuxfr.org/forums
* Forum Linux développez : https://linux.developpez.com/
* Forum Comment ça marche : https://www.commentcamarche.net/forum/linux-unix-13
* Forum: MacOS, Linux et autres systèmes : https://forums.cnetfrance.fr/forum/3-macos-linux-et-autres-systemes/

IRC

* La page ressource Chan IRC
* Discuter entre tiers-lieux

Lieux de rencontres

* HackerSpace
* FabLab
* Espace Public Numérique


Livres

Soutenir Movilab

Vous pensez que nous allons dans le bon sens ? Si vous en avez l'envie nous vous invitons à nous rejoindre ou à faire un don.