For building apps from source like git or rails I've seen recommendations to install in both /opt or /usr/local.
From what I've read so for, the designated use for both is about the same and it amounts to merely a style issue.
Is there any practical difference? Best practices?
The FHS says:
while /usr/local hold the usual /bin/, /lib, /etc, ... hierarchy
I use
/usr/local
for stuff I put into the system, and I let third-party installers take/opt
.Personally, I like to install everything I build from source in
/opt
, and edit my$PATH
accordingly. It instils a sense of (semi-) cleanliness, and it's easier to traverse the folder structure, perform updates etc. It just comes down to personal preference; one is not necessarily better than the other (just like you said, a style issue).