====== 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]]