Mémoire carte SD remplie

Matériel: Raspberry Pi à la maison
Version de YunoHost: 4.2.8
J’ai accès à mon serveur : En SSH | Par la webadmin

Bonjour,

Depuis hier je me suis rendu compte que qu’il n’y a plus d’espace libre sur la carte SD du Raspberry. Du coup il n’y a plus grand chose qui fonctionne correctement. Je n’ai pas installé d’applications supplémentaires, je ne pense pas avoir fait quoi que ce soit de particulier… je ne sais pas comment voir ce qui a rempli la mémoire comme ça.
Normalement ce n’est pas des backup car ils sont archivés sur un disque externe. Avez vous une idée ?
Quand je fais un diagnostic ça me dit que le service mysql et postgresql sont failed
Merci pour votre aide

Par hasard, as-tu Nextcloud d’installé ? (j’ai eu un problème similaire à cause de lui, c’est pour voir si ça pourrait être pareil)

Astuce pour libérer de la place vite fait sans supprimer de données (importantes) : apt-get clean, ça vide le cache d’apt (qui gère les mises à jour), on gagne souvent quelques centaines de Mo (mais temporairement, il va les retélécharger à un moment).
Ça permet de tout refaire fonctionner le temps de corriger le problème.

Merci pour ta réponse. Le apt-get clean a libéré un peu de mémoire en effet.
Oui j’ai bien nextcloud installé sur la carte. Les données sont stoquées sur un disque externe.

Alors j’ai une piste : un problème avec Nextcloud, peut-être que dans les versions récentes, qui indexe n’importe comment les stockages externes.

Pour vérifier : peux-tu lancer la commande du -sh /var/lib/mysql/nextcloud ?
Ou juste donner la taille du fichier /var/lib/mysql/nextcloud/oc_filecache.ibd.

Alors, pour la première commande ça me donne 177M, et pour la deuxième on a 140M

Ok, alors vraisemblablement ce n’est pas ça le problème.

