在我的樹莓派4上,為了發揮出64位CPU的性能,我安裝了Ubuntu Server 20.04 64-bit for Raspberry Pi替代樹莓派原生的32位系統。但是,一些為樹莓派原生的32位系統開發的軟件也就用不了,尤其是對於像我這樣懶得手動編譯,每次手動編譯還各種玄學翻車的人😂。可以通過如下的命令依次查看當前系統架構和支持的其它架構驗證這一點:
dpkg --print-architecture; dpkg --print-foreign-architectures
但是,64位的CPU大多是兼容32位的指令,不能運行32位的程序只是因為缺少32位軟件的運行環境。為此,我們可以通過如下命令添加dpkg工具對其支持:
dpkg --add-architecture armhf
這樣,如果您知道軟件所需要的依賴環境,我們就可以使用apt命令,來安裝相關的環境。當然,別忘了在安裝前需要使用apt update
命令來更新源。
當然,如果有一天,我們不再需要32位環境的支持的時候,我們就可以使用如下命令刪除dpkg對32位軟件的支持:
dpkg --remove-architecture armhf
如果您不清楚,可以通過如下命令導出系統中已經安裝的一些內容含有“lib”的系統預裝安裝的的包,也許會對您有幫助。請注意,一些新包的安裝可能會對原有包進行破壞,這可能會導致原有程序不能運行或系統崩潰,請仔細斟酌、測試后方可在服務器上使用。本人不承擔任何因此造成任何后果的任何責任。
警告!接下來的操作有風險,請備份好重要數據,在實驗機上充分測試后使用!
apt list | grep lib | grep installed,automatic > test.txt
在我的Ubuntu Server 20.04上,我自己使用的安裝命令是這個樣子的:
apt update
apt install glib-networking:armhf libc6:armhf libncurses6:armhf libpam-systemd:armhf libssl1.1:armhf libstdc++6:armhf