Low disk space on filesystem root ubuntu как исправить

I have Ubuntu 20.04. And I encounter this problem very often now -low disk space in “filesystem root” sometimes it shows 635MB available, sometimes 400MB. It seems that every time I work on Ubuntu or even when I use Google Chrome, the available disk space gets reduced.My laptop has a dual booting system with linux and windows. Currently my sda9 occupies a space of 25GB.
Please help!!

P.S. Someone had posted a similar question before but I couldn’t get a satisfactory answer from that post, so please don’t ignore this post.

Here is my output for df -h

Filesystem      Size  Used Avail Use% Mounted on
udev            3.8G     0  3.8G   0% /dev
tmpfs           784M  2.0M  782M   1% /run
/dev/sda9        25G   24G  124M 100% /
tmpfs           3.9G   17M  3.9G   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/loop0       98M   98M     0 100% /snap/core/10185
/dev/loop3       61M   61M     0 100% /snap/core20/634
/dev/loop1       98M   98M     0 100% /snap/core/10444
/dev/loop2       56M   56M     0 100% /snap/core18/1932
/dev/loop4       62M   62M     0 100% /snap/core20/875
/dev/loop5       56M   56M     0 100% /snap/core18/1885
/dev/loop6      163M  163M     0 100% /snap/gnome-3-28-1804/145
/dev/loop8       65M   65M     0 100% /snap/gtk-common-themes/1514
/dev/loop11     218M  218M     0 100% /snap/gnome-3-34-1804/60
/dev/loop10      50M   50M     0 100% /snap/snap-store/467
/dev/loop13      52M   52M     0 100% /snap/snap-store/498
/dev/loop15     180M  180M     0 100% /snap/telegram-desktop/2185
/dev/loop7       65M   65M     0 100% /snap/gtk-common-themes/1513
/dev/loop14     179M  179M     0 100% /snap/telegram-desktop/2198
/dev/loop12     261M  261M     0 100% /snap/kde-frameworks-5-core18/32
/dev/loop9      256M  256M     0 100% /snap/gnome-3-34-1804/36
/dev/sda1       746M   73M  674M  10% /boot/efi
tmpfs           784M   32K  784M   1% /run/user/1000

Pilot6's user avatar

Pilot6

88k91 gold badges198 silver badges306 bronze badges

asked Dec 15, 2020 at 17:51

Nova Stark's user avatar

10

Since you are running Chrome, I infer you are running a Desktop version of Ubuntu and have an unpriv’d user you web browse, run applications, and sudo from for administrative purposes.

What I don’t see is a separate user partition mounted on /home to keep user data from running the OS out of disk space. 24G is not all that much for a desktop environment. If the OS has to share it with users, you will eventually run your OS out of disk space – something you want to avoid. But to the immediate problem…

Let’s be sure we know where the problem is. Please post the results of sudo du -sh /home. If this is a significant chunk of your 25G, then …

Use sudo find /home -size +2G to locate big files in your user space. Keep reducing the size parameter and eliminating any files you can live without. If you are like most of us, you likely have a few downloaded ISOs lying around. If you are saving significant video or picture files – 25G will not go very far – you’ll need another hard drive.

