Desarrollo de software con Linux

desarrollo de software

Como sistemas operativos Unixoid, los derivados de GNU / Linux ofrecen excelentes requisitos previos para servir como plataforma de codificación para el desarrollo de software. Mostramos las ventajas y desventajas del sistema operativo gratuito para desarrolladores de software.

Cuando piensas en el desarrollo de software, automáticamente piensas en GNU / Linux (en lo sucesivo, Linux). Esto también se debe al hecho de que el sistema operativo gratuito ha tenido un enorme éxito desde que se lanzó el primer kernel de Linux el 17 de septiembre de 1991.

 

Desarrollo de software con Linux

Linux

Linux no solo está disponible como sistema operativo en innumerables distribuciones, sino que también se ha establecido gradualmente en el mundo de los dispositivos pequeños. Linux se ejecuta literalmente en todas partes y controla servidores web, PC del trabajo y del hogar, electrodomésticos, componentes domésticos inteligentes e incluso automóviles autónomos.

En resumen: Linux es probablemente el componente más importante para el mundo en red del futuro. Entonces, solo tiene sentido usar Linux como un sistema básico para el desarrollo de software, ¿verdad?

Desarrollo de software con Linux: básicamente sin problemas

Desde un punto de vista técnico, Linux es, por supuesto, ideal para el desarrollo de software. Por un lado, porque el sistema admite una amplia gama de lenguajes de programación, editores y entornos de desarrollo integrados (IDE). Además, existe una cuasi estandarización a través de distribuciones generalizadas de Linux como Ubuntu, Linux Mint, Debian y SUSE.

Por último, pero no menos importante, Linux también es ideal como objeto para el desarrollo de software: por regla general, el software disponible es de código abierto, lo que facilita el uso de las soluciones existentes y la realización de tus propios proyectos creativos. En resumen: el desarrollador en realidad no necesita nada más que Linux, independientemente de si estás produciendo software o construyendo sistemas web.

Linux tiene una gran trampa

Desafortunadamente, eso no es todo: Linux desafortunadamente tiene una trampa extremadamente grande, y esa es la fragmentación del sistema. Incluso si existen grandes distribuciones generalizadas, no todos los Linux son iguales. No existe tal cosa como “el” Linux: la estructura modular y las posibilidades casi infinitas de armar Linux evitan efectivamente la estandarización.

Esto llega tan lejos que las grandes empresas de software aún se resisten a ofrecer soluciones comerciales o incluso propietarias para Linux. La probabilidad de que una solución no funcione correctamente aquí o allá es demasiado alta y el esfuerzo de soporte es demasiado alto. Y así Linux se corta a sí mismo como un sistema de desarrollo

Por lo tanto, la enorme flexibilidad es una gran ventaja y al mismo tiempo la mayor desventaja: hay una falta de uniformidad, y eso interrumpe el funcionamiento, especialmente cuando tienes que trabajar en colaboración con autónomos que pueden tener sus propias ideas sobre el desarrollo de Linux.

Muchos lenguajes de programación

En el lado positivo, Linux, naturalmente, es compatible con los lenguajes de programación comunes C, C ++, Java, Ruby y muchos más. Incluso se admite Apple Swift. El IDE de Java clásico también está disponible para Linux, al igual que el SDK de Android. Y Qt Creator es un IDE completo y gratuito para proyectos C ++.

La creación de código puro, incluida la compilación, rara vez es un problema para los desarrolladores en Linux, el sistema aquí es muy flexible. Sobre todo, porque todas las herramientas mencionadas están disponibles de forma gratuita.

 

programación en Linux

Desarrollar solo para Linux y Android

Básicamente, en Linux al igual que en Windows o macOS, tiene sentido desarrollar para la plataforma utilizada. En Linux, esto también incluye Android, que es en sí mismo un sistema operativo con un kernel de Linux.

El desarrollo para Windows y especialmente macOS es difícil en Linux: el sistema en sí es necesario para realizar pruebas y funciones específicas del sistema operativo. Sin embargo, este problema se puede evitar fácilmente mediante la virtualización, aunque esto requiere una máquina virtual completa de Windows con una herramienta como VirtualBox; Para el desarrollo de software en Windows, esto también debe usarse en gran medida.

Flexibilidad de Linux

La ventaja de esta solución es, sin duda, que los sistemas para desarrolladores se benefician del rendimiento y la flexibilidad de Linux. Sin embargo, en tal escenario, aparte de un elevado idealismo, hay poco que decir sobre no usar una PC con Windows de inmediato: gracias al subsistema de Windows para Linux, Linux puede ejecutarse directamente, lo que Linux no puede hacer con Windows debido a su diseño propietario.

¿Y macOS? Desafortunadamente, aquí existe el mismo problema. Sin embargo, el sistema operativo Apple y Linux son técnicamente sistemas operativos similares a Unix y, por lo tanto, están relacionados; adaptar el software originalmente programado para Linux no es tan complejo en macOS como portarlo a Windows.

Ideal para desarrollo web

Por cierto, parece completamente diferente con el desarrollo web: Linux está muy bien posicionado aquí, también porque una gran parte de la infraestructura de Internet también funciona bajo Linux. Los servidores web LAMP se configuran rápidamente en el sistema y se pueden duplicar de manera eficiente. Y gracias a las poderosas carcasas, la administración de sistemas remotos se convierte en un juego de niños.

Esto, por supuesto, incluye explícitamente tecnologías como HTML, PHP y Java: la cantidad de editores e IDE disponibles es enorme cuando se trata de llenar la web con software. Como resultado, Linux no está necesariamente por delante de Windows y MacOS en lo que respecta al desarrollo web, pero está completamente a la par.

Conclusión: recomendado sin reservas para el desarrollo web y Linux

En general, Linux no es, como a menudo se afirma, el sistema de desarrollo ideal: la capacidad de desarrollar código de macOS y Windows, así como para iOS, es extremadamente limitada o completamente excluida sin ayuda, como las máquinas virtuales. Lo que queda son Android, aplicaciones web y, por supuesto, los propios sistemas Linux.

Aquí, sin embargo, Linux puede mostrar sus fortalezas debido a la cantidad de herramientas disponibles, incluso si las soluciones propietarias están en gran parte ausentes. Sin embargo, debido a este hecho, cualquiera que desarrolle con Linux debe esperar que se requiera un esfuerzo adicional para eliminar la fragmentación. A cambio, los desarrolladores de software ahorran, y este es un argumento que no debe despreciarse, en comparación con los costos de licencia y hardware de Windows y macOS.

 

Lubuntu vs Xubuntu: ¿cuál es mejor?

lubuntu vs. xubuntu

Si estás buscando un Linux esbelto, rápidamente terminará en Lubuntu y Xubuntu. Pero, ¿en qué se diferencian los dos descendientes de Ubuntu?

Las dos distribuciones de Linux, Xbuntu y Lubuntu, prometen sistemas operativos de escritorio completos con un uso mínimo de recursos. Ambos usan la misma base, pero diferentes entornos de escritorio. Lee aquí en qué se diferencian los derivados de Ubuntu y cuál es mejor.

 

ubuntu

Descendientes de Ubuntu

