Как скомпилировать и установить исходный код на OpenShift?
я пытаюсь установить "whois" на OpenShift онлайн, Я не могу установить с yum из-за разрешений
> yum install whois
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:
Error: rpmdb open failed
я не знаю никаких альтернативных способов установки пакета, поэтому рассматриваю возможность компиляции исходного кода.
make доступен.
> make -version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for x86_64-redhat-linux-gnu
Итак, как я могу скомпилировать исходный код по SSH на OpenShift? большое вам спасибо!
изменить:
Я могу!--6--> пакета, но не могу install
пакета.
обновление: Добавляет переменные среды и связанные данные.
$PATH
[app-domain.rhcloud.com whois-5.2.7]> echo $PATH
/var/lib/openshift/{{ directory_hash }}/python//virtenv/bin:/var/lib/openshift/{{ directory_hash }}/python//bin:/opt/rh/python27/root/usr/bin:/bin:/usr/bin:/usr/sbin
install
[app-domain.rhcloud.com whois-5.2.7]> which install
/var/lib/openshift/{{ directory_hash }}/python/bin/install
сообщение об ошибке во время make install
[app-domain.rhcloud.com whois-5.2.7]> make install BASEDIR=./destdir/
install -d ./destdir//usr/bin/
/var/lib/openshift/{{ directory_hash }}/python//bin/install: line 10: version: unbound variable
make: *** [install-whois] Error 1
сообщение об ошибке во время make /path/to/install
[app-domain.rhcloud.com whois-5.2.7]> make /var/lib/openshift/{{ directory_hash }}/python/bin/install BASEDIR=./destdir/
make: Nothing to be done for `/var/lib/openshift/{{ directory_hash }}/python/bin/install'.
2 ответов
обновление:
Ваша размещенная среда $PATH
переменная предполагает, что система install
команда, вероятно, настигнут python
' s . Вот почему команда make терпит неудачу при попытке установить двоичные файлы.
у вас есть два решения.
-
временно удалить
python
путь от$PATH
переменной. Он будет восстановлен до исходного значения при входе в OpenShift next время:export PATH=/bin:/usr/bin:/usr/sbin
-
редактировать
Makefile
иpo/Makefile
файлы и установить фиксированный путь к до/usr/bin/install
. Линия в обоихMakefile
s:INSTALL = install
следует читать:
INSTALL = /usr/bin/install
для решения проблем с разрешениями при установке на /usr
вам придется установить whois
на заказ реж. Этот пример устанавливает его в destdir
поддиректории.
$ wget http://ftp.debian.org/debian/pool/main/w/whois/whois_5.2.7.tar.xz
$ tar xf whois_5.2.7.tar.xz
$ cd whois-5.2.7/
$ mkdir destdir
$ make
$ make install BASEDIR=./destdir/
$ ./destdir/usr/bin/whois --version
Version 5.2.7.
Report bugs to <md+whois@linux.it>.
сначала вы должны получить исходный код "whois":
wget http://ftp.debian.org/debian/pool/main/w/whois/whois_5.2.7.tar.xz
тогда его необходимо извлечь:
tar -xf whois_5.2.7.tar.xz
теперь у вас есть каталог с исходным кодом, поэтому последний шаг-скомпилировать его с помощью "make".
Я думаю, что все это можно сделать через SSH на OpenShift.