un deamon qui gère tous les autres processus du systeme le process 1 de la machine est systemd -> c'est lui qui va lancer tous les autres process /sbin/init -> /lib/systemd/systemd est un lien symbolique vers systemd
sudo systemctl status apache2 charge la conf de démarrage d'apache /lib/systemd/system/apache2.service
[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
Documentation=https://httpd.apache.org/docs/2.4/
[Service]
Type=forking
Environment=APACHE_STARTED_BY_SYSTEMD=true
ExecStart=/usr/sbin/apachectl start
ExecStop=/usr/sbin/apachectl stop
ExecReload=/usr/sbin/apachectl graceful
PrivateTmp=true
Restart=on-abort
[Install]
WantedBy=multi-user.target
Restart=on-failure -> redémarre si le process est tombé inopinément
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2019-08-21 10:48:06 CEST; 8min ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 14895 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 14914 (apache2)
Tasks: 7 (limit: 4915)
Memory: 35.3M
CGroup: /system.slice/apache2.service
├─14914 /usr/sbin/apache2 -k start
├─14936 /usr/sbin/apache2 -k start
├─14937 /usr/sbin/apache2 -k start
├─14938 /usr/sbin/apache2 -k start
├─14939 /usr/sbin/apache2 -k start
├─14940 /usr/sbin/apache2 -k start
└─14941 /usr/sbin/apache2 -k start
août 21 10:48:06 lgi-pc systemd[1]: Starting The Apache HTTP Server...
août 21 10:48:06 lgi-pc apachectl[14895]: [Wed Aug 21 10:48:06.576646 2019] [so:warn] [pid 14911] AH01574: module php7_module is already loaded, skipping
août 21 10:48:06 lgi-pc apachectl[14895]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName
août 21 10:48:06 lgi-pc systemd[1]: Started The Apache HTTP Server.
pour modifier comment démarre les services il faut toucher à /etc/systemd/system/
pour prendre en compte les modifs de la conf de systemd : systemctl daemon reload
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin
important pour le cron de la setter pour qu'il trouve bien tous les programmes à exécuter, ça peut être un cas d'erreur au cas où le cron n'arrive pas à exécuter une commande
export PATH="$PATH:/opt/..."pour enchainer des programmes on utilise le | &1 | &0 la sortie standard du premier programme est passée à l'entrée standard du 2ie programme ex :
ps -aux | grep apache
$$ donne le pid de notre shell courant
sudo ls -al /proc/$$/fd -> donne les files descriptors de notre shell courant on peut remplacer $$ par un pid
sudo ls -al /proc/14941/fd
total 0
dr-x------ 2 root root 0 août 21 11:09 .
dr-xr-xr-x 9 lgi lgi 0 août 21 10:48 ..
lr-x------ 1 root root 64 août 21 11:09 0 -> /dev/null
l-wx------ 1 root root 64 août 21 11:09 1 -> /dev/null
l-wx------ 1 root root 64 août 21 11:09 10 -> /var/log/apache2/access.log
lrwx------ 1 root root 64 août 21 11:09 11 -> '/tmp/.ZendSem.TvBF6r (deleted)'
lrwx------ 1 root root 64 août 21 11:09 12 -> 'anon_inode:[eventpoll]'
l-wx------ 1 root root 64 août 21 11:09 2 -> /var/log/apache2/error.log
lrwx------ 1 root root 64 août 21 11:09 3 -> 'socket:[1402717]'
lrwx------ 1 root root 64 août 21 11:09 4 -> 'socket:[1402718]'
lrwx------ 1 root root 64 août 21 11:09 5 -> 'socket:[1402721]'
lrwx------ 1 root root 64 août 21 11:09 6 -> 'socket:[1402722]'
lr-x------ 1 root root 64 août 21 11:09 7 -> 'pipe:[1403430]'
l-wx------ 1 root root 64 août 21 11:09 8 -> 'pipe:[1403430]'
l-wx------ 1 root root 64 août 21 11:09 9 -> /var/log/apache2/other_vhosts_access.log
/proc permet de gérer la ram du system notamment
sudo lsof -p 14941
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
lsof: WARNING: can't stat() fuse file system /run/user/1000/doc
Output information may be incomplete.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
apache2 14941 lgi cwd DIR 259,2 4096 2 /
apache2 14941 lgi rtd DIR 259,2 4096 2 /
apache2 14941 lgi txt REG 259,2 687944 10896646 /usr/sbin/apache2
apache2 14941 lgi mem REG 259,2 282752 6029823 /lib/x86_64-linux-gnu/libnss_systemd.so.2
...
apache2 14941 lgi 0r CHR 1,3 0t0 6 /dev/null
apache2 14941 lgi 1w CHR 1,3 0t0 6 /dev/null
apache2 14941 lgi 2w REG 259,2 1333 393612 /var/log/apache2/error.log
apache2 14941 lgi 3u sock 0,9 0t0 1402717 protocol: TCP
apache2 14941 lgi 4u IPv6 1402718 0t0 TCP *:http (LISTEN)
apache2 14941 lgi 5u sock 0,9 0t0 1402721 protocol: TCP
apache2 14941 lgi 6u IPv6 1402722 0t0 TCP *:https (LISTEN)
apache2 14941 lgi 7r FIFO 0,12 0t0 1403430 pipe
apache2 14941 lgi 8w FIFO 0,12 0t0 1403430 pipe
...
permet de voir par exemple si php a bien chargé une librairie complémentaire : ex php-ldap
mkdir /opt/maarch/vagrant_test/
vagrant init debian/buster64
vagrant up
vagrant ssh
vagrant ssh-config -> pour voir la conf ssh
demander à Benjamin de nous passer son Vagrantfile
former les dev sur ce sujetsupprimer une partition d'une facon irréversible dd if=/dev/zero of=/dev/sda2 -> rempli le disque de zéro
fdisk -l fdisk /dev/sdb sfdisk -d /dev/sda -> fait un dump disk de la partition resize2fs pratique si le systeme de fichier est en lvm
mountpoint permet de savoir si un répertoire est lié à un point de montage attention à l'empilement des points de montage (si il y avait déjà des fichiers dans le répertoire ou l'on a monté un nouveau disque)
pour trouver d'où vient un souci d'espace disque alors qu'il y a un point de montage empilé, il faut créer un point de montage ailleurs : mkdir sherlock mount -o bind / sherlock
truncate -s2 -> permet de vider un fichier -> garde que les 2 premiers octets du fichier
fonctionne avec un fichier de conf pour installer automatiquement un OS à partir d'une ISO -> répond automatiquement aux questions de l'installeur d'OS https://cloudinit.readthedocs.io/en/latest/ -> conf de vm à partir d'images et non pas à partir d'ISO