Supposons que j’ai un accès ssh à certains serveurs Ubuntu en tant qu’utilisateur et que j’ai besoin d’installer des outils non système pour plus de commodité (mc, rtorrent, mcedit). Je ne veux pas déranger les administrateurs pour ces petits programmes.
Y at-il un moyen de les installer (les faire fonctionner) sans utiliser quelque chose comme sudo apt-get install
?
Réponses:
Compilez et installez dans
~/bin
(et éditez votre.bashrc
pour le définirPATH
afin de l’inclure). Les bibliothèques peuvent également être compilées et installées dans~/lib
(définirLD_LIBRARY_PATH
pour y pointer), et les en-têtes de développement peuvent être installés dans, par exemple~/includes
.Selon les détails spécifiques des programmes que vous souhaitez installer et des bibliothèques dont ils dépendent, vous pouvez télécharger les fichiers .deb et utiliser "
dpkg-deb -x
" pour les extraire sous votre répertoire personnel. Vous aurez alors beaucoup de « fun » la misePATH
,LD_LIBRARY_PATH
et d' autresvariables
. Plus le programme ou l'application que vous installez est complexe, plus vous serez amusant :)Bien sûr, vous ne pourrez pas installer les
setuid
fichiers binaires de cette façon - ils installeront, mais (étant donné que vous n’avez pas l’autorisation de les chown pour qu’ils soient root ou paramétréssetuid
dessus), ils ne seront que des binaires normaux appartenant à vous. .De même, les démons et les services système qui s’attendent à être exécutés avec une certaine
UID
capacité ou qui ont la capacité de modifier l’aide, ou s’attendent à ce que les fichiers soient/etc
stockés plutôt,~/etc
et ainsi de suite, risquent de ne pas bien fonctionner, voire pas du tout.La plupart des administrateurs système considéreraient
mc
etmcedit
seraient "pour la plupart inoffensifs", des programmes inoffensifs.Cependant, rares sont ceux qui considèrent que l’installation d’un client torrent est inoffensive, en particulier s’ils doivent payer pour la bande passante ou s’avérer juridiquement responsables. La plupart des administrateurs système ne seraient probablement pas entièrement satisfaits que les utilisateurs finaux installent ce logiciel sans autorisation. Ils peuvent dire «bien sûr, allez-y, assommez-vous» ou ils ne le peuvent pas… mais vous devriez poser des questions sur tout ce qui pourrait causer des problèmes aux propriétaires / administrateurs de la machine.
la source
LD_LIBRARY_PATH
est un hack diabolique . Est-ce que cela s'applique aussi ici ou ai-je mal compris?dpkg-deb -x
vers un répertoire local). Travaillé comme un charme. Je n'ai pas eu à faire deLD_LIBRARY_PATH
piratage. Même si je devais le faire, je le ferais dans la même ligne de commande afin de ne pas affecter les paramètres globaux (par exemple$ LD_LIBRARY_PATH=/home/usr1/zoom/opt/zoom:/home/usr1/zoom/opt/zoom/zoom ZoomLauncher
).Vous devez les compiler à partir des sources. Cela devrait juste être une question de
Le binaire serait alors situé dans
~/myapps/bin
. Alors, ajoutezexport PATH="$HOME/myapps/bin:$PATH"
à votre.bashrc
fichier et rechargez le.bashrc
fichier avecsource ~/.bashrc
. Bien entendu, cela suppose que gcc est installé sur le système.la source
Vous pouvez utiliser JuNest , qui crée un petit conteneur Linux dans le répertoire de l'utilisateur, dans lequel vous pouvez installer tous les packages.
la source
J'ai rencontré le même problème, voici comment je l'ai rapidement résolu, en supposant que vous disposiez d'un serveur Linux du même système d'exploitation et de la même architecture.
Installez le logiciel sur le système que vous contrôlez
Trouvez l'exemple exécutable
which python
et copiez-le dans~/
Copiez les bibliothèques avec:
Transférez l'exécutable et les bibliothèques sur l'autre système où vous ne disposez que de privilèges locaux, puis exécutez les opérations suivantes:
Cela créera un dossier
~/lib
pour stocker les bibliothèques, l'ajoutera à votre chemin et dira à LD de regarder les bibliothèques là-bas. Il suffit donc d'ajouter vos exécutables et les bibliothèques là-bas. Vous pouvez maintenant le lancer comme vous le feriez ailleurs.Cela peut paraître très compliqué, mais très portable, rapide et je n’ai pas encore trouvé quelque chose que je ne peux pas utiliser de cette façon. Bien sûr, le logiciel ne peut pas essayer de faire des choses qui nécessitent un accès root, comme une liaison à un port inférieur. que 1024, etc.
la source
J'ai le même problème que toi. Je ne l'ai pas encore essayé, mais il semble que Linuxbrew puisse être pratique sur ce problème.
la source