web-dev-qa-db-fra.com

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

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

Je voudrais savoir s’il existe un moyen de peut-on télécharger des paquets Ubuntu et les installer en tant qu’utilisateur non root?

Probablement dans mon ~/bin ou ~/usr/share ou quelque chose comme ça? Cela fonctionnerait-il?

120
Weboide

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

L’une consiste à utiliser schroot pour créer un chroot non root. Ceci est un peu processus impliqué , mais vous devriez pouvoir trouver l'aide de la communauté pour autant de développeurs configurent des environnements chroot pour la compilation de code.

La deuxième façon que je connaisse consiste à installer à partir d'un paquet .deb. Vous pourrez peut-être le télécharger depuis un site Web ou s'il se trouve dans les référentiels Ubuntu avec lesquels vous pouvez télécharger.

apt-get download package

Remplacez package par le nom du package.

Une fois que vous avez votre fichier deb, appelez dpkg directement à partir de 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 d’utiliser dpkg comme ceci est que les messages d’erreur sont susceptibles d’être cryptés; dpkg ne résout pas automatiquement les dépendances et ne crée pas la structure de répertoires attendue.

Enfin, vous pouvez utiliser la commande apt-get source pour récupérer la source du package et la configurer pour une installation locale. Habituellement, cela ressemble à quelque chose comme:

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 que vous pourriez vous retrouver à compiler des dizaines de packages afin de résoudre toutes les dépendances.

EDIT:

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

dpkg -x package.deb dir

Cela va extraire le paquet .deb dans dir. Ensuite, vous pouvez exporter le PATH où se trouve le binaire. Tant que toutes les dépendances du binaire sont installées, il devrait fonctionner normalement.

103
jbowtie

Je suppose que vous voulez installer jedit . Vous devez d'abord trouver le package et le télécharger. Je prends juste le fichier deb de quelque miroir et ouvre une console/un terminal:

  1. mkdir /tmp/jedit && cd /tmp/jedit - Crée un nouveau répertoire dans tmp et le remplace.
  2. wget http://mirrors.kernel.org/ubuntu/pool/universe/j/jedit/jedit_4.3.1.dfsg-0ubuntu1_all.deb - Télécharger le package
  3. ar x jedit_4.3.1.dfsg-0ubuntu1_all.deb ou, facile à saisir, ar x *.deb - ceci 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 à un moment donné de votre répertoire personnel et les exécuter à partir de là.

16
qbi

J'ai écrit un programme appelé JuJ qui permet d'avoir une distribution Linux vraiment minuscule (ne contenant que le gestionnaire de paquets) dans votre répertoire $ HOME/.juju.

Il vous permet d’avoir votre système personnalisé dans le répertoire personnel accessible via proot et, par conséquent, vous pouvez installer n’importe quel paquet sans privilèges root. Il fonctionnera correctement sur toutes les principales distributions Linux. La seule limitation est que JuJu peut être exécuté sur un noyau Linux avec la version minimum recommandée 2.6.32.

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

$>juju -f
(juju)$> pacman -S jedit
(juju)> jedit
9
user967489