Se você estiver compilando seu próprio software, você controlará o local de instalação. Por convenção, o software compilado e instalado manualmente (não através de um gerenciador de pacotes, por exemplo, apt, yum, pacman) é instalado em /usr/local . Alguns pacotes (programas) criarão um subdiretório em /usr/local para armazenar todos os arquivos relevantes, como /usr/local/openssl . Outros pacotes instalarão seus arquivos necessários em diretórios existentes, como /usr/local/sbin e /usr/local/etc . Estes são simplesmente locais padrão e podem ser alterados durante a compilação.
Quando você está compilando o software, o local de instalação pode ser especificado usando a opção --prefix= ao executar ./configure . É altamente recomendável que você examine todas as opções disponíveis para o seu pacote executando $ ./configure --help | less . Além disso, navegar nos documentos INSTALL e README fornecidos com o seu pacote é uma boa ideia. Eles tendem a incluir instruções de instalação e informações de dependência específicas do pacote.
Também deve ser notado que, embora você possa armazenar software em qualquer lugar, de acordo com a FHS , o código-fonte para software instalado localmente deve ser armazenado em /usr/local/src Padronizar onde você armazena suas árvores de origem permitirá localizar facilmente uma árvore se precisar copiar um arquivo de configuração de estoque ou binário. Mesmo que alguns pacotes o usem, seu código-fonte não deve ser armazenado em /usr/src , como é designado para o software do sistema, como o kernel.
Por fim, você precisa garantir que seu local de instalação esteja incluído no seu $PATH . Se você decidir instalar seu pacote em /opt , mas ele não estiver no seu $PATH , seu shell não encontrará os executáveis e você terá que usar o caminho absoluto para invocar seus programas. Aqui estão algumas grandes discussões de AU sobre como configurar seu $PATH
Leitura adicional: man hier