如何解决将 raspbian 切换到 64 位
我通过将 arm_64bit=1
添加到 /boot/config.txt
将我的 raspian 切换到 64 位。从这个意义上说,内核现在是 64 位的。
当我想安装软件包(在我的情况下为 docker)时,我想使用 64 位版本,但它安装了 32 位版本。事实证明,包管理器仍然设置为 32 位:
$ dpkg --print-architecture
armhf
如何让包管理器安装 64 位包?
解决方法
$ dpkg --print-architecture
i386
# dpkg --add-architecture arm64
$ dpkg --print-foreign-architectures
amd64
# apt-get update
# apt-get download gcc-4.6-base:arm64 libgcc1:arm64 libc6:arm64 \
libselinux1:arm64 zlib1g:arm64 libbz2-1.0:arm64 dpkg:arm64
# dpkg -i gcc-4.6-base*.deb libgcc*.deb libc*.deb libselinux*.deb \
libbz2*.deb zlib*.deb dpkg*.deb
$ dpkg --print-architecture
arm64
$ dpkg --print-foreign-architectures
i386
您的一些软件包是 amd64,但大多数仍是 i386。 apt-get upgrade 会处理一些包,apt-get -f install 会修复一些错误,但大多数包仍然是 i386。如果您想解决这个问题,请跳过棘手的部分;)
使用 dpkg --get-selections | grep :i386
将返回您仍然需要迁移的所有软件包。
我的下一个想法是:
# apt-get install `dpkg --get-selections \
| grep i386 \
| awk {'gsub(/:i386/,":amd64"); print $1'}`
但结果证明是个坏主意:有些包在 amd64 中不可用(例如 libc6-i686),apt-get 会混淆,并且在两个版本中都会安装很多包。 aptitude 需要做大量的手工工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。