2017-07-27 4 views

Répondre

3

Selon le Manuel de référence Yocto il est d'économiser pour supprimer le répertoire build/tmp complet, y compris le répertoire sstate-cache:

En dernier recours, pour nettoyer une accumulation et commencer à partir de zéro (autre que le téléchargements), vous pouvez supprimer tout dans le répertoire tmp ou se débarrasser complètement du répertoire. Si vous le faites, vous devez également supprimer complètement le répertoire build/sstate-cache. (voir [1] et [2])

De plus vous pouvez supprimer le sstate-cache avec bitbake pour une recette spécifique en appelant do_cleansstate comme indiqué ci-dessous (voir do_cleansstate).

$ bitbake -c cleansstate recipe 

S'il vous plaît être conscient que l'état partagé cache a besoin de beaucoup d'espace mémoire et il sera de plus en plus à nouveau à la taille dont il a besoin au cours de la construction de vos images.

Des informations plus détaillées sur le cache d'état partagé sont disponibles dans les sections suivantes du manuel de référence du Yocto: Shared State Cache et sstate-cache.

+0

Merci @ g0hl1n, vous voulez dire toutes les données de recettes compilées est présent dans le répertoire sstate-cache dir. si je supprime dir toutes les données de recette je vais perdre à droite? –

+0

Salut, non toutes les données compilées sont dans sstate-cache, certaines sont également dans le workdir. Et vous ne perdrez aucune recette en supprimant sstate-cache. Mais veuillez lire le manuel de référence (lié dans la réponse) pour plus de détails sur cette question. – g0hl1n

0

La tâche correcte pour cela est:

$ bitbake -c cleansstate <recipe-name> 

Voir: Yocto Reference Manual

Il y a plus de tâches de nettoyage, qui éliminent le cache sstate et plus encore (par exemple do_cleanall).

+0

merci @ h0ch5tr4355 –

1

J'ai en gras la partie qui a la commande pour réduire la taille du cache sstate; C'est une façon alternative de nettoyer le cache.

https://www.yoctoproject.org/sites/default/files/yocto_devday_advanced_class_sandiego.pdf slide 37

Sstate: recommandations

• Dans les systèmes complexes, il est recommandé de séparer les répertoires de sstate, par exemple les répertoires sstate natifs et non natifs, ainsi que différents BSPs et arcs .

• La réutilisation d'un seul répertoire se développera très rapidement très rapidement. Utilisez atime pour supprimer les anciens fichiers. Note: cela nécessite le système de fichiers monté avec atime/relatime que nous recommandons normalement de désactiver pour la performance de la performance .

trouver $ {sstate_dir} -name 'sstate *' -atime +3 -delete; fi *

• Recréez périodiquement sstate dans le nouveau répertoire et supprimez l'ancien répertoire sstate pour conserver la taille délimitée. Il peut y avoir des paquets ou des versions du paquet qui ne sont plus utilisés et qui prennent juste de la place.

• Bien qu'il soit possible d'utiliser d'autres protocoles pour le protocole sstate tels que HTTP et FTP, vous devez les éviter. L'utilisation du protocole HTTP limite la valeur de l'état sstat à la lecture seule et au protocole FTP.

• De plus, un fichier sstate manquant sur la cause du serveur http/ftp wget pour pendre depuis longtemps en raison des relances et délai d'attente

+0

Je ne suis pas sûr de ce qu'est le "fi *", mais sans que ça fonctionne bien. – vermaete