logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 01-02-2016 23:08:26

Raphaël
Membre
Distrib. : Debian Stetch
Inscription : 28-01-2016
Site Web

Notions de base floues dans ma petite tête de débutant

Bonsoir,

Entre mon LUG et mes tâtonnements, je découvre l´univers de Linux. Et je me rends compte qu´il y a un début par lequel je ne suis pas passé. Enfin, pas clairement…
Il y a des mots que j´entends et lis : «dépendances» et «librairies». «Gestion des dépendances», «programmes qui reposent sur des librairies»…
On va commencer par le moins flou dans ma tête : les librairies. Si j´ai bien compris (Merci de me reprendre en cas d´erreur) : les librairies sont tout ce qui est icônes, formats de fichiers, codecs…
Et maintenant, les dépendances. Donc, les dépendances… Nous disions : dépendances. Ah ! Je sèche !

Je réalise que ce sont des notions de base et aimerais donc bien être au point là-dessus ! J´ai mille et une choses à découvrir, mais sans comprendre ces deux-là… ça ne sert pas à grand-chose d´aller plus loin !

Hors ligne

#2 01-02-2016 23:17:20

Frosch
Membre
Distrib. : FreeBSD
(G)UI : Xfce
Inscription : 09-12-2015

Re : Notions de base floues dans ma petite tête de débutant

Hello !

Les logiciels sous Debian et la plupart des distributions GNU/Linux sont distribués sous forme de paquets. Il arrive fréquemment que le(s) logiciel(s) contenu(s) dans le paquet A, ai(en)t besoin du contenu d'autres paquets B, C, D, ... pour fonctionner. On dit dans ce cas que les paquets B, C, D, ... sont des dépendances du paquet A wink

Exemple :

htop a besoin de libc6, libncursesw5 et libtinfo5 pour fonctionner. Les trois derniers sont donc des dépendances du premier. Mais chacun de ces trois paquets a lui également des dépendances, et ainsi de suite... heureusement les gestionnaires de paquets comme apt ou aptitude gèrent automatiquement les dépendances, donc si tu installes un paquet qui a besoin de paquets qui ne sont pas présents sur ton système, le gestionnaire de paquets va les installer automatiquement big_smile

Dernière modification par Frosch (01-02-2016 23:27:40)

Hors ligne

#3 01-02-2016 23:24:25

bendia
Chadministrateur
Distrib. : openSUSE Tumbleweed, Buster
Noyau : Linux 5.9.1-2-default + Linux 4.19.0-12-amd64
(G)UI : Gnome + Console et un peu Fluxbox
Inscription : 20-03-2012
Site Web

Re : Notions de base floues dans ma petite tête de débutant

Salut smile

Peut-être que ton intérogation vient d'une approximation de traduction de l'anglais vers le français : libraries qui est traduit en librairies alors que bibliothèques est plus juste il me semble.

Du coup, ces bibliothèques sont des programmes contenant des fonctions utilisables par d'autres pour réaliser certaines tâches.

Les dépendances, ce sont des paquets qui sont nécessaire à d'autres paquets. Exemple, si tu veux installer un environnement de bureau, il te faut au préalable un serveur graphique (les fameux paquets commencant par xserver-xorg).

Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.

Hors ligne

#4 01-02-2016 23:29:43

Frosch
Membre
Distrib. : FreeBSD
(G)UI : Xfce
Inscription : 09-12-2015

Re : Notions de base floues dans ma petite tête de débutant

bendia a écrit :

libraries qui est traduit en librairies alors que bibliothèques est plus juste il me semble.

Au sens premier du terme, c'est certain : library=bibliothèque, tandis que librairie=bookshop.

Hors ligne

#5 02-02-2016 00:33:31

raleur
Membre
Inscription : 03-10-2014

Re : Notions de base floues dans ma petite tête de débutant

bendia a écrit :

ces bibliothèques sont des programmes contenant des fonctions utilisables par d'autres pour réaliser certaines tâches.


