web-dev-qa-db-ja.com

Unixシステムのドライブの概念は何ですか?

Windowsには、すべてのソフトウェアがインストールされているCドライブと、その他のパーティションがあります。データを保存するためのD、Eなど。何らかの理由でWindowsを再インストールすると、すべてがCに再度インストールされ、データが安全に保たれ、問題なくアクセスできるようになります。

現在、UnixタイプのOSでは、各ユーザーにホームディレクトリが与えられ(Windowsにもそのようなものがあると思います)、システムのその部分にのみデータを配置できます(これが私が思うことです)。では、誰かがWindowsの効果を得るにはどうすればよいでしょうか。ハードドライブの特定の部分で、ユーザーは自分のデータを配置し、Unix/Linuxシステムを再インストールするときに、そのデータを再利用できます。

4
itsaboutcode

UNIX/Linuxには、物理​​ドライブを表すさまざまなデバイスがあります。たとえば、Linuxでは次のようになります。

/dev/sda  -  Would designate SCSI drive with ID of 0 or lately more commonly ID:0 on SATA.
/dev/sdb  -  Would be secondary device, etc

Linuxをインストールすると、インストール先が尋ねられます。OSドライブとして/dev/sdaを指定でき、/dev/sdbの場所として/homeを指定できます。あなたはそれを選択します。

OSドライブ上に、swap/boot/ファイルシステム用のパーティションを作成します。これにより、基本的に/dev/sda1, 2, 3のようなデバイスが作成されます。デバイスとそれらはディレクトリの形でOSにアクセスできるようになります。

したがって、この設定では、選択した文字指定に関係なく、/dev/sdaはWindowsでC:\ドライブに相当し、/dev/sdbはデータドライブに相当します。

したがって、Linuxを再インストールすることを選択した場合、注意する必要があるのは、実際には/dev/sdbまたはLinuxに設定したパーティションを再フォーマットせず、そのドライバーにあるデータがそのまま残るようにすることです。

これで、システムにドライブが1つしかない場合にも同様の概念を適用できますが、これはWindowsでもサポートされているが、最も一般的には使用されていない概念よりも少し複雑になります。

6
Karlson

ここに何かを追加しているだけです。他の人はすでにより良い回答をしていますが、コメントに追加情報を収めることができませんでした。

あなたはわずかな(非常に一般的であるとしても)誤解の下で活動しているため、人生は本来よりも少し難しくなっています。

「ドライブC:」は本質的にCP/Mの用語です(CP/Mは8ビットのオペレーティングシステムであり、DOSが多かったのですが、借用から)。フロッピーの時代には、「ドライブ」と「ファイルシステム」は同等でした。ドライブが1つのファイルシステムを備えたフロッピーディスクを保持していたか、フォーマットされていない(または空である)かのどちらかでした。リンクを作成し、2つは同義語であると考えるのは簡単です。

実際、C:は、最初のドライブで最初に読み取り可能なパーティションです。ドライブD:E:F:などは、同じディスクドライブまたは他のドライブ上の他のファイルシステムです。特別なソフトウェア(例:FORMATFDISK)で対処できるリムーバブルデバイスには例外があります。

生のドライブはDOSで直接ユーザーに公開されておらず、この伝統は今日も残っています。特別なソフトウェアを使用している物理ドライブのみが表示されます(または、DVDドライブなどのリムーバブルデバイスの場合)。

このドライブ文字→パーティションパラダイムは、「フォレスト」データ構造として機能します。各文字は、グループ内の1つの個別のツリーです。これはどのように見えるかです:

  • ドライブ128(最初のハードドライブ—見えない)
    • パーティション1、C:
    • C:\*の下のファイルとフォルダ
    • パーティション2、D:
    • D:\*の下のファイルとフォルダ
  • ドライブ129(2番目のハードドライブ—これも非表示)
    • パーティション3、E:
    • E:\*の下のファイルとフォルダ
  • ドライブ2(ある種のリムーバブルメディアドライブ)
    • ドライブ文字F:
    • (フォーマットされたメディアがドライブにある場合)F:\*の下のファイルとフォルダー

