Лучше ли компиляция из исходного кода или для установки из пакета .deb?

«Боковое примечание» на самом деле проблема: Brother предоставляет только 32-битные драйверы, они не работают, как в 64-разрядных дистрибутивах.

Драйверы должны работать после установки этих пакетов вместо из-за недостающих предложений, предложенных Братом:

sudo apt-get install lib32z1 lib32ncurses5 lib32stdc++6

(На самом деле они не все могут понадобиться, пожалуйста, кто-то проверит их отдельно и соответствующим образом отредактируйте этот ответ.)

14
задан 8 February 2012 в 08:05

11 ответов

Преимущество компиляции из исходного кода заключается в том, что вы можете скомпилировать пакеты с определенными флагами / параметрами, которые могут отсутствовать / отключены в стандартных пакетах Ubuntu. Кроме того, он упрощает установку нескольких версий одной и той же программы. Кроме того, вы можете выбрать точную версию пакета, который уже может быть удален из репозиториев Ubuntu или еще не представлен (например: у меня есть несколько версий Python 2.4.x в каталоге / opt /, так как мне нужно, чтобы он запускал несколько старых программное обеспечение).

Недостатком компиляции из исходного кода является то, что, если вы не создаете .deb и не устанавливаете его, нормальная процедура «./configure; make; sudo make install» не позволяет диспетчеру пакетов Ubuntu полностью не знать изменений, которые вы делаете, поэтому вы не собираетесь получать обновления для скомпилированного вручную программного обеспечения; и возможно, что диспетчер пакетов позже переопределит / разорвет ваш пакет, если вы не будете осторожны, чтобы установить его в отдельном месте.

Вкратце: всегда рекомендуется сначала установить из стандартных хранилищ Ubuntu, затем рассмотреть возможность установки .deb; только компилировать из источников, если вы точно знаете, зачем вам это нужно.

19
ответ дан 25 May 2018 в 14:29
  • 1
    Я также прочитал, что производительность пакета может отличаться, когда она скомпилирована, лучше сочетается с текущим ядром. Это не сравнило его лично. – Fedir RYKHTIK 2 July 2012 в 19:42
  • 2
    @Fedir: Я не уверен, что ядро ​​имеет к этому какое-то отношение, это скорее процессорная архитектура - например, в старые времена многие дистрибутивы содержали пакеты, скомпилированные с набором команд 80386 для максимальной совместимости, в то время как ручная компиляция программы для Pentium позволяла бы ее для использования более эффективных инструкций. По этой причине существуют целые дистрибутивы, такие как Gentoo, которые скомпилированы из источника на главной машине. Разница, однако, обычно минимальна и может быть замечена только в очень специфических приложениях. – Sergey 3 July 2012 в 01:59
  • 3
    Обратите внимание, что использование checkinstall вместо make install устраняет многие упомянутые недостатки. См. help.ubuntu.com/community/CompilingEasyHowTo – ndemou 12 June 2016 в 18:40
  • 4
    Извините за nitpicking, @EliahKagan, но, в то время как virtualenv является удивительным, он больше подходит для поддержки нескольких сред Python с установленными разными libs. Если вам нужна определенная версия Python, возможно, скомпилированная с определенными настройками - вам все равно нужно установить фактический двоичный файл - либо из .deb, либо скомпилированный с нуля. – Sergey 4 August 2017 в 02:14
  • 5
    @Sergey Ты прав. (И я не вижу ничего, что вы сказали как nitpickiing - если что-нибудь, я должен извиниться за свой неправильный и вводящий в заблуждение комментарий!) Насколько я понимаю, такие менеджеры пакетов, как conda , будут автоматически [d1 ] создавать виртуальные среды и устанавливать для них разные установки Python , создавая и поддерживая версии для каждого проекта. Но, как вы говорите, virtualenv сам не сделает этого. – Eliah Kagan 4 August 2017 в 02:37

Преимущество компиляции из источника заключается в том, что вы можете скомпилировать пакеты с определенными флагами / параметрами, которые могут отсутствовать / отключены в стандартных пакетах Ubuntu. Кроме того, он упрощает установку нескольких версий одной и той же программы. Кроме того, вы можете выбрать точную версию пакета, который уже может быть удален из репозиториев Ubuntu или еще не представлен (например: у меня есть несколько версий Python 2.4.x в каталоге / opt /, так как мне нужно, чтобы он запускал несколько старых программное обеспечение).

Недостатком компиляции из исходного кода является то, что, если вы не создаете .deb и не устанавливаете его, нормальная процедура «./configure; make; sudo make install» удерживает диспетчер пакетов Ubuntu полностью не осознавая изменений, которые вы делаете, поэтому вы не собираетесь получать обновления для скомпилированного вручную программного обеспечения; и возможно, что диспетчер пакетов позже переопределит / разорвет ваш пакет, если вы не будете осторожны, чтобы установить его в отдельном месте.

Вкратце: всегда рекомендуется сначала установить из стандартных хранилищ Ubuntu, затем рассмотреть возможность установки .deb; только компилировать из источников, если вы точно знаете, зачем вам это нужно.

19
ответ дан 31 July 2018 в 10:43

Преимущество компиляции из источника заключается в том, что вы можете скомпилировать пакеты с определенными флагами / параметрами, которые могут отсутствовать / отключены в стандартных пакетах Ubuntu. Кроме того, он упрощает установку нескольких версий одной и той же программы. Кроме того, вы можете выбрать точную версию пакета, который уже может быть удален из репозиториев Ubuntu или еще не представлен (например: у меня есть несколько версий Python 2.4.x в каталоге / opt /, так как мне нужно, чтобы он запускал несколько старых программное обеспечение).

