====== Linux ======
===== Gestion des paquets =====
\\
==== Sources (tarball) ====
Exemple : installation manuelle de Apache2
### Installation de paquets nécessaires à la compilation
$ **apt install** libapr1-dev libaprutil1-dev libpcre* make gcc
...\\
### Download des sources Apache 2.4.54
$ **wget** https://dlcdn.apache.org/httpd/httpd-2.4.54.tar.gz\\
### Décompression du TAR.GZ
$ **tar xvzf** http-2.4.54.tar.gz
$ **cd** httpd-2.4.54
### Configuration de l'installation
$ **./configure**
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
configure:
configure: Configuring Apache Portable Runtime library...
configure:
checking for APR... yes
setting CC to "x86_64-linux-gnu-gcc"
setting CPP to "x86_64-linux-gnu-gcc -E"
setting CFLAGS to " "
setting CPPFLAGS to " -DLINUX -D_REENTRANT -D_GNU_SOURCE"
setting LDFLAGS to " "
...
\\
### Démarrage de la compilation
$ **make**
Making all in os
make[1]: Entering directory '/root/httpd-2.4.54/os'
Making all in unix
make[2]: Entering directory '/root/httpd-2.4.54/os/unix'
make[3]: Entering directory '/root/httpd-2.4.54/os/unix'
/usr/share/apr-1.0/build/libtool --silent --mode=compile x86_64-linux-gnu-gcc -DLINUX -D_REENTRANT -D_GNU_SOURCE -I. -I/root/httpd-2.4.54/os/unix -I/root/httpd-2.4.54/include -I/usr/include/apr-1.0 -I/usr/include -I/root/httpd-2.4.54/modules/aaa -I/root/httpd-2.4.54/modules/cache -I/root/httpd-2.4.54/modules/core -I/root/httpd-2.4.54/modules/database -I/root/httpd-2.4.54/modules/filters -I/root/httpd-2.4.54/modules/ldap -I/root/httpd-2.4.54/modules/loggers -I/root/httpd-2.4.54/modules/lua -I/root/httpd-2.4.54/modules/proxy -I/root/httpd-2.4.54/modules/http2 -I/root/httpd-2.4.54/modules/session -I/root/httpd-2.4.54/modules/ssl -I/root/httpd-2.4.54/modules/test -I/root/httpd-2.4.54/server -I/root/httpd-2.4.54/modules/md -I/root/httpd-2.4.54/modules/arch/unix -I/root/httpd-2.4.54/modules/dav/main -I/root/httpd-2.4.54/modules/generators -I/root/httpd-2.4.54/modules/mappers -prefer-non-pic -static -c unixd.c && touch unixd.lo
/usr/share/apr-1.0/build/libtool --silent --mode=link x86_64-linux-gnu-gcc -o libos.la -static unixd.lo
make[3]: Leaving directory '/root/httpd-2.4.54/os/unix'
make[2]: Leaving directory '/root/httpd-2.4.54/os/unix'
make[1]: Leaving directory '/root/httpd-2.4.54/os'
...
\\
### Installation du paquet compilé
$ **make install**
Making install in srclib
make[1]: Entering directory '/root/httpd-2.4.54/srclib'
make[2]: Entering directory '/root/httpd-2.4.54/srclib'
make[2]: Leaving directory '/root/httpd-2.4.54/srclib'
make[1]: Leaving directory '/root/httpd-2.4.54/srclib'
Making install in os
make[1]: Entering directory '/root/httpd-2.4.54/os'
Making install in unix
...
Installing configuration files
mkdir /usr/local/apache2/conf
mkdir /usr/local/apache2/conf/extra
mkdir /usr/local/apache2/conf/original
mkdir /usr/local/apache2/conf/original/extra
Installing HTML documents
mkdir /usr/local/apache2/htdocs
Installing error documents
mkdir /usr/local/apache2/error
Installing icons
mkdir /usr/local/apache2/icons
mkdir /usr/local/apache2/logs
Installing CGIs
mkdir /usr/local/apache2/cgi-bin
Installing header files
mkdir /usr/local/apache2/include
Installing build system files
mkdir /usr/local/apache2/build
Installing man pages and online manual
mkdir /usr/local/apache2/man
mkdir /usr/local/apache2/man/man1
mkdir /usr/local/apache2/man/man8
mkdir /usr/local/apache2/manual
make[1]: Leaving directory '/root/httpd-2.4.54'
==== Distributions Debian/Ubuntu (.deb) ====
^Gestionnaire de paquets ^Nom complet ^Cheat sheet ^Description ^
|**dpkg** |Debian Package | {{ :linux:systeme:dpkg_cs.png?linkonly |}} | Outil en ligne de commande pour gérer les paquets .deb |
|**APT** |Advanced Package Tool |{{ :linux:systeme:apt_cs.pdf |}} |gestionnaire de paquets automatisé Debian |
^ Commandes APT ^^
|''sudo apt update'' | Mise à jour de la liste des paquets depuis les dépôts enregistrés |
|''sudo apt upgrade'' | Mise à jour de tous les paquets installés |
|''apt install apache2'' | Installer un paquet |
|''apt remove apache2'' | Supprimer un paquet |
|''apt search apache2'' | Rechercher un terme dans la liste des paquets référencés |
|''apt list --installed'' | Lister les paquets installés |
\\
==== Distributions Red Hat/Fedora (.rpm) ====
^Gestionnaire de paquets ^Nom complet ^Cheat sheet ^Description ^
|**RPM** |Redhat Package Manager | {{ :linux:systeme:rpm_cs.pdf |}} |gestionnaire historique de Red Hat |
|**YUM** |Yellowdog Updater Modified | {{ :linux:systeme:yum_cs.pdf |}} |gestionnaire automatisé de red Hat |
|**DNF** |Dandified Yum | {{ :linux:systeme:dnf_cs.pdf |}} |gestionnaire principal de Fedora.\\ Remplace RPM sur les versions récentes de Red Hat |
^ Commandes RPM ^^
|''rpm -ivh '' | Installer manuellement un paquet RPM |
|''rpm -Uvh '' | Mettre à jour un paquet avec RPM |
|''rpm -e '' | Supprimer un paquet |
|''rpm -qa''\\ ''rpm -qa | grep '' | Lister les paquets installés |
|''rpm -qa --last'' | Lister les paquets installés du plus récent au plus ancien |
|''rpm -qi nfs-utils'' | Informations concernant un paquet installé |
|''rpm -qf /etc/nfs.conf''\\ ''rpm -q --whatprovides ifconfig'' | Chercher à quel paquet appartient un fichier donné |
^ Commandes YUM ^Commandes DNF ^ ^
^ Gestion des paquets ^^^
|''sudo yum update'' |''sudo dnf update'' | Mise à jour de la liste des paquets depuis les dépôts enregistrés |
|''sudo yum upgrade'' |''sudo dnf upgrade'' | Mise à jour de tous les paquets installés |
|''yum search httpd'' |''dnf search httpd'' | Recherche le terme 'httpd' dans tous les paquets référencés |
|''yum list httpd'' |''dnf list httpd'' | Recherche un paquet portant le nom 'httpd' |
|''yum list recent'' |''dnf list recent'' | Lister les paquets récemment ajoutés aux dépôts |
|''yum info httpd'' |''dnf info httpd'' | Obtenir des infos sur le paquet httpd |
|''yum install httpd'' |''dnf install httpd'' | Installer le paquet 'httpd' et ses dépendances |
|''yum remove httpd'' |''dnf remove httpd'' | Supprimer le paquet httpd |
^ Gestion des Repositories ^^^
|''yum repolist all'' |''dnf repolist all'' | Lister tous les dépôts installés |
|''yum repolist'' |''dnf repolist'' | Lister les dépôts actifs |
| |''dnf install --nogpgcheck http://adresse.com/depot_name.repo''\\ ou\\ ''dnf config-manager --add-repo http://adresse.com/depot_name.repo'' | Ajouter un dépôt |
|''yum repolist disable "depot_name"'' |''dnf config-manager --set-disabled depot_name"'' | Désactiver un dépôt |
|''yum repolist enable "depot_name"'' |''dnf config-manager --set-enabled depot_name'' | Activer un dépôt |
La liste des dépôts se trouve sous le répertoire : ''**/etc/yum.repos.d/**''.\\
Ajouter un dépôt manuellement :
[nom-du-depôt]
name=Le nom du dépôt $releasever - $basearch
baseurl=http://adresse-du-dépôt.com/fedora/$releasever/$basearch/
mirrorlist=http://adresse-du-miroire.com/fedora/$releasever/
enabled=1
gpgcheck=1
gpgkey=http://adresse-de-la-clés-gpg/RPM-GPG-KEY-nomdudépôt