На этот вопрос нет простого ответа, но я могу дать вам общее представление о том, как это работает:
Большая часть программного обеспечения для Linux предоставляется авторами («апстрим») в виде исходного кода. Это позволяет каждому, у кого есть компилятор для конкретной платформы и конфигурации системы, загрузить исходный код и скомпилировать его самостоятельно. К сожалению для вас, многие программы полагаются на функции, предоставляемые другими программами и библиотеками программного обеспечения (зависимости).
Программное обеспечение Windows обычно поставляется в предварительно скомпилированном виде. Это означает, что существует один общий исполняемый файл для всех компьютеров Windows, и зависимости часто поставляются с ним в пакете установки.
Дистрибутивы Linux берут исходный код, предварительно скомпилируют его для вас и предлагают также в виде пакета. Пакет не включает в себя зависимости, но он ссылается на них и вынуждает систему пакета также устанавливать их (что иногда может привести к ошибкам, которые вы, вероятно, уже испытали).
Если нет предварительно скомпилированного пакета, вы всегда можете скачать исходный код и скомпилировать его самостоятельно. В большинстве случаев будет работать следующее:
./configure
make
(sudo) make install (or sudo checkinstall)
Строка ./configure устанавливает этап для процесса компиляции (и выдает ошибки, если зависимости не встречаются). Линия make выполнит Makefile, скрипт, который компилирует все части программы.
Традиционно вы должны использовать make install для установки программного обеспечения. Обычно это помещает исполняемые файлы в / usr / local / bin.
Поскольку вы используете apt, я очень рекомендую установить checkinstall. Вы можете использовать его вместо make install, и он создаст для вас пакет .deb. Это значительно упрощает последующее удаление программного обеспечения.
Обратите внимание, что есть несколько других систем компиляции, например, cmake; и некоторое программное обеспечение поставляется предварительно скомпилированным, но не распакованным (в этом случае вы можете запустить его прямо из разархивированной папки); а некоторые программы поставляются как набор скриптов, которые вы должны запускать самостоятельно. Свежий код из SVN иногда поставляется без скриптов настройки, поэтому сначала нужно запустить набор инструментов autoconf ... и т. Д., И т. Д. ... вы видите, что существует множество исключений из правила, но с небольшим опытом вы сможете расскажите, что делать с большинством этих загадочных загрузок. Configure-Make-Checkinstall - это хороший первый старт.
PS. Проведите выходные или два, чтобы научиться программировать себя, и все станет очень очевидно :-)
PPS. Вы можете удивиться, почему авторы программного обеспечения для Linux не предоставляют предварительно скомпилированные пакеты вместо исходного кода. Ну, они иногда делают. Но разные платформы и дистрибутивы Linux имеют свои собственные форматы пакетов и правила файловой системы, так что, как разработчик, вы должны будете предоставлять пакеты для каждой возможной конфигурации, что является проблемой. Пакеты Ubuntu часто проще всего найти - вы должны узнать, что такое PPA и как он работает!