1. Overview
api:application program interfaceabi:application binary interface unix-like elf windows exe,msi Library-level virtualization wine (running simulated windows on Linux) cywin (Running emulated Linux on Windows) system-level development: c/c++:httpd,vsftpd,nginx Go application-level development: java/python/perl/ruby/php: java : Hadoop,hbase (JVM) python:openstack (PVM) c/C + + program format: Source code: program code in text format compiled development environment: compiler, header file, development library binary format: text-formatted program code--Compiler---binary format (binaries, library files, configuration files, Help files) Java/python program format: source code: Compiled to be able to be on its virtual machine (jvm/ PVM) The format of the operation;  &NBsp; development environment: compilers, development libraries Binary: project build tool: c/c++:make java:maven compilation sequence is determined by the project Builder (developer has set the compilation order).
2. Package Manager
Source code--Target binary format--organization is called one or a limited number of "package" files; Install, upgrade, uninstall, query, verify
Package Manager:
Debian (Ubuntu):d PT, tool: Dpkg, Packages End with ". Deb" Redhat:redhat Package Manager, RPM, ". rpm"; rpm was Package manager; s.u.s.e:rpm, '. RPM ' Gentoo:portsarchlinux:
3. Package Composition Format
Source code: NAME-VERSION.TAR.GZ    VERSION:MAJOR.MINOR.RELEASERPM Package naming format: name-version-release.arch.rpm version:major.minor.release        RELEASE.ARCH:RPM Package's issue number release.os:2.el7.i386.rpm archetecture (architecture): i386,x64 (AMD64), Ppc,noarch (no platform required, can be used on any platform architecture) RPM Unpacking: Main Package and Support package Main Package:name-version-release.arc.rpm package: name-function-version-release.arc.rpm function:devel (Development Kit), Utils (tool program), Libs (library file) dependencies X,Y,Z X-->Y,Z Y-->A,B,C c-->y Front EndTools: automatic resolution of dependencies; yum :rhel Series System the RPM Package Manager's Front end tool; apt-get (Apt-cache):d EB Package Manager Front end Tools Zypper:suse RPM Manager Front-end tool dnf:fedora 22+ The RPM Package Manager front-end tool on the system
4. Package Manager features and Components
Functionality: Packages the compiled application's constituent files into one or several package files, making it easier to install, upgrade, uninstall, and view the package 1. The package's constituent list (each package is implemented separately); a script that runs when the file manifest is installed and uninstalled 2. Name and version of the database (public) package This dependency function describes the file paths and checksum information that are generated by the installation. Package database location on CentOS etc/var/lib/rpm/
5. Ways to get Packages
(1) The System release CD or the official file server (or mirror site); http://mirrors.aliyun.com http://mirrors.sohu.com, http://mirrors.163.com (2) The official site of the project ( 3) The RPM package produced by the third-party organization: (a) EPEL: (b) search engine find http://pkgs.org http://rpm.pvone.net http://rpmfind.netstat ( 4) DIY, clothed advice: check its legitimacy (integrity) source legitimacy: package integrity;
RPM Command Management package on 6.CentOS system
Command introduction
Install, upgrade, uninstall, query and verify, database maintenance RPM Command:rpm [option] [package_file] installation:-I,--install Upgrade:-u,--update,-f,-freshen Uninstall:-E,--erase query: -q,--query checksum:-v ,--verify Database maintenance:--BUILDDB,--INITDB
RPM Package Installation
rpm {-i|--install} [install-options] package_file ... rpm -ivh PACKAGE_FILE... GENERAL Options: -v:verbose, More info   -VV: more detailed output [install-options] -h:hash marks output progress bar; Each # represents a 2% progress --test: Test installation , check and report dependencies and conflict messages, etc. --nodeps: ignore dependencies and do not recommend using , will not be used after installation; --replacepkgs: Reinstall:rpm -ivh --replacepkgs zsh-5.0.2-7.el7.x86_64.rpm --nodiGest: Do not check package integrity Information --nosignature: Do not check the package source information and package Integrity Note: RPM can be scripted; class four: --noscripts preinstall: script that runs before the installation process starts,%pre: --nopre Postinstall: script to run after the installation process is complete:%post --nopost Preuninstall: The uninstallation process actually starts executing the script before running,%preun --nopreun Postuninstall a script that runs after the uninstallation process is complete,%postun --nopostun
Linux Package Management Preliminary