Устанавливать пакет локально для лучших пользователей?

Я хочу установить Git локально для пользователя на сервере RHEL (у меня нет доступа root). Каким будет ваш самый чистый / наиболее организованный способ установки программного обеспечения на локальную учетную запись пользователя?

  • Установка всего в домашний каталог пользователей?
  • Как выглядит расположение каталога?
  • Вы установили бы из источника или RPM?
  • Если из RPM вы используете YUM или RPM?

  • configure: error: LDFLAGS
  • Установка Skype на Debian x64: pkg: проблемы с зависимостями предотвращают настройку skype
  • Что происходит, когда я устанавливаю пакет с yum?
  • Как установить sshfs на Linux Mint?
  • Создайте репозиторий для домашних пакетов для RHEL с базовым CentOS
  • gvim на RHEL (Red Hat Enterprise Linux) установить в домашний каталог
  • Как удовлетворить требуемые зависимости, чтобы установить ожидаемое расширение pecl на Mac OS X?
  • Компиляция IMAP с определенной версией PHP API для MAMP
  • 3 Solutions collect form web for “Устанавливать пакет локально для лучших пользователей?”

    Существуют способы установки rpms в каталог пользователя с использованием rpm , но я не считаю, что это прямолинейно. Я не верю, что есть способ с yum .

    Моя стандартная практика стала компиляции из источника в local каталог в моем доме

     $ mkdir ~/local $ mkdir ~/local/bin $ mkdir ~/local/lib $ mkdir ~/local/include 

    Я загружаю источник, как я хотел бы /usr/local когда у меня есть root, например, в ~/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 

    Есть man cpio вы можете смотреть на себя, но то, что вы сейчас хотите сделать, – это загрузить архив в cpio в режиме «copy in»:

     cat whatever.cpio | cpio -i 

    Весьма вероятно, что материал организован в дерево каталогов, чтобы файлы попадали в соответствующие места (bin и т. Д. И т. Д.). Если они не существуют в вашем pwd, вы получите сообщение об ошибке, но это будет список файлов в архиве (вы можете получить то же самое с --list -t / --list ). Если вы хотите создать каталоги автоматически, используйте -d . Итак, быстрый способ распаковать rpm:

     rpm2cpio whatever.rpm | cpio -i -d 

    Вы можете использовать его для установки в $ HOME. Единственная проблема будет заключаться в том, что программа ожидает найти материал в /etc и т. Д., Так как во многих случаях их место установки жестко закодировано для какой-либо цели при их компиляции.

    Вероятно, создание из источника – лучший вариант (поскольку вы можете предоставить правильное местоположение), но если вы можете заставить его работать в любом случае, это быстро и просто.

    Кроме того, помимо этого, браузер файлов midnight commander ( mc ) и, возможно, другие файловые браузеры, позволит вам перемещаться по иерархии rpm или cpio (или сжатой tar или zip) и копировать отдельные файлы, как если бы архив был распакован (он создает временную файловую систему для просмотра содержимого архива).

    Это альтернативный вариант (не используя yum), и разрешение будет дурацким, но после этого вы можете использовать целевого пользователя: – также это хит или промах 🙁

     #-## 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/* 

    Затем добавьте соответствующие места в свой путь.

    Linux и Unix - лучшая ОС в мире.