Así que usted está sentado en su computadora y está buscando en los repositorios de software buscando algo para instalar cuando se da cuenta de que hay un número de archivos con la extensión noarch.
¿Qué es Noarch y por qué tantos archivos tienen esta extensión?
Esencialmente, el noarca no representa ninguna arquitectura.
En este punto, se preguntará por qué alguien se ha molestado en crear un paquete que no funciona en ninguna arquitectura.
El término noarch en realidad no significa ninguna arquitectura en particular o, si se quiere, todas las arquitecturas.
¿Cómo es esto posible?
¿Cómo es posible que un paquete funcione en todas las versiones de Linux, Windows y otros sistemas operativos?
Bueno, para empezar, no todos los paquetes contienen aplicaciones. Por ejemplo, la aplicación gnome-backgrounds.arch es una colección de fondos de escritorio. Aunque el paquete ha sido desarrollado para el entorno de escritorio Gnome, en realidad es sólo una colección de imágenes y las imágenes se crean en formatos universales que se pueden utilizar en cualquier sistema operativo moderno.
Por lo tanto, puede pensar en un paquete de noarch como cualquier cosa que sea verdaderamente universal, como fondos, iconos e incluso manuales.
Los paquetes de Noarch también pueden contener scripts, programas y aplicaciones, pero tienen que contener archivos que sean realmente válidos para todas las plataformas.
¿Qué tipo de programas son realmente válidos para todas las plataformas?
Las aplicaciones web desarrolladas en HTML, JavaScript y CSS son universales, así como los lenguajes de programación PHP, PERL y Python.
Los programas compilados no pueden ser considerados noarch porque están compilados para trabajar en una arquitectura específica. Por lo tanto, los binarios C y C++ no se encontrarán en un archivo noarch. La excepción a esta regla son los programas Java porque Java es verdaderamente una plataforma cruzada y una aplicación Java escrita para una distribución y arquitectura Linux también debería funcionar en otras plataformas Linux y en Windows.
Ahora puede pensar que el código fuente puede ser guardado como paquetes noarch porque puede ser compilado en varias plataformas y son sólo los binarios los que son específicos para una arquitectura en particular. Los paquetes de código fuente se almacenan con la extensión src.
Los archivos Noarch se asocian generalmente con los paquetes RPM.
Es muy probable que ya tenga varios paquetes RPM noarch instalados en su ordenador.
Para saber qué paquetes de noarch ha instalado ejecute el siguiente comando:
rpm -qa –qf «%{N}-%{V}-%{R} t t%{ARCH}}. n» | grep noarch | más
El comando anterior se puede desglosar de la siguiente manera:
- rpm es el gestor de paquetes
- -q significa consulta
- -a representa a todos
- –qf significa formato de consulta
- La salida del comando rpm se coloca como la entrada a grep que busca noarch
- Más hace que la salida se detenga al final de una página de datos, puede pasar a la página siguiente pulsando el espacio
Mirando la salida del comando anterior en mi propio ordenador puedo ver una serie de paquetes de fuentes, paquetes de firmware, documentación, fondos, iconos y temas.
Una advertencia, sin embargo. Sólo porque algo está empaquetado como noarch no siempre es sensato copiar los archivos dentro de este paquete a otros ordenadores y esperar que funcionen.
Por ejemplo, si tiene un ordenador ejecutando Fedora usando el gestor de paquetes RPM y otro ejecutando Debian usando el formato de ficheros DEB, tiene sentido buscar el paquete equivalente en Debian antes de copiar los ficheros desde la máquina Fedora.