Table des matières
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
- pinguer un hostname sur un réseau local, c'est parfois plus difficile que prévu
- Installer, configurer les 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 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
(sicatalyst
, attention à la version) - un display manager comme
gdm
, bien que cela peut-être installé via un Desktop Environnement commegnome
- un window manager comme
openbox
, mais on préferera en général l'expérience utilisateur proposée par un desktop Environnement commegnome
,kde
,LXDE
…
- 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é ici
Les services de base
- 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 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-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 :
- L'interpréteur de commande, pièce maitresse de la console peut se 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
SSL, SSH & Co
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 (https) et l'accès distant au système, ssh, avec ou sans clés publiques (pubkey) et 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
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