Unixファイリングシステムは単一のツリーとして動作します。 1つのパーティションはツリーのルート(したがって用語)であり、他のパーティションはその下の「マウントポイント」にマウント(接ぎ木)され、同じファイリングツリーの一部になります。これは、それがどのように見えるかを簡略化したビューです(単一のルートに注意してください)。

  • ルートファイルシステム(/
    • 共有のもの(/usr
    • ローカルのもの(/usr/local
    • ユーザーのホームディレクトリ(/usr
    • よりローカルなもの(/var
    • さらに多くのローカルなもの(/opt
    • マウントされたデバイス(/mnt —これは通常、リムーバブルデバイスが移動する場所です)

あなたの質問に答えるために:Unixは常にプログラムとデータを分離します(そうする必要はありませんが、経験はそれが非常に良いアイデアであることを示しており、今ではディレクトリ構造が標準化されています)。また、(ネットワーク経由でインストールを共有するコンピューターの場合)ネットワーク-共有プログラムとデータ(/usrの下)とコンピューター*-ローカル*プログラムとデータ(/usr/localの下)を分離します。 、/var/optなど)、およびserプログラムとデータ(多くの場合、/homeの下)。

区別を無視するか、これらのディレクトリの一部(またはすべて)を別々のファイルシステムに配置するかを選択できます(「ドライブ文字」を考えてください)。

Unixを再インストールして独自のファイルを保持できるようにする場合は、/homeが別のファイルシステム(別のパーティション)としてマウントされていることを確認し、インストール中にそのパーティションに触れないように新しいOSインストーラーに指示します。

また、同じトリックを使用して、同じコンピューター上のLinuxの複数のディストリビューションでホームディレクトリを利用できるようにしたり(たとえば、テストしている場合)、まったく異なるユニスを使用したりします。私はかつてOpenBSD、FreeBSD、Linuxを同じディスクで実行し、同じ/homeファイルシステムを3つすべてで共有していました。

5
Alexios

UNIXでは、すべてのファイルが単一の階層の下に表示されます。ボリューム(ディスクまたはパーティション)上のファイルにアクセスできるようにするために、ボリュームはファイル階層内の場所、つまりディレクトリにマウントされます。

オペレーティングシステム(または少なくともその重要な部分)を含むファイルシステムは、ルートディレクトリであるディレクトリ/にマウントされます。このファイルシステムは、ルートファイルシステムと呼ばれます。

ユーザーデータを別のボリュームに保存することはかなり一般的です。このボリュームは/homeにマウントされています。この構成が必要な場合は、システムをインストールするときに別の/homeパーティションを要求してください(ほとんどのインストーラーはこれを簡単にします)。

異なる設計選択の歴史的な理由は、UNIXが固定ディスクとマルチユーザーシステムを念頭に置いて設計されたのに対し、Windowsはフロッピーディスクのみのコンピューターで実行されるDOS(およびそれ以前のCP/M)からこの側面を継承したためです。 UNIXシステムでのディスクの追加または削除、またはデータの移動は、システム管理者によって実行されました。ディスク構成を変更すると、ファイルへのアクセスパスが変更された場合は苦痛でした。フロッピーのみのシステムでは、ファイルがどのドライブにあるかを知ることが重要だったので、a:myfile.txtのようなパスは理にかなっています。

参照 Linuxにデバイスをマウントするとはどういう意味ですか? および 一般的なLinuxシステムにはどのマウントポイントが存在しますか?

すぐに:

「マウント」の概念: http://fosswire.com/post/2007/04/unix-fundamentals-mount-points/

Linuxディレクトリ(またはフォルダ)の構造: http://www.thegeekstuff.com/2010/09/linux-file-system-structure/

他の誰かがもっと良くて詳細な答えを思い付くと確信していますが、それはいくつかの助けになるかもしれません。

より具体的に質問に答えるには、Linuxシステムをインストールするときに、追加のパーティションを作成して/homeフォルダーにマウントすることをお勧めします。そうすれば、誰かが/homeフォルダー(またはそのサブフォルダーのいずれかに)に何かを書き込むと、その追加のパーティションに保存されます。

Linuxへようこそ!

1
BorrajaX