Пакет Ubuntu (.deb) папка установки рекомендаций и двоичное имя

Я создаю .deb файл для исполняемой банки, которую я создал для меня. Я создал .deb и установил мою программу на /usr/bin.

Поскольку у меня есть банка, мне теперь назвали исполняемый файл /usr/bin/mylovelyprogram.jar. Я заметил, что никакие другие файлы в каталоге не имели расширение.

Теперь, я знаю, что наличие расширения или не не имеет значения, но оно действительно беспокоило меня, так как моя программа выделилась. Я задался вопросом, было ли обычно переименовать упакованный исполняемый файл jars таким образом, что у них больше нет расширения? Или, если был некоторый другой стандарт, например, помещение банки где-то в другом месте и использование символьной ссылки? Я хотел бы соответствовать существующим стандартам, если это возможно, главным образом таким образом, я не попадаю в дурные привычки, если я когда-нибудь решаю распределить свою программу.

0
задан 10.04.2011, 22:25

2 ответа

"Стандартное" местоположение Unix для локальных пакетов (вещи, которые характерны для одного компьютера и не целого монтажа сети) является/usr/local

Много дистрибутивов Linux принимают решение повредить этот стандарт и просто вывести все в/usr, или (не дай бог)/, чтобы выбрать! (Вы только ненавидите его, когда некоторое приложение решает заполнить Ваш корневой раздел, потому что это вывело себя в/, выбирают, который не существовал перед рукой? не упоминая имен, libreoffice...)

Ваш файл банки является эффективно библиотекой и должен быть в где-нибудь как/usr/local/lib/myapp/

У Вас должен быть маленький сценарий в/usr/local/bin, который называет Ваш файл банки с помощью виртуальной машины Java.

#!/bin/sh
java -jar /usr/local/lib/myapp/myjar.jar $*

И конечно необходимо быть уверены, что/usr/local/bin находится в $PATH

Это расположение мешает Вашему программному обеспечению то, чтобы быть смешанным с программным обеспечением операционной системы и также сохраняет его на разделе, который должен иметь много комнаты. Это также согласуется приятно с системами не-Linux также, на которых, поскольку это - Java, Вы полностью ожидаете, что это будет работать, да? Это после всего смысла Java, не так ли? Межплатформенный?

1
ответ дан 24.11.2019, 06:41

Другие файлы в /usr/bin несомненно не JAVA-приложения.

Ваша банка не является исполняемым файлом самостоятельно, она должна быть открыта и выполнена java исполняемый файл. Двойной щелчок по нему сделает волшебство (выполнения java -jar your.jar) в фоновом режиме.

По моему скромному мнению, Ваша банка не принадлежит /usr/bin. /opt/yourapp было бы более мудрым. Посмотрите этот вопрос здесь.

1
ответ дан 24.11.2019, 06:41

Теги

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