Comment analyser l’espace disque sous Linux avec Ncdu

ncdu (NCurses Disk Usage) est un outil Linux très puissant et facile à utiliser qui permet d’analyser les disques pour voir les fichiers et répertoires volumineux qui prends de l’espace de vos partitions. ncdu se base sur la commande du.

Cliquer ici pour voir les outils qui permet de trouver les fichiers et dossiers volumineux sous Windows.

Installation :

Ici je vais présenter l’installation sur Redhat, CentOS :

Par défaut, les dépôts de CentOS ou de Red Hat Enterprise Linux ne contiennent pas tous les logiciels. pour installer ncdu vous devez ajouter le dépôt EPEL (Extra Packages for Enterprise Linux), pour cela taper la commande ci-dessous :

[root@srv ~]# yum install epel-release

Installer ensuite ncdu :

[root@srv ~]# yum install ncdu

Utilisation :

Il suffit de taper la commande :

[root@srv ~]# ncdu

ncdu

La commande scanne le répertoire dans lequel vous vous trouvez, ici je suis sur /root.

Après analyse, l’outil affiche la taille d’occupation de chaque répertoire et fichiers triés par ordre décroissant

ncdu 1.15.1 ~ Use the arrow keys to navigate, press ? for help
--- /root ---------------------------------------------------------------------------------------------------------------------------------------------------------------
41,6 MiB [##########] vagrant_2.2.9_x86_64.rpm
36,2 MiB [######## ] vagrant
11,2 MiB [## ] /kernel
10,7 MiB [## ] linux-headers-5.7.0-050700_5.7.0-050700.202006082127_all.deb
2,6 MiB [ ] linux-headers-5.0.0-050000_5.0.0-050000.201903032031_all.deb
1,5 MiB [ ] output
48,0 KiB [ ] scp.png
28,0 KiB [ ] mysql80-community-release-el7-3.noarch.rpm
20,0 KiB [ ] sorti
16,0 KiB [ ] 1-130x90.png
16,0 KiB [ ] .bash_history
16,0 KiB [ ] /.vagrant.d
12,0 KiB [ ] README.mirrors.txt
12,0 KiB [ ] archive_rep.tar
12,0 KiB [ ] sitedetout.png
4,0 KiB [ ] .viminfo
4,0 KiB [ ] bug-log-access.txt
4,0 KiB [ ] anaconda-ks.cfg
4,0 KiB [ ] /.ssh
4,0 KiB [ ] 1
4,0 KiB [ ] .bashrc
4,0 KiB [ ] .bash_profile
4,0 KiB [ ] .tcshrc
4,0 KiB [ ] .cshrc
4,0 KiB [ ] monIP
4,0 KiB [ ] .lesshst
4,0 KiB [ ] .bash_logout
0,0 B [ ] /karim
0,0 B [ ] /.pki
0,0 B [ ] /.ansible

Utilisez les flèches haut/bas pour se déplacer entre les éléments, taper « i » pour voir le détaille de l’élément sélectionné et retaper « i » pour fermer la fenêtre affichée :
ncdu

Pour afficher les éléments dans le répertoire sélectionné, appuyez sur la flèche «droite» ou sur la touche ENTRÉE. Il affichera la liste des fichiers ou répertoires dans le répertoire sélectionné, pour revenir au répertoire parent, appuyez sur la flèche «gauche».

ncdu

Et si je veux analyser un répertoire en particulier ? C’est simple il suffit d’indiquer le chemin de ce celui-ci :

[root@srv ~]# ncdu /root/kernel/
ncdu 1.15.1 ~ Use the arrow keys to navigate, press ? for help
--- /root/kernel --------------------------------------------------------------------------------------------------------------------------------------------------------
10,1 MiB [##########] linux-headers-5.0.0-050000_5.0.0-050000.201903032031_all.deb
1,1 MiB [# ] linux-headers-5.0.0-050000-generic_5.0.0-050000.201903032031_amd64.deb

Si vous souhaitez voir le résultat d’une analyse plus tard., dans ce cas il suffit d’exporter les résultats dans n’importe quel format d’archive pour une visualisation ultérieure :

[root@srv /]# ncdu -1xo- / | gzip > export.gz
/opt/vagrant/embedded/lib/ruby/2.6.0/irb/ruby-lex.rb 47672 files

Pour visualiser le rapport utiliser la commande zcat comme ci-dessous :

zcat export.gz | ncdu -f-

ncdu vous permet aussi de scanner un serveur distant grâce à la commande ci-dessous :

#ssh -C user@@IP ncdu -o- / | ncdu -f-