Linux
如何在我的自定義 Linux 發行版中安裝 Debian 包管理器(dpk 和 apt)?
我已經使用核心製作了一個可引導的基於 Linux 的作業系統,僅busybox,並且在 QEMU 模擬器中測試它是成功的。我需要的下一步是在我的自定義 Linux 上安裝 dpkg 和 APT(Debian 包管理器)。
我怎樣才能做到這一點?
只需安裝 Debian 包管理器原始碼並編譯然後移植到我的系統的 rfs?我不知道具體該怎麼做。
(安裝 Debian 軟體包管理器是實現我的目標的唯一方法,因為我的教授是這樣指導的。所以其他方法對我沒有用)
在我繼續之前,讓我聲明:
- 如果您的教授使用的是
apt
,那麼她使用的是基於 debian 的系統。我建議使用相同的發行版而不是您自己的“從頭開始”系統。如果您因為想要自定義核心而使用從頭開始的系統,那麼您可以將該核心安裝為基於 debian 的系統。- 如果你使用
apt
,你最終會從某個地方下載包。你希望它在哪裡?Ubuntu的存檔?Debian 的存檔?小學檔案?您還需要知道要下載哪個版本的東西。Debian與 Debian和 Ubuntustretch
有許多不兼容的地方。當您使用安裝軟體包時,如果您沒有從同一發行版的同一版本安裝所有軟體,則會遇到依賴性問題。因此,如果您無論如何要從發行版安裝所有內容,只需從該發行版開始並更換核心(如果這是您想要做的事情)。buster``bionic``apt
- 在基於 debian 的系統上,一切都由 跟踪
dpkg
,包括dpkg
自身和非常低級的依賴項。大多數事情都取決於libc
您可能已經安裝了它。這將導致衝突,因為它是在沒有安裝的情況下安裝的dpkg
,dpkg
無法知道它存在於您的系統上,並且無法驗證您擁有的版本與libc
您嘗試安裝的軟體包兼容。我認為最簡單的方法是為您的架構下載
dpkg
二進制包 (dpkg_<version>_<arch>.deb
) 並手動解壓縮。在您嘗試使用apt
.如果您使用的是基於 debian 的主機,則可以,否則,可以直接從存檔
apt download dpkg
中獲取二進製文件。您需要手動執行
dpkg*.deb
通常dpkg
的操作(唯一的維護者腳本dpkg
是postrm
這樣的,所以這不會是相關的)。
- 下載
dpkg_<version>_<arch>.deb
- 提取內容
ar -x *.deb
- 提取
control.tar.xz
與tar -xf
- 檢查
control
文件並檢查是否安裝了所有依賴項- 提取
data.tar.xz
到/
之後,假設您首先安裝它的依賴項,您應該能夠
dpkg -i *.deb
在您安裝的任何軟體包上安裝.deb``dpkg
一般建議是:如果您想使用
dpkg
orapt
,請使用它附帶的發行版。如果你不這樣做,有太多事情可能會出錯。