FreeBSD, Linux, and I
I don&#x27;t get the argument about the separation between &#x2F;usr&#x2F;bin and &#x2F;usr&#x2F;local that FreeBSD does: why there should be a separation of concerns about the core system and the rest of the packages?<p>In Linux distributions everything is installed by the package manager, and while it may be in different repositories (for example in ArchLinux you have core and extra) the packages are exactly the same, and the package manager maintains a database of all installed files. Do you want to remove all the &quot;non core&quot; stuff? You can easily do that with a command.<p>Meanwhile &#x2F;usr&#x2F;local is retained for stuff that is not installed by the package manager of the distro, and thus it&#x27;s not registered in its database. This will include for example binaries and libraries installed with other package manager such as pip, npm, etc, or things that you install with `make install`, that are not upgraded automatically.<p>It generates a lot of confusion, for example some files are in &#x2F;etc, some others are in &#x2F;usr&#x2F;local&#x2F;etc, some other files are in both locations and you have to know which is the correct one. And who decides that is core and what is extra anyway? There is not a clear distinct definition, for example do you define as core only the software necessary to boot? Do you include system utilities? Compilers? Of which language? It&#x27;s a mess!