質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

yum

yumコマンドは、UNIX系OSのRPMパッケージのインストールなどを行うためのプログラムのことです。

Q&A

5回答

12169閲覧

実務においてyumを使わずに、ソースビルドされるケースはどのくらいの頻度であるのでしょうか?

kento2543

総合スコア163

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

yum

yumコマンドは、UNIX系OSのRPMパッケージのインストールなどを行うためのプログラムのことです。

1グッド

2クリップ

投稿2015/06/27 06:56

普段はサーバーサイドのエンジニアをしております。
一部、サーバーの設定をしたりはしますが、がっつり実務でサーバーの設定などはしたことがありません。

そのため、これまでほとんど、yumでインストールすることが多く、ソースビルドでインストールしたことがありませんでした。

必要性を感じなかったのですが、とある記事で、それらのメリット・デメリットを見ました。

ソースビルドの場合は
OSに依存せず最新パッケージ(あるいはダウングレード)が使えるのが便利なのかなと思ったのですが、
実務において、ソースビルドはどれくらいの頻度で使われるのでしょうか?

使用シーンなども教えて頂けるようでありましたら、是非お願いできればと思います。

宜しくお願いします。

ikuwow👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答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
ngyuki

総合スコア4514

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

開発要件でCent6.6のサーバを構築したときにはgcc系の最新版をソースビルドしましたね。
CentOSのリポジトリdehagccのバージョンが古すぎて、
並列計算用のライブラリに対応していないバージョンだったという理由で。

後はSolarisからのマイグレーション要件でも、
Solaris側のバージョンより低いパッケージは大半がソースビルド対象でした。

yumでパッケージ管理できると楽なので、できる限りrpmbuildしていますが。

投稿2015/07/10 10:51

dx033.massy

総合スコア23

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

わたしの場合は、最新版の適用頻度で決めてます。

セキュリティ(脆弱性)を気にするケースが多い場合、パッチ適用された最新版が提供されるので、yum を選択します。
アップデートをかけるだけなので保守性が良いです
※ Apache/OpenSSL/PHP/Tomcat/bash/gcc etc...

バージョン(マイナー・リビジョン)が変わると動作影響に懸念ある場合は、ソース/bin インストールを選択しています。
※ MySQL/Redis/JDK etc...

どっちとも言えない場合は、yum で導入し、
アップデートによる影響が高ければ、削除してソースインストールしています。

投稿2015/06/27 09:18

kurosawa

総合スコア780

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

postfixの環境を構築した際に、ソースビルドをした記憶があります。
私の場合は、postfixでpostfixadminを利用しようとした時に、既存モジュールでは利用できない事に気が付いてソースからインストールモジュールを作りました。
なにか特殊な事をしない限りでは、あまりソースビルドは使わないかもしれません。

投稿2015/06/27 07:12

takayukiinaba

総合スコア1158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kento2543

2015/06/27 07:51

ご回答有難う御座います。 postfixでソースビルドなさったんですね。 これを機に、postfixのインストール試してみようと思います。
guest

0

結局はYUMでインストールされるバージョンの問題だと思います。
YUMで入るバージョンが実情に(要求に)そぐわないからソースで入れるって言うだけではないでしょうか?
WEBアプリサーバとして考えた場合、ApacheやMySQLはバージョンが古いですよね。
PHPも5.3が入りますが5.3はサポートが終わってるのでレンタルサーバでも標準が5.4になっている所も多ですね。

現場が必要とするバージョンをYUMが満たしてるかどうかなので、ソースでのインストール自体は普通に行われていると思いますよ。

投稿2015/06/27 07:05

landy77

総合スコア1614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kento2543

2015/06/27 07:50

ご回答有難う御座います。 >現場が必要とするバージョンをYUMが満たしてるかどうかなので 私のサーバー周りの知識が少ないので少しわからなかったのですが、 以下のようなケースでしょうか? ・YUMでApacheやMySQLをインストールしたいときに、最新のバージョンがインストールできないというケースがあるのでしょうか? (今回でいうと、現場が必要とするバージョンが最新なのに、YUMではインストールできなかった。) ・現場が必要とするバージョンが古いバージョンを求めており、YUMではインストールできない。(あえて現場が古いバージョンをもとめることなんてあるのか、私にはわかりませんが・・・。) 何度もすみませんが、宜しくお願いします。
landy77

2015/06/29 16:26

ngyukiさんがほぼ答えを出されてますのでなぞるだけになりますが、YUMは最新バージョンを勝手に入れてくれるわけではありません。 現場次第って言う言い方があいまいになってしまうのですが、WEB関係で行くとPHPなんかはバージョンによる動作の差が大きいです。 (逆に言うとそれだけ言語としてサポートしていってるいうという言い方になりますが) ですので質問者さんが「現場が必要とするバージョンが古い」なんて事はかかわってる人数が多い(会社が多い)システムだと結構あると思いますよ。 PHPだってちょっと前までは4系のシステムがちょこちょこあったと聞きます。 (私がかかわった所には出会ったことがないので現場やネットで聞く噂程度ですが) ですからこそパッケージのバージョン管理があるのだと思います。 気にしない人はYUMでガンガン入れていき、そぐわなければソースでビルドする。 あまり悩むことではない(と言うか悩んでも仕方がない)と思います(笑
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問