Linuxでのアプリのインストールはなぜやっかい?

OKWave 2007年09月04日 13時00分

  • このエントリーをはてなブックマークに追加
Linuxでのアプリのインストールはなぜやっかい?

Linuxでアプリケーションをインストールする場合、レポジトリにある場合は、簡単にインストールできますが、ない場合は、configure、make、make installのコマンドを使ってインストールすることになりますが、途中でdependencyの関係でうまくインストールできないことがあります。

Windowsでは、簡単にインストールできるのに、Linuxでは、どうしてやっかいなのでしょうか。

また、Windowsでは”すべてのプログラム”をクリックすれば、インストールしたプログラムが表示されますが、Linuxでは、そういったものがなく、どのプログラムをインストールしたのかわからなくなってしまいます。

また、bin、etc、libといったいろいろなところに展開されるようですが、Windowsとディレクトリの考え方が違うのですか。

良回答

> 途中でdependencyの関係でうまくインストールできないことがあります。
> Windowsでは、簡単にインストールできるのに、Linuxでは、どうしてやっかいなのでしょうか。

Windows 用に書かれたプログラムの多くがシステムライブラリに対する依存関係以外持っていないか、依存関係があるライブラリなどがインストーラの中に同梱されていることが多いからです。

ただし、依存関係があるプログラムがインストーラに同梱されている場合、目には見えない問題が発生することもあります。それは、旧バージョンのライブラリがインストーラに含まれていた場合、既にインストールされている新バージョンのライブラリを知らぬ間に (インストーラはそのようなケースでも警告を出さないことが多い) 上書きしてしまうかもしれません。そうすると、動かなくなるプログラムも出てくることでしょう。

ということで、Linux (Unix) 流のやり方と Windows 流のやり方のどちらが良いとは一概には言えないということです。

> また、Windowsでは”すべてのプログラム”をクリックすれば、インス
> トールしたプログラムが表示されますが、Linuxでは、そういったものが
> なく、どのプログラムをインストールしたのかわからなくなってしまい
> ます。

rpm でインストールされているのであれば、rpm -qa で表示できますし、Solaris でしたら pkginfo で表示できます。ただし、Linux や Unix のプログラムというのはアプリケーション単位ではなくて、部品単位でパッケージングされていることが多いです。

あと、Windows のプログラム一覧はレジストリで管理されていますが、レジストリを解読するのが困難であり、ユーザが自由に操作して変更することが容易ではないことは Windows をある程度触ったことがあれば分かるかと思います。(レジストリの仕組みが悪いと言っている訳ではありません)

> また、bin、etc、libといったいろいろなところに展開されるようです
> が、 Windowsとディレクトリの考え方が違うのですか。

違います。Windows では管理者が Program Files などの指定した場所に入れることを想定していますが、Linux や Unix の場合は $(prefix)/bin、$(prefix)/lib、$(prefix)/etc などのように、ファイルの種類によって別のディレクトリにインストールされることが多いです。あと、$(prefix) を何処にするかはコンパイル時にハードコーディングすることが多いため、これによって一般ユーザでもインストールが可能など、柔軟なインストールが可能になっています。(バイナリ配布されているプログラムは、自分で $(prefix) を決められないため、柔軟性に欠けると言えます)

例えば、Well Known Port こそ使えないという制限こそあるものの、Apache などといったサーバを一般ユーザでインストールしちゃうことも可能ですよね。Windows ではライセンスの問題抜きにしてもそのようなことはできません。そもそも、一般ユーザがシステムのレジストリをいじることはできないでしょうから。

回答

>Windowsでは、簡単にインストールできるのに、Linuxでは、どうしてやっかいなのでしょうか。

「使っているLinuxOSでパッケージが用意されている」=「使っているWindowsOS用のEXEファイルが、インストーラーやアーカイブファイルで用意されている」ということです。

用意されている場合は、ご自分で
>レポジトリにある場合は、簡単にインストールできます
とお書きの通り、Linuxでも簡単です。

>ない場合は、configure、make、make installのコマンドを使ってインストールすることになりますが、

これは、Windowsで言うとたとえば、Windows98用のexeファイルしか公開されていないので、そのソフトのソースプログラムをダウンロードして自分でコンパイルすることに相当します。これはWindowsでも簡単ではないし、Windows98用のプログラムだとWindowsXPでは動かないかもしれません。

>Linuxでは、そういったものがなく、どのプログラムをインストールしたのかわからなくなってしまいます。

お使いのパッケージ管理システムに一覧表示の機能があるはずです。
ソースプログラムからコンパイルした場合にはその一覧には載りませんが、これはWindowsでも同じです。

Windowsとの違いは、Linux系OSの種類が、Windowsの種類に比べ、多いと言うことでしょうか。そのため、アプリケーションをパッケージ化する人のパワーが、そのアプリケーションをバージョンアップする人のパワーに追いつかないので、パッケージ化されていないアプリケーション(EXEが用意されていないアプリケーション)を使うケースが多くなります。

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

  • このエントリーをはてなブックマークに追加

この記事を読んだ方に

関連キーワード
OS

連載

CIO
ITアナリストが知る日本企業の「ITの盲点」
シェアリングエコノミーの衝撃
デジタル“失敗学”
コンサルティング現場のカラクリ
Rethink Internet:インターネット再考
インシデントをもたらすヒューマンエラー
トランザクションの今昔物語
エリック松永のデジタルIQ道場
研究現場から見たAI
Fintechの正体
米ZDNet編集長Larryの独り言
大木豊成「仕事で使うアップルのトリセツ」
山本雅史「ハードから読み解くITトレンド放談」
田中克己「展望2020年のIT企業」
松岡功「一言もの申す」
松岡功「今週の明言」
内山悟志「IT部門はどこに向かうのか」
林 雅之「デジタル未来からの手紙」
谷川耕一「エンプラITならこれは知っとけ」
大河原克行「エンプラ徒然」
内製化とユーザー体験の関係
「プロジェクトマネジメント」の解き方
ITは「ひみつ道具」の夢を見る
セキュリティ
エンドポイントセキュリティの4つの「基礎」
企業セキュリティの歩き方
サイバーセキュリティ未来考
ネットワークセキュリティの要諦
セキュリティの論点
スペシャル
エンタープライズAIの隆盛
インシュアテックで変わる保険業界
顧客は勝手に育たない--MAツール導入の心得
「ひとり情シス」の本当のところ
ざっくり解決!SNS担当者お悩み相談室
生産性向上に効くビジネスITツール最前線
ざっくりわかるSNSマーケティング入門
課題解決のためのUI/UX
誰もが開発者になる時代 ~業務システム開発の現場を行く~
「Windows 10」法人導入の手引き
ソフトウェア開発パラダイムの進化
エンタープライズトレンド
10の事情
座談会@ZDNet
Dr.津田のクラウドトップガン対談
Gartner Symposium
IBM World of Watson
de:code
Sapphire Now
VMworld
Microsoft WPC
Microsoft Connect()
HPE Discover
Oracle OpenWorld
Dell Technologies World
AWS re:Invent
AWS Summit
PTC LiveWorx
吉田行男「より賢く活用するためのOSS最新動向」
古賀政純「Dockerがもたらすビジネス変革」
中国ビジネス四方山話
ベトナムでビジネス
日本株展望
企業決算
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]