Ubuntu should move all binaries to /usr/bin/

Lanoxx lanoxx at gmx.net
Wed Nov 2 23:52:44 UTC 2011


The discussion of /usr vs. / has also been in debian and the general
consens seemed to be that fedoras use case is not applicable to debian
because it would break compatibility with systems that dont have an
initramfs. It would also be neccessary to move tools such as fsck and
others into initramfs (which fedora will do) as otherwise there wont be
any useable system if /usr is not accesible (because its mounted of
network, or because it has file system errors).

Generally it should be possible to boot with just / and an optional
initramfs and get a minimal system that has the tools available to fix
things. This is not possible if we move everything to /usr, then put
/usr on a file server. This is a valid use case, but if the network is
not available or even if user is not on the network but on the same disk
and the file system gets corrupted you will want to have the tools at
hand to fix /usr.

Putting everything into initramfs does not seem to be a sensible
solution as it would make the boot process slower.

So while I generally like this idea I guess its better to leave things
as they are. IMHO the only thing that might be worth discussing is
whether the distinction of 'bin' and 'sbin' is still valid today since
nowadays they are both in the PATH anyway. So instead of moving
everything to /usr maybe we could merge \each\ of the bin/sbin folders
seperately so that instead of six folders we are only left with /bin,
usr/bin, usr/local/bin.

On 02/11/11 20:45, Michael Loftis wrote:
> On Tue, Nov 1, 2011 at 3:52 PM, Martin Pitt <martin.pitt at ubuntu.com> wrote:
>> nick rundy [2011-11-01 15:01 -0400]:
>>> I came to ubuntu from Windows. And one thing Windows does well is make it easy to find an executable file (i.e., it's in C:\Program Files\)
>> In fact, Windows makes that really hard, as there is no standard
>> location for binaries. Each application ships its executables in its
>> own directory.
> +1 to this.  Unixen in general are much more consistent.  User level
> binaries shipped with the base system go in /bin, system level (eg
> root type stuff) /sbin.  Additional packages not part of the base
> system belong in the /usr/bin and /usr/sbin locations, any package not
> following that needs fixing, not breaking *EVERYTHING* in the world so
> that "all bins are in the same dir" -- since they already are supposed
> to be.
> Just *TRY* to find all the executable binaries for say MS Office.  Now
> how about DLLs?  Yeah, good luck with that.
>>> Finding an executable file in Ubuntu is frustrating & lacks
>>> organization that makes sense to users.
>> I doubt that many users actually care, and those wo do can use
>> "which". Also. all binaries a user is actually concerned with are in
>> /usr/bin (i. e. the ones you'd call to open documents with).
>>> Here's a link to an article that talks about Fedora's idea:
>>> http://www.h-online.com/open/news/item/Fedora-considers-moving-all-binaries-to-usr-bin-1369642.html?view=print
>> That would mean that we need to drop the possibility to have /usr on a
>> separate partition/network file system, or make the initramfs
>> clever/complicated enough to actually wait for /usr to come up.
>> Also, the separation of /sbin and /usr/sbin is not just totally
>> random; for non-admin users it makes them not appear in tab completion
>> etc, which cleans up the command namespace a bit.
> Another +1.

More information about the Ubuntu-devel-discuss mailing list