1. 程式人生 > >Linux軟件安裝與卸載的基本概念

Linux軟件安裝與卸載的基本概念

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