Le but est de ne pas dupliquer ces fonctions dans chaque programme qui les utilise. Le revers de la médaille, c'est que ces programmes ne peuvent pas fonctionner seuls : ils dépendent des bibliothèques dont ils utilisent les fonctions. Les dépendances entre paquets sont un moyen d'assurer que tous les paquets nécessaires au fonctionnement d'un autre paquet soient installés aussi.

bendia a écrit :

Exemple, si tu veux installer un environnement de bureau, il te faut au préalable un serveur graphique (les fameux paquets commencant par xserver-xorg).


Mauvais exemple car il est faux. xserver-xorg n'est qu'une recommandation des environnements de bureau, pas une dépendance forte. En effet le serveur graphique peut être déporté sur une autre machine.


Il vaut mieux montrer que raconter.

Hors ligne

#6 02-02-2016 07:05:28

bendia
Chadministrateur
Distrib. : openSUSE Tumbleweed, Buster
Noyau : Linux 5.9.1-2-default + Linux 4.19.0-12-amd64
(G)UI : Gnome + Console et un peu Fluxbox
Inscription : 20-03-2012
Site Web

Re : Notions de base floues dans ma petite tête de débutant

Merci pour ces précisons raleur smile Aurais-tu un autre exemple (juste celui-ci wink ) parlant pour un débutant ?

Edit : Je serais intéréssé par une explication sur ce qu'est une dépendance forte  aussi.

Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.

Hors ligne

#7 02-02-2016 07:42:34

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : Notions de base floues dans ma petite tête de débutant

On peut aussi tatouiller l'exemple de bendia dans son post, par exemple :

tatouille a écrit :

Exemple, si tu veux installer un environnement de bureau, les fameux paquets commencant par xserver-xorg te seront recommandés pour un serveur graphique classique installé sur la même machine.


À peu près... Car cette situation éclaire facile le principe expliqué, me semble-t'il... smile


saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#8 02-02-2016 08:06:26

sogal
Black Metal Modo
Lieu : Nord Isère
Distrib. : openSUSE Leap 42.3
Noyau : Linux 4.4.76
(G)UI : GNOME
Inscription : 09-05-2013
Site Web

Re : Notions de base floues dans ma petite tête de débutant

