萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> 如何從Linux源碼創建RPM或DEB包

如何從Linux源碼創建RPM或DEB包

  在Linux系統操作中,因為某些原因而想要直接從源碼創建安裝的軟件包,下面小編就給大家介紹下如何在Linux系統下從源碼創建RPM或DEB包,以便將來可以更容易的卸載程序,一起來了解下吧。

  如果你已經從它的源碼運行“make install”安裝了linux程序。想完整移除它將變得真的很麻煩,除非程序的開發者在Makefile裡提供了uninstall的目標設置。否則你必須在安裝前後比較你系統裡文件的完整列表,然後手工移除所有在安裝過程中加入的文件。

  這時候Checkinstall就可以派上使用。Checkinstall會跟蹤install命令行所創建或修改的所有文件的路徑(例如:“make install”、“make install_modules”等)並建立一個標准的二進制包,讓你能用你發行版的標准包管理系統安裝或卸載它,(例如Red Hat的yum或者Debian的apt-get命令)。已知它在 Slackware、SuSe、Mandrake 和 Gentoo 上也工作很好,請參考其官方文檔。

  在這篇文章中,我們只集中在紅帽子和Debian為基礎的發行版,並展示怎樣從源碼使用Checkinstall創建一個RPM和DEB軟件包

  在linux上安裝Checkinstall

  在Debian及其衍生發行版上安裝Checkinstall:

  # aptitude install checkinstall

  在紅帽子的發行版上安裝Checkinstall,你需要下載一個已經打包好的Checkinstall rpm包(例如:從 http://rpm.pbone.net/找到),不過它已經從Repoforge庫裡刪除了。這個包是針對Cent OS6的,不過也可在Cent OS7裡工作。

  # 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 《install-command》

  如果沒有參數,默認安裝命令“make install”將被使用

  用Checkinstall創建一個RPM或DEB包

  在這個例子裡,我們將創建一個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包:

  # 。/configure# checkinstall

  “Should I create a default set of package docs?(我會創建一個默認設置的包文件?)”,回答“Y”:

   如何從Linux源碼創建RPM或DEB包

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

   如何從Linux源碼創建RPM或DEB包

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

   如何從Linux源碼創建RPM或DEB包

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

  在CentOS7:

   如何從Linux源碼創建RPM或DEB包

  在Debian 7:

  如何從Linux源碼創建RPM或DEB包

  上面就來Linux系統下使用checkinstall從源碼創建RPM或DEB包的方法介紹了,該方法只適用於紅帽子和Debian為基礎的發行版,其他版本可以做個參考。

copyright © 萬盛學電腦網 all rights reserved