command-not-found

Cómo buscar en qué paquete está contenido un comando no instalado en SUSE Linux.



Si queremos compilar un programa escrito en C++ necesitaremos el compilador g++. Si ejecutamos g++ en un SLES recién instalado, nos encontraremos con el siguiente error:

HOST# g++ If 'g++' is not a typo you can use command-not-found to lookup the package that contains it, like this: cnf g++

Como nos dice el texto, podemos usar la utilidad "command-not-found" o "cnf" exclusiva de las distintas distribuciones de SUSE Linux para averiguar en qué paquete se encuentra un determinado binario.

Buscamos en qué paquete se encuentra "g++":

HOST# cnf g++ The program 'g++' can be found in the following package: * gcc-c++ [ path: /usr/bin/g++, repository: zypp (Basesystem_Module_15_SP1_x86_64:SLE-Module-Basesystem15-SP1-Pool) ] Try installing with: zypper install gcc-c++

Llegados a este punto, solo nos queda instalar el paquete sugerido siguiendo las instrucciones proporcionadas por el output del paso anterior.

En este caso, instalamos el paquete "gcc-c++" el cual incluye el binario "g++":

HOST# zypper install gcc-c++ RRefreshing service 'Basesystem_Module_15_SP1_x86_64'. Refreshing service 'Desktop_Applications_Module_15_SP1_x86_64'. Refreshing service 'Development_Tools_Module_15_SP1_x86_64'. Refreshing service 'SUSE_Linux_Enterprise_Server_15_SP1_x86_64'. Refreshing service 'SUSE_Package_Hub_15_SP1_x86_64'. Refreshing service 'Server_Applications_Module_15_SP1_x86_64'. Refreshing service 'Web_and_Scripting_Module_15_SP1_x86_64'. Loading repository data... Reading installed packages... Resolving package dependencies... The following 2 NEW packages are going to be installed: gcc-c++ gcc7-c++ 2 new packages to install. Overall download size: 8.9 MiB. Already cached: 0 B. After the operation, additional 23.9 MiB will be used. Continue? [y/n/v/...? shows all options] (y):

Cuando finalice la instalación, ya podremos compilar proyectos de C++ con g++.

Post a Comment

Mới hơn Cũ hơn