天天看點

Linux有問必答:怎麼用CheckInstall從源碼建立一個RPM或DEB包Linux有問必答:怎麼用CheckInstall從源碼建立一個RPM或DEB包

問題:我想要從源碼建立安裝的軟體包。有沒有一種方式從源碼來建立和安裝軟體包,而不是運作“make install”?這樣的話,以後如果我想,我可以容易的解除安裝程式。

如果你已經從它的源碼運作“make install”安裝了linux程式。想完整移除它将變得真的很麻煩,除非程式的開發者在makefile裡提供了uninstall的目标設定。否則你必須在安裝前後比較你系統裡檔案的完整清單,然後手工移除所有在安裝過程中加入的檔案。

Linux有問必答:怎麼用CheckInstall從源碼建立一個RPM或DEB包Linux有問必答:怎麼用CheckInstall從源碼建立一個RPM或DEB包

在這篇文章中,我們隻集中在紅帽子和debian為基礎的發行版,并展示怎樣從源碼使用checkinstall建立一個rpm和deb軟體包

<a target="_blank"></a>

在debian及其衍生發行版上安裝checkinstall:

# aptitude install checkinstall

# wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/ikoinoba/centos_centos-6/x86_64/checkinstall-1.6.2-3.el6.1.x86_64.rpm

# yum install checkinstall-1.6.2-3.el6.1.x86_64.rpm

一旦checkinstall安裝好,你就可以用下列格式建立一個特定的軟體包

# checkinstall &lt;install-command&gt;

如果沒有參數,預設安裝指令“make install”将被使用

在這個例子裡,我們将建立一個htop包,這是一個linux互動式文本模式程序檢視器(類似 top)。

首先,讓我們從項目的官方網站下載下傳源代碼,作為一個好的習慣,我們存儲源碼包到/usr/local/src下,并解壓它。

# cd /usr/local/src

# wget http://hisham.hm/htop/releases/1.0.3/htop-1.0.3.tar.gz

# tar xzf htop-1.0.3.tar.gz

# cd htop-1.0.3

讓我們看看htop的安裝指令是什麼,以便我們能用checkinstall指令調用它,如下面所示,htop用“make install”指令安裝。

# ./configure

# make install

是以,要建立一個htop安裝包,我們可以不帶任何參數的調用checkinstall,這将使用“make install”指令建立一個包。在這個過程中, checkinstall指令會問你幾個問題。

簡而言之,如下指令會建立一個htop包:

# checkinstall

“should i create a default set of package docs?(我會建立一個預設設定的封包件?)”,回答“y”:

Linux有問必答:怎麼用CheckInstall從源碼建立一個RPM或DEB包Linux有問必答:怎麼用CheckInstall從源碼建立一個RPM或DEB包

你可以輸入一個包的簡短描述,然後按兩次回車:

Linux有問必答:怎麼用CheckInstall從源碼建立一個RPM或DEB包Linux有問必答:怎麼用CheckInstall從源碼建立一個RPM或DEB包

輸入一個數字以修改下面的任何值或enter繼續:

Linux有問必答:怎麼用CheckInstall從源碼建立一個RPM或DEB包Linux有問必答:怎麼用CheckInstall從源碼建立一個RPM或DEB包

然後checkinstall将自動地建立一個.rpm或者.deb包,根據你的linux系統是什麼:

在centos7:

Linux有問必答:怎麼用CheckInstall從源碼建立一個RPM或DEB包Linux有問必答:怎麼用CheckInstall從源碼建立一個RPM或DEB包

在debian 7:

Linux有問必答:怎麼用CheckInstall從源碼建立一個RPM或DEB包Linux有問必答:怎麼用CheckInstall從源碼建立一個RPM或DEB包

原文釋出時間:2014-10-26

本文來自雲栖合作夥伴“linux中國”

繼續閱讀