Linux軟件安裝與卸載的基本概念
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軟件安裝與卸載的基本概念