Pourquoi le bâtiment à partir de fichiers binaires ne nécessitent pas l'accès racine?

StackOverflow https://stackoverflow.com/questions/791126

  •  16-09-2019
  •  | 
  •  

Question

Quand je suis dans mon serveur de département, je ne peux pas utiliser des commandes telles que « apt-get install nethack ». Je dois construire le nethack à partir de fichiers binaires pour le faire fonctionner, du moins on m'a dit. Je ne comprends pas la raison. Pourquoi ai-je besoin de construire des choses à partir des binaires? Pourquoi l'utilisation des commandes, telles que « apt-get », interdit? Pourquoi ai-je pas besoin d'un accès racine pour construire à partir des binaires?

Était-ce utile?

La solution

Lorsque vous compilez un programme à partir des sources, vous pouvez lui donner le « prefix = ~ / ». Cela provoque l'installation par rapport à votre propre répertoire (afin que les programmes binaires se terminent généralement dans « ~ / bin », les pages de manuel dans « ~ / homme », etc.). Cela ne pose aucun problème car vous avez déjà la permission d'écrire ici.

Apt-get d'autre part installe les paquets dans le système de fichiers global ( '/ bin /', '/ usr / bin /', etc.), ce qui peut avoir un impact d'autres utilisateurs et ainsi, tout à fait à juste titre, demander l'accès administratif.

Si vous voulez installer un programme, vous pouvez utiliser la commande

apt-get source app-name

travail même si vous n'êtes pas racine car il extraient que le code source à l'application nom et le mettre dans le répertoire courant, ce qui est plus facile que d'avoir à traquer la source et il y a une meilleure chance de le faire fonctionner, puisque vous téléchargez la version qui devrait fonctionner sur votre système.

Sinon, vous devriez bug votre sysadmin pour installer les programmes dont vous avez besoin, car il est son travail (et si vous avez besoin d'eux, il y a des chances que le reste de l'équipe le fait aussi).

Autres conseils

apt-get est une commande au niveau du système qui installe les paquets pour tous les utilisateurs.

Si vous téléchargez et compilez, vous ne créez « copies » locales des binaires, et non pas l'ensemble du système. Si vous avez essayé de terminer le processus d'installation avec make install cela échouera probablement parce que vous ne disposez pas des privilèges suffisants pour installer le programme pour tous les utilisateurs de l'accès (même raison que vous ne pouvez pas exécuter apt-get install)

Parce que apt-get installera un système de programme large.

Les emplacements auxquels apt-get écriture des fichiers installés (/ bin, / usr / bin, ...) sont limités à l'accès racine. Je suppose que lorsque vous créez de la source que vous n'êtes pas exécuter l'installation étape du bulid. Vous allez avoir besoin de définir un préfixe pour l'installation de telle sorte que les paquets finissent quelque part, vous pouvez écrire. Ce fil parle un peu sur les préfixes réglage pour apt-get et vous aurez probablement envie de mettre le préfixe à quelque chose comme

~/software/

puis ajoutez les répertoires bin résultant à votre PATH.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top