Comme vous le savez peut-être déjà, lorsque nous exécutons une commande non disponible ou non reconnue sous Linux, nous recevons un message d'erreur - "bash :commande introuvable" . Le problème est que certains d'entre nous ne savent pas quels packages fournissent cette commande particulière. Pas plus! Aujourd'hui, je suis tombé sur un utilitaire utile appelé "command-not-found" qui vous aide en suggérant l'installation de packages lors de l'exécution d'une commande indisponible.
Supposons que vous souhaitiez exécuter une commande nommée "leafpad", qui n'est pas disponible sur votre système Linux. Vous ne savez pas quels packages fournissent cette commande. C'est là qu'intervient l'utilitaire "command-not-found".
Il recherchera automatiquement les dépôts officiels, lors de la saisie d'une commande non reconnue ou indisponible. Il utilise un cache de programmes existants et de leurs packages associés pour aider les utilisateurs dans leur travail quotidien en ligne de commande.
Installer l'utilitaire de commande introuvable sous Linux
L'utilitaire command-not-found est disponible dans AUR. Ainsi, vous pouvez l'installer en utilisant des assistants AUR tels que Paru ou Oui.
$ paru -S command-not-found
Ou,
$ yay -S command-not-found
Aussi, pkgfile Le package fournit un hook de commande introuvable. Installez simplement pkgfile pour utiliser l'utilitaire command-not-found.
$ sudo pacman -S pkgfile
Une fois installé, modifiez votre .bashrc fichier :
$ vi ~/.bashrc
Ajoutez la ligne suivante à la fin pour l'activer.
source /usr/share/doc/pkgfile/command-not-found.bash
Mettez à jour les modifications apportées à l'aide de la commande :
$ source ~/.bashrc
Sur Ubuntu et ses dérivés, il est pré-installé.
Juste au cas où s'il n'est pas déjà installé, vous pouvez l'installer comme suit.
$ sudo apt-get update $ sudo apt-get install command-not-found
Suggérer l'installation de packages lors de l'exécution d'une commande non disponible
Maintenant, exécutez n'importe quelle commande non disponible, par exemple leafpad :
Il vous suggérera quel paquet fournit cette commande. Voici la sortie de mon système Arch Linux.
$ leafpad leafpad may be found in the following packages: extra/leafpad 0.8.18.1-5 /usr/bin/leafpad
Comme vous le voyez dans la sortie ci-dessus, la commande "leafpad" est fournie par le package leafpad-0.8.18.1-5.
Essayons une autre commande sur Ubuntu :
$ emacs The program 'emacs' can be found in the following packages: * emacs24 * emacs24-nox * e3 * emacs23 * emacs23-lucid * emacs23-nox * emacs24-lucid * jove Try: sudo apt-get install <selected package>
C'est juste un exemple. Cet utilitaire suggérera l'installation de packages lorsque vous exécuterez une commande non disponible. Une fois que vous avez supprimé cet utilitaire, il ne suggérera rien. Il affiche simplement une sortie comme ci-dessous.
"bash: emacs: command not found"
J'espère que cela vous aidera.