Я использую Ubuntu, и установка пакетов через репозитории проста, APT делает все за вас, но иногда мне нужно что-то устанавливать через Интернет.

В 99% случаев эти пакеты являются тарболлами. Все, что я прочитал, говорит мне запустить configure, затем make, затем make install для сборки после того, как я распаковал архив либо с помощью менеджера архивов, либо с помощью самой команды tar.

Однако все, что я скачал до сих пор, не имеет сценария настройки, написанного для него. Или, по крайней мере, так кажется.

Например, я только что загрузил JRE с веб-сайта Java в надежде, что смогу использовать плагин для браузера. Но инструкции по загрузке охватывают только распаковку файлов и создание символической ссылки, чтобы вы могли получить доступ к плагину.

Итак, теперь у меня есть этот гигантский файл в каталоге /opt. Вот содержание этого:

Мне кажется, что bin, lib и т.д. Должны находиться в разных каталогах. Это правда или нет?

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

Нужно ли мне просто делать ссылки на соответствующий файл в папке на рабочем столе, если я хочу иконку?

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

РЕДАКТИРОВАТЬ: Я знаю, что JRE доступна в репозиториях, но это иллюстрирует проблему, поэтому, пожалуйста, посмотрите на общий вопрос, а не только часть о JRE.

1 ответ1

1

Полезно понимать, когда вы используете простой tar-архив и когда вы компилируете (и что все делает)

Сценарий конфигурирования предназначен для программного обеспечения, которое вы компилируете, и может иметь опции компиляции, включающие дополнительные библиотеки или опцию выбора префикса. Это также гарантирует, что у вас есть все, что вам нужно для фактической компиляции скрипта, и генерирует make-файл. make использует make-файл для компиляции программы. Традиционно make install копирует скомпилированную программу и связанные файлы в нужное место, но я использую checkinstall, которая создает deb и устанавливает его. Это также позволяет вам делиться библиотеками и другими полезными вещами. 'Deb' или 'RPM' - это просто программное обеспечение, скомпилированное для определенного дистрибутива и версии с разумным набором настроек и знаниями, которые вы можете автоматически использовать в необходимых общих библиотеках и зависимостях.

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

Хотя HFS является своего рода обязательным для unix-лайков, не все это уважают. Я подозреваю, что в этом конкретном случае этот стиль упаковки позволяет легко использовать относительные пути к файлам, устанавливать различные версии java, используя префикс JAVA_HOME и тому подобное. Это полностью намеренно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .