Почему пользователям приходится компилировать исходный код для установки приложения в Linux?

Спасибо, @DevilaN, что указали мне на этот ответ на аналогичную проблему ! Это направило меня на правильный путь. Вот еще немного информации для тех, кто приземляется здесь за помощью.

«Отсутствующий соус» был сигналом SIGTERM, который предотвращает зависание моего ssh-клиента и вместо этого указывает, что он должен закрыться. Это делается с помощью этого сообщения:

Connection to 192.168.0.99 closed by remote host.
Connection to 192.168.0.99 closed.

SIGTERM — это уведомление о расторжении. Чтобы отправить его, необходимо установить более гибкий менеджер входа в систему поверх ванильной системы, с которой поставляется Jessie Lite. Он устанавливается с пакетом systemd-logind, которым, в свою очередь, можно управлять с помощью loginctl. systemd-logindиспользуется для реагирования на аппаратные переключатели в спящий режим, может позволить другим приложениям прерывать процесс выключения и помогает в многопользовательских -пользовательских сеансах, включая подключенные пользователем сервисы. Нетрудно понять, почему дистрибутив Linux с пользовательским интерфейсом, такой как Raspbian Jessie, решил использовать его.

Также необходим dbus, который используется для рассылки сообщений, например, для обработки сообщения SIGTERM, и помогает при входе в систему на уровне сеанса для нескольких пользователей.

Как указано в другом ответе, один вкладыш для включения этого дружественного сообщения при завершении работы:

sudo apt-get install libpam-systemd dbus

Если кто может дополнить (или поправить! )любая из этой информации, пожалуйста!

-2
04.05.2018, 19:14
2 ответа

Как ответил @ivanivan, очень немногие дистрибутивы требуют компиляции из исходного кода (, и Gentoo автоматизирует этот процесс. )Традиционно основной причиной предпочтения исходного кода была крайняя разница во вкусе Unix и архитектуре, которая существовала между системами Unix (System V против BSD или MIPS против Intel в качестве примера ), но Самая большая причина, по которой мне приходилось компилировать с нуля, — это когда программа, которую я хочу установить, не включена в репозиторий или есть патч, чтобы что-то исправить или добавить определенную функцию.

Даже если программы нет в репозитории, часто есть .debили .rpmпакеты, которые можно загрузить и установить в большинстве дистрибутивов:вот пример для Java. Затем дистрибутив выполнит тяжелую работу по отслеживанию зависимостей (и обновлению их при необходимости. )Основное различие между установкой этих пакетов в Linux и Windows заключается в том, что программа установки, как правило, отделена от пакета в Linux и функционально самостоятельна -в Windows (, даже если они используют систему установки Windows; Установщики MSI напрямую используют установщик Windows.)

0
28.01.2020, 05:15

Кто сказал, что это необходимо? Хорошо, я скажу вам, что это требуется для нескольких дистрибутивов, в основном для Linux From Scratch и Gentoo.

Но в 98% случаев я могу получить то, что хочу, либо через мои репозитории дистрибутивов и менеджер пакетов, либо из стороннего репозитория (, например, команда webupd8te для Java и т. д.)

В качестве бонуса -вы можете скомпилировать и настроить целевую архитектуру (, т. е. инструкции i686 vs i486 ), или включить ИЛИ удалить определенные параметры. Или, возможно, вы хотите, чтобы ваша собственная версия чего-то делала что-то особенное, поэтому вы берете исходный код, вносите некоторые изменения, компилируете и устанавливаете.

3
28.01.2020, 05:15

Теги

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