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

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

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

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

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

Фон:

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

    One Solution collect form web for “Как бороться с PATH в скрипте установки для моих приложений?”

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

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

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

    Interesting Posts

    Как я могу с двумя загрузками FreeBSD и PC-BSD – с GRUB2 в MBR?

    diff -horizon-lines = строки объяснены

    Неизвестные записи sendmail в файле журнала

    Как удалить все символические ссылки со специальной целью?

    Как повреждение памяти обрабатывается Linux при завершении процесса?

    Как заставить rsync перезаписывать архивные файлы только для чтения?

    Как отладить правило udev (в /etc/udev/rules.d/…)

    Произведите вывод команды команды rm

    Я уничтожил таблицу разделов с помощью gparted, есть ли способ восстановить мой раздел?

    Докер с аудио в режиме реального времени / с низкой задержкой? (для виртуальных усилителей, таких как Guitarix …)

    номера поиска vim, содержащие определенное количество цифр

    Apache + mod_fcgid + chroot с mod_security. CentOS / RHEL 6

    debootstrap: неизвестный пользователь 'root' в файле переопределения состояния

    Logitech MX-510: некоторые дополнительные кнопки недоступны

    Как заставить службу /etc/xdg/autostart/app.desktop ждать службы (systemd)?

    Linux и Unix - лучшая ОС в мире.