パスワードを忘れた? アカウント作成
865235 story
Linux

Fedora 開発者、/bin や /lib、/sbin の廃止を提案 78

ストーリー by reo
何の略語かは諸説紛々 部門より

hylom 曰く、

Fedora Project において、/bin や /lib、/sbin といったディレクトリを廃止し、すべてのバイナリを /usr/bin や /usr/lib、/usr/sbin といった /usr 以下に配置することが提案されているそうだ (The H の記事より) 。

2012 年 5 月にリリースが予定されている Fedora 17 での変更を検討しているらしい。これにより、すべてのバイナリを 1 つのファイルシステム上に配置できるようになるというメリットがあるそうだ。たとえばルートファイルシステムとは別のファイルシステムを /usr 以下にマウントしている場合などに、ストレージを管理しやすくなる、といったメリットが挙げられている。/bin や /lib などは /usr/bin や /usr/lib のシンボリックリンクとして用意することで後方互換性を確保するとのこと。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by ef (25263) on 2011年11月04日 12時25分 (#2044756)
    /sbin/mount がなくて /usr がマウントできないとか無いんだろうか?
  • by saitoh (10803) on 2011年11月04日 12時28分 (#2044760)
    /sbin も/usr/sbinに移しちゃうと rootと/usrを別ファイルシステムに置くという構成が不可能になりますね。
  • by Egtra (38265) on 2011年11月04日 11時52分 (#2044734)

    そういえば、事情は違うでしょうがCygwinも似たようなことやっていますね。こっちは逆ですが。

    • /usr/binの実体は/bin。
    • /usr/libの実体は/lib。
    • by Anonymous Coward

      GNU/Hurd も同じですね
      5年前の記憶では

      # まだやってるのかな?

      • by Anonymous Coward

        GNU/Hurdってなに?OSなの?

        #って人もそろそろいるんじゃないかなぁ

  • by Anonymous Coward on 2011年11月04日 12時37分 (#2044765)

    とても不思議だったことが2つ

    その1つが、なんでプログラムごとに別フォルダ(Linuxだとディレクトリ)に入れないの?ってこと。
    だって、プログラムってどこかで1つの団体が管理しているわけじゃないのに、
    どうやって同じファイル名のプログラムが2つ以上ないってことを保障してるのさ?
    ディストリビューターによってはパッケージ管理システムでそういう不具合が起こらないようにしているのもあるだろうけど、
    野良ビルドして入れた場合、最悪別のプログラムに上書きされてしまう危険もあるだろうに。

    ちなみに、もう1つの疑問は、
    実行中のプログラムであっても終了させずに上書き更新できるってこと。

    • > 実行中のプログラムであっても終了させずに上書き更新できるってこと。

      ファイルをopenしたまま、そのファイルをrmして、そのファイルシステムのdfをとってみましょう。

      親コメント
    • by ef (25263) on 2011年11月04日 12時58分 (#2044789)

      プログラムごとに別のディレクトリにしても、結局ディレクトリ名の衝突という問題が避けられないのでは?(衝突頻度が減るとは思いますが)

      実行中のプログラムを更新できるのは、unlink(あるいはrename)したあとコピーすれば i-node は別になるからで、実行中のプログラムが終了すればリファレンスカウントが1つ減り、リファレンスカウントが0になればブロックは解放されます。

      親コメント
    • その1つが、なんでプログラムごとに別フォルダ(Linuxだとディレクトリ)に入れないの?ってこと。

      そのために/optってのがあったけど、あんまり使われてないですね。
      それぞれのディレクトリにパスを通すのが面倒だからでしょうけど。

      野良ビルドして入れた場合、最悪別のプログラムに上書きされてしまう危険もあるだろうに。

      あと野良ビルドは、パッケージシステムとは別のところに入れるんじゃない?
      自分はそうしてました。

      ちなみに、もう1つの疑問は、
      実行中のプログラムであっても終了させずに上書き更新できるってこと。

      私は逆にWindowsの仕様がとても不満でした。
      アプリ終了したはずなのにファイル・フォルダが消せないことがたまにあったり…

      親コメント
    • by Anonymous Coward
      >その1つが、なんでプログラムごとに別フォルダ(Linuxだとディレクトリ)に入れないの?ってこと。

      今度はディレクトリ名が被るでしょ。
      Windows の Program Files みたいに団体ごとにディレクトリ分けろって?それらにいちいち PATH 通すの?

      > 実行中のプログラムであっても終了させずに上書き更新できるってこと。

      inode というやつがあってだな・・・
    • by Anonymous Coward

      逆に、Openしてると消せないとか Windows 手抜きすぎだろ って思った。

      • by Stealth (5277) on 2011年11月04日 18時05分 (#2044976)

        脆弱性があるプロセスを上げっぱなしのまま更新した気になるよりマシだと思いますけど。

        ファイルを書き換えた気になっていたが、別プロセスにより mv されて別のファイルを置かれていた、なんてのも微妙ですね。

        親コメント
      • by Anonymous Coward

        手抜きかどうかは分からないけど、
        Windowsってアプリが終了してもロックがかかったままになって
        消せないファイルがときどきできて困るんですよね。

    • by Anonymous Coward

      非標準の物は /opt を使うべきかと。といっても、従ってないところが多いかもね。
      自分でコンパイルした場合は、/usr/local とかを使うんじゃないかな。

      実行中のプログラムでも終了させずに上書き更新ができるのは、ファイルシステムがそれを可能にしているから。System V 時代のファイルシステムだと、上書き更新して実行中のプログラムが落ちるとか言ったことがあったけどね。

      • > 自分でコンパイルした場合は、/usr/local とかを使うんじゃないかな。
        実際、多くのソフトでコンパイルする場合、 ./configure で、
        デフォルトの prefix が /usr/local になってると思います。
        # 特に指定しないなら、make install で /usr/local 以下にコピーされる。

        パッケージシステムは /usr/local をいじらない (と思ってる) ので、
        安心して使えますし。
        親コメント
  • by densuke (113) on 2011年11月04日 16時11分 (#2044914) 日記
    /bin,/usr/bin,/usr/local/bin、すべて/binなどに重ねてしまう。
    同様に/sbin,/usr/sbin,/usr/local/sbinも/sbinに重ねてしまう。

    そのユーザの権限で使えないコマンドは見えないようにしてしまえば、PATH変数はほとんど不要になるのかも。
    --
    -- やさいはけんこうにいちば〜ん!
  • by Anonymous Coward on 2011年11月04日 11時42分 (#2044722)

    Solaris はとうの昔にそうなってましたけど、
    なんで LFS では /bin と /usr/bin とを分けようなんて酔狂なことを考えたんでしょうね。

    • by saitoh (10803) on 2011年11月04日 12時26分 (#2044758)
      rootFSにないと困るモノは/sbinに移ったので,/bin →/usr/bin のシンボリックリンクで足りるようになったんですね。 #!/bin/shとか書いた既存シェルスクリプトが残ってるので単純に廃止はできない。

      SingleUnixSpecificationでは /binと/usr/binって分ける規格になってたっけ??

      親コメント
    • by Anonymous Coward on 2011年11月04日 12時07分 (#2044746)

      君は、minirootがフロッピーディスクのサイズに制限されていた時代のことを知らないんだね。

      親コメント
    • by Anonymous Coward

      Solaris でも、/sbin と /usr/sbin は別でしょ。
      シングルユーザモードで必要なものはルート・パーティションに存在し、
      ルート・パーティションの容量は最小限でも済むようになってる。
      もちろんルート・パーティションと /usr パーティションを同一にすることもできる。

      Fedora のやり方だと、ルート・パーティションと /usr パーティションの分離ができなく
      なり、大容量のルート・パーティションが必要になるので、Solaris とはむしろ逆ですね。
      Linuxの場合、シングル・ユーザモード用バイナリにあたるのは initrd にあり、/boot パーティション
      にあるから…ってのが理由な

  • by Anonymous Coward on 2011年11月04日 11時45分 (#2044726)

    最近は、/usrをNFSで共有するなんて、もうやらないのかもしれないですね。
    そんなことすると、パッケージのアップデートとかで不整合が起きそうですし。

  • by Anonymous Coward on 2011年11月04日 12時39分 (#2044767)

    ところで、/binや/libは名前の由来は想像できるけど、
    /usrって何?
    変更するなら、この謎の名前もどうにかした方がいいような。

    • by reo (4042) on 2011年11月04日 12時46分 (#2044775) 日記

      以前、"USeR" の略じゃなくて、User Service Routine だとか User System Roesource の略だという話題も出たのですが (NEST :: laboratory の記事 [hatena.ne.jp])、その後どうもその話は信憑性が疑わしいというお話となり、やっぱり user が usr になったんだよという説が有力っぽいです (odz buffer の記事 [hatena.ne.jp]) 。

      # 以前後輩にドヤ顔で「User System Resource の略なんだぜー」と吹聴して回った過去を恥じつつ。

      --
      Hiroki (REO) Kashiwazaki
      親コメント
      • by ef (25263) on 2011年11月04日 13時13分 (#2044805)
        太古の昔には、 /usr/dmr とかあったみたいだから、今で言う /home の様な使い方をされてたんじゃないでしょうか?
        親コメント
        • by saitoh (10803) on 2011年11月04日 15時03分 (#2044866)
          4BSDでも最初の頃は /usr/ログイン名 がホームディレクトリでした。 ちなみにUCBで開発されたツールは/usr/ucb に入ってた。 /varなんてなくて、/usr/spool, /usr/adm, /usr/tmp なんてディレクトリがあった。
          親コメント
          • by ef (25263) on 2011年11月04日 16時51分 (#2044931)

            /usr/ucbはSunOS4にもありましたね。/5binとか/usr/5binとか今考えるとSolarisへの助走だったんですね。
            disklessをプッシュし始めたあたりで、共有するか?書込するか?等でファイルシステムレイアウトを見直したようですね。

            親コメント
        • by SteppingWind (2654) on 2011年11月04日 13時24分 (#2044809)

          実際のところ/homeというディレクトリが普通になったのは, 4BSDあたりからだったように記憶しています. SystemIIIごろの解説書では/usr直下に各ユーザのホームディレクトリを掘っていましたし.

          おそらくNFSでホームディレクトリを共有するという運用が広がるようになって, /homeを別ファイルシステムにする必要が出てきたのだと思います.

          親コメント
typodupeerror

ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家

読み込み中...