Con los nombres Lubuntu y Xubuntu, rápidamente queda claro que ambas distribuciones son variantes del popular Ubuntu. Básicamente, Ubuntu quiere ser una especie de reemplazo de Windows: apariencia simple y moderna con trucos como efectos de ventana, montones de herramientas preinstaladas, su propio centro de software, administración conveniente y, en general, un sistema amigable para principiantes para todos.

Y con eso Ubuntu tiene uno de los mayores problemas de Windows de todos: pérdida de rendimiento. Ubuntu requiere muchos recursos para Linux y, por lo tanto, no es realmente adecuado para computadoras viejas o hardware débil como Raspberry Pi. Pero también hay muchos usuarios que quieren prescindir de los trucos de Ubuntu y otros aspectos de Ubuntu como la publicidad incorporada.

Xbuntu y Lubuntu

Y ahí es donde entran en juego Lubuntu y Xubuntu: ambos usan Ubuntu como base, pero dependen de otros entornos de escritorio que son más cuidadosos con los recursos. Ubuntu usa el entorno de escritorio Gnome, Lubuntu LXQt (anteriormente LXDE) y Xubuntu Xfce por defecto. Otra cosa en común: Lubuntu y Xubuntu comenzaron como proyectos comunitarios puros, todavía son mantenidos por la comunidad, pero ambos han tenido durante mucho tiempo el estado de variantes oficiales de Ubuntu. Entonces obtienes la base sólida de Ubuntu, menos los «inconvenientes» del habitual Gnome Ubuntu, es decir, publicidad integrada, administración exclusiva de Canonical y, sobre todo, los gadgets, paquetes y efectos que consumen recursos.

Lubuntu

Hasta la última versión, Lubuntu se basó en el entorno de escritorio LXDE, ahora LXQt, una implementación de LXDE basada en el entorno de desarrollo Qt, que se está ejecutando. Cualquiera que conozca Lubuntu del pasado debería, por lo tanto, echar otro vistazo: LXDE tiene el encanto óptico de Windows 98: negro sobre gris, esquinas angulares, sin transparencias, un conjunto de iconos algo sin amor.

Un gran entorno de trabajo para los amigos de la vieja escuela, pero en última instancia, demasiado conservador para realmente ganarse el favor de los usuarios finales normales. Con LXQt, el escritorio se ve mucho más pulido, hay fondos bonitos y los iconos encajan maravillosamente en el concepto general.

Los requisitos de hardware

Realmente bajos se ajustan a esto: 512 megabytes de RAM, procesador Pentium 4, cualquier tarjeta gráfica y 4 gigabytes de espacio en el disco duro. Trabajar no es divertido en todas las situaciones, pero un hardware tan antiguo rara vez se encuentra en un cajón. Incluso en computadoras de placa única como la Raspberry Pi, Lubuntu funciona sin problemas y en una computadora portátil vieja de todos modos, incluso si ya lleva una década en su haber.

El concepto de funcionamiento es muy clásico, por defecto hay un menú de inicio familiar en la parte inferior izquierda de la barra de tareas igualmente familiar. Y, por supuesto, esto también se puede utilizar escribiendo, como se conoce en sistemas más complejos. El equipo puede ser un poco menor que el de Ubuntu, pero todo lo que necesita está preinstalado, incluidas las herramientas de Office y un panel de control complejo.

 

lubuntu

Xubuntu

Xubuntu se basa en el Xfce de escritorio y esta combinación se ha comercializado durante mucho tiempo como la alternativa liviana número 1 a Ubuntu. A diferencia de LXDE Lubuntu, puedes buscar en el menú de inicio, siempre ha habido una administración de energía, un administrador de archivos más complejo y un aspecto mucho más agradable y moderno.

Sin embargo, Xubuntu es repetidamente criticado en lo que respecta al tema de los recursos, ya que se utilizan todo tipo de paquetes de Ubuntu, que a veces hacen que el sistema apenas parezca más liviano que el propio Ubuntu, por ejemplo, el software Gnome algo lento de Ubuntu. Sin embargo, el escritorio Xfce sigue siendo mucho más receptivo que el Gnome de Ubuntu. Los requisitos mínimos de hardware de Xubuntu son oficialmente exactamente los valores de Lubuntu.

El concepto operativo

También corresponde a Lubuntu, es decir, la barra de tareas y el menú de inicio clásico. Esto está estructurado de manera un poco diferente con Xbuntu, pero ofrece la misma experiencia de usuario. Lo mismo ocurre con la administración del sistema, la personalización y el software estándar: pequeñas diferencias, pero conceptualmente bastante idénticas.

Por ejemplo, cuando se trata de la gestión de energía antes mencionada, Xubuntu todavía está por delante, porque simplemente hay más opciones. En el área de gráficos también encontrarás el procesamiento de imágenes Gimp, que es muy útil, por un lado, pero no necesariamente típico de un Linux ligero por el otro.

¿Cuál es mejor?

Los dos sistemas son tan similares que debería ser en gran medida una cuestión de gustos. En última instancia, se aplica lo que siempre ha sido cierto de los dos sistemas: Lubuntu es la versión más liviana y fija, y Xubuntu es la versión para consumidores promedio, ligeramente pulida, un poco más atractiva. Cuando se trata de hardware inferior en el que Linux de escritorio debería ejecutarse para usuarios normales, todavía no hay forma de evitar Lubuntu.

Si hay suficiente energía, podría preferir Xubuntu, con uno, pero: si hay suficiente energía disponible, puedes elegir entre cientos de distribuciones de Linux o docenas de entornos de escritorio y derivados de Ubuntu. Por lo tanto, Xubuntu simplemente no me viene a la mente con tanta frecuencia como Lubuntu.

Una recomendación personal: Lubuntu. Desde que se cambió a LXQt, Lubuntu no solo se ve genial, sino que también tiene todas las herramientas importantes a bordo y simplemente usa menos recursos en segundo plano. Y eso siempre puede ser útil, después de todo, hay tareas que empujan a casi todas las computadoras a sus límites de rendimiento, desde la edición de video hasta la navegación extensa con docenas de pestañas en múltiples instancias del navegador. Cada pequeño recurso cuenta.

Linux Mint, 9 razones para enamorarse de él

Linux-Mint

Este artículo te ahorrará mucha confusión y estrés. ¿No estás seguro de qué versión de Linux probar primero? Linux Mint es una opción popular y una de las versiones más amigables y versátiles de Linux.

Razones por las que debería probar Linux Mint

1. Cinnamon Feels confía en los usuarios de Windows

Las aplicaciones se inician haciendo clic en un botón en la parte inferior izquierda. Tus aplicaciones y ventanas abiertas se alinean en la ventana en la parte inferior de la pantalla. Los indicadores del sistema y la hora se encuentran en la esquina inferior derecha. Puedes acceder a las opciones de la mayoría de las aplicaciones con una barra de menú tradicional.

En última instancia, Linux no es Windows. El sistema de archivos es diferente. Las aplicaciones no están empaquetadas en el mismo formato, y el software de Windows tampoco se ejecutará en Linux de igual forma que Windows. Hay muchas cosas nuevas que aprender cuando te cambias a Linux, pero con Mint, la interfaz NO es una de esas cosas.

Razones por las que debería probar Linux Mint

2. Todas las aplicaciones esenciales están preinstaladas