Недостатком компиляции из исходного кода является то, что, если вы не создаете .deb и не устанавливаете его, нормальная процедура «./configure; make; sudo make install» удерживает диспетчер пакетов Ubuntu полностью не осознавая изменений, которые вы делаете, поэтому вы не собираетесь получать обновления для скомпилированного вручную программного обеспечения; и возможно, что диспетчер пакетов позже переопределит / разорвет ваш пакет, если вы не будете осторожны, чтобы установить его в отдельном месте.

Вкратце: всегда рекомендуется сначала установить из стандартных хранилищ Ubuntu, затем рассмотреть возможность установки .deb; только компилировать из источников, если вы точно знаете, зачем вам это нужно.

19
ответ дан 31 July 2018 в 11:47

Преимущество компиляции из источника заключается в том, что вы можете скомпилировать пакеты с определенными флагами / параметрами, которые могут отсутствовать / отключены в стандартных пакетах Ubuntu. Кроме того, он упрощает установку нескольких версий одной и той же программы. Кроме того, вы можете выбрать точную версию пакета, который уже может быть удален из репозиториев Ubuntu или еще не представлен (например: у меня есть несколько версий Python 2.4.x в каталоге / opt /, так как мне нужно, чтобы он запускал несколько старых программное обеспечение).

Недостатком компиляции из исходного кода является то, что, если вы не создаете .deb и не устанавливаете его, нормальная процедура «./configure; make; sudo make install» удерживает диспетчер пакетов Ubuntu полностью не осознавая изменений, которые вы делаете, поэтому вы не собираетесь получать обновления для скомпилированного вручную программного обеспечения; и возможно, что диспетчер пакетов позже переопределит / разорвет ваш пакет, если вы не будете осторожны, чтобы установить его в отдельном месте.

Вкратце: всегда рекомендуется сначала установить из стандартных хранилищ Ubuntu, затем рассмотреть возможность установки .deb; только компилировать из источников, если вы точно знаете, зачем вам это нужно.

19
ответ дан 2 August 2018 в 01:58

Преимущество компиляции из источника заключается в том, что вы можете скомпилировать пакеты с определенными флагами / параметрами, которые могут отсутствовать / отключены в стандартных пакетах Ubuntu. Кроме того, он упрощает установку нескольких версий одной и той же программы. Кроме того, вы можете выбрать точную версию пакета, который уже может быть удален из репозиториев Ubuntu или еще не представлен (например: у меня есть несколько версий Python 2.4.x в каталоге / opt /, так как мне нужно, чтобы он запускал несколько старых программное обеспечение).

Недостатком компиляции из исходного кода является то, что, если вы не создаете .deb и не устанавливаете его, нормальная процедура «./configure; make; sudo make install» удерживает диспетчер пакетов Ubuntu полностью не осознавая изменений, которые вы делаете, поэтому вы не собираетесь получать обновления для скомпилированного вручную программного обеспечения; и возможно, что диспетчер пакетов позже переопределит / разорвет ваш пакет, если вы не будете осторожны, чтобы установить его в отдельном месте.

Вкратце: всегда рекомендуется сначала установить из стандартных хранилищ Ubuntu, затем рассмотреть возможность установки .deb; только компилировать из источников, если вы точно знаете, зачем вам это нужно.

19
ответ дан 4 August 2018 в 17:36

Преимущество компиляции из источника заключается в том, что вы можете скомпилировать пакеты с определенными флагами / параметрами, которые могут отсутствовать / отключены в стандартных пакетах Ubuntu. Кроме того, он упрощает установку нескольких версий одной и той же программы. Кроме того, вы можете выбрать точную версию пакета, который уже может быть удален из репозиториев Ubuntu или еще не представлен (например: у меня есть несколько версий Python 2.4.x в каталоге / opt /, так как мне нужно, чтобы он запускал несколько старых программное обеспечение).

Недостатком компиляции из исходного кода является то, что, если вы не создаете .deb и не устанавливаете его, нормальная процедура «./configure; make; sudo make install» удерживает диспетчер пакетов Ubuntu полностью не осознавая изменений, которые вы делаете, поэтому вы не собираетесь получать обновления для скомпилированного вручную программного обеспечения; и возможно, что диспетчер пакетов позже переопределит / разорвет ваш пакет, если вы не будете осторожны, чтобы установить его в отдельном месте.

Вкратце: всегда рекомендуется сначала установить из стандартных хранилищ Ubuntu, затем рассмотреть возможность установки .deb; только компилировать из источников, если вы точно знаете, зачем вам это нужно.

19
ответ дан 7 August 2018 в 19:44

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

1
ответ дан 25 May 2018 в 14:29

Конечно, гораздо проще установить .deb, хотя, если можно, лучше всего найти его в репо или ppa, чтобы вам могли быть предоставлены обновления.

AFAIK нет реальную выгоду для ее компиляции, если вы не планируете сначала ее изменить. Если вы просто хотите, чтобы программное обеспечение было как есть, тогда установите .deb

0
ответ дан 25 May 2018 в 14:29

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

1
ответ дан 2 August 2018 в 01:58

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

1
ответ дан 4 August 2018 в 17:36

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

1
ответ дан 10 August 2018 в 08:09

Другие вопросы по тегам:

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