1. 程式人生 > >不得不說的Fedora和CentOS安裝deb包方法

不得不說的Fedora和CentOS安裝deb包方法

文章來自公眾號:睿江雲端計算

轉載請說明出處

使用AlienRPM轉換成DEB


在本文中,我們將為你介紹alien,一個用於在各種不同的Linux包格式相互轉換的工具,其最常見的用法是將.rpm轉換成.deb(或者反過來)。


相信很多用linux(比如Fedora)桌面作日常工作用的朋友也有遇到過。如果你需要某個特定型別的包,而你只能找到其它格式的包的時候,該工具遲早能派得上用場——即使是其作者不再維護,並且在其網站宣告:alien將可能永遠維持在實驗狀態。


例如,有一次,我正查詢一個用於音樂軟體或翻譯軟體的.rpm安裝包,但是卻沒有找到——開發者只提供.deb包,這時候

alien拯救了我。我安裝了alien,將包進行轉換,不久之後我就可以使用我要的這款軟體了,沒有任何問題。


即便如此,我們也必須澄清一下,這個工具不應當用來轉換重要的系統檔案和庫,因為它們在不同的發行版中有不同的配置。只有在前面說的那種情況下所建議的安裝方法根本不適合時,alien才能作為最後手段使用。


最後一項要點是,我們必須注意,雖然我們在本文中使用CentOS和Fedora,除了前兩個發行版及其各自的家族體系外,據我們瞭解,alien還可以工作在DebianSlackware中,甚至Solaris中。

 

步驟1:安裝Alien及其依賴包


要安裝alienCentOS/RHEL 7中,你需要啟用EPELNux Dextop(是的,是Dextop——不是Desktop)倉庫,順序如下:

1. # yum install epel-release

啟用Nux Dextop倉庫的包的當前最新版本是0.52018年2月20日釋出),在安裝之前你可以檢視該連結中是否有更新的版本。

http://li.nux.ro/download/nux/dextop/el7/x86_64/

1. # rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

2. # rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

然後再做,

1.#yum clean all

2.#yum repolist

3.#yum install alien

Fedora中,你只需要執行上面的命令即可。

Debian及其衍生版中,只需要:

1. # aptitude install alien

 

步驟2:將.deb轉換成.rpm包


對於本次測試,我們選擇了date工具,它提供了一系列日期和時間工具用於處理大量時間資料。我們將下載.deb包到我們的CentOS 7機器中,將它轉換成.rpm並安裝:


Check CentOS Version

檢查CentOS版本

1. # cat /etc/centos-release

2. # wget http://ftp.us.debian.org/debian/pool/main/d/dateutils/dateutils_0.3.1-1.1_amd64.deb

3. # alien --to-rpm --scripts dateutils_0.3.1-1.1_amd64.deb

 

Linux中將.deb轉換成.rpm

重要:(請注意alien是怎樣來增加目標包的次版本號的。如果你想要無視該行為,請新增-keep-version標識)。

如果我們嘗試馬上安裝該包,我們將碰到些許問題:

1. # rpm -Uvh dateutils-0.3.1-2.1.x86_64.rpm

安裝RPM

要解決該問題,我們需要啟用epel-testing倉庫,然後安裝rpmbuild工具來編輯該包的配置以重建包:

1.#yum--enablerepo=epel-testing install rpmrebuild

然後執行,

1.#rpmrebuild-pedateutils-0.3.1-2.1.x86_64.rpm

它會開啟你的預設文字編輯器。請轉到%files章節並刪除涉及到錯誤資訊中提到的目錄的行,然後儲存檔案並退出:

 

轉換.debAlien

但你退出該檔案後,將提示你繼續去重構。如果你選擇“Y”,該檔案會重構到指定的目錄(與當前工作目錄不同):

1.#rpmrebuild–pedateutils-0.3.1-2.1.x86_64.rpm

 

 

構建RPM

現在你可以像以往一樣繼續來安裝包並驗證:

1.#rpm -Uvh /root/rpmbuild/RPMS/x86_64/dateutils-0.3.1-2.1.x86_64.rpm

2.#rpm -qa | grep dateutils

安裝構建RPM

最後,你可以列出date工具包含的各個工具,也可以檢視各自的手冊頁:

1. # ls -l /usr/bin | grep dateutils

 

 

驗證安裝的RPM


小結

在本文中,我們已經解釋瞭如何將.deb轉換成.rpm,這可以作為這類程式不能從倉庫中或者作為可分發原始碼獲得的最後安裝手段。

文章參考Linux中國

【睿江雲】充值大返利,預充值返萬元,購兩年免8月。預充值,立刻返劵,最高可省10000元。

參與活動連結:http://www.eflycloud.com/#/home?from=RJ0028&salesID=62DS7F2GA