Как я указываю который версия программы работать?

Можно просто добавить его к crontab корня: sudo crontab -e

Это будет работать как корень в указанном расписании. Посмотрите man 5 crontab для crontab формата файла.

Править

DISPLAY=:0
*/5 * * * * /path/to/your/script
1
23.07.2012, 10:12
2 ответа

Отредактируйте Ваш PATH так, чтобы /usr/pgsql-9.1/bin/ (более новый), прибывает прежде /usr/bin/.

Менее безопасная от диспетчера пакетов безопасная альтернатива должна переместиться/удалить/переименовать psql в /usr/bin/ и создайте символьную ссылку в /usr/bin/ к новому (не протестированный):

> cd /usr/bin
# move the old one however you like
> ln -s /usr/pgsql-9.1/bin/psql .
2
27.01.2020, 23:29
  • 1
    я настоятельно рекомендую не измениться /usr/bin/psql если Вы находитесь на каком-либо дистрибутиве кроме, возможно, slackware. Это будет заменено, когда обновление postgresql пакетов будет применено. Это действительно, действительно, плохая идея. Измените Ваш PATH вместо этого. –   21.07.2012, 04:29

С другой стороны, избегать символьных ссылок и стараться не изменять Ваш $PATH, Вы могли добавить свою команду к хеш-таблице:

hash -p /usr/pgsql-9.1/bin/psql psql

Это поместит Вашу команду в хеш-таблицу команды, и она будет выполняться перед любой другой командой (на самом деле, никакой поиск пути не будет выполнен).

Если Вы использовали названную команду psql прежде, затем это уже находится в хеш-таблице, и это будет первый хит при поиске команд. В этом случае удалите старую запись сначала путем ввода

hash -d psql

и затем дайте команду выше. Можно получить его в Вашем .bashrc если Вы хотите.

1
27.01.2020, 23:29

Теги

Похожие вопросы