V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
marclam
V2EX  ›  NAS

32 位 Linux 如何运行 64 位可执行文件

  •  
  •   marclam · 2020-11-28 20:28:42 +08:00 · 4388 次点击
    这是一个创建于 1237 天前的主题,其中的信息可能已经有所发展或是发生改变。

    找了个旧笔记本(CPU: n280)安了 32 位 Debian10 当作 NAS 用,发现一直在用的人人影视 web 版本是 64 位的,无法执行,有什么其他解决方案么?

    第 1 条附言  ·  2020-11-28 22:16:17 +08:00
    感谢 @yanzhiling2001 提供方案,了解了一下发现 qemu 应该是可以,不过目前还没完全解决。人人影视有树莓派版本,所以应该可以使用 qemu-aarch64 来运行,但尝试了之后总有保存,比如缺少 /lib/ld-linux-aarch64.so.1 和 /lib64/libc.so.6,前者通过下载解决了,后者下载之后也没解决,不知道哪位朋友知道怎么办?
    第 2 条附言  ·  2020-11-28 22:16:33 +08:00
    感谢 @yanzhiling2001 提供方案,了解了一下发现 qemu 应该是可以,不过目前还没完全解决。人人影视有树莓派版本,所以应该可以使用 qemu-aarch64 来运行,但尝试了之后总有保存,比如缺少 /lib/ld-linux-aarch64.so.1 和 /lib64/libc.so.6,前者通过下载解决了,后者下载之后也没解决,不知道哪位朋友知道怎么办?
    第 3 条附言  ·  2020-11-29 23:23:29 +08:00
    目前没折腾明白,最后安了个 32 位的黑裙,5.0 的 DSM,发现套件中心没有 docker,第三方源安上 transmission 并汉化了,但是也没有 docker,有能通过命令行或者其他套件源安装的 32 位 docker 么?
    24 条回复    2020-12-14 17:10:33 +08:00
    yanzhiling2001
        1
    yanzhiling2001  
       2020-11-28 20:31:41 +08:00
    64 位系统装不上吗
    hjc4869
        2
    hjc4869  
       2020-11-28 20:34:37 +08:00
    用 qemu-user-x86_64 模拟
    marclam
        3
    marclam  
    OP
       2020-11-28 20:37:08 +08:00 via Android
    @yanzhiling2001 是 32 位的处理器 ㅠㅜ
    marclam
        4
    marclam  
    OP
       2020-11-28 20:37:25 +08:00 via Android
    @hjc4869 多谢,我查查
    marclam
        5
    marclam  
    OP
       2020-11-28 20:42:56 +08:00 via Android
    @hjc4869 好像非常可行的样子,哈哈,#qemu-x86_64 ./xxx -h 这样就可以了是吧
    marclam
        6
    marclam  
    OP
       2020-11-28 21:08:55 +08:00 via Android
    @hjc4869 麻烦问下,我安装了 qemu, qemu-utils, qemu-user, qemu-sysrem-x86 这四个然后查看确认了一下
    # ls /proc/sys/fs/binfmt_misc/
    python2.7 qemu-alpha qemu-cris qemu-microblaze qemu-mips64el qemu-ppc64 qemu-riscv32 qemu-sh4 qemu-sparc32plus qemu-xtensaeb
    python3.7 qemu-arm qemu-hppa qemu-mips qemu-mipsel qemu-ppc64abi32 qemu-riscv64 qemu-sh4eb qemu-sparc64 register
    qemu-aarch64 qemu-armeb qemu-m68k qemu-mips64 qemu-ppc qemu-ppc64le qemu-s390x qemu-sparc qemu-xtensa status
    我安装之后没有 qemu-x86_64 这个,不知道是再需要安装什么还是改名了呢?
    HertzHz
        7
    HertzHz  
       2020-11-28 22:29:20 +08:00
    答案就是不行,qemu 的话就是模拟了而非虚拟,性能你懂的
    solider245
        8
    solider245  
       2020-11-28 22:30:33 +08:00   ❤️ 2
    最好是换处理器,我也遇到过你这个问题,换处理器解决一切问题。现在处理器也便宜
    marclam
        9
    marclam  
    OP
       2020-11-29 00:30:51 +08:00 via Android
    @solider245 主要是旧笔记本废物利用,如果实在不行也不会再投入,其实有四盘位 nas 服务器,不过觉得我其实就人人影视下载和 samba 这两个需求,还是旧笔记本的性能功能和功耗更合理
    marclam
        10
    marclam  
    OP
       2020-11-29 03:14:24 +08:00 via Android
    @HertzHz 性能其实不太在乎,只要能跑起来就行,目的就是电子垃圾榨干最后的价值,哈哈
    v2yllhwa
        11
    v2yllhwa  
       2020-11-29 07:50:18 +08:00 via Android
    你试试把 libc.so.4 链接成 libc.so.6 ?
    v2yllhwa
        12
    v2yllhwa  
       2020-11-29 07:53:13 +08:00 via Android   ❤️ 1
    算了,不要轻易尝试,我在 Ubuntu 下面链接解决了一个问题,在 arch 下面链接之后系统都崩了(
    laqow
        13
    laqow  
       2020-11-29 10:47:53 +08:00 via Android   ❤️ 1
    不支持 64 位年代的 cpu 能解码的动视频吗?
    marclam
        14
    marclam  
    OP
       2020-11-29 11:39:56 +08:00 via Android
    @v2yllhwa 目前问题貌似是因为 32 位系统里的 /lib64 是空的,我再 google 一下吧
    marclam
        15
    marclam  
    OP
       2020-11-29 11:46:35 +08:00 via Android
    @v2yllhwa 目前问题貌似是因为 32 位系统里的 /lib64 是空的,我再 google 一下吧,没有简单办法的话备选就是黑个 32 位群晖 5.0
    yanzhiling2001
        16
    yanzhiling2001  
       2020-11-29 12:12:12 +08:00
    你艾特错人了
    marclam
        17
    marclam  
    OP
       2020-11-29 12:27:46 +08:00
    @yanzhiling2001 艾玛,手残了
    Lemeng
        18
    Lemeng  
       2020-11-29 13:52:49 +08:00
    一直是 64 位的,不过应该有相关的模拟器。
    yanqiyu
        19
    yanqiyu  
       2020-11-29 14:01:21 +08:00
    因为你需要一整个 aarch64 的 chroot 环境来保证你的 aarch64 elf 可以运行
    codehz
        20
    codehz  
       2020-11-29 14:30:31 +08:00
    试试 proot,这个可以整合 chroot 和 qemu 功能,还不需要 root 权限*
    marclam
        21
    marclam  
    OP
       2020-11-29 17:22:59 +08:00
    @codehz 折腾了一下没弄明白 proot,最后 32 位黑裙了,发现没有 docker,蛮失败的,回头想想还能干点什么,32 位现在貌似都可以扔了 ㅠㅠ
    jinqzzz
        22
    jinqzzz  
       2020-12-12 18:38:24 +08:00
    没有用过这个程序,如果他可以无图形程序运行,在 Debian 上可以尝试拉一个 aarch64 的 pbuilder tgz 环境,使用 qemu-debootstrap 代替 debootstrap,然后使用 pbuilder 进入 tgz 。我在 debian testing 的 aarch64 上模拟过 armhf,选择 testing 是因为 qemu 比较新,修了很多 armhf 模拟的 bug,比如 https://github.com/vivier/qemu-m68k/issues/38 在你看来就相当于反过来
    marclam
        24
    marclam  
    OP
       2020-12-14 17:10:33 +08:00 via Android
    @jinqzzz 多谢回复,我会尝试一下,这个程序正常使用起来就是./运行之后通过网页可以访问,还会调用一个 p2pclient 用于下载,现在虽然先黑裙了,不过还是装了个 32 位的虚拟机在研究如何解决
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3730 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 00:52 · PVG 08:52 · LAX 17:52 · JFK 20:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.