web-dev-qa-db-fra.com

Comment installer un deb propriétaire 32 bits sur un système 64 bits sans causer de problèmes de dépendance?

Je sais que Guitar Pro ne prend pas en charge la version 64 bits, mais je l’ai obtenu avec cette commande.

jeggy@jeggy-XPS:~$ Sudo dpkg --force-architecture -i GuitarPro6-rev9063.deb
[Sudo] password for jeggy: 
Selecting previously unselected package guitarpro6:i386.
(Reading database ... 285729 files and directories currently installed.)
Unpacking guitarpro6:i386 (from GuitarPro6-rev9063.deb) ...
dpkg: dependency problems prevent configuration of guitarpro6:i386:
 guitarpro6:i386 depends on gksu.
dpkg: error processing guitarpro6:i386 (--install):
 dependency problems - leaving unconfigured
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf.index...
Processing triggers for desktop-file-utils ...
Processing triggers for gnome-menus ...
Errors were encountered while processing:
 guitarpro6:i386

Et même après avoir obtenu cette erreur, le programme fonctionne parfaitement et la mise à jour et l'ajout de PPA au système fonctionnent très bien, mais lorsque j'essaie d'installer un autre logiciel, le message d'erreur suivant s'affiche:

jeggy@jeggy-XPS:~$ Sudo apt-get install elinks
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 elinks : Depends: libfsplib0 (>= 0.9) but it is not going to be installed
          Depends: liblua50 (>= 5.0.3) but it is not going to be installed
          Depends: liblualib50 (>= 5.0.3) but it is not going to be installed
          Depends: libtre5 but it is not going to be installed
          Depends: elinks-data (= 0.12~pre5-7ubuntu1) but it is not going to be installed
 guitarpro6:i386 : Depends: gksu:i386 but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Et chaque fois que j'écris "apt-get -f install" j'obtiens ceci

jeggy@jeggy-XPS:~$ Sudo apt-get -f install
[Sudo] password for jeggy: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  dconf-gsettings-backend:i386 python-levenshtein python-indicate libav-tools libstartup-notification0:i386
  libxmuu1:i386 libavfilter-extra-2 libbabl-0.0-0 libgegl-0.0-0 libgconf2-4:i386 python-vobject libgtk-3-0:i386
  libpam-cap:i386 python-utidylib libdconf0:i386 python-iniparse python-xmpp libpam-gnome-keyring:i386
  libxcb-util0:i386 python-farstream
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
  guitarpro6:i386
0 upgraded, 0 newly installed, 1 to remove and 7 not upgraded.
1 not fully installed or removed.
After this operation, 84,0 MB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 286979 files and directories currently installed.)
Removing guitarpro6:i386 ...
dpkg: warning: while removing guitarpro6:i386, directory '/opt/GuitarPro6/updater' not empty so not removed.
dpkg: warning: while removing guitarpro6:i386, directory '/opt/GuitarPro6/Data/Soundbanks' not empty so not removed.
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf.index...
Processing triggers for desktop-file-utils ...
Processing triggers for gnome-menus ...

Et maintenant, Guitar Pro est supprimé.
Comment puis-je installer Guitar Pro et pouvoir installer d’autres logiciels ultérieurement?

15
Jeggy

Attention:

Le GuitarPro deb est emballé dangereusement!

  • Sur un système 64 bits, si vous apt-get -f install après avoir tenté de l'installer, apt-get voudra supprimer ce qui suit paquets critiques pour le système , qui peuvent ruiner votre installation Ubuntu!

    Les paquets suivants seront SUPPRIMÉS: 
    gksu guitarpro6: i386 libgksu2-0 libpam-gnome-keyringSudo ubuntu-desktop 
     ubuntu-minimal gestionnaire de mise à jour update-notifier xauth xinitxorg
  • Sudo? pdate-manager ?? X! Que pensent les développeurs?! apt-get pense également qu'un groupe de packages i386 est installé alors qu'aucun n'en a été installé. Voici le Porebin gore complet.


