183 votes

Comment puis-je installer un package sans accès root ?

Je n'ai pas d'accès root sur cette machine.

J'aimerais savoir s'il existe un moyen de télécharger des paquets Ubuntu et de les installer sans privilèges root?

Probablement dans mon ~/bin ou ~/usr/share ou quelque chose comme ça? Est-ce que ça fonctionnerait?

151voto

UnkwnTech Points 21942

Apt ne le prend pas en charge directement, mais il existe des moyens de le faire.

Un moyen est d'utiliser schroot pour créer un chroot non root. C'est un processus quelque peu compliqué, mais pour lequel vous devriez pouvoir trouver de l'aide communautaire car de nombreux développeurs configurent des environnements chroot pour la compilation du code.

Le deuxième moyen que je connais est d'installer à partir d'un paquet .deb. Vous pouvez peut-être le télécharger à partir d'un site web ou s'il se trouve dans les dépôts Ubuntu, vous pouvez le télécharger avec.

apt-get download package

Remplacez package par le nom du paquet

Une fois que vous avez votre fichier deb, appelez dpkg directement depuis la ligne de commande. L'exemple suivant installera package.deb dans votre répertoire personnel.

dpkg -i package.deb --force-not-root --root=$HOME 

L'inconvénient de l'utilisation de dpkg de cette manière est que les messages d'erreur risquent d'être cryptiques ; dpkg ne résout pas automatiquement les dépendances ni ne crée la structure de répertoires qu'il attend.

Enfin, vous pourriez utiliser la commande apt-get source pour récupérer la source du paquet et la configurer pour l'installer localement. Habituellement, cela ressemble à quelque chose comme ceci :

apt-get source package
cd package
./configure --prefix=$HOME
make
make install

L'inconvénient de cette approche est que vous avez besoin de l'environnement de développement disponible pour que cette approche fonctionne, et vous pourriez vous retrouver à compiler des dizaines de paquets pour résoudre toutes les dépendances.

ÉDITION :

Comme dpkg -i ne fonctionne pas (voir commentaires), je suggère cette alternative :

dpkg -x package.deb dir

Cela extraira le paquet .deb dans le répertoire. Ensuite, vous pouvez exporter le chemin d'accès où se trouve le binaire. Tant que toutes les dépendances du binaire sont installées, il devrait fonctionner normalement.

17voto

cbp Points 229

Je suppose que vous voulez installer jedit. Tout d'abord, vous devez trouver le package et le télécharger. Je prends simplement le fichier deb depuis un miroir et ouvre une console/terminal :

  1. mkdir /tmp/jedit && cd /tmp/jedit -- Crée un nouveau répertoire dans tmp et s'y déplace.
  2. wget [http://mirrors.kernel.org/ubuntu/pool/universe/j/jedit/jedit](http://mirrors.kernel.org/ubuntu/pool/universe/j/jedit/jedit)_4.3.1.dfsg-0ubuntu1_all.deb -- Télécharge le package
  3. ar x jedit_4.3.1.dfsg-0ubuntu1_all.deb ou, plus facile à taper, ar x *.deb -- cela extrait le contenu du fichier
  4. tar xvzf data.tar.gz -- le fichier data.tar.gz contient tout ce dont vous avez besoin pour exécuter le logiciel
  5. usr/bin/jedit ouvre l'éditeur
  6. terminé :-)

Vous pouvez déplacer les fichiers vers un point quelconque dans votre répertoire personnel et les exécuter à partir de là.

14voto

Akshay Rawat Points 1380

J'ai écrit un programme appelé JuNest qui permet essentiellement d'avoir une distribution Linux vraiment minuscule (contenant uniquement le gestionnaire de paquets) à l'intérieur de votre répertoire $HOME/.junest.

Cela vous permet d'avoir votre propre système personnalisé à l'intérieur du répertoire home accessible via proot et, par conséquent, vous pouvez installer des paquets sans privilèges root. Il fonctionnera correctement sous toutes les grandes distributions Linux, la seule limitation étant que JuNest peut s'exécuter sur un noyau Linux avec une version minimale recommandée de 2.6.32.

Par exemple, après avoir installé JuNest, pour installer jedit:

$>junest -f
(junest)$> pacman -S jedit
(junest)> jedit

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X