Comment est-ce que je peux obtenir un paquet 32 ​​bits sur une installation 64 bits? [dupliquer]

29

J'essayais de faire fonctionner un jeu. Mais j'ai Lucid Lynx sur amd64 en cours d'exécution alors que le binaire du jeu était en 32 bits (pas de version 64 bits disponible et personne n'était d'humeur à recompiler). Il manquait libfsml-windows1.5 pour fonctionner et apt-getting a échoué. Je dois donc télécharger manuellement les packages i386 et les installer de manière forcée. (Non, ne fait pas partie de ia32libs.)

Maintenant, je me demande s'il existe un moyen automatisé de télécharger les packages x86 au moins sur une installation 64 bits. apt-get -o apt::architecture=i386 n'a pas fonctionné. (Si vous changez de mode d’architecture, il ne trouve pas le package ou suppose des dépendances manquantes pour les packages existants.)

Existe-t-il un autre outil pour automatiser cela? Peut-être une qui télécharge les paquets i386 et déplace les bibliothèques contenues dans / usr / lib32 / implicitement?

    
posée mario 09.03.2011 - 16:23
la source

4 réponses

31

Solution pour Ubuntu 11.10 ou ultérieur

Depuis Ubuntu 11.10, il ne devrait plus être nécessaire d’utiliser getlibs ou une autre solution de contournement. Le système de paquets sur les systèmes 64 bits est maintenant capable de gérer des bibliothèques 32 bits en parallèle avec les bibliothèques 64 bits. Vous pouvez même installer facilement des applications complètes avec toutes leurs dépendances maintenant!

Ajoutez simplement :i386 au nom du paquet que vous souhaitez installer.

Par exemple, j'avais besoin d’une version 32 bits de Java 7 et je pouvais l’installer (avec toutes ses dépendances) simplement en lançant:

sudo apt-get install openjdk-7-jdk:i386
    
réponse donnée Chriki 14.10.2013 - 15:27
la source
14

Oui, avoir un environnement chroot est la voie à suivre, il permet même d’avoir des versions précédentes côte à côte de votre Ubuntu existant.

C'est simple de le faire;

sudo apt-get install debootstrap schroot

Modifiez /etc/schroot/schroot.conf et ajoutez une nouvelle configuration schroot:

[lucid32]
type=directory
description=Ubuntu Lucid 32bit
directory=/chroot/lucid32
users=your-user
root-groups=root
personality=linux32

Installez ensuite l'environnement chroot:

sudo debootstrap --variant=buildd --arch i386 lucid /chroot/lucid32 http://nl.archive.ubuntu.com/ubuntu

Puis entrez le chroot avec:

schroot -c lucid32

Ou pour les tâches racine, par exemple: exécuter apt-get tasks:

sudo schroot -c lucid32
    
réponse donnée Paulo Lopes 09.03.2011 - 22:57
la source
8

Silly moi. C'est en effet un problème résolu.

getlibs

Comme son nom l'indique, il ne peut installer que des bibliothèques, pas des applications. Mais cela fonctionne exceptionnellement bien pour fixer des bibliothèques 32 bits sur un système x86-64. Il automatise le téléchargement et l’installation dans / usr / lib32 (supposons qu’il effectue la substitution de chemin en interne).

ppa: jcollins / jaminppa
lien

Quelques documentations (getlibs ne semble pas avoir de page d'accueil courante):
lien
> lien pour lien
lien (en allemand)

    
réponse donnée mario 10.03.2011 - 22:49
la source
2

L'installation forcée des bibliothèques 32 bits sur un système 64 bits va casser votre système. Vous devez configurer un chroot 32 bits. Voir lien .

    
réponse donnée psusi 09.03.2011 - 20:54
la source

Lire d'autres questions sur les étiquettes