Mein Ubuntu-Cloud-Server hat nur noch 900 MB Festplattenspeicher.
Ich werde einfach das Verzeichnis / tmp leeren und mich fragen, ob es noch einen anderen Ort zum Aufräumen gibt.
sudo docker container prune -f && sudo docker image prune -f
Mein Ubuntu-Cloud-Server hat nur noch 900 MB Festplattenspeicher.
Ich werde einfach das Verzeichnis / tmp leeren und mich fragen, ob es noch einen anderen Ort zum Aufräumen gibt.
sudo docker container prune -f && sudo docker image prune -f
Antworten:
sudo apt-get autoremove
Dadurch können viele ausgetauschte Guff (alte Kernel usw.) entfernt werden. Ähnliches können Sie in Synaptic tun (laden Sie es und klicken Sie auf die Statusschaltfläche und dann auf die Option Automatisch entfernbar).
aptitude
anstelle von verwenden apt-get
, kann es bereinigt werden, aber es ist durchaus üblich, dass ältere Installationen eine Reihe installierter Kernel sammeln, wenn Sicherheitsupdates veröffentlicht werden.
dpkg --get-selections | grep linux-image
).
So löschen Sie heruntergeladene Pakete (.deb), die bereits installiert sind (und nicht mehr benötigt werden)
sudo apt-get clean
Entfernen aller in Ihrem Cache gespeicherten Archive für Pakete, die nicht mehr heruntergeladen werden können (also Pakete, die sich nicht mehr im Repository befinden oder eine neuere Version im Repository haben).
sudo apt-get autoclean
So entfernen Sie nicht benötigte Pakete (Nach der Deinstallation einer App gibt es möglicherweise Pakete, die Sie nicht mehr benötigen.)
sudo apt-get autoremove
Alte Kernelversionen löschen
sudo apt-get remove --purge linux-image-X.X.XX-XX-generic
Wenn Sie nicht wissen, welche Kernelversion entfernt werden soll
dpkg --get-selections | grep linux-image
Quelle: Limpiando Ubuntu: comandos y programas (actualización) ( Google Translate )
clean
viel Platz frei gemacht. Unmittelbar danach lief ich autoclean
und mein freier Raum ging nach unten von 45 MB. Laufen clean
wieder diesen zusätzlichen Platz freigegeben.
dpkg --get-selections | grep linux-image
einen Boot-Fehler verursacht haben - das Ubuntu ist aus dem Grub-Boot-Menü verschwunden - diese Antwort hat das Problem behoben - versuche nicht, das neueste Image zu entfernen
sudo apt-get clean
Es wird -einfach- alle lokalen Kopien der Pakete entfernen, die Sie möglicherweise haben wird bei der Installation + Aktualisierung heruntergeladen. Dadurch wird das Verzeichnis / var / cache / apt / archives fast leer. ... Wenn Sie sudo apt-get update
es das nächste Mal ausführen , wird alles erneut heruntergeladen (bereits vorhanden). Nur ein Heads-up! .. :)
zeige die Top 10 der größten Subdirs im aktuellen Verzeichnis.
du -sk * | sort -nr | head -10
Verwenden Sie filelight oder kDirStat, um zu sehen, wohin der Speicherplatz optisch verschoben wird
Überprüfen Sie, ob Sie alte Kernel zum Löschen haben
ls -lh /boot
Reinigungspakete
sudo apt-get autoremove
sudo apt-get autoclean
siehe Liste aller installierten Pakete, sortiert nach Größe. Wenn Sie etwas Großes sehen und es nicht verwenden, deinstallieren Sie es
dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less
unbenutzte Sprachdateien mit Übersetzungen säubern (es gibt Unmengen davon)
sudo apt-get install localepurge
Überprüfen Sie den Inhalt von / var / tmp /
du -sh /var/tmp/
überprüfe auch
man deborphan
Suche nach großen Dateien:
find / -type f -size +1024k
oder
find / -size +50000 -exec ls -lahg {} \;
große installierte Pakete
dpigs
Dies ist Teil des Pakets: Debian-Goodies
ncdu
, die eine schnelle Möglichkeit bietet, um zu sehen, welche Verzeichnisse Ihren Speicherplatz
kDirStat
wird ersetzt durchbaobab
Ich habe gerade fast 2 Gigs freigesetzt, indem ich alte Kernel und Header-Dateien entfernt habe:
verwenden
uname -r
um dann Ihre aktuelle Version zu überprüfen
dpkg -l linux-image-* linux-headers-*
um dann alle alten Kernel und Header-Dateien zu sehen
sudo apt-get remove linux-image-<XYZ> linux-headers-<XYZ>
Der apt-get remove
Befehl unterstützt Platzhalter, sodass Sie apt-get remove linux-image 3.0.* linux-headers-3.0.*
beispielsweise viele auf einmal entfernen können.
Stellen Sie sicher, dass Sie nicht den aktuellen Kernel entfernen! Und vielleicht behalten Sie ein oder zwei alte Versionen, nur für den Fall ... aber nicht 10 oder 20!
Ich kann Ihnen das Programm BleachBit nur empfehlen, das alles auf Ubuntu bereinigt.
Installieren Sie es mit dem folgenden Befehl:
sudo apt-get install bleachbit
Einige Pakete können sehr groß sein. Eine bequeme Möglichkeit, diese zu finden, ist die Verwendung dpigs
. Es ist nicht standardmäßig installiert, kann aber in debian-goodies
( GitHub-Projekt ) gefunden werden
sudo apt-get install debian-goodies
Dann:
$ 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
Es gibt einige Möglichkeiten:
-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.
Achtung: Wenn Sie den Kernel gerade aktualisiert haben, starten Sie ihn neu, bevor Sie die älteren Versionen löschen!
Denken Sie daran, zu überprüfen, welchen Kernel Sie verwenden:
uname -r
Dann als 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')
Lesen Sie diesen Thread , um sicherzugehen, dass Sie die benötigten Kernel nicht mit diesem Befehl entfernen!
Wenn Sie UFW verwenden, überprüfen Sie den Protokollordner. Auf einem meiner Computer hat UFW in ein paar Tagen 8 GB Protokolle generiert.
Sie können den apt-Cache auch leeren mit:
sudo apt-get clean
Versuchen Sie es mit BleachBit ( bei SourceForge ). Es ist ein großartiges Programm. Die Grundidee ist, schnell Speicherplatz freizugeben und viel im System verborgenen Müll zu entfernen. Es gibt ungefähr 70 Anwendungen, die erkannt und gelöscht werden können. Es gibt auch die Möglichkeit, damit den freien Speicherplatz zu "löschen". Ich denke es als CCleaner von Windows nur für Linux.
Suchen Sie auch nach einer großen Anzahl von Protokolldateien:
sudo du -h /var/log
Oder, wie rubo77 in commends betont , können Sie das NCurses-Tool zur Datenträgerverwendung verwenden:
sudo ncdu /var/log
sudo ncdu /var/log
Erstens gibt es ein Tool zum Auflisten aller großen Ordner und Dateien. Geben Sie einfach "Baobab" in den Launcher ein. Durch das Entfernen von Ordnern und Dateien, die Sie nicht benötigen, erhalten Sie mehr Speicherplatz.
Dann gibt es ein Programm zum Entfernen doppelter Dateien. Das Programm wird aufgerufen fslint
. Installieren Sie es, indem Sie eingeben
sudo apt-get install fslint
in einem Terminal.
oder grafisch
Sie können den Paket-Cache auch mit löschen
sudo apt-get autoclean
sudo apt-get clean
sudo apt-get autoremove
Der vierte Schritt besteht darin, alte Kernel-Einträge zu entfernen. Sie können dies tun, indem Sie Synaptic installieren und öffnen. Suchen Sie in Synaptic nach den alten Kernel-Einträgen (alle Kernel-Einträge, die in GRUB angezeigt werden, mit Ausnahme des neuesten) und entfernen Sie sie.
Ein guter Schritt ist das Entfernen des Anwendungscaches. Führen Sie dazu die folgenden Schritte aus bleachbit
:
sudo apt-get install bleachbit
oder grafisch
Wichtig: Gelöschter Cache kann nicht wiederhergestellt werden!
Der letzte Schritt ist die Defragmentierung des Dateisystems. Tun Sie dazu Folgendes:
cd $HOME
git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
cd e2fsprogs
./configure
make
Mit diesen Befehlen können Sie e2fsprogs herunterladen und kompilieren. (Wenn Sie oder die Community eine bessere Möglichkeit haben, das Programm zu installieren, bearbeiten Sie es bitte!)
Stellen Sie außerdem sicher, dass git-core
installiert ist. Wenn nicht, führen Sie aus:
sudo apt-get install git-core
Jetzt können Sie das Programm ausführen mit:
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
Ersetzen Sie / dev / sda1 durch das gewünschte Dateisystem oder den gewünschten Ordner / die gewünschte Datei. Beachten Sie, dass Sie zum Defragmentieren eines Geräts (z. B. einer Festplatte) Root-Berechtigungen benötigen, nicht jedoch für Ihre eigenen Dateien.
Quelle: hier
sudo apt-get install ncdu
Dieses Skript führt die größten Blöcke auf der Konsole aus:
--purge
Schalter nicht mit verwenden apt-get
)erstelle eine Datei mit diesem Inhalt und gib ihr ausführbare Rechte:
#!/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
Angepasst von 71529-ubucleaner.sh
Einige Tools, mit denen Sie große Ordner und Pakete finden können:
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
Verwenden Sie localepurge, um nicht verwendete Sprachen in Ihrem System zu deinstallieren:
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
Ein großartiges grafisches GUI-Tool für alle Anforderungen:
sudo apt-get install bleachbit
Zusätzlich können Sie Hilfeseiten und Dokumentationen entfernen, wie im Ubuntu-Wiki beschrieben :
Erstellen Sie eine Datei /etc/dpkg/dpkg.cfg.d/01_nodoc, in der die gewünschten Filter angegeben sind. Beispiel:
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/*
Entfernen Sie den gleichen Satz von Dateien und Verzeichnissen in der Postinst der Projektkonfiguration. Beispiel:
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
. Falls Sie gerade einen apt-get-ugrade durchgeführt haben und einen neuen Kernel erhalten haben, könnte dies die Ursache sein, dass der aktuell verwendete Kurnel nicht der neueste ist, der installiert ist? Führen Sie dann einen Neu-Start durch, bevor Sie dieses Skript
Das '/ tmp'-Verzeichnis sollte niemals manuell bereinigt werden, es sei denn, dies ist absolut notwendig (dh eine geschlossene Anwendung hat nicht nach sich selbst bereinigt).
Mit dem Befehl 'du' können Sie suchen, wo der Speicherplatz möglicherweise voll ist. In der Regel befinden sich interessante Orte innerhalb von '/ var'. Um zwei übliche Verdächtige zu nennen: "/ var / log" und "/ var / cache". Obwohl ich einige Benutzer hatte, die ein Sicherungsdienstprogramm installierten und nie bemerkten, dass es inkrementelle GBs in '/ var / backup' erstellt, die sich über eine Woche oder einen Monat aufbauen, um den gesamten Festplattenspeicher zu füllen.
Verwenden Sie ubuntu-zwicken zu reinigen.
Es werden alle * .deb-Dateien gelöscht, die in Installations-Apps heruntergeladen wurden.
Wenn Sie bereits viel Junk gelöscht haben, aber der Speicherplatz nicht gereinigt zu sein scheint, starten Sie Ubuntu neu. Oder wenn Sie nicht neu starten möchten, führen Sie den Befehl wie in einer ähnlichen Frage aus .
sudo service rsyslog restart
Wenn ich mehr freien Speicherplatz auf Servern schaffen muss, verwende ich diesen Befehl. Alle Dateien, die größer als 50 MB sind, und "du -h" machen eine bessere Liste der Dateien und "sort -n" nach der Pipe machen Liste numerisch sortiert nach Dateigröße.
find / -size +50M -type f -exec du -h {} \; | sort -n
ncdu /
stattdessen besser Staub
du -h
, auch verwenden sort -h
.