In the event that the /home space is NOT the culprit, you can scan the whole system from the top using sudo du -sk /* 2>/dev/null | sort -nk1. Find the top space eater and scan it’s subfolders eliminating what you can as you go.

Good Luck, Nova

answered Dec 15, 2020 at 19:23

Frobozz's user avatar

FrobozzFrobozz

6552 silver badges13 bronze badges

5

You could try to analyze what takes so much space on your partition that is relatively small to begin with. One tool for that is Duc. You may find some media files you can remove by your file manager, for instance.

There may be some software installed that you do not need, but you should uninstall them properly using some package management tools, if needed. Ubuntu desktop depends on some software, that you should not uninstall, if you wish to continue using the default Ubuntu distribution, but you could uninstall some packages listed as “Recommends:” by apt-cache depends ubuntu-desktop. For example sudo apt autoremove rhythmbox. Do not touch the packages marked with “Depends:” of ubuntu-desktop. There may also be some packages that you installed by yourself afterwards that you do not need anymore.

Maybe you could consider getting a bigger partition for Ubuntu or separate partition for data?

Or you could consider switching from the default Ubuntu to a light-weight Linux distribution; there are many ubuntu based ones available.

answered Dec 15, 2020 at 22:44

jarno's user avatar

jarnojarno

5,1475 gold badges46 silver badges75 bronze badges

I have a solution which is 100% worked for me…
Under var/log, two log files named
kernel.log and
syslog.log are steadily growing in size, and /cow (dirty copy-on-write) is full, preventing the installation from running due to a lack of disk space.
df -kh [/cow — increased and full]
so 1st systemctl stop syslog.socket
cd /var/log
rm -rf *

Then you’ll be able to successfully set up os.

answered Jun 23, 2021 at 16:38

Jacob Frye's user avatar

1

“Low Disk Space on Filesystem root” – this message turned up on my virtual machine of Ubuntu 20.04 that runs in VirtualBox 6.1 on Windows 10 host. This blog post contains a step-by-step guide how you can solve the issue with low disk space.

“Low Disk Space on Filesystem root” – message on Ubuntu 20.04

The problem with the low disc space occurred some days after I had installed Ubuntu 20.04 with some applications in VirtualBox and had done several upgrades. Unfortunately, 10 GB storage was too little. [1]

Tasks on the host system / VirtualBox

1. Create a backup of your virtual machine and/or maybe a clone because something can go wrong while enlarging the virtual disk image (vdi).

2. If you have snapshots, merge them by deleting or creating a clone of the current snapshot. Do the next steps with the cloned snapshot. This is the easiest way to only work on a virtual machine without any snapshots. If you want to face the snapshot challenge, you will find some blog posts about it. [2]

VirtualBox: Handle snapshots

VirtualBox: Handle snapshots

3. Open the Virtual Media Manager “File > Virtual Media Manager” and select the machine that size you want to enlarge. You can use the size slider to enlarge the size or the input field to change the value.

VirtualBox: Virtual Media Manager

VirtualBox: Virtual Media Manager and vdi-Location

4. Open the command line, e.g., Windows Command Prompt (enter “cmd” in the search) or Terminal (Linux, MacOS).

a. Set the path to VBoxManage to avoid the message “‘VBoxManage’ is not recognized as an internal or external command, operable program or batch file.” [3]

# Set path on Windows 10
# Unfortunately, I do not know whether you need 
# a similar command on other operating systems than Windows.
set PATH=%PATH%;"C:Program FilesOracleVirtualBox"

b. Next, you need the folder path where your machine is stored which size you want to enlarge. You find the path in the Virtual Media Manager (see above), e.g. on Windows: “C:Users…Ubuntu 20.04 CloneUbuntu 20.04 Clone-disk1.vdi“.

c. Enter the following command in the command prompt or terminal to resize the vdi-file. [4]

# "VBoxManage modifymedium disk" is the command
# "20480" means 20.480 MB which are 20 GB [5]
VBoxManage modifymedium disk “your path” --resize 20480 

Windows Command Prompt

Windows Command Prompt: Set path and execute VBoxManage

Tasks on the guest system / VirtualBox

5. After that, you need to change the partition of Ubuntu 20.04 so that the system uses the free space. Therefore, you start the virtual machine and install “gparted“. [5]

sudo apt update
sudo apt install gparted

a. Start gparted, choose the light blue (outer) rectangle of the partition that you want to enlarge (here: /dev/sda2), click on the icon “resize/move“, and a popup appears. Resize the partition by using the slider or entering a value. Press the button “resize/move“.

b. Next, resize the dark blue (inner) rectangle of the partition (here /dev/sda5) in the same way.

gparted: Adjust the partitions

gparted: Adjust the partitions

6. Apply the changes, restart the virtual machine.

7. Check the result with “df -k“. As you can see around 50% of “/dev/sda5” is used because the vdi-size has been doubled.

Ubuntu: Check disk size

Ubuntu: Check disk size

Further information
[1] How To Enlarge a Virtual Machine’s Disk in VirtualBox or VMware
[2] VirtualBox: resize hard disk – with modifyhd and snapshots
[3] Solved: VBoxManage is not recognized
[4] Chapter 8. VBoxManage
[5] Gigabytes Conversion
[6] Install GParted in Ubuntu 20.04 LTS

It seems like there is a connection between the various aspects to your question.

  • /usr/src is a location for source code for installed packages.
  • /lib/modules is a location for kernel modules.
  • linux-headers-X.XX.X-XX are the header files for your installed
    kernel(s). Header files are used when you wish to compile a kernel
    module for your specific kernel. Many common pieces of software
    compile kernel modules, like Virtualbox, lm-sensors, etc. see
    here for some more detailed discussion of exactly how they
    manifest. I always install the kernel headers and the
    build-essential package when setting up a new desktop, as I usually end
    up needing it at some point (I don’t for servers though, compilers can be a security risk).

So, this all leads me to believe that you have more than one kernel installed, which is a pretty common problem. Its not a bad idea to keep one version back, especially right after an upgrade, but they are large, and can pile up.

Even if you have only one Kernel, You do not need the headers except when installing something that requires compilation against the kernel, so you can always uninstall the packages from Synaptic or software center.

if you have multiple old kernels still installed, you can usually remove them with sudo apt-get autoremove or review the options here for your system. In addition to clearing the kernels, and the header source files, this will also remove the old kernel’s modules, stored in /lib/modules

15GB is usually more than sufficient for a root partition, and resizing partitions is a tricky proposition, but it is definitely possible. I strongly recommend you consult this documentation to review your situation, and plan the operation. it will involve shrinking /home, moving it to the right, and finally extending the /.

You can use find to identify the largest files on the root volume, then delete any unnecessary ones. However, it looks like you have most of the system folders on the root volume (/var, /var/log, /tmp, etc.)

If this is true, and if you have a lot of log files, clearing some may help…it all depends on how verbose your logging is, how old the system is, and how much activity actually gets logged.

To find large files only on the root partition, execute the following:

# find / -xdev -size +1000M

This command will search the volume /, but will not cross over to other filesystems (-xdev). It will list any file with a size greater than 1000MB (1024MB? Depends on how your system utilities refer to M, MiB, Mb, etc.) You can use various other values to narrow down the search for large files… +100M for ~100MB files, etc.

You can also surgically review each subdirectory level with:

# du / -hx --max-depth=1

(that x is very important…) This at least helps you narrow down where the most disk space is being used, if not the actual culprits.

Here is a decent article on the basics of keeping a filesystem clean.

Корневому диску не хватает места на диске. Как я могу освободить место?

Я использую Ubuntu 11.04 и хочу освободить место в моем корневом каталоге, которое перегружено. Я особенно хочу изменить путь, используемый для установки приложений (они устанавливаются непосредственно на корневой диск).

Еще одно соображение заключается в том, что я работаю на сервере базы данных MySQL. Сервер установлен в самом корневом каталоге, поэтому я не хочу рисковать потерей данных.

Пожалуйста, дайте мне несколько советов, которые помогут разобраться с этой проблемой.

2011-08-20 18:33

16
ответов

Я успешно очистил 3,5 ГБ, удалив старые заголовки и изображения, используя следующую команду:

dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/(.*)-([^0-9]+)/1/")"'/d;s/^[^ ]* [^ ]* ([^ ]*).*/1/;/[0-9]/!d' | xargs sudo apt-get -y purge