Installez en toute sécurité GuitarPro sans que apt-get veuille l'enlever

  • Je crois que le comportement ci-dessus vient de la dépendance stupide de deb sur gksu:i386 (qui est le paquet graphique d'altitude racine)
  • Malheureusement, le seul moyen sûr d’installer ce et ​​ne doit pas avoir à se plaindre du apt-get est de manuellement ​​l’installer et ses dépendances. Voici comment:

Comment examiner manuellement et installer en toute sécurité un deb binaire i386 avec ses dépendances

  • Tout d’abord, supprimez l’emballage actuel à moitié installé avec Sudo dpkg --remove guitarpro:i386
  • Maintenant, changez le répertoire où est stocké votre fichier deb. Pour faciliter la saisie, créons un lien symbolique court - mon deb appelé gp6-full-linux-demo-r11100.deb, le vôtre peut différer:
    • ln -s gp6-full-linux-demo-r11100.deb gp6.deb

1. Examiner l'architecture et les dépendances de deb

Premièrement, nous examinons les dépendances de deb sans l’installer.

  • dpkg-deb -I gp6.deb nous montre:

     nouveau paquet Debian, version 2.0. 
     taille 172147458 octets: archive de contrôle = 75020 octets. 
     375 octets, 10 lignes de contrôle
    335109 octets, 2770 lignes md5sums
    Package: GuitarPro6 Version: 6.1.3 Section: non-free/audio Priorité: facultatif .Architecture: i386Dépend de: libc6 (> = 2.1.3), libstdc ++ 6, libasound2, libxml2, libxslt1.1, libportaudio0, libportaudio2, libglu1-mesa, gksu, libssl0.9.8 Installed-Size: 222632 Mainteneur: Arobas Music Description: http://www.guitar-pro.com Guitare Pro 6, version Linux.
  • Donc, ceci est une application i386, et toutes ses dépendances vont également être i386.

  • La première chose à faire consiste à installer le package de compatibilité ia32-libs i386, si vous n'avez pas déjà:
    • Sudo apt-get install ia32-libs
  • Copions et collons également les dépendances du paquet dans un fichier texte, pour plus tard.

2. "Extraire" le deb dans une archive tar et examiner son contenu

  • Voyons extraire le deb dans une archive tar pour pouvoir en examiner le contenu sans avoir à l'installer:
    • dpkg-deb --fsys-tarfile gp6.deb > gp6.tar
  • Et ouvrez le gestionnaire de fichiers (Nautilus) et montez le gp6.tar en tant qu’archive en cliquant avec le bouton droit de la souris et en sélectionnant Ouvrir dans Archive Mounter; after vous verrez que gp6.tar sera ajouté en bas à gauche de la barre latérale, avec une icône d'éjection à côté:

    enter image description here

  • Accédez au menu Affichage du Gestionnaire de fichiers et modifiez la barre latérale en choisissant l’option Arbre au lieu de Lieux:

    enter image description here

  • Développez maintenant l’arborescence gp6.tar dans la barre latérale en cliquant sur les triangles; Répétez l'opération pour chaque niveau jusqu'à ce que vous puissiez voir la structure des dossiers du fichier:

    enter image description here

  • Dans la structure, nous voyons que les fichiers du programme se trouvent dans deux emplacements: /opt et /usr/share:

    • Tout ce qui entre dans /opt est autonome et n’affectera rien d’autre sur le système.
    • Nous voyons que /usr/share ne contient que des icônes/bitmaps, qui sont inoffensifs.

3. Si c'est sûr, "installez" le programme en extrayant le fichier tar

  • Retournez au terminal et assurez-vous que vous vous trouvez dans le répertoire contenant les fichiers deb/tar téléchargés. Puis tapez:

     Sudo tar -C/-xvf gp6.tar 
    
  • Cela extraira les fichiers du programme aux emplacements appropriés, en vous montrant les noms de fichiers et leur progression. ( Exemple de sortie )

    • Le commutateur -C indique à tard'effectuer cette opération relativement au répertoire racine, pas au répertoire actuel.

4. Déterminez les dépendances manquantes avec lddname__, installez-les, puis laissez-vous aller!

  • Ouvrez le dossier /opt/GuitarPro6 dans le gestionnaire de fichiers:

    enter image description here

    • Nous voyons que l'exécutable s'appelle GuitarPro (avec l'icône "engrenages" en forme de losange) et que beaucoup de fichiers lib-xxxx sont inclus dans le dossier.
    • Ceci est normal pour les programmes uniquement binaires; ils essaient d'inclure les versions des bibliothèques spécifiques dont ils ont besoin, car celles-ci peuvent ne pas être disponibles à partir des référentiels d'une distribution spécifique.
  • Outre ces bibliothèques incluses et le package ia32-libs, la plupart des dépendances 32 bits auraient dû être installées. Au lieu d'installer aveuglément les dépendances que nous avons vues dans les informations du fichier deb via apt-get--, ce qui peut poser problème, voyons si nous sommes en fait ​​il manque quelque chose.

    • Retournez au terminal et accédez au répertoire GuitarPro avec cd /opt/GuitarPro6

tilisation de lddname __

  • Tapez ldd GuitarPro | grep found et la sortie sera libportaudio.so.2 => not found

  • Ici, seule la bibliothèque libportaudio2 est manquante. Mais les dépendances ont dit libportaudio? (voir l'étape 1.) Qu'est-ce que c'est ??

    • Recherchons les versions disponibles en utilisant apt-cache search libportaudio à partir du terminal.
    • Cela nous indique que les deuxlibportaudio2 et libportaudio0 sont disponibles. Commençons par installer le 2, avec
      Sudo apt-get install libportaudio2: i386
    • La partie : i386 est très importante , car notre programme est en 32 bits. Si apt-get demande de remplacer/supprimer libportaudio2 et/ou d’autres fichiers, c’est acceptable, car certaines bibliothèques ne peuvent pas être installées simultanément dans les versions 32 et 64 bits.
  • Vérifions une dernière fois les dépendances: ldd GuitarPro6 | grep found nous donne rien (c'est ce que nous voulons!)

    • Si vous obtenez l'erreur ./GuitarPro: /opt/GuitarPro6/./libz.so.1: version ZLIB_1.2.3.3 not found (required by /usr/lib/i386-linux-gnu/libxml2.so.2), cela signifie que Guitar Pro est avec une version incorrecte de libz , corrigez ce problème en supprimant le fichier libz.so.1 du répertoire GuitarPro6:
      Sudo rm libz.so.1
      Guitar Pro aura recours à la version libz de votre système.
  • Quittez le terminal et retournez au dossier /opt/GuitarPro6 dans le gestionnaire de fichiers. Double-cliquez sur GuitarPro et ...

    enter image description here

  • Nettoyez le dossier de téléchargement en supprimant le fichier tar du gestionnaire de fichiers.

5. Le raccourci du lanceur a déjà été ajouté

  • Comme le package contenait déjà un raccourci GuitarPro6.desktop qui a été extrait vers /usr/share/applications, il n’est pas nécessaire de le créer manuellement. Il est assis là dans le lanceur:

    enter image description here

30
ish

J'ai également lutté avec cela au cours des derniers jours. J'ai trouvé le meilleur moyen d'utiliser l'exécutable Windows sous wine. Semble beaucoup plus solide.

1
mk444

J'ai essayé quelque chose et je l'ai fait fonctionner!

  1. J'ai copié "/ opt/GuitarPro6" quelque part.

  2. J'ai fait Sudo apt-get -f install pour supprimer Guitar Pro.

  3. J'ai copié le dossier dans /opt/GuitarPro6 et ai tout remplacé.

  4. J'ai installé plusieurs paquets comme suit:

    Sudo apt-get install dconf-gsettings-backend python-levenshtein python-indicate libav-tools libstartup-notification0 libxmuu1 libavfilter-extra-2 libbabl-0.0-0 libgegl-0.0-0 libgconf2-4 python-vobject libgtk-3-0 libpam-cap python-utidylib libdconf0 python-iniparse python-xmpp libpam-gnome-keyring libxcb-util0 python-farstream
    
  5. J'ai téléchargé cette image icône GuitarPro et je l’ai sauvegardée dans /opt/GuitarPro6/icon.png afin que je puisse avoir une image pour créer mon propre fichier .desktop.

  6. J'ai créé un fichier .desktop avec Sudo gedit:

    #!/usr/bin/env xdg-open
    
    [Desktop Entry]
    Type=Application
    Name=Guitar Pro 6
    Comment=Guitar Pro 6
    Icon=/opt/GuitarPro6/icon.png
    Exec=sh /opt/GuitarPro6/gp-launcher.sh
    Terminal=false
    Categories=Audio
    

    J'ai enregistré ce fichier dans /usr/share/applications sous le nom GuitarPro6.desktop.

Maintenant tout fonctionne et je peux trouver Guitar Pro dans le tableau de bord.

1
Jeggy

J'ai simplement installé gp6 sous LinuxMint 14 32 bits, ai exécuté le programme de mise à jour et résolu les problèmes liés à zlib en copiant zlib.so1.2.27 dans/opt/GuitarPro, en le renommant en zlib.so.1, en installant gksu et ses dépendances, en exécutant à nouveau le programme de mise à jour. pour tout mettre à jour. Ensuite, j'ai connecté mon Linux 64 bits à Linux 3 bits par l'intermédiaire de fish: // nom_utilisateur @ mymachineIP/opt in Dolphin et copié l'intégralité du répertoire GuitarPro6 dans mon répertoire personnel sous Linux 64 bits, puis à partir de/opt. Travaux.

0
Michael Bergmann

Pour répondre à votre question, pour empêcher apt-get -f install de supprimer des logiciels, vous devez ajouter --no-remove à la commande que vous exécutez. Ceci annulera immédiatement l'exécution d'apt-get si quelque chose doit être supprimé et que votre logiciel ne sera pas supprimé.

Cependant, ce que vous recherchez probablement est un moyen de faire fonctionner votre système normalement, tout en ayant installé ce logiciel. Ce que vous aurez à faire, c’est de regarder le résultat obtenu lorsque vous imposerez l’installation du paquet avec dpkg et de voir en quoi il échoue, puis installez cette dépendance à l’aide de

apt-get install package-name

Dans votre cas, il s'agit de gksu (plus précisément gksu). Vous constaterez peut-être que lorsque vous essayez d'installer gksu, il comporte également des dépendances qui doivent être installées. Puisque vous forcez l'installation du package 32 bits, vous devrez installer manuellement ces dépendances à l'aide de la même commande ci-dessus.

0
tgm4883