The strangeness called `sbin'

Gleb Kurtsou gleb.kurtsou at gmail.com
Fri Nov 11 12:07:19 UTC 2011


On (11/11/2011 11:46), Ed Schouten wrote:
> Hi Peter,
> 
> * Peter Wemm <peter at wemm.org>, 20111110 19:43:
> > repeated shell startup (think: system(3)), or sh -c "somecommand"
> 
> I have done some testing and it seems we have little to worry about, in
> my opinion. I have written a small script that copies the `true' binary
> to each of the directories specified in $PATH and executes it 100.000
> times. I have executed these tests on an installation where sbin is
> still separate and one where it is merged. Also, I've used both a $PATH
> variable that contains /sbin and one where it is removed.

It's not clear if you used sbin symlinks in tests, no script attached.

It's VOP_READLINK overhead we should care about. All entries (incl
negative cache) will be cached by VFS under bin/. I presume difference
to be negligible and support the change.

sbin/something lookup:
vp0 = VOP_LOOKUP(sbin)		(may be cached)
VOP_READLINK(vp0)
vp1 = VOP_LOOKUP(bin)		(may be cached)
vp2 = VOP_LOOKUP(something)	(may be cached)

> 
> Observations:
> - Indeed, the running time increases when the binary to be executed is
>   in a directory that is placed farther to the end of $PATH.
> - Redundant directories in $PATH do cause some overhead.
> - When we merge sbin with bin and the user properly removes sbin from
>   his/her PATH variable, things get slightly faster than they used to
>   be.
> - When the user forgets to do so, the results are slightly worse than
>   before.
> 
> Of course, this was just a quick way of testing things. If people want
> to do more thorough tests, be my guest. I have attached an updated
> version of my patch, the script I used to do the benchmark and the
> results I have obtained.
> 
> -- 
>  Ed Schouten <ed at 80386.nl>
>  WWW: http://80386.nl/

