====== Concepts et fichiers de conf ======
Ce chapitre est une sorte de sauvegarde de mes fichiers de conf, en particulier ceux qui sentent la sueur...
===== Installation =====
On commence par installer le système d'exploitation et les quelques outils indispensables :
==== Régler les soucis de réseaux ====
*[[reseauVirtualBox|avoir du réseau dans un guest centos sur virtualbox]]
*pinguer un [[hostname]] sur un réseau local, c'est parfois plus difficile que prévu
*Installer, configurer les [[stockage|disque dur, SSD, partitions & Co]]
*[[avahi]], voir des ordis en réseau ''.local''
==== J'ai installé ArchLinux ... ====
... et puis j'ai eu des petits soucis, voici qques solutions :
*[[clavier]], avoir le layout azerty ...
*[[grub|grub et GPT]], installer grub comme bootloader avec une table de partion GPT
*J'ai ensuite rencontré des problèmes de réseau, lié à [[dhcpcd]]
*Si on veut une **interface graphique**, il faut installer dans l'ordre :
*un **display driver** comme [[catalyst]]
*un **display server** comme ''Xorg-server'' (si ''catalyst'', attention à la version)
*un **display manager** comme ''gdm'', bien que cela peut-être installé via un **Desktop Environnement** comme ''gnome''
*un **window manager** comme ''openbox'', mais on préferera en général l'expérience utilisateur proposée par un **desktop Environnement** comme ''gnome'', ''kde'', ''LXDE''...
*Suite à des petits soucis avec le driver [[catalyst]], il a fallu installer ''catalyst-fix-gdm'' depuis [[AUR]]
*Gérer les problèmes d'[[horloge]]
==== Gérer les utilisateurs ====
=== Concepts, system user ===
Sur linux, il existe des utilisateurs et des utilisateurs systèmes :
#system user can be used to run processes/daemons under different user, protectin files/directories (ex chroot)
runuser -l username -c 'command'
su username -c 'command' # si username est vide, alors c'est root
useradd -r -s /usr/bin/nologin taiga
#-r => system user
# /usr/bin/nologin : valable pour arch, pour debian ou centos je sais pas (/sbin/nologin ?)
=== Créer, modifier, supprimer des utilisateurs standards ===
C'est expliqué [[https://wiki.lucmasson.info/doku.php?id=commandes#gestion_des_utilisateurs|ici]]
==== Les services de base ====
*[[muttmsmtp|mutt + msmtp]], envoyer des mails avec pièce jointe en 1 ligne de commande (Féniant Inside ©)
*Un serveur WEB : les bases de [[nginx]], et si possible un peu plus (php, phpmyadmin, https, webdav...)
*Un [[pure-ftpd|serveur ftp]] performant et sécurisé, mais dont la configuration suit une logique... spécifique ;)
*[[samba]], pour le partage de fichiers, notamment avec des ordinateurs sous Windows
*[[postfix]], un serveur mail (smtp pour être exact)
*[[dovecot]], un serveur imap
==== Autres services/applications ====
*[[ir|ir-remote]], piloter son ordi (en tt cas kodi) avec une télécommande infra-rouge
----------------------------------
===== Gérer le système d'exploitation =====
==== Manipuler la console ====
Les systèmes à base de linux sont souvent plus facilement pilotables depuis une console, voici quelques trucs et astuces :
*[[bash|L'interpréteur de commande]], pièce maitresse de la console peut se [[https://wiki.lucmasson.info/doku.php?id=bash#color_bash_prompt|personnaliser]]
*Les commandes contiennent souvent des [[regex]], relations rationnelles/régulières
*Pour éditer les fichiers de conf : [[vim]], un éditeur qu'il est bien (ok, nano peut faire l'affaire parfois et il est plus simple)
==== La configuration et les outils de configuration du système ====
*Bidouiller les chargements de [[kernel]], les paramètres de boot etc..
*Pour installer des logiciels et bibliothèques, il y a les [[depots|depôts]]
*Les linux modernes sont livrés avec [[systemd]], une sorte super-ordonnanceur qui gère l'initialisation du système et parfois un peu plus...
==== SSL, SSH & Co ====
[[ssl|ssl/https]], [[ssh]], [[pubkey]], [[keychain]]\\ \\
Dans le domaine de la sécurité, je sépare le intérieur de l'extérieur :\\
*l'intérieur consiste en la préservation du système lui même, les utilisateurs, leurs droits etc..
*L'extérieur consiste à sécuriser les échanges entre le système et le monde extérieur, en général via internet
=== Le monde de l'intérieur ====
//on reparlera de ça plus tard, ok ?//
=== Les échanges avec l'extérieur ===
Ici, on parle des échanges données dans le cas de pages web, de ftp, ... via une couche [[ssl|ssl (https)]] et l'accès distant au système, [[ssh]], avec ou sans [[pubkey|clés publiques (pubkey)]] et [[keychain|gestionnaire de clé (keychain)]]
===== latex =====
un éditeur - compilateur latex sympathique pour archlinux : gummi
===== zfs =====
Quelques notes sur [[zfs]], notamment sur debian (j'ai essayé freenas mais je n'ai pas été assez patient)
===== letsencrypt =====
./certbot-auto certonly --webroot --webroot-path /srv/www/domain.tld/ --domain domain.tld --domain www.domain.tld --email mon@email.com
===== Arborescence typique =====
[[https://www.linuxtricks.fr/wiki/arborescence-du-systeme-linux|source]]
^ PATH ^ Commentaire ^
|/| "racine" : base de l'arborescence virtuelle, contient les répertoires principaux |
|/bin | "binaries" : executables essentiels au système, utilisables par tous les utilisateurs (ls, cp...) |
|/boot | fichiers permettant à Linux de démarrer |
|/dev | "device" : fichiers spéciaux représentatnt les périphériques |
|/etc | "editing text config" : fichiers texte nécessaires à la configuration du système et des services principaux |
|/home | répertoire des données personnelles des utilisateurs |
|/lib | "librairies" : bibliothèques partagées essnetielles au système |
|/media | point de montage de ressources temporaires (et/ou définitives) |
|/mnt | "mount" : point de montage de ressources temporaires |
|/opt | "optional" : répertoire générique pour l'installation de programmes hors dépôts de la distribution |
|/proc | "process" : virtuel (pas sur le disque), continet les informations sur le système |
|/root | répertoire personnel du superutilisateur |
|/run | "runtime system" : contient des infos relatives au système concernant les utilisateurs et services en cours d'execution |
|/sbin | "super binaries" : contient les programmes essentiels et utilisables uniquement par root |
|/sys | répertoire virtuel, continet des infos entre le système et ses composants matériels |
|/tmp | "temporary" : fichiers temporaires |
|/usr | "unix system resources" : contient des programmes installés (/usr/bin) avec leurs lib (/usr/lib), des programmes réservés à l'admin (/usr/sbin), des codes sources (/usr/src); des éléments partagés indépendant de l'architecture tels que des docs, icones (/usr/share), et dans /usr/local des programmes compilés manuellement |
|/var | contient des données variables, qui peuvent changer, typiquement des logs, des pages des sites web (/var/www), des bdd ... |
===== init =====
Depuis un script (sh, busybox), écrire dans dmesg :
echo "mon super message" > /dev/kmsg
===== Séparateur décimal =====
[[https://tuxicoman.jesuislibre.net/2022/10/changer-le-separateur-decimal-sur-linux.html]]
[[su|su, se loguer en root]]