A program package , program system , software package , software suite or application package is the compilation of (logically) related files and application programs .
There are different software management methods depending on the operating system . The programs and processes for creating and using program packages are called package management .
Content of a program package
In addition to the actual executable programs , a software package can also contain other programs and special files, for example interpretable programs, scripts , image files , audio files , application-specific example files as well as translations , documentation and source texts . Accompanying meta information about the author, the license , the development progress and the version is often included. Hence the word software suite - from the French ( suite for 'sequence, concatenation, accompaniment') from the Latin ( sequi for 'to follow').
Depending on the package, additional files are directly responsible for integration into the operating system. In addition to installation and uninstallation routines, these can also be modifications to the operating system itself.
Structure and structure
The simplest program packages are simple archives, the contents of which can be extracted to any location. This applies, for example, to source code packages on systems such as Linux and BSD . They have file extensions like .tar.gz, .tar.bz2, .tgz ( tarball ) or .zip.
The same format, but with additional information for installation, is used by source-code-based Linux distributions and BSD derivatives. Since the software still has to be compiled before installation , it contains information about what other software must already be installed and where the package itself will be installed.
More complex formats are the .deb and .rpm file types , which contain software for the Linux distributions Debian and Red Hat (and their respective offshoots and compatible distributions).
If no central tool is available to manage the software, each program package is responsible for its own installation. For this purpose, installers used as under Microsoft Windows (see Windows Installer ) and Apple's Mac OS X are common. However, these operating systems provide a program library with installation-related functions that is used by most setup programs.
Difficulties and solutions
Since the installation via Internet protocols is becoming more and more widespread, today's program packages are equipped with security features. This concerns, on the one hand, checking for physical integrity using a checksum , and on the other hand, cryptographic protection using the digital signature of the software author or the distributor.
Since some packages depend on others, solving these dependencies is one of the most inherent problems. With the help of virtual packages , the splitting of large packages into several smaller ones and the consistent allocation of version numbers, this remains largely hidden from the user these days.