Pergunta

Quando estou no servidor do meu departamento, eu não posso usar comandos como "apt-get install nethack". Eu tenho que construir o nethack a partir de arquivos binários para fazê-lo funcionar, pelo menos assim me foi dito. Eu não consigo entender a razão. Por que eu preciso para construir coisas a partir de binários? Por que o uso dos comandos, como "apt-get", proibido? Por que eu não precisa de acesso root para construção de binários?

Foi útil?

Solução

Quando você compilar um programa a partir da fonte, você pode dar-lhe o 'prefix = ~ /'. Isto faz com que instalar em relação ao seu próprio diretório home (programas para binários normalmente acabam em '~ / bin', páginas de manual em '~ / homem' etc). Este não apresenta problemas porque você já tem permissão para escrever aqui.

apt-get, por outro lado instala os pacotes no sistema de arquivos global ( '/ bin /', '/ usr / bin /', etc), o que pode afetar outros usuários e assim, com razão, requerem acesso administrativo.

Se você quiser instalar algum programa que você pode usar o comando

apt-get source app-name

Este irá trabalho mesmo se você não estiver como root uma vez que só buscar o código-fonte para o app-name e colocá-lo no diretório atual, que é mais fácil do que ter que rastrear a origem e há uma melhor chance de obter-lhe o trabalho, desde que você baixar a versão que deve funcionar no seu sistema.

Como alternativa, você deve bug seu administrador para instalar os programas que você precisa, uma vez que é o seu trabalho (e se você precisar deles, as chances são de que o resto de sua equipe faz também).

Outras dicas

apt-get é um comando de nível de sistema que instala os pacotes para todos os usuários.

Se você baixar e compilar, só estão a criar "cópias" locais dos binários, não todo o sistema. Se você tentou completar o processo de instalação com make install isso provavelmente irá falhar porque você não tem privilégios suficientes para instalar o programa para o acesso de todos os usuários (apt-get install mesma razão que você não pode executar)

Porque apt-get irá instalar um sistema de programa de largura.

Os locais aos quais apt-get grava arquivos instalados (/ bin, / usr / bin, ...) são restritas ao acesso root. Imagino que quando você constrói a partir da fonte que você não está executando a etapa de instalação do bulid. Você está indo para necessidade de definir um prefixo para a instalação de tal forma que os pacotes de acabar em algum lugar você pode escrever. Esta discussão fala um pouco sobre como definir os prefixos para apt-get e você provavelmente vai querer definir o prefixo para algo como

~/software/

e, em seguida, adicione os diretórios bin resultantes ao seu PATH.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top