Mój serwer chmurowy Ubuntu zostawił tylko 900 MB miejsca na dysku.
Po prostu opróżnię katalog / tmp i zastanawiam się, czy jest jakieś inne miejsce do wyczyszczenia.
sudo docker container prune -f && sudo docker image prune -f
Mój serwer chmurowy Ubuntu zostawił tylko 900 MB miejsca na dysku.
Po prostu opróżnię katalog / tmp i zastanawiam się, czy jest jakieś inne miejsce do wyczyszczenia.
sudo docker container prune -f && sudo docker image prune -f
Odpowiedzi:
sudo apt-get autoremove
To może wyczyścić wiele guff (stare jądra itp.), Które zostały zastąpione. Możesz zrobić coś podobnego w Synaptic (załaduj go i wybierz przycisk stanu, a następnie opcję automatycznego usuwania).
aptitude
zamiast tego apt-get
, może on posprzątać po drodze, ale starsze instalacje często gromadzą mnóstwo zainstalowanych jąder, gdy pojawią się aktualizacje zabezpieczeń.
dpkg --get-selections | grep linux-image
).
Aby usunąć pobrane pakiety (.deb), które zostały już zainstalowane (i nie są już potrzebne)
sudo apt-get clean
Aby usunąć wszystkie przechowywane archiwa w pamięci podręcznej dla pakietów, których nie można już pobrać (a więc pakietów, których już nie ma w repozytorium lub które mają nowszą wersję w repozytorium).
sudo apt-get autoclean
Aby usunąć niepotrzebne pakiety (po odinstalowaniu aplikacji mogą istnieć pakiety, których już nie potrzebujesz)
sudo apt-get autoremove
Aby usunąć stare wersje jądra
sudo apt-get remove --purge linux-image-X.X.XX-XX-generic
Jeśli nie wiesz, którą wersję jądra usunąć
dpkg --get-selections | grep linux-image
Źródło: Limpiando Ubuntu: comandos y programas (aktualización) ( przetłumaczone przez Google )
clean
zwolniło sporo miejsca. Natychmiast potem pobiegłem autoclean
i moje wolne miejsce spadło o 45 MB. clean
Ponowne uruchomienie zwolniło tę dodatkową przestrzeń.
dpkg --get-selections | grep linux-image
co spowodowałem błąd rozruchu - ubuntu zniknęło z menu rozruchowego gruba - ta odpowiedź rozwiązała problem - spróbuj nie usunąć najnowszego obrazu
sudo apt-get clean
Będzie -simply- usunąć pakietów wszystkie lokalne kopie pakietów, które mogą mieć pobrane podczas instalacji + aktualizacji. To prawie opróżni katalog / var / cache / apt / archives. ... Więc następnym uruchomieniu sudo apt-get update
go będzie ponownie pobrać wszystko (już nie istnieje). Tylko heads-up! .. :)
pokaż 10 największych podkatalogów w bieżącym reż.
du -sk * | sort -nr | head -10
użyj filelight lub kDirStat, aby zobaczyć, dokąd zmierza miejsce na dysku
sprawdź, czy masz stare jądra do usunięcia
ls -lh /boot
czyszczenie paczek
sudo apt-get autoremove
sudo apt-get autoclean
zobacz listę wszystkich zainstalowanych pakietów, posortowaną według rozmiaru. Jeśli zobaczysz coś dużego i nie używaj go - odinstaluj go
dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less
wyczyść nieużywane pliki językowe z tłumaczeniami (jest ich mnóstwo)
sudo apt-get install localepurge
sprawdź zawartość / var / tmp /
du -sh /var/tmp/
sprawdź także
man deborphan
Szukaj dużych plików:
find / -type f -size +1024k
lub
find / -size +50000 -exec ls -lahg {} \;
duże zainstalowane pakiety
dpigs
jest to część pakietu: debian-goodies
ncdu
, który zapewnia szybki sposób sprawdzenia, jakie katalogi wykorzystują miejsce na dysku
kDirStat
zastępuje siębaobab
Właśnie uwolniłem prawie 2 koncerty, usuwając stare jądra i pliki nagłówkowe:
posługiwać się
uname -r
a następnie sprawdź swoją bieżącą wersję
dpkg -l linux-image-* linux-headers-*
aby zobaczyć wszystkie stare jądra i pliki nagłówków
sudo apt-get remove linux-image-<XYZ> linux-headers-<XYZ>
apt-get remove
komenda obsługuje symboli wieloznacznych, więc można zrobić, apt-get remove linux-image 3.0.* linux-headers-3.0.*
na przykład, aby pozbyć się wielu naraz.
Oczywiście upewnij się, że nie zabijesz, usuń obecne jądro! I może zachowaj jedną lub dwie starsze wersje, na wszelki wypadek ... ale nie 10 lub 20!
Naprawdę polecam ci program BleachBit, który czyści wszystko na Ubuntu.
Zainstaluj go za pomocą następującego polecenia:
sudo apt-get install bleachbit
Niektóre paczki mogą być dość duże. Wygodnym sposobem ich znalezienia jest użycie dpigs
. Nie jest domyślnie instalowany, ale można go znaleźć w debian-goodies
( projekt GitHub )
sudo apt-get install debian-goodies
Następnie:
$ dpigs
419576 texlive-latex-extra-doc
204112 nvidia-319
175463 google-chrome-stable
141058 linux-image-extra-3.11.0-15-generic
113173 libreoffice-core
104822 valgrind
102322 qt4-doc
93337 blender
91105 texlive-pstricks-doc
90517 libboost1.53-dev
Istnieje kilka opcji:
-n, --lines=N
Display the N largest packages on the system (default 10).
-s, --status=status-file
Use status-file instead of the default dpkg status file.
-S, --source
Display the largest source packages of binary packages installed
on the system.
-H, --human-readable
Display package sizes in human-readable format (like ls -lh or du -h)
-h, --help
Display this message.
Uwaga: Jeśli właśnie zaktualizowałeś jądro, uruchom ponownie przed usunięciem starszych wersji!
Pamiętaj, aby sprawdzić, którego jądra używasz:
uname -r
Następnie jako root:
sudo apt-get remove --purge $(dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d')
przeczytaj ten wątek, aby być bezpiecznym i nie usuwać niezbędnych jąder za pomocą tego polecenia!
Jeśli używasz UFW, sprawdź folder dziennika. Na jednym z moich komputerów UFW generował 8 Gb dzienników w ciągu kilku dni.
Możesz również opróżnić apt cache za pomocą:
sudo apt-get clean
Spróbuj użyć BleachBit ( znajduje się w sourceforge ). To świetny program. podstawową ideą jest to, że szybko zwalnia miejsce na dysku i usuwa wiele śmieci ukrytych w systemie. Istnieje około 70 aplikacji, które można rozpoznać i wyczyścić. Istnieje również możliwość użycia go do „wyczyszczenia” wolnego miejsca na dysku. Myślę o tym jak o CCleaner z Windows tylko dla Linuksa.
Sprawdź też dużą liczbę plików dziennika:
sudo du -h /var/log
Lub, jak zaznacza rubo77 w poleceniach, możesz użyć narzędzia do użycia dysku NCurses:
sudo ncdu /var/log
sudo ncdu /var/log
Po pierwsze, istnieje narzędzie do wyświetlania listy wszystkich dużych folderów i plików. Po prostu wpisz „Baobab” w programie uruchamiającym. Usuwając niepotrzebne foldery i pliki, zyskujesz więcej miejsca.
Następnie jest program do usuwania podwójnych plików. Program nazywa się fslint
. Zainstaluj go, wprowadzając
sudo apt-get install fslint
w terminalu.
lub graficznie
Możesz również wyczyścić pamięć podręczną pakietów za pomocą
sudo apt-get autoclean
sudo apt-get clean
sudo apt-get autoremove
Czwarty krok polega na usunięciu starych wpisów jądra. Możesz to zrobić, instalując i otwierając Synaptic. W Synaptic wyszukaj stare wpisy jądra (każdy wpis jądra wyświetlany w GRUB-ie, oprócz najnowszych) i usuń go.
Jednym dobrym krokiem jest usunięcie pamięci podręcznej aplikacji. Zrób to, instalując i uruchamiając bleachbit
:
sudo apt-get install bleachbit
lub graficznie
Ważne: Usuniętej pamięci podręcznej nie można przywrócić!
Ostatnim krokiem jest defragmentacja systemu plików. Wykonaj następujące czynności:
cd $HOME
git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
cd e2fsprogs
./configure
make
Za pomocą tych poleceń pobierasz i kompilujesz e2fsprogs. (Jeśli Ty lub społeczność masz lepszy sposób na zainstalowanie programu, edytuj!)
Upewnij się także, że git-core
jest zainstalowany. Jeśli nie, wykonaj:
sudo apt-get install git-core
lub za pomocą Centrum oprogramowania
Teraz możesz uruchomić program za pomocą:
cd $HOME/e2fsprogs/misc
./e4defrag /dev/sda1 #defragment /dev/sda1
./e4defrag -v /dev/sda1 # verbose output
./e4defrag -c /dev/sda1 # see overview of fragmentation status
Zamień / dev / sda1 na żądany system plików lub folder / plik. Pamiętaj, że do defragmentacji urządzenia (takiego jak dysk twardy) potrzebujesz uprawnień roota, ale nie własnych plików.
Źródło (niemiecki): tutaj
sudo apt-get install ncdu
Ten skrypt wykona największe porcje na konsoli:
--purge
przełącznika z apt-get
)utwórz plik z tą zawartością i nadaj mu prawa do wykonywania:
#!/bin/bash
# Adapted from 71529-ubucleaner.sh - http://www.opendesktop.org/CONTENT/content-files/71529-ubucleaner.sh
OLDCONF=$(dpkg -l|grep "^rc"|awk '{print $2}')
CURKERNEL=$(uname -r|sed 's/-*[a-z]//g'|sed 's/-386//g')
LINUXPKG="linux-(image|headers|ubuntu-modules|restricted-modules)"
METALINUXPKG="linux-(image|headers|restricted-modules)-(generic|i386|server|common|rt|xen)"
OLDKERNELS=$(dpkg -l|awk '{print $2}'|grep -E $LINUXPKG |grep -vE $METALINUXPKG|grep -v $CURKERNEL)
YELLOW="\033[1;33m"; RED="\033[0;31m"; ENDCOLOR="\033[0m"
if [ $USER != root ]; then
echo -e $RED"Error: must be root! Exiting..."$ENDCOLOR
exit 0
fi
echo -e $YELLOW"Cleaning apt ..."$ENDCOLOR
aptitude clean
apt-get autoremove
apt-get autoclean
echo -e $YELLOW"Those packages were uninstalled without --purge:"$ENDCOLOR
echo $OLDCONF
#apt-get purge "$OLDCONF" # fixes the error in the original script
for PKGNAME in $OLDCONF ; do # a better way to handle errors
echo -e $YELLOW"Purge package $PKGNAME"
apt-cache show "$PKGNAME"|grep Description: -A3
apt-get -y purge "$PKGNAME"
done
echo -e $YELLOW"Removing old kernels..."$ENDCOLOR
echo current kernel you are using:
uname -a
aptitude purge $OLDKERNELS
echo -e $YELLOW"Emptying every trashes..."$ENDCOLOR
rm -rf /home/*/.local/share/Trash/*/** &> /dev/null
rm -rf /root/.local/share/Trash/*/** &> /dev/null
echo -e $YELLOW"Script Finished!"$ENDCOLOR
Na podstawie 71529-ubucleaner.sh
Niektóre narzędzia, które pomogą Ci znaleźć duże foldery i pakiety:
sudo apt-get install ncdu debian-goodies deborphan
sudo ncdu / # lists all folders by size on the console (like the gui `baobab`)
dpigs -H # shows large packages that you don't use
man deborphan # finds packages that have no packages depending on them
deborphan --guess-all --libdevel | xargs apt-get -s purge
Użyj narzędzia localepurge, aby odinstalować nieużywane języki w systemie:
sudo apt-get install localepurge
LANG=c snap list --all | awk '/disabled/{print $1, $3}' | \
while read snapname revision; do \
snap remove "$snapname" --revision="$revision"; \
done
Świetne narzędzie graficzne GUI spełniające wszystkie potrzeby:
sudo apt-get install bleachbit
Dodatkowo możesz usunąć strony podręcznika i dokumentację zgodnie z opisem na Wiki Ubuntu :
Utwórz plik /etc/dpkg/dpkg.cfg.d/01_nodoc, który określa pożądane filtry. Przykład:
path-exclude /usr/share/doc/*
# if we need to keep copyright files for legal reasons:
# path-include /usr/share/doc/*/copyright
path-exclude /usr/share/man/*
path-exclude /usr/share/groff/*
path-exclude /usr/share/info/*
# lintian stuff is small, but really unnecessary
path-exclude /usr/share/lintian/*
path-exclude /usr/share/linda/*
Usuń ten sam zestaw plików i katalogów z postinst projektu-config. Przykład:
echo "Removing documentation..."
# if we need to keep copyright files for legal reasons:
# find /usr/share/doc -depth -type f ! -name copyright | xargs rm || true
# else:
find /usr/share/doc -depth -type f | xargs rm || true
rm -rf /usr/share/man/* /usr/share/groff/* /usr/share/info/* /usr/share/lintian/* /usr/share/linda/* /var/cache/man/*
uname -a
. Jeśli przed chwilą zrobiłeś apt-get przed aktualizacją i otrzymałeś nowe jądro, może to być przyczyną, że bieżący program, którego używasz, nie jest zainstalowany. Wykonaj ponowny rozruch przed uruchomieniem tego skryptu
Katalog „/ tmp” nigdy nie powinien być czyszczony ręcznie, chyba że jest to absolutnie konieczne (tj .: zamknięta aplikacja nie wyczyściła się po sobie).
Możesz wyszukać, gdzie może zapełnić się miejsce, używając polecenia „du”; zazwyczaj interesujące miejsca znajdują się w „/ var”. Aby wymienić dwóch typowych podejrzanych: „/ var / log” i „/ var / cache”. Chociaż miałem kilku użytkowników, którzy instalują narzędzie do tworzenia kopii zapasowych i nigdy nie zdają sobie sprawy, że tworzy ono GB przyrostowych kopii zapasowych w „/ var / backup”, które gromadzą się przez tydzień lub miesiąc, aby wypełnić całe miejsce na dysku.
Użyj ubuntu-tweak do czyszczenia.
czyści wszystkie pliki * .deb pobrane do aplikacji instalacyjnych.
Jeśli już usunąłeś dużo śmieci, ale przestrzeń dyskowa nie wydaje się oczyszczona, po prostu uruchom ponownie Ubuntu. Lub jeśli nie chcesz restartować, po prostu uruchom polecenie jak w podobnym pytaniu .
sudo service rsyslog restart
Kiedy potrzebuję zrobić więcej wolnego miejsca na serwerach, używam tego polecenia. Znajduje wszystkie pliki większe niż 50 MB i „du -h” tworzy lepszą listę plików, a „sort -n” po potoku tworzy listę numerycznie posortowaną według rozmiaru pliku.
find / -size +50M -type f -exec du -h {} \; | sort -n
ncdu /
zamiast
du -h
, użyj sort -h
również.