Вы можете проверить, какие пакеты будут удалены, выполнив первую часть команды:

dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/(.*)-([^0-9]+)/1/")"'/d;s/^[^ ]* [^ ]* ([^ ]*).*/1/;/[0-9]/!d'

Ссылка


homebrand

08 июл ’14 в 09:12
2014-07-08 09:12

2014-07-08 09:12

Недавно я столкнулся с подобной ситуацией. Установлено слишком много приложений, и они начали использовать мое место для монтирования. Я перечисляю несколько шагов, которым я следовал, и надеюсь, что вы также можете использовать то же самое.

  1. Очистите apt-get кеш. Следующая команда удалит все загруженные файлы deb из каталога кэша apt-get.

    Запустите эту команду: sudo apt-get clean

  2. Переместить / домой точку монтирования на другой диск. Ранее моя домашняя папка находилась на корневом диске. Поэтому я переместил свою домашнюю папку на отдельный диск. Это помогло мне избавиться от стресса при монтировании root, потому что большинство приложений хранят свои данные в папке / home / user_name /. Прочтите, как перенести домашнюю папку на отдельный диск.

  3. Увеличить размер корневого раздела я знаю, это очень очевидный ответ. Но, поверьте мне, наши данные со временем нуждаются в изменениях. Я думал, что 20 ГБ / корневое подключение будет достаточно, но в течение года я изменил размер корневого подключения и увеличил до 50 ГБ.