Si está instalando una distribución de Linux, es posible que te sorprendas de la cantidad de software que ya está disponible. No solo, no tienes que pagar por él, ¡ni siquiera tienes que descargarlo por separado! Esto es ideal para los principiantes que no tienen idea de qué software está disponible para Linux o cómo se llaman esos programas.

Como muchas distribuciones, Linux Mint viene con Firefox como navegador web y LibreOffice como una suite ofimática con todas las funciones. Pidgin es para Instant Messenger y tienes GIMP para editar fotos. Estas son herramientas que millones de personas descargan en Windows. En Mint, se incluyen como parte del paquete.

3. El administrador de software de Linux Mint es uno de los mejores

En Linux, no descargas la mayoría del software de sitios web. En cambio, hay un solo programa que puedes ejecutar para buscar aplicaciones y juegos. En Mint, este programa se llama Administrador de software. El Administrador de software equilibra la simplicidad de una tienda de aplicaciones moderna con el rendimiento de un administrador de paquetes de Linux tradicional.

Puedes ver las aplicaciones por categoría, ver cuántos paquetes están disponibles en cada sección y cambiar las fuentes desde las que descargas el software. También puedes calificar aplicaciones y dejar calificaciones. Esto es especialmente útil para los recién llegados al escritorio de Linux que aún no saben qué programas necesitan.

4. Linux Mint es fácil de personalizar

Ubuntu, Fedora y otras distribuciones de Linux instaladas de forma predeterminada en la interfaz de GNOME ocultan la capacidad de personalizar tu entorno. Este no es el caso de Mint. Con un simple clic derecho, puedes optimizar muchos aspectos de tu escritorio.

Te sorprenderás de la cantidad de temas disponibles para tu pantalla, aplicaciones, marcos de ventanas e íconos. Hay suficiente para modificar Mint a tu gusto sin tener que descargar nada adicional.

5. Las X-Apps son tradicionales y modernas

Los tiempos han cambiado. Cada vez más personas cuentan con dispositivos móviles. Muchas versiones de Linux están intentando reinventar la rueda creando interfaces que funcionen en pantallas táctiles o reduciendo la cantidad de opciones que se muestran al mismo tiempo.

Los desarrolladores de Linux Mint ven poca necesidad de este tipo de cambio. En su lugar, se han ocupado de obtener programas con una interfaz de usuario clásica. Las X-Apps son el regalo del equipo de Mint para las personas que prefieren aplicaciones que se adapten a cualquier escritorio gratuito tradicional.

Linux Mint es fácil de personalizar

6. Linux Mint es lo suficientemente simple para principiantes

Las diferentes distribuciones se dirigen a diferentes públicos. Algunos se enorgullecen de ser incondicionales. Mint, por otro lado, está dirigido a los usuarios de computadoras de todos los días. Mint facilita las cosas. La interfaz no es nada inesperado. No hay una animación excesiva y las ventanas no se mueven cuando ingresas a un tablero. Las aplicaciones son fáciles de encontrar, los temas son fáciles de cambiar y los conceptos son fáciles de entender.

Mint también te sostiene de la mano en algunas de las tareas más complejas. Puedes descargar los códecs que necesitas para archivos de audio y video haciendo clic en la opción «Instalar códecs multimedia» en la sección «Sonido y video» del lanzador de aplicaciones. Puedes instalar controladores de hardware a través de una herramienta llamada Driver Manager.

7. La interfaz de usuario de Linux Mint es consistente

En el mundo de Linux, hay muchos entornos de escritorio diferentes a los que los desarrolladores pueden dirigirse y hay diferentes conjuntos de herramientas que pueden usar. El resultado es que las aplicaciones vienen en muchas formas y tamaños (aunque el diseño del software en Windows puede ser incluso menos consistente).

Por ejemplo, en Ubuntu, algunas aplicaciones tienen un encabezado que contiene botones de configuración y controles de ventana. Otros tienen una barra de título y una barra de menú tradicional. Al apegarse a una interfaz tradicional, las aplicaciones funcionan de manera similar en Mint. Usar LibreOffice no es diferente de editar archivos de texto o escuchar música. Cada uno tiene barras de título, barras de menú y botones en lugares similares.

8. Linux Mint no requiere hardware potente

Mucha gente está abandonando Windows porque una nueva versión necesita más potencia de la que puede proporcionar su vieja PC. Linux es menos exigente, aunque algunas versiones aún requieren más memoria y potencia de procesamiento. Una PC vieja funciona bien con Mint.

Esto no se debe a que Linux Mint esté ejecutando software antiguo o desactualizado. Por otra parte. Tu computadora aún tiene la última versión de navegadores web, herramientas de oficina, programas multimedia y juegos de código abierto.

9. Linux Mint incluye todos los extras de Ubuntu

Linux Mint se basa en Ubuntu. Esto significa que la mayor parte del código es idéntico en las dos versiones de Linux. El software que se ejecuta en Ubuntu también se ejecuta en Mint. Entonces, si deseas acceder a la mayoría de los programas de Linux, pero prefieres una interfaz de usuario más tradicional, dirígete a Mint y diviértete.

¿Qué es un servidor Linux?

conceptos sobre un servidor linux

Un servidor Linux es una versión especial de Linux diseñada para tareas específicas. Suele utilizarse en áreas administrativas. Por ejemplo, en la gestión de bases de datos, administración de sistemas y redes o cuando se trabaja con servicios web.

servidor linux

Servidor Linux : Conceptos básicos

El término servidor se refería originalmente al software que ofrece un servicio. Esto puede ser utilizado por otro software (cliente / cliente) (modelo cliente-servidor). Los dos programas generalmente se ejecutan en computadoras diferentes. Las computadoras en las que se programaron los primeros servidores se denominaron «hosts».

A lo largo de los años, la terminología de servidores se expandió para incluir el hardware, es decir, la computadora host. En la jerga técnica, el servidor se usa en relación con software y también se utiliza con hardware, esta ambigüedad a menudo causa confusión, especialmente para los principiantes.

Servidor web

Los sitios web se almacenan en un servidor web, en otras palabras:  Internet (o lo que vemos principalmente de él). El servidor web proporciona las páginas para los clientes (navegadores de Internet).

Servidor de correo

A menudo, en el corazón de las redes empresariales. El tráfico de correo electrónico de la empresa se gestiona mediante servidores de correo y los calendarios están sincronizados.

Servidor de archivos

Ubicación de almacenamiento central para datos. Diferentes clientes acceden a estos datos a través de una red. Particularmente popular entre las empresas, ya que el servidor de archivos permite que varios empleados accedan a ciertos datos al mismo tiempo.

Servidor de juegos

Especialmente diseñado para juegos multijugador en línea. Solo a través de él son posibles las interacciones simultáneas de varios usuarios en / con mundos de juegos virtuales.

Servidor de base de datos

A veces, las bases de datos que pertenecen a un sitio web están en el mismo servidor web que las propias páginas, pero a menudo, por razones de seguridad, se almacenan en un servidor separado, el servidor de la base de datos.

Controlador de dominio

Además de los servidores de correo y archivos, es el elemento central de la red de una empresa. El controlador de dominio administra las cuentas de usuario, los archivos comunes y las distintas autorizaciones. Si falla, nada funciona en la red de la empresa.

Servidor proxy

La interfaz de comunicación de una red. La mediación, por así decirlo. El servidor proxy gestiona las solicitudes dentro de una red, las reenvía a los destinos adecuados y establece la conexión. Filtra o estructura la comunicación.

