Попов Дмитрий
25 февр. 2021 г., 13:22

Коллеги, нид ё хелп: где хранить проекты, которые сожрали все место на диске?

Проблема в том, что у меня под линух выделено 20 гб (остальное под виндой) и проблемы с местом под проекты высветилась давно, но только сейчас проблема встала ребром - очитить под новый проект место не выходит. А надо. Вопрос: можно ли купить внешний диск и проектировать на нем или есть препоны и подводные камни. Кто пробовал, отзовитесь...
Думаю можно в облаке синхронизировать его с компом, сейчас все провайдеры такую возможность предоставляют. Да и с внешним диском мне кажется тоже можно.
Дима, есть несколько советов.

Во-первых, сначала разберись чем занято место. Иначе купишь новый диск и его тоже забьешь :) Поверь, это не долго сделать.
В убунте есть утилита Disk Usage Analyzer. Найди через software. Если нет, установи через него же.
Запускаешь его, выбираешь диск, потом смотришь результат. Будет такая красивая штука (у меня это хомяк, ты же прям с корня линуксовый диск смотри):


Офигеть, даже убунта 12-ая имеется, хотя уже на 20-ой сижу.

Вот там папочки смотришь большие и решаешь что с ними делать. К примеру, у меня сейчас в хроме 2.6 Гб, 1.2 из которых - Service Worker.


Кеш хрома соответственно можно почистить через него же.

Так же в /home/username/.npm может лежать много кеша. У меня сейчас почти 1.5 Гб.
Я выполнил npm cache clean --force
почти 1.2 Гб из этого кеша улетело.

Где-то еще кеш yarn надо поискать (или просто загуглить как сбросить кеш ярна).

.local/share/Trash (корзина) еще 700+ метров завалялось.

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

Вторая проблема - это node_modules. Они почти незаметно устанавливаются, много весят, и часто остаются забытыми. Вот что можно сделать:

Зайти в папку проектов (у меня /www для этого отведена, у тебя наверняка тоже). И выполни такое:

du -hs *

Жди. Это будет выполняться подсчет занимаемого места на диске каждой папкой в текущей директории. Вычлени тяжелые. Заходи туда и удаляй node_modules.

rm -rf node_modules

Другой вариант, если в принципе хочешь найти все node_modules, то можно так:
find -type d -name node_modules

Это поиск папок с таким названием. Только имей ввиду, что там будут и вложенные node_modules, поэтому как только побежал список, сразу обрывай Ctrl+C.

Это все можно объединить вообще в атомную бомбу:
find -type d -name node_modules | xargs rm -rf

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


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

docker image prune -f
docker system prune -f

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


Все это должно тебе помочь сильно подчистить диск. А внешний использовать для работы нет смысла, через usb наверняка скорость обмена данных сильно снижена. Лучше просто посмотри, если есть, с чем уже не работаешь, просто заархивируй, на виндовом диске создай папку backup (там же у тебя больше места) и перенеси архив туда, а здесь удали.
Спасибо!! Про кэш не знал - чищу. А вот node_modules убил все давно и проекты в архивы звкатал (перекину в облако).
Пошел рубать кэш! И остальное)
Не за что!
Надеюсь, поможет.
Очистка кэша yarn и npm с разбегу вернула в строй 3,5 гб) Ковыряю даньше, НО с 3,5 уже можно работать!
Круто!
Но имей ввиду, что вот конкретно это не прям так спасает. Первая же установка проекта скорее всего вернет где-то в районе гига (потому что зависимости складываются скачала туда, чтобы в дальнейшем, если тот же пакет заправшивается, не тянуть из сети, а отсюда брать). Но за несколько месяцев точно много лишнего ненужного хлама собирается, потому что версии пакетов часто обновляются. Так что лишним не будет.
Дима, нашел еще одну заразу: mlocate

Вот здесь пишут как чистить: https://askubuntu.com/a/117213

То есть сначала удаляем старые файлы баз
# Именно вот так, со знаками вопроса в конце (это маска Любой символ) sudo rm -f /var/lib/mlocate/mlocate.db.??????
Затем на всякий случай выполняем крон-службу (она может выполняться долго, запусти и оставь где-нибудь в фоне, пусть работает).
sudo /etc/cron.daily/mlocate
UPD: Кстати, чтобы сразу оценить есть ли смысл чистить, можно выполнить это:
du -hs /var/lib/mlocate/mlocate.db.??????
Найдет все файлы по маске и покажет их список с подсчетом занятого на диске места.

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