Установка сторонних пакетов

Установка сторонних пакетов

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

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

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

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

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

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

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

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

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

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

решение1

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

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

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

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

Связанный контент