標籤:Linux 軟體安裝卸載的基本概念
C/C++程式格式
1、原始碼,程式的文字檔
如果要編譯原始碼,需要編譯器、標頭檔、開發庫
2、二進位格式,編譯後的可執行檔
Java/Python程式格式
1、原始碼,編譯成能夠在其虛擬機器(jvm/pvm)啟動並執行格式
2、二進位格式
項目構建工具
C/C++ :make
Java : maven
這些工具提前將程式的依賴關係做了說明,根據依賴關係(研發人員的配置文檔)將程式按照運行需要進行編譯
這些都比較抽象,不是編程人員,基本上看不懂 現在就大概做個瞭解
封裝管理員
原始碼(根據使用環境)--》目標二進位格式(二進位程式、庫檔案、設定檔、協助檔案)--》組成一個或有限幾個"包"檔案,實現軟體的安裝、升級、卸載、查詢、校正
debian DPT(debian package tool) DPKG(程式包命令列管理工具)".deb"
RHEL RPM(Redhat package manager)".rpm"
SUSE RPM 不與RHEL系統相容
原始碼程式的名稱格式
name-version.tar.gz
version:major.minor.release
主要版本 次版本 發行號
RPM包的命名格式
name-version-release.arch.rpm
release:指的是RPM包的發行號, arch指的是啟動並執行系統平台 i386 x86_64 ppc noarch
拆包
將原有的程式包拆分成若干個程式包,有主包和次包。主包內包含程式運行所需的所有組件。次包包含該程式的開發庫等檔案
主包:name-version-release.arch.rpm
次包:name-function-version-release.arch.rpm
版本說明
changelog
依賴關係
A程式的運行需要首先使用B程式得出一個結論,有了這個結論A程式才能運行,那麼A程式就依賴B程式。
為瞭解決 依賴關係,就出現了前端工具,這個工具自動解決依賴關係
YUM:RHEL系列RPM包管理器的前端工具
APT-GET(apt-cache):deb包管理器的前端工具
zypper:SUSE的RPM包管理器的前端工具
DNF:fedora 22+系統上RPM包管理器的前端工具
Linux軟體安裝與卸載的基本概念