ฉันติดตั้ง Ubuntu 16.04.2 LTS บนเซิร์ฟเวอร์ arm64 แล้ว:
# uname -a
Linux test 4.9.23-std-1 #1 SMP Mon Apr 24 13:18:14 UTC 2017 aarch64 aarch64 aarch64 GNU/Linux
ฉันรันคำสั่งต่อไปนี้เพื่อเปิดใช้งานarmhf
การติดตั้งแพ็คเกจ:
# dpkg --add-architecture armhf
ฉันติดตั้งtraceroute
แพคเกจแล้ว:
# apt-get install traceroute:armhf
Reading package lists... Done
Building dependency tree
[...]
Preparing to unpack .../traceroute_1%3a2.0.21-1_armhf.deb ...
Unpacking traceroute:armhf (1:2.0.21-1) ...
Processing triggers for man-db (2.7.5-1) ...
อย่างไรก็ตามฉันไม่สามารถเรียกใช้ไฟล์ปฏิบัติการได้:
# traceroute
-bash: /usr/sbin/traceroute: cannot execute binary file: Exec format error
ข้อมูลเพิ่มเติม:
# file /usr/bin/traceroute.db
/usr/bin/traceroute.db: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV),
dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux
2.6.32, BuildID[sha1]=0ebd0553e26b163dd848c131fe8ee0a4a2409109, stripped
# ldd /usr/bin/traceroute.db
not a dynamic executable
ฉันลองติดตั้งbinfmt-support
และยืนยันว่าbinfmt_misc
โหลดโมดูลแล้ว
ไม่arm64
ย้อนกลับเข้ากันได้กับarmhf
? ฉันจะรันarmhf
ไฟล์เรียกทำงานบนarm64
เซิร์ฟเวอร์ได้อย่างไร?
เห็นได้ชัดว่าการพึ่งพาทั้งหมดเช่นเดียวกับล่ามจำเป็นต้องเป็น 32 บิตเช่นกัน
—
You'reAGitForNotUsingGit
คุณแสดง
—
Marcos Silveira
apt-get update; apt-get upgrade
หลังจากdpkg --add-architecture armhf
หรือไม่
@MarcosSilveira ใช่ไม่แตกต่างกัน
—
Nathan Osman