[RESOLU] Erreur lors des manipulations de paquets

Bonjour;
J’ai un problème, dès que je veut faire des choses avec des paquets, apt-get (upgrade ; install).

┌─[root@parrot]─[/home/gaspard]
└──╼ #apt-get --purge autoremove jre1.8.0-121
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Les paquets suivants seront ENLEVÉS :
  jre1.8.0-121
0 mis à jour, 0 nouvellement installés, 1 à enlever et 97 non mis à jour.
1 partiellement installés ou enlevés.
Après cette opération, 134 Mo d'espace disque seront libérés.
Souhaitez-vous continuer ? [O/n] O
(Lecture de la base de données... 382654 fichiers et répertoires déjà installés.)
Suppression de jre1.8.0-121 (1.8.0121-1) ...
find: ‘/usr/java/*’: Aucun fichier ou dossier de ce type
/var/lib/dpkg/info/jre1.8.0-121.postrm: ligne 586: /usr/sbin/alternatives: Aucun fichier ou dossier de ce type
dpkg: erreur de traitement du paquet jre1.8.0-121 (--remove) :
 le sous-processus script post-removal installé a retourné une erreur de sortie d'état 127
Des erreurs ont été rencontrées pendant l'exécution :
 jre1.8.0-121
E: Sub-process /usr/bin/dpkg returned an error code (1)

Avez vous des idées ?
Merci

que dit la sortie de la commande:

apt-cache policy jre1.8.0-121

tirez en la conclusion.

De plus la bonne commande pour supprimer un paquet est:

apt --purge remove

Hein ?

avram@sparky: 10:06:16: ~$ apt-cache policy jre1.8.0-121
N: Impossible de trouver le paquet jre1.8.0-121
N: Couldn’t find any package by glob 'jre1.8.0-121’
N: Impossible de trouver de paquet correspondant à l’expression rationnelle « jre1.8.0-121 »
avram@sparky: 10:06:20: ~$

le paquet jre1.8.0-121 n’existe pas, il doit avoir pour nom openjdk… quelque chose comme ça

L’astuce lorsque l’on cherche comme un gros fainéant que je suis : (dans un navigateur) debian package jre

https://packages.debian.org/fr/jessie/default-jre

Sinon un :

#  apt-cache search jre

salut,
concrètement
apt-get --purge autoremove jre1.8.0-121m’est inconnu
moi j’utilise apt-get --purge remove machin

tu peux essayer un apt-get -f install

Quelle que soit la commande que je tape j’obtient la même chose :
apt-get install -f
Lecture des listes de paquets… Fait
Construction de l’arbre des dépendances
Lecture des informations d’état… Fait
Les paquets suivants seront ENLEVÉS :
jre1.8.0-121
0 mis à jour, 0 nouvellement installés, 1 à enlever et 97 non mis à jour.
1 partiellement installés ou enlevés.
Après cette opération, 134 Mo d’espace disque seront libérés.
Souhaitez-vous continuer ? [O/n] O
(Lecture de la base de données… 382654 fichiers et répertoires déjà installés.)
Suppression de jre1.8.0-121 (1.8.0121-1) …
find: ‘/usr/java/*’: Aucun fichier ou dossier de ce type
/var/lib/dpkg/info/jre1.8.0-121.postrm: ligne 586: /usr/sbin/alternatives: Aucun fichier ou dossier de ce type
dpkg: erreur de traitement du paquet jre1.8.0-121 (–remove) :
le sous-processus script post-removal installé a retourné une erreur de sortie d’état 127
Des erreurs ont été rencontrées pendant l’exécution :
jre1.8.0-121
E: Sub-process /usr/bin/dpkg returned an error code (1)

Ensuite pour le paquet je l’ai installé depuis le site de Java pas depuis les dépôts !
Il existe donc totalement mais le problème c’est que lorsque je l’ai installé il y a eu une erreur et depuis …

apt-cache policy jre1.8.0-121
jre1.8.0-121:
  Installé : 1.8.0121-1
  Candidat : 1.8.0121-1
 Table de version :
 *** 1.8.0121-1 100

Voila …

l’installation de java est un peu délicate; lire les pages suivantes:

http://www.duinsoft.nl/packages.php?t=en

Je n’avais jamais installé java depuis le site de Oracle mais toujours en passant par duinsoft; mais icedtea me suffit maintenant.

Mon Java n’est pas le plugin navigateur mais la machine virtuelle java pour faire tourner les jar, …
Et je pense que le problème vient du faire que qu’a la base le paquet est un .rpm et que je l’ai converti en .deb avec alien.

J’aimerais juste le supprimer maintenant car il me met tout en vrac et m’empêche de faire les mises à jour , …

mais quel est le nom exacte du paquet .deb après moulinage par alien; essayez avec la commande “gksu synaptic” pour voir si vous arrivez à le visualiser/trouver et le supprimer.

Je ne retrouve pas le .deb mais pour le .rpm c’était “jre-8u121-linux-x64.rpm”. J’avais essayer avec synaptic mais ça fais la même erreur :

dans synaptic,regardez dans la liste “installés” ?

Eh oui c’est comme ça quand on bidouille son système et qu’on va chercher des paquets en dehors des dépôts officiels, d’autant plus que l’équivalent existe parfaitement dans les dépôts Debian, il suffisait de chercher un peu et j’y reviendrai plus loin…

Ah bon? Pourquoi? J’ai besoin d’un paquet JRE je vais chercher un paquet JRE et j’installe le paquet en question… Les paquets avec “extension” JRE c’est pour de l’applicatif, ceux avec JDK c’est pour du développement. Bien sûr il faut chercher un peu quand on n’est pas habitué avec les noms des paquets, sous Debian ils commencent tous par “openjdk-…”.

Effectivement les paquets en question n’ont rien à avoir avec Icedtea qui est le plugin pour navigateur. Et également tu dois avoir raison dans le sens où ton problème dans la suppression vient sans doute de la conversion du paquet .rpm en .deb, sans doute dans les scripts “prerm” et/ou “postrm”…

Bref je n’ai aucune idée de ce que tu as fais exactement et là où ça cloche, et je n’ai pas vraiment le temps de m’y pencher non plus :confused: néanmoins si tu comptes réinstaller Java par la suite depuis les dépôts Debian, voici les bons paquets correspondant à la version demandée :

 gogi@blabla:~$ apt-cache policy openjdk-8-jre
openjdk-8-jre:
  Installé : 8u121-b13-4
  Candidat : 8u121-b13-4
 Table de version :
 *** 8u121-b13-4 520
        520 https://deb.debian.org/debian sid/main amd64 Packages
        100 /var/lib/dpkg/status
     8u121-b13-3 510
        510 https://deb.debian.org/debian testing/main amd64 Packages

Comme tu peux le remarquer, la version recherchée est Java-8 (si je reprends la version de ton paquet .rpm --> jre1.8.0-121 ).
Ici il est présent dans les dépôts Testing et Sid (chez moi…), mais si tu es sous Jessie tu peux trouver le même paquet à la même version dans le dépôt Jessie-Backports…

Oui, je sais que on peut le mettre avec les dépôts mais je voulais essayer sans. Et au faite je ne suis pas sous Debian mais ParrotSec ( un OS basé sur Debian 9 )
Et dans synaptic il est bien marqué comme installé. Mais il y a une croix rouge à coté :

C’est bon j’ai trouvé :
Il fallait faire :

Faites :

gksu gedit /var/lib/dpkg/info/lepaquetquibloque.postrm
Supprimer tout jusqu’au Shebang Bash, et ajouter juste après le Shebang Bash ceci :

/bin/true
Vous devez donc avoir dans votre fichier .postrm ceci et rien de plus :

#!/bin/bash
/bin/true
Veuillez sauvegarder vos modifications, et ensuite, dans un terminal, veuillez taper :

sudo dpkg -r --force-remove-reinstreq ‘le paquet qui bloque’