Как бороться с PATH в скрипте установки для моих приложений?

Я хочу создать сценарий postinst для моего пакета приложения debian, и мне нужно изменить файл / etc / environment (добавить к нему некоторый путь), чтобы сделать содержимое каталога bin приложения доступным глобально в системе.

С моими текущими знаниями все, что я могу сейчас сделать, это:

  • удалить последний " символ в /etc/environment (сейчас я не знаю, как это сделать в bash, может быть, я попробую это: как я могу удалить последний символ файла в unix? )
  • добавить :
  • добавьте /usr/some/directory/bin (мой /usr/some/directory/bin приложения) в этот файл
  • добавить "

Есть ли более простой способ добавить какой-либо путь к переменным среды постоянно и глобально?

Фон:

Я работаю над несколькими пакетами для автоматизации процесса установки / развертывания, у меня есть несколько вещей, таких как Java, скрипты bash, драйверы и некоторые инструментальные приложения c / c ++ для развертывания на многих устройствах.

Путь не обязательно определяется в /etc/environment , и даже если это так, нет гарантии, что путь в конечном итоге будет тем, который используют конечные пользователи.

В пакете Debian, чтобы сделать команды доступными вообще, вы должны установить их в каталог, который, как ожидается, будет находиться по пути, обычно /usr/bin . Если вы не можете переместить туда свои двоичные файлы, хорошо бы добавить сценарии-оболочки в /usr/bin которые знают, где найти «настоящие» команды.

Для Java вы не должны пытаться упаковать вещи самостоятельно; используйте java-package для упаковки пакетов Oracle JDK и JRE или пакетов OpenJDK, уже доступных в Debian. См. Установка JDK в FHS-совместимом способе и Способы настройки альтернативных установок Oracle JDK в Ubuntu? для деталей.