Program format for C + +
1, the source code, the program's text file
If you want to compile the source code, you need the compiler, the header file, the development library
2. Binary format, compiled executable file
Java/python program Format
1. Source code, compiled into a format capable of running on its virtual machine (JVM/PVM)
2. Binary format
Project Building Tools
C + +: Make
Java:maven
These tools describe the dependencies of the program ahead of time, compiling the program according to the requirements of the dependencies (the developer's configuration document)
These are more abstract, not programmers, basically do not understand now, probably do an understanding
Package Manager
Source code (based on usage environment)--"Target binary format (binary program, library file, configuration file, Help file)--" to form a or a limited number of "package" file, to achieve software installation, upgrade, uninstall, query, check
Debian DPT (Debian packages Tool) DPKG (Package command line management tools) ". Deb"
RHEL rpm (Redhat Package Manager) ". RPM"
SUSE RPM is not compatible with RHEL systems
The name format of the source code program
Name-version.tar.gz
Version:major.minor.release
Major version Minor version issue number
Named format for RPM packages
name-version-release.arch.rpm
Release: Refers to the RPM package issue number, Arch refers to the operating system platform I386 x86_64 PPC Noarch
Split Package
Split the original package into several packages, with the main package and the secondary package. The main package contains all the components required for the program to run. The sub-package contains files such as the program's Development library
Main package: name-version-release.arch.rpm
Sub-Package: name-function-version-release.arch.rpm
Release Notes
Changelog
Dependent relationships
The operation of a program needs to first use the B program to draw a conclusion, with this conclusion a program can run, then a program depends on the B program.
In order to resolve dependencies, a front-end tool has emerged that automatically resolves dependencies
Yum:rhel Series RPM Package Manager front-end tools
Apt-get (Apt-cache): Deb Package Manager front-end tool
Zypper:suse the RPM Package Manager's front-end tool
Dnf:fedora Front-end tool for RPM Package Manager on 22+ system
Basic concepts of installation and uninstallation of Linux software