sudo dpkg -i reconnaît un paquet sudo apt install l'ignore Le sujet est résolu

Demande d'aide : c'est ici.
Répondre
tony
Membre
Membre
Messages : 183
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

salut matinal ,

là je suis très perplexe :

Code : Tout sélectionner

~/Téléchargements$ mv fdz_0.1.1-1_all.deb.txt fdz_0.1.1-1_all.deb

~/Téléchargements$ sudo apt install fdz_0.1.1-1_all.deb
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait      
E: Impossible de trouver le paquet fdz_0.1.1-1_all.deb
en utilisant la commande dpkg -i pas de problème :

Code : Tout sélectionner

:~/Téléchargements$ sudo dpkg -i fdz_0.1.1-1_all.deb 
Sélection du paquet fdz précédemment désélectionné.
(Lecture de la base de données... 123044 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de fdz_0.1.1-1_all.deb ...
Dépaquetage de fdz (0.1.1-1) ...
Paramétrage de fdz (0.1.1-1) ...
Il me semble que apt install récupère les dépendances éventuelles avant l'installation , ce que dpkg -i ne fait pas . Y aurait-il des dépendances non satisfaites ? Comment le vérifier , Ou alors il y a autre chose qui cloche ? Pourtant il est bien indiqué Construction de l'arbre des dépendances... Fait

note 1 : fdz est une alternative à fdfind que je viens de découvrir et je veux la tester avant de choisir la commande que je garderai .
vient de https://www.debian-fr.org/t/fdz-outil-d ... find/88623

note 2 : les dépendances coreutils et findutils mentionnées dans le post sont bien installées .
Debian 11 / Xfce
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 4962
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

Avec dpkg -i tu dois gérer toi même les dépendances, mais dpkg -i te dis celles qui manques. C'est parfois fastidieux. tu as une dépendance manquante, tu tentes de l'installer, mais du coup il manque encore une dépendances ....
Dans ton cas, l'installation c'est bien passée.
tony
Membre
Membre
Messages : 183
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

piratebab a écrit : 10 nov. 2023, 07:59 ....
Dans ton cas, l'installation c'est bien passée.
sauf que apt install a refusé de l'installer car il ne l'a pas trouvé :
E: Impossible de trouver le paquet fdz_0.1.1-1_all.deb
et c'est ça que je ne pige pas : reconnu par une commande mais pas par l'autre = ??
Debian 11 / Xfce
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Bonjour, as-tu testé en fournissant à apt le chemin absolu (simple suggestion) ?
**Simple Utilisateur** -- Debian stable - XFCE
tony
Membre
Membre
Messages : 183
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

dezix a écrit : 10 nov. 2023, 08:52 Bonjour, as-tu testé en fournissant à apt le chemin absolu (simple suggestion) ?
quelque chose cloche avec sudo ou sudo apt install car si je passe en root il n'y a aucun problème il reconnaît bien le paquet à installer . De plus l'autocomplétion fonctionne :
  • en étant root et donc avec le chemin absolu
  • avec sudo dpkg -i fd.... à partir du répertoire Téléchargements
mais ne fonctionne pas avec sudo apt install avec chemin absolu ou relatif .
Debian 11 / Xfce
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

tony a écrit : 10 nov. 2023, 09:13 quelque chose cloche avec sudo
ça risque fort d'être une histoire de variables d'environnement qui ne sont pas correctes,
mais je ne saurais dire lesquelles (je maîtrise mal).

Peut-être en comparant les sorties de sudo set et de su -l root -c set
**Simple Utilisateur** -- Debian stable - XFCE
tony
Membre
Membre
Messages : 183
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

dezix a écrit : 10 nov. 2023, 09:24 ça risque fort d'être une histoire de variables d'environnement qui ne sont pas correctes,
mais je ne saurais dire lesquelles (je maîtrise mal).

Peut-être en comparant les sorties de sudo set et de su -l root -c set
si su -l root -c set me donne bien une liste de valeurs la 1ère commande ne donne rien :

Code : Tout sélectionner

~$ sudo set
[sudo] Mot de passe de mm : 
sudo: set : commande introuvable

:~# sudo set
sudo: set : commande introuvable

je vais essayer de continuer dans cette voie et voir si je trouve qq chose à propos des variables lliées à sudo

ps : l'essai d'installation sur un ssd autonome sous Debian 12 donne exactement la même chose . J'en déduis , un peu hâtivement peut-être , qu'il est probable que ce téléchargement fdz .....deb.txt comporte un défaut . Déjà un fichier original avec une extension .deb.txt qu'il faut renommer n'est pas chose courante . Donc je laisse de côté les variables d'environnement .
Debian 11 / Xfce
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Personnellement sudo ne me plait pas et je ne l'installe pas.

Si j'ai besoin, je lui préfère doas qui est bien plus simple pour un usage simple.

Dans ce cas doas donne le même résultat

Code : Tout sélectionner

$ doas set
doas: set: command not found
alors que la commande test qui fait également partie des commandes internes de bash fonctionne correctement :

Code : Tout sélectionner

$ touch test.txt
$ doas test -e test.txt && echo ok
ok
Il y a dans set quelque-chose spécial, mais je ne sais dire quoi,
le manuel de bash ne dit rien de particulier, pas plus que info
... du moins dans la présentation.


Pour le coup du fichier à renommer, je suppose que c'est une simple précaution, pour éviter une action automatique indésirable en fin de téléchargement.

Tu peux vérifier le contenu du .deb avec n'importe quel gestionnaire d'archive (p.ex: xarchiver)
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 4974
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,

Code : Tout sélectionner

$ sudo apt install ./fdz_0.1.1-1_all.deb
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
tony
Membre
Membre
Messages : 183
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

lol a écrit : 10 nov. 2023, 13:14 Salut,

Code : Tout sélectionner

$ sudo apt install ./fdz_0.1.1-1_all.deb
en lisant le texte du post où il était proposé './fdz...' j'ai cru à une erreur et donc j'ai pris le nom du fichier que je voyais .Non seulement ça fonctionne mais l'autocomplétion fonctionne aussi !!!

Code : Tout sélectionner

:~/Téléchargements$ sudo apt install ./fdz_0.1.1-1_all.deb 
[sudo] password for mi: 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'fdz' instead of './fdz_0.1.1-1_all.deb'
The following NEW packages will be installed:
  fdz 
  etc...
Là c'est un peu fort ce tour de passe passe : sudo dpkg -i , root fonctionnent avec le nom réel du fichier , mais sudo apt install qui en temps ordinaire ronronne a besoin d'un je-ne-sais-quoi . Donc question : pourquoi ce ./ est-il nécessaire pour ce paquet particulier ? Il porte un nom ce "préfixe" ?

Ça m'apprendra à vouloir faire le malin , depuis le temps je devrais savoir qu'en informatique tout a une raison , même ce qui apparaît comme bizarre à un béotien de la commande . Nul doute que si la prochaine fois est un peu éloignée je tomberai encore dans le panneau .

Dans le même ordre d'idée , ne pas se croire plus malin que l'auteur , une recherche qui utilise le globbing doit se faire avec '*xxx*' ou " " comme l'indique l'auteur du post . Une sombre histoire de shell globbing qui commence par tripatouiller le motif de la recherche avant de le passer à la commande de type find qui va ensuite réaliser son propre globbing . J'avoue ne pas avoir compris les détails mais je retiens qu'il faut utiliser ces guillemets sinon on ne sait pas ce qu'on récupère en sortie .
Debian 11 / Xfce
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 4974
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Re,

Je ne vois qu'une explication:

apt installl à besoin du chemin (ou pas) pour différencier les deux commandes
- quand on demande l'installation d'un fichier local (Chemin nécessaire)
- quand on demande l'installation d'un fichier qu'il doit aller chercher dans les dépôts.
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Avatar de l’utilisateur
vv222
Membre actif
Membre actif
Messages : 852
Inscription : 18 avr. 2016, 20:14
Contact :
Status : Hors-ligne

tony a écrit : 10 nov. 2023, 13:49 Donc question : pourquoi ce ./ est-il nécessaire pour ce paquet particulier ? Il porte un nom ce "préfixe" ?
Tout simplement parce que la présence d’un "/" dans les arguments est ce qui permet à apt de comprendre qu’on lui donne le chemin d’un fichier, et pas le nom d’un paquet à aller chercher dans les dépôts.

apt install ./fdz_0.1.1-1_all.deb signifie « Installe le paquet "fdz_0.1.1-1_all.deb" qui est présent dans le répertoire courant. », apt install fdz_0.1.1-1_all.deb signifie « Installe depuis les dépôts un paquet nommé "fdz_0.1.1-1_all.deb". ».
tony
Membre
Membre
Messages : 183
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

apt install fdz_0.1.1-1_all.deb signifie « Installe depuis les dépôts un paquet nommé "fdz_0.1.1-1_all.deb". ».
et donc ce paquet ne figurant pas dans les dépôts présents dans mon fichier source.list le terminal répond E: Impossible de trouver le paquet fdz_0.1.1-1_all.deb .

Et donc j'ai raconté une bêtise en écrivant que sous root apt install fdz_0.1.1-1_all.deb réalisait l'installation . Je viens de réellement l'essayer et ça ne fonctionne pas non plus ( enfin ça dépend cf ci-dessous ) , ce qui paraît normal au vu du mode de fonctionnement de apt . Je vais corriger ça .

Merci pour cet éclaircissement .

je me mélange les pédales avec root :

Code : Tout sélectionner

~# apt install /home/mm/Téléchargements/fdz_0.1.1-1_all.deb   --->  fonctionne avec un chemin absolu
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait      
Note : sélection de « fdz » au lieu de « /home/mm/Téléchargements/fdz_0.1.1-1_all.deb »
Les NOUVEAUX paquets suivants seront installés :
  fdz   etc ..

Code : Tout sélectionner

root@deb11:~# cd /home/mm/Téléchargements/
root@deb11:/home/mm/Téléchargements# apt install fdz_0.1.1-1_all.deb    --->  ne fonctionne pas car chemin relatif (hum! )
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait      
E: Impossible de trouver le paquet fdz_0.1.1-1_all.deb
Debian 11 / Xfce
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 4974
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

tony a écrit : 10 nov. 2023, 14:23 root@deb11:/home/mm/Téléchargements# apt install fdz_0.1.1-1_all.deb ---> ne fonctionne pas car chemin relatif (hum! )
Non, il n'y a pas de chemin du tout dans ta commande. apt cherche donc dans les dépôts.
Le chemin relatif c'est ./
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
tony
Membre
Membre
Messages : 183
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

lol a écrit : 10 nov. 2023, 14:51
tony a écrit : 10 nov. 2023, 14:23 root@deb11:/home/mm/Téléchargements# apt install fdz_0.1.1-1_all.deb ---> ne fonctionne pas car chemin relatif (hum! )
Non, il n'y a pas de chemin du tout dans ta commande. apt cherche donc dans les dépôts.
Le chemin relatif c'est ./
je savais bien qu'il y avait un hic dans ce que j'ai écrit car effectivement il n'y a aucun chemin ! pff ... ce truc m'a perturbé . C'est pas tous les jours qu'on rencontre une telle situation .

merci pour la correction , cette fois je pense que c'est clair .
Debian 11 / Xfce
PascalHambourg
Contributeur
Contributeur
Messages : 876
Inscription : 05 août 2016, 20:25
Status : Hors-ligne

Particularité d'apt connue et déjà signalée par votre serviteur dans une discussion similaire ici ou dans un autre forum.
vv222 a écrit : 10 nov. 2023, 14:02 la présence d’un "/" dans les arguments est ce qui permet à apt de comprendre qu’on lui donne le chemin d’un fichier, et pas le nom d’un paquet
Je persiste à penser qu'apt aurait pu être plus malin que ça et comprendre que l'argument est un nom de fichier s'il contient un autre caractère interdit dans les noms de paquets (comme "_") ou finit par ".deb".
tony
Membre
Membre
Messages : 183
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

j'ai fini par trouver l'info que je cherchais : où trouver cette particularité dans la doc disponible ?

https://debian-handbook.info/browse/fr- ... t-patterns
Si le paquet à installer a été mis à votre disposition sous la forme d'un simple fichier .deb sans référentiel de paquets associé, il est toujours possible d'utiliser APT pour l'installer avec ses dépendances (à condition que les dépendances soient disponibles dans les référentiels configurés) avec une simple commande : apt install ./chemin-du-paquet.deb. Le préfixe ./ est important pour qu'il soit clair que nous nous référons à un nom de fichier et non au nom d'un paquet disponible dans l'un des référentiels.
ps : je n'ai pas trouvé cette explication dans debian-wiki ou pas su trouver peut-être ?
Debian 11 / Xfce
Avatar de l’utilisateur
vv222
Membre actif
Membre actif
Messages : 852
Inscription : 18 avr. 2016, 20:14
Contact :
Status : Hors-ligne

PascalHambourg a écrit : 18 nov. 2023, 21:14 Je persiste à penser qu'apt aurait pu être plus malin que ça et comprendre que l'argument est un nom de fichier s'il contient un autre caractère interdit dans les noms de paquets (comme "_") ou finit par ".deb".
Clairement, le comportement actuel mérite d'être amélioré. Malheureusement un nom de paquet finissant en ".deb" n'est pas invalide.

En fait je pense que la meilleure approche serait de d'abord chercher un paquet avec le nom exact donné sur la ligne de commande, et si ce n'est pas le cas et que la chaîne passée finit en ".deb" chercher dans le répertoire courant.
dindoun
Membre
Membre
Messages : 22
Inscription : 19 nov. 2018, 23:00
Localisation : rouen
Contact :
Status : Hors-ligne

salut
après un dpkg -i, apt-get -f install résoud la question des dépendances
tony
Membre
Membre
Messages : 183
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

dindoun a écrit : 01 déc. 2023, 23:00 salut
après un dpkg -i, apt-get -f install résoud la question des dépendances
ave ,

[j'ai lu que apt-get était dépréciée obsolète]* , peut-être qu'il vaut mieux éviter de l'utiliser , non ? Surtout que apt utilisé correctement peut faire le taf , à condition que les dépendances soient bien dans les dépôts listés dans sources.list . S'il s'agit uniquement d'installer un paquet je ne comprends pas bien l'intérêt de la commande dpkg

[j'ai lu..]* : zut , j'ai confondu apt-get et apt-key . Au temps pour moi .
Debian 11 / Xfce
Répondre