Комплексное руководство по управлению дисковым пространством в Ubuntu

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

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

Читайте дальше и попрощайтесь со страхами о заполненном дисковом пространстве в Ubuntu!

Предварительные требования

Это руководство будет демонстрацией на практике. Чтобы следовать за ним, убедитесь, что у вас установлена система Ubuntu. В этом руководстве используется Ubuntu 20.04, но другие версии также подойдут.

Использование приложения «Диски»

Если вы ищете быстрый способ управления диском, среды рабочего стола на основе GNOME, такие как Ubuntu, имеют встроенный графический инструмент для разделения диска. Если установлено приложение gnome-disk-utility, вы можете получить доступ к приложению «Диски».

Приложение «Диски» предоставляет визуальное представление использования диска, что интуитивно понятно для пользователей, предпочитающих графический интерфейс при работе с файлами и каталогами.

Чтобы увидеть приложение «Диски» в действии по управлению диском, следуйте этим шагам:

1. Найдите и откройте приложение «Диски», как показано ниже.

Opening the Disks App

2. Когда открывается приложение Disk, щелкните по любому диску, чтобы просмотреть более подробную информацию, включая общий размер, модель и так далее.

В разделе Тома вы увидите список всех разделов в вашей системе и связанную с ними информацию. Сюда входят имя устройства, тип раздела, точка монтирования, общий размер и UUID (Универсальный Уникальный Идентификатор), который идентифицирует том или раздел).

Using the Disk App

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

Option Function
Format Partition Formatting a partition erases all its data and creates a new empty filesystem. This option is useful when you plan to reinstall your OS.
Edit Partition Editing the partition allows you to change the partition’s size, format, and filesystem type without deleting any data.
Edit Filesystem This option lets you change the label or name of a partition on your system. The label or name of a partition is a short, descriptive string that identifies the partition on your system.
Check or Repair Filesystem This option performs a filesystem check on the volume, which can help identify and fix any problems, such as corruption or inconsistencies with the filesystem.

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

Accessing additional partition options

Использование команды df

Если вы в основном работаете в терминале и вам нужно проверить доступное место на дисках и разделах вашей системы, команда файловой системы диска (df) справится с этим. Команда df отображает информацию о файловых системах на вашем компьютере, включая имя устройства, общий размер, используемое пространство, доступное пространство и точку монтирования.

Чтобы увидеть, как работает команда df, выполните следующие шаги:

1. Откройте терминал и выполните команду df ниже, чтобы отобразить список всех файловых систем и связанную с ними информацию в удобочитаемом формате (-h). Вы можете использовать опцию -h, чтобы отображать размеры в формате “удобочитаемого” вида.

df -h

Ниже вы можете видеть несколько файловых систем, смонтированных в системе, как показано ниже:

  • A main partition (/dev/sda5) with a total size of 20GB and 9.4GB of available space.

  • A /boot/efi partition (/dev/sda1) with a total size of 511MB and 511MB of available space

  • Несколько snap-пакетов (файловых систем для программных пакетов) смонтированы в /snap/.

  • Много файловых систем tmpfs, которые представляют собой файловые системы, основанные на памяти и используемые для временного хранения.

By default, the df command displays sizes in bytes, which is difficult to read. The -h option changes the display of sizes to use units such as kilobytes (K), megabytes (M), gigabytes (G), and terabytes (T). For example, the 1024000000 bytes size is displayed as 976M.

В целом, используется 49% пространства на основном разделе (/dev/sda5), с 9.4 ГБ доступного пространства, как показано ниже. Имея эту информацию, вы можете решить, стоит ли удалять ненужные файлы, чтобы освободить дисковое пространство.

Listing all file systems

2. Затем выполните следующую команду watch, чтобы выполнять команду df с регулярными интервалами (5 секунд) и отображать обновления использования вашего диска в реальном времени.

Команда watch, вместе с опцией -n, пригодится для отслеживания изменений в системном состоянии или отслеживания хода выполнения долговременной команды.

watch -n 5 df -h
Monitoring disk usage updates in real-time at a certain interval

3. Наконец, выполните следующую команду df, чтобы перечислить все файловые системы, но ограничьте вывод конкретными типами файловых систем (-t), в данном случае – ext4.

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

df -t ext4

Ниже вы можете видеть, что команда df вернула только одну файловую систему ext4, которая является корневым разделом (/dev/sda5).

Listing filesystems of a specific type

Использование команды du

Вместо получения объема занятого пространства на всей файловой системе, вы можете захотеть определить, сколько места занимает файл или каталог. Как? С помощью команды использования диска (du).