Servidor DNS

Esto también es algo así como una autoridad de mediación. En términos generales, el servidor DNS (Domain Name System) convierte una solicitud (por ejemplo, ingresando una URL) en la dirección IP correspondiente, por así decirlo, el «número de casa». Solo entonces se dirige al usuario al sitio web que está buscando.

La forma en que funciona un servidor Linux no es diferente a la de un servidor que utiliza software que no es el sistema operativo. El servidor Linux proporciona datos y servicios, los clientes acceden a ellos desde el exterior.

Cómo configurar un servidor Linux

¿Cómo configuro un servidor Linux?

No todos los servidores Linux son iguales. Por tanto, el proceso de instalación y configuración difiere de una distribución a otra. En este punto, echamos un vistazo más de cerca a la configuración de un servidor Ubuntu. La mayor diferencia con la distribución «normal» para computadoras domésticas es la falta de un asistente gráfico. Con las instrucciones paso a paso, aún debes completar el proceso de instalación sin ningún problema.

  1. Descarga Ubuntu Server, grábalo en un CD o cárgalo en una USB.
  2. Inicia el servidor Ubuntu desde un CD o una memoria USB.
  3. Elige el idioma que desees. (Utiliza las teclas de flecha para navegar por las opciones y la tecla Intro para seleccionar).
  4. Selecciona español al configurar el teclado.
  5. Selecciona «Instalar Ubuntu» para una instalación normal de Linux.
  6. Confirma la preselección de la interfaz de red. (Puedes ignorar la configuración del proxy cuando se utiliza en la red doméstica privada).
  7. Para asignar todo el disco duro a Ubuntu, selecciona «Usar un disco completo». Antes de este paso, mueve los datos importantes a otro disco duro. Los archivos que queden en el futuro disco duro del servidor se perderán.
  8. Confirma el resumen.
  9. Ubuntu se asegura de que realmente desees borrar todos los datos del disco duro. Confirmar.
  10. Ahora asigna nombre de usuario, nombre de servidor y contraseña.
  11. Tiene lugar la instalación real.
  12. Cuando termine, reinicia el servidor con la opción «Reiniciar ahora».
  13. Retira los medios de instalación.
  14. Inicia sesión con los datos de inicio de sesión que especificaste anteriormente.

Alternativamente, puedes   configurar Ubuntu en su propia partición de disco duro. Después de una instalación exitosa, el servidor no ofrece demasiadas opciones. Aún faltan un servidor web, un servidor de base de datos y un lenguaje de script. Un solo comando te permite instalar todos los programas que necesita a la vez.

sudo apt-get install apache2 libapache2-mod-php7.2 php7.2 php7.2-mysql mysql-server

¿Cuál es la diferencia entre un servidor Linux y Windows?

Costos

Las distribuciones de Linux generalmente se pueden obtener y operar de forma gratuita. Sin embargo, algunas ofertas de soporte solo se pueden utilizar por una tarifa. El software de alojamiento de Windows suele ser de pago.

Servicio

El escritorio del competidor es fundamentalmente diferente. Si bien los servidores Windows ofrecen una interfaz gráfica de usuario, los comandos solo se ingresan en los servidores Linux a través de la línea de comandos.

Ajustes

Aquí Linux puntúa con su apertura fundamental. El kernel del sistema se puede adaptar en cualquier momento y numerosas herramientas ayudan con la configuración personal del entorno del servidor. Los usuarios sin experiencia podrían verse abrumados por esto. Windows, por otro lado, se basa en la facilidad de uso; el servidor generalmente no es particularmente adaptable.

Soporte

El soporte a largo plazo, es decir, el soporte en emergencias, es comparativamente bueno con Windows. Para un servidor Linux, esto no se aplica a todas las distribuciones.

seguridad

Las aplicaciones de Windows son más vulnerables a los ataques de malware que las distribuciones de Linux.

The GNU Make Book – Construir automatización

The GNU Make Book – Construir automatización


Además de escribir sobre Linux y escribir reseñas y tutoriales sobre distribuciones y herramientas, también estoy muy involucrado en el desarrollo de software. Desafortunadamente, el 99,9% de ese desarrollo de software tiene lugar en la plataforma Windows.

Tengo más de 20 años de experiencia como desarrollador de C++, Visual Basic, VB.NET, y C# y también soy un experto en SQL Server como DBA y como desarrollador.

En lo que no soy muy bueno es en desarrollar software para Linux. Es algo con lo que nunca me he molestado. La razón principal es que después de desarrollar software durante el día lo último que quiero hacer es sentarme a escribir más software.

Obviamente me gusta jugar con los guiones y escribir un pequeño programa. Estos son generalmente para proyectos electrónicos basados en el PI Frambuesa.

Una de las cosas con las que muchos desarrolladores en la plataforma Windows tendrán problemas cuando se trasladen por primera vez a Linux es aprender sobre las herramientas necesarias para crear y empaquetar aplicaciones.

El tipo de aplicación más fácil de desarrollar son las aplicaciones web porque generalmente no requieren código compilado (PHP, Perl, Python) y los archivos se despliegan en un lugar fijo en el servidor web.

Un gran número de aplicaciones construidas para Linux se desarrollan usando C, C++ o Python. Compilar un solo programa en C es relativamente fácil, pero cuando se necesita compilar un número de programas en C con múltiples dependencias las cosas se ponen un poco más complicadas.

GNU Make es una herramienta de creación de scripts de automatización que le ayuda a compilar sus aplicaciones una y otra vez y de diferentes maneras. Por ejemplo, puede proporcionar un parámetro que, dependiendo del valor, compilará una aplicación utilizando 64 o 32 bits.

El libro de GNU Make ha sido escrito por John Graham-Cumming para ayudar a los usuarios de GNU Make a comprender mejor las complejidades asociadas con GNU Make.

El libro está dividido en seis capítulos:

  1. Lo Básico Revisado
  2. Depuración de Makefile
  3. Construcción y reconstrucción
  4. Trampas y problemas
  5. Empujar el sobre
  6. La biblioteca estándar de GNU

No creo que el libro esté realmente dirigido a principiantes porque carece de ciertas aclaraciones que se podrían esperar al aprender un nuevo tema como «¿Qué es GNU Make? y cómo crear un archivo Make», «¿Por qué es mejor usar Make que compilar cada programa uno por uno? Todas estas áreas temáticas están cubiertas en el manual de GNU Make.

El hecho de que el primer capítulo se llame «The Básico Revisited» en contraposición a «The Básico» muestra claramente que se espera que usted tenga una base en el tema antes de comenzar.

El primer capítulo cubre todos los aspectos básicos como el uso de variables, los entornos utilizados por los comandos y el entorno $(Shell). A medida que el capítulo avanza, usted entra en el tema de la comparación, las listas y las funciones definidas por el usuario.

Si ha estado usando GNU Make por un tiempo pero aún no se considera un experto, hay algunos consejos y sugerencias que le ayudarán a entender ciertas complejidades que pueden no ser aparentes inmediatamente.

El segundo capítulo será una bendición para aquellos de ustedes que han estado tratando de atrapar errores en la construcción de scripts. La sección «Makefile Debugging» está llena de excelentes consejos y sugerencias para depurar Makefiles e incluye secciones sobre la impresión de valores de variables e incluso la descarga del valor de cada variable. Más adelante en el capítulo, hay una guía del Depurador de GNU que puede usar para revisar los scripts.

