On 10/26/2011 06:21 PM, Toshio Kuratomi wrote:
> In context, at least, this is wrong advice as it's a violation of the FHS:
>
>
http://pathname.com/fhs/pub/fhs-2.3.html#PURPOSE22
>
> """
> Purpose
> /usr/lib includes object files, libraries, and internal binaries that are
> not intended to be executed directly by users or shell scripts.
> [..]
> Specific Options
>
> For historical reasons, /usr/lib/sendmail must be a symbolic link to
> /usr/sbin/sendmail if the latter exists.
> """
>
> The daemons and such were in places like /usr/lib to begin with. This was
> deemed to be the wrong place for them. Instead they were placed into /sbin.
>
> You may be quibbling over the use of "shell scripts" in that section as
you
> might think that daemons aren't run from shell scripts in systemd and that
> illustrates that shell scripts were only an implementation detail in sysv.
> In doing so, however, you miss out on "internal binaries". A daemon
> executable is the public entry point into a service so they aren't internal.
>
> -Toshio
>
And I want to point to
http://pathname.com/fhs/pub/fhs-2.3.html#FTN.AEN1394 , which you omitted:
Applications may use a single subdirectory under /usr/lib. If an
application uses a subdirectory, all architecture-dependent data
exclusively used by the application must be placed within that
subdirectory. [23]
I may have omitted it but I did not fail to read and understand it. The FHS
is here specifying that architecture-dependent *data* may live in /ust/lib.
You want to move programs there. Programs are only specified in the section
I quoted earlier about "internal binaries".
-Toshio