L'une de mes machines est le 2GB EeePC Surf , un netbook soigné avec des ressources très limitées. Si limité qu'en ce moment, il me reste 22 Mo d'espace libre.
Sur celui-ci, j'exécute Arch Linux avec l' Openbox DE et une foule d'applications nécessaires pour qu'il fonctionne comme un PC mobile.
Quelles méthodes sont disponibles pour éliminer un espace utilisé inutile?
arch-linux
openbox
efficiency
Stefan
la source
la source
du -sh /
pour voir où la plupart de votre espace est utilisé.du -sh /*
?cd /
et exécutezdu -sh *
et descendez ... (vous n'avez pas vraiment assez de RAM pour y stocker des choses)Réponses:
Voici quelques points avec lesquels vous pourriez commencer:
Jetez un œil aux packages installés sur votre système
pacman -Q
et supprimez ceux dont vous n'avez pas besoin. Un bon début peut être d'ajouter le-t
commutateur:Nettoyez le cache des paquets de pacman avec
pacman -Sc
Utilisez toujours
pacman -Rs
pour supprimer les dépendances de package non utilisées.Pour trouver des "gros fichiers" et des dossiers qui utilisent de grandes parties du disque, un ajout intéressant
du
estxdiskusage
. Ce petit outil vous permet de parcourir rapidement votre système de fichiers et de voir une représentation graphique de l'utilisation du disque des dossiers.la source
pacman -cc
pour nettoyer tout le cache, y compris les packages installés, je pense. Normalement non recommandé car vous voudrez peut-être ces sauvegardes plus tard.--cachedir
, donc je n'ai pas besoin de garder de fichiers pkg./
, j'ai trouvépacgraph
vraiment utile. Il peut trier vos packages installés par taille, afin que vous puissiez mieux hiérarchiser ce qu'il est logique de supprimer. (Il peut même dessiner des graphiques de dépendances SVG, mais il est utile uniquement à partir de la ligne de commande.)ncdu
est une alternative intéressante en ligne de commande àxdiskusage
. Le Baobab est de loin la meilleure application graphique à cet effet.AVERTISSEMENT: ces idées ne sont destinées qu'aux utilisateurs qui connaissent bien Linux dans son ensemble et Arch Linux.
Si vous êtes prêt à pénétrer en territoire dangereux, vous pouvez réduire une installation d'arche de base à moins de 500 Mo installés. Cela nécessite de faire des choses très dangereuses:
/usr/lib/firmware
)/usr/lib/modules/...
).a
fichiers/usr/lib
(uniquement si vous n'utilisez jamais le système pour compiler des logiciels. remarque: cela inclut l'utilisationmakepkg
)/usr/include
(uniquement si vous n'utilisez jamais le système pour compiler des logiciels)/usr/share/doc
et/usr/share/info
/usr/share/man
/usr/share/terminfo
inutiles et les fichiers de fuseau horaire inutiles de/usr/share/zoneinfo
strip *
sur tous les dossiers contenant des fichiers binaires exécutables (/usr/bin
et/usr/sbin
)upx
pour compresser des binaires plus gros (les binaires Samba s'y prêtent bien car ils ont tendance à être assez volumineux car ils sont souvent compilés statiquement.) Notez également que l'utilisationupx
signifie que tout le binaire non compressé doit tenir RAM pendant l'exécution, soyez donc fatigué sur les systèmes à faible RAM.Avant de faire quoi que ce soit, FAITES UNE SAUVEGARDE COMPLÈTE de votre système. Heureusement, Linux rend cela relativement facile - si vous pouvez attacher et monter un volume externe (par exemple une clé USB), vous pouvez faire quelque chose comme
cd / && tar -cf /mnt/usb/mySystem.tar /
pour sauvegarder l'ensemble du système.Encore une fois, notez que je ne recommande pas réellement de faire ce qui précède (en particulier de 7 à 9) à moins d'avoir une connaissance approfondie, une expérience et une compréhension des composants internes de Linux et d'Arch Linux . Jouer avec à peu près tous les fichiers que j'ai répertoriés peut endommager un système de manière horrible, vous avez donc été averti. Si vous ne savez pas si votre système a besoin d'un certain fichier de micrologiciel, module, etc., faites vos recherches avant de vous en occuper. (Soyez averti que la suppression des modules du noyau dont votre système a besoin peut entraîner un système non amorçable, ou un système sans support clavier / carte réseau / son / affichage / etc., ou toutes sortes d'autres comportements inexplicables.)
Veuillez également noter que toute mise à niveau de package peut restaurer et restaurera la plupart des fichiers que vous supprimez ci-dessus. Si vous décidez de suivre cette voie, vous souhaiterez peut-être éventuellement scripter la suppression des fichiers inutiles et exécuter votre script après chaque mise à niveau majeure du package. (Exemple: la mise à niveau du noyau ramènera tous les modules du noyau ainsi que la mise à niveau via la dépendance du paquet linux-firmware ramenant tout le firmware dedans
/usr/lib/firmware
.)Enfin, gardez un œil sur le fait
/var/log
que les fichiers journaux augmenteront avec le temps. Vous pouvez supprimer les journaux passés mais conserver les journaux actuels en faisant quelque chose commerm *\@*.journal
dans votre dossier de journaux.J'ai réussi à exécuter un serveur NAS sur un périphérique Disk-on-Module de 512 Mo pendant des mois en utilisant ces techniques, mais elles ne sont toujours pas pour les âmes sensibles. (J'ai également utilisé LinuxFromScratch pour construire un projet similaire dans seulement 128 Mo de stockage, mais c'est une autre histoire ...)
MODIFIER / AJOUTER:
Voici quelques méthodes supplémentaires que vous pouvez utiliser pour essayer d'obtenir de l'espace supplémentaire:
Se débarrasser
libgo
. Lalibgo
bibliothèque est fournie avecgcc-libs
AFAIK et n'est utilisée que par les applications écrites en langue Go. Je ne peux penser à aucune application que j'utilise qui a besoin de cette bibliothèque. Sur mon système, sa taille est de 40 Mo. Lorsque vous essayez de perdre du poids, c'est beaucoup d'espace. Je l'ai supprimé de mes "mini" installations sans aucun effet néfaste sur tout ce que je fais (mais encore une fois, c'est moi, YMMV!)Rétrécissement
libicudata.so
. C'est 27 Mo sur mon système. Il s'agit essentiellement d'une tonne de données Unicode / locale compressées dans un objet de bibliothèque. Il existe un outil en ligne qui peut créer des versions plus petites de ce fichier, mais il n'a pas été mis à jour pour la version actuelle (et vous ne pouvez pas utiliser des fichiers plus anciens dans les versions plus récentes.) Je n'ai pas essayé de le faire à la main, mais si vous pouvez comprendre comment, vous pouvez raser environ 20-22 Mo sur ce fichier.Si vous utilisez Python, vous pouvez enregistrer 37MB ou si en retirant la
test
bibliothèque de python2:rm -r /usr/lib/python2.7/test
et environ 66MB en le retirant pour python3:rm -r /usr/lib/python3.6/test
.Encore une fois pour Python, vous pouvez vous débarrasser des
.pyo
fichiers et des.py
fichiers. Les.pyo
fichiers sont des fichiers "optimisés", mais Python ne les utilise jamais vraiment. Les.py
fichiers sont le code source brut de la bibliothèque standard. Les seuls fichiers que Python lit normalement lors de l'exécution du code Python sont les.pyc
fichiers (compilés en python).cd /usr/lib/python2.7 && find . -name "*.pyo" -exec rm -v {} \;
etcd /usr/lib/python3.6 && find . -name "*.pyo" -exec rm -v {} \;
Suppression des données locales inutiles. Il y a un package AUR appelé
localepurge
qui automatise cela. Sinon, vous devez jouer/usr/share/locale
. Vous devez conserver vos propres paramètres régionaux etlocale.alias
. Pour moi , ici aux États - Unis, en gardanten_US
etlocale.alias
et enlever tout le reste rasé sur les 80Mo.Maintenant, ce que je veux voir, c'est un outil qui analyse votre système et détermine les modules de noyau dont vous avez besoin, ainsi que les fichiers de firmware dont vous avez besoin. Ce serait une bonne façon de nettoyer "en toute sécurité" ces dossiers ...
Ou, peut - être quelqu'un devrait mettre sur pied une arche « distro » qui utilise
uClibc
oudiet-libc
ou quelque chose de similaire. Ce pourrait être un projet d'été amusant. :-)la source
upx
, il ne fonctionne pas bien avec tous les types d'exectuables, ex: il a quitté mysqld & mongodb segfaultingNoExtract
définitions (peut être défini plusieurs fois), vous pouvez résoudre ce problème de manière permanente. Un exemple pour mettre à jour uniquement les pilotes de mise à jour Realtek nic:NoExtract = usr/lib/firmware/* !usr/lib/firmware/rtl_nic/*
find /usr/lib/firmware -atime +30
trouverait des fichiers de firmware qui ne sont pas accessibles dans les 30 jours. Il devrait être sûr de supprimer ces fichiers.TLDR
Tout d'abord, qu'est-ce qui est gros dans le système
Cela montre une liste triée des plus grands répertoires dans
/
Vous pouvez faire deux niveaux vers le bas:Mon résultat est:
J'ignore
/mnt
(car c'est un disque externe) Deux dirs me viennent à l'esprit:var
etusr
. Voyons ce qu'il y a dedans:Ensuite, un peu plus profondément:
Commençons par les journaux
Je 717mb dans
/var/log
.Je ne suis pas fan de supprimer des répertoires au hasard, alors faisons-le de la manière la plus nette:
Laissons seulement 100 Mo de journaux:
Plus d'informations ici sur la façon de configurer journalctl ici .
Paquets
Je l'ai
660M /var/cache/pacman
. C'était 1,8 Go, mais j'ai courupacman -Sc
pour supprimer les paquets inutilisés. Supprimons le reste:/ usr / share / locale
Beaucoup d'utilisateurs le suppriment, ou du moins le nettoient. Mais je pourrais être un problème . Mais checkout bleachbit (paragraphe suivant).
Bleachbit
Nettoyant automatique . Supprime beaucoup de choses, mais c'était principalement des locales.
Vous pouvez rechercher d'autres éléments à supprimer:
la source
Total Installed Size: 209.70 MiB
du -xkd1
dans le/
répertoire, il ne descendra pas dans d'autres points de montage.Sur le disque de 4 Go de mon Eeepc avec Ubuntu, cela a aidé à supprimer certains fichiers de paramètres régionaux (de / usr / share / locale) et des fichiers d'aide Gnome (de / usr / share / gnome / help /). Les deux ont été installés pour des langues que je n'utilise pas. Je ne sais pas si Arch Linux installe même tous ces fichiers, cependant.
la source
du -hs /usr/share/locale
est d'environ 300 Mo ... puis-je simplementrm -rf
les fichiers inutiles?/etc/locale.gen
et réexécutezlocale-gen
, vous devriez avoir moins de paramètres régionaux précompilés. Si vous souhaitez libérer plus d'espace de manière automatisée, vous pouvez également essayer aur.archlinux.org/packages.php?ID=11975 . (Mais ce n'est pas pris en charge et si cela casse votre système, vous pouvez garder les morceaux.)Je suggère d'automatiser la recherche de vos propres fichiers très anciens et de voir si c'est nécessaire et de les supprimer. Cela peut se faire avec deux choses. L'un écrit une
find
commande pour rechercher des fichiers très anciens. et en utilisant cette sortie (peut-être pipe) pourlograte
créer un script pour archiver des fichiers plus anciens que 3 mois et supprimer des fichiers de plus de 3 mois dans les archives et envoyer un courrier électronique à 1 jour avant de le supprimer. Pour être sûr de n'avoir perdu aucun fichier important. Donc, enfin, vous aurez besoin des commandes suivantes pour accomplir ce qui précède:Je ne vais pas te nourrir à la cuillère. J'ai déjà fait cela auparavant, j'ai eu beaucoup de succès avec cela et j'ai ensuite été abandonné parce que nous avons décidé d'aller avec
nagios
pour la surveillance car il était plus adapté pour faire ce genre de choses dans un serveur corp. Je pense que si lamail
commande n'est pas déjà configurée pour vous, vous pourriez trouver que le repos le plus difficile devrait être simple. Tout cela doit être fait à travers des scripts bash et mettre cela en tâche cron et s'exécuter tous les x jours. Apprenez le script bash, il sera très utile non seulement pour cela mais pour vous faciliter la vie avec * nix. Utilisez donc votre moteur de recherche Internet préféré et lisez les commandes et les scripts bash ci-dessus. Et attachez-les ensemble et testez-le. Une fois satisfait, utilisez régulièrement. Je vous assure que ce sera amusant de le faire. Vous en apprendrez beaucoup si vous ne l'avez pas fait auparavant.la source