在 32位机器上安装 64位. deb 文件?

分享于 

9分钟阅读

ubuntu

  繁體

问题

Viber .deb是64位体系结构,但计算机只支持32位。

运行lscpu的输出如下所示:


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




答案1

假设你的硬件支持64位,它执行以下操作:

CPU op-mode(s) : 32-bit, 64-bit


 dpkg -I viber.deb


 new debian package, version 2.0. <--- here


 size 57046082 bytes: control archive=8024 bytes.


 0 bytes, 0 lines 0 


 1210 bytes, 29 lines control 


 9475 bytes, 33 lines * copyright 


 7404 bytes, 85 lines md5sums 


 39 bytes, 2 lines * postinst #!/bin/bash


 800 bytes, 35 lines * preinst #!/bin/bash


 500 bytes, 24 lines * prerm #!/bin/bash


 Package: viber


 Version: 4.2.2.6


 Section: non-free/net


 Priority: extra


 Architecture: amd64 <---- and here



在例子中,我刚刚安装了这个包:


$ sudo dpkg --add-architecture amd64


## adding 64-bits architecture package, in my system I didn't need to


## but it's likely you have


$ sudo apt-get update # this downloads the package list for amd64 arch


$ sudo dpkg -i viber.deb


Selecting previously unselected package viber.


(Reading database ... 268703 files and directories currently installed.)


Preparing to unpack viber.deb ...


Unpacking viber (4.2.2.6) ...


Setting up viber (4.2.2.6) ...


Processing triggers for hicolor-icon-theme (0.13-1) ...


Processing triggers for gnome-menus (3.13.3-1) ...


Processing triggers for mime-support (3.56) ...


Processing triggers for desktop-file-utils (0.22-1) ...



然后开始遇到问题。

包管理器决定不列出它包的依赖项,


 Installed-Size: 141336


 Conflicts: Viber (<< 4.2.2.6)


 Replaces: Viber (<< 4.2.2.6)


 Maintainer: Viber Media Inc <support@viber.com>



真正需要:


ldd /opt/viber/Viber | grep 'not found'


 libXcomposite.so.1 => not found


 libxslt.so.1 => not found


 libxml2.so.2 => not found


 libgstreamer-0.10.so.0 => not found


 libgstapp-0.10.so.0 => not found


 libgstbase-0.10.so.0 => not found


 libgstinterfaces-0.10.so.0 => not found


 libgstpbutils-0.10.so.0 => not found


 libgstvideo-0.10.so.0 => not found


 libsqlite3.so.0 => not found



继续搜索它们:

你应该复制软件包名称,


dpkg -S $(ldd /opt/viber/Viber | awk '{print $3}' | grep -vP 'not|viber')


libc6:amd64: /lib/x86_64-linux-gnu/libpthread.so.0


libc6:amd64: /lib/x86_64-linux-gnu/libdl.so.2


libc6:amd64: /lib/x86_64-linux-gnu/librt.so.1


libstdc++6:amd64: /usr/lib/x86_64-linux-gnu/libstdc++.so.6


libc6:amd64: /lib/x86_64-linux-gnu/libm.so.6


libgcc1:amd64: /lib/x86_64-linux-gnu/libgcc_s.so.1


libc6:amd64: /lib/x86_64-linux-gnu/libc.so.6


libx11-6:amd64: /usr/lib/x86_64-linux-gnu/libX11.so.6


libxext6:amd64: /usr/lib/x86_64-linux-gnu/libXext.so.6


zlib1g:amd64: /lib/x86_64-linux-gnu/libz.so.1


libgl1-mesa-glx:amd64: /usr/lib/x86_64-linux-gnu/libGL.so.1


libxrender1:amd64: /usr/lib/x86_64-linux-gnu/libXrender.so.1


libglib2.0-0:amd64: /lib/x86_64-linux-gnu/libglib-2.0.so.0


libglib2.0-0:amd64: /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0


libxcb1:amd64: /usr/lib/x86_64-linux-gnu/libxcb.so.1


libglapi-mesa:amd64: /usr/lib/x86_64-linux-gnu/libglapi.so.0


libxdamage1:amd64: /usr/lib/x86_64-linux-gnu/libXdamage.so.1


libxfixes3:amd64: /usr/lib/x86_64-linux-gnu/libXfixes.so.3


