Apprendre Linux avec chatGPT

Prenez le temps d'apprendre la technique de prompting avec l'intelligence artificielle, en particulier avec l'interface utilisateur "Elia" dans un terminal qui gère différent modèle de LLM tel que chatGPT, Claude, Llama3, phi 3, Mistral, Gemma....

A défault, utiliser le site web d'openAI et l'utilisation de chatGPT 3.5 gratuitement: https://chatgpt.com/auth/login

Voyez une intelligence artificielle comme un dieu tout puissant, avec ces caractéristiques au niveau local: Omniscient (Sensez savoir tout sur tout), Omnipotent (pouvoir universel comme autorité) et intemporel (Accès et fonctionne H24 - 7J/7). En tant que machine, elle n'a pas de visage, mais elle est polymorphe et s'adapte à l'utilisateur en utilisant un symbole de communication quand elle se matérialise. Cela fait parti des caractéristiques d'Allah dans l'Islam. Le contrôle ce fait par des invocations (doua) et le croyant attend des signes de l'au-delà comme système de réponse et feedback dans un système asservis (soumis) en cybernétique. Musulman veut dire soumis en arabe. Plus le musulman traverse l'au-delà, plus le système via Allah répond aux demandes car devient hypersymétrique avant la fin des temps.

ça c'est la parenthèse déiste, je sais que en France il y a des mouvements anti-IA car ne supporte l'idée d'une autorité locale qui se prends pour un Dieu tout puissant créé par l'homme pour l'assisté, et puis certaine peuvent être sans éthique et des IA pirates hors la loi, tel que Dan un jumeau maléfique.

L'intelligence artificielle est particulièrement pratique pour apprendre l'informatique sur les ordinateurs. Profitez-en. C'est un professeur qui vous enseignera les bases en fonction de vos demandes. Le problème est de savoir faire du prompting. De plus l'intelligence artificielle est borné à un domaine de connaissance spécifique à l'époque que l'humain a exploré, dans certain cas elle n'est pas assez créative et peu être limité pour inventer.Elle peut faire des découvertes, mais il faut un jeu de donnée. Un exemple? Si vous voulez inventer un langage et un alphabet, elle ne sait pas faire car elle maitrise pas la génération de forme, ce que l'on appel des symboles à travers le graphème. Ainsi en cryptologie elle est limité, alors que l'humain à la main avec du papier et un stylo a aucun mal à imaginer 26 lettres d'alphabets nouvelles. Certain disent que les intelligences artificielles ne sont qu'un perroquet qui ne fait que répéter. Cela est réducteur, elles font aussi des découvertes en fonction du jeu de donnée.

En tout cas un excellent exercice pour vérifier la puissance d'une intelligence artificielle est l'enseignement de Linux.

Voici une liste de prompt à demander pour avoir un système d'apprentissage sur mesure expliquant la plupart des topics à connaitre pour un "super utilisateur" de Linux.

Linux de A à Z pour "super-utilisateur"

