一.關於 CheckInstall的背景知識:nginx
前面咱們介紹了怎麼在wdOS系統中使用源碼編譯安裝的方式來安裝LAMP,LNMP,LNAMP環境以及基於它們的應用如安裝Discuz論壇,Wordpress博客和PhpMyAdmin數據庫的管理套件等等。不知道各位會不會像我那樣在安裝過程當中遇到須要卸載而後從新編譯安裝的問題只,make file 只有少數的卸載例子,因此使用make uninstall時不少時候都不能幫咱們清理已經安裝的內容。而若是你的程序是須要常常重複編譯,你就得每次都到這些目錄下刪除本來安裝過得內容,這個過程十分的麻煩。數據庫
CheckInstall 是一款優秀的源碼安裝軟件,它使得 Linux 軟件管理更加方便。Checkinstall 是一個能從 tar.gz 類的源代碼自動生成 RPM/Debian 或Slackware 安裝包的程序。經過 CheckInstall,你就能用幾乎全部的 tar.gz 類的源代碼來生成「乾淨」的安裝或者卸載包。 特別是在源碼須要常常重複編譯的狀況下,CheckInstall 可讓你絲絕不破壞系統一致性的前提下徹底的卸載程序。並且,你還可使用這些編譯好的安裝包直接在其餘的機器上安裝無須再從新編譯 。工具
二.安裝過程:spa
下載checkinstall源碼到/usr/local/src這個目錄下:文檔
解壓縮源碼包: tar xf checkinstall-1.6.2.tar.gz.1源碼
進入checkinstall-1.6.2這個目錄下,進行編譯:make博客
完成後進行安裝初始化:make install編譯
安裝完後使用checkinstall命令將checkinstall自己打成rpm包 :變量
這一步選擇y:建立一系列默認的封裝文檔打包
打包方式選擇RPM:
下一步若是你不須要修改這些默認值的話,能夠enter一下進行下一步
提示checkinstall-1.6.2-1.i386.rpm已經封裝在/usr/src/redhat/RPMS/i386/這個目錄下:
根據上面提示進入到/usr/src/redhat/RPMS/i386/這個目錄下,ls一下就會看到已經封裝好的checkinstall封裝包:
使用 rpm -i checkinstall-1.6.2-1.i386.rpm來安裝
安裝完畢後可使用rpm查詢語句rpm -qa | grep checkinstall ,查看是否安裝成功:
或者使用包管理程序的查詢語句rpm -qi checkinstall 檢查安裝包中文件是否徹底在程序庫中記錄了以及安裝包頭部的一些額外信息。
下面就來說講checkinstall的配置文件:
咱們能夠經過修改配置文件 /usr/local/lib/checkinstall/checkinstallrc 來改變 CheckInstall 的默認配置。
在這個配置文件中,值得注意的有如下三個變量:
INSTYPE :這裏設置默認的封裝類型 有slackware rpm debian三個選項
若是你不肯定接下來使用什麼封裝類型,你能夠選擇空着,下次封裝時系統會提示選擇要封裝的類型
PAK_DIR: 決定安裝包的存儲目錄 一樣的,你能夠先空着
INSTALL :決定是隻生成安裝包仍是生成包後立刻安裝
0-只生成安裝包
1-不只生成安裝包,還將包當即安裝
三.基於checkinstall這個工具的應用實例:
說明:我這裏以nginx-1.0.4.tar.gz爲例進行說明。其實前面幾步都與咱們以前作過的nginx源碼安裝同樣,不同的只是make install這一步用checkinstall 來代替,而後根據提示安裝便可。
進入到/usr/local/src這個目錄先下載nginx的源碼包
解壓縮: tar -zxvf nginx-1.0.4.tar.gz
由當前目錄cd 進入nginx-1.0.4 這個目錄下,設置編譯須要用到的參數:
./configure \
--user=nginx \
--group=nginx \
--prefix=/usr/share \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/log/run/nginx.pid \
--lock-path=/var/log/lock/subsys/nginx \
下一步就是進行編譯:make
咱們要用到checkinstall工具,因此下一步用checkinstall代替makeinstall,而後根據提示一步步來:
打包方式選擇rpm:
rpm包的創建會用到的值,若是沒有要修改的,enter開始下一步:
封裝成功:
根據提示cd 進入到/usr/src/redhat/RPMS/i386/ 這個目錄下
使用rpm -ivh nginx-1.0.4-1.i386.rpm來進行安裝
安裝完以後能夠檢查是否存在:
查看更詳細的信息:
若是須要從新安裝這個rpm包,可使用rpm -e nginx 來刪除再從新初始化安裝便可。