根分区(/)是Linux文件系统的核心,包含操作系统核心文件、配置文件、日志文件、缓存和用户数据等。当根分区满载时,系统可能出现难以写入新文件、应用程序崩溃甚至未能启动的情况。常见诱因包括:

linux 分区命令_磁盘分区命令_分区命令是

了解这种缘由后,我们将通过系统化的方法定位问题并释放空间。

确认根分区已满

在采取行动之前,须要确认根分区是否真的已满,以及什么文件或目录占用了大量空间。以下是确诊步骤和相关命令

1.检测c盘使用情况

使用df命令查看c盘使用情况,确认根分区是否已满:

df -h

磁盘分区命令_分区命令是_linux 分区命令

2.定位占用空间的目录

使用du命令剖析根分区中什么目录占用空间最多:

sudo du -h / | grep '[0-9]G'

linux 分区命令_磁盘分区命令_分区命令是

「解释」:du-h/递归统计根分区下所有目录的大小,grep'[0-9]G'筛选出占用GB级空间的目录。您也可以使用以下命令更精确地定位大文件:sudodu-ah/|sort-rh|head-n20

分区命令是_linux 分区命令_磁盘分区命令

3.查找大文件

使用find命令快速定位大文件:

sudo find / -type f -size +1G

释放空间

定位问题后,接出来是释放根分区空间的实际操作。以下是多种方式,囊括日志清除、缓存删掉、临时文件处理等。

1.清除系统日志

/var/log目录中的日志文件是根分区满载的常见诱因。以下是清除步骤:

检测日志文件大小

ls -lh /var/log

磁盘分区命令_分区命令是_linux 分区命令

清除特定日志

分区命令是_linux 分区命令_磁盘分区命令

以syslog或messages为例,清除旧日志:

sudo truncate -s 0 /var/log/syslog
sudo truncate -s 0 /var/log/messages

压缩和归档旧日志

假如须要保留日志,可以压缩并归档:

sudo find /var/log -name "*.log" -exec gzip {} ;

配置日志轮转

为避免日志再度失控,配置logrotate进行手动轮转:

sudo nano /etc/logrotate.conf

在配置文件中调整参数,比如:

/var/log/syslog {
    daily
    rotate 7
    compress
    missingok
}

2.清除包管理器缓存

linux 分区命令_磁盘分区命令_分区命令是

在基于Debian的系统(如Ubuntu)中,APT缓存可能占用大量空间。以下是清除方式:

查看缓存大小

sudo du -sh /var/cache/apt

清除无用包sudoapt-getclean

sudoapt-getautoclean

sudoapt-getautoremove

对于基于RedHat的系统(如CentOS),使用yum或dnf:

sudo yum clean all
sudo dnf clean all

3.清除临时文件

/tmp目录中的临时文件可能累积并占用空间。清除方式如下:

sudo rm -rf /tmp/*

为避免临时文件再度堆积,可以设置手动清除:

sudo systemctl enable tmp.mount
sudo systemctl start tmp.mount

4.删掉旧内核版本

旧内核映像可能占用/boot目录,致使根分区间接受限。查看已安装内核:

磁盘分区命令_linux 分区命令_分区命令是

dpkg --list | grep linux-image

删掉旧内核:

sudo apt-get purge linux-image-x.x.x-x

5.清除用户缓存

用户缓存文件(如浏览器缓存)可能储存在根分区。查找用户缓存:

sudo du -sh /home/*/.cache

清除缓存:

sudo find /home -type d -name ".cache" -exec rm -rf {}/* ;

6.查找并删掉无用的大文件

假如通过find发觉无用的大文件,可以直接删掉:

sudo rm /path/to/large/file

7.联通数据到其他分区

假如根分区储存了大量用户数据(如/var/www中的网站文件),可以将其联通到其他分区:

sudo mv /var/www /new_partition/www
sudo ln -s /new_partition/www /var/www

防止根分区再度满载

linux 分区命令_磁盘分区命令_分区命令是

释放空间只是治标,防治才是治本。以下是常年维护的建议:

1.定期监控c盘使用

设置脚本定期检测c盘使用情况:

#!/bin/bash
df -h / | grep -v Filesystem | awk '{print $5}' | cut -d'%' -f1 | while read usage; do
    if [ $usage -gt 90 ]; then
        echo "警告:根分区使用率超过90%!"
        mail -s "磁盘空间警告" admin@example.com <<< "根分区使用率:${usage}%"
    fi
done

保存为check_disk.sh,设置定时任务:

sudo crontab -e

添加:

0 0 * * * /bin/bash /path/to/check_disk.sh

2.合理分区规划

在安装Linux时linux 分区命令linux运维博客,合理规界定区。诸如linux vps,将/var、/home和/tmp分配到独立分区,避免它们影响根分区。

3.使用LVM扩充空间

假如使用逻辑卷管理器(LVM)linux 分区命令,可以动态扩充根分区:

分区命令是_磁盘分区命令_linux 分区命令

sudo lvextend -L +10G /dev/mapper/vg-root
sudo resize2fs /dev/mapper/vg-root

4.启用c盘配额

为用户设置c盘配额,限制其在根分区的储存:

sudo apt-get install quota
sudo quotacheck -avug
sudo quotaon -av
sudo edquota username

常见问题1.删掉文件如何办?

假如删掉了关键文件,立刻停止写入操作,使用testdisk或photorec尝试恢复:

sudo apt-get install testdisk
sudo testdisk /dev/sdX

2.清除时系统卡顿如何办?

假如系统因空间不足而响应平缓,尝试步入单用户模式清除:

sudo systemctl rescue

3.怎样防止破坏系统?

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复