Oui, ou encore, si tu prends le paquet feh (un visionneur d'image léger), il dépend (fortement wink ) de la bibliothèque libpng12-0 dont la description nous dit

[qu']elle implémente une interface pour lire et écrire les fichiers au format PNG (Portable Network Graphics)



Le développeur de feh veut que son logiciel puisse lire, entre autres formats, le PNG. Il se trouve qu'un autre développeur a déjà écrit du code permettant de faire cela. Comme ce dernier l'a placé sous licence libre, le développeur de feh n'est pas obligé de se casser la tête et de réécrire à nouveau du code pour lire les fichiers au format PNG, il n'a qu'à utiliser celui de la libpng12-0.

Lorsqu'il crée son paquet Debian de feh, il indique donc que ce dernier a besoin de la libpng12-0 pour fonctionner correctement.
La libpng12-0 est donc, de fait, une dépendance de feh smile


1485418338.png Hello IT ! Have you tried turning it off and on again ?

Hors ligne

#9 02-02-2016 08:35:09

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : Notions de base floues dans ma petite tête de débutant

Ah mais c'est pour un bouquin cette (excellente) démonstration de ce qu'est une dépendance, au sens large du principe ! big_smile

Si tu le permets, là aussi je propose une formule :

Kouik a écrit :


Il était une fois... le mariage d'un logiciel (libre) avec une librairie (libre aussi) dont il va dépendre pour fonctionner :

  1. Le développeur de feh (développeur = créateur) veut que son logiciel (un visionneur d'image léger) puisse lire aussi le PNG.

  2. Un autre développeur a déjà écrit du code sous licence libre permettant de faire cela, le développeur de feh peut donc l'utiliser avec feh.

  3. Il indique simplement que feh a besoin de la libpng12-0 pour fonctionner correctement et le tour est joué.

  4. La librairie libpng12-0 est ainsi devenue une dépendance de feh.


Bon, j'suis pas sûr de mon raccourci dans cette refonte mais je me marre bien ici ! big_smile

Edit :
Bien vu sogal, c'est corrigé. smile

Dernière modification par smolski (02-02-2016 12:06:43)


saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#10 02-02-2016 08:46:32

sogal
Black Metal Modo
Lieu : Nord Isère
Distrib. : openSUSE Leap 42.3
Noyau : Linux 4.4.76
(G)UI : GNOME
Inscription : 09-05-2013
Site Web

Re : Notions de base floues dans ma petite tête de débutant

smolski a écrit :

Ah mais c'est pour un bouquin cette (excellente) démonstration


Oui c'est pour le Cahier de l'Admin du Débutant Debian tongue

Bien la petite histoire, j'aurai juste tatouiller :

Un autre développeur a déjà écrit du code sous licence libre permettant de faire cela, le développeur de feh peut donc l'utiliser avec feh.



J'ai enlevé "l'ajouter" car cela pourrait laisser penser qu'il inclut le code de la libpng dans celui de feh alors qu'il ne fait que "lier", en quelque sorte, les 2 codes.


1485418338.png Hello IT ! Have you tried turning it off and on again ?

Hors ligne

#11 02-02-2016 09:30:30

raleur
Membre
Inscription : 03-10-2014

Re : Notions de base floues dans ma petite tête de débutant

bendia a écrit :

Je serais intéréssé par une explication sur ce qu'est une dépendance forte  aussi.


Je désigne ainsi une dépendance de type "dépend". Il existe plusieurs niveaux de dépendance entre deux paquets Debian X et Y :
- dépend : X ne peut être installé que si Y est installé
- recommande : l'installation de X recommande l'installation de Y
- suggère : l'installation de X suggère l'installation de Y
- conflit : X ne peut pas être installé si Y est installé et vice versa
et peut-être d'autres que j'oublie.

Par défaut, apt-get installe les paquets recommandés mais pas les paquets suggérés. Donc par défaut l'installation d'un environnement de bureau installera le serveur graphique X.org.

sogal a écrit :

Lorsqu'il crée son paquet Debian de feh, il indique donc que ce dernier a besoin de la libpng12-0 pour fonctionner correctement.
La libpng12-0 est donc, de fait, une dépendance de feh


Il faut distinguer deux cas : les dépendances à la construction et les dépendances à l'exécution.
Par exemple, pour un programme écrit en langage C, la construction dépend d'un compilateur C. Mais pas l'exécution.

Concernant les bibliothèques, cette distinction existe aussi à travers les deux cas suivants :

- Liaison statique : les fonctions des bibliothèques utilisées par le programme sont incluses dans ce dernier lors de la construction. Il n'a pas besoin des bibliothèques lors de l'exécution. Exemple : busybox-static.
Avantages : programme indépendant, évite les problèmes d'incompatibilités entre versions d'une même bibliothèque, parfois gain de place quand un programme est le seul à dépendre d'une bibliothèque dont il n'utilise que quelques fonctions (seules ces fonctions sont incluses dans le programme au lieu d'installer la bibliothèque complète).

- Liaison dynamique : les fonctions des bibliothèques utilisées par le programme ne sont pas incluses dans ce dernier lors de la construction. Il a besoin de la bibliothèque lors de l'exécution.
Avantages : gain de place (les fonctions des bibliothèques sont partagées au lieu d'être dupliquées), simplicité de mise à jour (la correction d'un bug d'une bibliothèque ne nécessite pas de mettre à jour tous les programmes qui l'utilisent).

Dernière modification par raleur (02-02-2016 09:55:09)


Il vaut mieux montrer que raconter.

Hors ligne

#12 02-02-2016 09:38:03

sogal
Black Metal Modo
Lieu : Nord Isère
Distrib. : openSUSE Leap 42.3
Noyau : Linux 4.4.76
(G)UI : GNOME
Inscription : 09-05-2013
Site Web

Re : Notions de base floues dans ma petite tête de débutant

raleur a écrit :

Avantages : gain de place (les fonctions des bibliothèques sont partagées au lieu d'être dupliquées), simplicité de mise à jour (la correction d'un bug d'une bibliothèque ne nécessite pas de mettre à jour tous les programmes qui l'utilisent).


Là je ne comprends pas du tout, ça me semblait être, au contraire, les avantages d'une liaison dynamique :-/


1485418338.png Hello IT ! Have you tried turning it off and on again ?

Hors ligne

#13 02-02-2016 09:54:27

raleur
Membre
Inscription : 03-10-2014

Re : Notions de base floues dans ma petite tête de débutant

J'ai interverti les avantages des deux formules. Corrigé.

Il vaut mieux montrer que raconter.

Hors ligne

#14 02-02-2016 09:58:04

sogal
Black Metal Modo
Lieu : Nord Isère
Distrib. : openSUSE Leap 42.3
Noyau : Linux 4.4.76
(G)UI : GNOME
Inscription : 09-05-2013
Site Web

Re : Notions de base floues dans ma petite tête de débutant

Ok, je ne suis pas (tout à fait) fou alors smile

Merci pour ton très complet complément d'information !

1485418338.png Hello IT ! Have you tried turning it off and on again ?

Hors ligne

#15 02-02-2016 13:20:11

bendia
Chadministrateur
Distrib. : openSUSE Tumbleweed, Buster
Noyau : Linux 5.9.1-2-default + Linux 4.19.0-12-amd64
(G)UI : Gnome + Console et un peu Fluxbox
Inscription : 20-03-2012
Site Web

Re : Notions de base floues dans ma petite tête de débutant

Merci raleur smile

raleur a écrit :

Par défaut, apt-get installe les paquets recommandés mais pas les paquets suggérés. Donc par défaut l'installation d'un environnement de bureau installera le serveur graphique X.org.

Mon erreur vient effectivement de là, c'était le comportement dont je me souvenais lors d'une installation à partir d'une Debian minimale, et c'est donc une conséquence de la configuration par défaut de Apt.

Il est vrai qu'un bon réflexe de ma part aurait été de vérifier ces informations sur le paquet avec quelque chose comme ceci

apt-cache show xfce4

ce qui permet de montrer à @Raphaël une partie du retour de cette commande, qui donne les informations dont parle raleur

Package: xfce4
Version: 4.10.1
Installed-Size: 31
Maintainer: Debian Xfce Maintainers <pkg-xfce-devel@lists.alioth.debian.org>
Architecture: all
Depends: xfwm4 (>= 4.10.0), xfconf (>= 4.10.0), xfce4-settings (>= 4.10.0), xfce4-panel (>= 4.10.0), xfdesktop4 (>= 4.10.0), thunar (>= 1.6.0), gtk2-engines-xfce (>= 3.0.0), xfce4-session (>= 4.10.0), xfce4-appfinder (>= 4.10.0), xfce4-mixer (>= 4.10.0), orage (>= 4.8.0), libxfce4ui-utils (>= 4.10)
Recommends: xorg, desktop-base (>= 5.0.4), thunar-volman (>= 0.8.0), tango-icon-theme (>= 0.8.90), xfce4-notifyd
Suggests: xfce4-goodies, xfce4-power-manager (>= 1.2.0), gtk3-engines-xfce (>= 3.0.0)
...


@Raphaël : Si tu veux des précisions sur Apt, tu peux jeter un œil au wiki. N'hésites pas à nous faire des retour si tu vois qu'il y manque quelque chose. Pour ma part, j'y ajouterais bien la définition d'une dépendance, puisqu'elle ne semble pas y figurer smile


Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.

Hors ligne

#16 02-02-2016 14:00:51

vv222
Administrateur
Lieu : Bretagne
Distrib. : Debian Sid
(G)UI : sway
Inscription : 18-11-2013
Site Web

Re : Notions de base floues dans ma petite tête de débutant

bendia a écrit :

Si tu veux des précisions sur Apt, tu peux jeter un œil au wiki. (…) Pour ma part, j'y ajouterais bien la définition d'une dépendance, puisqu'elle ne semble pas y figurer smile


J’approuve à 100%, la compréhension du système de dépendances étant à mon avis *essentielle* à la compréhension plus générale du système de paquets de Debian.

Dernière modification par vv222 (02-02-2016 14:00:59)


Jouer sous Debian ? Facile !

Ceterum censeo Barum esse delendam

Hors ligne

#17 02-02-2016 22:30:57

Raphaël
Membre
Distrib. : Debian Stetch
Inscription : 28-01-2016
Site Web

Re : Notions de base floues dans ma petite tête de débutant

Je suis impressionné par autant de réactivité. On m´en avait parlé, mais de là à lire 15 réponses !

Merci beaucoup à toutes et à tous, j´y vois déjà beaucoup plus clair. Je relirai vos réponses afin de m´imprégner de ces définitions. Et dire que pour les dépendances, j´ai un exemple sous la main ! Je le donne histoire de vérifier que j´ai bien compris : Frescobaldi (un éditeur) a besoin de Lilypond (le langage dans lequel Frescobaldi est spécialisé : il permet d´écrire de la musique) pour fonctionner. On peut donc dire que Lilypond est une dépendance de Frescobaldi. Ai-je bon ?

Hors ligne

#18 02-02-2016 22:34:49

bendia
Chadministrateur
Distrib. : openSUSE Tumbleweed, Buster
Noyau : Linux 5.9.1-2-default + Linux 4.19.0-12-amd64
(G)UI : Gnome + Console et un peu Fluxbox
Inscription : 20-03-2012
Site Web

Re : Notions de base floues dans ma petite tête de débutant

Tu peux trouver la réponse avec

apt-cache show frescobaldi

(Mais il semble que tu ais parfaitement compris) wink


Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.

Hors ligne

#19 03-02-2016 03:21:46

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : Notions de base floues dans ma petite tête de débutant

Ajouté au tuto Apt ces distinctions de dépendances et de bibliothèques.
Apt dans le détail

Merci à tous pour ce zoli fil. smile

saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#20 03-02-2016 09:57:39

Atys
Banni(e)
Distrib. : jessie + backports i386
Noyau : Linux 3.16.0-7-686-pae
(G)UI : Fluxbox - Xfce
Inscription : 28-02-2015

Re : Notions de base floues dans ma petite tête de débutant

Bonjour

raleur a écrit :

Par défaut, apt-get installe les paquets recommandés mais pas les paquets suggérés.


Par exemple sur ma debian les paquets :
Paquets suggérés :
Paquets recommandés :
ne sont pas installés par défaut.

Il est conseillé d'installer les Paquets recommandés ?
En Stable oui apparemment mais en Testing, Unstable ?

En lisant la doc sur apt.conf c'est expliqué big_smile

Merci pour ce beau fil cool

Dernière modification par Atys (03-02-2016 10:18:31)


La liberté d’expression est un droit fondamental ouvert à tous les citoyens dans le respect des lois.

Hors ligne

#21 06-02-2016 18:09:02

Raphaël
Membre
Distrib. : Debian Stetch
Inscription : 28-01-2016
Site Web

Re : Notions de base floues dans ma petite tête de débutant

D'accord pour les dépendances !

Maintenant, je vérifie pour les bibliothèques.
VLC fonctionne avec sa "réserve" de codecs : est-ce que cette "réserve" de codecs peut être qualifiée de bibliothèque ?

Hors ligne

Pied de page des forums