Amey Jah

20 авг ’11 в 19:13
2011-08-20 19:13

2011-08-20 19:13

Вот скрипт, который я запускаю, чтобы освободить место на корневом разделе

function myclean {
    ## Show free space
    df -Th | grep -v fs
    # Will need English output for processing
    LANG=en_GB.UTF-8

    ## Clean apt cache
    apt-get update
    apt-get -f install
    apt-get -y autoremove
    apt-get clean

    ## Remove old versions of snap packages
    snap list --all | while read snapname ver rev trk pub notes; do
        if [[ $notes = *disabled* ]]; then
            snap remove "$snapname" --revision="$rev"
        fi
    done
    ## Set snap versions retain settings
    if [[ $(snap get system refresh.retain) -ne 2 ]]; then snap set system refresh.retain=2; fi
    rm -f /var/lib/snapd/cache/*

    ## Remove old versions of Linux Kernel
    # This one-liner is deprecated since 18.04
    # dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/(.*)-([^0-9]+)/1/")"'/d;s/^[^ ]* [^ ]* ([^ ]*).*/1/;/[0-9]/!d' | xargs apt-get -y purge
    # New 2 lines to remove old kernels
    dpkg --list | grep 'linux-image' | awk '{ print $2 }' | sort -V | sed -n '/'"$(uname -r | sed "s/([0-9.-]*)-([^0-9]+)/1/")"'/q;p' | xargs sudo apt-get -y purge
    dpkg --list | grep 'linux-headers' | awk '{ print $2 }' | sort -V | sed -n '/'"$(uname -r | sed "s/([0-9.-]*)-([^0-9]+)/1/")"'/q;p' | xargs sudo apt-get -y purge

    ## Rotate and delete old logs
    /etc/cron.daily/logrotate
    find /var/log -type f -iname *.gz -delete
    sudo journalctl --rotate
    sudo journalctl --vacuum-time=1s

    ## Show free space
    df -Th | grep -v fs
}


cmak.fr

26 июл ’19 в 11:50
2019-07-26 11:50

2019-07-26 11:50

sudo apt-get autoclean  // clean /var/cache/apt/archives folder witch save packages while install.
sudo apt-get autoremove //this command remove unused lib packages.

sudo shutdown -rf // it will restart your pc immediately and check filesystem in next boot.


shantanu

20 авг ’11 в 19:01
2011-08-20 19:01

2011-08-20 19:01

Удаление старых версий ядра (как уже предлагалось homebrand) может высвободить приличное пространство, если вы еще не успели это сделать.

Существует несколько способов удаления старых версий ядра, а в ответах на вопрос, связанный ниже, можно найти ряд различных опций:

Как удалить старые версии ядра, чтобы очистить меню загрузки?

Мой предпочтительный метод – это, в основном, ответ от повторных обращений, где он разбит на довольно простые понятные шаги:

Откройте терминал и проверьте текущее ядро:

uname -r

НЕ УДАЛЯЙТЕ ЭТОГО ЯДРА!

