Qu'entend-on par "dépend" et "pré-dépend", et la différence entre ces 2 types d'exigences de package lorsque j'installe quelque chose dans Ubuntu?
la source
Qu'entend-on par "dépend" et "pré-dépend", et la différence entre ces 2 types d'exigences de package lorsque j'installe quelque chose dans Ubuntu?
Tiré de ce lien: https://www.debian.org/doc/debian-policy/#document-ch-relationships
Il existe 5 types de dépendances:
La signification des cinq champs de dépendance est la suivante:
Cela déclare une dépendance absolue. Un package ne sera configuré que si tous les packages répertoriés dans son champ Dépend ont été correctement configurés. Le champ Dépend doit être utilisé si le package dépendant est requis pour que le package dépendant fournisse une quantité importante de fonctionnalités. Le champ Depends doit également être utilisé si les scripts postinst ou prerm nécessitent que le package dépendant soit décompressé ou configuré pour s'exécuter. Dans le cas de postinst configure, les packages dépendants seront décompressés et configurés en premier.
Dans le cas de prerm ou d'autres actions postinst, les dépendances de package seront normalement au moins décompressées, mais elles ne peuvent être "semi-installées" que si une mise à niveau précédente de la dépendance a échoué. Enfin, le champ Dépend doit être utilisé si le package dépendant est requis par le script postrm pour nettoyer complètement après la suppression du package. Il n'y a aucune garantie que les dépendances de package seront disponibles lors de l'exécution de postrm, mais le package dépendant est plus susceptible d'être disponible si le package déclare une dépendance (en particulier dans le cas de la suppression de postrm). Le script postrm doit ignorer les actions qui nécessitent une dépendance si cette dépendance n'est pas disponible.
Ce champ est comme Depends, sauf qu'il oblige également dpkg à terminer l'installation des packages nommés avant même de démarrer l'installation du package qui déclare la pré-dépendance , il fonctionne comme ceci, lorsqu'un package déclarant une pré-dépendance est sur le point de être décompressé, la pré-dépendance peut être satisfaite si le package dépendant est entièrement configuré, ou même si le ou les packages dépendants sont uniquement décompressés ou dans l'état "Half-Configured", à condition qu'ils aient été configurés correctement à un moment donné dans le passé (et non supprimé ou partiellement supprimé depuis).
Dans ce cas, les versions précédemment configurées et actuellement décompressées ou "semi-configurées" doivent satisfaire toute clause de version dans le champ Pre-Depends. Lorsque le package déclarant une pré-dépendance est sur le point d'être configuré, la pré-dépendance sera traitée comme une Depends normale. Il sera considéré comme satisfait uniquement si le package dépendant a été correctement configuré. Cependant, contrairement à Depends, Pre-Depends ne permet pas de briser les dépendances circulaires. Si une dépendance circulaire est rencontrée lors de la tentative d'honorer Pre-Depends, l'installation sera abandonnée.
Les pré-dépendances sont également requises si le script de pré-installation dépend du package nommé. Il est préférable d'éviter cette situation si possible. Pre-Depends doit être utilisé avec parcimonie, de préférence uniquement par les packages dont la mise à niveau ou l'installation prématurée entraverait la capacité du système à poursuivre toute mise à niveau en cours.
Version plus petite:
Le terme "dépendance" peut être utilisé largement pour englober les relations "Dépend" et "Avant-dépend" (et parfois même d'autres relations plus faibles), ou il peut être utilisé étroitement comme synonyme de "Dépend".
La différence entre les relations de package "Dépend" et "Pré-dépend" est que si X dépend de Y, alors Y doit être entièrement configuré avant que X ne soit configuré. (La configuration est l'étape d'installation où un paquet, une fois que ses fichiers sont décompressés aux emplacements appropriés - c'est-à-dire, une fois "installé" - a fait toutes les autres modifications nécessaires afin qu'il soit possible d'utiliser réellement le logiciel qu'il fournit. Par exemple , la configuration d'un serveur HTTP peut impliquer de s'assurer qu'il y a un
www
utilisateur avec des capacités appropriées et un/var/www
répertoire avec les autorisations appropriées.) En revanche, si X dépend de Y, Y doit être installé et (généralement) entièrement configuré avant que X ne soit égal. installé .Voir la section 7.2 du manuel de politique Debian pour plus de détails. Je cite les deux sections les plus pertinentes ici, mais il y a d'autres informations dans cette section (et dans le chapitre 7 plus généralement) qui aident à éclairer le fonctionnement des dépendances.
la source