より具体的には、ホームアカウントのユーザーフォルダーに、より多くのスペースを持つ別のディスクを持たせたいが、ssdには他の小さなアカウントを保持したい。ユーザーフォルダーを別のディスクにコピーできましたが、ssdのホームフォルダーにリンクする必要があります。通常のブートからアクセスできるようにします。一番いいのは、答えが欲しいだけです。/home/usernameから/ extra-home/usernameへのリンクを作成し、ユーザーフォルダーを読み込むときにシステムによって認識されるリンクを作成するにはどうすればよいですか?
許可は同じにする必要があることに注意してください。シンボリックリンクに加えて、最近のディストリビューションとファイルシステムでは、rootとしてbind-mountを使用することもできます。
mkdir /home/username mount --bind --verbose /extra-home/username /home/username
これは、シンボリックリンク(Apache、ftpdなど)のパスを回避するように設定されているデーモンを介して、/ homeディレクトリからサブディレクトリへのアクセスを許可するのに役立ちます。
もちろん、再起動時にバインドするには、覚えておく必要があります(またはinitスクリプト)。
this スーパーユーザーに関する質問によると、これは可能です。
次を使用してシンボリックリンクを作成できます。
ln -s /extra-home/username /home/username
何らかの理由で機能しない場合は、シンボリックリンクを削除し、ディレクトリを元に戻し、コンピューターを再起動します。
私はこれを試してみます:
ルートシェル(例:Sudo -i
)で別のユーザーとしてログインしながら、/home/username
の内容を/extra-home/username
にコピーし、新しい場所がusername
によって所有されていることを確認します。
# cp -p /home/username /extra-home/
# chown username:username /extra-home/username
元の/home/username/
ディレクトリを安全な場所に移動します。
# mv /home/username /root/
シンボリックリンクを作成します。
# ln -s /extra-home/username /home/username
別のターミナルウィンドウを開き、su
を実行して、期待どおりに機能していることを確認します。
$ Sudo su username
少なくとも端末からすべてが正常に見える場合(/home/username/
の内容が期待どおりに表示されます)、ログアウトしてからログインし直します(Ubuntuデスクトップを使用していると想定しています)should正常に動作しています。ただし、そうでない場合は、シンボリックリンクを削除して、アーカイブされたホームフォルダーを元の場所に戻すだけです。