usage of /usr/bin

Fbsd1 fbsd1 at a1poweruser.com
Wed Apr 7 09:13:22 UTC 2010


Polytropon wrote:
> On Wed, 07 Apr 2010 15:24:51 +0800, Fbsd1 <fbsd1 at a1poweruser.com> wrote:
>> Why are there RELEASE base files in /usr/bin. I thought /usr was to only 
>> contain binaries installed from ports or packages.
> 
> No. The /usr/local subtree (LOCAL) is for local additions (ports
> and packages), while things outside this structure usually belong
> to the system itself; I'm excluding mounted filesystem and other
> things here for a moment.
> 
>      /usr/      contains the majority of user utilities and applications
> 
>                 bin/      common utilities, programming tools, and applica-
>                           tions
> 
> But:
> 
>                local/    local executables, libraries, etc.  Also used as the
>                           default destination for the FreeBSD ports framework.
>                           Within local/, the general layout sketched out by
>                           hier for /usr should be used.  Exceptions are the
>                           man directory (directly under local/ rather than
>                           under local/share/), ports documentation (in
>                           share/doc/<port>/), and /usr/local/etc (mimics
>                           /etc).
> 
> Because we are on FreeBSD, there's excellent documentation
> that shows how and why the system tree has a well intended
> layout. :-)
> 
> The command
> 
> 	% man hier
> 
> will explain everything in detail.
> 
> 
> 
> 
But that is not true. The postfix port populates /usr/bin. And I am sure 
postfix is not the only port to do this also. This intermingling of 
RELEASE binaries and port binaries in /usr/bin is a really big problem 
when trying to build jails. Any past ports which have been included into 
the base release should not be in /usr period.
Saying system user utilizes are in /user/bin then why is fdisk or 
sysinstall not there also. That don't make sense. It time to modernize 
the directory layout keeping all RELEASE binaries out of /usr.
I would think moving the /usr RELEASE binaries by the RELEASE 
development team is a far smaller task then reviewing all 21,500 ports 
for the bad ones that don't target /usr/local/bin and then correcting 
their make files. Before jails this problem was not a problem, But with 
the growing usage of jails this is becoming a major incentive to not use 
jails at all.


More information about the freebsd-questions mailing list