Il existe des moyens d'installer rpms dans un répertoire utilisateur à l'aide rpm
, mais je ne pense pas que ce soit simple. Je ne crois pas qu'il y ait un moyen yum
.
Ma pratique standard est devenue de compiler depuis la source vers un local
répertoire dans ma maison
$ mkdir ~/local
$ mkdir ~/local/bin
$ mkdir ~/local/lib
$ mkdir ~/local/include
Je télécharge la source comme je le ferais /usr/local
quand j'ai root, par exemple dans ~/local/git
.
Lors de la compilation, je mets le préfixe dans le local
répertoire
$ configure --prefix=/home/user_name/local
$ make
$ make install
J'ajoute ensuite ~/local/bin
à mon $ PATH dans .bash_profile
.
Bien sûr, la difficulté de l'installation à partir des sources est que vous n'obtenez pas de résolution automatique des dépendances. Si vous trouvez que vous devez installer des dépendances, compilez-les et installez-les comme ci-dessus. Ensuite, lorsque vous compilez git
, vous devez mettre à jour les indicateurs de compilation afin qu'ils recherchent l'emplacement correct pour les bibliothèques de la dépendance et incluent les fichiers:
./configure --prefix=/home/user_name/local LDFLAG='-L/home/user_name/local/lib' CFLAGS='-I/home/user_name/local/include' CPPFLAGS='-I/home/user_name/local/include' CXXFLAGS='-I/home/user_name/local/include'
Un fichier .rpm est en fait une forme d'
cpio
archive, qui ressemble beaucoup à une forme simple detar
. L'rpm2cpio
utilitaire est probablement installé sur le système et ne nécessite pas de privilèges à utiliser; il écrit en sortie standard, donc pour convertir:Il y a un que
man cpio
vous pouvez regarder vous-même, mais ce que vous voulez maintenant faire est d'alimenter l'archive vers cpio en mode "copier dans":Très probablement, le contenu est organisé dans une arborescence de répertoires afin que les fichiers soient placés dans les emplacements appropriés (bin, etc., etc.). Si ceux-ci n'existent pas dans votre pwd, vous obtiendrez une erreur, mais cela répertoriera les fichiers dans l'archive (vous pouvez obtenir la même chose avec le commutateur
-t
/--list
). Si vous souhaitez créer automatiquement les répertoires, utilisez-d
. Donc, un moyen rapide de décompresser un rpm:Vous pouvez l'utiliser pour installer dans $ HOME. Le seul problème sera si le programme s'attend à trouver des éléments
/etc
, etc., car de nombreuses choses ont leur emplacement d'installation codé en dur pour n'importe quel but lors de leur compilation.Construire à partir de la source est probablement une meilleure option (puisque vous pouvez fournir l'emplacement correct), mais si vous pouvez le faire fonctionner dans tous les cas, c'est rapide et simple.
De plus, le navigateur de fichiers de midnight commander (
mc
), et probablement d'autres navigateurs de fichiers en plus, vous permettra de naviguer dans une hiérarchie rpm ou cpio (ou tar compressé ou zip) et de copier des fichiers individuels comme si l'archive était décompressée (elle crée un système de fichiers temporaire pour parcourir le contenu de l'archive).la source
Il s'agit d'une alternative (n'utilisant pas yum) et la permission sera farfelue, mais vous pouvez
chown
par la suite à l'utilisateur cible: - c'est également un hasard :-(Ajoutez ensuite les emplacements appropriés à votre chemin.
la source