Pouvez-vous m'aider avec mon problème de dépendance du logiciel?

Il s'agit d'une question canonique sur les dépendances de compilation et la gestion des paquets.

J'ai une question concernant la compilation de ports / logiciels ou l'installation de RPM sur mon serveur * nix. Lorsque j'essaie de le faire, je reçois beaucoup de messages sur les dépendances manquantes.

La communauté des failles du serveur peut-elle aider?

One Solution collect form web for “Pouvez-vous m'aider avec mon problème de dépendance du logiciel?”

Bienvenue dans la faute du serveur. En général, ce type de question n'est pas sur le sujet ici. On s'attend à ce que la plupart des sysadmins aient déjà fait face à ce problème avant de devenir un sysadmin à l'aide de bricolage avec leurs propres postes de travail. Toutefois, les fichiers système provenant d'un arrière-plan Windows peuvent ne pas avoir été confrontés à cela, alors voici quelques éléments à considérer:

Pourquoi ne pas utiliser un gestionnaire de paquetage pour installer un logiciel sur votre serveur?

Les gestionnaires de paquets tels que yum ou apt traitent ces dépendances pour vous. En outre, ils peuvent également être utilisés pour gérer les mises à jour du logiciel sur votre serveur. La plupart des saveurs de * nix auront un gestionnaire de paquets installé par défaut, en particulier sur VPS fourni avec le système d'exploitation pré-installé. Si vous êtes vraiment nouveau, utilisez l'un de ces éléments sur votre système de production et enregistrez des aventures dans la compilation ou l'installation de RPM de saignement pour votre environnement de test.

Mais je suis obligé d'utiliser un package plus à jour que ce qui est disponible dans mon gestionnaire de paquetages.

La plupart des gestionnaires de paquets peuvent être configurés pour utiliser des référentiels différents – vous pouvez constater qu'il existe un qui fournit la version du paquet dont vous avez besoin et vous permet encore de profiter des fonctions de votre gestionnaire de paquetage.

Le paquet dont j'ai besoin n'est pas disponible grâce à des gestionnaires de paiements ou de paquetages

Dans ce cas, vous devez probablement trouver les dépendances (ou les extraire et utiliser une version plus stable / commune du logiciel). Vous devriez probablement faire ce qui suit dans un environnement de test et prendre des notes précises sur ce que vous faites:

  • Assurez-vous de lire la documentation pour le logiciel que vous installez – cela indiquera probablement ce que vous devez d'abord installer, mais pas ce qui est requis pour ce logiciel.
  • Utilisez votre gestionnaire de paquetage pour installer les choses nécessaires – dans la plupart des cas, celles- ci seront disponibles.
  • Une fois que vous avez terminé, essayez d'installer.
  • Si vous voyez toujours des messages sur les dépendances manquantes, prenez-en note et essayez d'installer autant que possible votre gestionnaire de paquets.
  • Si une dépendance n'est pas trouvée, vous devez considérer une sous-tâche et la traiter de façon récurrente (trouver la tarball source, trouver les dépendances, installer).
  • C'est un processus itératif.

J'ai encore des problèmes!

Si vous avez suivi toutes les étapes ci-dessus et que vous rencontrez encore des problèmes, vous avez peut-être rencontré un problème étrange sur lequel d'autres Façades de serveur peuvent être heureux de vous aider. Créez une nouvelle question, en précisant quel logiciel vous essayez d'installer, quelle version et les messages d'erreur exacts que vous voyez.

Conseils spécifiques pour les grands systèmes de gestion de paquets

RPM (RHEL / Fedora et clones) et DEB (Debian / Ubuntu et clones) gestion de paquets

  • Yum qui fournit le nom de fichier est un excellent moyen de trouver le paquet qui fournit un fichier ou une bibliothèque spécifique sur un système de type RHEL.
  • N'utilisez pas ./configure && make && make install aveuglément si possible! La gestion de paquetage a été inventée pour cette raison pour éviter le désordre gênant et non durable qui résulte de l'installation inextricable de nombreux fichiers contradictoires.
  • De nombreuses bibliothèques sont divisées en deux parties: binaire (objets partagés, par exemple) et développement (en-têtes). Ainsi, vous auriez besoin des libfoo et libfoo-devel (ou -dev ).
  • Pensez à utiliser fpm ( https://github.com/jordansissel/fpm ) pour convertir des tarballs en RPM et DEBs
  • Si vous roulez vos propres paquets, VOUS êtes le responsable de leurs mises à jour, tests et maintenance. Si vous n'avez aucune infrastructure pour cela, vous avez définitivement l'objectif trop élevé.

Trouver des dépendances par nom de fichier pour RPM

http://rpmfind.net est un bon endroit pour rechercher des noms de paquets si vous connaissez le nom du fichier auquel la procédure d'installation se plaignait. Cependant, il n'est pas recommandé de faire correspondre et de mélanger des packages à partir de différentes distributions.

  • Des inconvénients du assembly d'un système de files avec un minimum de time?
  • Existe-t-il un moyen de grep avec un type de file contraint?
  • Exécuter la commande ssh sans mot de passe?
  • Processus de coupure et de blocage
  • sftp remotly copy dans bash file "unix"?
  • Qu'est-ce qu'un "commutateur de context virtuel"
  • Chroot de connection d'un user
  • Comment afficher les ports ouverts d'écoute depuis le shell?
  • Comment déplacer le directory d'un server vers l'autre?
  • Qu'arrive-t-il à redis lorsque votre server manque de RAM libre?
  • J'ai acheté un nom de domaine. Maintenant, comment configurer un server de messagerie? (IMAP)
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.