767*_*676 8 boot hard-drive 20.04
乌班图20.04
当我尝试登录时,我收到一条错误消息。我试图截取屏幕截图,但它冻结了。
当我重新启动时,一切看起来都很顺利,并且系统提示我输入密码。它似乎已登录,但只是循环回到登录屏幕。
我使用 Ubuntu 棒访问我的硬盘驱动器,我发现我的硬盘驱动器有零字节可用。我怀疑没有足够的内存来完成登录。
我可以访问我的所有文件,并且想删除一些文件,但“移至垃圾箱”选项被禁用。
如何通过 Ubuntu 棒以管理员身份访问硬盘并删除一些文件?
为了能够从 Ubuntu 安装棒中删除文件:
fdisk -l
。cd /path-to-hdd/
cd
它的目录。要删除文件,请运行rm myfile
. 要删除目录,请运行rm -r mydir/
我希望这有帮助。
编辑:如果要求您以 root 身份运行这些命令,请sudo
在命令的开头添加。如果它需要密码(我认为不需要),请查看此页面。
我使用 Linux(和其他 UNIX)已经有 20 多年了,这是我经常遇到的场景。
\n首先,不需要重新安装——我从来没有这样做过,而且我真的无法想象为什么有必要这样做。完整的根文件系统仅意味着您无法存储更多数据,但已经存在的数据是可以的;可能有一些数据被损坏 - 例如在数据库中 - 但我没有经常看到它来记住它。在您的情况下,您无法登录,因为您的 shell 或桌面管理器需要存储一些数据,但不能;你只需要释放一些空间。
\n要做的事情是,进入命令行 - 如果您可以从实时发行版启动,就像其他人所说的那样,那么打开一个终端并安装您需要处理的文件系统(如果还没有发生的话)。首先找到磁盘设备(用于df
列出已安装的设备):
# df\nFilesystem 1K-blocks Used Available Use% Mounted on\ntmpfs 26379228 3284 26375944 1% /run\n/dev/nvme1n1p4 863630096 744645468 75040948 91% /\ntmpfs 131896140 4 131896136 1% /dev/shm\n...\n\n# fdisk -l\n...\nDisk /dev/loop7: 55.52 MiB, 58212352 bytes, 113696 sectors\nUnits: sectors of 1 * 512 = 512 bytes\nSector size (logical/physical): 512 bytes / 512 bytes\nI/O size (minimum/optimal): 512 bytes / 512 bytes\n\n\nDisk /dev/nvme1n1: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors\nDisk model: Samsung SSD 970 EVO Plus 1TB \nUnits: sectors of 1 * 512 = 512 bytes\nSector size (logical/physical): 512 bytes / 512 bytes\nI/O size (minimum/optimal): 512 bytes / 512 bytes\nDisklabel type: gpt\nDisk identifier: 2217FDA8-ADEA-49F9-B6A0-A7A26460B6FA\n\nDevice Start End Sectors Size Type\n/dev/nvme1n1p1 34 32767 32734 16M Microsoft reserved\n/dev/nvme1n1p2 32768 195381657 195348890 93.1G Microsoft basic data\n/dev/nvme1n1p3 195383296 196431871 1048576 512M EFI System\n/dev/nvme1n1p4 196431872 1953523711 1757091840 837.8G Linux filesystem\n...\n
Run Code Online (Sandbox Code Playgroud)\n忽略那些,它们是困扰 Ubuntu 的/dev/loop
愚蠢问题的表现。snap
对于每个标记的Linux filesystem
,在某处创建一个挂载点并挂载它:
# mkdir /myroot\n# mount /dev/nvme1n1p4 /myroot\n
Run Code Online (Sandbox Code Playgroud)\n我怀疑除了 EFI 分区(如果您使用的是 EFI 分区)之外,您的所有内容都集中在一个分区上。因此,经常发生的情况是 /tmp 或 /var 被填满,并且由于所有内容都位于同一分区上,因此您的根文件系统空间不足。这是我通常做的事情:
\n找出所有空间都去了哪里;为此du
(在下面我以 root 身份运行,因为我很顽固(又名愚蠢),但您可以sudo
在所有命令前面使用,除了cd
命令之外):
# cd /\n# du -sk etc home lib* mnt opt root snap tmp usr var | sort -n\n
Run Code Online (Sandbox Code Playgroud)\n为什么不应该输入sudo
字体cd
?因为sudo cd /some/directory
在子 shell 中执行,当命令完成后,您将回到开始的地方。
du
显示使用了多少空间,并-sk
表示以 KB 为单位求和;通常你会使用 is like du -sk *
,但我发现它经常挂在根目录中的某些子目录中,所以我倾向于避免使用它们。该| sort -n
部分获取输出并按数字对其进行排序,因此您将在底部看到最大的罪人。假设你发现它是/var
:
# cd /var\n# du -sk * | sort -n\n
Run Code Online (Sandbox Code Playgroud)\n/var/log
变得太大,并且通常可以毫无问题地删除其中的一些文件。顺便说一句,您可以删除的另一个地方是/tmp
。然后要删除,请使用rm
:
# #\xc2\xa0In /var/log:\n#\xc2\xa0ls\nalternatives.log btmp lastlog\nalternatives.log.1 btmp.1 openvpn\nalternatives.log.2.gz cups private\nalternatives.log.3.gz dist-upgrade speech-dispatcher\nalternatives.log.4.gz dmesg syslog\nalternatives.log.5.gz dmesg.0 syslog.1\nalternatives.log.6.gz dmesg.1.gz syslog.2.gz\n...\n
Run Code Online (Sandbox Code Playgroud)\n以 结尾的文件.gz
是较旧的压缩日志文件,通常可以丢弃 - 但要小心,首先尝试使用 ls 来查看要删除的内容:
# ls *gz\n# rm *gz\n
Run Code Online (Sandbox Code Playgroud)\nls
当您考虑使用任何类型的通配符或正则表达式删除内容时,请务必使用!
完成此练习后,您应该已经释放了足够的空间,下次安装 Linux 系统时,请记住将 、/var
和/opt
(/tmp
以及您发现太大的那些)等内容放置在单独的分区上。您可能仍然会用完空间,但至少可能会少一些麻烦。
归档时间: |
|
查看次数: |
6014 次 |
最近记录: |