Jak wyczyścić dysk na macOS bez płatnych narzędzi i subskrypcji
Znana sytuacja: otwierasz zakładkę „Magazyn" w ustawieniach macOS, a tam gigabajty w kategorii „Dane systemowe". System nie wyjaśnia dokładnie, gdzie to miejsce zniknęło. Szukasz rozwiązania, a wyszukiwarka od razu podsuwa narzędzia typu „wszystko w jednym" z ładnym interfejsem i ceną czterdziestu dolarów za roczną subskrypcję.
Płacenie za coś, co kasuje cache raz w miesiącu, zwykle nie jest tym, czego chce developer. W poszukiwaniu lekkiej alternatywy natknąłem się na projekt cleanmac autorstwa developera Haralambiego Dobreva (hkdobrev). To zwykły skrypt bash, który cicho oczyszcza śmieci z systemu.
Po co osobny skrypt do czyszczenia
Większość developerów trzyma na swoich maszynach całe zoo narzędzi. Xcode gromadzi dziesiątki gigabajtów w folderze DerivedData. Docker przechowuje warstwy starych obrazów. Menedżery pakietów jak npm i yarn cache'ują przez lata.
Ręczne zapamiętywanie wszystkich ścieżek i poleceń jest czasochłonne. Aplikacje GUI firm trzecich często działają w tle, wysyłają powiadomienia i zużywają RAM. Skrypt cleanmac rozwiązuje problem bezpośrednio: uruchamiasz go w terminalu, przechodzi przez znane katalogi, zwalnia miejsce i kończy działanie.
Warto odnotować: autor niedawno zarchiwizował repozytorium i zaleca sprawdzenie nowszego narzędzia Mole. Ale cleanmac.sh jest napisany tak przejrzyście, że łatwo wyciągnąć fragmenty kodu do własnych dotfiles lub użyć jako gotową receptę.
Co dokładnie czyści cleanmac
W środku skryptu nie ma żadnej magii — tylko polecenia do czyszczenia określonych śmieci związanych z pracą.
Skrypt sprawdza cztery główne grupy śmieci:
- Cache deweloperski: foldery DerivedData i archiwa Xcode, cache npm i yarn.
- Kontenery: nieużywane warstwy i zatrzymane kontenery Docker.
- Śmieci systemowe: logi aplikacji, cache Safari, cache użytkownika w 6 i zawartość Kosza.
- RAM: reset cache dysku przez wywołanie narzędzia systemowego 7.
Wygodne jest to, że kasowanie cache systemowego można skonfigurować według wieku. Domyślnie skrypt zostawia pliki utworzone w ciągu ostatnich 7 dni. Jeśli nie chcesz dotykać świeżego cache, możesz przekazać inny interwał przez argumenty.
Jak uruchomić skrypt
Instalacja sprowadza się do sklonowania repozytorium:
0Przed usuwaniem gigabajtów plików rozsądnie jest podejrzeć, co skrypt zamierza usunąć. Dostępny jest tryb bezpieczny:
1Flaga 8 wyświetli ścieżki bez faktycznego usuwania danych. Jeśli lista ci odpowiada, uruchom czyszczenie:
2Skrypt poprosi o prawa superużytkownika, jeśli będzie musiał usunąć logi systemowe lub wykonać reset RAM.
Co w środku i czego można się nauczyć
Dla tych, którzy piszą własne skrypty automatyzacji, cleanmac jest interesujący jako przykład czystego kodu bash. Ma dobrze ustrukturyzowaną obsługę argumentów, sprawdza zainstalowane narzędzia (na przykład czy Docker jest zainstalowany w systemie) i formatuje wyjście.
Jeśli nie potrzebujesz pełnej funkcjonalności, możesz wyciągnąć tylko potrzebne funkcje. Na przykład linie do czyszczenia DerivedData:
3Albo wywołanie czyszczenia obrazów Docker:
4Dodanie tych kilku poleceń do aliasu w zshrc jest często szybsze i bezpieczniejsze niż instalowanie zamkniętego oprogramowania z nieprzejrzystą telemetrią.
Kto to znajdzie przydatne
Projekt jest odpowiedni dla tych, którzy:
- Pracują na Macu z małym dyskiem SSD 256 lub 512 GB.
- Aktywnie rozwijają aplikacje na iOS lub web, gdzie cache wypełnia dysk w ciągu kilku tygodni.
- Wolą otwarte skrypty powłoki od zamkniętych płatnych narzędzi.
- Chcą podejrzeć gotowe polecenia do własnych skryptów konserwacji systemu.
Nawet przy zarchiwizowanym statusie repozytorium, cleanmac doskonale demonstruje proste podejście do rutynowych zadań: zamiast ciężkich programów, czasem wystarczy trzydzieści linii Basza. Jeśli potrzebujesz aktywnie rozwijanego narzędzia z interaktywnym interfejsem w terminalu, sprawdź wspomnianego przez autora Mole. Do szybkiego jednorazowego czyszczenia, cleanmac też się sprawdzi.
Powiązane projekty