← Back to context

Comment by gerdesj

6 years ago

"Like many Unix users, I long ago created a ~/bin/ directory in my home directory"

No, this is my laptop - /usr/bin is the place for that. No, this is a simple server - /usr/bin is the place for that.

Perhaps I'm missing something after 23 odd years of using Unix systems including this Arch laptop.

/usr/bin is under the control of your package manager _ unless you're building and installing packages for all your adhoc scripts, aren't you worried about name collisions?

  • I know Arch's package manager, at least, will refuse to install a package if it would overwrite an existing file.

I keep ~/bin for easy version control/backups of my own scripts. I don't want to make a directory/repo for each script, and for getting them on PATH I can either add ~/bin to PATH or remember to run ln -s ~/bin/* /usr/bin/ after adding a script. Adding to PATH has saved me a few seconds of minor frustration at no cost.

Stuff in /usr/(bin|share|...) might get overwritten by system update or reinstall. A better choice is /usr/local/

I can't write to /usr without root, and I can write to home. I also personally like a clear delineation between things that are managed by the package manager and by myself.