From owner-freebsd-questions@FreeBSD.ORG Wed Apr 7 10:39:44 2010 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7F01D1065670 for ; Wed, 7 Apr 2010 10:39:44 +0000 (UTC) (envelope-from freebsd@edvax.de) Received: from mx01.qsc.de (mx01.qsc.de [213.148.129.14]) by mx1.freebsd.org (Postfix) with ESMTP id 24E728FC0C for ; Wed, 7 Apr 2010 10:39:43 +0000 (UTC) Received: from r55.edvax.de (port-92-195-100-7.dynamic.qsc.de [92.195.100.7]) by mx01.qsc.de (Postfix) with ESMTP id A25953C852; Wed, 7 Apr 2010 12:39:40 +0200 (CEST) Received: from r55.edvax.de (localhost [127.0.0.1]) by r55.edvax.de (8.14.2/8.14.2) with SMTP id o37Adeil002776; Wed, 7 Apr 2010 12:39:40 +0200 (CEST) (envelope-from freebsd@edvax.de) Date: Wed, 7 Apr 2010 12:39:39 +0200 From: Polytropon To: Fbsd1 Message-Id: <20100407123939.76b2227d.freebsd@edvax.de> In-Reply-To: <4BBC4CA9.6090807@a1poweruser.com> References: <4BBC3343.8070703@a1poweruser.com> <20100407093536.cab35b04.freebsd@edvax.de> <4BBC4CA9.6090807@a1poweruser.com> Organization: EDVAX X-Mailer: Sylpheed 2.4.7 (GTK+ 2.12.1; i386-portbld-freebsd7.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: FreeBSD Questions Subject: Re: usage of /usr/bin X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Polytropon List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Apr 2010 10:39:44 -0000 On Wed, 07 Apr 2010 17:13:13 +0800, Fbsd1 wrote: > But that is not true. It is, and the example you're giving is one of the exceptions that secures the truth of the statement given in "man hier". :-) > The postfix port populates /usr/bin. And I am sure > postfix is not the only port to do this also. Basically, there are ports that can be installed outside /usr/local, or are especially intended to be. For example postfix, a MTA that can replace the system one's (sendmail), so it takes its position. Other ports also allow the setting of a certain PREFIX variable that will override /usr/local, which is the default setting. Note that it isn't very often done, and if it is, it is intended (as the postfix example you've given, or the sometimes requested statically linked bash within the base system). > This intermingling of > RELEASE binaries and port binaries in /usr/bin is a really big problem > when trying to build jails. Yes, understandable. > Any past ports which have been included into > the base release should not be in /usr period. It has been the system administrator who decides to install them there. If he insists on replacing some part of the base system with a port, or to add a port outside of /usr/local, it's his decision to do so. Of course, this can lead into problems. > Saying system user utilizes are in /user/bin then why is fdisk or > sysinstall not there also. Because the creators of FreeBSD have decided that those programs to belong to different "classes" of programs, and according to "man hier": /usr/sbin/sysinstall /usr/ contains the majority of user utilities and applications sbin/ system daemons & system utilities (executed by users) /sbin/fdisk /sbin/ system programs and administration utilities fundamental to both single-user and multi-user environments There are often decisions that aren't obvious (or even don't make sense) at first sight. > That don't make sense. There are some historical reasons for that. Would you believe me if I told you that the mount binary historically was /etc/mount? Or /etc/fsck? Or how about /bin/adm? Other kinds of UNIX have different hierarchy concepts and naming conventions. And Linux has many more. > It time to modernize > the directory layout keeping all RELEASE binaries out of /usr. Hmmm... modernize... I know of some Linux that maps all the "historical" locations into Programs/ or Config/ subtrees... I'm not sure if I would be happy with FreeBSd going the same way, or even further, because I usually find things when I need to search from them, and I can mostly do it by brain - rather than /usr/bin/find. :-) > 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. If should be relatively easy to spot them by variations of Makefile, especially the mentioned PREFIX setting which needs to be overridden in order to leave /usr/local. If I have that in mond correctly, LOCALBASE is the name of the variable that controls where things are put; there was another one called X11BASE, which is deprecated because /usr/X11R6 is now "inside" /usr/local. > 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. On the other hand, if you encounter such a problem by the presence of a nonstandard - meaning "not being part of the base system" - mail transfer agent, then maybe its documentation should mention to pay attention when using it instead of what the system brings, so further problems with jails can be avoided, or at least cured (by a correct procedure given in the documentation). -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ...