Ahora que tengo Linux en la compu, qué hago?

Anuncio
Taller básico de
GNU Linux
Prof. Matías E. García
www.profmatiasgarcia.com.ar
Qué es GNU Linux?
Es un Sistema Operativo, como MacOS, MS Windows o Android, pero de
código abierto (Open Source) y gratuito. Es Software Libre.

Kernel: Linux

Herramientas básicas del S.O.: GNU
.
Es decir, GNU Linux es el software necesario para que tu PC te permita
utilizar programas como: editores de texto, juegos, navegadores de
Internet, reproductores multimedia, etc.
GNU Linux puede usarse mediante una interfaz gráfica al igual que MS
Windows o MacOS, pero también puede usarse mediante línea de
comandos como MS-DOS o UNIX.
GNU Linux es seguro y sigue la filosofía de los sistemas UNIX; su robusto
sistema de permisos y usuarios no permite a los mismos borrar ni
instalar programas, ni tocar archivos del sistema. Esto sólo lo puede
hacer el superusuario o 'root', que es el único que tiene los permisos
adecuados para hacerlo.
Taller básico de GNU Linux
Prof. Matías E. García ~ www.profmatiasgarcia.com.ar
Qué es GNU Linux?

Es uno de los sistemas operativos más robustos, estables y rápidos.

Tiene una gran variedad de entornos gráficos.

Es multitarea: Se pueden utilizar varios programas a la vez.

Es multiusuario: varios usuarios pueden usar la misma maquina al
mismo tiempo, ya sea mediante terminales serie, terminales virtuales o
por red.

Es multiplataforma: hay una amplia gama de plataformas hardware
soportadas: x86(386, 486, Pentium, Pentium Pro, Pentium II, k5, k6,
athlon,...),m68k (Amiga, Atari),Dec Alpha,Sun SPARC, ARM, MIPS, y PowerPC.

Tiene protección de la memoria entre procesos, de manera que uno
de ellos no puede colgar el sistema.

Es un sistema fiable; se utiliza para tareas de alta complejidad y
rendimiento, mas del 90% de los servidores en internet tienen GNU
Linux.
Taller básico de GNU Linux
Prof. Matías E. García ~ www.profmatiasgarcia.com.ar
Qué es GNU Linux?
Existen muchísimas distribuciones GNU Linux:

Cada una incluye un conjunto
herramientas, software preinstalado
de

Distintas formas
programas
los

Distintos entornos gráficos

En general compatibles entre si
de
empaquetar
Entre las mas comunes están: Ubuntu,
Debian, Fedora, Linux Mint, CentOS,
Elementary OS, Huayra Linux, openSuse,
Red Hat, Arch, Manjaro, Kali Linux,
SteamOS...
Linux se desarrolla bajo la Licencia Publica General GNU y su código
fuente esta disponible para cualquiera. Aun así, esto no significa que las
diferentes distribuciones sean gratuitas, las compañías y los
desarrolladores pueden cobrar por ello siempre y cuando el código
fuente este disponible.
Taller básico de GNU Linux
Prof. Matías E. García ~ www.profmatiasgarcia.com.ar

