%20%E3%81%8C%E5%AE%9F%E8%A1%8C%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84.png)
amd64 用の wheezy/testing netinst iso を使用して、標準的な Debian インストールを実行しました。インストールが完了した後、ライブ環境で起動して、ルートを 'root' という名前の btrfs サブボリュームとしてスナップショットできるようにしました。そのために、/root ディレクトリの名前を一時的に /rootuser に変更しましたが、新しいサブボリュームで /rootuser を /root に戻すことができません。他の投稿では、/root ディレクトリの名前を変更したり移動したりしても、特に問題は発生していないようです。これは btrfs のバグでしょうか? 再現手順は次のとおりです。
btrfs (/dev/sda3、/dev/sda1=/boot (ext4)、/dev/sda2=swap) に Debian をインストールし、ライブ環境 (私の場合は Linux Mint Debian Ediiton 2012-04) で再起動してから、ターミナルから以下を実行します。
$ sudo su -
# btrfs filesystem label /dev/sda3 root
# mkdir /media/root
# mount /dev/sda3 /media/root
# cd /media/root
# mv /root /rootuser
# btrfs subvolume snapshot . root
# btrfs subvolume list . # get the subvolume id as $SUBVOLID
# btrfs subvolume set-default $SUBVOLID root
# rm -rf bin boot etc ... # everything except the root subvolume.
# mv root/rootuser root/root
結果は「許可されていません」というエラーになります。
# mkdir root/root
「すでに存在します」というメッセージが表示されます。
また、chroot 環境内から同等のものを試してみました:
# mount /dev/sda1 boot
# mount --rbind /dev dev
# mount --rbind /proc proc
# mount --rbind /sys sys
# chroot /media/root/root /bin/bash
しかし、結果は同じでした。
何か間違ったことをしているのでしょうか? 何かアドバイスがあれば助かります。そもそも /root フォルダをいじるべきではなかったことは分かっていますが、もう遅すぎます。
答え1
...
# cd /media/root
# mv /root /rootuser
おっと?! おそらく、代わりにこれをやろうとしたのでしょう:
# mv root rootuser
質問にタイプミスがないと仮定すると、それがおそらく後で/media/root/root
既に存在していることがわかる理由です。邪魔にならないように移動しなかったのです!