Команда du оценивает использованное пространство файла и каталога, вплоть до его подкаталогов.

? Команда du может быть полезна для понимания того, как используется дисковое пространство на более детальном уровне.

Чтобы увидеть, как работает команда du для управления дисковым пространством, выполните следующие шаги:

1. Запустите следующую команду du, чтобы получить сводку (-s) использования каталога /tmp в удобочитаемом формате (-h).

du -sh /tmp

Вывод ниже показывает, что каталог /tmp и его подкаталоги используют в общей сложности 6,1 ГБ.

В подобных операционных системах, как Unix, /tmp – это специальный каталог для временных файлов. Мониторинг каталога /tmp крайне важен, так как он быстро заполняется.

Viewing a summary of a directory’s disk usage

2. Затем выполните следующую команду ls, чтобы вывести список файлов, содержащихся в каталоге /tmp, в длинном формате (-l).

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

ls -l /tmp

На выводе ниже вы можете видеть, что самый большой файл в каталоге /tmp – это файл test2.img, который можно удалить, если он больше не нужен.

Listing files in the /tmp directory

3. Теперь выполните следующую команду rm, которая не выводит результат, но удаляет указанный большой файл (test2.img), чтобы освободить место в вашей системе.

sudo rm -f test2.img

Автоматизация Проверки Дискового Пространства и Удаления Файлов

Мониторинг каталогов, которые вы не хотите, чтобы они набухали, помогает поддерживать вашу систему в оптимальном состоянии. Почему? Недостаток места на диске вызывает проблемы для программ, которым нужно записывать временные файлы.

Но ручная проверка свободного места на диске становится утомительной задачей в долгосрочной перспективе. Почему бы не автоматизировать эту задачу с помощью скрипта?

В этом примере вы создадите скрипт для проверки свободного места на диске и автоматического удаления ненужных файлов.

1. Создайте файл сценария Bash с помощью вашего предпочтительного редактора и дайте ему имя по вашему усмотрению, но в этом руководстве выбор пал на temp_file_terminator.sh.

2. Затем добавьте следующий код в файл temp_file_terminator.sh, сохраните изменения и закройте файл.

Код ниже проверяет текущий размер каталога /tmp. Если размер больше объявленного максимального размера, код выполняет команду для удаления всех файлов в каталоге /tmp. В противном случае на консоль выводится сообщение без удаления какого-либо файла.

#!/bin/bash

# Установить максимальный размер для каталога /tmp
MAX_SIZE=2097152

# Проверить текущий размер каталога /tmp
CURRENT_SIZE=$(du -sk /tmp | awk '{print $1}')

# Если каталог /tmp больше максимального размера, удалить некоторые файлы
if [ "$CURRENT_SIZE" -gt "$MAX_SIZE" ]
then
  echo "The /tmp directory is larger than the maximum size of 2GB. Deleting files..."

  # Найти все файлы в /tmp, которые старше трех дней, и удалить их
  find /tmp -type f -mtime +3 -delete

  # Проверить размер каталога /tmp еще раз
  CURRENT_SIZE=$(du -sk /tmp | awk '{print $1}')

  # Если каталог /tmp по-прежнему больше максимального размера, удалить все файлы
  if [ "$CURRENT_SIZE" -gt "$MAX_SIZE" ]
  then
    rm -rf /tmp/*
    echo "All files in /tmp have been deleted."
  else
    echo "Files in /tmp have been deleted. The /tmp directory is now below the maximum size of 2GB."
  fi
else
  echo "The /tmp directory is not large enough to trigger file deletion. No files have been deleted."
fi

3. Наконец, выполните следующую команду bash, чтобы выполнить ваш сценарий (temp_file_terminator.sh) из рабочего каталога (./).

sudo bash ./temp_file_terminator.sh

В зависимости от размера каталога /tmp сценарий либо удалит файлы, либо выведет сообщение о том, что файлы не были удалены.

Running the Bash script to automate checking disk space and deleting files

Заключение

Управление дисковым пространством в Ubuntu – это важное умение для любого администратора Linux. С правильными инструментами и техниками вы можете поддерживать бесперебойную работу системы с достаточным свободным дисковым пространством.

И в этом учебнике вы узнали множество способов просмотра и управления дисковым пространством из командной строки и через GUI (приложение Disks).

Теперь, почему бы не применить эти инструменты на практике и не перейти к следующему этапу – освоению объектов файловой системы Amazon EFS с помощью мастерства?

Source:
https://adamtheautomator.com/ubuntu-disk-space/