Sais-tu ce qui a pris de l’espace récemment ?
Déjà pour connaître la répartition dans l’architecture des fichiers, tu peux faire sudo du/* -sh, ça donnera la répartition dans le premier niveau de l’arborescence des dossiers.
(Je recommande assez fort l’usage de dust GitHub - bootandy/dust: A more intuitive version of du in rust, qui permet de juster tapper “dust /chemin” et d’avoir directe une vue en arbre de quels dossiers/fichiers prennent le plus de place)

Ça permettra déjà de voir qu’est-ce qui prend le plus de place.

Voici ce que donne la commande sudo du /* -sh :

0	/bin
49M	/boot
54M	/boot.bak
0	/dev
18M	/etc
24M	/home
0	/lib
136K	/log
16K	/lost+found
150G	/media
4.0K	/mnt
357M	/opt
du: cannot access '/proc/26538/task/26538/fd/4': No such file or directory
du: cannot access '/proc/26538/task/26538/fdinfo/4': No such file or directory
du: cannot access '/proc/26538/fd/3': No such file or directory
du: cannot access '/proc/26538/fdinfo/3': No such file or directory
0	/proc
420M	/root
225M	/run
0	/sbin
4.0K	/srv
0	/sys
108K	/tmp
3.1G	/usr
2.4G	/var

(Désolé je n’ai pas encore pris le temps de regarder ta recommandation…)

J’ai quelques autres informations qui pourraient aider au diagnostique de la situation :
J’ai reçu des mails de ce genre là de la part du mail delivery system quand j’ai voulu envoyer deux mails :

Transcript of session follows.

 Out: 220 mondomaine.tld Service ready
 In:  EHLO evo1mta1b26.emstechnology2.net
 Out: 250-mondomaine.tld
 Out: 250-PIPELINING
 Out: 250-SIZE 35914708
 Out: 250-ETRN
 Out: 250-STARTTLS
 Out: 250-ENHANCEDSTATUSCODES
 Out: 250-8BITMIME
 Out: 250-DSN
 Out: 250 CHUNKING
 In:  STARTTLS
 Out: 220 2.0.0 Ready to start TLS
 In:  EHLO evo1mta1b26.emstechnology2.net
 Out: 250-mondomaine.tld
 Out: 250-PIPELINING
 Out: 250-SIZE 35914708
 Out: 250-ETRN
 Out: 250-AUTH PLAIN LOGIN
 Out: 250-AUTH=PLAIN LOGIN
 Out: 250-ENHANCEDSTATUSCODES
 Out: 250-8BITMIME
 Out: 250-DSN
 Out: 250 CHUNKING
 In:  MAIL
     FROM:<p-naxr5w8ujh7bfl37p9zakqprsr7mbptfguxxjdwtllm3ww4plx8zucq-NMJCI@*****.*****>
     BODY=8BITMIME
 Out: 452 4.3.1 Insufficient system storage
 In:  QUIT
 Out: 221 2.0.0 Bye


For other details, see the local mail logfile

Et la semaine dernière j’ai édité crontab afin qu’il supprime les backup de plus d’une semaine sur mon disque externe de sauvegarde :

00 02 * * 1,3,5 yunohost backup create
30 02 * * * yunohost backup create --system
00 03 * * 1,3,5 find /media/backup_store/yunohost_backup_archives -mtime +7 -delete

Merci beaucoup pour ton aide et vraiment désolé pour la réponse tardive.

Je recommande assez fort l’usage de dust GitHub - bootandy/dust: A more intuitive version of du in rust 2, qui permet de juster tapper “dust /chemin” et d’avoir directe une vue en arbre de quels dossiers/fichiers prennent le plus de place

Pour dust je ne comprends pas comment ça s’installe… (oui je ne suis pas très doué :sleepy:)

C’est un peu technique malheureusement, car à ma connaissance il n’y a pas de paquet tout prêt pour debian.

De mémoire:

  • apt install cargo pour installer cargo, l’utilitaire du language Rust pour installer/compiler un logiciel écrit en Rust.
  • ensuite cargo install du-dust. Il va compiler, ça prend un certain temps, et c’est bon.

J’ai pu installer cargo sans problème. Par contre pour compiler dust ça termine avec un erreur :

error[E0658]: `if` is not allowed in a `const fn`
  --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/clap-2.33.3/src/app/settings.rs:7:1
   |
7  | / bitflags! {
8  | |     struct Flags: u64 {
9  | |         const SC_NEGATE_REQS       = 1;
10 | |         const SC_REQUIRED          = 1 << 1;
...  |
51 | |     }
52 | | }
   | |_^
   |
   = note: for more information, see https://github.com/rust-lang/rust/issues/49146
   = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)

error[E0658]: `if` is not allowed in a `const fn`
  --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/clap-2.33.3/src/args/settings.rs:6:1
   |
6  | / bitflags! {
7  | |     struct Flags: u32 {
8  | |         const REQUIRED         = 1;
9  | |         const MULTIPLE         = 1 << 1;
...  |
28 | |     }
29 | | }
   | |_^
   |
   = note: for more information, see https://github.com/rust-lang/rust/issues/49146
   = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)

   Compiling crossbeam-deque v0.8.1
   Compiling regex v1.5.4
error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0658`.
error: could not compile `clap`.
warning: build failed, waiting for other jobs to finish...
error: failed to compile `du-dust v0.7.0`, intermediate artifacts can be found at `/tmp/cargo-installwEWiWh`

Caused by:
  build failed

Et une chose que je ne comprends pas, avec la commande du /* -sh la somme des espaces occupé par les dossiers ne fait pas 56 Go… Quelque chose m’échappe…

Edit: ah ben par réflexe j’ai répondu en anglais :sweat_smile:

Je recommence en français:

Après une recherche rapide, ça semble être un problème de version de cargo/rustc(ompiler).
Cf. les liens ci-dessous.

Que donnent cargo --version et rustc --version ?

L’autre solution, plus “simple” (que celle-ci quand elle ne fonctionne pas) serait de télécharger l’archive depuis la page github (pages “releases”). En choisissant la bonne architecture (uname -a te dira si ton serveur est sous architecture x86_64, arm, …), télécharge l’archive dédiée avec wget AdresseDeLarchive puis suit les instructions d’installation du readme de github.


[English version]

After a quick search, it seems to be an issue with a non up-to-date rust compiler version…

But I’m not 100% sure.

Can you run cargo --version and rustc --version ?

Otherwise, the simpler solution would be to install dust using the archive provided on the release page (on github). You need to choose the right architecture (uname -a will show you if you’re on x86_64, arm, …), download the archive using wget TheArchiveURL then follow the instructions on the install guide (in the github readme).

En effet c’est peut être bien une histoire de version. La version de cargo c’est 1.42.1 et rustc c’est 1.41.1. Sur le premier lien que tu as partagé ça dit qu’il y a une version 1.52.0.
Pour upgrader il faut que je tape ça :

curl https://sh.rustup.rs -sSf | sh 

?

Je ne sais pas, désolé.

Salut Lapineige,

J’ai réussi à installer dust en téléchargeant l’archive puis en suivant les instructions de Github. J’ai donc pu lancer dust sur la racine. Et en effet on voit bien plus clairement la répartitions de la mémoire !
On remarque tout de suite que dans le dossier /media j’avais une parti de mes backups qui ce sont stockés sur la carte SD au lieu d’être envoyés sur le disque dur externe (un problème de montage de disque vraisemblablement). Après suppression de cette anomalie, tout est revenu à la normale.

Merci beaucoup pour le temps que tu m’as accordé ! Et aussi merci de l’avoir fait découvrir dust qui est vraiment très pratique.

1 Like

Ah comme quoi le dénouement était inattendu ^^