mount
何度も使用すると、Linuxコマンドがどのように機能するかについて質問があります。
不幸な一連のイベント(Ubuntuで多くの衝突)が発生した後、私は単にデータをバックアップして再起動することにしました。したがって、起動可能なUSBで起動した後、これまでに外部ディスクとバックアップしたい2つのパーティションのうちの最初のパーティションをマウントしました。ところで、何か変な点を見つけました。少し難しいことに、次のコマンドラインを使用して両方のドライブをマウントできることがわかりました。
sudo mount /dev/sdxx /mnt
「xx」を正しい文字と数字に置き換えてください。まず、バックアップしたいパーティションをマウントし、そのドライブのホームディレクトリ(バックアップする必要があるディレクトリ)に移動しました。その後、2番目のターミナルウィンドウを開き、外部ディスクをマウントしました。私はいつも/mnt
コマンドラインの最後にあるビットがドライブをマウントするディレクトリをコンピュータに知らせると信じていました。これは/mnt
、そのディレクトリに外部ディスクの内容のみがある理由を説明します。ただし、最初のターミナルウィンドウと/mnt/home/user/
2番目のウィンドウによっては、パス()がもう存在しなくても、私がインストールした最初のドライブに移動し続けることができます。
- 最初のターミナルウィンドウに存在しないように見えるディレクトリに移動できるのはなぜですか?
また、バックアップが必要なすべてのエントリを含むディレクトリの最初の端末で実行される単純なzipコマンドを使用して、外部ドライブにファイルをバックアップし始めましたzip -r9 /mnt/backup.zip *
。よく進んでいるようです。 2番目の端末/mnt
では、外部ディスクディレクトリに部分的なzipファイルが成長しているようです。
- これがどの時点でも間違っていると思う理由はありますか?それともこれは完全に論理的な行動ですか?
答え1
質問1
~からインストールマニュアルページ:
説明する
Unixシステムからアクセスできるすべてのファイルは、/にルートを持つファイル階層である大きなツリーに配置されます。これらのファイルは複数のデバイスに展開できます。 mountコマンドは、デバイスで見つかったファイルシステムを大きなファイルツリーに接続するために使用されます。代わりに、umount(8)コマンドはそれを再び分離します。
したがって、ツリーのトランクまたはルートを/
ルートファイルシステムと呼びます。ご存知のように、Linuxでは、より大きなディスクをより小さなブロックにマウントできます。ディレクトリを保存するには、次を選択する必要があります。
より小さなチャンクを選択してください。例:
sudo mkdir -v /mnt/home-backup sudo mount -v /dev/sdX/home/username /mnt/home-backup
使用
--bind option
sudo mkdir -v /mnt/entire-usb sudo mount -v /dev/sdX /mnt/entire-usb sudo mkdir -v /mnt/home-backup sudo mount --bind /mnt/entire-usb/home/username /mnt/home-backup
バインドマウントが混乱しているように見えるかもしれませんが、そうではありません。これは、同じファイルシステムの特定の部分を両方の場所に書き込むことができるようにするために使用されるため、1つの場所で行われた更新は両方の場所に反映されます...上記の例では、最初の2行からインストールされます。 Got the full USB まあ、ディスク全体をバックアップする必要があると思いました。私の間違いを認識し、binded
ディスク全体の小さなサブセットを新しいマウントポイントに追加しました。
sudo umount /dev/sdX
オプション1を使用して再インストールする方が使いやすいです。
質問2
再インストール中に再作成されるため、バックアップしたくないいくつかのディレクトリがあります。つまり、/sys
/dev
/usr
と/etc
。また、可能なので、/tmp
zipファイルで/root
使用することは、*
一部の人々にとって悪い考えと見なされます。あなたが必要とする:
- 再起動し、上記のオプション1を使用して各ディレクトリをマウントし、各ディレクトリに別々のzipファイルを使用します。
- 新しいことを学び、
tar
代わりに使用してくださいzip
。 Tarには対応する-X
オプションが含まれています。
考慮する:
$ cat exclude.lst
/usr
/dev
/sys
#Other Directories to exclude
tar -cvzf /mnt/backup.tar.gz /path/to/mount/point/ -X exclude.lst