Installation d'un package .deb dans le répertoire personnel

31

Est-il possible d'installer un .debpaquet complètement sous mon répertoire personnel sur debian?

free_easy
la source
Vous pouvez créer un paquet deb qui s'installe n'importe où. Mais pourquoi voudriez-vous? Les packages sont censés être installés dans le système.
Faheem Mitha
5
@Faheem Mitha - Nous n'avons pas tous un accès root à nos boîtes Unix, vous savez, je ne sais certainement pas où je travaille. Si nous avons besoin d'un package (RPM dans mon cas) pour utiliser un logiciel, ce serait bien si nous pouvions l'installer dans l'espace utilisateur plutôt que d'avoir à parler au service informatique et de les faire installer le package sur le système pour nous.
Mark Booth
@FaheemMitha Une autre chose est de tester une nouvelle version d'un package. Si je veux mettre un package spécifique à la disposition d'un seul utilisateur, je ne l'installe pas à l'échelle du système.
Erathiel
@Erathiel Eh bien, c'est vraiment un cas d'utilisation pour une machine virtuelle.
Faheem Mitha
@FaheemMitha Peut-être ou peut-être pas;) Mon cas d'utilisation était une machine de développement avec plusieurs utilisateurs servant d'environnements de développement. J'avais besoin de transférer un package vers une nouvelle version pour un utilisateur spécifique uniquement, afin que nous puissions tester le comportement de la nouvelle version. Mais le serveur est lui-même une machine virtuelle, vous avez donc en partie raison;)
Erathiel

Réponses:

19

Cela dépend de ce que vous entendez par «installer». Il est possible d'extraire le contenu d'un fichier .deb en utilisant dpkg-deb -x <filename.deb>, mais si vous pouvez réellement utiliser le logiciel après l'avoir extrait localement dépend de la façon dont il est écrit. De nombreux logiciels Linux s'attendent à trouver leurs fichiers de ressources dans des emplacements standard spécifiés au moment de la compilation, tels que /usr/shareou /usr/lib, qui échoueront si le logiciel n'est pas installé à l'emplacement habituel. De même, tous les fichiers de configuration à l'échelle du système installés par le package, tels que les .desktopfichiers qui créent des entrées dans le menu Démarrer, ne fonctionneront pas comme prévu s'ils sont installés au mauvais endroit.


la source
3
il devrait êtredpkg-deb -x app.deb /path/to/target/dir/
qed
ou juste dpkg -x app.deb / path / to / target / dir /
Erik Aronesty
5

Merci pour tous vos commentaires et réponses. C'était un logiciel auto-conditionné où je voudrais faire quelques vérifications de base si mon emballage était correct. Je suis root sur mon ordinateur mais je ne voudrais pas y faire une vraie installation ni utiliser une image virtuelle pour le moment. J'ai trouvé cette solution: /server/23734/is-there-any-way-to-get-apt-to-install-packages-to-my-home-directory qui fonctionne parfaitement pour moi atm.

free_easy
la source
5
@Ivogel demande "La page à laquelle vous avez lié a de nombreux messages, et je ne peux pas dire laquelle est la solution qui a fonctionné pour vous. Pourriez-vous préciser?"
drs
4

Notez que l'utilisation du système de paquets Debian nécessite un accès root. Ainsi, l'installation d'un paquet deb dans un répertoire personnel des utilisateurs nécessite un accès root. Si vous avez un accès root, il est plus logique d'installer simplement le système normalement.

Si vous ne disposez pas d'un accès root, vous ne pouvez pas utiliser le système d'empaquetage Debian. Vous pouvez certainement décompresser un fichier deb dans ses composants et le coller dans votre répertoire personnel, mais cela n'aurait aucun sens imo. Je vous suggère d'aller avec une installation locale. Selon le logiciel que vous installez, le logiciel peut avoir une sorte de système de gestion de package interne que vous pouvez utiliser.

Faheem Mitha
la source
Je ne sais pas si elle a été ajoutée après cette réponse, mais dpkg a une option --force-non-root qui peut être utilisée pour contourner ce problème.
Bruce Adams
@BruceAdams Je ne vois pas cette option dans la page de manuel. Pouvez-vous fournir une référence?
Faheem Mitha
Si vous exécutez dpkg --help, il mentionne --force-thing. Si vous exécutez dpkg --force-help, cela donne plus de détails. Voir par exemple askubuntu.com/questions/193695/…
Bruce Adams
@BruceAdams Ok, je le vois, mais je ne sais pas comment cela fonctionnerait: not-root Try to (de)install things even when not root.
Faheem Mitha
Voir ma question stackoverflow.com/questions/47099045/… Cependant, au moment de la rédaction, il n'a pas encore de réponse. Je n'en ai donc aucune idée non plus.
Bruce Adams