52 votes

Existe-t-il un moyen de faire en sorte qu'APT installe des paquets dans mon répertoire personnel ?

Existe-t-il un moyen d'obtenir APT pour installer des paquets dans mon répertoire personnel ?

Je ne veux pas apporter de modifications à l'ensemble du système.

Sinon, existe-t-il des gestionnaires de paquets linux basés sur le répertoire personnel ?

0voto

Matt Hanson Points 1929

J'ai du mal à imaginer comment cela fonctionnerait avec les dépôts officiels d'une distribution. Comment doit-il résoudre les dépendances ? À partir du système ou de vos répertoires personnels ? Et s'il trouve des versions différentes dans les deux ?

Le mieux que je puisse imaginer serait un environnement chrooté comme on le fait pour les applications 32 bits sur les systèmes 64 bits. Il y a plus de frais généraux car vous appelleriez debootstrap dans le chroot, mais avec quelques lien symbolique Si vous utilisez un wrapper Shell, Shell amusant, il se peut qu'il fasse ce que vous voulez.

0voto

WildJoe Points 2515

D'après ma propre expérience, il n'existe pas de moyen simple d'utiliser les paquets DEB existants pour les installer dans un autre répertoire qui n'est pas un répertoire chroot l'environnement. Les outils d'installation de Debian/Ubuntu outils dpkg / aptitude / dselect requièrent tous les privilèges de l'utilisateur root pour fonctionner correctement.

Maintenant, étant donné la source DEB, vous pouvez modifier le fichier Debian/rules pour que le paquet se construise et s'installe dans une arborescence de répertoires différente, mais alors vous n'utilisez pas les paquets binaires déjà disponibles.

Comme d'autres l'ont mentionné, vous pouvez utiliser débootstrap et construire facilement un environnement chroot, ce que j'ai fait dans le passé pour avoir un environnement 32 bits sur un hôte 64 bits, mais cela nécessite l'installation d'un chroot avec au moins les paquets de base dupliqués. Si vous avez de la place et que cette solution est viable, vous pouvez la coupler avec dchroot ou mieux encore schroot afin de faciliter l'exécution des applications installées dans l'environnement chroot.

0voto

Perkins Points 141

Je travaille toujours sur le problème, mais debootstrap est essentiellement ce dont vous avez besoin, et devrait fonctionner avec fakeroot. debootstrap est juste un tas de Shell Shell, donc je suis en train de le décortiquer pour voir ce qui le fait fonctionner. Le plus dur sera de désinstaller les fichiers une fois qu'ils seront installés.

0voto

Andrew Case Points 3349

Malheureusement, je n'ai pas entendu parler d'une distro fournissant quelque chose comme ça (même si je suis sûr que ce serait super populaire). Il est cependant possible d'imiter les distros basées sur les rpm... Je n'ai pas essayé, mais il est possible de construire une base de données rpm basée sur l'utilisateur et d'installer les rpm dans la base de données de l'utilisateur.

Essayez de mettre en place une nouvelle distribution basée sur l'utilisateur avec :

rpm --initdb --dbpath DIRECTORY

Il existe alors plusieurs options qui peuvent vous aider :

  • --prefix
  • --relocate

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