Developers, you can make sysadmins happier
Developers, you can make sysadmins happier
Developers, you can make sysadmins happier
Re: Developers, you can make sysadmins happier
For Linux:
* [XDG](https://wiki.archlinux.org/index.php/XDG_Base_Directory#Specification) are environment variables for per-user file paths. This is primarily important to save per-app config in data in `.config/*` and `.cache/*`, and not litter the user's home directory with dozens or hundreds of `.appname` directories.
* [syslog](https://en.wikipedia.org/wiki/Syslog) for logging. It can be called from shell scripts with `logger(1)`.
* [Exit codes](https://en.wikipedia.org/wiki/Exit_status) apply to most operating systems, and are usually compatible between OSes. Except for VMS. Sigh.
* [RPM is *technically* the standard Linux package format](https://en.wikipedia.org/wiki/Linux_Standard_Base#Choice_of_the_RPM_package_format), but the usual practice is to distribute a `.deb` and a `.rpm`. Package formats incorporate signatures but executables aren't signed in Linux.
* [XDG](https://wiki.archlinux.org/index.php/XDG_Base_Directory#Specification) are environment variables for per-user file paths. This is primarily important to save per-app config in data in `.config/*` and `.cache/*`, and not litter the user's home directory with dozens or hundreds of `.appname` directories.
* [syslog](https://en.wikipedia.org/wiki/Syslog) for logging. It can be called from shell scripts with `logger(1)`.
* [Exit codes](https://en.wikipedia.org/wiki/Exit_status) apply to most operating systems, and are usually compatible between OSes. Except for VMS. Sigh.
* [RPM is *technically* the standard Linux package format](https://en.wikipedia.org/wiki/Linux_Standard_Base#Choice_of_the_RPM_package_format), but the usual practice is to distribute a `.deb` and a `.rpm`. Package formats incorporate signatures but executables aren't signed in Linux.