web-dev-qa-db-ja.com

USBスティックにホームディレクトリを保持する正しい方法は何ですか?

私は明らかなことをしようとしていますが、他の誰もやっていないようです。ホームディレクトリを暗号化されたUSBドライブに保持し、Vanilla UbuntuインストールのVanillaホームディレクトリの「上」でプラグインおよびアンプラグドします。

動作します。私の現在のワークフロー:

  1. ログイン画面で、新しいTTYに対してctrl+alt+f2を実行します。 rootとしてログインします(これを許可するためにrootパスワードを設定します)。暗号化されたボリュームを/home/meにマウントします
  2. TTY7に戻り、私としてログインし、正しくマウントされた家から仕事をする
  3. ログイン画面にログアウトし、ctrl+alt+f2ターミナルに戻り、rootとしてログインして/home/meをアンマウントします

しかし、ステップ3で、ホームディレクトリをアンマウントしようとすると、Device busyを取得し、lsofを実行すると、それを使用する数百のプロセスが明らかになります。これは、ログイン画面に「ログアウト」したときにUbuntuがログアウトしないためと思われます。そのため、最初にアンマウントするのではなく、直接シャットダウンするだけです。あまりきれいではないようです。

注:grub configを変更してシェルプロンプトを起動すると、マシンが使用できなくなるハードウェアの問題があります。とにかく、それはUbuntuのやり方ではないと思われます。

しかし、これを行うにはより良い方法が必要です。アイデア?

5
Sqerstet

セットアップ

最初に、ホームディレクトリをマウントしてコピーするためにこれを行うことができます。
ドライブのマウント:mount -o uid=user /dev/sdbx /temphomedir
ファイルのコピー:mount --bind /temphomedir /home/user
これは、/dev/sdbxがUSBドライブであり、/home/userがホームディレクトリであることを前提としています。

注意

注:ドライブをマウントする前に、/home/userディレクトリが空であることを確認してください。

起動スクリプトを追加する

この質問 に従って、コマンドcrontab -eを使用してcronを編集し、次の行@reboot /mount.shを追加できます。完了したら、mount.shスクリプトを作成する必要があります。 Sudo nano /mount.shと入力することでそれを行うことができます。これにより、nanoテキストエディターが開きます。その後、次のことを過ぎます。

#!/bin/bash
mount --bind /dev/sdbx /home/user

これにより、コンピュータを起動するたびにUSBがホームディレクトリにマウントされます。 /dev/sdbxおよび/home/userが正しいことを確認してから、CTR + Xを入力してnanoを保存して終了します。
コンピューターを再起動すると、このが機能するはずです。私は実際にはこれをテストしていないので、うまくいかないかもしれないことに注意してください。

お役に立てれば!

1
zoecarver