如何在不同架構的循環安裝 Arch 映像上使用 pacman?

如何在不同架構的循環安裝 Arch 映像上使用 pacman?

我想先在 ARM 映像上安裝一些軟體包,然後再將其刷新到 SD 卡。到目前為止,我已經循環安裝了映像

sudo mount -o loop,offset=99614720 archlinuxarm-13-06-2012.img /mnt

並將 ARM 鏡像添加到我的/etc/pacman.d/mirrorlist.然後我嘗試跑步

sudo pacman --root /mnt --arch arm --conf /mnt/etc/pacman.conf -S curl

但它失敗並顯示以下輸出......

warning: curl-7.26.0-1 is up to date -- reinstalling
resolving dependencies...
looking for inter-conflicts...

Targets (1): curl-7.26.0-1

Total Download Size:    0.48 MiB
Total Installed Size:   1.50 MiB
Net Upgrade Size:       0.00 MiB

Proceed with installation? [Y/n] Y
:: Retrieving packages from core...
error: failed retrieving file 'curl-7.26.0-1-arm.pkg.tar.xz' from mirror.lividpenguin.com : The requested URL returned error: 404
 curl-7.26.0-1-arm                   492.9 KiB   293K/s 00:02 [##################################] 100%
(1/1) checking package integrity                              [##################################] 100%
(1/1) loading package files                                   [##################################] 100%
(1/1) checking for file conflicts                             [##################################] 100%
(1/1) checking available disk space                           [##################################] 100%
(1/1) upgrading curl                                          [##################################] 100%
call to execv failed (Exec format error)
error: command failed to execute correctly

關於如何在沒有仿真的情況下使其工作的任何想法?知道什麼是execv-d 嗎?

更新

我發現它正在嘗試運行ldconfig,這顯然失敗了。幸運的是,我不需要運行它!

答案1

大多數 Linux 發行版不支援在不相容的主機系統上安裝目標系統的軟體套件。阿奇也不例外。ldconfig只是軟體包安裝過程中可能需要運作的目標系統的眾多程式之一。

在 ARM 裝置本身或 QEmu 等模擬器執行安裝。

或者,下載該tar.xz文件,修改存檔以刪除該.INSTALL文件,然後對修改後的存檔再次執行 pacman。然後處理由於沒有手動運行安裝腳本而導致的損壞。

答案2

我試過修補吃豆人所以現在它有了一個--no-ldconfig選擇,它解決了問題。還有另一個解決方案,使用 Alex Chamberlain 製作的工具,皮伊姆格,但尚未測試。

相關內容