01. Breve introdución a Linux

GNU

Obxectivos: tratar de forma breve e sinxela a historia de GNU/Linux e UNIX, falar dos principais actores, empresas e curiosidades que xurdiron, definindo a súa vez tamén termos básicos.

Un pouco de historia: Ken Thompson e UNIX

Ken Thompson e outros colegas desenvolven o sistema operativo UNIX como traballadores da empresa AT&T e no ano 1977 lánzanse a súa comercialización –para saber todo o proceso histórico, podedes consultar a wiki -.

UNIX é un sistema operativo portábel, multitarefa e multiusuario orixinalmente desenvolvido por Ken Thompson

https://gl.wikipedia.org/wiki/UNIX

Este sistema tivo moito éxito no seu lanzamento, foi escrito usando C e soporta o sistema de xanelas X Window System ou máis coñecido como X11.

Linux é o Kernel

Linux é o controlador central, kernel ou núcleo, de todo o que pasa no equipo, de código aberto desenvolvido por Linus Trovalds no ano 1991 e que comezou como un proxecto de pasatempo, foi aberto á comunidade de aí o seu éxito. Pero non é Unix como moita xente pensa, de feito o seu acrónimo é recursivo Linux (Linux is not unix ), aínda que o certo é que trátase en certa maneira dun clon de Unix aínda que non teña o seu código.

Linux é unha marca rexistrada de Linus Trovalds

https://www.kernel.org/category/signatures.html

A función do kernel por tanto é fundamental na vida dun sistema operativo, permite a comunicación entre o sistema e o hardware, sen iso non podería funcionar. Xestiona o uso da memoria RAM facendo uso da multitarefa, para que varias aplicacións podan correr ao mesmo tempo. Por suposto debe facer uso da xestión dos hilos do procesador.

Linux

GNU e GNU/Linux

No ano 1983 Richard Stallman, (creador da Free Software Foundation), anuncia o lanzamento do proxecto de sistema operativo chamado GNU (outro acrónimo recursivo: GNU is not Unix) e aínda que o equipo de Trovalds ademais de ter o núcleo do sistema funcional estivese traballando tamén noutras ferramentas para ter o sistema totalmente completo, decidiuse xuntar as dúas partes: o Kernel (Linux) de Trovalds coas ferramentas do sistema que xa tiña Stallman.

Este motivo foi así debido a que Stallman xa levaba moito tempo traballando en GNU, dende o 1983 e tiña as ferramentas listas, mentres que Trovalds só dispuña do núcleo.

Por ese motivo deberíamos referirnos sempre como GNU/Linux e non só Linux, xa que Linux é o kernel, o núcleo e precisa de máis ferramentas para chegar a ser un SO.

Resumo GNU, Linux, GNU/Linux e Kernel:

  • Linux: núcleo/kernel, desenvolvido por Linus Trovalds. Permite comunicar o Sistema Operativo co Hardware. Ano 1991. Linux quere dicir Linux is not Unix, porén é un clon de Unix aínda que non conteña o seu código.
  • GNU: as ferramentas que compoñen un sistema operativo desenvolvidas por Richard Stallman. Ano 1983. GNU quere dicir GNU is not Unix
  • Unix: trátase dun sistema operativo completo. Desenvolvido por AT&T no ano 1977
  • GNU/Linux: un sistema operativo completo

As distribucións e os ciclos de actualización

A diferencia de sistemas tipo Windows ou OS OX (Apple) que poden dividirse entre versións de escritorio e servidor, Linux dispón dunha gran variedade de alternativas en sistemas que podemos escoller chamadas distribucións. Moitas delas non teñen relación entre si, usan xestores de paquetes diferentes, de xanelas ou outras opcións. Todas comparten o a base: GNU/Linux, pero despois hai moitas variantes.

Algunhas distribucións están pensadas para a produción musical en exclusiva, a programación ou a xestión de datos, ademais das xa habituais adicadas a servidor/escritorio, como xa comentamos.

