The install script installs solr.in.sh in /etc/defaults/. However, if the user manually runs solr start, the script will use the solr.in.sh file from bin/ since that is first in the search path. And it will fail since /opt/solr is write protected. But if user starts with service solr start then the file from installation is used and all is fine.
Since the default /opt/solr/server/solr is not writable by solr user, this creates a bad user experience and classifies as a bug.
My proposal is that the installer renames bin/solr.in.sh -> bin/solr.in.sh.orig and the same with solr.in.cmd, so that the resolution logic will end up finding the one from the install. User can still override this by creating a $HOME/.solr.in.sh.