Linuxでアプリケーションをインストールする場合、レポジトリにある場合は、簡単にインストールできますが、ない場合は、configure、make、make installのコマンドを使ってインストールすることになりますが、途中でdependencyの関係でうまくインストールできないことがあります。Windowsでは、簡単にインストールできるのに、Linuxでは、どうしてやっかいなのでしょうか。
また、Windowsでは”すべてのプログラム”をクリックすれば、インストールしたプログラムが表示されますが、Linuxでは、そういったものがなく、どのプログラムをインストールしたのかわからなくなってしまいます。また、bin、etc、libといったいろいろなところに展開されるようですが、Windowsとディレクトリの考え方が違うのですか。
No.6ベストアンサー
- 回答日時:
> 途中で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 ではライセンスの問題抜きにしてもそのようなことはできません。そもそも、一般ユーザがシステムのレジストリをいじることはできないでしょうから。
No.7
- 回答日時:
>configure、make、make installのコマンドを使ってインストールすることになりますが
このコマンドの意味わかっていますか?
ソースからコンパイルしてインストールしているのですよ。
ソースからインストールしようとするとWindowsの方が大変です。
(まずコンパイラから揃えなくちゃいけませんからね。)
余談:configure一発でコンパイル環境が整うとは,Linuxもメジャーになったものです(笑)
No.5
- 回答日時:
ANo3.補足
>Windowsでは”すべてのプログラム”をクリックすれば、
>インストールしたプログラムが表示されますが
全ては表示されません。
相当数の隠しコマンドが存在します。
Regedit.exeなどはその中でも有名になった代表格
どんな隠しコマンドが有るか探索してみるのも好奇心
を満たすのに良いかもしれませんが、普通の人はそこ
までしない人が多いのでHDD容量を圧迫する以外の役目
を果たしていないのが大多数です。
No.4
- 回答日時:
>Windowsでは、簡単にインストールできるのに、Linuxでは、どうしてやっかいなのでしょうか。
「使っているLinuxOSでパッケージが用意されている」=「使っているWindowsOS用のEXEファイルが、インストーラーやアーカイブファイルで用意されている」ということです。
用意されている場合は、ご自分で
>レポジトリにある場合は、簡単にインストールできます
とお書きの通り、Linuxでも簡単です。
>ない場合は、configure、make、make installのコマンドを使ってインストールすることになりますが、
これは、Windowsで言うとたとえば、Windows98用のexeファイルしか公開されていないので、そのソフトのソースプログラムをダウンロードして自分でコンパイルすることに相当します。これはWindowsでも簡単ではないし、Windows98用のプログラムだとWindowsXPでは動かないかもしれません。
>Linuxでは、そういったものがなく、どのプログラムをインストールしたのかわからなくなってしまいます。
お使いのパッケージ管理システムに一覧表示の機能があるはずです。
ソースプログラムからコンパイルした場合にはその一覧には載りませんが、これはWindowsでも同じです。
Windowsとの違いは、Linux系OSの種類が、Windowsの種類に比べ、多いと言うことでしょうか。そのため、アプリケーションをパッケージ化する人のパワーが、そのアプリケーションをバージョンアップする人のパワーに追いつかないので、パッケージ化されていないアプリケーション(EXEが用意されていないアプリケーション)を使うケースが多くなります。
No.3
- 回答日時:
>Windowsとディレクトリの考え方が違うのですか。
Linuxの元となったUNIXの方が古くからあるので Windows
の方が考え方が違うと言えます。
#同じにすると真似したのが、すぐにばれるから....
#他にもUNIXを真似している個所が多数有り。
(ちなみにWindowsではディレクトリとは呼ばずフォルダ
と言い換えて真似じゃないよと主張しています。)
>Windowsでは”すべてのプログラム”をクリックすれば、
>インストールしたプログラムが表示されますが
Windowsでもフリーソフトの中には、インストールしても
メニューに表示されないものがあるはずですが?
Linuxは、いわばフリーソフトの集合体ともいえる物です。
その為、ソフトの作者の中にはメニューへの組込みまで
行っていない人もいます。
それというのも良く知られている GNOMEやKDE以外にも
数多くのデスクトップ環境が存在していて、それら全て
に対応する事は事実上不可能だからです。
そしてソフト・ハード共に異なった多くの環境状態でも
ソフトウエアの移植をよりし易くする為に行われている
のがソース互換によるプログラムの移植です。
>configure、make、make installのコマンドを使って
>インストール
Windowsではインストーラやソフトが OS対応になって
いない場合、インストール及び実行が不可能という事を
意味しますが、Linuxでは不具合個所を修正さえすれば
インストールが可能になります。
動かないからと諦めて、新しいソフトを高い金を払って
購入するか、勉強した結果でソフトを動かす事を選ぶか
は本人次第です。
#同じ様な事を他の人が経験して、対策を見つけている
#場合も多いので、全てを自力で解決する必要は無い
#はずです。
早速のご回答ありがとうございます。アプリがインストールできないと、レポジトリに多くのアプリが収録されているディストリビューションに走ってしまいますが、これからは、諦めずにトライしてみます。
No.1
- 回答日時:
ファイルや設定をエディタでいじることを楽しむ人間のために作られたOSだからです。
Windowsでは初期状態で不可視、設定はWinが勝手に行うことになっているような細かい項目もすべてユーザーがいじれる、いじらなければ使えない状態になっています。
スキルや長時間の勉強がなければ使えない、脱落者も多くいます。
でも、だからこそLinuxをマスターしたときの喜びは大きいのです。
迷路やパズルのようなものです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux Ubuntuのアプリ版?が起動しません 1 2022/04/29 16:56
- UNIX・Linux Linux上でWindowsインストール用にパーティションをNFTSにフォーマットすればインストール 1 2023/04/15 11:22
- 中古パソコン 富士通 ESPRIMO B532/G のBIOSが表示されない 3 2023/01/03 16:42
- その他(OS) Windowsの古いゲーム(32bit OSの時代のもの)を、 現行のWin11機でプレイしたい。 4 2023/08/01 08:22
- CPU・メモリ・マザーボード マザーボードM5A99FX PRO R2.0にCentOS7,Fedora32,Debian11等を 2 2023/05/24 05:08
- UNIX・Linux ASUS UEFI BIOS バージョン 0507 x64 のマザーボードを使ってますが、このマザボ 1 2023/05/18 21:13
- UNIX・Linux fessカスタマイズ 1 2022/09/27 17:29
- PostgreSQL PostgreSQL14.6のSSL対応について 1 2023/01/05 15:42
- Windows 10 Windows PC 「スタート」の表示 1 2022/05/14 14:27
- Windows 10 windows11 update の「更新の再開」について初歩的な質問なのですが 1 2022/10/19 00:57
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Macの手書き漢字入力ツールにつ...
-
Vine Linux でのjava plig-inの...
-
aptでインストールしたプログラ...
-
【VMWare】LinuxにVMWare Tool...
-
今から始めるならどのLINUX?
-
OSなしの新品のPCを買いました。
-
ipodlinuxはWindowsやLinuxでは...
-
Digital Performer 5.0が、Mac ...
-
Mac OS10.3.9で作動するGoogle ...
-
RedHat(vmware上)でビープ音...
-
GarageBand JamPackのループを...
-
xamppをほかのハードディスクに...
-
ubuntuでのアプリのインストー...
-
OSのバージョンアップについて
-
管理者の権限がありません。
-
zfsの速度について
-
WindowsへCentOSのDVDドライブ...
-
windows installer 4.5 アンイ...
-
クリーンインストール
-
インストーラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ソフトのインストール場所って...
-
aptでインストールしたプログラ...
-
Macの手書き漢字入力ツールにつ...
-
CSHが使えない REDHAT
-
OS インストール場所確認
-
mac os 10.6の入ったMac mini ...
-
アプリケーションをインストー...
-
InstallShield って何?
-
illustratorを日本語仕様にする...
-
ソースコードからインストール...
-
Xserverを停止したいが、gdmが...
-
CentOSでゴミ箱が使いたい
-
iTunesがインストールできませ...
-
rshについて
-
CygwinをインストールしたけどX...
-
SolarisでJDKのインストール情...
-
libintlの入手方法を教えてくだ...
-
BootCamp環境を外付けHDDに入れ...
-
アプリケーションをインストー...
-
Linuxの勉強項目
おすすめ情報