Ubuntu
如何從現有的 DEB 文件更改為 Centos RPM
我正在將產品從 Ubuntu 12.04 遷移到 Centos 6.6。我有大約 500 個 deb 文件。(例如’dpkg -i libaio1_0.3.109-2ubuntu1_amd64.deb’)。我需要 Centos 上的這些 debs。
- 有沒有可行的方法在 Centos 上安裝 deb 包?
- 將 deb 文件轉換為 Centosable 格式的可靠方法?(我嘗試了“外星人”包,但它不起作用,出錯,每次都失敗)
- 另外,dpkg 命令對 deb 文件有什麼作用?我知道 rpm 包使用規範文件並從 rpm 命令觸發以使用它。雖然在 .debs 中找不到類似的文件。
您遇到的外星人問題很可能不是由於外星人的錯誤或限制,而是由於您的方法的內在問題。將 deb 包轉換為 rpm 包很容易,alien 做得很好。將Ubuntu的包轉換為 CentOS的包要困難得多。這意味著不僅要以不同的格式重新打封包件,還要將文件移動到 CentOS 期望它們的目錄中,修改配置文件以便它們在 CentOS 上工作(例如使用不同的 init 系統),聲明對軟體包的依賴關係具有不同的名稱(或者甚至可能根本不存在於發行版中)等。
有 500 個包,你可能會遇到一些困難的情況。是否值得努力製作虛擬包、創建符號連結和包裝腳本、調整系統配置等取決於您,但我肯定會尋找另一種解決方案。特別要注意,Debian 二進製文件很有可能是針對與 CentOS 中不同的庫版本編譯的。
如果您想在 CentOS 機器上執行為 Debian 建構的程序,最省力的解決方案是將 Debian 安裝在 chroot 中(本指南關於在另一個 Debian 版本上安裝 Debian可能很有用,因為對主機端的依賴並不多) .
如果你想擁有“正確的”CentOS 軟體包,那麼從原始碼建構它們將比轉換 Debian 軟體包容易得多。