Command not found v openSUSE
V distribuci Ubuntu existuje utilitka command not found, která automaticky nabízí instalaci potřebného balíčku, pokud není příkaz nalezen. Na portaci tohoto programu do openSUSE 11.0 pracuje Pavol Rusnák. Benjamin Weber na svém blogu nabízí řešení, které funguje i v současné verzi openSUSE.
Do souboru .bashrc ve vašem domovském adresáři, stačí vložit následující kód:
export PROMPT_COMMAND='
if [ $? -eq 127 ]; then
history -a;
COMMAND=$(tail -n 1 $HISTFILE);
SQL="SELECT name from resolvables WHERE id IN (SELECT resolvable_id FROM named_capabilities WHERE name_id IN (SELECT id FROM names WHERE name LIKE \"$COMMAND\")) LIMIT 1;"
PACKAGE=$(echo $SQL | sqlite3 /var/cache/zypp/zypp.db);
PACKAGE=${PACKAGE:="-"};
if [ $PACKAGE != "-" ]; then
echo $COMMAND is not installed\; Try \"sudo zypper install $PACKAGE\" to install it.;
fi;
fi'
Výsledek pak může vypadat takto:
benji@lcars:~> kopete
bash: kopete: command not found
kopete is not installed; Try "sudo zypper install kdenetwork3-InstantMessenger" to install it.




Hotovo :)
Napsal uživatel Pavol Rusnak (neověřeno) dne 29. Únor 2008.Command-not-found je hotovy, zaujemcovia si mozu vyskusat balicky z BuildService.
Presny navod je uvedeny tu: http://lists.opensuse.org/opensuse-factory/2008-02/msg00386.html (english only)