El tercer capítulo incluye makefiles de ejemplo, pero más que eso te muestra cómo crear Makefiles que puedes ejecutar una y otra vez.

«Trampas y Problemas» examina las diferencias entre ciertos términos tales como = y :=, y ifndef y ?=.

Me di cuenta, a medida que avanzaba en el libro, que debido a que no estoy tratando activamente de usar GNU Make y a que mi conocimiento está a un nivel muy básico, algunos de los temas que se trataban pasaban por alto.

En el momento en que llegué al capítulo «Empujar el sobre», mis ojos se habían vuelto algo vidriosos.

Mi resumen principal, si tuviera que resumir este libro, es que el autor conoce claramente su contenido y ha tratado de transmitir toda la información posible.

El problema es que a veces, cuando un experto en la materia trata de escribir algo, tiene este «oh, es fácil, todo lo que tienes que hacer es….» aura sobre ellos.

El sello de goma de mi puerta trasera se desprendió la semana pasada y como sólo tiene un par de años llamé a la compañía que lo instaló, ya que todavía está en garantía.

La señora al teléfono dijo: «Oh, está bien, te enviaré un nuevo sello».

Le dije: «Oh, ¿tengo que hacerlo yo mismo? Es algo que puedo hacer».

La respuesta fue «Claro que puedes, todo lo que tienes que hacer es quitar la puerta, colocar el sello y volver a poner la puerta».

Ahora mi pensamiento instantáneo fue «woah, rebobina un poco. Quita la puerta?!??». No estoy capacitado para quitar una puerta, colocar un sello y volver a colocar la puerta. Eso se lo dejo a los expertos.

Con este libro, siento que necesitas otro libro y una cierta cantidad de experiencia escribiendo Makefiles antes de que te resulte útil.

Creo que las sugerencias, consejos y conocimientos que se ofrecen ayudarían a algunas personas a decir «Oh, así que por eso hace eso» o «No me di cuenta de que podías hacerlo de esa manera».

Mi evaluación es, por lo tanto, que debería comprar este libro si está buscando clarificación o conocimientos más intermedios o avanzados sobre GNU Make, pero no es un libro para principiantes.

Reconocimiento de voz usando Linux

Reconocimiento de voz usando Linux


Paso mucho tiempo investigando y a menudo pienso en el tema mientras camino a la estación de tren o cuando salgo de viaje en general.

Una tarde, mientras caminaba las 1,5 millas hasta la estación desde mi trabajo, pensé: «¿No sería bueno si pudiera grabar lo que quería decir y luego transcribirlo automáticamente a un archivo de texto que pudiera editar y formatear más tarde?

He pasado muchas horas mirando las diferentes opciones disponibles para el reconocimiento de voz y el dictado, incluyendo la grabación directa a través de un micrófono usando software de dictado en Linux, grabando el archivo en formato MP3 o WAV y convirtiéndolo a través de la línea de comandos, así como usando aplicaciones Chrome y Android.

Esto pone de relieve mis hallazgos después de días de trabajo duro.

Opciones de Linux

Tratar de encontrar software de dictado y reconocimiento de voz en Linux no es tan fácil como podría ser y las opciones disponibles no son tan inteligentes.

Esta página de wikipedia tiene una lista de opciones potenciales incluyendo CMU Sphinx, Julius y Simon.

Estoy usando SparkyLinux que está basado en Debian Testing en este momento y puedo decirle que el único paquete de reconocimiento de voz disponible en los repositorios es Sphinx.

Los programas nativos de Linux que terminé probando fueron PocketSphinx, que usé para convertir archivos WAV a texto y Freespeech-VR que es una aplicación python que permite grabar directamente desde un micrófono.

También probé un par de aplicaciones Chrome incluyendo VoiceNote II y Dictanote.

Finalmente probé las aplicaciones Android «Dictation and Email» y «Talk And Talk Dictation».

Freespeech-VR

Freespeech-VR no está disponible en los repositorios estándar. Descargué los archivos desde aquí.

Después de descargar y extraer el contenido del archivo zip, abrí un terminal y navegué hasta la carpeta donde se extrajeron los archivos. Escribí el siguiente comando para abrir freespeech-vr.

sudo python freespeech-vr

Tengo un par de auriculares con un micrófono bastante decente y un acento bastante claro del sur de Inglaterra.

El siguiente texto apareció en la ventana freespeech-vr:

Bienvenidos a la unidad perros de resultado Hoy Tener Asegurando Como Manejar Pruebas Y Tener que probar Cuándo Usar un mensaje de texto Utiliza un sistema de manera Discurso I el A cada uno fue Sólo En una Esperanza de quedarse Y El Medio de Uno gallinas doradas como sistema El Ea cuando mi nombre es el siguiente de las llamadas telefónicas de llamadas de ofch Este archivo Muy pronto bastante un caso teléfono a Manos- Espacia la esfinge Que no es un teléfono será compartida A entrenados y herramientas Usar hablar Cuando termines Di un archivo usado Por último una historia A Y usando a por el Cuando es muy exitoso Este Linux fue como Evitas es

Me gustaría decir ahora que este no es el sitio web de Unit Of Dogs y que en ningún momento mencioné nada que ver con los pollos Golden. En realidad estaba tratando de describir el proceso de uso del software de reconocimiento de voz.

Probé el software varias veces, incluyendo la variación de tono y velocidad, pero la precisión era pobre.

PocketSphinx

PocketSphinx es capaz de tomar un archivo WAV y convertirlo a texto usando la línea de comandos. PocketSphinx está disponible a través de los repositorios de Debian y debería estar disponible para la mayoría de las distribuciones.

El principal problema que encontré con PocketSphinx es que prácticamente se necesita un título en los conceptos de reconocimiento de voz, archivos de idioma, diccionarios y cómo entrenar el sistema.

Después de instalar PocketSphinx debe ir a la página web de CMU Sphinx y leer toda la información posible. También necesita descargar el siguiente archivo de modelo.

  • Modelo de idioma genérico del inglés de los Estados Unidos

(Si usted no es un hablante nativo de inglés, elija el modelo de idioma que sea apropiado para usted).

La documentación de PocketSphinx y Sphinx en general es difícil de entender para el profano, pero por lo que he podido ver, los archivos de diccionario se utilizan para proporcionar una lista de posibles palabras y los modelos de lenguaje tienen una lista de pronunciaciones potenciales.

Para probar PocketSphinx utilicé una grabación de mi propia voz, un fragmento de Al Pacino en «The Devils Advocate» y un fragmento de «Morgan Freeman». El objetivo de esto era probar diferentes voces y para mí no hay nadie que pueda contar una historia tan claramente como Morgan Freeman y nadie hace una línea como Al Pacino.

Para que PocketSphinx funcione necesita un archivo WAV y debe estar en un formato determinado. Si el archivo está en formato MP3, utilice el comando ffmpeg para convertirlo al formato WAV:

ffmpeg -i nombrearchivo de entrada.mp3 -acodec pcm_s16le -ar 16000 nombrearchivo de salida.wav

Para ejecutar PocketSphinx utilice el siguiente comando:

