J'ai Ubuntu 14.04. J'ai récemment téléchargé Viber . Le fichier .deb Viber a une architecture 64 bits. Je veux l'installer sur mon ordinateur, mais mon ordinateur ne prend en charge que 32 bits.
La sortie de l'exécution lscpu
est la suivante:
Architecture: i686
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 23
Stepping: 10
CPU MHz: 2800.000
BogoMIPS: 5586.12
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 2048K
software-installation
A Umar Mukthar
la source
la source
lscpu
dans Terminal?Réponses:
À condition que votre matériel prenne en charge 64 bits, ce qui:
et le package a été préparé pour utiliser multiarch, ce qui est également vrai:
vous pouvez simplement installer les bibliothèques et les binaires 64 bits nécessaires qui sont la dépendance du package (qui n'en est pas, plus à ce sujet plus tard) dont vous avez besoin pour exécuter l'application, avec un impact virtuel sur les performances nulles. Dans mon cas, je viens d'installer le package très bien:
Et puis a commencé à rencontrer des problèmes ...
Les gestionnaires de packages ont décidé de ne répertorier aucune dépendance pour leur package,
dont ils ont réellement besoin:
vous devez donc trouver et installer les bibliothèques manquantes manuellement! C'est facile si vous connaissez les bons outils.
apt-file
vient à portée de main ici, également http://packages.ubuntu.com fonctionnalité "Rechercher le contenu des packages" est également très bien. Mais je suis allé de l'avant et les ai recherchés:Ces fichiers sont déjà installés sur mon système, il vous suffit de copier le nom du package, celui avant les deux points qui se termine par
amd64
. Vous devez copier les noms des packages tels qu'ils sont:Celles-ci, je ne les avais pas installées, que j'ai obtenues en utilisant
ldd /opt/viber/Viber | grep 'not found' | awk '{printf "%s$\n", $1}' | apt-file search -x -a amd64 -f - | sed 's/\:/:amd64:/'
:apt-file
était un taquin de me donner les paquets 64 bits, donc je devais le fairesudo apt-file -a amd64 update
pour le forcer à avoir la liste des fichiers 64 bits.Maintenant, laissez-moi vous expliquer ce qui est tout ce qui précède:
ldd /path/to/binary
: lit un binaire et vous indique quelles sont les bibliothèques, symboles, etc. requisdpkg -S
: recherchez les packages qui fournissent un fichier installé spécifique.awk
,sed
etgrep
: modifient le flux de texte pour ne traiter que les parties intéressantes ou afficher la sortie souhaitée.|
,$(...)
: le premier me permet de diriger la sortie d'une commande vers une autre, et le dernier me permet d'exécuter / évaluer une commande avant que les principales ne soient exécutées.TL; dr installez simplement ces packages:
Vous devez également installer le noyau 64 bits.
la source
sudo dpkg --add-architecture amd64
.Il n'est pas possible d'installer un logiciel qui ne prend en charge que l'arc 64 bits sur un système d'exploitation 32 bits alors que l'inverse est vrai. Pour installer un logiciel 64 bits, vous aurez besoin d'un matériel prenant en charge 64 bits et un système d'exploitation 64 bits fonctionnant par-dessus.
Je voudrais également mentionner qu'il n'est pas possible d'installer un système d'exploitation 64 bits en tant que machine virtuelle sur un matériel qui ne prend en charge qu'une architecture 32 bits. Votre matériel doit prendre en charge l'architecture 64 bits ainsi que la prise en charge de la virtualisation afin de créer des machines virtuelles 64 bits.
la source
Je dois dire que tu n'es pas vrai
Selon la sortie de l'exécution de
lscpu
votre version d'Ubuntu qui est installée est 32 bits tandis que votre système peut prendre en charge les applications 64 bits si vous souhaitez installer l'application 64 bits, vous devez installer 64 bits du système d'exploitation Ubuntu. voir ces lignes ci-dessous:Téléchargez et installez Ubuntu 14.04.1 64 bits, puis installez également Viber .
la source
Vous pouvez installer un logiciel 64 bits sur une machine construite avec du matériel 32 bits de la même manière que vous pouvez exécuter, par exemple, le logiciel ARM sur une cible x86, en utilisant la traduction dynamique.
Fondamentalement, un logiciel tel que qemu se trouve entre les programmes et votre ordinateur, effectuant une traduction à partir du jeu d'instructions AMD64 vers le x86 (probablement i686) (avec un impact très grave sur les performances, ce qui, dans votre cas, pourrait être totalement évitable).
Étant donné que vous utilisez ubuntu, vous disposez d'une excellente documentation sur la façon de configurer cela . Fondamentalement, vous avez l'un des deux choix, vous pouvez soit exécuter le programme dans un environnement VM 64 bits complet avec son propre noyau ou, ce que je pense que vous voulez ici, c'est la visualisation de l'espace utilisateur, cela utilise le thunking (je ne pense pas que ce soit couramment appelé thunking ces jours-ci mais oubliez le nouveau mot) pour traduire les appels système de 64 bits à 32 bits afin que vous puissiez utiliser votre propre noyau.
Maintenant, le guide l'explique mieux que moi, mais en bref, vous devez installer qemu et les packages qemu-kvm-extras-static, puis utiliser qemu-debootstrap pour configurer un environnement et des bibliothèques pour votre programme 64 bits. Ensuite, vous devez utiliser binfmt_misc et l'interpréteur statique de qemu (qemu-arch-static, dans votre cas probablement x86_64, x64 ou AMF64) pour exécuter votre programme dans son environnement.
Notez cependant que votre CPU semble prendre en charge les instructions 64 bits, il peut donc être possible d'installer Ubuntu 64 bits, vous pouvez sans émulation exécuter du code x86 sur une machine AMD64 et si vous êtes en mesure de le faire, cela peut être plus facile, si d'un autre côté vous voulez découvrir qemu et le monde de l'émulation d'architecture (peut arriver plus tard si vous obtenez un programme construit par exemple ... ARM comme quelque chose de construit pour un téléphone) je vous recommande de continuer mais attention , les choses prennent parfois un peu de tripotage ou de débogage avant de fonctionner correctement.
la source
Lisez à propos des applications 32 bits (x86) et 64 bits:
http://www.techsupportalert.com/content/32-bit-and-64-bit-explained.htm
Il est parfois possible qu'une application ou un package unique [un fichier .deb] agisse comme les deux après l'installation.
c'est-à-dire,
x86 app on x86 OS
etx64 app on x64 OS
la source
x86 application on x64 OS
.Si vous utilisez un système 32 bits, utilisez
sudo dpkg --force-architecture -i viber.deb
lien: Comment installer Viber sur Ubuntu 13.10, 32bit
la source