.os_wrapper

Package: WA2L/edrc 1.5.57
Section: General Commands (1)
Updated: 25 September 2020
Index Return to Main Contents

 

NAME

os_wrapper - wrap operating system dependent binaries

 

SYNOPSIS

edrc/bin/command -> .os_wrapper

edrc/lib/command -> .os_wrapper

 

AVAILABILITY

WA2L/edrc

 

DESCRIPTION

wrap operating system dependent binaries to allow transparent command startup.

If a binary for the related operating system (OSID) is installed in WA2L/edrc this binary is started. When the binary is not installed in WA2L/edrc, but the operating system provides it, it is started from the operating system.

This default command startup behaviour can be altered in the configuration file lib/os_wrapper/command.cfg for each command started thru the .os_wrapper.

The concept behind the default startup behaviour is, that on certain operating systems some commands are not installed by default. Therefore only for those operating systems the "missing" commands have to be distributed with WA2L/edrc, in this case the command provided in WA2L/edrc complements the commands provided by the operating system.
Furthermore it might also be the case that some variants of commands provided by a certain operating systems do not provide the needed functionality, in this case the command variant provided in WA2L/edrc over-locks the one installed by the operating system.
An example for over-locking is the cpio command for HP-UX, where the operating system command lacks some options and is not able to copy files bigger then 2 GByte.
An example for complementing is the traceroute command for SunOS, where it was not installed by default on early Solaris releases.

When a binary that is provided in WA2L/edrc is started thru the .os_wrapper the $LD_LIBRARY_PATH and based on the underlying operating system, the $SHLIB_PATH environment variables are expanded with lib/<OSID>/libs/.

To start a new command thru the .os_wrapper, follow the following steps:

1.)
create a symlink to the new command in the edrc/bin/ or edrc/lib/ directory depending on your needs:

[ /opt/edrc/bin ]
[ root@acme001 ][*edrc*/bash]: ln -s .os_wrapper new_cmd 

2.)
install the command binary in the edrc/bin/<OSID>/ or edrc/lib/<OSID>/ directory depending on your needs and set the correct file ownership ( 0:3 ) and permissions ( executable ):

[ /opt/edrc/lib/Linux ]
[ root@acme001 ][*edrc*/bash]: chown root:3 new_cmd

[ /opt/edrc/lib/Linux ]
[ root@acme001 ][*edrc*/bash]: chmod 755 new_cmd

 

OPTIONS

-

 

ENVIRONMENT

-

 

EXIT STATUS

103
user calling the command has no permission to access/execute the called daemon_command.

106
the operating system id (OSID) is not supported, yet. If you get this error, the command is neither installed in WA2L/edrc, nor on the underlying operating system.

107
the .os_wrapper was called directly.

other
exit status of the started command.

 

FILES

lib/os_wrapper/command.cfg
configuration file for the command started thru the .os_wrapper. If this file is missing for a command, the default startup behaviour applies.

bin/<OSID>/command
location of the provided command for a certain operating system id (OSID).

bin/<OSID>/<GLIBC>/command
location of the provided command for a certain operating system id (OSID) and for a specific GLIBC version.

The GLIBC version can be resolved using the glibc.version(3), the ldd --version or the getconf GNU_LIBC_VERSION command.

lib/<OSID>/command
location of the provided command for a certain operating system id (OSID).

lib/<OSID>/<GLIBC>/command
location of the provided command for a certain operating system id (OSID) and for a specific GLIBC version.

The GLIBC version can be resolved using the glibc.version(3) or the ldd --version command.

lib/<OSID>/libs/
location of the provided shared libraries for a certain operating system id (OSID).

lib/<OSID>/<GLIBC>/libs/
location of the provided shared libraries for a certain operating system id (OSID) and for a specific GLIBC version.

 

EXAMPLES

-

 

SEE ALSO

edrcintro(1), binprobe(1m), cmdlist(1m), daemon_wrapper(1), glibc.version(3), java_wrapper(1), ksh_wrapper(1), lua_wrapper(1), ln(1), ld(1), ldd(1), osid(3), perl_wrapper(1), shlib(3)

 

NOTES

-

 

BUGS

-

 

AUTHOR

os_wrapper was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

 

COPYRIGHT

Copyright © 2014 Christian Walther

This is free software; see edrc/doc/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


 

Index

NAME
SYNOPSIS
AVAILABILITY
DESCRIPTION
OPTIONS
ENVIRONMENT
EXIT STATUS
FILES
EXAMPLES
SEE ALSO
NOTES
BUGS
AUTHOR
COPYRIGHT

This document was created by man2html using the manual pages.
Time: 09:57:56 GMT, April 11, 2025