Installation de paquet

De Wiki de Jordan LE NUFF
Sauter à la navigation Sauter à la recherche
(Page créée avec « ==Présentation== Cette page a pour objet de décrire différentes d'installation de paquet sur des serveurs Linux. ==Installation de paquet== Un paquet peut être instal... »)
 
 
(2 révisions intermédiaires par le même utilisateur non affichées)
Ligne 13 : Ligne 13 :
  
 
Ainsi, pour rechercher un paquet, ''drush'' par exemple, il faut taper la commande suivante :
 
Ainsi, pour rechercher un paquet, ''drush'' par exemple, il faut taper la commande suivante :
zypper se drush
+
{{terminal|text=
 +
zypper se drush}}
  
 
<u>Exemple de retour :</u>
 
<u>Exemple de retour :</u>
<pre>
+
{{terminal|text=
 
Loading repository data...
 
Loading repository data...
 
Reading installed packages...
 
Reading installed packages...
  
S | Name  | Summary                                              | Type
+
S {{!}} Name  {{!}} Summary                                              {{!}} Type
 
--+-------+-------------------------------------------------------+--------
 
--+-------+-------------------------------------------------------+--------
   | drush | Command line shell and scripting interface for Drupal | package
+
   {{!}} drush {{!}} Command line shell and scripting interface for Drupal {{!}} package}}
</pre>
 
  
 
Pour l'installer, il faudra taper :
 
Pour l'installer, il faudra taper :
zypper in drush
+
{{terminal|text=
 +
zypper in drush}}
  
 
<u>Exemple de retour :</u>
 
<u>Exemple de retour :</u>
<pre>Loading repository data...
+
{{terminal|text=
 +
Loading repository data...
 
Reading installed packages...
 
Reading installed packages...
 
Resolving package dependencies...
 
Resolving package dependencies...
Ligne 44 : Ligne 46 :
 
11 new packages to install.
 
11 new packages to install.
 
Overall download size: 3.7 MiB. Already cached: 0 B. After the operation, additional 17.2 MiB will be used.
 
Overall download size: 3.7 MiB. Already cached: 0 B. After the operation, additional 17.2 MiB will be used.
Continue? [y/n/...? shows all options] (y):
+
Continue? [y/n/...? shows all options] (y):}}
</pre>
 
  
 
Cet exemple est intéressant car il montre que le gestionnaire de paquets va automatiquement installer les dépendances nécessaires.
 
Cet exemple est intéressant car il montre que le gestionnaire de paquets va automatiquement installer les dépendances nécessaires.
Ligne 52 : Ligne 53 :
  
 
Il est alors possible de rajouter l'option ''--no-recommends'' afin de réduire la liste des dépendances :
 
Il est alors possible de rajouter l'option ''--no-recommends'' afin de réduire la liste des dépendances :
zypper in --no-recommends drush
+
{{terminal|text=
 +
zypper in --no-recommends drush}}
  
 
<u>Exemple de retour :</u>
 
<u>Exemple de retour :</u>
<pre>
+
{{terminal|text=
 
Loading repository data...
 
Loading repository data...
 
Reading installed packages...
 
Reading installed packages...
Ligne 65 : Ligne 67 :
 
5 new packages to install.
 
5 new packages to install.
 
Overall download size: 3.2 MiB. Already cached: 0 B. After the operation, additional 16.7 MiB will be used.
 
Overall download size: 3.2 MiB. Already cached: 0 B. After the operation, additional 16.7 MiB will be used.
Continue? [y/n/...? shows all options] (y):
+
Continue? [y/n/...? shows all options] (y):}}
</pre>
 
  
 
Dans cet exemple, bien que la quantité de dépendances soit réduite, les paquets supplémentaires à installer sont également déjà présents sur le serveur.
 
Dans cet exemple, bien que la quantité de dépendances soit réduite, les paquets supplémentaires à installer sont également déjà présents sur le serveur.
Ligne 92 : Ligne 93 :
  
 
Par exemple, le paquet ''gxine'' n'est pas disponible sur les dépôts ZYpp d'OpenSUSE :
 
Par exemple, le paquet ''gxine'' n'est pas disponible sur les dépôts ZYpp d'OpenSUSE :
zypper se gxine
+
{{terminal|text=
 +
zypper se gxine}}
  
 
<u>Exemple de retour :</u>
 
<u>Exemple de retour :</u>
<pre>
+
{{terminal|text=
 
Loading repository data...
 
Loading repository data...
 
Reading installed packages...
 
Reading installed packages...
No matching items found.
+
No matching items found.}}
</pre>
 
  
 
Il est alors possible de le télécharger depuis http://packman.links2linux.org/package/gxine/911611.
 
Il est alors possible de le télécharger depuis http://packman.links2linux.org/package/gxine/911611.
  
 
Pour ce faire, taper la commande suivante :
 
Pour ce faire, taper la commande suivante :
wget http://packman.links2linux.org/download/gxine/3103004/gxine-0.5.910-1.178.x86_64.rpm
+
{{terminal|text=
 +
wget http://packman.links2linux.org/download/gxine/3103004/gxine-0.5.910-1.178.x86_64.rpm}}
  
 
<u>Exemple de retour :</u>
 
<u>Exemple de retour :</u>
<pre>
+
{{terminal|text=
 
--2019-08-26 17:20:26--  http://packman.links2linux.org/download/gxine/3103004/gxine-0.5.910-1.178.x86_64.rpm
 
--2019-08-26 17:20:26--  http://packman.links2linux.org/download/gxine/3103004/gxine-0.5.910-1.178.x86_64.rpm
 
Resolving packman.links2linux.org (packman.links2linux.org)... 178.63.53.104
 
Resolving packman.links2linux.org (packman.links2linux.org)... 178.63.53.104
Connecting to packman.links2linux.org (packman.links2linux.org)|178.63.53.104|:80... connected.
+
Connecting to packman.links2linux.org (packman.links2linux.org){{!}}178.63.53.104{{!}}:80... connected.
 
HTTP request sent, awaiting response... 302 Moved Temporarily
 
HTTP request sent, awaiting response... 302 Moved Temporarily
 
Location: http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/Multimedia/x86_64/gxine-0.5.910-1.178.x86_64.rpm [following]
 
Location: http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/Multimedia/x86_64/gxine-0.5.910-1.178.x86_64.rpm [following]
 
--2019-08-26 17:20:42--  http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/Multimedia/x86_64/gxine-0.5.910-1.178.x86_64.rpm
 
--2019-08-26 17:20:42--  http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/Multimedia/x86_64/gxine-0.5.910-1.178.x86_64.rpm
 
Resolving ftp.gwdg.de (ftp.gwdg.de)... 134.76.12.6, 2001:638:60f:110::1:2
 
Resolving ftp.gwdg.de (ftp.gwdg.de)... 134.76.12.6, 2001:638:60f:110::1:2
Connecting to ftp.gwdg.de (ftp.gwdg.de)|134.76.12.6|:80... connected.
+
Connecting to ftp.gwdg.de (ftp.gwdg.de){{!}}134.76.12.6{{!}}:80... connected.
 
HTTP request sent, awaiting response... 200 OK
 
HTTP request sent, awaiting response... 200 OK
 
Length: 296872 (290K) [application/x-redhat-package-manager]
 
Length: 296872 (290K) [application/x-redhat-package-manager]
Ligne 122 : Ligne 124 :
 
gxine-0.5.910-1.178.x86_64.rpm                              100%[========================================================================================================================================>] 289.91K  --.-KB/s    in 0.004s
 
gxine-0.5.910-1.178.x86_64.rpm                              100%[========================================================================================================================================>] 289.91K  --.-KB/s    in 0.004s
  
2019-08-26 17:20:42 (78.0 MB/s) - 'gxine-0.5.910-1.178.x86_64.rpm' saved [296872/296872]
+
2019-08-26 17:20:42 (78.0 MB/s) - 'gxine-0.5.910-1.178.x86_64.rpm' saved [296872/296872]}}
</pre>
 
  
 
Pour vérifier les dépendances nécessaires du paquet rpm, lancer la commande :
 
Pour vérifier les dépendances nécessaires du paquet rpm, lancer la commande :
rpm -qpR gxine-0.5.910-1.178.x86_64.rpm
+
{{terminal|text=
 +
rpm -qpR gxine-0.5.910-1.178.x86_64.rpm}}
  
 
<u>Exemple de retour :</u>
 
<u>Exemple de retour :</u>
<pre>
+
{{terminal|text=
 
warning: gxine-0.5.910-1.178.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 1abd1afb: NOKEY
 
warning: gxine-0.5.910-1.178.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 1abd1afb: NOKEY
 
config(gxine) = 0.5.910-1.178
 
config(gxine) = 0.5.910-1.178
Ligne 167 : Ligne 169 :
 
rpmlib(PartialHardlinkSets) <= 4.0.4-1
 
rpmlib(PartialHardlinkSets) <= 4.0.4-1
 
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
 
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1
+
rpmlib(PayloadIsXz) <= 5.2-1}}
</pre>
 
  
 
Le retour indique que de nombreuses dépendances sont nécessaires.
 
Le retour indique que de nombreuses dépendances sont nécessaires.
  
 
Pour installer le paquet ''gxine'', lancer la commande :
 
Pour installer le paquet ''gxine'', lancer la commande :
rpm -ivh gxine-0.5.910-1.178.x86_64.rpm
+
{{terminal|text=
 +
rpm -ivh gxine-0.5.910-1.178.x86_64.rpm}}
  
 
<u>Exemple de retour :</u>
 
<u>Exemple de retour :</u>
<pre>
+
{{terminal|text=
 
warning: gxine-0.5.910-1.178.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 1abd1afb: NOKEY
 
warning: gxine-0.5.910-1.178.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 1abd1afb: NOKEY
 
error: Failed dependencies:
 
error: Failed dependencies:
Ligne 188 : Ligne 190 :
 
         libmozjs185.so.1.0()(64bit) is needed by gxine-0.5.910-1.178.x86_64
 
         libmozjs185.so.1.0()(64bit) is needed by gxine-0.5.910-1.178.x86_64
 
         libpango-1.0.so.0()(64bit) is needed by gxine-0.5.910-1.178.x86_64
 
         libpango-1.0.so.0()(64bit) is needed by gxine-0.5.910-1.178.x86_64
         libxine.so.2()(64bit) is needed by gxine-0.5.910-1.178.x86_64
+
         libxine.so.2()(64bit) is needed by gxine-0.5.910-1.178.x86_64}}
</pre>
 
  
 
Un message d'erreur annonce l'absence des dépendances. Deux solutions sont alors possibles :
 
Un message d'erreur annonce l'absence des dépendances. Deux solutions sont alors possibles :
Ligne 199 : Ligne 200 :
  
 
Pour installer le paquet sans ses dépendances, lancer la commande suivante :
 
Pour installer le paquet sans ses dépendances, lancer la commande suivante :
rpm -ivh --nodeps gxine-0.5.910-1.178.x86_64.rpm
+
{{terminal|text=
 +
rpm -ivh --nodeps gxine-0.5.910-1.178.x86_64.rpm}}
  
 
<u>Exemple de retour :</u>
 
<u>Exemple de retour :</u>
<pre>
+
{{terminal|text=
 
warning: gxine-0.5.910-1.178.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 1abd1afb: NOKEY
 
warning: gxine-0.5.910-1.178.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 1abd1afb: NOKEY
 
Verifying...                          ################################# [100%]
 
Verifying...                          ################################# [100%]
 
Preparing...                          ################################# [100%]
 
Preparing...                          ################################# [100%]
 
Updating / installing...
 
Updating / installing...
   1:gxine-0.5.910-1.178              ################################# [100%]
+
   1:gxine-0.5.910-1.178              ################################# [100%]}}
</pre>
 
  
 
'''ATTENTION !''' L'installation d'un paquet sans ses dépendances n'est absolument pas recommandée !
 
'''ATTENTION !''' L'installation d'un paquet sans ses dépendances n'est absolument pas recommandée !
Ligne 215 : Ligne 216 :
 
Selon les situations, il faut installer manuellement le paquet désiré.
 
Selon les situations, il faut installer manuellement le paquet désiré.
  
Il existe plusieurs façons d'installation :
+
Il existe plusieurs méthodes d'installation :
 
*Compilation
 
*Compilation
 
**Prendre en exemple [[Technique/PHP/Compilation|la compilation de PHP]]
 
**Prendre en exemple [[Technique/PHP/Compilation|la compilation de PHP]]

Version actuelle datée du 26 septembre 2019 à 19:59

Présentation

Cette page a pour objet de décrire différentes d'installation de paquet sur des serveurs Linux.

Installation de paquet

Un paquet peut être installé de différentes manières selon le besoin et/ou la disponibilité des sources.

Le moyen le plus simple d'installer un paquet est d'utiliser un gestionnaire de paquets.

Via le gestionnaire de paquets

Un gestionnaire de paquets permet de rechercher le paquet désiré sur les différents dépôts qui lui sont configurés et de gérer l'installation des dépendances nécessaires au paquet.

Sur OpenSUSE, le gestionnaire de paquets est ZYpp.

Ainsi, pour rechercher un paquet, drush par exemple, il faut taper la commande suivante :

Putty icon.png Console SSH

Exemple de retour :

Putty icon.png Console SSH

Pour l'installer, il faudra taper :

Putty icon.png Console SSH

Exemple de retour :

Putty icon.png Console SSH

Cet exemple est intéressant car il montre que le gestionnaire de paquets va automatiquement installer les dépendances nécessaires.

Cet exemple est d'autant plus intéressant car les dépendances à installer sont déjà présentes sur le serveur. Toutefois, comme elles n'ont pas été installées par le gestionnaire de paquets, c'est donc normal qu'il cherche à les installer.

Il est alors possible de rajouter l'option --no-recommends afin de réduire la liste des dépendances :

Putty icon.png Console SSH

Exemple de retour :

Putty icon.png Console SSH

Dans cet exemple, bien que la quantité de dépendances soit réduite, les paquets supplémentaires à installer sont également déjà présents sur le serveur.

ZYpp ne permettant pas de "casser" l'arbre des dépendances en n'installant que le paquet drush, il faudra donc se tourner vers un autre mode d'installation.

Via rpm

Selon la distribution Linux utilisée, les formats de paquets peuvent être différents :

  • .rpm
    • RHEL
    • CentOS
    • Fedora
    • OpenSUSE
  • .deb
    • Debian
    • Ubuntu
  • .aur
    • Arch Linux
  • .tcz
    • TinyCore

Sur OpenSUSE, le format de paquet utilisé est .rpm. Par conséquent, le gestionnaire de paquet RPM fonctionne également.

La différence avec ZYpp est qu'il faut télécharger manuellement les paquets à installer.

Par exemple, le paquet gxine n'est pas disponible sur les dépôts ZYpp d'OpenSUSE :

Putty icon.png Console SSH

Exemple de retour :

Putty icon.png Console SSH

Il est alors possible de le télécharger depuis http://packman.links2linux.org/package/gxine/911611.

Pour ce faire, taper la commande suivante :

Putty icon.png Console SSH

Exemple de retour :

Putty icon.png Console SSH

Pour vérifier les dépendances nécessaires du paquet rpm, lancer la commande :

Putty icon.png Console SSH

Exemple de retour :

Putty icon.png Console SSH

Le retour indique que de nombreuses dépendances sont nécessaires.

Pour installer le paquet gxine, lancer la commande :

Putty icon.png Console SSH

Exemple de retour :

Putty icon.png Console SSH

Un message d'erreur annonce l'absence des dépendances. Deux solutions sont alors possibles :

  • Installer une à une les dépendances
    • Long et fastidieux, mais efficace
    • Répéter l'action précédente autant que nécessaire
  • Installer le paquet sans les dépendances
    • Rapide et sans blocage, mais ne garantie aucunement le bon fonctionnement du paquet

Pour installer le paquet sans ses dépendances, lancer la commande suivante :

Putty icon.png Console SSH

Exemple de retour :

Putty icon.png Console SSH

ATTENTION ! L'installation d'un paquet sans ses dépendances n'est absolument pas recommandée !

Manuellement

Selon les situations, il faut installer manuellement le paquet désiré.

Il existe plusieurs méthodes d'installation :