Je n'ai pas d'accès root sur cette machine.
J'aimerais savoir s'il est possible de télécharger des paquets Ubuntu et de les installer en tant que root.
Probablement dans mon ~/bin
ou ~/usr/share
ou quelque chose comme ça? Cela fonctionnerait-il?
Je n'ai pas d'accès root sur cette machine.
J'aimerais savoir s'il est possible de télécharger des paquets Ubuntu et de les installer en tant que root.
Probablement dans mon ~/bin
ou ~/usr/share
ou quelque chose comme ça? Cela fonctionnerait-il?
Réponses:
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. Il s’agit d’un processus assez complexe , mais vous devriez pouvoir trouver une aide communautaire pour le plus grand nombre de développeurs configurant 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 paquet
Une fois que vous avez votre fichier deb appeler 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 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 apt-get source
commande pour extraire 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.
MODIFIER:
Comme dpkg -i
cela ne fonctionne pas (voir les 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.
sudo apt-get build-dep package
tout ce qui est nécessaire pour construire un paquet (après avoir obtenu son source apt-get source
).
--force-not-root --root=$HOME
ou leurs variantes ne fonctionneront pas. Les paquets binaires Debian ne sont pas conçus pour être installés dans le répertoire de base, point à la ligne. Ou, pour le dire autrement. "L'exemple suivant installera package.deb dans votre répertoire personnel.". Non, ça ne va pas.
--force-not-root --root=/your/custom/path
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 d'un miroir et ouvre une console / un terminal:
mkdir /tmp/jedit && cd /tmp/jedit
- Crée un nouveau répertoire tmp
et le modifie.wget http://mirrors.kernel.org/ubuntu/pool/universe/j/jedit/jedit_4.3.1.dfsg-0ubuntu1_all.deb
- Télécharger le packagear x jedit_4.3.1.dfsg-0ubuntu1_all.deb
ou, facile à taper, ar x *.deb
- cela extrait le contenu du fichiertar xvzf data.tar.gz
- le fichier data.tar.gz
contient tout ce dont vous avez besoin pour exécuter le logicielusr/bin/jedit
ouvre l'éditeurVous pouvez déplacer les fichiers à un moment donné de votre répertoire personnel et les exécuter à partir de là.
J’ai écrit un programme appelé JuJu qui permet d’avoir une très petite distribution Linux (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