Packages that bundle a bunch of stuff, or otherwise make a mess, should go into /opt. Well-behaved packages that integrate with the system should be fine to install to /usr.
Who gets the final call on that, the developer or the maintainer? I’ve noticed that Landscape goes into /opt, and Canonical is both developer and maintainer there.
It is very arbitrary. Some/most non-free applications usually drop stuff into /opt, so it does not spread all over the filesystem. It makes sense if the application was not developed with Linux in mind, like Discord, Teamviewer etc.
How are applications that go into /opt different than any other packages? Even after reading that spec, it seems arbitrary.
Yes, it’s arbitrary.
Packages that bundle a bunch of stuff, or otherwise make a mess, should go into /opt. Well-behaved packages that integrate with the system should be fine to install to /usr.
Who gets the final call on that, the developer or the maintainer? I’ve noticed that Landscape goes into /opt, and Canonical is both developer and maintainer there.
The developer could do one thing, but whoever builds the package could change it, so the packager.
The system admin.
Especially when some dumbass app starts writing log files to /opt.
Sure, but in the case of dpkg?
The packager.
It is very arbitrary. Some/most non-free applications usually drop stuff into /opt, so it does not spread all over the filesystem. It makes sense if the application was not developed with Linux in mind, like Discord, Teamviewer etc.
I think it refers to applications that do not respect the standard directories like
/usr/bin
,/usr/share/man
,/etc
On all the work servers I maintain we pretty much install anything that’s not in the base repo to /opt/
If you didn’t get it through your distro’s package manager, it probably should go into
/opt
.