Затем введите команду ниже, чтобы просмотреть / просмотреть все установленные ядра в вашей системе.

dpkg –list | grep linux-image

Найдите все ядра, которые ниже вашего текущего ядра. Когда вы знаете, какое ядро ​​удалить, продолжайте ниже, чтобы удалить его.

Запустите команду ниже, чтобы удалить ядро, которое вы выбрали.

sudo apt-get purge linux-image-xxxx-generic

Затем в ответе говорится “update-grub2”, когда вы закончите очистку, что, скорее всего, уже устарело: sudo update-grub должно быть достаточно для Ubuntu 14.04 и выше. Затем они также говорят “Перезагрузить вашу систему” ​​(что, по-видимому, так, чтобы вы могли видеть очищенное меню загрузки), поэтому в этом случае нет необходимости.

Меню загрузчика grub использовалось для отображения всех старых версий ядра на главной странице, но теперь они расположены за подменю. Это намного аккуратнее, но новичок в Ubuntu/Linux может не знать, что они там занимают место.

Как предложено, не удаляйте текущее ядро, и также желательно сохранить предыдущую версию ядра, на тот случай, если вам понадобится откат к этому.

Есть более быстрые способы сделать это, но я предпочитаю простоту этого метода в основном потому, что я могу понять каждую команду по пути:

“Какую версию ядра я использую? Какие версии ядра у меня есть? Хорошо, удалите эту “.

Промыть, повторить, полюбоваться свободным пространством.

Довольно просто скопировать имя конкретного старого ядра, которое вы хотите удалить, из результатов, которые dpkg –list | grep linux-image выдаст вам в терминале, а затем используйте sudo apt-get purge и вставьте скопированное имя в.

Удаление 3 или 4 более старых ядер обычно освобождает около ГБ места на вашем корневом диске.


pHeLiOn

27 май ’16 в 22:31
2016-05-27 22:31

2016-05-27 22:31

Когда мне нужно освободить больше места на серверах, я использую эту команду. Он находит все файлы, размер которых превышает 50 МБ, и “du -h” создает список файлов berret, а “sort -n” после нумерации списка каналов сортируется по размеру файла.

find / -type f -size +50M -exec du -h {} ; | sort -n


zorbon.cz

11 окт ’14 в 20:29
2014-10-11 20:29

2014-10-11 20:29

Следуя инструкциям по документации сообщества Ubuntu, я обнаружил большой мусорный файл – он выглядел как резервная копия /var/log/syslog.1, предположительно что-то извергало множество выходных данных в syslog…

Команда, которая нашла это, была:

sudo find / -size +1G

И тогда любой большой файл в папке с именем .Trash наверное хорошо удалить…


hwjp

09 июн ’14 в 12:35
2014-06-09 12:35

2014-06-09 12:35

В Ubuntu каждая папка может иметь свою собственную файловую систему. Это означает, что вы можете переместить любую папку в отдельный раздел, на другой диск или даже в удаленную сеть. Это особенно популярно для домашних каталогов, поскольку это означает, что вы можете переустановить Ubuntu, не изменяя свои личные настройки и не теряя файлы. Он также популярен в сетях, где пользователи должны иметь возможность входить на разные машины и при этом получать свои личные настройки и файлы. Но это полезно во многих различных случаях, таких как ваш.

Приложения не устанавливаются в определенную папку, как вы, кажется, предлагаете. Разные части приложения размещаются в разных частях файловой системы. Основная программа обычно помещается в / usr / bin, тогда как файлы конфигурации, например, находятся в / etc. В вашем случае, MySQL, сами базы данных находятся где-то в / var. Я думаю / VAR / MySQL.

Поскольку / usr и / var являются каталогами в корневой файловой системе, они будут использовать пространство корневой файловой системы. Но, как я уже сказал, вы можете переместить их в разные файловые системы. В случае MySQL вы можете настроить, где хранятся базы данных. Например, вы можете легко переместить базы данных в /home/username/.mysql/databases.

2011-08-20 19:22

