Как я могу повторно заказать LD_LIBRARY_PATH?

Как я могу сделать повторный заказ LD_LIBRARY_PATH?

Редактировать:

Я заинтересован в LD_LIBRARY_PATH, потому что у меня есть эта проблема:

Я не могу обновить, обновить и удалить свое приложение из kubuntu

и одна из ошибок связана с libreadline.so, но, как я объясняю здесь: https://dba.stackexchange.com/questions/31143/libreadline-so-6 это важно для postgresql.

В комментарии Фил сказал мне:

Вероятно, вы можете исправить это, переставив LD_LIBRARY_PATH так, чтобы / usr / local / lib / находился> в конце, а не в начале.

1 ответ

Решение

Чтобы расширить эту идею в комментарии Игнасио Васкеса-Абрамса: было бы полезно узнать, как устанавливается текущее значение этой переменной среды (в том порядке, который вам не нравится), чтобы изменить его.

Если вы не знаете, как это установить, запустите:

grep LD_LIBRARY_PATH= ~/.* /etc/*

Это будет смотреть на все точечные файлы в вашем домашнем каталоге и все файлы верхнего уровня в /etc, Вы получите сообщения с отказом в разрешении из запроса, но это нормально, они не будут использоваться в местах, где вообще есть сценарий, который запускается и устанавливает LD_LIBRARY_PATH, (Таким образом, вам не нужно запускать эту команду запроса как root.)

Если вы получаете только сообщения об отказе в разрешении, то ничего не найдено. Если у вас также есть строки с именем файла, двоеточием и содержимым файла, то было обнаружено, что это может быть то, где он устанавливается. Это также не может быть.

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

Если это не удается...

Если вы все еще не можете найти его, вы можете попробовать установить переменную самостоятельно. Увидеть:

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

Если вы попробуете это, и оно либо ничего не сделает, либо вы обнаружите, что оно содержит текст, который вы ему дали, с другим текстом до или после него (или с некоторым до и некоторым после), то по крайней мере это даст вам информацию о том, когда он установлен, по сравнению с тем, когда он устанавливается любым выбранным вами методом.

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

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

Этот ответ относится и к другим переменным среды.

Но для некоторых переменных, таких как PATHЕсть несколько мест, которые почти всегда устанавливают его, поэтому подобную проблему, возможно, будет легче решить.

Другие вопросы по тегам