Arch Linux「官方」開發組僅支援x86架構,Arch Linux ARM是由另外一群開發者維護的專案。
你知道Arch Linux ARM跟仍然可以沿用AUR的套件嗎?只要 安裝yay,後面安裝的指令就一模一樣了。
但,不是所有軟體都支援ARM架構。
Arch Linux「官方」開發組僅支援x86架構,Arch Linux ARM是由另外一群開發者維護的專案。
鑑於ARM版的用戶數量比x86版少很多,有人寫PKGBUILD的時候就會限定x86架構安裝,忘記ARM的存在。於是乎PKGBUILD會下載x86版本的程式,yay會跳出xxx並未提供aarch64架構使用
或xxx is not available for the 'aarch64' architecture
的訊息。再加上軟體安裝需要跑sha256驗證,即使你強制用yay安裝它也無法繼續。
這時你就要自己改PKGBUILD的內容,手動指定下載的檔案,嘗試讓Arch Linux x86架構的套件能裝在Arch Linux ARM上。
我們得先查明,該軟體是否有真的有釋出ARM架構的套件。以Google Chrome為例子,官方到現在都沒有釋出ARM版,所以無從下手。我找了個功能類似的替代品: Thorium Browser
AUR上有
thorium-browser-bin
套件,下載PKGBUILD
git clone https://aur.archlinux.org/thorium-browser-bin.git
# 如果你想用yay
yay -G thorium-browser-bin
cd thorium-browser-bin
觀察PKGBUILD可以得知它是從Github下載程式二進位檔的,並且有sha256校驗碼
手動下載ARM版的Thorium Browser檔案,為其產生校驗碼
wget https://github.com/Alex313031/Thorium-Raspi/releases/download/M119.0.6045.214/thorium-browser_119.0.6045.214_arm64.deb
sha256sum thorium-browser_119.0.6045.214_arm64.deb
- 編輯PKGBUILD,修正版本號碼
pkgver=119.0.6045.214
- 再加入
aarc64
支援
arch=('x86_64', 'aarc64')
- 將下載網址換掉
_dl_url="https://github.com/Alex313031/Thorium-Raspi/releases/download/M${_pkgver:?}"
_dl_filename="${_pkgname}_${_pkgver:?}_arm64.deb"
- 將校驗碼換掉
sha256sums=(
'SKIP'
'校驗碼'
)
- 如此一來就可以安裝修改過的AUR套件了
makepkg -si
# 如果你要用yay
yay -Bi "PKGBUILD所在目錄"
- 萬一該軟體依賴AUR才有的套件,那麼就先把他們裝起來
makepkg --asdeps "套件" "套件" "套件"
# 如果你要用yay
yay -S --asdeps "套件" "套件" "套件"