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

15

Je sais que Guitar Pro ne prend pas en charge 64 bits, mais je l'ai fait fonctionner 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, j'obtiens cette erreur:

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 continuer à installer d'autres logiciels par la suite?

Jeggy
la source

Réponses:

30

Avertissement:

Le deb GuitarPro est dangereusement emballé!

  • Sur un système 64 bits, si vous apt-get -f installessayez de l'installer, vous apt-getvoudrez supprimer les packages critiques du système suivants , ce qui peut ruiner votre installation Ubuntu!

    Les packages suivants seront SUPPRIMÉS:
     gksu guitarpro6: i386 libgksu2-0 libpam-gnome-keyring  sudo ubuntu-desktop
    ubuntu-minimal update-manager update-notifier xauth xinit  xorg
  • sudo ? gestionnaire de mise à jour ?? X! Que pensent les développeurs?! Cela fait également apt-getpenser qu'un tas de paquets i386 sont installés alors qu'aucun n'a été fait. Voici la boîte à pâte pleine de sang.


Installez GuitarPro en toute sécurité sans apt-getvouloir le supprimer

  • Je crois que le comportement ci-dessus vient de la dépendance muette de deb sur gksu:i386(qui est le package d'élévation de la racine graphique)
  • Malheureusement, le seul moyen sûr d'installer cela et de ne pas avoir à apt-getgémir est de l' installer manuellement 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 le package à moitié installé actuellement avec sudo dpkg --remove guitarpro:i386
  • Maintenant, passez au répertoire où votre fichier deb est stocké. Pour taper facilement, 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

Tout d'abord, nous examinons les dépendances de deb sans l'installer.

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

     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
    Paquet: GuitarPro6 Version: 6.1.3 Section: non libre / audio Priorité: facultative Architecture: i386 Dépend: libc6 (> = 2.1.3), libstdc ++ 6, libasound2, libxml2, libxslt1.1, libportaudio0, libportaudio2, libglu1-mesa, gksu, libssl0.9.8 Taille installée: 222632 Mainteneur: Arobas Music Description: http://www.guitar-pro.com Guitar Pro 6, version Linux.

  • Il s'agit donc d'une application i386, et toutes ses dépendances seront également i386.

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

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

  • Nous allons extraire le deb à une archive tar maintenant afin que nous puissions examiner son contenu sans avoir à l' installer:
    • dpkg-deb --fsys-tarfile gp6.deb > gp6.tar
  • Ouvrez le gestionnaire de fichiers (Nautilus) et montez-le gp6.taren tant qu'archive en cliquant avec le bouton droit et en sélectionnant Ouvrir dans Archive Mounter ; après cela, vous verrez gp6.tarajouté en bas la barre latérale gauche, avec une icône d'éjection à côté:

    entrez la description de l'image ici

  • Accédez au menu Affichage du Gestionnaire de fichiers et changez la barre latérale en option de l' arborescence au lieu de Lieux :

    entrez la description de l'image ici

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

    entrez la description de l'image ici

  • De la structure, nous voyons que les fichiers du programme vont à deux endroits: /optet /usr/share:

    • Tout ce qui entre /optest autonome et n'affectera rien d'autre sur le système.
    • Nous voyons que /usr/sharene contient que des icônes / bitmaps, qui sont inoffensifs.

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

  • Revenez au terminal et assurez-vous que vous êtes dans le répertoire contenant les fichiers deb / tar téléchargés. Tapez ensuite:

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

    • Le -Ccommutateur indique tard'exécuter cette opération par rapport au répertoire racine et non au répertoire en cours.

4. Déterminez les dépendances manquantes ldd, installez-les et faites du rock and roll!

  • Ouvrez le /opt/GuitarPro6dossier dans le gestionnaire de fichiers:

    entrez la description de l'image ici

    • On voit que l'exécutable s'appelle GuitarPro (avec l'icône losange "engrenages"), et aussi que beaucoup de lib-xxxxfichiers 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.
  • Parallèlement à ces bibliothèques incluses et au ia32-libspackage, 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 causer des problèmes - essayons de savoir si nous manquons réellement quelque chose.

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

En utilisant ldd

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

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

    • Cherchons les versions disponibles à apt-cache search libportaudiopartir du terminal.
    • Cela nous indique que les deux libportaudio2 et les libportaudio0packages sont disponibles. Installons le 2 en premier, avec
      sudo apt-get install libportaudio2 : i386
    • La partie : i386 est très importante , car notre programme est en 32 bits. Si vous apt-getdemande de remplacer / supprimer libportaudio2et / ou d'autres fichiers, c'est OK, car certaines bibliothèques ne peuvent pas être installées simultanément dans les versions 32 et 64 bits.
  • Revérifions les dépendances une dernière fois: neldd 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 utilise une mauvaise version de libz , corrigez cela en supprimant le fichier libz.so.1 du répertoire GuitarPro6:
      sudo rm libz.so.1
      Guitar Pro reviendra à la version libz de votre système.
  • Quittez le terminal et revenez au /opt/GuitarPro6dossier dans le gestionnaire de fichiers. Double-cliquez sur GuitarPro et ...

    entrez la description de l'image ici

  • 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é

  • Étant donné que le package contenait déjà un GuitarPro6.desktopraccourci qui a été extrait vers /usr/share/applications, il n'est pas nécessaire d'en créer manuellement un. Il est assis là dans le lanceur:

    entrez la description de l'image ici

ish
la source
Oui, tout s'est bien passé, sauf la dernière fois que j'ai utilisé ldd GuitarPro6 | grep a trouvé qu'il m'a donné une réponse: ./GuitarPro: /opt/GuitarPro6/./libz.so.1: version `ZLIB_1.2.3.3 'introuvable (requis par / usr / lib / i386-linux-gnu / libxml2 .so.2)
Shahe Tajiryan
J'ai essayé d'installer cela sur un autre ordinateur (12,10 64 bits), et j'ai rencontré une autre erreur, et cela l'a corrigé: bit.ly/X7nvJ5 . Je voulais juste le partager ici, si quelqu'un d'autre rencontrait des problèmes
Jeggy
Quelle réponse incroyable. Cela fonctionnait parfaitement sur Ubuntu 14.10 64 bits. J'aimerais pouvoir voter plus d'une fois ... Pour info, je devais aussi faire sudo apt-get install libssl0.9.8:i386en plus delibportaudio2:i386
friederbluemle
Cela fonctionne parfaitement en 14.04
caisara
1

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

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

  2. Je l'ai fait sudo apt-get -f installpour supprimer Guitar Pro.

  3. J'ai recopié le dossier /opt/GuitarPro6et remplacé tout là-bas.

  4. J'ai installé plus de packages 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 GuitarPro icône et l' ai enregistrée /opt/GuitarPro6/icon.pngafin que je puisse avoir une image pour créer mon propre .desktopfichier.

  6. J'ai créé un .desktopfichier 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 /usr/share/applicationsavec le nom GuitarPro6.desktop.

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

Jeggy
la source
1
C'est une horrible solution.
tgm4883
1
Quelle meilleure solution existe-t-il? J'ai essayé tous les autres ont répondu. en connaissez-vous un meilleur? et celui-ci fonctionne vraiment bien.
Jeggy
Vous avez installé toutes les dépendances de Guitar Pro?
tgm4883
eh bien maintenant je l'ai fait 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. et ça marche aussi bien.
Jeggy
À l'avenir, vous ne devriez pas courir sudo gedit. Vous devez utiliser gksu geditou à la gksudo geditplace. L'exécution de programmes graphiques en rootutilisant plain sudo, lorsque l'application possède des fichiers de configuration par utilisateur, peut perturber ces programmes pour les non- rootutilisateurs .
Eliah Kagan
1

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

16b7195abb140a3929bbc322d1c6f1
la source
0

Pour répondre à votre question, pour ne plus apt-get -f installsupprimer de logiciel, vous devez ajouter --no-removeà la commande que vous exécutez. Cela 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 cherchez probablement, c'est un moyen de faire fonctionner un système normalement, tout en ayant également ce logiciel installé. Ce que vous devrez faire est d'examiner la sortie à partir du moment où vous forcez l'installation du package avec dpkg, de voir ce qu'il échoue, puis d'installer cette dépendance à l'aide de

apt-get install package-name

Dans votre cas, c'est gksu (en particulier, gksu). Maintenant, vous pouvez constater que lorsque vous essayez d'installer gksu, il a également des dépendances qui doivent être installées. Étant donné que vous forcez l'installation du package 32 bits, vous devrez installer manuellement ces dépendances à l'aide de la même commande ci-dessus.

tgm4883
la source
0

J'ai simplement installé gp6 sous LinuxMint 14 32 bits, exécuté le programme de mise à jour et résolu les problèmes avec zlib en copiant zlib.so1.2.27 dans / opt / GuitarPro, en le renommant en zlib.so.1, installé gksu et ses dépendances, exécuté à nouveau le programme de mise à jour pour avoir tout mis à jour. Ensuite, j'ai connecté mon Linux 64 bits à Linux 3s Bit via fish: // username @ mymachineIP / opt dans Dolphin et copié le répertoire GuitarPro6 entier dans mon répertoire home sur Linux 64 bits et de là vers / opt. Travaux.

Michael Bergmann
la source
-2

Essaye ça:

Téléchargez depuis http://www6.guitar-pro.com/en/index.php?pg=téléchargez le fichier .deb mais ne l'installez pas.

Téléchargez et installez getlibs Ensuite:

sudo apt-get install libportaudio0
getlibs -l libportaudio.so.2
dpkg -i –force-all /path/to/GuitarPro6Demo2.deb

Enfin, lancez-le avec (ignorer les erreurs):

/opt/GuitarPro6/gp-launcher.sh
jasmin
la source
Cela n'a pas fonctionné mieux qu'avant :(
Jeggy