pocketsphinx_continuous -dict /usr/share/pocketsphinx/model/lm/en_US/cmu07a.dic -infile voice2.wav -lm cmusphinx-5.0-en-us.lm 2>voice2.log

pocketsphinx_continuous toma un archivo WAV y lo convierte en texto.

En el comando anterior pocketsphinx se le dice que use un archivo de diccionario llamado «/usr/share/pocketsphinx/model/lm/en_US/cmu07a.dic» con el modelo de lenguaje «cmusphinx-5.0-en-us.lm». El archivo que se está convirtiendo en texto se llama voice2.wav (que es una grabación que hice con mi voz). Finalmente el 2> coloca toda la salida verbosa que usted no necesita necesariamente en un archivo llamado voice2.log. Los resultados reales de la prueba se muestran en la ventana del terminal.

Los resultados usando mi voz son los siguientes:

bienvenido a la siguiente sobre el tema de esta semana sobre el cual el software de reconocimiento en un minuto

Los resultados no son tan horrendos como con freespeech-vr pero todavía no son realmente utilizables. Entonces intenté usar PocketSphinx con Al Pacino, pero no obtuve ningún resultado.

Finalmente intenté usar la voz de Morgan Freeman de la película «Bruce Todopoderoso» y aquí están los resultados:

00000000000: nos pondremos en contacto con ella00000000001: son todos tan duros sí el día que ahora mismo sí esto es lo máximo que hemos estado vivos soy parte del hot
00000000002: en el ascensor que es la llave de un poco de béisbol o saber qué hacer en la vida
00000000003: cuáles son los que se recuperarán
00000000004: no lo escribieron
00000000005: ellos tienen en mí la derecha out
00000000006: debes ser reglas
>.00000000007: te he estado esperando00000000008: y se enteró aquí que era una ilustración de que era la fiesta de navidad asesino
00000000009: resulta que una de las maneras de escribir o. ass pensé que pocos siempre usan uno
00000000010: como el problema unido no le dará el bien soy el estimado en ese momento cuando no hicimos todo lo que piensas que estoy en el mundo se casará y he visto que
00000000011: un padre que lo tiene
00000000012: lo que hay de importante en esto
00000000013: hace eso dado
00000000014: todo lo que los que no caen por un lote
00000000015: justo en el otoño
00000000016: well hold on just for me
00000000017: es un infeliz si pienso también que van a tener un que el que todo eso se casará en un no nos gusta el camino diferente

Mi prueba apenas puede considerarse científica y los desarrolladores de PocketSphinx pueden afirmar que no estoy usando el software correctamente. También existe una técnica llamada entrenamiento de voz que puede ser utilizada para crear mejores diccionarios y archivos de idiomas.

Sin embargo, mi opinión primordial es que es demasiado difícil para el uso diario estándar.

Nota de voz II

VoiceNote II es una aplicación Chrome que utiliza la API de reconocimiento de voz de Google.

Si utiliza los navegadores Chrome o Chromium, puede instalar VoiceNote II a través de la tienda web.

Los iconos de VoiceNote II están dispuestos de una manera extraña, ya que necesitas configurar el idioma en la parte inferior de la ventana y el botón de edición también está en la parte inferior; sin embargo, el botón de grabación está en la posición superior derecha.

Lo primero que tiene que hacer es seleccionar un idioma y esto se puede lograr haciendo clic en el icono del mundo.

Para empezar a grabar, haga clic en el icono del micrófono y empiece a hablar por el micrófono. Para obtener los mejores resultados, encontré que hablar despacio era clave para que el software tuviera la oportunidad de mantenerse al día.

Los resultados no fueron muy buenos, como se puede ver a continuación:

Hola y bienvenido a conectarse. Lifewire.com hoy en día s acerca de la voz a la conversión de texto dunelm recesión farrell 2008 como conversiones y dijo bien apoyado la mejor manera que encontré complemento de texto de voz para mostrar 2014debian o paquete de rpm abrirlo tipo de voz a voz para abrir el texto si desea elegir vs eligió en edimburgo francés alemán obtener el tiempo en united kingdomstart at sea microphonewhat usted terminó de escribir su texto como un archivo de texto a su éxito bien que es acento inglés muy estándar del sur de Inglaterra mejor para él pero voy al textvia este torrentalong con el documento real y usted puede ver para los errores que makethank usted para escucharfriends

Dictanote

Dictanote es otra aplicación de Chrome que se puede usar para dictado y que parece ser más intuitiva, pero los resultados no fueron mejores que los de VoiceNote II.

Sólo he utilizado la versión de demostración de Dictanote que le impide crear nuevos documentos, pero que le permite hablar sobre el texto que ya está en el editor. Pude probar el reconocimiento de voz, pero los resultados no fueron mejores que los de VoiceNote II, por lo que no me inscribí en la versión profesional.

Dictado y correo

«Dictado y correo» es una aplicación Android que utiliza la API nativa de reconocimiento de voz de Google.

Los resultados de «Dictation and Mail» fueron mucho mejores que los que cualquiera de los otros programas intentaron hasta ahora.

hola bienvenidos a Linux lifewire, hoy estamos hablando de convertir el sonido en texto

El truco con «Dictation and Mail» es hablar despacio y pronunciar lo mejor que se pueda con un acento uniforme.

Después de que haya terminado de hablar, puede enviarse los resultados por correo electrónico a usted mismo.

Dictado Talk And Talk

La otra aplicación Android que probé fue «Talk And Talk Dictation».

La interfaz para esta aplicación era la mejor de todas y el reconocimiento de voz funcionó muy bien. Después de grabar el dictado, pude compartir los resultados de varias maneras, incluso por correo electrónico.

bienvenido a linux lifewire.com hoy estamos hablando de convertir voz a texto

Como puede ver, el texto de arriba es lo más claro que puede esperar. Hablar despacio es la clave.

Resumen

Native Linux tiene un largo camino por recorrer en lo que respecta al reconocimiento de voz y específicamente al dictado. Hay algunas aplicaciones que utilizan la API de voz de Google pero que aún no están listadas en los repositorios.

Las aplicaciones ChromeOS son un poco mejores, pero los mejores resultados se obtuvieron con mi teléfono Android. Tal vez el teléfono tiene un micrófono mejor y por lo tanto el software de reconocimiento de voz tiene más posibilidades de conversión.

Para que el reconocimiento de voz sea realmente utilizable, debe ser más intuitivo y requerir menos configuración. No debería tener que andar jugando con modelos de lenguaje y diccionarios para hacerlo inteligible.

Aprecio, sin embargo, que todo el arte del reconocimiento de voz es muy desafiante porque cada uno tiene una voz diferente y hay muchos dialectos de una región a otra en un mismo país, sin preocuparse por los cientos de idiomas que se utilizan en todo el mundo.

Mi análisis, por lo tanto, es que el software de reconocimiento de voz todavía está en proceso.

Cuáles son las ventajas de usar lenguajes compilados

Cuáles son las ventajas de usar lenguajes compilados


Una pregunta común que se hace la gente que está pensando en entrar en la programación es «¿qué idioma debería aprender?

La respuesta a esta pregunta es casi imposible de responder. Si usted está buscando aprender a programar para propósitos de carrera entonces es una buena idea ver lo que todos los demás están usando y aprender eso.

