1.状況
1.1機器
私のファイルシステムは次のように配置されています
/dev/sda8
323GiBのインストール/home
/dev/sda13
90GiBのインストール/home/user2/storage
元の意図は、/home/user2/storageの運命を他のすべての運命から分離することでした。どちらも論理区画です。lsblk
以下の引用。
1.2 インストール
インストール手順は/etc/fstab
次の行にエンコードされます。
UUID=[that of /dev/sda8] /home/ ext4 defaults 0 2
UUID=[that of /dev/sda13] /home/user2/storage ext4 defaults 0 2
正直、他のインストール手順の最後の行をコピーしました。また、/etc
別のパーティションにインストールしてください。mount
出力は以下に引用されています。
2. 証拠
この配列には、システムツールがディスク使用量を報告する方法にいくつかの副作用があります。
したがって、どの診断を信頼する必要があるのか、実際にどのくらいのディスク容量を信頼できるのかわかりません。
ドットコンピュータにユーザー1そしてユーザー2。
2.1 df で見た /dev/sda13(ストレージ)
df
user1またはuser2を使用して提供
df -h
出力がまったく表示されない/dev/sda13
df -ha
-
ディスク使用量のみ表示/dev/sda13
user2がログインしている場合(そしてストレージディレクトリがマウントされている場合)
sudo df -h /dev/sda13
(ストレージ)ディスプレイ同じdf -h /dev/sda8
異なるエンティティであり、使用されたサイズがストレージに使用されていなくても、(ホーム)としてのディスク使用量(300GiBなど)
その他
sudo df -h /dev/sda13
(ストレージ)は、0.5GiBの適切なディスク使用量を示しています。 user1として見ることができます。
2.2 gparted で見た /dev/sda13 (ストア)
その後、起動時にgparted
user1またはuser2としてログインしているかどうかによって、使用されるサイズが異なります。
報告された値は、user2(ストアにアクセスする必要がある)には問題ありませんが、user1(ストアでクリックしないでください)には適していません。ただし、私が誰であれ、ユーザーの立場では公正な情報が欲しいのです。良い測定のためにgpartedによって報告された値はどんなdfとも一致しません。
PS:(/dev/sda8
自宅)のレポートはあらゆる点で一貫しています。
3. 質問
私はこの一貫性のない行動の後に論理があると確信しています。
- 誰でもこれを説明できますか?
- 報告が公平になるようにこのファイルシステムの配列をきれいに実装できるという兆候はありますか?
4.1 追加情報
sudo df -h
4.2(user1,2)の出力
これはユーザー 1 の出力です。
udev 5,9G 8,0K 5,9G 1% /dev
tmpfs 1,2G 1,3M 1,2G 1% /run
/dev/sda6 48G 5,1G 41G 12% /
none 4,0K 0 4,0K 0% /sys/fs/cgroup
none 5,0M 0 5,0M 0% /run/lock
none 5,9G 380K 5,9G 1% /run/shm
none 100M 64K 100M 1% /run/user
/dev/sda9 26G 23G 1,7G 94% /opt
/dev/sda11 20G 11G 8,1G 57% /usr
/dev/sda12 2,0G 1,2G 636M 66% /boot
/dev/sda8 314G 298G 4,9G 99% /home
/dev/sda10 4,8G 2,9G 1,7G 64% /var
/home/user1/.Private 314G 298G 4,9G 99% /home/user1
user2 がログインすると、最後の行が次に置き換えられます。
/home/user2/.Private 314G 298G 4,9G 99% /home/user2
4.2 出力sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 698,7G 0 disk
├─sda1 8:1 0 100M 0 part
├─sda2 8:2 0 41,1G 0 part
├─sda3 8:3 0 1K 0 part
├─sda5 8:5 0 145G 0 part
├─sda6 8:6 0 48,6G 0 part /
├─sda7 8:7 0 2,1G 0 part
├─sda8 8:8 0 322,8G 0 part /home
├─sda9 8:9 0 22G 0 part /opt
├─sda10 8:10 0 5G 0 part /var
├─sda11 8:11 0 20G 0 part /usr
├─sda12 8:12 0 2G 0 part /boot
└─sda13 8:13 0 90G 0 part
sr0 11:0 1 1024M 0 rom
4.3 出力sudo mount
/dev/sda6 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
/dev/sda11 on /usr type ext4 (rw)
/dev/sda12 on /boot type ext4 (rw)
/dev/sda8 on /home type ext4 (rw)
/dev/sda9 on /opt type ext4 (rw)
/dev/sda10 on /var type ext4 (rw)
/dev/sda13 on /home/user2/storage type ext4 (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
rpc_pipefs on /run/rpc_pipefs type rpc_pipefs (rw)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
nfsd on /proc/fs/nfsd type nfsd (rw)
/home/user1/.Private on /home/user1 type ecryptfs (ecryptfs_check_dev_ruid,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs,ecryptfs_sig=...,ecryptfs_fnek_sig=...)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=user1)
4.4 出力sudo findmnt
TARGET SOURCE FSTYPE OPTIONS
/dev/pts devpts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
groups
4.5(user1,2)の出力
user1 adm cdrom sudo dip plugdev lpadmin sambashare common
user2 sudo common
5. レビュー
@sourcejediは有用な情報を提供します回答次のような。
user1 がログインするか user2 がログインするかは、ディレクトリの内容は常に sda8 に /home/user2/storage として保存され、user2 がログインすると sda13 にマウントされます。 Storage/に100Gが含まれていると仮定すると、100Gは常に/dev/sda8で実行され、時には/dev/sda13で実行されます。
/etc/fstab ファイルの /dev/sda13 を新しい /home/storage にマウントしてこれを発見しました。 user2としてログインしましたが、すべてのファイルがまだ/home/user2/storageの/dev/sda8にありました。したがって、ファイルをsda13パーティション内のディレクトリに移動し、推奨されるように/ home / user2内のシンボリックリンクを使用してそのディレクトリを参照しました。
df -h /dev/sda13
このようにして、sda8から100Gを確保し、ストレージサイズのuser1かuser2かについての確実なレポートを得ました。
ベストアンサー1
/etc/fstab ファイルはユーザーに関係なく実行されると思うので、パーティションは常にマウントされていると仮定します。
はい、しかしecryptfsの使用と相互作用があります。 fstabは起動時に処理されます。復号化パスワードを入力すると、ログイン時にecryptfsマウントが有効になります。/home/user1
たとえば、質問に示されているecryptfsマウントは、既存のマウントをマスクします。これは、推奨findmnt
ツールを使用してインストール階層を表示するとより明らかになります。 (mount
ただし、完全なインストールオプションのリストの出力を取得する方が簡単です。)
したがって、ユーザーのホームディレクトリの外にストレージファイルシステムをマウントする必要があります。ホームディレクトリ外のファイルはいいえ手動で行う方法がわからない場合は暗号化されます。必要に応じて、そのためのシンボリックリンクを作成できます(例ln -s /storage /home/user2/storage
:)。今設定されている方法は意味がなく、他のものも壊れる可能性があります(終了時に削除の順序が疑わしい)。
df
この質問にはコマンドの完全な出力が不足しているため、すでに分析することは困難です。df /dev/sda1
ifが配置されていない場合の使用法を示す別の極端なケースがあります。見ると、デバイスノードにアクセスしないことがわかります。マウントでディレクトリを探してから直接実行することをお勧めします。/dev
sda1
strace df /dev/sda8
statfs("/home", ...)
df -h /home
...しかし、このように過度にマウントされたファイルシステムがあると、出力がそれほど複雑になるとは思いません。 sda13の省略または結果(オプション-
によって異なります)は、過負荷状態を検出するいくつかのコードがあることを示しますが、すべての場合で動作するわけではありません。編集する:-a
df
アップストリームレポート。