Jak již možná víte, když v Linuxu spustíme nedostupný nebo nerozpoznaný příkaz, zobrazí se nám chybová zpráva – "bash:command not found" . Problém je v tom, že někteří z nás nevědí, které balíčky poskytují tento konkrétní příkaz. Už ne! Dnes jsem narazil na užitečnou utilitu s názvem "command-not-found" který vám pomůže navrhnout instalaci balíčků při spuštění nedostupného příkazu.
Řekněme, že chcete spustit příkaz s názvem „leafpad“, který není dostupný ve vašem systému Linux. Nejste si jisti, které balíčky poskytují tento příkaz. Zde přichází na pomoc nástroj „command-not-found“.
Při zadání neznámého nebo nedostupného příkazu automaticky prohledá oficiální úložiště. Využívá mezipaměť existujících programů a jejich přidružených balíčků, aby pomohla uživatelům v jejich každodenní práci s příkazovým řádkem.
Instalujte obslužný program command-not-found v Linux
nástroj command-not-found je dostupný v AUR. Můžete jej tedy nainstalovat pomocí pomocníků AUR, jako je Paru nebo Ano.
$ paru -S command-not-found
Nebo,
$ yay -S command-not-found
Také pkgfile balíček poskytuje příkaz nenalezen háček. Chcete-li použít nástroj command-not-found, stačí nainstalovat pkgfile.
$ sudo pacman -S pkgfile
Po instalaci upravte soubor .bashrc soubor:
$ vi ~/.bashrc
Chcete-li to povolit, přidejte na konec následující řádek.
source /usr/share/doc/pkgfile/command-not-found.bash
Aktualizujte provedené změny pomocí příkazu:
$ source ~/.bashrc
Na Ubuntu a jeho derivátech je dodáván předinstalovaný.
Pro případ, že ještě není nainstalován, můžete jej nainstalovat následovně.
$ sudo apt-get update $ sudo apt-get install command-not-found
Navrhnout instalaci balíčků při spuštění nedostupného příkazu
Nyní spusťte jakýkoli nedostupný příkaz, například leafpad :
Navrhne vám, který balíček tento příkaz poskytuje. Zde je výstup z mého systému Arch Linux.
$ leafpad leafpad may be found in the following packages: extra/leafpad 0.8.18.1-5 /usr/bin/leafpad
Jak vidíte ve výše uvedeném výstupu, příkaz "leafpad" poskytuje balíček leafpad-0.8.18.1-5.
Zkusme jiný příkaz na 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>
Toto je jen příklad. Tento nástroj navrhne instalaci balíčků, když spustíte jakýkoli nedostupný příkaz. Jakmile tento nástroj odeberete, nebude nic navrhovat. Pouze zobrazuje výstup podobný níže.
"bash: emacs: command not found"
Doufám, že to pomůže.