- Software installation
- Version control
- Archiving
- Replication
- Distribution
Application software is generally organized in packages with well defined interfaces that define how they interact with other packages. This makes it possible to improve the internal workings of a package without changing any of the packages that it interacts with.
At a minimum, a package includes one "executable". An executable is a file that contains a sequence of instructions to be performed by the operating system. Executables make the computer do something. Packages of complex application software such as office suites often contain several executables. Typically they also contain configuration files, documentation files, and "libraries", which are chunks of executable code that is shared among various executables. Finally, a package includes the information of where to each of these files should be placed in the file system.
All these files are made into a package by putting them all together into one large file. Exactly how the files are tied together is defined by the packaging format being used. Many packaging formats have been developed for Linux, the most popular being "tarballs", which includes RPM (Red Hat Package Manager) and DEB (Debian Packaging Format).
For more information follow one of the links below:

