什麼是二進制包?如何建造它們?
我想獲取有關二進制包的詳細資訊並在 linux 上執行它們。我正在執行 Debian 基礎(Ubuntu/Linux mint)Linux 作業系統。
- 如何從原始碼建構二進制包?我可以直接下載應用程序(如firefox等)和遊戲(如boswars等)的二進制包嗎?
- 我執行一些“xyz.linux.run”格式的直接包這些包是什麼?它們是否獨立於依賴項?還是它是預先建構的二進制包?
- 如何通過在 linux 上直接“xyz.linux.run”來建構可以在 linux 作業系統上執行的它們。
- 二進制包和deb包有什麼區別?
從嚴格意義上說,二進製文件是不是字元編碼為人類可讀文本的文件。更通俗地說,“二進制”是指經過編譯的可執行程式碼文件,儘管文件本身可能無法執行(與其說是權限,不如說是單獨執行的能力;一些二進制程式碼文件,例如庫)編譯,但無論權限如何,它們都不能自己執行)。作為獨立執行檔執行的二進製文件是“執行檔”,儘管並非所有執行檔都是二進製文件(這與權限有關:可執行文本文件通過 shebang 呼叫解釋器,例如
#!/bin/sh
執行檔)。什麼是二進制包?
linux 上下文中的二進制包是包含(預建構)執行檔的應用程序包,而不是原始碼。
請注意,這並不意味著封包件本身就是執行檔。封包件是包含其他文件的存檔(有點像 a
.zip
),而“二進制”封包件是專門包含執行檔的文件(儘管同樣,執行檔不一定是真正的二進製文件,實際上二進制包可用於編譯的庫是二進制程式碼,但不是執行檔)。但是,必須解壓縮包才能訪問這些文件。這通常由包管理系統(例如 apt/dpkg)為您處理,該系統會為您下載包並解包並安裝其中的二進製文件。
二進制包和deb包有什麼區別?
沒有 –
.deb
包是二進制包,雖然有.deb
s 包含原始碼,但這些通常-src
附加在它們的名稱後面。我執行一些“xyz.linux.run”格式的直接包這些包是什麼?
這些通常是自解壓的二進制包;它們通過將二進制有效負載嵌入到 shell 腳本中來工作。“自解壓”意味著您不必呼叫另一個應用程序(例如包管理器)來解壓和使用它們。然而,由於它們不與包管理器一起使用,解決它們的依賴關係可能更像是一個廢話,因此一些這樣的包使用靜態連結的執行檔(它們內置了所有必要的庫),這在使用它們時會浪費一些記憶體.