1. 程式人生 > >樹莓派 Learning 002 裝機後的必要操作 --- 05 給樹莓派搭建“x86 + pi”環境 -- 安裝**32位執行庫** -- 解決`E:未發現軟體包 xxx` 問題

樹莓派 Learning 002 裝機後的必要操作 --- 05 給樹莓派搭建“x86 + pi”環境 -- 安裝**32位執行庫** -- 解決`E:未發現軟體包 xxx` 問題

樹莓派 裝機後的必要操作 — 給樹莓派搭建“x86 + pi”環境 – 安裝32位執行庫 – 解決E:未發現軟體包 xxx 問題

我的樹莓派型號:Raspberry Pi 2 Model B V1.1
裝機系統:NOOBS v1.9.2

當你使用sudo apt-get install命令安裝某個安裝包的時候,會可能會出現E:未發現軟體包 xxx這樣的問題,要如何解決?
如果你像要在樹莓派上下載x86的軟體包,要怎麼做?
如果你像要在樹莓派上執行x86的軟體包,你要怎麼做?
下面我就告訴你:

1 安裝 32位執行庫

安裝 32位執行庫的命令是:sudo apt-get install libc6:i386

。如果你現在在終端中執行這個命令,它會提示你:E:未發現軟體包 libc6
我們需要做下面的一系列的設定。

1.1 設定 dpkg

dpkg”是“Debian Package”的簡寫。我們第一件要做的事情是dpkg去接受不屬於本系統結構機制而是X86機子的程式包(Package)。

sudo dpkg --add-architecture i386

1.2 編輯 apt 軟體源 sources.list 配置檔案 和 sources.list.d 路徑裡面的每一個配置檔案

因為我們現在的軟體源配置檔案裡面都是ARM相關的軟體源網站。我們要想使用x86體系的軟體,就要在軟體源配置檔案

裡新增x86軟體源的下載網站。
如果我們直接就這個新增,軟體源配置檔案裡同時又兩個不同體制的軟體源的下載網站,這樣的話,如果x86 和 ARM 中的某個軟體的名字相同,安裝這個軟體的時候,就會報錯。所以我們要在配置檔案中,每一個軟體源網址前面指定它是 x86 的 還是 ARM 的。

所以,現在將當前 /etc/apt/sources.list 配置檔案 和 /etc/apt/sources.list.d路徑裡面的每一個配置檔案 中的軟體源網址前面新增:[arch=armhf]

/etc/apt/sources.list 配置檔案是:軟體原始檔。
/etc/apt/sources.list.d 路徑裡面的配置檔案是:第三方軟體的源。

使用預設的文字編譯器:leafpad 開啟設定軟體源的檔案:(leafpad類似於windows系統裡面的記事本軟體。)

sudo leafpad /etc/apt/sources.list
# 和
sudo leafpad /etc/apt/sources.list.d/raspi.list

例如:配置檔案中的一行可能是下面這個樣子的:

deb http://archive.raspbian.org/raspbian jessie main contrib non-free

修改為:

deb [arch=armhf] http://archive.raspbian.org/raspbian jessie main contrib non-free

修改後,儲存。重新開一個終端,執行:sudo apt-get update試試看,和以前執行時一樣的,沒有什麼變換。

1.3 新增一個 i386 配置檔案

要想下載 i386 軟體,就需要先新增 x86 的軟體源的映象網站。
所以現在,我們在/etc/apt/sources.list.d路徑裡面,建立一個名為 i386.list的配置檔案。

cd /etc/apt/sources.list.d/
sudo leafpad i386.list

將下面的內容複製到裡面,並儲存檔案:

deb [arch=i386] http://ftp.debian.org/debian/ jessie main contrib non-free
deb [arch=i386] http://ftp.debian.org/debian/ jessie-updates main contrib non-free
deb [arch=i386] http://security.debian.org/ jessie/updates main contrib non-free

我們上面的配置這裡指定的軟體源是:Debian官方的軟體源,如果你想使用國內Debian軟體源的映象網站也可以。

其中jessie是版本號,早期的版本號是wheezy,我們要下載最新的,所以這裡使用:jessie

1.4 更新你本地的apt快取

重新開啟一個終端,執行:

sudo apt-get update

這可以要執行幾分鐘的時間。

1.5 安裝 qemu-user 和 binfmt-support

這是一個非常重要的環節。我們已經配置了軟體源,是為了讓樹莓派能夠下載x86可執行二進位制可執行檔案。現在我們要做的事情是:為了使用它們,我們給系統設定它們在程序水平的虛擬化環境。

聽起來很難設定,其實很簡單,只需要執行下面的命令即可:

sudo apt-get install binfmt-support qemu-user

1.6 安裝 x86 libc

sudo apt-get install libc6:i386

搞定!