Как Вы сказали выше, создавание каталога для присоединения точки монтирования к устранит эту проблему.
Существуют способы установить rpms в пользовательском использовании каталога rpm
, но я не полагаю, что это просто. Я не полагаю, что существует путь с yum
.
Моя общепринятая практика стала для компиляции от источника до a local
каталог в моем доме
$ mkdir ~/local
$ mkdir ~/local/bin
$ mkdir ~/local/lib
$ mkdir ~/local/include
Я загружаю источник, как я был бы к /usr/local
когда у меня есть корень, например, в ~/local/git
.
При компиляции я установил префикс на local
каталог
$ configure --prefix=/home/user_name/local
$ make
$ make install
Я затем добавляю ~/local/bin
к моему $PATH в .bash_profile
.
Конечно, боль с установкой из источника - то, что Вы не получаете автоматическое разрешение зависимости. Если Вы находите, что необходимо установить зависимости, скомпилируйте и установите их как выше. Затем, когда Вы компилируете git
, необходимо обновить флаги компиляции, таким образом, они смотрят в корректном месте для библиотек зависимости и включают файлы:
./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'
.rpm файл является на самом деле формой cpio
архив, который много похож на простую форму tar
. rpm2cpio
утилита, вероятно, установлена в системе и не требует полномочий использовать; это пишет в стандарт, так для преобразования:
rpm2cpio whatever.rpm > whatever.cpio
Существует a man cpio
можно посмотреть на себя, но что Вы теперь хотите сделать, подать архив к cpio в "копии в" режиме:
cat whatever.cpio | cpio -i
Очень вероятно материал организован в дерево каталогов так, чтобы файлы вошли в соответствующие местоположения (мусорное ведро, и т.д., и т.д.). Если они не будут существовать в Вашем pwd, то Вы получите ошибку, но это перечислит файлы в архиве (можно получить то же самое с -t
/--list
переключатель). Если Вы хотите создать каталоги автоматически, использовать -d
. Так быстрый способ распаковать об/мин:
rpm2cpio whatever.rpm | cpio -i -d
Можно использовать это для установки в $HOME. Единственная проблема будет состоять в том, если программа будет ожидать находить материал в /etc
, и т.д., так как много вещей имеют свое расположение установки, трудно кодированное в для любой цели, когда они компилируются.
Здание из источника является, вероятно, более оптимальным вариантом (так как можно обеспечить корректное местоположение), но если можно заставить это работать в любом случае затем, это быстро и просто.
Кроме того, полуночный командующий файловый браузер (mc
), и вероятно другие файловые браузеры кроме того, позволят Вам перемещаться по об/мин или cpio (или сжатый tar или zip) иерархия и копировать отдельные файлы, как будто архив был распакован (он создает временную файловую систему для просмотра с содержанием архива в нем).
Это альтернатива (без использования yum), и разрешение будет дурацким, но вы
можете chown
после этого целевому пользователю: - также это попадание или промах :-(
#-## Download all dependency for the RPM --
#sudo yum install yum-utils
#sudo yumdownloader --resolve --destdir ~/download bash
#-## Install all downloaded to an alternate root
#sudo rpm --initdb --root <user_home_dir>
#sudo rpm --root <user_home_dir> -Uvh --nodeps ~/download/*
Затем добавьте соответствующие местоположения в свой путь.