Vraag Hoe pak ik een 32-bits pakket aan bij een 64-bits installatie? [duplicaat]


Deze vraag heeft hier al een antwoord:

Ik probeerde een game aan het werk te krijgen. Maar ik heb Lucid Lynx op amd64 draaien terwijl het binaire spel 32 bit was (geen 64 bit-versie beschikbaar en niemand was in de stemming voor hercompileren). Het ontbrak libfsml-windows1.5 om te draaien en apt-getting it failed. Dus ik moet de i386-pakketten handmatig downloaden en ze geforceerd installeren. (Nee, geen onderdeel van ia32libs.)

Nu vraag ik me af of er een geautomatiseerde manier is om x86-pakketten minstens op een 64-bits installatie te downloaden. apt-get -o apt::architecture=i386 werkte niet. (Als u de architectuurmodus wijzigt, vindt het pakket het pakket niet of gaat het om ontbrekende afhankelijkheden voor bestaande pakketten rondom.)

Is er een ander hulpmiddel om dat te automatiseren? Mogelijk een die de i386-pakketten downloadt en de ingesloten bibliotheken verplaatst naar / usr / lib32 / impliciet?


29
2018-03-09 15:23


oorsprong


Ik kon alleen ia32-libs bedenken met apt-get install. - Jamess
Waarschijnlijk niet (zien hoe oud het is - vóór 12-04 was ia32-libs nodig) - guntbert


antwoorden:


Oplossing voor Ubuntu 11.10 of later

Sinds Ubuntu 11.10 hoeft het niet meer nodig te zijn om te gebruiken getlibs of een andere oplossing. Het pakketsysteem op 64-bits systemen kan nu 32-bits bibliotheken parallel aan de 64-bitsbibliotheken beheren. U kunt nu zelfs eenvoudig complete applicaties met al hun afhankelijkheden installeren!

Gewoon toevoegen :i386 naar de naam van het pakket dat u wilt installeren.

Ik had bijvoorbeeld een 32-bits versie van Java 7 nodig en kon deze (samen met al zijn afhankelijkheden) eenvoudig installeren door het volgende uit te voeren:

sudo apt-get install openjdk-7-jdk:i386

31
2017-10-14 13:27



vanaf de specifieke ubuntu-versie zou dit het juiste antwoord moeten zijn - Peter Butkovic
Mis je niet dpkg --add-architecture i386, zoals getoond in dit antwoord? - Jonathon Reinhart
@JonathonReinhart Nee, dit lijkt niet nodig te zijn. Ik heb net gelopen dpkg --print-architecture op mijn Ubuntu 16.04-systeem en het is afgedrukt amd64. Toen heb ik met succes een geïnstalleerd i386 pakket zoals beschreven in mijn antwoord. - Chriki
@Chriki dit is 100% vereist op Ubuntu 14. Apt controleert zelfs geen i386-pakketten als je de architectuur niet hebt toegevoegd wanneer je probeert apt-get update - John Hamilton


Ja, een chroot-omgeving is de manier om te gaan, het staat zelfs toe dat eerdere releases naast je bestaande Ubuntu staan.

Het is eenvoudig om het te doen;

sudo apt-get install debootstrap schroot

Bewerk /etc/schroot/schroot.conf en voeg een nieuwe schroot-configuratie toe:

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

Installeer vervolgens de chroot-omgeving:

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

Voer vervolgens de chroot in met:

schroot -c lucid32

Of voor basistaken, bijv .: run apt-get taken:

sudo schroot -c lucid32

14
2018-03-09 21:57



Ik heb al twee chroot-setups, maar vond het een beetje overdreven voor de taak die voorhanden was. Maar bedankt voor de howto! - mario


Domme Ik. Dat is inderdaad een opgelost probleem.

getlibs

Zoals de naam al aangeeft, kan het alleen bibliotheken installeren, geen applicaties. Maar het werkt uitzonderlijk goed voor het bouten van 32-bits bibliotheken op een x86-64-systeem. Het automatiseert de download en installatie in / usr / lib32 (laten we aannemen dat het intern de padvervanging doet).

ppa: jcollins / jaminppa
https://launchpad.net/~jcollins/+archive/jaminppa/+packages 

Sommige documentatie (getlibs lijkt geen huidige startpagina te hebben):
http://ubuntuforums.org/showthread.php?t=474790
https://help.ubuntu.com/community/32bit_and_64bit
http://www.dedoimedo.com/computers/ubuntu-utils.html
http://wiki.ubuntuusers.de/getlibs (In het Duits)


8
2018-03-10 21:49



Waarom-oh-waarom vereist Ubuntuforums om in te loggen om die pagina te zien? :( Gelukkig is er Stackexchange! - Joril
Oh, die registratie is nieuw. En. Overdreven. Overtollig. - mario
Na registratie: hier niet toegestaan ​​Sorry, u hebt geen toestemming om deze pagina te openen of de informatie op deze pagina wordt niet met u gedeeld. - exic
Bestaat niet! - Anwar


Forceer de installatie van de 32 bit libs op een 64bit systeem zal uw systeem breken. U moet een 32-bits chroot instellen. Zien http://ubuntuforums.org/showthread.php?t=24575.


2
2018-03-09 19:54



Bedankt voor het idee. Heb al een / hardy en / maverick chroot, maar ook 64 bit. Het lijkt een beetje overdreven voor dit probleem, maar het is zeker een optie om in gedachten te houden. - mario