Come forse già saprai, quando eseguiamo un comando non disponibile o non riconosciuto in Linux, riceveremo un messaggio di errore - "bash:comando non trovato" . Il problema è che alcuni di noi non sanno quali pacchetti forniscono quel particolare comando. Non più! Oggi mi sono imbattuto in un'utile utility chiamata "comando-non-trovato" che ti aiuta suggerendo l'installazione di pacchetti quando esegui un comando non disponibile.
Diciamo che vuoi eseguire un comando chiamato "leafpad", che non è disponibile nel tuo sistema Linux. Non sei sicuro di quali pacchetti forniscano questo comando. È qui che viene in aiuto l'utilità "comando non trovato".
Cercherà automaticamente nei repository ufficiali, quando si immette un comando non riconosciuto o non disponibile. Utilizza una cache di programmi esistenti e dei loro pacchetti associati per aiutare gli utenti nel loro lavoro quotidiano da riga di comando.
Installa l'utilità comando non trovato in Linux
L'utilità comando non trovato è disponibile in AUR. Quindi, puoi installarlo usando gli helper AUR come Paru o Sì.
$ paru -S command-not-found
Oppure,
$ yay -S command-not-found
Inoltre, pkgfile il pacchetto fornisce hook di comando non trovato. Installa semplicemente pkgfile per utilizzare l'utilità comando non trovato.
$ sudo pacman -S pkgfile
Una volta installato, modifica il tuo .bashrc file:
$ vi ~/.bashrc
Aggiungi la riga seguente alla fine per abilitarlo.
source /usr/share/doc/pkgfile/command-not-found.bash
Aggiorna le modifiche apportate utilizzando il comando:
$ source ~/.bashrc
Su Ubuntu e i suoi derivati, è preinstallato.
Nel caso in cui non sia già installato, puoi installarlo come segue.
$ sudo apt-get update $ sudo apt-get install command-not-found
Suggerisci l'installazione di pacchetti durante l'esecuzione di un comando non disponibile
Ora esegui qualsiasi comando non disponibile, ad esempio leafpad :
Ti suggerirà quale pacchetto fornisce questo comando. Ecco l'output del mio sistema Arch Linux.
$ leafpad leafpad may be found in the following packages: extra/leafpad 0.8.18.1-5 /usr/bin/leafpad
Come puoi vedere nell'output sopra, il comando "leafpad" è fornito dal pacchetto leafpad-0.8.18.1-5.
Proviamo un altro comando su 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>
Questo è solo un esempio. Questa utilità suggerirà l'installazione di pacchetti quando si esegue un comando non disponibile. Una volta rimossa questa utility, non suggerirà nulla. Visualizza semplicemente un output simile a quello di seguito.
"bash: emacs: command not found"
Spero che questo aiuti.