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

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

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

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

Linux

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

UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Q&A

解決済

2回答

8154閲覧

yum install ? make ?

EzrealTrueshot

総合スコア388

CentOS

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

Linux

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

UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

0グッド

2クリップ

投稿2014/08/21 03:00

お世話になっております。
Linux初心者のEzです。

yum install と make の違いをご教授頂きたく質問させて頂きます。

何かソフトをインストールするときは
$ yum install ~~~
を頻繁につかっております。

ですが、時折

$ ./configure $ make $ make install
この形式をみます。

これらの違いをわかりやすく例えるとするならば、Windowsでいう所の
インストーラー付ソフト(拡張子が主に.exe)
インストーラなし(拡張子が主にzipとか)
みたいな感じでしょうか?

インストーラー付きソフトでは依存関係も見てくれますし・・・(Windowsでいう.NETがなければ持ってきてくれるとか、インストール先もC\ProgramFileと大体固定されていますし。)

また、アンインストールについてもご教授ください。

例えば、
yum remove mysql-server
とすると、mysql-serverに関係する依存関係をもったソフトまでも一気にけされてしまいますよね?
依存関係を意識せずに純粋に対象のソフトだけをアンインストールさせることは出来るのでしょうか?

最後に、yum(install)で入れたソフトはyum(remove)で消せばいいと思うのですが
makeで入れたソフトはどうやって消せる(アンインストールできる)のでしょうか?

linuxに詳しい方いらっしゃいましたらお教え頂けないでしょうか?

よろしくお願い致します。

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

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

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

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

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

guest

回答2

0

これらの違いをわかりやすく例えるとするならば、Windowsでいう所の
インストーラー付ソフト(拡張子が主に.exe)
インストーラなし(拡張子が主にzipとか)
みたいな感じでしょうか?

zipにc言語のソースファイルがいっぱいあって、
そこから自分でexeを作るような感じでしょうか。
ちょっと例えが難しいです。

yumやapt-getのインストールは既にコンパイルされたものをインストールします。
makeのインストールはソースをコンパイルしてからインストールします。
これだけ言うとyumとかの方が優秀に聞こえますが、
makeはどのようにコンパイルするか自分で決めてインストールできるので、
無駄な機能のない比較的軽量な(あるいは色んな機能詰め込んだちょっとでかい)パッケージを作れます。
ただコンパイルしなきゃいけないんで入れるパッケージとPCのスペックによっては死ぬほど待たされます。

一般的なLinuxディストリビューションは前者のコンパイル済みのものからインストールするパッケージ管理ですが、
GentooLinuxやFreeBSD(Linuxじゃないですが)には後者のソースからインストールするパッケージ管理があります。

アンインストールですが、
基本的に「make uninstall」で出来ますが、
Makefileの作り方によっては出来ないので、
インストール前に「make -n install」してどこにインストールされるか調べた方が良いと思います。

投稿2014/08/21 03:37

kinme

総合スコア843

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

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

EzrealTrueshot

2014/08/21 03:43

回答ありがとうございます! そうなんです・・・コンパイルしてパッケージを作成する。この響きを聞きたかったのです! 同僚はよく、パッケージを作成しているのですが、自分は全くできません! 何かSPECファイル?がどうのこうのとか聞こえてくることがあります。 一度、自分のオリジナルパッケージを作ってみれば色々と覚えると思うのですが;; パッケージ作成に関しておすすめなサイト等ございましたら教えて頂けないでしょうか? 自分で調べているのですが、前提知識ありきのサイトばっかりで敷居が高いです・・・ (nginxを最近いじっているので、自分のオリジナルnginxパッケージなるものを作ってみたい?でも、恩恵はなんだろ?)
guest

0

ベストアンサー

著名なOSSアプリケーションはまず公式サイトからバイナリ、ソース(config、Makefile含む)形式でリリースされ、その後各ディストリビューションに認知されてパッケージ化されるのが通常の流れです。(お書きのように個人でパッケージ化されるケースもあるようですね)

必要なアプリがパッケージ化(yumなどでインストール可能)されていない場合は、ソースをダウンロードしてmake、インストールする必要が有ります。この際、OS起動・終了と連動させる場合は、
initdなどのプロセス制御に準拠したシェルを作成し、配置する必要が有ります。
パッケージ化されたアプリであれば、特にシェルの作成は必要無くyumの実行だけで済みます。
プロセスの起動・終了や自動起動は用意されたコマンド(service,chkconfigなど)で可能です。
また、パッケージ化されていればupdateの際も半自動で可能ですね。

makeはパッケージ化前の開発環境に近い(ソース編集できる)状態のインストール手段となり配置後の各種設定が必要、yumはディストリビューションがパッケージ化(ソース編集不可)した状態のインストール手段で配置後の設定が簡易化されています。

yumパッケージ化参考サイト

パッケージを自作するメリットは、開発後の実機リリースの際の各種設定が自動化出来ることでしょうか。更新のスクリプトなども書けますし、開発者以外がインストールする場合や複数ノードへの配布には効率が良いかも知れません。
実行ファイルをリリースするだけで済むのであれば、あまりメリット無いかも知れません。

投稿2014/08/21 04:42

BlueMoon

総合スコア1339

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

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

EzrealTrueshot

2014/08/21 04:47

うっわ。 このサイトすごい・・・ ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問