Installation
在linux下編譯到指定目錄,然後打包軟體
我需要從原始碼編譯軟體。
./config && make && make install
在那,它確實在各處安裝了一堆東西(圖書館等)
但問題是,我還需要將該軟體複製到另一組我不想安裝 gcc 的機器上。
我怎樣才能使該軟體安裝在一個“目錄”中,然後復製到其他機器?
如果你打算將軟體分發到其他機器上,你肯定需要打包它。
您沒有指定您正在使用哪個發行版,因此遵循一般指導。
GNU/Linux 和 *BSD 世界中的軟體通常在其許可證允許的情況下以打包形式和原始碼分發。
不同的發行版使用不同的前端或包管理器來更新、安裝和刪除此軟體。
從原始碼編譯的軟體通常(但不總是)使用已知的工作流程 (
configure && make && make install
) 建構,您提到的選項 (--prefix
) 是使用一組通用工具從稱為autotools
. 簡要說明,可以傳遞一個選項來修改將用於在本地系統中複製已編譯軟體的預設位置 (/usr/local
) 。make install
打包軟體包括這個編譯步驟,但更加複雜,因為它利用元數據來管理基本
autotools
架構中不存在的依賴關係、事務性和其他功能。看一下輸出:
$ rpm -qi coreutils Name : coreutils Version : 8.23 Release : 10.fc22 Architecture: x86_64 Install Date: Fri 15 May 2015 11:55:00 PM BST Group : System Environment/Base Size : 16324354 License : GPLv3+ Signature : RSA/SHA256, Thu 14 May 2015 03:22:57 PM BST, Key ID 11adc0948e1431d5 Source RPM : coreutils-8.23-10.fc22.src.rpm Build Date : Thu 14 May 2015 10:00:06 AM BST Build Host : buildhw-05.phx2.fedoraproject.org Relocations : (not relocatable) Packager : Fedora Project Vendor : Fedora Project URL : http://www.gnu.org/software/coreutils/ Summary : A set of basic GNU tools commonly used in shell scripts Description : These are the GNU core utilities. This package is the combination of the old GNU fileutils, sh-utils, and textutils packages.
在這種情況下,包格式為RPM,其他發行版使用 DEB,並且包管理器也不同(
yum
/dnf
、zypper
、或/pkgsrc
、…)。dpkg``apt``aptitude
根據您需要將此軟體分發到的機器數量,以及您用於建構、QA 和儲存它的過程,應用不同的方法(或其中的一部分):