GNU/Linux >> Znalost Linux >  >> Linux

Navrhněte instalaci balíčků při spuštění nedostupného příkazu

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.


Linux
  1. Jak používat příkaz apt ke správě balíčků v systému Linux

  2. spuštění příkazu proti každému řádku v textovém souboru

  3. Kam jdou soubory, když je vydán příkaz Rm?

  1. Jak spustit příkaz uvnitř spuštěného kontejneru Systemd?

  2. Spouštění příkazů Linuxu na pozadí a v popředí

  3. GLIBCXX_3.4.9 nebyl nalezen při spuštění ffmpeg z php na lampp serveru

  1. .bash_profile není při spuštění Su?

  2. Možnosti Su – Spuštění příkazu jako jiný uživatel?

  3. Nelze smazat soubor, i když běží jako root?