libx11-xcb1:amd64: /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1


libxcb-glx0:amd64: /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0


libxcb-dri2-0:amd64: /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0


libxcb-dri3-0:amd64: /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0


libxcb-present0:amd64: /usr/lib/x86_64-linux-gnu/libxcb-present.so.0


libxcb-sync1:amd64: /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1


libxshmfence1:amd64: /usr/lib/x86_64-linux-gnu/libxshmfence.so.1


libxxf86vm1:amd64: /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1


libdrm2:amd64: /usr/lib/x86_64-linux-gnu/libdrm.so.2


libpcre3:amd64: /lib/x86_64-linux-gnu/libpcre.so.3


libffi6:amd64: /usr/lib/x86_64-linux-gnu/libffi.so.6


libxau6:amd64: /usr/lib/x86_64-linux-gnu/libXau.so.6


libxdmcp6:amd64: /usr/lib/x86_64-linux-gnu/libXdmcp.so.6



这些我没有安装它们,我用 ldd /opt/viber/Viber | grep 'not found' | awk '{printf"%s$n", $1}' | apt-file search -x -a amd64 -f - | sed 's/:/:amd64:/'


$ ldd /opt/viber/Viber | grep 'not found' | awk '{printf"%s$n", $1}' | apt-file search -x -a amd64 -f - | sed 's/:/:amd64:/'


libgstreamer-plugins-base0.10-0:amd64: /usr/lib/x86_64-linux-gnu/libgstapp-0.10.so.0


libgstreamer-plugins-base0.10-0:amd64: /usr/lib/x86_64-linux-gnu/libgstinterfaces-0.10.so.0


libgstreamer-plugins-base0.10-0:amd64: /usr/lib/x86_64-linux-gnu/libgstpbutils-0.10.so.0


libgstreamer-plugins-base0.10-0:amd64: /usr/lib/x86_64-linux-gnu/libgstvideo-0.10.so.0


libgstreamer0.10-0:amd64: /usr/lib/x86_64-linux-gnu/libgstbase-0.10.so.0


libgstreamer0.10-0:amd64: /usr/lib/x86_64-linux-gnu/libgstreamer-0.10.so.0


libsqlite3-0:amd64: /usr/lib/x86_64-linux-gnu/libsqlite3.so.0


libxcomposite1:amd64: /usr/lib/x86_64-linux-gnu/libXcomposite.so.1


libxml2:amd64: /usr/lib/x86_64-linux-gnu/libxml2.so.2


libxslt1.1:amd64: /usr/lib/x86_64-linux-gnu/libxslt.so.1



sudo apt-file -a amd64 update 强制64-bit文件列表。

  • |$(...):第一个允许我通过管道将命令的输出传递给另一个命令,后面允许我执行命令Xie
  • 只是安装这些软件包:

    
    sudo dpkg --add-architecture amd64 ## adding 64-bits architecture package
    
    
    sudo apt-get update
    
    
    sudo apt-get install libgstreamer-plugins-base0.10-0:amd64 libgstreamer-plugins-base0.10-0:amd64 libgstreamer-plugins-base0.10-0:amd64 libgstreamer-plugins-base0.10-0:amd64 libgstreamer0.10-0:amd64 libgstreamer0.10-0:amd64 libsqlite3-0:amd64 libxcomposite1:amd64 libxml2:amd64 libxslt1.1:amd64 libc6:amd64 libdrm2:amd64 libffi6:amd64 libgcc1:amd64 libgl1-mesa-glx:amd64 libglapi-mesa:amd64 libglib2.0-0:amd64 libpcre3:amd64 libstdc++6:amd64 libx11-6:amd64 libx11-xcb1:amd64 libxau6:amd64 libxcb1:amd64 libxcb-dri2-0:amd64 libxcb-dri3-0:amd64 libxcb-glx0:amd64 libxcb-present0:amd64 libxcb-sync1:amd64 libxdamage1:amd64 libxdmcp6:amd64 libxext6:amd64 libxfixes3:amd64 libxrender1:amd64 libxshmfence1:amd64 libxxf86vm1:amd64 zlib1g:amd64
    
    
    
    

    你还需要安装64-bit内核。



    文件  mac  BIT  MACH  DEB  32位  
    相关文章