Ubuntu server
Скільки залишилося вільного місця? Хто його зайняв? З цими двома питаннями стикатися доводиться постійно, особливо адміністраторам файлових серверів. Якщо на платформі Windows, в графічному оточенні з'ясувати це не складає особливих труднощів, то консоль серверних версій Linux здатна багатьох привести в замішання. Однак не варто лякатися, отримати необхідну інформацію в середовищі Linux теж досить просто.
Як показала практика, це питання актуальне не тільки для початківців адміністраторів. Дійсно, недостатньо просто дізнатися розмір файлу або папки, а потрібно швидко і ефективно з'ясувати хто саме посів місце на диску і чим. Але про все по порядку.
Почнемо з простого питання, як подивитися скільки вільного місця залишилося. Для цієї мети є команда
яка виводить список всіх файлових систем, їх розмір і точки монтування. Ключ -h дозволяє вивести інформацію в зручному для сприйняття вигляді - в мегабайтах і гігабайтах, без ключа інформація про розмір виводиться в блоках.
На перше питання ми відповіли, але, як правило, ця відповідь породжує ще більше питань. З отриманої інформації абсолютно не ясно чому саме заповнений диск. Це можуть бути як важливі дані, так і фотографії з останнього корпоративу, "дбайливо" продубльовані користувачами за своїми мережевих папок. У першому випадку треба думати про збільшення обсягу дискової підсистеми, а в другому можна сміливо чистити диск і проводити роз'яснювальні бесіди.
Щоб відповісти на друге питання нам потрібно знати розміри окремих папок і файлів. У Linux системах це можна зробити командою du із зазначенням, що цікавить папки, також можна вказати ключ -h для отримання зручних для сприйняття результатів.
Незважаючи на те, що ця команда працює, практичної користі від неї немає. Чому? Зараз пояснимо, нижче наведена частина виведення команди:
Так, ми дізналися що папка / usr має розмір 498 Мб, але уявлення про те, що саме займає основне місце в цій папці ми не отримали. Цілісної картини про заповнення дискового простору як не було, так і немає.
Але не варто впадати у відчай, на допомогу нам прийде невелика утиліта ncdu, в стандартній установці її немає, але вона без проблем встановлюється зі сховищ:
Запущена без параметрів утиліта виводить інформацію про поточну папці, але так як нас цікавить вся файлова система, то в якості параметра вкажемо кореневу директорію:
Після нетривалих обчислень утиліта виведе ієрархічний список директорій, починаючи з самого великого розміру:
Ну це зовсім інша справа. Відразу видно чому саме зайнято дисковий простір. Утиліта інтерактивна, ми можемо переміщатися по дереву, входити в папки, змінювати уявлення інформації, видаляти непотрібні файли і директорії. Всі можливості програми можна дізнатися викликавши вбудовану довідку:
Як бачимо, утиліта проста, але дуже багата можливостями, наприклад можна швидко включити більш наочне уявлення даних:
Тепер питання чим зайняте дисковий простір і що з цим робити вирішується буквально в лічені хвилини. На наш погляд дана утиліта повинна бути в арсеналі кожного системного адміністратора.