web-dev-qa-db-fra.com

Est-il prudent de supprimer manuellement le contenu / var / cache / apt?

Sur un système intégré avec un espace disque très limité, le dossier /var/cache/apt est rempli avec environ 700 Mo de srcpkgcache.bin.* et quelques gros fichiers *.bin.

Exécuter Sudo apt-get clean n'a pas fait de différence visible.

Est-il prudent de supprimer manuellement ces fichiers *.bin*?

21
ysap

Pas vraiment. Ces fichiers aident votre système à déterminer ce qui est disponible et ce qui ne l’est pas. Si vous videz ce répertoire, votre système apt-get sera en panne. Voici quelques conseils.

Tout d'abord, nettoyer automatiquement

ajouter un

DPkg::Post-Invoke { "apt-get clean"; };

à la fin de /etc/apt/apt.conf. Les processus apt et dpkg prendront plus de temps, mais votre répertoire de cache sera toujours propre.

Ensuite, supprimer des archives

Commencez par supprimer et désactiver toutes les archives sources (que vous n'utilisez pas). Sur un système embarqué, vous n'en avez probablement pas besoin. Ensuite, supprimez toutes les archives qui ne sont pas utilisées. Vous pouvez exécuter apt-cache policy pour savoir de quel dépôt provient un paquet si vous n'êtes pas sûr.

Plus Suppression des archives

Certains PPA sont horribles d'avoir un nombre énorme de paquets lorsqu'ils ne nécessitent que 1 ou 2. Essayez de désactiver ces PPA et d'installer simplement les fichiers deb manuellement. Vous gagnez de la place dans ces cas, mais vous perdez la mise à jour automatique. N'oubliez pas que dpkg gérera les dépendances. Vous pouvez donc toujours installer thing-with-tonnes-of-deps.deb, puis exécuter apt-get -f install pour récupérer les dépendances.

Réponse totalement extrême 1

Parce qu'ils parlaient d'un système intégré, 90% des pensions principales ne vous serviraient à rien. Pour gérer cela, vous pouvez utiliser votre propre serveur apt-get repo Voir ce lien . Ce n'est pas facile et c'est un PIA pour une seule machine. Mais si vous avez plusieurs de ces machines, cela en vaut la peine. (Votre serveur de référentiel peut héberger juste un sous-ensemble de paquets que vous utilisez réellement. Vous n'avez pas besoin de mettre tout en miroir)

Réponse Totalement Extrême 2

Si l'espace est vraiment un gros problème, vous pouvez tout de même désactiver apt et rétablir l'installation manuelle via dpkg. J'ai eu à le faire sur plusieurs systèmes embarqués. Cela fonctionne, mais c'est un cauchemar d'administrateur.

11
coteyr

Vous pouvez bien sûr supprimer pkgcache.bin et srcpkgcache.bin, rien ne se passe. Il suffit d’exécuter apt-get update pour les recréer.

2
Tomas M

Conservez les pkgcache.bin et srcpkgcache.bin, vous pouvez supprimer les autres en toute sécurité. Ne touchez pas les annuaires!

1
Frantique

Vous pouvez bien sûr créer un partage NFS (système de fichiers réseau) pour cela. Laissez ces fichiers sur un serveur et montez le partage uniquement lorsque vous souhaitez mettre à jour/installer des packages. De toute façon, dans les environnements intégrés, l’installation sera relativement statique.

sshfs est une autre bonne option, il est beaucoup plus facile à configurer (ne nécessite fondamentalement que SSH, ce qui est standard), mais il a plus de temps système (plus lent).

0
jippie