アカウント名:
パスワード:
とても不思議だったことが2つ
その1つが、なんでプログラムごとに別フォルダ(Linuxだとディレクトリ)に入れないの?ってこと。だって、プログラムってどこかで1つの団体が管理しているわけじゃないのに、どうやって同じファイル名のプログラムが2つ以上ないってことを保障してるのさ?ディストリビューターによってはパッケージ管理システムでそういう不具合が起こらないようにしているのもあるだろうけど、野良ビルドして入れた場合、最悪別のプログラムに上書きされてしまう危険もあるだろうに。
ちなみに、もう1つの疑問は、実行中のプログラムであっても終了させずに上書き更新できるってこと。
>その1つが、なんでプログラムごとに別フォルダ(Linuxだとディレクトリ)に入れないの?ってこと。
今度はディレクトリ名が被るでしょ。
Windows の Program Files みたいに団体ごとにディレクトリ分けろって?それらにいちいち PATH 通すの?
ディレクトリ名にはバージョン番号まで含めることで重複を回避し、PATH のために /bin 等にリンクも置くタイプのディストロはあるみたいです。http://www.gobolinux.org/ [gobolinux.org]http://www.gobolinux.org/index.php?page=at_a_glance [gobolinux.org]
全部がそうなってるのは珍しそうですが、Firefoxは多くのディストロでそんな感じになってる気がします。
$ file `which firefox`/usr/bin/firefox: symbolic link to `../lib/firefox-7.0.1/firefox.sh'
PATH通してもコマンド名が被ってたら意味ないし。
「ファイル名を大域のコマンド名に扱う」PATHっつう概念が、40年経ってとっくに破綻しているんだろうがな。
>PATH通してもコマンド名が被ってたら意味ないし。
これ、意図的に利用してる場合もあるんですよね。/usr/local/binを/usr/binよりも前に登録してシステム標準のコマンドではなく自分が入れたコマンドを優先させたりとかね。使い分けたいときはプルパス書けばできるし。
> Windows の Program Files みたいに団体ごとにディレクトリ分けろって?それらにいちいち PATH 通すの?
PATH ってゆー概念は Unix 以前からあったものだときいたことがあります。
本来の目的は一つのシステムに同じコマンドの複数のバージョン同時にインストールして使用するバージョンを選択可能にすることだったらしいです。
あるコマンドの更新版ができた場合は、旧版のコマンドを削除せずに新版用ののディレクトリに置く。
そして PATH を修正して運用に入ると。
これにより更新による弊害があらわれた場合に PATH の修正のみによって旧版が使用可能になります。
この考え方からすると「団体のディレクトリ毎に PATH を通す」というのはむしろ自然です。
# しかし、俺もこの辺の話は伝え聞いたもので# 出典がはっきりしないんだよね。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
最初のバージョンは常に打ち捨てられる。
WindowsからLinuxに移って (スコア:1)
とても不思議だったことが2つ
その1つが、なんでプログラムごとに別フォルダ(Linuxだとディレクトリ)に入れないの?ってこと。
だって、プログラムってどこかで1つの団体が管理しているわけじゃないのに、
どうやって同じファイル名のプログラムが2つ以上ないってことを保障してるのさ?
ディストリビューターによってはパッケージ管理システムでそういう不具合が起こらないようにしているのもあるだろうけど、
野良ビルドして入れた場合、最悪別のプログラムに上書きされてしまう危険もあるだろうに。
ちなみに、もう1つの疑問は、
実行中のプログラムであっても終了させずに上書き更新できるってこと。
Re:WindowsからLinuxに移って (スコア:0)
今度はディレクトリ名が被るでしょ。
Windows の Program Files みたいに団体ごとにディレクトリ分けろって?それらにいちいち PATH 通すの?
> 実行中のプログラムであっても終了させずに上書き更新できるってこと。
inode というやつがあってだな・・・
Re:WindowsからLinuxに移って (スコア:1)
>その1つが、なんでプログラムごとに別フォルダ(Linuxだとディレクトリ)に入れないの?ってこと。
今度はディレクトリ名が被るでしょ。
Windows の Program Files みたいに団体ごとにディレクトリ分けろって?それらにいちいち PATH 通すの?
ディレクトリ名にはバージョン番号まで含めることで重複を回避し、
PATH のために /bin 等にリンクも置くタイプのディストロはあるみたいです。
http://www.gobolinux.org/ [gobolinux.org]
http://www.gobolinux.org/index.php?page=at_a_glance [gobolinux.org]
Re:WindowsからLinuxに移って (スコア:1)
全部がそうなってるのは珍しそうですが、Firefoxは多くのディストロでそんな感じになってる気がします。
$ file `which firefox`
/usr/bin/firefox: symbolic link to `../lib/firefox-7.0.1/firefox.sh'
1を聞いて0を知れ!
Re: (スコア:0)
インストーラーが/usr/binにシンボリックリンクを作りますか?
と聞いてくれるのが一番ありがたいなあ
windowsでもスタートメニューやデスクトップにショートカットを作りますか?
ときいてくれるしあれと同じ感じで
Re:WindowsからLinuxに移って (スコア:1)
Windows の Program Files みたいに団体ごとにディレクトリ分けろって?それらにいちいち PATH 通すの?
PATH通してもコマンド名が被ってたら意味ないし。
「ファイル名を大域のコマンド名に扱う」PATHっつう概念が、40年経ってとっくに破綻しているんだろうがな。
Re: (スコア:0)
>PATH通してもコマンド名が被ってたら意味ないし。
これ、意図的に利用してる場合もあるんですよね。
/usr/local/binを/usr/binよりも前に登録して
システム標準のコマンドではなく
自分が入れたコマンドを優先させたりとかね。
使い分けたいときはプルパス書けばできるし。
Re: (スコア:0)
> Windows の Program Files みたいに団体ごとにディレクトリ分けろって?それらにいちいち PATH 通すの?
PATH ってゆー概念は Unix 以前からあったものだときいたことがあります。
本来の目的は一つのシステムに同じコマンドの複数のバージョン同時にインストールして
使用するバージョンを選択可能にすることだったらしいです。
あるコマンドの更新版ができた場合は、旧版のコマンドを削除せずに新版用ののディレクトリに置く。
そして PATH を修正して運用に入ると。
これにより更新による弊害があらわれた場合に PATH の修正のみによって
旧版が使用可能になります。
この考え方からすると「団体のディレクトリ毎に PATH を通す」というのはむしろ自然です。
# しかし、俺もこの辺の話は伝え聞いたもので
# 出典がはっきりしないんだよね。