Por ejemplo, en los últimos años un gran número de personas están utilizando la pila.NET que incluye ASP.NET, C#, JavaScript/JQuery/AngularJS. Estos lenguajes de programación forman parte del conjunto de herramientas de Windows y, aunque el.NET se ha puesto a disposición de Linux, no se utiliza mucho.

Dentro del mundo Linux, la gente usa Java, PHP, Python, Ruby On Rails y C.

¿Qué es un lenguaje compilado?

#include
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.int main()
{
> printf("Hello World");
}

Lo anterior es un ejemplo muy simple de un programa escrito en el lenguaje de programación C.

C es un ejemplo de un lenguaje compilado. Para ejecutar el código anterior, necesitamos ejecutarlo a través de un compilador de C.

Generalmente, para hacer esto, ejecute el siguiente comando en Linux:

gcc helloworld.c -o hello

El comando anterior convierte el código de formato legible para humanos en código de máquina que la computadora puede ejecutar de forma nativa.

"gcc" es en sí mismo un programa compilado (compilador gnu c).

Un programa compilado se puede ejecutar simplemente ejecutando el nombre del programa de la siguiente manera:

 ./hola

Los beneficios de usar un compilador para compilar código es que generalmente corre más rápido que el código interpretado ya que no necesita trabajar sobre la marcha mientras la aplicación se está ejecutando.

El programa compilado también ha sido comprobado en busca de errores durante su compilación. Si hay algún comando que no le guste al compilador, entonces será reportado. Esto le permitirá corregir todos los errores de codificación antes de obtener un programa completamente ejecutado.

El hecho de que un programa se haya compilado con éxito no significa que se ejecute lógicamente de la forma en que usted espera que se ejecute, por lo que todavía tiene que probar su aplicación.

Sin embargo, rara vez algo es perfecto. Si tenemos un programa C compilado en nuestra computadora Linux no podemos copiar ese programa compilado a nuestra computadora Windows y esperar que el ejecutable se ejecute.

Para conseguir que el mismo programa en C se ejecute en nuestro ordenador con Windows, necesitaremos compilar el programa de nuevo usando un compilador de C en un ordenador con Windows.

¿Qué es un idioma interpretado?

imprimir ("hola mundo")

El código anterior es un programa de python que mostrará las palabras "hello world" cuando se ejecute.

Para ejecutar el código no necesitamos compilarlo primero. En su lugar, podemos simplemente ejecutar el siguiente comando:

python helloworld.py

El código anterior no necesita ser compilado primero, pero sí requiere que python esté instalado en cualquier máquina que necesite ejecutar el script.

El intérprete de python toma el código legible por el ser humano y lo convierte en otra cosa antes de convertirlo en algo que la máquina pueda leer. Todo esto sucede entre bastidores y como usuario, todo lo que verás son las palabras "hola mundo".

En general, se considera que el código interpretado se ejecutará más lentamente que el código compilado porque tiene que realizar activamente el paso de convertir el código en algo que la máquina puede manejar sobre la marcha en lugar de código compilado que puede ejecutarse.

Si bien esto puede parecer un inconveniente, existen varias razones por las que los idiomas interpretados son útiles.

Por ejemplo, es mucho más fácil conseguir que un programa escrito en python se ejecute en Linux, Windows y macOS. Todo lo que tiene que hacer es asegurarse de que python está instalado en el ordenador en el que desea ejecutar el script.

Otra ventaja es que el código siempre está disponible para su lectura y se puede cambiar fácilmente para que funcione de la forma que usted desee. Con el código compilado, necesita encontrar dónde se guarda el código, cambiarlo, compilarlo y redistribuir el programa.

Con el código interpretado, se abre el programa, se cambia y está listo para funcionar.

Entonces, ¿cuál debería usar?

Dudamos que su decisión sobre el lenguaje de programación se decida si es un lenguaje compilado o no.

Esta lista podría valer la pena, ya que enumera los 9 lenguajes de programación más populares.

Mientras que algunos lenguajes están muriendo, como COBOL, Visual Basic y ActionScript, hay otros que han estado al borde de la muerte y han tenido un regreso dramático como JavaScript.

Generalmente, nuestro consejo sería que si está usando Linux debería aprender Java, Python o C y si está usando Windows aprender.NET y AngularJS.

Cómo usar la variable $SHLVL para mostrar el nivel de Shell

Cómo usar la variable $SHLVL para mostrar el nivel de Shell


La variable $SHLVL se utiliza para decirle cuántas conchas de profundidad tiene. Si estás confundido por esto, vale la pena empezar por el principio.

¿Qué es una concha?

Un shell toma comandos y los da al sistema operativo subyacente para que los ejecute. En la mayoría de los sistemas Linux el programa de shell se llama BASH (The Bourne Again Shell) pero hay otros disponibles incluyendo el Shell C (tcsh) y el shell KORN (ksh).

Cómo acceder a la shell de Linux

Generalmente, como usuario, usted interactúa con el programa shell a través del uso de un programa de emulación de terminal como XTerm, konsole o gnome-terminal.

Si está ejecutando un gestor de ventanas como Openbox o un entorno de escritorio como GNOME o KDE encontrará un emulador de terminal desde un menú o un guión. En muchos sistemas, el acceso directo CTRL ALT y T también abrirá una ventana de terminal.

Alternativamente, puede cambiar a otro TTY (teletipo) que proporciona acceso directo a un shell de línea de comandos. Puede hacerlo pulsando CTRL ALT y F1 o CTRL ALT y F2, etc.

Qué es un nivel de Shell

Cuando ejecuta un comando en un shell, se ejecuta en algo llamado el nivel de shell. Dentro de una shell, puede abrir otra shell que la convierte en una subshell o en la shell que la abrió.

Por lo tanto, la shell madre sería considerada quizás la shell de nivel 1 y la shell hija sería una shell de nivel 2.

Cómo mostrar el nivel de Shell

No debería ser una sorpresa basado en el título de la variable $SHLVL para saber en qué nivel de shell se está ejecutando.

Para ver el nivel de shell en el que se está ejecutando actualmente, escriba lo siguiente:

echo $SHLVL>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>»»»>>>>>>>>>>>>»»»»>>>)

De manera interesante, si ejecuta el comando anterior dentro de una ventana de terminal, puede sorprenderse al ver que el resultado devuelto es 2.

Sin embargo, si ejecuta el mismo comando usando la tty, el resultado es 1.

¿Por qué es este el caso que usted podría preguntar? Bueno, el entorno de escritorio que está ejecutando se está ejecutando en la parte superior de un intérprete de comandos. Ese proyectil sería de nivel 1. Cualquier ventana de terminal que abra desde ese entorno de escritorio debe ser hija de la shell que abrió el entorno de escritorio y, por lo tanto, el nivel de shell no puede comenzar con ningún otro número que no sea 2.

El tty no está ejecutando un entorno de escritorio y por lo tanto es simplemente un shell de nivel 1.

Cómo crear subconjuntos

La manera más fácil de probar el concepto de shells y subshells es la siguiente. Abra una ventana de terminal y escriba lo siguiente:

echo $SHLVL>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>»»»>>>>>>>>>>>>»»»»>>>)

Como sabemos por una ventana de terminal el nivel mínimo de shell es 2.

Ahora, en la ventana del terminal, escriba lo siguiente:

sh

El comando sh por sí solo ejecuta un shell interactivo, lo que significa que está usando un shell dentro de un shell o subshell.

