/usr/share dict doc games info locale man nls misc terminfo tmac zoneinfo |
Architecture-independent data Word lists Miscellaneous documentation Static data files for /usr/games GNU Info system's primary directory Locale information Online manuals Native language support Miscellaneous architecture-independent data Directories for terminfo database troff macros not distributed with groff Timezone information and configuration |
Tree 4.8.1
The /usr/share hierarchy is for all read-only architecture independent data files. Much of this data originally lived in /usr (man, doc) or /usr/lib (dict, terminfo, zoneinfo). This hierarchy is intended to be shareable among all architecture platforms of a given OS; thus, for example, a site with i386, Alpha, and PPC platforms might maintain a single /usr/share directory that is centrally-mounted. Note, however, that /usr/share is generally not intended to be shared by different OSes or by different releases of the same OS.
Any program or package which contains or requires data that doesn't need to be modified should store that data in /usr/share (or /usr/local/share, if installed locally). It is recommended that a subdirectory be used in /usr/share for this purpose.
Note that Linux currently uses DBM-format database files. While these are not architecture-independent, they are allowed in /usr/share in anticipation of a switch to the architecture-independent DB 2.0 format.
Game data stored in /usr/share/games should be purely static data. Any modifiable files, such as score files, game play logs, and so forth, should be placed in /var/games.
It is recommended that application-specific, architecture-independent directories be placed here. Such directories include groff, perl, ghostscript, texmf, and kbd (Linux) or syscons (BSD). They may, however, be placed in /usr/lib for backwards compatibility, at the distributor's discretion. Similarly, a /usr/lib/games hierarchy may be used in addition to the /usr/share/games hierarchy if the distributor wishes to place some game data there.