Package-Management

從原始碼建構工具/庫有什麼優勢?

  • March 18, 2011

通過從原始碼建構,您可以獲得任何好處嗎?程式碼是否更適合您的硬體架構?總體上是否優化得更好?

為什麼有人會選擇從原始碼建構而不是使用像 APT/yum 這樣的包管理系統?如果有某種優化收益什麼時候超過包管理系統的好處?

從原始碼建構提供了以下選項,這些選項在使用二進制包管理器的版本時不可用。

從原始碼編譯允許您:

  • 使用特定於處理器的優化
  • 使用最新版本
  • 了解編譯和連結的工作原理(來自@mattdm 的建議)
  • 修復錯誤,開發工作
  • 設置編譯時選項(例如在 vim 中包含 X 特性)

我最近做了這件事。

我在 Slackware 11.0 linux 系統上從原始碼編譯了 openssl-1.0.something。我想修補密碼登錄的東西,在登錄失敗時暫停 7 秒,以緩和那些煩人的中文 ssh 密碼猜測者。

我在同一個 Slackware 11.0 系統上編譯了 Apache httpd 2.2.17,因為它帶有 Apache 2.0.something,我想使用另一個系統的 2.2.x httpd.conf。

想想看,我還為同一個系統編譯了 Alpine 2.0(電子郵件客戶端,pine 後續)。為什麼選擇 Slackware 11.0?它執行在大約 2003 年配備英特爾“Brookdale”顯卡的機器上,而任何後來的 Slackware 都不支持記錄不善的英特爾顯卡。

在另一台機器上,我從 github 上提取了 TI ACX111 無線晶片支持並編譯了一個新的驅動程序,允許我使用 9 美元的無線網卡。

我還習慣性地重新編譯 Linux 核心,使它們特定於它們執行的機器。

所以在我的情況下,這是定制、硬體支持和“僅僅因為”的各種原因。

鑑於我們對統一人群中流行病學的了解(http://www.usenix.org/publications/login/2005-12/openpdfs/geer.pdf)為什麼不是每個人都在自己的系統上從原始碼編譯,無論他們選擇的編譯時選項?這將使人們對病毒和蠕蟲具有更強的抵抗力。

引用自:https://unix.stackexchange.com/questions/9306