Mon serveur cloud Ubuntu n'a laissé que 900 Mo d’espace disque.
Je vais juste vider le répertoire / tmp et me demander s’il ya un autre endroit à nettoyer.
Pour supprimer les paquets téléchargés (.deb) déjà installés (et qui ne sont plus nécessaires)
sudo apt-get clean
Pour supprimer toutes les archives stockées dans votre cache pour les packages qui ne peuvent plus être téléchargés (donc les packages qui ne sont plus dans le référentiel ou qui ont une version plus récente dans le référentiel).
sudo apt-get autoclean
Pour supprimer les paquets inutiles (après avoir désinstallé une application, il pourrait y avoir des paquets dont vous n’avez plus besoin)
sudo apt-get autoremove
Pour supprimer les anciennes versions du noyau
sudo apt-get remove --purge linux-image-X.X.XX-XX-generic
Si vous ne savez pas quelle version du noyau supprimer
dpkg --get-selections | grep linux-image
Source: Limpiando Ubuntu: comandos y programas ( actualización) ( google traduction )
affiche les 10 plus gros sous-répertoires du répertoire actuel.
du -sk * | sort -nr | head -10
utilisez filelight ou kDirStat pour voir où l’espace disque va visuellement
vérifiez si vous avez d'anciens noyaux à supprimer
ls -lh /boot
nettoyage des paquets
sudo apt-get autoremove
sudo apt-get autoclean
voir la liste de tous les paquets installés, triés par taille. Si vous voyez quelque chose de gros et que vous ne l'utilisez pas, désinstallez-le
dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less
Nettoyer les fichiers de langue non utilisés avec des traductions (il y en a des tonnes)
sudo apt-get install localepurge
vérifier le contenu de / var / tmp /
du -sh /var/tmp/
vérifier aussi
man deborphan
Rechercher des fichiers volumineux:
find / -type f -size +1024k
ou
find / -size +50000 -exec ls -lahg {} \;
Je viens de libérer près de 2 concerts en supprimant les anciens noyaux et fichiers d'en-tête:
utiliser
uname -r
pour vérifier votre version actuelle, puis
dpkg -l linux-image-* linux-headers-*
pour voir tous les anciens noyaux et fichiers d’en-tête, alors
sudo apt-get remove linux-image-<XYZ> linux-headers-<XYZ>
la commande apt-get remove
supporte les caractères génériques, vous pouvez donc faire apt-get remove linux-image 3.0.* linux-headers-3.0.*
par exemple, pour vous débarrasser d'un grand nombre de fichiers.
Assurez-vous de ne pas supprimer le noyau actuel bien sûr! Et peut-être garder une ou deux anciennes versions, au cas où ... mais pas 10 ou 20!
Je vous recommande vraiment le programme BleachBit, qui nettoie tout sur Ubuntu.
Installez-le à l'aide de la commande suivante:
sudo apt-get install bleachbit
Si vous utilisez UFW, consultez le dossier du journal. Sur une de mes machines, UFW générait 8 Go de journaux en quelques jours.
Vous pouvez également vider le cache apt avec:
sudo apt-get clean
Essayez d'utiliser BleachBit ( situé à sourceforge ). C'est un excellent programme. L’idée de base est qu’elle libère rapidement de l’espace disque et supprime une grande partie de l’espace caché dans le système. Il y a environ 70 applications qu'il peut reconnaître et nettoyer. Il est également possible de l'utiliser pour "effacer" l'espace disque disponible. Je le considère comme CCleaner à partir de Windows uniquement pour Linux.
Certains paquets peuvent être assez gros. Un moyen pratique de les trouver consiste à utiliser dpigs
. Il n'est pas installé par défaut mais peut être trouvé dans debian-goodies
(GitHub project )
sudo apt-get install debian-goodies
Alors:
$ 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
Il y a quelques options:
-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.
Attention: si vous venez de mettre à niveau le noyau, redémarrez-le avant de supprimer les anciennes versions!
N'oubliez pas de vérifier le type de noyau utilisé:
uname -r
Puis en tant que root:
sudo apt-get remove --purge $(dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)//")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*//;/[0-9]/!d')
lisez ce thread pour être sûr de ne pas supprimer les noyaux nécessaires avec cette commande!
Recherchez également un grand nombre de fichiers journaux:
sudo du -h /var/log
Ou comme rubo77 souligne dans les commentaires, vous pouvez utiliser l'outil d'utilisation du disque NCurses:
sudo ncdu /var/log
Tout d’abord, il existe un outil permettant de répertorier tous les gros dossiers et fichiers. Tapez simplement «Baobab» dans le lanceur. En supprimant les dossiers et les fichiers, vous n’avez pas besoin de plus d’espace.
Ensuite, il existe un programme pour supprimer les fichiers doubles. Le programme s'appelle fslint
.
Installez-le en entrant
sudo apt-get install fslint
dans un terminal.
ou graphiquement
Vous pouvez également effacer le cache du paquet avec
sudo apt-get autoclean
sudo apt-get clean
sudo apt-get autoremove
La quatrième étape consiste à supprimer les anciennes entrées du noyau. Vous pouvez le faire en installant et en ouvrant Synaptic. Dans Synaptic, recherchez les anciennes entrées du noyau (toutes les entrées du noyau affichées dans GRUB sauf la plus récente) et supprimez-la.
Une bonne étape consiste à supprimer le cache de l’application. Faites cela en installant et en exécutant bleachbit
:
sudo apt-get install bleachbit
ou graphiquement
Important: le cache supprimé ne peut pas être restauré!
La dernière étape consiste à défragmenter le système de fichiers. Procédez comme suit pour cela:
cd $HOME
git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
cd e2fsprogs
./configure
make
Avec ces commandes, vous téléchargez et compilez e2fsprogs. (Si vous ou la communauté avez un meilleur moyen d’installer le programme, veuillez le modifier!)
Assurez-vous également que git-core
est installé.
Sinon, exécutez:
sudo apt-get install git-core
ou en utilisant le Centre logiciel
Maintenant, vous pouvez exécuter le programme avec:
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
Remplacez / dev / sda1 par le système de fichiers ou le dossier / fichier souhaité. Notez que pour défragmenter un périphérique (tel que le disque dur), vous devez disposer de privilèges root, mais pas de vos propres fichiers.
Source (allemand): ici
Le répertoire '/ tmp' ne devrait jamais être nettoyé manuellement, sauf en cas d'absolue nécessité (c.-à-d. qu'une application fermée ne s'est pas nettoyée après elle-même).
Vous pouvez rechercher où l’espace peut se remplir en utilisant la commande 'du'; généralement les lieux d'intérêt sont à l'intérieur / var. Pour nommer deux suspects habituels '/ var / log' et '/ var / cache'. Bien que j'aie certains utilisateurs qui installent un utilitaire de sauvegarde et ne réalisent jamais qu'il crée des GB de sauvegardes incrémentielles dans '/ var / backup' qui se développent sur une semaine ou un mois pour remplir tout l'espace disque.
Ce script exécutera les plus gros blocs de la console:
--purge
avec apt-get
) créer un fichier avec ce contenu et lui donner des droits exécutables:
#!/bin/bash
# Adapted from 71529-ubucleaner.sh - http://www.opendesktop.org/CONTENT/content-files/71529-ubucleaner.sh
OLDCONF=$(dpkg -l|grep "^rc"|awk '{print }')
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 }'|grep -E $LINUXPKG |grep -vE $METALINUXPKG|grep -v $CURKERNEL)
YELLOW="3[1;33m"; RED="3[0;31m"; ENDCOLOR="3[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
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
Adapté de 71529-ubucleaner.sh
Quelques outils pour vous aider à trouver des dossiers et des paquets volumineux:
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
Utilisez localepurge pour désinstaller les langues non utilisées sur votre système:
sudo apt-get install localepurge
Un excellent outil graphique pour tous les besoins:
sudo apt-get install bleachbit
En outre, vous pouvez supprimer les pages de manuel et la documentation décrites dans le Wiki Ubuntu :
Créez un fichier /etc/dpkg/dpkg.cfg.d/01_nodoc qui spécifie les filtres souhaités. Exemple:
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/*
Supprimez le même ensemble de fichiers et de répertoires dans le postinst du projet-config. Exemple:
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/*
Lorsque j'ai besoin de libérer de l'espace sur les serveurs, j'utilise cette commande. Il trouve tous les fichiers plus gros que 50 Mo et "du -h" fait une meilleure liste de fichiers et "sort -n" après le canal make list numericcaly triés par taille de fichier.
find / -size +50M -type f -exec du -h {} \; | sort -n
Si vous avez déjà supprimé beaucoup de données indésirables, mais que l’espace disque ne semble pas nettoyé, redémarrez ubuntu. Ou si vous ne souhaitez pas redémarrer, exécutez simplement la commande, comme dans une question similaire .
sudo service rsyslog restart
Lire d'autres questions sur les étiquettes server