|
Reference: AADN |
|
There are many conventions for where to place packages on a server. Many of these suffer from various flaws, and most of them share similar concepts. AADN takes the best aspects and includes enhancements for some of the flaws. Some of the current means of naming applications are compiled.
Within /app is a folder for each application, named as:
{application}-{version}
A pseudonym 'abstract' symbolic link is then created to the application version, and all configuration files and external scripts should use the abstract symbolic link. The benefit here is transparent application upgrades (just relink to the new version).
A few examples:
/app/apache-2 -> apache-2.0.53 /app/apache-2.0.53 /app/apache-1 -> apache-1.3.33 /app/apache-1.3.33 /app/java1.3 -> java1.3.1_02 /app/java1.3.1_02 /app/mysql -> mysql-4.1.5-sparc32 /app/mysql32 -> mysql-4.1.5-sparc32 /app/mysql64 -> mysql-4.1.5-sparc64 /app/mysql-4.1.5-sparc32 /app/mysql-4.1.5-sparc64
Within /data exist folders, similar to their application parents. Because data needs are more varied, the data folders may be grouped named by the application abstract name, or they may not. The version of application should only be used where it is relevant. For instance, a database may change file formats between major versions. This will be a good reason for keeping one database data root from another. There may also be more than one folder for the application.
A few examples:
/app/mysql-data -> mysql-data-4.x /app/mysql-data-4.x /app/mysql-backup /app/apache
Typically, /app does not require a different mountpoint. It should be located on different disk from the Operating System, to make OS upgrades more convenient. However, /data will likely require its own mount point, if not multiples. If only one mount point is used for all applications, /data can be its own mount point. If more, than /data should be on the root directory, and each folder underneath /data should be a mountpoint. It is possible that multiple mountpoints exist for a single application, at which point they should each be mounted underneath /data/{app}.
| Copyright © 2004, Protos LLC |