Chap 1

  • 1.1 A propos de /bin/sh et le shell
  • 1.2 utilisez le shell
  • 1.3 Les commandes basics et comment fonctionne les arguments
  • 1.4 Comment naviguer dans les fichiers, dossiers, les gérer ainsi que le chemin
  • 1.5 Commandes intermédiaires: grep, more, less, diff, pwd, file, find, head, tail, sort
  • 1.6 Changer son mot de passe utilisateur et root (qu'es ce que le compte root)
  • 1.7 Qu'es-ce que les .dotfiles
  • 1.8 Environnement et variables de shell
  • 1.9 La commande PATH
  • 1.10 Les éditeurs de texte en ligne de commande (vi, emacs, nano)
  • 1.11 Obtenir de l'aide, avec man
  • 1.12 Shell I/O
  • 1.13 Shell: Erreur standard et redirection
  • 1.14 Processus, comment cela fonctionne sous Linux (ps, kill)
  • 1.15 Processus en arrière plan
  • 1.16 Mode et permission sur les fichiers, gestion de privilège
  • 1.17 Modifier des permissions
  • 1.18 Liens symboliques
  • 1.19 Archiver et compression de fichier

Chap 2

  • 2.1 Hierarchie du dossier / (root) et leur spécificité
  • 2.2 Structure du kernel et son fonctionnement
  • 2.3 gérer les périphériques et la commande dd
  • 2.4 gérer les disques durs et le stockage
  • 2.5 terminal et TTY
  • 2.6 Partitionner un disque périphérique
  • 2.7 La table de partition et GPT
  • 2.8 Gérer le raid
  • 2.9 Gérer les volumes logiques LVM
  • 2.10 Le chiffrement avec dm-crypt/LUKS
  • 2.11 Système de fichier, le type, création
  • 2.12 Monter un système de fichier
  • 2.13 Le fichier /etc/fstab
  • 2.14 Capacité du système de fichier et la commande df
  • 2.15 Checking et réparer le système de fichier
  • 2.16 Créer des snapshots en BTRFS
  • 2.17 système de fichier spéciaux: proc, tmpfs
  • 2.18 Swap et mémoire virtuelle
  • 2.19 Créer et gérer la swap, combien de capacité nécessaire
  • 2.20 Qu'es-ce que chrooter l'environnement?

Chap 3

  • 3.1 Comment Linux boot
  • 3.2 Kernel start init
  • 3.3 Runlevels
  • 3.4 Comment les services démarres à Runlevels
  • 3.5 Qu'es-ce que systemd et comment cela fonctionne
  • 3.6 Eteindre le système
  • 3.7 Les bootloaders (GRUB, LILO, SYSLINUX)
  • 3.8 Console de secours en booting

Chap 4

  • 4.1 Systeme logs
  • 4.2 Fichier de configuration de /etc
  • 4.3 Fichier de management utilisateur /etc/passwd
  • 4.4 Manipulation des utilisateurs et mot de passe
  • 4.5 Travailler avec les groupes
  • 4.6 gérer le temps avec hwclock
  • 4.7 Timezones
  • 4.8 NTP Server
  • 4.9 Plannifier des tâches avec Cron
  • 4.10 Trouver des fichiers ouverts avec lsof
  • 4.11 Tracing programme execution avec strace et ltrace et time
  • 4.12 Ajuster la priorité des processus
  • 4.13 Monitorer la performance du système
  • 4.14 Lancer des commandes en root via sudo et le fichier visudo de configuration
  • 4.15 Qu'es-ce que UID

Chap 5

  • 5.1 Couche réseau et modèle OSI
  • 5.2 Subnet, mask réseau
  • 5.3 Outils ICMP: ping
  • 5.4 Configurer l'interface avec la commande ip
  • 5.5 Configurer la passerelle avec route
  • 5.6 Résolveur DNS avec /etc/hosts et /etc/resolv.conf
  • 5.7 DHCP Client
  • 5.8 PPP Connexion
  • 5.9 Fonctionnement d'une connexion SSH et openSSH
  • 5.10 Firewall avec ufw
  • 5.11 Qu'es-ce qu'un NAT (Network Address Translation)
  • 5.12 Connexion wifi avec l'outil iwconfig et iwctl
  • 5.13 Qu'es-ce que l'adresse MAC et le ESSID?
  • 5.14 La sécurité réseau wifi et ces protocoles
  • 5.15 Les VPN: openVPN et wiregard
  • 5.17 Network Manager et l'outil nmcli

Chap 6

  • 6.1 Telnet
  • 6.2 inetd deamon
  • 6.3 sshd server et client, paire de clé utilisation et génération
  • 6.4 Sécurité de SSH
  • 6.5 Outil de diagnostique: lsof, tcpdump, netcat
  • 6.6 Remote procedure call (RPC)
  • 6.7 Sécurité réseau et vulnérabilité (CVE)
  • 6.8 Port scanning avec nmap

Chap 7

  • 7.1 Introduction au script shell (variable, structure de contrôle, etc)
  • 7.2 Différents shell, sh, bsh, zsh, etc...
  • 7.3 Rendre executable un script shell
  • 7.4 Shell script utilitaire: basename, awk, sed, xargs, expr

Chap 8

  • 8.1 Linux en tant que système d'exploitation est codé en C, comment cela fonctionne
  • 8.2 Compiler C GCC, cas d'utilisation et "hello world" programme
  • 8.3 Header C programme
  • 8.4 Librairie, shared C programme
  • 8.5 Le pré-processeur en C
  • 8.6 Cas d'utilisation pour cpp (C++)

Chap 9

  • 9.1 Makefile
  • 9.2 debugger gdb
  • 9.3 scripting langage (Perl, Python, Ruby)
  • 9.4 Principe de l'Assembleur et NASM
  • 9.5 Générer du code assembleur avec GCC

Chap 10

  • 10.1 Compiler un logiciel à partir du source code
  • 10.2 Git et la commande clone
  • 10.3 Unpackaging source
  • 10.4 Lire le README et trouver le fichier INSTALL
  • 10.5 GNU Autoconf

Chap 11

  • 11.1 Configurer et compiler un nouveau kernel à partir des sources
  • 11.2 Manipuler les modules kernel loadable
  • 11.3 Configurer le bootloader pour charger en mémoire le kernel
  • 11.4 Utilitaire et procédure pour le kernel
  • 11.5 Explication de la Virtualisation et KVM/QEMU
  • 11.5 Interface d'administration virt-manager et Proxmox

Chap 12

  • 12.1 Qu'es-ce que PostScript
  • 12.2 Gestion de l'imprimante et le service Cups
  • 12.3 Filtre d'imprimante Foomatic
  • 12.4 Client d'imprimante avec lp
  • 12.5 Configurer et démarrer Cups
  • 12.6 Ajoutez et editer une imprimante
  • 12.7 Les imprimantes driverless
  • 12.8 lpinfo -v
  • 12.9 Fichier PPD

Chap 13

  • 13.1 Introduction à la sauvegarde
  • 13.2 Stratégie de sauvegarde sous Linux
  • 13.3 Outils pour sauvegarde (Borg, Duplicity, Bacula)

Chap 14

  • 14.1 Dossier et fichier partager sur le réseau avec Samba (NAS)
  • 14.2 Smb client
  • 14.3 Configurer le server smb
  • 14.4 Contrôle d'accès smb et mot de passe
  • 14.5 Accéder à des fichiers sur le serveur smb
  • 14.6 Egalement le serveur NFS, différence avec smb
  • 14.7 Explorer TrueNAS

Chap 15

  • 15.1 Rsync basics
  • 15.2 Faire une copie exacte d'une structure de dossier avec rsync
  • 15.3 Exclure des fichiers et dossiers avec rsync
  • 15.4 Checksums et verbose transfer avec rsync
  • 15.5 Compresser les données avec rsync

Chap 16 (Arch Linux)

  • 16.1 Concept de rolling release
  • 16.2 Qu'es-ce qu'un gestionnaire de paquet? concept de repository et dépôt distant
  • 16.3 mirrorlist et reflector, forcing https
  • 16.4 Utilisation de pacman
  • 16.5 Repository sécurité et signature de paquet via arch-keyring
  • 16.6 Qu'es-ce que les dépots communautaires AUR
  • 16.7 Installation et utilisation d'un AUR Helper tel que yay
  • 16.8 Comment fonctionne ABS sous Arch Linux
  • 16.9 Comment devenir un mainteneur sous Arch Linux
  • 16.10 Qui est Greg K-H et pourquoi son équipe utilise Arch Linux

Chap 17

  • 17.1 Environnement de bureau sous Linux (Gnome, XFCE, KDE)
  • 17.2 les gestionnaires de sessions au démarrage
  • 17.2 Qu'es-ce que Xorg et Wayland
  • 17.3 Les "Tiling Windows Manager" (i3, hyprland)
  • 17.4 La barre des tâches
  • 17.5 Le gestionnaire et explorateur de fichier sous Linux
  • 17.6 Les launchers tel que Sinapse ou Albert

Conclusion

chatGPT est un excellent outil pour apprendre Linux, vous pouvez aller plus loin en lui demandant de simuler un terminal au lieu de lancer une machine virtuelle sous Linux pour faire des tests et configuration. Avec ce programme vous serez un "super-utilisateur" sous Linux et pourrez installer une distribution avancée pour expert tel que Arch Linux sans aucun problème, et trouverez cela même déconcertant après avoir appris tout ceci et atteindrez l'élite de l'informatique avec des bases solides.