1. Source Code Control
The vast majority of open source software is published directly in the source code form, and is generally packaged as tar.gz archive compressed files. The program source code needs to be compiled into a binary executable file before it can be run in use. The basic compilation process for the source code is
- ./configure: Run the command after decompression, which primarily checks the compilation environment, the associated library files, and configuration parameters and generates makefile
- Make: Compile the source code to generate the executable file
- Make install: Installs the resulting executable file to the computer
The source code form of the software is cumbersome to use, but the compatibility and controllability is better. and open source software will generally use a lot of other open source software features, so open source software will have a lot of dependencies (using a software need to install other software first).
2. RPM Package Manager
Before the release of RPM (Redhat Package Manager, Red Hat packages Manager), installing the software on a Linux system can only be done in the form of a source package. Early installation of the program in the Linux system is a very difficult, time-consuming thing, and most of the service program only provide source code, requires the OPS to compile the code and solve many software dependencies, so to install the good one service program, OPS personnel need to have a wealth of knowledge, excellent skills, Even good patience. And in the installation, upgrade, uninstall the service program also take into account other programs, library dependencies, so in the verification, installation, uninstallation, query, upgrade and other management software operations are very difficult.
The RPM mechanism is specifically designed to address these issues. RPM is a bit like a control panel in a Windows system that creates a unified database file that records software information in detail and can automatically analyze dependencies. The advantages of RPM have been recognized by the public, the scope of use is not limited to the Red Hat system, the following table is a number of common RPM package commands .
Common RPM Package Commands
command format for installing software |
RPM-IVH packagename.rpm |
Upgrade the software's command format |
RPM-UVH packagename.rpm |
To uninstall the software's command format |
Rpm-e packagename.rpm |
command format for querying software description information |
Rpm-qpi packagename.rpm |
List command formats for software file information |
RPM-QPL packagename.rpm |
The command format for which rpm the query file belongs |
RPM-QF PackageName |
See if a package is installed |
Rpm-qa|grep packagename.rpm |
-i:install Installation
-v:verboes Visualization
-h:hash Show Installation Progress
Additional common parameters that are included are:
--force: Mandatory installation, even if files that overwrite other packages are installed
--nodeps: Install this package when the RPM package to be installed depends on other packages, even if no other packages are installed
-u:upgrade that means to upgrade
Query whether a package is installed
Rpm-q PackageName (The package name here is not with the platform information and suffix name)
Eg:rpm-q Alacarte-0.10.0-1.fc6 (If you add the platform information and suffix name alacarte-0.10.0-1.fc6.noarch.rpm can not find out)
Rpm-qa query all RPM packages installed on the current system
Rpm-qa | grep PackageName to see if a package is installed (the package name here is with platform information and a suffix name)
Linux System Red Hat Package Manager (RPM)