普段はサーバーサイドのエンジニアをしております。
一部、サーバーの設定をしたりはしますが、がっつり実務でサーバーの設定などはしたことがありません。
そのため、これまでほとんど、yumでインストールすることが多く、ソースビルドでインストールしたことがありませんでした。
必要性を感じなかったのですが、とある記事で、それらのメリット・デメリットを見ました。
ソースビルドの場合は
OSに依存せず最新パッケージ(あるいはダウングレード)が使えるのが便利なのかなと思ったのですが、
実務において、ソースビルドはどれくらいの頻度で使われるのでしょうか?
使用シーンなども教えて頂けるようでありましたら、是非お願いできればと思います。
宜しくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
RHEL/CentOS の公式のリポジトリから提供されるパッケージのバージョンは、RHEL/CentOS のメジャーバージョンが変わらない限りバージョンアップされません。そのため、基本的に古いバージョンしか入りません。例えば、RHEL/CentOS 6 だと PHP のバージョンは 5.3.3 とかです。
なお、PHP 5.3 系のライフサイクルは既に終了しており、5.3 系で脆弱性が発見されたとしても放置されます。が、それはあくまでも PHP の公式のリリースが、であって、RHEL/CentOS 6 の PHP 5.3.3 が脆弱性満載で放置されるという意味ではありません。RedHat が PHP の公式リリースを元に、脆弱性に関する修正を PHP 5.3.3 にバックポートしてリリースしています。なので、yum で RHEL/CentOS 6 の公式リポジトリからインストールしておけば、PHP 5.3.3 を、安全なまま RHEL/CentOS 6 のライフサイクルの終了まで使い続けられます(2020-11-30)。
一方、ソースからビルドした場合、脆弱性への対応は基本的にバージョンアップによって行います。バージョンアップによって後方互換性が失われるのであれば、アプリケーションの改修も必要です。その代わり、最新版の優れた機能を利用することができるというメリットがあります。
もし、アプリケーションが、とても保守的で改修を余りしないのであれば、公式リポジトリから yum でインストールするのが良いと思います。
もし、アプリケーションが、頻繁に改修されてデプロイされ続けるのであれば、ソースからビルドして最新版を使うほうが良いかもしれません(少なくとも、アプリケーション開発者のモチベーションは上がります)。
構築するシステムの性質によるところが多く、一概にどちらが良いとも言えないと思います。
※例としてPHPを上げましたが他の言語でも概ね同じと思われます
投稿2015/06/27 10:41
編集2015/06/27 10:42総合スコア4514
0
開発要件でCent6.6のサーバを構築したときにはgcc系の最新版をソースビルドしましたね。
CentOSのリポジトリdehagccのバージョンが古すぎて、
並列計算用のライブラリに対応していないバージョンだったという理由で。
後はSolarisからのマイグレーション要件でも、
Solaris側のバージョンより低いパッケージは大半がソースビルド対象でした。
yumでパッケージ管理できると楽なので、できる限りrpmbuildしていますが。
投稿2015/07/10 10:51
総合スコア23
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
わたしの場合は、最新版の適用頻度で決めてます。
セキュリティ(脆弱性)を気にするケースが多い場合、パッチ適用された最新版が提供されるので、yum を選択します。
アップデートをかけるだけなので保守性が良いです
※ Apache/OpenSSL/PHP/Tomcat/bash/gcc etc...
バージョン(マイナー・リビジョン)が変わると動作影響に懸念ある場合は、ソース/bin インストールを選択しています。
※ MySQL/Redis/JDK etc...
どっちとも言えない場合は、yum で導入し、
アップデートによる影響が高ければ、削除してソースインストールしています。
投稿2015/06/27 09:18
総合スコア780
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
postfixの環境を構築した際に、ソースビルドをした記憶があります。
私の場合は、postfixでpostfixadminを利用しようとした時に、既存モジュールでは利用できない事に気が付いてソースからインストールモジュールを作りました。
なにか特殊な事をしない限りでは、あまりソースビルドは使わないかもしれません。
投稿2015/06/27 07:12
総合スコア1158
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
結局はYUMでインストールされるバージョンの問題だと思います。
YUMで入るバージョンが実情に(要求に)そぐわないからソースで入れるって言うだけではないでしょうか?
WEBアプリサーバとして考えた場合、ApacheやMySQLはバージョンが古いですよね。
PHPも5.3が入りますが5.3はサポートが終わってるのでレンタルサーバでも標準が5.4になっている所も多ですね。
現場が必要とするバージョンをYUMが満たしてるかどうかなので、ソースでのインストール自体は普通に行われていると思いますよ。
投稿2015/06/27 07:05
総合スコア1614
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/06/27 07:50
2015/06/29 16:26
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。