![由于主目录安装不当而导致“隐藏的、多余的数据”](https://linux22.com/image/1007639/%E7%94%B1%E4%BA%8E%E4%B8%BB%E7%9B%AE%E5%BD%95%E5%AE%89%E8%A3%85%E4%B8%8D%E5%BD%93%E8%80%8C%E5%AF%BC%E8%87%B4%E2%80%9C%E9%9A%90%E8%97%8F%E7%9A%84%E3%80%81%E5%A4%9A%E4%BD%99%E7%9A%84%E6%95%B0%E6%8D%AE%E2%80%9D.png)
发生了什么:
我的 DELL XPS13 上的 500GB 硬盘空间很快就用完了 - 尽管我尽了最大努力清理系统(见下文),但这个问题每隔几个月就会出现一次。我猜我的主目录可能没有正确安装,导致硬盘上占用了额外的空间,而我有时无法看到这些空间,具体取决于所使用的工具。
在安全启动中重新启动使我能够看到多余的数据。因为这台电脑从一开始就发生了这种情况,所以我将完全重新安装我的 Ubuntu(Ubuntu 由 DELL 预装)...
帖子的第二版
似乎我遇到了一个比我想象中更多的问题(下面的初始帖子)...
我有一个 500GB 可用的 SSD 硬盘。
df -h
告诉我我正在使用主目录中 500 个文件(加密)中的 327GB 相关输出:
Filesystem Size Used Avail Use% Mounted on
/home/gugy/.Private 435G 327G 87G 80% /home/gugy
但是 nautilus 告诉我,我的 home/gugy 目录中只使用了 224.6 GB。
有谁知道我在 Nautilus 中看不到的那 100GB 到哪里去了,如何让这两个工具同意/删除那 100GB(我不知道它们是什么)?
我跑了
apt-get clean
apt-get update
apt-get upgrade
apt-get dist-upgrade
到处节省几 GB,但找不到罪魁祸首 :/
更多信息 baobab 告诉我 /home 和 /home/gugy 目录使用了 244 GB(不是每个目录,而是两个级别)
ls -lsha /home/
total 36K
4.0K drwxr-xr-x 4 root root 4.0K Mar 21 2017 .
4.0K drwxr-xr-x 25 root root 4.0K May 9 08:55 ..
4.0K drwxr-xr-x 3 root root 4.0K Mar 21 2017 .ecryptfs
24K drwx------ 70 gugy gugy 20K May 9 11:00 gugy
帖子的第一个版本
我的 Ubuntu 16.04 上有一个加密的主目录,内置的 SSD 硬盘总共有 500 GB 可用空间。我的空间耗尽速度比预期的要快(已使用 466.7 GB,全部在 /home 中,但当我检查 /home/USER 目录时,它只有 224.6 GB),现在我终于弄清楚了问题出在哪里:ncdu(版本 1.11)显示我的 /home 目录的输出如下:
--- /home ----------------------------------------------------------------------
. 227.4 GiB [##########] /.ecryptfs
. 227.4 GiB [######### ] /USER
我现在非常想删除一些东西,我的数据都备份了,但我不知道该怎么做。我想保持我的主目录加密,但我不想在不了解这种情况是如何发生的情况下就删除东西。没有正确卸载加密的主目录是否以某种方式导致了这种情况(我不知道这是怎么发生的……)?我有一个虚拟机,上面有窗口,客户机和主机之间有共享文件夹,这会导致这样的问题吗?任何提示、暗示、想法、建议都非常欢迎。
更多信息:根据评论要求:
df -h
Filesystem Size Used Avail Use% Mounted on
udev 7.8G 0 7.8G 0% /dev
tmpfs 1.6G 26M 1.6G 2% /run
/dev/nvme0n1p3 435G 327G 87G 80% /
tmpfs 7.8G 65M 7.8G 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/loop2 87M 87M 0 100% /snap/core/4407
/dev/loop1 87M 87M 0 100% /snap/core/4571
/dev/loop0 87M 87M 0 100% /snap/core/4486
/dev/loop3 60M 60M 0 100% /snap/notes/4
/dev/nvme0n1p1 496M 28M 469M 6% /boot/efi
tmpfs 1.6G 100K 1.6G 1% /run/user/1001
/home/gugy/.Private 435G 327G 87G 80% /home/gugy
tmpfs 1.6G 0 1.6G 0% /run/user/0
PS:gugy 是我的用户......
输出
du -h /home/
打印页数过多
答案1
加密不会使磁盘使用量翻倍,删除加密也无济于事。某些磁盘使用情况应用程序会错误或令人困惑地报告加密数据,查看实际使用情况的最佳方式是:
DF-H
答案2
在 Linux 上,您的磁盘有分区。这些分区被挂载到系统上的各种挂载点或目录。
这很有趣,因为这意味着您可以拥有一个相对简单的系统,或者您可以将不同的目录分散到不同的磁盘上。例如,您的/
(根目录)和您的/home/
目录可以位于不同的磁盘上。这提供了关注点分离,并为未来的更改提供了更大的灵活性。
此外,文件系统本身可以包含链接。链接由 生成ln
,可以是硬链接也可以是软链接。创建链接时,就是在告诉系统文件位于一个位置,但您希望可以从另一个位置访问它。编辑任一引用时,另一个引用也会更新。
结合使用这两个功能,您可以将 Linux 发行版存储在空间有限的 SSD 上,然后可以先将其转移/home/
到另一个 SSD 或 HDD,但为什么要止步于此呢?您可以获得第三个驱动器,并将其放在/mnt/data/
,并存储更大的文件。您可以想象这样一种场景:您有类似 的东西/mnt/data/some/long/path/Videos
,并且您希望能够更轻松地访问它们。您可以将该目录链接到主目录中的某个位置:
ln -s /mnt/data/some/long/path/Videos /home/user/Videos
现在,如果将文件添加到任一目录,它们都具有该文件,但是只有源才会存储实际数据符号链接,就像使用标志创建的一样-s
。
这意味着,我们不必将所有数据复制到两个地方(硬链接),而是只将数据存储在一个地方,然后引用或指向但是,如果您查看这些文件,它们会报告其大小,并且链接会使用某些工具复制所报告的总使用空间。
这就是为什么我们要告诉你查看输出df -h
,特别是Avail
列:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 1.0G 100M 0.8G 16% /boot
在这里,我们可以看到我的/boot
分区和已使用百分比。这是实际使用情况,是一个可以信赖的值。即使我创建了一堆符号链接,大小也不会改变:
$ sudo ln -s /boot/initrd.img-4.4.0-47-generic /boot/${N}
$ ls -lsha /boot
total 102M
4.0K drwxr-xr-x 4 root root 4.0K May 12 15:18 .
4.0K drwxr-xr-x 25 root root 4.0K Oct 22 2017 ..
0 lrwxrwxrwx 1 root root 33 May 12 15:18 1 -> /boot/initrd.img-4.4.0-47-generic
0 lrwxrwxrwx 1 root root 33 May 12 15:18 2 -> /boot/initrd.img-4.4.0-47-generic
0 lrwxrwxrwx 1 root root 33 May 12 15:18 3 -> /boot/initrd.img-4.4.0-47-generic
一旦您了解了这一点,您就可以使用诸如来baobab
目视检查您的磁盘,这有助于您快速找到大文件所在的位置。
更新
这可能是/home/gugy/
在文件系统挂载之前写入的。这将导致文件对大多数工具“隐藏”,可以通过重新启动进入恢复模式并进入 root 提示符来检查。
/home/gugy/
应该存在,但使用时该目录中应该找不到任何文件加密主页。应在 中找到加密数据,并将其保留在 中/home/.ecryptfs/gugy
。