Debemos ter en conta que cando liberan as distribucións teñen basicamente dúas formas de facelo:

  • LTS-Long Term Support: lánzase unha versión estable e con actualizacións pensadas para dar soporte sobre 5 anos aprox., na maioría dos casos.
  • Última versión: cando queremos estar ao día nas últimas novidades, correndo un risco de vulnerabilidades, xa que non levan o suficiente tempo en uso para poder corrixir erros.

Porén, tamén hai que analizar os ciclos de liberación, debemos estar familiarizados con eles, xa que darannos informacións sobre cada vez que sae unha nova versión, o ciclo de mantemento ou o End Of Life.

  • Ciclo de liberación: cada vez que sae unha versión
  • Ciclo de mantemento (vida): durante canto tempo hai actualizacións e soporte oficial
  • Fin de Vida (End of Life): a fin de vida considerase despois de 2 versións principais máis un mes. Será necesario mudar de distribución.

Algunhas distribucións de GNU/Linux:

  • Red Hat: pensada para servidores, usa o formato de paquetes RPM – Red Hat Package Manager
  • Fedora: escritorio persoal, derivada de Red Hat
  • Debian: usa o formato de paquetes .deb
  • Ubuntu: derivada de Debian, tamén usa os paquetes .deb

Android

Android volveuse a distribución de Linux máis coñecida debido ao seu uso en dispositivos móbiles. Porén, hai que especificar que só usa Linux e non GNU, isto quere dicir que só ten o kernel, e deixa as aplicacións corren baixo a máquina virtual Dalvik.

Por iso é importante usar ben os termos Linux e GNU/Linux.

Os comandos

Se algo caracteriza este sistema é polos comandos, se ben é certo que a día de hoxe podemos usar unha distribución, por exemplo Debian, sen necesidade de usar a liña de comandos.

Se temos que definir comando podemos facelo do seguinte xeito: un programa software que é executado na liña de comandos e que realiza unha acción no equipo.

Temos que separar tres tipos:

  • Comandos integrados na shell: non necesitamos ningún programa adicional, xa veñen instalados e xa definidos.
  • Comandos almacenados en arquivos que son buscados pola shell: Cando escribimos un comando, a shell busca nos directorios que aparecen na ruta de acceso (Path) para tratar de encontrar un arquivo chamado igual que o noso comando, para executalo. Eses comandos poden executarse tamén escribindo a ruta completa da súa localización.
  • Alias: substitúe un comando integrado
  • Funcións: As funcións poden ser construídas usando os comandos existentes ou creando novos. Tratarémolos máis adiante.

00. Obtendo a certificación Linux Essentials

Comezamos unha nova sección no blog adicada á preparación da certificación Linux Essentials, pensada para persoas que desexan comezar neste mundo do software libre e afianzar coñecementos sobre Linux a través deste tipo de formacións.

Antes de continuar, debemos saber que existen dous tipos de certificacións: Linux Essentials e LPIC, estas últimas divididas a súa vez en dúas(LPIC 1 e LPIC II) e que non van ser obxecto destes artigos.

Aínda que o nome de Essentials nun primeiro momento poda parecernos moi básico, debemos saber que o que imos aprender vai a servirnos para desenvolver a práctica totalidade das tarefas que fai un técnico de IT que traballe con sistemas Linux.

Aquí vai o temario:

  1. Introduction to Linux
  2. Open Source Applications and Licenses
  3. Using Linux
  4. Command Line Skills
  5. Getting Help
  6. Working with Files and Directories
  7. Archiving and Compression
  8. Pipes, Redirection and REGEX
  9. Basic Scripting
  10. Understanding Computer Hardware
  11. Managing Packages and Processes
  12. Network Configuration
  13. System and User Security
  14. Create a New User
  15. Ownership and Permissions
  16. Special Permissions, Links and File Locations