Мне особенно нужна версия 9.1.4 --- к сожалению, здесь нет ни ifs, ни and, ни buts. Это не мое решение.

Я скачал файл .run доступный в списке SourceForge PostgreSQL, но, похоже, не могу его установить. В отличие от других файлов run , которые я видел, это двоичный файл. Каждая попытка Googling возвращает бесчисленные посты на детском форуме, которые инструктируют OP выполнить файл с помощью bash. Когда я просто пытаюсь дважды щелкнуть, он отвечает с ошибкой

Не удалось отобразить "/root/postgresql-9.1.4-1-linux-x64.run".

Итак, мне очень любопытно, что это за конкретный файл .run , но моя основная цель - установить PostgreSQL 9.1.4 на RHEL 5. Если RPM доступен , я буду любить тебя всегда; поиск в Google в течение двух часов ничего не дал.


Убедившись, что файл был исполняемым, я получаю эту ошибку (после прекрасного экрана-заставки PostgreSQL):

Ошибка при запуске /tmpprerun_checks.sh: /bin /sh: /tmp/prerun_checks.sh: /bin /sh: плохой интерпретатор: в доступе отказано [OK]

1 ответ1

2

Вы пытались запустить его из командной строки? Откройте вашу любимую терминальную программу, аутентифицируйтесь как root (если вы этого еще не сделали), затем введите следующее (# не следует вводить, это просто заполнитель для приглашения):

# cd /root
# chmod +x postgresql-9.1.4-1-linux-x64.run
# postgresql-9.1.4-1-linux-x64.run

РЕДАКТИРОВАТЬ

Вы можете погуглить ошибку для себя, но есть несколько вариантов. Одним из них является то, что /tmp может быть смонтирован как noexec . Наберите man mount и отметьте опции, чтобы перемонтировать его без этой опции. Вы также можете попробовать chown root postgresql-9.1.4-1-linux-x64.run и посмотреть, работает ли это.

Другая потенциальная проблема может быть с кодировкой файла. Если вы загрузили его в Windows, а затем скопировали в Linux, или если вы загрузили его с неправильно сконфигурированного сервера Windows, он может иметь окончания строки CR/LF вместо стандартной строки Unix только для LF. Существует утилита dos2unix которая может помочь, если файл представляет собой простой текст, но убедитесь, что вы сделали резервную копию, прежде чем пытаться сделать это, так как она может также содержать двоичные данные.


В итоге:

# mount -o remount exec /tmp
# chmod +x postgresql-9.1.4-1-linux-x64.run
# ./postgresql-9.1.4-1-linux-x64.run
# mount -o remount noexec /tmp

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .