Java, Maven, SSD. Борьба за место

· автор BaRoN · На чтение уйдёт 2 минуты · (327 слов)

Сколько SSD ни воткни, а всё равно мало. У меня в ноутбуке около 700 Гб SSD-хранилища, 2 SSD якобы на 240Гб и 500Гб. И да, этого чертовски мало. Хочется скачать видео — скрепя сердце, приходится искать, что бы можно было удалить. Конечно, сначала удаляются всякие штуки, относящиеся к развлечениям. Но когда-то этого перестаёт быть достаточно. Моя работа связана с Java и разумеется, я ежедневно пользуюсь Maven. И вот, в один прекрасный момент, я добрался до хранилища артефактов Maven, ~/.m2. Фактически у меня там хранилось более 5 Гб артефактов. Часть софта давно и безнадёжно устарела, часть — просто не нужна.

Например, являясь разработчиком плагинов для продуктов Atlassian, я вынужден держать там несколько копий war-файлов, а каждый WAR от Confluence, например, “весит” 400 Мб. Самостоятельно искать старые ненужные версии не так уж и просто. На самом деле, автоматически можно очень эффективно удалить старые файлы такой командой:

find ~/.m2 -atime +90 -delete

Файлы, не использовавшиеся более 90 дней, будут удалены. Таким образом, у меня получилось освободить около 3.5 Гб пространства на диске. Совсем неплохо :). Конечно, капля в море по сравнению с 700 Гб общего объёма, но это, например, пара фильмов или штук 7 серий сериала.

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

find ~/.m2 -ctime +365 -delete

Но скорее всего, файлы, созданные много лет назад, давно не используются и будут удалены уже первой командой. Или наоборот, какая-нибудь стабильная версия библиотеки вполне может существовать и более года.

А если кто-то спросит, как я узнал, какой каталог мне стоит удалять, ответ будет простым.

du -d 1 ~ | sort -n

Выполняется не очень быстро даже на SSD, но объясняет многое. Дальше можно, например, изучать уже следующий каталог:

du -d 1 ~/Projects | sort -n

Но это уже совсем другая история.

Дописано 07.07. В комментариях посоветовали также текстовую утилиту ncdu:

sudo apt-get install ncdu
sudo yum install ncdu
sudo emerge sys-fs/ncdu
yaourt ncdu
sudo pacman -S ncdu

Или что там вам ближе :)

Полезное