> Index: secure/usr.sbin/Makefile.inc
> ===================================================================
> --- secure/usr.sbin/Makefile.inc	(revision 227417)
> +++ secure/usr.sbin/Makefile.inc	(working copy)
> @@ -1,5 +1,5 @@
>  # $FreeBSD$
>  
> -BINDIR?=	/usr/sbin
> +BINDIR?=	/usr/bin
>  
>  .include "../Makefile.inc"
> Index: games/Makefile.inc
> ===================================================================
> --- games/Makefile.inc	(revision 227417)
> +++ games/Makefile.inc	(working copy)
> @@ -1,7 +1,7 @@
>  #	@(#)Makefile.inc	8.1 (Berkeley) 5/31/93
>  # $FreeBSD$
>  
> -BINDIR?=	/usr/games
> +BINDIR?=	/usr/bin
>  FILESDIR?=	${SHAREDIR}/games
>  WARNS?=		6
>  DISTRIBUTION?=	games
> Index: tools/tools/cxgbtool/Makefile
> ===================================================================
> --- tools/tools/cxgbtool/Makefile	(revision 227417)
> +++ tools/tools/cxgbtool/Makefile	(working copy)
> @@ -5,6 +5,6 @@
>  NO_MAN=
>  CFLAGS+= -I${.CURDIR}/../../../sys/dev/cxgb -I.
>  CFLAGS+= -DCONFIG_T3_REGS -DCHELSIO_INTERNAL
> -BINDIR?= /usr/sbin
> +BINDIR?= /usr/bin
>  
>  .include <bsd.prog.mk>
> Index: tools/tools/vimage/Makefile
> ===================================================================
> --- tools/tools/vimage/Makefile	(revision 227417)
> +++ tools/tools/vimage/Makefile	(working copy)
> @@ -9,6 +9,6 @@
>  
>  MAN=	vimage.8
>  
> -BINDIR?=	/usr/sbin
> +BINDIR?=	/usr/bin
>  
>  .include <bsd.prog.mk>
> Index: tools/tools/cxgbetool/Makefile
> ===================================================================
> --- tools/tools/cxgbetool/Makefile	(revision 227417)
> +++ tools/tools/cxgbetool/Makefile	(working copy)
> @@ -4,6 +4,6 @@
>  SRCS=	cxgbetool.c
>  NO_MAN=
>  CFLAGS+= -I${.CURDIR}/../../../sys/dev/cxgbe -I.
> -BINDIR?= /usr/sbin
> +BINDIR?= /usr/bin
>  
>  .include <bsd.prog.mk>
> Index: kerberos5/usr.sbin/Makefile.inc
> ===================================================================
> --- kerberos5/usr.sbin/Makefile.inc	(revision 227417)
> +++ kerberos5/usr.sbin/Makefile.inc	(working copy)
> @@ -1,5 +1,5 @@
>  # $FreeBSD$
>  
> -BINDIR=	/usr/sbin
> +BINDIR=	/usr/bin
>  
>  .include "../Makefile.inc"
> Index: share/man/man7/hier.7
> ===================================================================
> --- share/man/man7/hier.7	(revision 227417)
> +++ share/man/man7/hier.7	(working copy)
> @@ -145,8 +145,6 @@
>  .It Pa /lib/
>  critical system libraries needed for binaries in
>  .Pa /bin
> -and
> -.Pa /sbin
>  .Pp
>  .Bl -tag -width ".Pa geom/" -compact
>  .It Pa geom/
> @@ -157,8 +155,6 @@
>  .It Pa /libexec/
>  critical system utilities needed for binaries in
>  .Pa /bin
> -and
> -.Pa /sbin
>  .It Pa /media/
>  contains subdirectories to be used as mount points
>  for removable media such as CDs, USB drives, and
> @@ -176,9 +172,6 @@
>  .Xr rescue 8
>  .It Pa /root/
>  root's HOME directory
> -.It Pa /sbin/
> -system programs and administration utilities
> -fundamental to both single-user and multi-user environments
>  .It Pa /tmp/
>  temporary files that are not guaranteed to persist across system reboots
>  .It Pa /usr/
> @@ -192,8 +185,6 @@
>  such as Linux
>  (created by
>  .Xr sysinstall 8 )
> -.It Pa games/
> -useful and semi-frivolous programs
>  .It Pa include/
>  standard C include files
>  .Pp
> @@ -462,8 +453,6 @@
>  The
>  .Fx
>  ports collection (optional).
> -.It Pa sbin/
> -system daemons & system utilities (executed by users)
>  .It Pa share/
>  architecture-independent files
>  .Pp
> @@ -645,8 +634,6 @@
>  source code for contributed cryptography software
>  .It Pa etc/
>  source code for files in /etc
> -.It Pa games/
> -source code for files in /usr/games
>  .It Pa gnu/
>  Utilities covered by the GNU General Public License
>  .It Pa include/
> @@ -661,8 +648,6 @@
>  files required to produce a
>  .Fx
>  release
> -.It Pa sbin/
> -source code for files in /sbin
>  .It Pa secure/
>  build directory for files in /usr/src/crypto
>  .It Pa share/
> @@ -674,8 +659,6 @@
>  .Fx
>  .It Pa usr.bin/
>  source code for files in /usr/bin
> -.It Pa usr.sbin/
> -source code for files in /usr/sbin
>  .El
>  .El
>  .It Pa /var/
> Index: usr.sbin/tcpdump/Makefile.inc
> ===================================================================
> --- usr.sbin/tcpdump/Makefile.inc	(revision 227417)
> +++ usr.sbin/tcpdump/Makefile.inc	(working copy)
> @@ -1,6 +1,6 @@
>  #	@(#)Makefile.inc	5.1 (Berkeley) 5/11/90
>  # $FreeBSD$
>  
> -BINDIR?=	/usr/sbin
> +BINDIR?=	/usr/bin
>  
>  WARNS?=		3
> Index: usr.sbin/Makefile.inc
> ===================================================================
> --- usr.sbin/Makefile.inc	(revision 227417)
> +++ usr.sbin/Makefile.inc	(working copy)
> @@ -1,6 +1,6 @@
>  #	@(#)Makefile.inc	8.1 (Berkeley) 6/6/93
>  # $FreeBSD$
>  
> -BINDIR?=	/usr/sbin
> +BINDIR?=	/usr/bin
>  
>  WARNS?=		6
> Index: usr.sbin/bootparamd/Makefile.inc
> ===================================================================
> --- usr.sbin/bootparamd/Makefile.inc	(revision 227417)
> +++ usr.sbin/bootparamd/Makefile.inc	(working copy)
> @@ -1,6 +1,6 @@
>  #	@(#)Makefile.inc	5.1 (Berkeley) 5/11/90
>  # $FreeBSD$
>  
> -BINDIR?=	/usr/sbin
> +BINDIR?=	/usr/bin
>  
>  WARNS?=		2
> Index: usr.sbin/wpa/Makefile.inc
> ===================================================================
> --- usr.sbin/wpa/Makefile.inc	(revision 227417)
> +++ usr.sbin/wpa/Makefile.inc	(working copy)
> @@ -1,6 +1,6 @@
>  # $FreeBSD$
>  
> -BINDIR?=	/usr/sbin
> +BINDIR?=	/usr/bin
>  
>  WPA_DISTDIR?= 		${.CURDIR}/../../../contrib/wpa/
>  WPA_SUPPLICANT_DISTDIR?=${WPA_DISTDIR}/wpa_supplicant
> Index: usr.sbin/mailwrapper/Makefile
> ===================================================================
> --- usr.sbin/mailwrapper/Makefile	(revision 227417)
> +++ usr.sbin/mailwrapper/Makefile	(working copy)
> @@ -11,11 +11,11 @@
>  .endif
>  
>  .if ${MK_MAILWRAPPER} != "no" || ${MK_SENDMAIL} != "no"
> -SYMLINKS= 	${BINDIR}/mailwrapper /usr/sbin/sendmail  \
> -		${BINDIR}/mailwrapper /usr/sbin/hoststat  \
> -		${BINDIR}/mailwrapper /usr/sbin/purgestat \
> -		${BINDIR}/mailwrapper /usr/bin/newaliases \
> -		${BINDIR}/mailwrapper /usr/bin/mailq
> +SYMLINKS= 	mailwrapper ${BINDIR}/sendmail  \
> +		mailwrapper ${BINDIR}/hoststat  \
> +		mailwrapper ${BINDIR}/purgestat \
> +		mailwrapper ${BINDIR}/newaliases \
> +		mailwrapper ${BINDIR}/mailq
>  
>  .if ${MK_MAILWRAPPER} == "no" && ${MK_SENDMAIL} != "no"
>  SYMLINKS+=	/usr/libexec/sendmail/sendmail ${BINDIR}/mailwrapper
> Index: usr.sbin/nologin/Makefile
> ===================================================================
> --- usr.sbin/nologin/Makefile	(revision 227417)
> +++ usr.sbin/nologin/Makefile	(working copy)
> @@ -4,7 +4,7 @@
>  PROG=	nologin
>  MAN=	nologin.5 nologin.8
>  
> -SYMLINKS=	${BINDIR}/nologin /sbin/nologin
> +SYMLINKS=	${BINDIR}/nologin /bin/nologin
>  
>  # It is important that nologin be statically linked for security
>  # reasons.  A dynamic non-setuid binary can be linked against a trojan
> Index: include/paths.h
> ===================================================================
> --- include/paths.h	(revision 227417)
> +++ include/paths.h	(working copy)
> @@ -38,9 +38,9 @@
>  /* Default search path. */
>  #define	_PATH_DEFPATH	"/usr/bin:/bin"
>  /* All standard utilities path. */
> -#define	_PATH_STDPATH	"/usr/bin:/bin:/usr/sbin:/sbin"
> +#define	_PATH_STDPATH	"/usr/bin:/bin"
>  /* Locate system binaries. */
> -#define	_PATH_SYSPATH	"/sbin:/usr/sbin"
> +#define	_PATH_SYSPATH	"/bin:/usr/bin"
>  
>  #define	_PATH_AUTHCONF	"/etc/auth.conf"
>  #define	_PATH_BSHELL	"/bin/sh"
> @@ -58,31 +58,31 @@
>  #define	_PATH_ETC	"/etc"
>  #define	_PATH_FTPUSERS	"/etc/ftpusers"
>  #define	_PATH_FWMEM	"/dev/fwmem"
> -#define	_PATH_HALT	"/sbin/halt"
> +#define	_PATH_HALT	"/bin/halt"
>  #ifdef COMPAT_32BIT
>  #define	_PATH_I18NMODULE	"/usr/lib32/i18n"
>  #else
>  #define	_PATH_I18NMODULE	"/usr/lib/i18n"
>  #endif
> -#define	_PATH_IFCONFIG	"/sbin/ifconfig"
> +#define	_PATH_IFCONFIG	"/bin/ifconfig"
>  #define	_PATH_KMEM	"/dev/kmem"
>  #define	_PATH_LIBMAP_CONF	"/etc/libmap.conf"
>  #define	_PATH_LOCALE	"/usr/share/locale"
>  #define	_PATH_LOGIN	"/usr/bin/login"
>  #define	_PATH_MAILDIR	"/var/mail"
>  #define	_PATH_MAN	"/usr/share/man"
> -#define	_PATH_MDCONFIG	"/sbin/mdconfig"
> +#define	_PATH_MDCONFIG	"/bin/mdconfig"
>  #define	_PATH_MEM	"/dev/mem"
> -#define	_PATH_MKSNAP_FFS	"/sbin/mksnap_ffs"
> -#define	_PATH_MOUNT	"/sbin/mount"
> -#define	_PATH_NEWFS	"/sbin/newfs"
> +#define	_PATH_MKSNAP_FFS	"/bin/mksnap_ffs"
> +#define	_PATH_MOUNT	"/bin/mount"
> +#define	_PATH_NEWFS	"/bin/newfs"
>  #define	_PATH_NOLOGIN	"/var/run/nologin"
>  #define	_PATH_RCP	"/bin/rcp"
> -#define	_PATH_REBOOT	"/sbin/reboot"
> +#define	_PATH_REBOOT	"/bin/reboot"
>  #define	_PATH_RLOGIN	"/usr/bin/rlogin"
>  #define	_PATH_RM	"/bin/rm"
>  #define	_PATH_RSH	"/usr/bin/rsh"
> -#define	_PATH_SENDMAIL	"/usr/sbin/sendmail"
> +#define	_PATH_SENDMAIL	"/usr/bin/sendmail"
>  #define	_PATH_SHELLS	"/etc/shells"
>  #define	_PATH_TTY	"/dev/tty"
>  #define	_PATH_UNIX	"don't use _PATH_UNIX"
> @@ -107,9 +107,9 @@
>  #undef	_PATH_DEFPATH
>  #define	_PATH_DEFPATH	"/rescue:/usr/bin:/bin"
>  #undef	_PATH_STDPATH
> -#define	_PATH_STDPATH	"/rescue:/usr/bin:/bin:/usr/sbin:/sbin"
> +#define	_PATH_STDPATH	"/rescue:/usr/bin:/bin"
>  #undef	_PATH_SYSPATH
> -#define	_PATH_SYSPATH	"/rescue:/sbin:/usr/sbin"
> +#define	_PATH_SYSPATH	"/rescue:/bin:/usr/bin"
>  #undef	_PATH_BSHELL
>  #define	_PATH_BSHELL	"/rescue/sh"
>  #undef	_PATH_CP
> Index: sbin/Makefile.inc
> ===================================================================
> --- sbin/Makefile.inc	(revision 227417)
> +++ sbin/Makefile.inc	(working copy)
> @@ -3,7 +3,7 @@
>  
>  .include <bsd.own.mk>
>  
> -BINDIR?=	/sbin
> +BINDIR?=	/bin
>  WARNS?=	6
>  
>  .if ${MK_DYNAMICROOT} == "no"
> Index: Makefile.inc1
> ===================================================================
> --- Makefile.inc1	(revision 227417)
> +++ Makefile.inc1	(working copy)
> @@ -613,6 +613,18 @@
>  .endfor
>  
>  #
> +# /sbin is now merged into /bin. The same holds for /usr/sbin and /usr/games.
> +#
> +installcheck: installcheck_sbin_merge
> +installcheck_sbin_merge:
> +.for dir in ${DESTDIR}/sbin ${DESTDIR}/usr/sbin ${DESTDIR}/usr/games
> +	@if test -d ${dir} -a ! -L ${dir}; then \
> +		echo "ERROR: Directory ${dir} is still present, see /usr/src/UPDATING entry 20111110."; \
> +		false; \
> +	fi
> +.endfor
> +
> +#
>  # Required install tools to be saved in a scratch dir for safety.
>  #
>  .if ${MK_INFO} != "no"
> Index: cddl/sbin/Makefile.inc
> ===================================================================
> --- cddl/sbin/Makefile.inc	(revision 227417)
> +++ cddl/sbin/Makefile.inc	(working copy)
> @@ -1,5 +1,5 @@
>  # $FreeBSD$
>  
> -BINDIR?=	/sbin
> +BINDIR?=	/bin
>  
>  .include "../Makefile.inc"
> Index: cddl/usr.sbin/dtrace/Makefile
> ===================================================================
> --- cddl/usr.sbin/dtrace/Makefile	(revision 227417)
> +++ cddl/usr.sbin/dtrace/Makefile	(working copy)
> @@ -4,7 +4,7 @@
>  
>  PROG=		dtrace
>  SRCS=		dtrace.c
> -BINDIR?=	/usr/sbin
> +BINDIR?=	/usr/bin
>  
>  WARNS?=		1
>  
> Index: cddl/usr.sbin/plockstat/Makefile
> ===================================================================
> --- cddl/usr.sbin/plockstat/Makefile	(revision 227417)
> +++ cddl/usr.sbin/plockstat/Makefile	(working copy)
> @@ -4,7 +4,7 @@
>  
>  PROG=		plockstat
>  SRCS=		plockstat.c 
> -BINDIR?=	/usr/sbin
> +BINDIR?=	/usr/bin
>  
>  WARNS?=		1
>  
> Index: cddl/usr.sbin/lockstat/Makefile
> ===================================================================
> --- cddl/usr.sbin/lockstat/Makefile	(revision 227417)
> +++ cddl/usr.sbin/lockstat/Makefile	(working copy)
> @@ -5,7 +5,7 @@
>  PROG=		lockstat
>  NO_MAN=
>  SRCS=		lockstat.c sym.c
> -BINDIR?=	/usr/sbin
> +BINDIR?=	/usr/bin
>  
>  WARNS?=		1
>  
> Index: cddl/usr.sbin/Makefile.inc
> ===================================================================
> --- cddl/usr.sbin/Makefile.inc	(revision 227417)
> +++ cddl/usr.sbin/Makefile.inc	(working copy)
> @@ -1,5 +1,5 @@
>  # $FreeBSD$
>  
> -BINDIR?=	/usr/sbin
> +BINDIR?=	/usr/bin
>  
>  .include "../Makefile.inc"
> Index: ObsoleteFiles.inc
> ===================================================================
> --- ObsoleteFiles.inc	(revision 227417)
> +++ ObsoleteFiles.inc	(working copy)
> @@ -2164,8 +2164,6 @@
>  OLD_FILES+=usr/libexec/named-xfer
>  OLD_FILES+=usr/sbin/named.restart
>  OLD_FILES+=usr/sbin/ndc
> -OLD_FILES+=usr/sbin/nslookup
> -OLD_FILES+=usr/sbin/nsupdate
>  OLD_FILES+=usr/share/doc/bind/html/acl.html
>  OLD_FILES+=usr/share/doc/bind/html/address_list.html
>  OLD_FILES+=usr/share/doc/bind/html/comments.html
> @@ -2528,7 +2526,6 @@
>  # 200212XX
>  OLD_FILES+=usr/sbin/kenv
>  OLD_FILES+=usr/bin/kenv
> -OLD_FILES+=usr/sbin/elf2aout
>  # 200210XX
>  OLD_FILES+=usr/include/libusbhid.h
>  OLD_FILES+=usr/share/man/man3/All_FreeBSD.3.gz
> Index: UPDATING
> ===================================================================
> --- UPDATING	(revision 227417)
> +++ UPDATING	(working copy)
> @@ -22,6 +22,24 @@
>  	machines to maximize performance.  (To disable malloc debugging, run
>  	ln -s aj /etc/malloc.conf.)
>  
> +20111110:
> +	The /sbin, /usr/sbin and /usr/games directories have been merged
> +	into /bin and /usr/bin. For compatibility, the old directories
> +	have been replaced by symbolic links pointing to `bin'. To
> +	prevent people from possibly breaking their system
> +	automatically, you must perform the merge manually before
> +	`make installworld'. This can be done as follows:
> +
> +		chflags noschg /sbin/* /usr/sbin/* /usr/games/*
> +		mv /sbin/* /bin
> +		mv /usr/sbin/* /usr/games/* /usr/bin
> +		rmdir /sbin /usr/sbin /usr/games
> +
> +	After running these commands, you can safely run `make
> +	installworld' to continue your upgrade. Do not reboot your
> +	system in the mean time, as FreeBSD's boot procedure depends on
> +	the existence of /sbin and /usr/sbin.
> +
>  20111108:
>  	The option VFS_ALLOW_NONMPSAFE option has been added in order to
>  	explicitely support non-MPSAFE filesystems.
> Index: libexec/bootpd/tools/Makefile.inc
> ===================================================================
> --- libexec/bootpd/tools/Makefile.inc	(revision 227417)
> +++ libexec/bootpd/tools/Makefile.inc	(working copy)
> @@ -1,6 +1,6 @@
>  # Makefile.inc
>  # $FreeBSD$
>  
> -BINDIR=		/usr/sbin
> +BINDIR=		/usr/bin
>  
>  WARNS?=		1
> Index: etc/mtree/BSD.usr.dist
> ===================================================================
> --- etc/mtree/BSD.usr.dist	(revision 227417)
> +++ etc/mtree/BSD.usr.dist	(working copy)
> @@ -7,8 +7,7 @@
>  .
>      bin
>      ..
> -    games
> -    ..
> +    games           type=link link=bin
>      include
>      ..
>      lib
> @@ -55,8 +54,7 @@
>      ..
>      obj             nochange
>      ..
> -    sbin
> -    ..
> +    sbin            type=link link=bin
>      share
>          calendar
>              de_DE.ISO8859-1
> Index: etc/mtree/BSD.root.dist
> ===================================================================
> --- etc/mtree/BSD.root.dist	(revision 227417)
> +++ etc/mtree/BSD.root.dist	(working copy)
> @@ -85,8 +85,7 @@
>      ..
>      root
>      ..
> -    sbin
> -    ..
> +    sbin            type=link link=bin
>      tmp             mode=01777
>      ..
>      usr
> Index: etc/login.conf
> ===================================================================
> --- etc/login.conf	(revision 227417)
> +++ etc/login.conf	(working copy)
> @@ -27,7 +27,7 @@
>  	:copyright=/etc/COPYRIGHT:\
>  	:welcome=/etc/motd:\
>  	:setenv=MAIL=/var/mail/$,BLOCKSIZE=K,FTP_PASSIVE_MODE=YES:\
> -	:path=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin ~/bin:\
> +	:path=/bin /usr/bin /usr/local/sbin /usr/local/bin ~/bin:\
>  	:nologin=/var/run/nologin:\
>  	:cputime=unlimited:\
>  	:datasize=unlimited:\
> @@ -163,7 +163,7 @@
>  #	:ignoretime:\
>  #	:requirehome@:\
>  #	:accounted@:\
> -#	:path=~/bin /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin:\
> +#	:path=~/bin /bin /usr/bin /usr/local/bin /usr/local/sbin:\
>  #	:umask=022:\
>  #	:tc=standard:
>  #
> @@ -172,7 +172,7 @@
>  ## root - fallback for root logins
>  ##
>  #root:\
> -#	:path=~/bin /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin:\
> +#	:path=~/bin /bin /usr/bin /usr/local/bin /usr/local/sbin:\
>  #	:cputime=infinity:\
>  #	:datasize=infinity:\
>  #	:stacksize=infinity:\
> @@ -214,7 +214,7 @@
>  ## Settings used by news subsystem
>  ##
>  #news:\
> -#	:path=/usr/local/news/bin /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin:\
> +#	:path=/usr/local/news/bin /bin /usr/bin /usr/local/bin /usr/local/sbin:\
>  #	:cputime=infinity:\
>  #	:filesize=128M:\
>  #	:datasize-cur=64M:\

> /sbin, /usr/sbin and /usr/games separate:
>  PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/ed/bin
>   => /sbin
>    263.38 real 80.16 user 185.91 sys
>   => /bin
>    263.73 real 79.81 user 186.33 sys
>   => /usr/sbin
>    264.08 real 76.82 user 189.69 sys
>   => /usr/bin
>    264.44 real 78.04 user 188.80 sys
>   => /usr/games
>    265.21 real 78.92 user 188.72 sys
>   => /usr/local/sbin
>    266.19 real 78.54 user 190.04 sys
>   => /usr/local/bin
>    266.58 real 78.53 user 190.31 sys
>   => /home/ed/bin
>    267.84 real 78.21 user 191.91 sys
>  PATH=/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/home/ed/bin
>   => /bin
>    262.75 real 79.18 user 185.91 sys
>   => /usr/bin
>    263.49 real 76.18 user 189.86 sys
>   => /usr/local/sbin
>    264.51 real 77.81 user 189.07 sys
>   => /usr/local/bin
>    265.14 real 77.97 user 189.53 sys
>   => /home/ed/bin
>    266.14 real 76.18 user 192.33 sys
> /sbin, /usr/sbin and /usr/games merged:
>  PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/ed/bin
>   => /sbin
>    264.12 real 78.53 user 188.00 sys
>   => /bin
>    263.96 real 78.46 user 187.92 sys
>   => /usr/sbin
>    265.21 real 77.12 user 190.47 sys
>   => /usr/bin
>    265.44 real 77.59 user 190.21 sys
>   => /usr/games
>    265.55 real 78.52 user 189.42 sys
>   => /usr/local/sbin
>    267.28 real 78.21 user 191.37 sys
>   => /usr/local/bin
>    267.48 real 77.20 user 192.66 sys
>   => /home/ed/bin
>    268.73 real 77.79 user 193.30 sys
>  PATH=/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/home/ed/bin
>   => /bin
>    263.59 real 76.95 user 189.03 sys
>   => /usr/bin
>    264.37 real 76.95 user 189.84 sys
>   => /usr/local/sbin
>    265.15 real 78.53 user 189.03 sys
>   => /usr/local/bin
>    265.75 real 77.10 user 190.98 sys
>   => /home/ed/bin
>    266.89 real 77.06 user 192.13 sys





More information about the freebsd-arch mailing list