Я только что создал bash-скрипт для этого:

ВАЖНО : перед запуском этого скрипта перезагрузите систему, чтобы убедиться, что у вас работает последнее установленное ядро.

      #!/bin/bash

set -eu

# REBOOT first to ensure you have the last installed kernel running

# clean Journal
sudo journalctl --vacuum-size=50M

# clean old unused kernels
sudo dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/(.*)-([^0-9]+)/1/")"'/d;s/^[^ ]* [^ ]* ([^ ]*).*/1/;/[0-9]/!d'

# clean apt packages
sudo apt autoremove  
sudo apt clean

# first ensure to have the configured snap retain to 2
sudo snap set system refresh.retain=2

LANG=en_US.UTF-8 snap list --all | awk '/disabled/{print $1, $3}' |
while read snapname revision; do
   sudo snap remove "$snapname" --revision="$revision"
done

Это освободит общий системный мусор от журналов журналов, неиспользуемых ядер и старых пакетов моментальных снимков.

Я только что почистил до 7 Гб.

ДРУГОЙ СОВЕТ :

Если вы используете Docker, рассмотрите возможность перемещения содержимого /var/lib/docker в свой домашний раздел: https://www.guguweb.com/2019/02/07/how-to-move-docker-data-directory-to -другое-место-на-ubuntu/

2022-03-11 10:25

Для меня проблема заключалась в висящих и неиспользуемых образах Docker и томах.

Я использую следующую команду, чтобы узнать, сколько места можно освободить:

      docker system df

Далее, если вы собираетесь обрезать только висящие изображения:

      docker system prune 

Если вы хотите пойти ва-банк и сделать глубокую очистку, то обрезайте с силой:

      docker system prune -af --volumes

Я восстановил около 70 ГБ обратно. Моя повседневная работа включает в себя много работы с Docker.

2022-04-26 18:00

Проверьте, какая папка занимает место в корневой части

du -hsc *

Я обнаружил, что папка timeshift занимает большую часть места. (Вы могли или не могли включить этот периодический снимок). Вы можете переместить его из корня в home (при условии, что вы смонтировали дом в другом разделе). Или уменьшите частоту использования графического интерфейса со сдвигом во времени и, если вы считаете, что это безопасно, удалите старые резервные копии.

2020-01-15 21:55

Если у вас много отдельных файловых систем, может пригодиться следующий трюк: Смонтировать / в другой раз, но на этот раз в /mnt. Теперь весь ваш поиск больших или многих файлов может быть выполнен без обхода неправильных файловых систем.

Это также может помочь вам найти файлы, которые скрыты под другим монтированием.

2016-04-19 12:46

Вы не можете изменить путь, по которому менеджер пакетов устанавливает приложения. Большинство файлов приложений сохраняются в /usr, Если вы хотите восстановить место на корневом разделе, переместите /usr на другой раздел является возможным решением.

Из комментариев:

  • Сохраняйте разрешения при копировании, т.е. лучше используйте командную строку, если вы не уверены, что будет делать ваш файловый менеджер.

  • Правильный путь к этому – смонтировать новую файловую систему в /usr или использовать mount --bind, Не ясно, насколько хорошо будет работать символическая ссылка.


Jan

20 авг ’11 в 18:56
2011-08-20 18:56

2011-08-20 18:56

На сегодняшний день лучше использовать новую функцию (начиная с 14.04) для удаления старых образов ядра:

sudo apt-get autoremove

Ознакомьтесь с более подробной информацией: почему Ubuntu не удаляет старые ядра автоматически?


ywu

19 сен ’17 в 13:21
2017-09-19 13:21

2017-09-19 13:21

Если у вас установлен сервер баз данных mssql, это может поглотить вашу память. Бежать

$ sudo nscdu / 

Чтобы проверить, какие папки и файлы занимают максимум места. Данные MSSQL обычно хранятся на

/var/opt/mssql/backup/


Yogesh

30 июн ’18 в 17:09
2018-06-30 17:09

2018-06-30 17:09

Добавить комментарий