Breve historia...
Linux tiene su origen en UNIX.
Éste apareció en los años sesenta, desarrollado por
los investigadores Dennis Ritchie y Ken Thompson,
de los Laboratorios Telefónicos Bell.
Andrew Tanenbaum desarrolló un sistema operativo
parecido a UNIX (llamado Minix) para enseñar a sus
alumnos el diseño de un sistema operativo.
Richard Stallman decide desarrollar un OS libre basado en
UNIX al cual llama GNU (GNU's not UNIX). También crea la
Free Software Foundation donde desarrollan gran parte
del software para ese OS.
Un estudiante finlandés llamado Linus Torvalds,
constatando que no era posible extender Minix,
decidió escribir su propio sistema operativo
compatible con UNIX, al cual llamo Linux.
Taller básico de GNU Linux
Prof. Matías E. García ~ www.profmatiasgarcia.com.ar
UNIX: El comienzo
Años 60: en los Laboratorios Bell se comienza el desarrollo de Multics, un
OS multiusuario, multitarea, multicomplicado. Nunca se terminó.
Años 70: Thompson y Ritchie empiezan a escribir un sistema operativo,
deciden llamarlo UNIX. Kernigan y Ritchie crean el lenguaje C. En 1972
UNIX se reescribe en C, con lo que puede ejecutarse en cualquier
maquina que tenga un compilador de C. Se convierte en el primer SO
realmente portable. AT&T pone a disposición del público el código
fuente.
Años 80: UNIX se extiende y aparecen variantes (Ej: BSD). AT&T decide no
seguir con UNIX y las variantes comerciales toman el mercado. El código
fuente no se distribuye y los programas no pueden modificarse ni
compartirse.
Esta situación desagrada a la mayoría
de los usuarios, las abusivas licencias
comerciales rompían el espíritu de colaboración.
Taller básico de GNU Linux
Prof. Matías E. García ~ www.profmatiasgarcia.com.ar
GNU
Richard Stallman, del MIT, se decide a cambiar las cosas y comienza a
escribir un SO libre, que pudiera ser copiado y modificado por quien
quisiera. Se basa en UNIX intentando mejorarlo donde pudiera. Elige el
nombre para recalcar la diferencia entre UNIX (mayoritariamente
comercial) y su sistema (que será libre): GNU (Gnu’s Not UNIX).
Para administrar los recursos disponibles del proyecto GNU crea la Free
Software Foundation y esta desarrolla la licencia GPL.
A finales de los 80 la FSF ya tenía gran cantidad de los programas
necesarios implementados pero les faltaba una parte importante: el
kernel. Su propio kernel, llamado Hurd, tardaría bastante en estar listo (a
día de hoy todavía no lo está).
Taller básico de GNU Linux
Prof. Matías E. García ~ www.profmatiasgarcia.com.ar
Linux
En 1990 el IEEE publico un estándar sobre Sistemas Operativos, que
especificaba como debía ser el interfaz externo de las diversas áreas
de un Sistema Operativo. Se llamó POSIX: Portable Operating System
Interface.
En aquellos momentos uno de los núcleos más conocidos era Minix,
desarrollado como un proyecto educativo por Andrew Tanenbaum y
distribuido con su libro sobre diseño de Sistemas Operativos.
En 1991 en el grupo de noticias comp.os.minix, un estudiante de la
Universidad de Helsinki, Linus Benedict Torvalds, anunció que estaba
trabajando en un Sistema Operativo basado en Minix. Decidió hacerlo
libre y accesible para todos y pronto empezó a desarrollarse
rápidamente gracias a colaboradores de todo el mundo.
“Do you pine for the nice days of minix-1.1, when men were men and wrote
their own device drivers? [...] I'm working on a free version of a minixlookalike for AT-386 computers. It has finally reached the stage where it's
even usable, [...] and I am willing to put out the sources for wider
distribution. It is just version 0.02, but I've successfully run bash/gcc/gnumake/gnu-sed/compress etc under it.“
Taller básico de GNU Linux
Prof. Matías E. García ~ www.profmatiasgarcia.com.ar
Entornos gráficos
Trata de poner, con un conjunto de imágenes y objetos gráficos, la
información y acciones disponibles de una PC a un click del mouse.

Existen varios entornos gráficos de escritorio para Linux: Los clásicos
Gnome y KDE, Unity para Ubuntu, XFCE y LXDE para PCs con pocos
recursos, los mas nuevos Plasma, Mate, Cinnamon y Pantheon.

Equivalente al entorno de ventanas de MS Windows.

Compatibles entre sí

Cuestión de gustos

Se pueden instalar varios en una misma PC, dependiendo la distribución
de GNU Linux instalada.
Taller básico de GNU Linux
Prof. Matías E. García ~ www.profmatiasgarcia.com.ar
Configuración básica
Taller básico de GNU Linux
Prof. Matías E. García ~ www.profmatiasgarcia.com.ar
Actualización del sistema
Las actualizaciones son imprescindibles en cualquier sistema operativo,
bien sea de Microsoft, bien sea UNIX, de Apple, GNU Linux, etc, ya que
solucionan vulnerabilidades y mejoran su funcionamiento.
En las distribuciones GNU Linux no solo vamos a obtener las
actualizaciones del sistema operativo en si, sino tambien de la mayorıa
del software que tenemos instalado en la PC, de tal forma que es un
proceso mucho mas rapido y compacto que en otros sistemas
operativos.
Existen comandos de actualización que pueden ser ejecutados
directamente desde la consola, facilitando enormemente la tarea de
actualización.
$ yum update (Fedora, CentOS)
$ apt-get update (Debian, Ubuntu, Mint...)
$ apt-get upgrade
Taller básico de GNU Linux
Prof. Matías E. García ~ www.profmatiasgarcia.com.ar
$ yast (Suse)
Instalación de software
La instalación de software se puede realizar por interfaz gráfica o por
consola.
Para instalar aplicaciones en GNU Linux mediante la consola, usamos el
comando apt-get. Aunque algunos usuarios prefieren el uso de aptitude:
una interfaz para APT que tiene fama de resolver mejor las
dependencias que apt-get, y de eliminar paquetes inútiles.
Ejemplo: $ sudo apt-get install firefox
o $ sudo aptitude install firefox
El comando apt-get también funciona para desinstalar software
añadiendo el sufijo remove, y si además añadimos la orden --purge
podemos eliminar todos los datos de un programa, para que no quede
rastro de él en nuestro sistema.
Ejemplo: $ sudo apt-get remove --purge firefox
Taller básico de GNU Linux
Prof. Matías E. García ~ www.profmatiasgarcia.com.ar
Usuarios y permisos
La forma de definir que puede y que no puede hacer un usuario es a
través de los permisos de los ficheros.
Cada fichero tiene asociados TRES tipos de permisos diferentes:
Permiso de lectura: permite ver el contenido del fichero.
 Permiso de escritura: permite alterar el contenido del fichero.
 Permiso de ejecución: permite ejecutar el fichero (en un directorio permite
acceder a él).

Los permisos de un fichero solo pueden ser alterados por su propietario
y por el administrador, el usuario root.
Cada usuario estará asociado a un grupo, compuesto por usuarios con
características comunes.
Se definen TRES conjuntos de usuarios:
El propietario del fichero
 Los miembros del grupo del propietario del fichero
 El resto de usuarios.

Para cada uno de
estos
grupos
definiremos los tres
permisos diferentes.
Taller básico de GNU Linux
Prof. Matías E. García ~ www.profmatiasgarcia.com.ar
Sistema de archvios/ficheros
En el sistema de ficheros de los UNIX, todo, absolutamente todo, está
representado por un fichero.
No existe el concepto de extensiones, un programa es un fichero que
tiene permisos para ser ejecutado.
Tampoco existen diferentes unidades lógicas correspondientes a los
diferentes sistemas de archivos. Todo lo que hay en el sistema cuelga
del directorio raíz /.
El árbol de directorios de UNIX tiene una estructura bastante rígida, que
hace fácil la búsqueda de ficheros de configuración, ayuda, etc. cuando
hace falta.
Taller básico de GNU Linux
Prof. Matías E. García ~ www.profmatiasgarcia.com.ar
Sistema de archivos/ficheros

/bin: Abreviación de la palabra binaries (del inglés, ejecutables). Aquí se guardan muchos
de los programas básicos y esenciales para el funcionamiento del sistema como los
comandos ls, cp, etc.

/boot: En este directorio se encuentran los ficheros del núcleo del sistema, los que
ejecuta al arrancar.

/dev: Viene del ingles device (dispositivo). Este directorio contiene ficheros que
representan los dispositivos del sistema. Estos ficheros son fundamentales para que el
sistema funcione correctamente.

/etc: Aquí se encuentran ficheros relativos a la configuración local del sistema, y de los
programas, por ejemplo: /etc/passwd guarda información de cada uno de los usuarios.

/home: De este directorio cuelgan los los directorios de inicio (home directory) de los
usuarios “normales” (todos excepto el root).

/mnt: Generalmente de este directorio cuelgan los ficheros de los dispositivos
“montados” en el sistema, es decir, ficheros que son accesibles desde el sistema en ese
momento.

/usr: En /usr están la mayoría de los programas, las bibliotecas de funciones, las fuentes
del kernel, etc.. De /usr cuelgan otros directorios lib y bin, que tienen las bibliotecas y los
ejecutables que utilizan normalmente los usuarios, pero que no son imprescindibles para
el sistema, como awk, diff, grep,
Taller básico de GNU Linux
Prof. Matías E. García ~ www.profmatiasgarcia.com.ar
La consola
Ventana en la que se teclean los comandos que se quieren ejecutar.
También recibe el nombre de interprete de comandos, terminal o Shell.







Puede ser mas difícil de aprender (a veces)
Hay que aprenderse los comandos
Pero muuuucho mas flexible
El usuario no depende de las opciones que hay en la GUI
Es mucho mas eficiente
Al no haber clicks y movimientos de cursor, permite automatizar tareas
repetitivas.
También optimiza la posibilidad de ejecutar tareas en nodos remotos.
Los comandos se ejecutan tecleando su nombre y la tecla Enter
Los comandos aceptan opciones y argumentos
Suelen tener las siguientes formas:
$
$
$
$
comando
comando
comando
comando
--opción
–o
--opción=bla
–o bla
Taller básico de GNU Linux
Prof. Matías E. García ~ www.profmatiasgarcia.com.ar
La consola: Directorios
Crear un directorio
$ mkdir nombredir
Borrar un directorio (vacio)
$ rmdir nombredir
Moverse a un directorio
$ cd nombredir
Averiguar cual es el directorio actual
$ pwd
Obtener la lista de los ficheros en el directorio actual
$ ls [directorio|fichero]
Opciones
$
$
$
$
ls
ls
ls
ls
-l:
-a:
-t:
–r:
Con detalles
Todos (incluidos ocultos)
Ordenar por fecha de modificación
Ordenación inversa
Se pueden combinar las opciones. Ej: $
ls -lrt
Taller básico de GNU Linux
Prof. Matías E. García ~ www.profmatiasgarcia.com.ar
La consola: Ficheros
Al hacer un listado largo de un fichero (ls –l) o directorio (ls –ld)
obtenemos:
-rw-r--r-- 1 user1 group 0
2009-10-23 17:51 fichero.txt
drwxr-xr-x 2 user2 group 4096 2009-10-23 17:52 directorio
Fecha y hora de la
última modificación
Usuario Grupo
al que pertenece
Nombre
Triadas de permisos:
rwxr-x r-x
-: fichero
d: directorio
l: link (enlace)
x: ejecución
w: escritura
r: lectura
usuario (u)
grupo (g)
otros (o)
Tamaño del fichero en bytes
(usar ls –h para
formatos más legibles)
Taller básico de GNU Linux
Prof. Matías E. García ~ www.profmatiasgarcia.com.ar
La consola: Ficheros
Borrar un fichero
$ rm fichero
Renombrar un fichero
$ mv fichero_orig fichero_final
Cambiar de directorio un fichero
$ mv fichero_orig path/fichero_final
Símbolos especiales:
? Un caracter
* Conjunto de caracteres
Copiar un fichero
$ cp dirorigen/fichero_orig dirfinal/fichero_final
Copiar un directorio
$ cp –r dirorigen dirfinal
Cambiar los permisos de los ficheros
$ chmod [u|g|o|a][+|-][r|w|x] fichero
Ej: chmod u+x fichero
Cambiar propietario de un fichero
$ chown propietario fichero
Buscar un fichero
$ find <directorio> fichero
Taller básico de GNU Linux
Prof. Matías E. García ~ www.profmatiasgarcia.com.ar
La consola: otros
Ayuda sobre un comando
$ man comando
Interrumpir un comando ejecutado
<CTRL + c>
Ayuda para completar comandos y nombre de ficheros
<TAB>
Editores de ficheros
$ vi fichero
$ nano fichero
$ pluma fichero
Ejecutar un script
Descomprimir archivos tar.gz
$ tar xvf <archivo.tar>
Cambio de contraseña del usuario
$ passwd
$ sh script
Ejecutar un programa
$./programa
Conocer la ip de nuestra PC
$ ifconfig
Taller básico de GNU Linux
Prof. Matías E. García ~ www.profmatiasgarcia.com.ar
La consola: procesos
Un proceso es toda acción que se lleva a cabo dentro de un sistema UNIX.
Un proceso siempre es lanzado desde otro proceso. Procesos padre (parent process) y
procesos hijo (child process).
PID: número identificador de los procesos. Asignado directamente por el sistema. Distinto
para todos los procesos que se ejecutan simultáneamente en el sistema.
$ ps –ef lista de procesos ejecutándose en el computador, independientemente del
terminal.
root
root
bcus
118
123
4550
1
1
2665
0
0
10
Aug
Aug
10:37
20
20
55
?
?
console
0:20
1:01
0:00
LmSpool
LnMailslot
ps-ef
Ocho campos:
1:
2:
3:
4:
5:
6:
7:
8:
Usuario que ordena la ejecución del proceso (UID).
Número de identificación del proceso (PID).
Número de identificación del proceso padre (PPID).
Tiempo de utilización del procesador para reparto de gastos.
Fecha u hora de comienzo del proceso.
Para abortar la ejecución
Terminal desde la que se ejecuta el proceso.
de un proceso
Tiempo de ejecución del proceso.
$ kill PID
Nombre del proceso.
Taller básico de GNU Linux
Prof. Matías E. García ~ www.profmatiasgarcia.com.ar
Webgrafía y Licencia






Free Software Foundation https://www.fsf.org/
Aguilar Sierra, Alejandro. “Curso básico de Linux”. (2002)
Fernandez Escudero, Felix. “Curso GNU/Linux.” IES Virgen de la Paloma, Madrid
(2013)
Murillo García, José Luis. “¿Software Libre?”.
http://edulibre.info/IMG/pdf/Software_libre_y_educacion.pdf
Este documento se encuentra bajo Licencia Creative Commons 2.5 Argentina
(BY-NC-SA), por la cual se permite su exhibición, distribución, copia y posibilita
hacer obras derivadas a partir de la misma, siempre y cuando se cite la
autoría del Prof. Matías E. García y sólo podrá distribuir la obra derivada
resultante bajo una licencia idéntica a ésta.
Autor:
Matías E. García
.
Prof. & Tec. en Informática Aplicada
www.profmatiasgarcia.com.ar
info@profmatiasgarcia.com.ar
Taller básico de GNU Linux
Prof. Matías E. García ~ www.profmatiasgarcia.com.ar
Descripción de la Charla

Título: Ahora que tengo Linux en la compu, qué hago?.

Modalidad: Taller 90 minutos.

Descripción: Taller básico sobre GNU Linux. Se presentara el uso básico
del sistema, configuración, actualización y utilización. Se explicara el
manejo de archivos, instalación de software y utilización de programas
de ofimática, audio y vídeo. Se diferenciara entre distribuciones y
entornos de escritorio. Ventajas del uso del Software Libre frente al
Privativo.

Está destinada a los recién llegados al mundo del Software Libre.

Nivel: todos

Disertante: Prof. Matías E. Garcia, matias@profmatiasgarcia.com.ar

Temas: Software Libre, Linux, basico

Observaciones: Necesitare de un proyector, llevo mi propia Notebook.
Taller básico de GNU Linux
Prof. Matías E. García ~ www.profmatiasgarcia.com.ar
Descargar