Aller au contenu

Installation

lu-cleaner est un binaire Go unique. Il n'installe ni daemon, ni agent de lancement, ni service en arrière-plan, et ne demande jamais sudo. Ses propres fichiers se trouvent à deux endroits seulement, créés uniquement en cas de besoin : le fichier de configuration (si vous en créez un) et l'historique des nettoyages (après votre premier vrai nettoyage).

Prérequis Détails
macOS 12 Monterey ou plus récent Apple Silicon ou Intel. lu-cleaner ne fonctionne que sur macOS : il s'appuie sur APFS, getattrlistbulk, xcrun simctl et l'organisation de ~/Library propre à macOS.
Go 1.25 ou plus récent Nécessaire uniquement pour compiler et installer le binaire.
git Utilisé par le scanner de worktrees (git worktree list, git worktree remove). Sans git, les worktrees ne sont tout simplement pas analysés. Les Command Line Tools de Xcode le fournissent.

Tout le reste est facultatif : Xcode, Android Studio, Docker, les gestionnaires de versions de Node.js et les outils d'IA ne sont inspectés que s'ils sont installés.

C'est la méthode recommandée :

Fenêtre de terminal
go install github.com/ludwig-pro/lu-cleaner/cmd/lu-cleaner@latest

Go place le binaire dans $(go env GOPATH)/bin, en général ~/go/bin (ou dans $GOBIN si vous l'avez défini). Si votre shell ne trouve pas lu-cleaner ensuite, ajoutez ce dossier à votre PATH :

Fenêtre de terminal
echo 'export PATH="$PATH:$(go env GOPATH)/bin"' >> ~/.zshrc
source ~/.zshrc

Vérifiez l'installation :

Fenêtre de terminal
lu-cleaner version

Utilisez cette méthode pour essayer une modification pas encore publiée ou pour contribuer.

  1. Clonez le dépôt :

    Fenêtre de terminal
    git clone https://github.com/ludwig-pro/lu-cleaner.git
    cd lu-cleaner
  2. Compilez bin/lu-cleaner. La version est tirée de git describe :

    Fenêtre de terminal
    make build
    ./bin/lu-cleaner scan --summary
  3. Installez-le dans $(go env GOPATH)/bin :

    Fenêtre de terminal
    make install

make run ARGS="scan --summary" compile et lance en une seule étape, et make test exécute les tests unitaires. Consultez Contribuer pour le processus de développement.

lu-cleaner est long à taper. make install suggère luc :

Fenêtre de terminal
echo 'alias luc=lu-cleaner' >> ~/.zshrc
source ~/.zshrc
luc scan --summary

Le reste de cette documentation écrit lu-cleaner en entier.

La protection de la vie privée de macOS (TCC) empêche toute application de lire certains dossiers, sauf si vous lui accordez l'accès complet au disque. lu-cleaner fonctionne sans, mais quelques dossiers sont alors hors d'atteinte :

Dossier Sans accès complet au disque
~/.Trash La Corbeille est listée sous le nom Trash (size unknown — needs Full Disk Access). La nettoyer demande au Finder de la vider au lieu de supprimer directement les fichiers (le Finder peut vous demander une autorisation d'automatisation). lu-cleaner doctor indique que la taille de la Corbeille est inconnue.
~/Library/Application Support/MobileSync/Backup Les sauvegardes d'iPhone et d'iPad faites par le Finder sont listées sous le nom iPhone/iPad backups (size unknown). Elles sont de toute façon en rapport seul : lu-cleaner ne supprime jamais les sauvegardes d'appareils.
Conteneurs des autres applications : ~/Library/Containers/<app>, ~/Library/Group Containers/<group> Jamais lus, mesurés ni nettoyés. Sur macOS 14 et versions ultérieures, y toucher ouvrirait une demande d'autorisation système qui bloquerait l'analyse jusqu'à ce que quelqu'un y réponde. Les entrées du catalogue qui y sont stockées (journaux de Docker Desktop, cache de Microsoft Teams, cache des illustrations d'Apple Music…) sont listées en rapport seul avec l'avertissement needs Full Disk Access, les images disque de Docker Desktop et d'OrbStack ne sont pas affichées, et analyze affiche ces dossiers sous la forme 🔒 app container — needs Full Disk Access.

lu-cleaner analyze vous avertit aussi lorsque certaines entrées sont illisibles et que leurs tailles sont partielles.

Pour l'accorder :

  1. Ouvrez Réglages Système → Confidentialité et sécurité → Accès complet au disque.
  2. Activez l'application depuis laquelle vous lancez lu-cleaner : Terminal, iTerm2, Ghostty, Warp, ou l'éditeur dont vous utilisez le terminal intégré. Ajoutez-la avec + si elle n'est pas dans la liste.
  3. Quittez puis rouvrez cette application pour que l'autorisation s'applique.

Relancez la même commande pour récupérer la dernière version :

Fenêtre de terminal
go install github.com/ludwig-pro/lu-cleaner/cmd/lu-cleaner@latest

Depuis un clone, récupérez les changements et réinstallez :

Fenêtre de terminal
git pull
make install

Votre configuration et votre historique sont conservés.

Avant de supprimer le binaire, vérifiez où se trouvent vos fichiers. La configuration change d'emplacement si vous avez défini LU_CLEANER_CONFIG ou XDG_CONFIG_HOME, l'historique si vous avez défini XDG_STATE_HOME :

Fenêtre de terminal
lu-cleaner config path # le fichier de configuration
lu-cleaner config show # affiche aussi le fichier d'historique

Supprimez ensuite le binaire, la configuration et l'historique :

Fenêtre de terminal
rm "$(command -v lu-cleaner)"
rm -rf ~/.config/lu-cleaner # config.toml, si vous en avez créé un
rm -rf ~/.local/state/lu-cleaner # history.jsonl

Enfin, supprimez la ligne alias luc=lu-cleaner de ~/.zshrc si vous l'avez ajoutée. lu-cleaner ne laisse rien d'autre derrière lui.