Si ahora escribe esto de nuevo:

echo $SHLVL>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>»»»>>>>>>>>>>>>»»»»>>>)

Verá que el nivel de shell está ajustado a 3. Ejecutando el comando sh desde dentro de la subcarpeta se abrirá una subcarpeta de la subcarpeta y así el nivel de la misma estará en el nivel 4.

¿Por qué es importante el nivel de Shell?

El nivel de shell es importante cuando se piensa en el alcance de las variables dentro de sus scripts.

Empecemos con algo simple:

dog=maisie
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>""">>>>>>>>>>>>>>>>>>>>>""">>">))))echo $dog

Si ejecuta el comando anterior en un shell, la palabra maisie se mostrará en la ventana del terminal.

Abra una nueva shell escribiendo lo siguiente:

sh

Si ejecuta este comando, verá que no se devuelve nada:

echo $dog

Esto se debe a que la variable $dog sólo está disponible en el nivel de shell 2. Si escribe exit para salir del subshell y ejecutar echo $dog de nuevo, la palabra maisie se mostrará de nuevo.

También vale la pena pensar en el comportamiento de las variables globales dentro de una concha.

Comience en una nueva ventana de terminal y escriba lo siguiente:

perro de exportación=maisie
echo $dog

Como es de esperar, se muestra la palabra maisie. Ahora abra un subshell y vuelva a escribir echo $dog. Esta vez verá que la palabra maisie se muestra aunque usted se encuentre en un subshell.

La razón de esto es que el comando export hizo que la variable $dog fuera global. Cambiar la variable $dog dentro de la subshell incluso si usa el comando export no afecta a sus shells padre.

Esperamos que a partir de esto pueda ver que conocer el nivel de shell en el que está trabajando tiene cierta importancia a la hora de escribir scripts.

Los ejemplos que he dado son muy simplistas, pero es muy común que un script de shell llame a otro script de shell que a su vez llama a otro script de shell, todos ellos ejecutándose en diferentes niveles. Conocer el nivel de shell puede ser muy importante.

¿Qué es la utilidad Linux Lokkit?

¿Qué es la utilidad Linux Lokkit?

lokkit : La utilidad Lokkit intenta proporcionar cortafuegos para el usuario final medio de Linux. En lugar de configurar las reglas del firewall, Lokkit hace un pequeño número de preguntas sencillas y escribe una regla de firewall configurada para usted. Lokkit no está diseñado para configurar cortafuegos arbitrarios. Para que sea fácil de entender, está diseñado exclusivamente para manejar configuraciones típicas de usuario de acceso telefónico y de módem de cable. No proporcionará una configuración de cortafuegos compleja, y no es igual a la de un diseñador de cortafuegos experto.

………………………………….
Fuente: Redhat 8.0 RPM / Linux Dictionary V 0.16
> Diccionario Linux Vhttp://www.tldp.org/LDP/Linux-Dictionary/html/index.html DIFUNDE LA PALABRA-Autor: Binh Nguyen linuxfilesystem(at)yahoo(dot)com(dot)au
……………………………

> Glosario de Linux/Unix/Computación

Mantenga los archivos agrupados dentro de un tarball

Mantenga los archivos agrupados dentro de un tarball


Según Wikipedia, un tarball es un formato de archivo de ordenador que puede combinar varios archivos en un único archivo llamado «tarball», normalmente comprimido.

Entonces, ¿cómo nos ayuda eso y para qué podemos usarlos?

En el pasado se creaban archivos tar para almacenar datos en cintas y el término tar significa archivo de cintas. Aunque todavía se puede utilizar para este propósito, el concepto de un archivo tar es simplemente una forma de agrupar muchos archivos en un solo archivo.

¿Cuáles son los beneficios de usar un archivo de alquitrán?

  • Puede agrupar un gran número de archivos en un archivo tar
  • El comando tar está disponible en la mayoría de los sistemas Linux y por lo tanto puede ser movido y extraído sin problemas de compatibilidad
  • El archivo tar mantiene los tiempos de acceso a los archivos
  • El archivo tar mantiene los permisos para los archivos
  • El archivo tar incorpora enlaces simbólicos
  • Puede escribir archivos de alquitrán en dispositivos sin procesar como cintas, DVDs, unidades USB

Razones para crear archivos Tar

Los archivos de alquitrán cuando están comprimidos hacen buenas copias de seguridad y pueden copiarse en DVD, discos duros externos, cintas y otros dispositivos multimedia, así como en ubicaciones de red. Utilizando un archivo tar para este propósito puede extraer todos los archivos dentro de un archivo a sus lugares originales si lo necesita.

Los archivos Tar también se pueden utilizar para distribuir software u otro tipo de contenido colaborativo. Una aplicación se compone de docenas de programas y bibliotecas diferentes, así como de otros contenidos de apoyo como imágenes, archivos de configuración, archivos «léeme» y archivos «make». Un archivo tar ayuda a mantener esta estructura unida para propósitos de distribución.

Lo malo de usar archivos de alquitrán

Wikipedia enumera una serie de limitaciones para el uso de archivos tar que incluyen, pero no se limitan a:

  • Soporte de sistemas operativos. Los archivos Tar son ampliamente adoptados en las plataformas UNIX y Linux, pero se necesitan herramientas de terceros para abrirlos en Windows
  • .

  • Tarbombs – Básicamente, estos archivos tar están diseñados para expandir y colocar archivos en múltiples directorios en todo el sistema de archivos. Esto es un problema cuando se reciben los tarballs en lugar de cuando se usan los suyos propios. Como la mayoría de las cosas en la informática, los recursos de confianza son la clave.
  • Es más difícil localizar y extraer archivos individuales de un archivo tar
  • Cuando se comprime con gzip hay que descomprimir todo el archivo, mientras que con el archivo zip estándar se puede ver el contenido del archivo comprimido y extraer archivos individuales.
  • Un archivo tar puede tener dos archivos idénticos con la misma ubicación, lo que puede provocar que uno sobrescriba al otro al extraerlo
  • .

Cómo crear un archivo Tar

Para crear un archivo tar se utiliza la siguiente sintaxis:

tar -cf tarfiletocreate listoffiles

Por ejemplo:

tar -cf garybackup ./Música/* ./Imágenes/*./Vídeos/*

Esto crea un archivo tar llamado garybackup con todos los archivos de mi carpeta de música, imágenes y vídeos. El archivo resultante queda completamente descomprimido y ocupa el mismo tamaño que las carpetas originales.

Esto no es grandioso en términos de copiar a través de una red o grabar en DVDs porque ocupará más ancho de banda, más discos y será más lento de copiar.

Puede utilizar el comando gzip junto con el comando tar para crear un archivo tar comprimido. En esencia, un archivo tar comprimido es un tarball.

Cómo listar los archivos en un archivo Tar

Para obtener una lista del contenido de un archivo tar utiliza la siguiente sintaxis:

tar -tvf tarfilename

Por ejemplo:

tar -tvf garybackup

Cómo extraer un archivo de alquitrán

Para extraer todos los archivos de un archivo tar utilizando la siguiente sintaxis:

tar -xf tarfilename

Lectura adicional

  • Las páginas del manual de GNU tar
  • Qué es un archivo tar
  • Ejemplos de uso del comando tar
  • Un breve ejemplo del comando gzip