8.6.1. Сколько осталось места на диске?

8.6.1. Сколько осталось места на диске?

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

Программа rpm позволяет определить, сколько места потребуется для установки пакета: для этого надо дать запрос вида rpm -qpi имя_пакета и в строке Size будет выдано, сколько байт займет пакет. Осталось узнать, есть ли столько свободного места на диске.

Для определения объема свободного пространства на диске вы можете воспользоваться командой df. Если дать эту команду без аргументов, то она сообщит, каков объем дискового пространства во всех смонтированных файловых системах, сколько используется и сколько еще свободно. Единицей измерения при этом служит 1 килобайтный блок. Если вы хотите получить сведения об объеме свободного пространства в более привычных мегабайтах, дайте команду с параметром -h:

[user]$ df -h

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

[user]$ df -h /dev/hda2

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

Если место еще есть, то можно перейти к установке пакета. Хуже владельцам компьютеров с дисками маленького объема: тут каждый раз надо думать, как бы освободить место для новой программы, другими словами, что уже можно с диска удалить. Удалять можно отдельные файлы, но, конечно, с точки зрения освобождения пространства, эффективнее удалять целыми каталогами или пакетами.

Файлы (каталоги) удаляются в том случае, если они (размещенные в них файлы) вам более не нужны. Естественно, что кандидатами на удаление в первую очередь рассматриваются каталоги (или файлы) самого большого объема, и тут оказывается полезной команда du (disc usage).

Команда du позволяет узнать, сколько места занимает конкретный файл или подкаталог. Для этого надо дать команду следующего формата (в примере мы узнаем объем каталога /usr/lib)

[user]$ du -ks /usr/lib

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

91418 /usr/lib

которая означает, что каталог /usr/lib занимает 91 418 Кбайт (опция k указывает, что объем должен выдаваться в килобайтах). Опция s задана для того, чтобы выводился только суммарный объем каталога. Если вы ее опустите, то получите данные об объеме каждого подкаталога и файла в указанном каталоге, а это очень много информации. Впрочем, последней строкой все равно будет выведен суммарный объем каталога.

Если маленькую s заменить на большую S, то выводиться будет только информация об объеме подкаталогов (но не файлов), что иногда тоже полезно. О других опциях указанных команд вы можете узнать на соответствующих man-страницах или по команде info.