Formation Evolix
installation Linux
Méthode d'installation
par CD/ROM ou clé USB (machine physique ou virtuelle)
par le réseau, via boot PXE+DHCP+TFTP
Image préinstallée par un hébergeur
Conteneur minimal (LXC/Docker)
Compatibilité du matériel
enjeu principal : carte réseau et controleur disque/RAID
test avec Live-CD
Compatibilité du matériel
lspci -n sur http://kmuto.jp/debian/hcl/ plus à jour :(
Listes de diffusion
Recherche Google avec “site:lists.debian.org/debian-boot”
Choix pour un serveur
carte réseau : 1G ou 10G ?
CPU Intel Xeon : fréquence ? nombre de cores ? https://www.cpubenchmark.net/
Quantité de mémoire
Importance du stockage :
local ou distant (NFS, iSCSI)
Type : SATA, SAS, SSD ?
Performance lecture/écriture : Mo/s, IOPS
Gestion du cache
Focus sur le RAID
RAID0
RAID1
RAID5
RAID6
RAID10
RAID hardware ou logiciel
Focus sur le stockage
parted
Partitionnement
Partitionnement DOS limité à 2,2 T
Partitionnement GPT
Outils : fdisk, cfdisk, sfdisk, parted
/boot / /var /usr /tmp 2xswap /srv /home
systèmes de fichiers : ext3/ext4, reiserfs, xfs, btrfs
Réseau
Fichiers de paramètres :
Fichiers spécifiques /etc/resolv.conf, /etc/hosts
Configuration dynamique DHCP
(Dynamic Host Configuration Protocol)
Paramètres réseau sont automatiquement mis en place.
Configuration statique
Configuration manuelle des fichiers
Outils réseaux
(ifconfig, ping, route, ip, netstat, traceroute...)
Installation de logiciels
- Méthode classique de compilation des sources.
- Utilisation du système de packages
Les packages sont des binaires précompilés qui sont prêts à être installés de façon simple et rapide. Les dépendances sont gérées, ainsi que la mise à jour et la suppression des packages déjà installés (varie selon les distributions).
TP : installation Debian GNU/Linux
Choix de la version
Debian GNU/Linux « Sid » : actuelle version unstable
Debian GNU/Linux 10 (« Buster ») : actuelle version testing
Debian GNU/Linux 9 (« Stretch ») : actuelle version stable
Debian GNU/Linux 8 (« Jessie ») : actuelle version oldstable
Debian GNU/Linux 7 (« Wheezy ») : actuelle version oldoldstable
Debian GNU/Linux 6 (« Squeeze »)
Debian GNU/Linux 5 (« Lenny »)
Debian GNU/Linux 4 (« Etch »)
Debian GNU/Linux 3.1 (« Sarge »)
Debian GNU/Linux 3.0 (« Woody »)
Debian GNU/Linux 2.2 (« Potato »)
Debian GNU/Linux 2.1 (« Slink »)
Debian GNU/Linux 2.0 (« Hamm »)
boot sur CD/DVD ou USB
choix de la langue : anglais (en_US.UTF8)
réglage du clavier
réseau
partitionnement
choix des miroirs
mot de passe
choix de packages
installation GRUB
console de debug à l'installation
lspci | grep Eth
ip addr show
dmesg | grep sd
cat /proc/cpuinfo
Focus sur Vim
# apt install vim
# select-editor
# vi /etc/vim/vimrc
let g:skip_defaults_vim = 1
# vi ~/.vimrc
"musthave
syntax on
set background=dark
set nocompatible
"dev
set expandtab
set shiftwidth=4
set softtabstop=4
set tabstop=4
Vim basics
Mode "commandes" <-> Mode "insertion"
[Échap] <-> i
Mode "commandes"
----------------
:w enregistrer
:wq enregistrer et quitter
:q! quitter sans enregistrer
gg aller tout en haut
G aller tout en bas
$ aller en fin de ligne
/foo chercher "foo"
dd supprimer (ou couper) la ligne actuelle
yy copie la ligne actuelle
x supprimer (ou couper) le caractère courant
p coller après le curseur
P coller avant le curseur
v mode visuel pour couper ou copier facilement
rX remplace le caractère courant par X
u annule la dernière commande
Ctrl+r restaure la dernière commande
Passer en mode insertion
------------------------
i passer en mode insert avant le curseur
a passer en mode insert après le curseur
I passer en mode insert au début de la ligne
A passer en mode insert à la fin de la ligne
o sauter une ligne et passer en mode insert
# apt install locales
$ LANG=fr_FR.UTF8 /usr/bin/vimtutor
Focus sur dpkg / APT
- Utilitaire principal : dpkg
dpkg -l
dpkg --unpack
dpkg --configure
dpkg -i
dpkg -r
dpkg -P
dpkg -L
dpkg -S
dpkg -s
dpkg-reconfigure
- Gestion avancée de paquets : APT
(Advanced Package Tool)
Dépendances, mises à jour, conflits [Packages.gz]
- Sources de paquets : /etc/apt/sources.list
netselect / apt-cdrom / apt-config
- Interface pour APT : apt, apt-cache, apt-get, aptitude
apt update
apt upgrade
apt install paquet
apt remove paquet
apt purge paquet
apt-cache show / search / -n search / depends / rdepends / policy
etc.
apt -s install
apt-file
apt-show-versions
apt-listchanges
apt clean/autoclean
apt upgrade/full-upgrade
apt changelog
rmadison
apt-get check
apt source
apt build-dep
debuild -us -uc
# vim /etc/apt/sources.list
deb http://mirror.evolix.org/debian/ stretch main
deb http://security.debian.org/ stretch/updates main
deb http://mirror.evolix.org/debian/ stretch-updates main
deb http://mirror.evolix.org/debian/ stretch main
# dpkg-reconfigure -plow debconf
# vim /etc/apt/apt.conf.d/99custom
APT::Install-Recommends "false";
APT::Install-Suggests "false";
DPkg::Pre-Invoke { "mount -oremount,exec /tmp && mount -oremount,rw /usr || true"; };"
DPkg::Post-Invoke { "mount -oremount /tmp && mount -oremount /usr || true"; };"
# vim /etc/fstab
/dev/sda2 / ext4 defaults,errors=remount-ro 0 1
/dev/sda1 /boot ext4 defaults 0 2
/dev/sda3 /var ext4 defaults 0 2
/dev/sda5 /usr ext4 defaults,ro 0 2
/dev/sda6 /tmp ext4 defaults,noexec,nosuid,nodev 0 2
/dev/sda7 none swap sw 0 0
/dev/sda8 none swap sw 0 0
/dev/sda9 /home ext4 defaults,noexec,nosuid,nodev 0 2
tmpfs /var/tmp tmpfs defaults,noexec,nosuid,nodev 0 2
On installe Postfix :
# apt install postfix
On renvoie tous les alias vers root :
# getent passwd | cut -d":" -f1 | sed "s/$/: root/" > /etc/aliases
# vim /etc/aliases
# newaliases
Installons les outils de base :
# apt install ssh less mailx sudo munin htop iotop iftop
Mesure des performances disque
# time dd if=/dev/zero of=/home/32gb bs=1024k count=32768
# time dd if=/home/32gb of=/dev/null bs=1024k count=32768
# time rm /home/32gb
# apt install postgresql-contrib
# /usr/lib/postgresql/9.6/bin/pg_test_fsync
Mesure des performances réseau
# apt install iperf mtr-tiny
$ ping -4 google.fr
$ mtr -4 google.fr
$ iperf -c debit.k-net.fr
Comment choisir sa version de Linux ?
- Versions logiciels fixes : Apache / PHP / MySQL / etc.
- Version nue / panel (cpanel, plesk)
- apt-get / yum install
Récapitulatif
Choix matériel
Choix version de Linux
Premières optimisations
Validation des performances