Post on 13-Jun-2015
description
CONSEJOS Y TRUCOS DESUPERVICENCIA PARA NUEVOS
USUARIOS DE GNU/LINUX
Antonio OgnioCoordinador del PLUGantonio@linux.org.pe
FLISOL 2009 – Sábado 25 de Abril Huancayo, Perú
AGENDA● Conceptos y comandos que sacan de apuros● ¿Dónde y cómo conseguir ayuda?
● Eligiendo la distribución adecuada● Sacándo el máximo provecho de Google● Participando de un grupo de usuarios
● Como aprender más de Linux● Ejecutando Linux desde un Live CD● Instalando Linux dentro de Windows● Instalando Linux en una máquina virtual● Corriendo Linux en una Netbook
Conceptos básicos paraentender GNU/Linux
Conceptos básicos(heredados de UNIX)
● Filosofía de UNIX: ● Herramientas simples y especializadas● Al combinarlas se obtiene el resultado deseado
● En UNIX todo es un proceso o un archivo● El núcleo o kernel NO es un proceso● Los dispositivos se ven como archivos
Conceptos básicos(propios de Linux)
● Sobre el núcleo o kernel:● Es una sola gran pieza pero soporta módulos● Responsable de drivers menos de video● Responsable de sistemas de archivos● Aún dirigido y mantenido por Linus Torvalds● A algunos usuarios les gusta compilarlo :)● Disponible desde kernel.org
¿Qué es una distribución?
● Un sistema operativo GNU/Linux completo● Listo para ser instalado de alguna manera● Incluye una determinada selección de paquetes● Los paquetes vienen en determinadas versiones● Incluye casi siempre un gestor de paquetes● Incluye casi siempre un instalador● Esfuerzo de una organizaciones de voluntarios● También de empresas con vocación comercial
¿Porqué tantas distribuciones?
● Por especialización en ciertas funciones● Grupos distintos que buscan hacerlo mejor● Adaptación a entornos locales y regionales● Ciclos de desarrollo de duración distinta● Enfoque hacia las empresas o el usuario final● Enfoque hacia cierto tipo de hardware● Por convicciones políticas y religiosas● Porque tampoco es taaann dificil hacerlo :)
¿Qué compone a un sistemaGNU/Linux?
● Un núcleo ó kernel (Linux)● Programas de usuario (GNU y otros)● Una biblioteca de C (GNU libc)● Más bibliotecas del sistema (GNU y otros)● Un gestor de paquetes (dpkg, rpm, etc)● Un servidor X-Window (x.org)● Un entorno de escritorio (GNOME, KDE, etc)● Herramientas administrativas
¿Cómo es el sistema de un servidor GNU/Linux?
● Casi idéntico a un escritorio● Un núcleo configurado con otros parámetros● Drivers para soportar hardware especializado● Servicios de red instalados● Mayores medidas de seguridad● Más recursos de hardware (generalmente)● Suele funcionar 24x7x365
¿Quién desarrolla GNU/Linux?
● Una enorme comunidad de voluntarios● Empresas de todo el mundo que lo usan● Grandes corporaciones que tienen negocios● Gobiernos, universidades, institutos técnicos● Organizaciones con problemas por resolver● Personas que comparten sus mejoras● Informáticos que aman la programación● Activistas con fuertes convicciones políticas
¿GNU/Linux es propiedadde alguien?
● Ninguna empresa controla todo el código● Linus Torvalds decide sobre el kernel● Linus posee la marca registrada “Linux”● El resultado nos pertenece a todos● Es un patrimonio de la humanidad● Cada distribución es autónoma● Existen espacios de colaboración formales● La fundación Linux paga el sueldo de Torvalds
¿Cómo es el tema legal?● Los autores nunca dejan de ser reconocidos● Conservan sus derechos patrimoniales● El software se entrega CON licencia● La licencia otorga las 4 libertades● Las marcas registradas se respetan● Las patentes se respetan● Una licencia se puede hacer efectiva:
● Por derecho de autor (copyright)● Por derecho civil (contratos)
¿Cuáles son las 4 libertades?
● Libertad para ejecutar el software (irrestricta)● Libertad para estudiar y modificar el software● Libertar para copiar y redistribuir (sin modificar)● Libertad para distribuir las modificaciones
NOTA: Los puntos 2 y 4 requieren en acceso al código fuente.
¿Qué es entoncesSoftware Libre?
Software que se entrega bajo una licencia que otorgue y
resguarde esas 4 libertades
Creencias comunes......y equivocadas
● El software libre no tiene licencia● No se puede cobrar por entregar copias● Es obligatorio hacer públicas las fuentes● Hay que publicar el código en Internet● Si hago software libre dejo de ser el dueño● El soporte también debe ser gratuito
Estándares de la comunidad● Los programadores se junta y organizan:
● Un proyecto de desarrollo de software● Tienen un sitio web● Listas de correos● Publican el código fuente● Tienen un sistema de reporte de errores● Evaluan y aceptan parches
● No se cobra por binarios● Se ofrece soporte de la comunidad
¿Qué dicen las licenciasmás comunes?
● Que se puede cobrar por entregar copias● Que el usuario debe poder recibir el código● Las modificaciones siguen bajo la misma licencia● Que se otorga licencia de las patentes usadas● En algunos casos:
● Que se pueden crear derivados privativos● Que la licencia afecta a los programas enlazados
¿Cuáles son las licenciasmás comunes?
● GPL (Licencia Pública General de GNU)● LGPL (Lesser GPL)● BSD (Berkeley Software Distribution)● MIT / X11● Apache● Artistic (dual con GPL)
Software Libre vs Open Source● Free Software ó Software Libre:
● La libertad de las personas es el objetivo● El software es un medio para facilitarla● Opuesta totalmente al software privativo
● Open Source ó Código Abierto:● Crear más y mejor software es el objetivo● La libertad y la transparencia son medios● Suele permitir derivados privativos
¿Qué es software privativo?● Software que no califica como libre:
● No ofrece las 4 libertades● Falla al devolvernos las cuatro libertades
● ¿Teníamos derecho a esas 4 libertades?● Sí, por derecho natural como seres humanos● El gobierno nos retira esos derechos● Así le otorga derechos patrimoniales al autor
● Es el autor quien PUEDE devolvérnoslas● En todo momento se respeta el marco legal
¿Son buenas muchas licencias?● No! Se complica demasiado el análisis legal● Cada una debe ser validada en cortes● Son difíciles de escribir bien● Deberían ser válidas en todo el mundo● Dificultan mezclar el código y crear derivados● Se recomienda:
● Usar licencias conocidas y muy usadas● Que hayan sido defendidas con éxito● Cuyo análisis legal sea público y exhaustivo
Comandos básicos que pueden sacarte de apuros
Anatomía de un comando
$ comando -m –modificador param param$ comando "Parametro con espacios"
● Casi nunca un comando lleva espacios● Un solo guión para modificadores de una letra● Dos guiones para modificadores de varias letras● A veces los modificadores no llevan guiones● Cada comando es un programa independiente● Salvo los comandos internos del intérprete
INFORMACIÓN BÁSICA
Nombre de usuario:$ whoami
Nombre del equipo o servidor:$ hostname
Carpeta de trabajo actual:$ pwd
INFORMACIÓN BÁSICADEL ENTORNO DE RED
Dirección IP:$ sudo /sbin/ifconfig
Puerta de enlace:$ netstat -rn
Servidores DNS:$ cat /etc/resolv.conf
Configurar la direcciónIP manualmente
Dirección IP:# ifconfig eth0 192.168.1.50 netmask 255.255.255.255.0 upPuerta de enlace:$ route add default gw 192.168.1.1Servidores DNS:$ sudo vi /etc/resolv.conf
Editando /etc/resolv.conf
# Servidores de OpenDNS:nameserver 208.67.222.222nameserver 209.67.220.220
LISTANDO ARCHIVOS
$ ls -lh
PERMISOS DE ARCHIVOS
-rw-r--r--
PERMISOS DE ARCHIVOS
-rw-r--r--Archivos
PERMISOS DE ARCHIVOS
-rw-r--r--Archivos
Propietario Grupo Otros
PERMISOS DE ARCHIVOS
drw-r--r--
PERMISOS DE ARCHIVOS
drw-r--r--Carpetas
PERMISOS DE ARCHIVOS
-rwxr-wr-x-4214-14-1
PERMISOS DE ARCHIVOS
-rwxr-wr-x-4214-14-1
755
Modificando los permisos de un archivo
Con valores numéricos:$ chmod 755 archivo
Con valores simbólicos:$ chmod u+rwx,g+rx,o+rx archivo
NOTA: No usar espacios entre las comas!
Cambiando el propietario y el grupo de un archivo
Cambiando el propietario:$ sudo chown usuario archivo
Cambiando el grupo de un archivo:$ sudo chgrp usuario archivo
Descargando archivos
Utilizando wget:$ wget http://servidor.com/archivo
Reintentando y controlando el ancho de banda:$ wget -c –limit-rate=80K url
Descomprimiendo archivos
Tarballs:$ tar xpf archivo.tar$ tar zxpf archivo.tar.gz$ tar jxpf archivo.tar.bz2
Zip y Rar:
$ unzip archivo.zip$ unrar x archivo.rar
Instalando software
● Hay varias maneras:● Compilando el programa desde fuentes● Utilizando un instalador a la medida● Utilizando un gestor de paquetes
Instalando paquetes
Actualizando fuentes de paquetes:
$ sudo apt-get updateBuscando un paquete:$ sudo apt-cache search paquete
Instalando un paquete:$ sudo apt-get install paquete
Compilando programasdesde el código fuente
Instalando herramientas de desarrollo:
$ sudo apt-get install build-essentialCompilando desde fuentes:$ tar zxpf programa-1.0.tar.gz$ cd programa-1.0$ ./configure$ make$ sudo make install
Ejecutando un instaladorhecho a la medida
$ wget -c instalador.sh$ chmod +x instalador.sh$ sudo ./instalador.sh
...luego seguimos las instrucciones y respondemos las preguntas...
Trabajando en equipos remotos
Conexión via ssh: (puerto 22)
$ ssh usuario@servidorUtilizando un puerto distinto:$ ssh -p 2200 usuario@servidor
Copiando archivos demanera segura por la red
Copiar un archivo hacia un equipo remoto:
$ scp archivo usuario@servidor:ruta
Copiar de un equipo remoto a otro:$ scp usuario1@servidor1:ruta1 usuario2@servidor2:ruta2
Copiar un archivo desde un equipo remoto:
$ scp usuario@servidor:ruta ruta_local
¿Cómo y donde conseguir ayuda?
Eligiendo una distribuciónadecuada
● Ayuda mucho que se oriente al uso deseado● Debe ser conocida:
● Algunos años de trayectoria● Una buena cantidad de usuarios● Manuales y documentación disponible● Información fresca en libros y blogs
● Debe tener el software que buscas:● Ayuda que tenga muchos paquetes listos● El software debe ser actual y fácil de instalar
Algunas preguntas clave
● ¿Cuál es la distribución mas usada?● ¿Cuál usan mis amigos y profesores?● ¿Cuál trae má paquetes listos para usar?● ¿Cuál actualiza más frecuentemente el software?● ¿Cuál es más respetada en el mercado?● ¿Cuál usan las empresas locales?● ¿Cuál ofrece certificación?● ¿Cuál aumenta mis oportunidades laborales?
Las más conocidas● Ubuntu:
● La más popular del mundo en la actualidad● Orientada a escritorio y al usuario final● También para servidores, certificación, soporte
● Red Hat Enterprise Linux:● La más popular entre las empresas● Soporte oficial pagando suscripción● Certificación muy valorada y respetada
Las más conocidas● Gentoo:
● Compilas todo desde fuentes● Todo optimizado para tu hardware● Se aprende mucho en el camino
● Slackware:● La más clásica, antigua, sólida● Recomendada para usuarios con experiencia● Deja mucho espacio y libertad al usuario● Instalación base bastante pequeña
Sacando el máximo provechoa Google
● Antes de preguntar.. busca en Google!● Casi siempre otros ya tuvieron el problema● La solución está en algún foro, lista ó blog● Comparte tu experiencia con otros!● Aprende a usar Google:
● Refina tus búsquedas● Usa operadores especiales● Filtra por tipo de archivo
¿Qué se hace en un grupo de usuarios?
● Se solicita y ofrece ayuda● Se conversa de temas de actualidad● Se pide consejo y opinión● Se difunden y comentan noticias● Se organizan y promocionan eventos y reuniones● Se participa en proyectos en grupo● Se aprende de los aciertos y errores de otros● Compartes tus propias experiencias
Canales de participación● Listas de correo● Foros● Blogs y “planetas”● Canales de chat (IRC)
● Programas: mIRC, X-Chat, irsii, otros● Servidores: irc.freenode.net, otros
● Reuniones presenciales:● Reuniones periódicas (generalmente una al mes)● Charlas, congresos, conferencias (variable)
¿Cómo plantear preguntas?● La gente prefiere ayudar a quien se deja ayudar● Primero busca en Google e investiga● Escribe exponiendo claramente tu problema
● Que configuración de HW y SW tienes● Pasos para reproducir el error● Indica que has leído, intentado y averiguado● Cualquier indicio o pista que quizás ayude
● Todo con respeto, humildad y honestidad● Nadie nace sabiendo, hay que ganarsela!
¿Cómo es la “psicología”de los usuarios de Linux?
● Hay mucho del “espiritu hacker”● Ganas de aprender cosas nuevas● Ganas de mejorar lo que ya existe
● Generalmente gente ocupada:● En sus propios problemas e intereses● En su trabajo ó negocio● Los flojos no son bien vistos!● No hay porqué ser “sob n” pero si cortésȯ● Respetos guardan respetos
No te tomes las cosaspor el lado personal...
● Si te manda a leer algo:● Quizás es muy largo de explicar por correo● Quizás es algo conocido que estaba en Google
● Si no te responden:● Quizás la pregunta no esta bien hecha● Quizás la consulta es demasiado conocida● Quizás nadie sabe● Pregunta de nuevo pero respetuosamente
No te tomes las cosaspor el lado personal...
● Si te responden “un poco feo”:● Leelo con calma, pide una opinión a un amigo● Quizás has leido mal, asegúrate de lo que dice● Respetuosamente pon en su sitio a la persona
● Si algo realmente te “molesta u ofende mucho”:● No es buen idea responder molesto● Cálmate y analiza la situación● Intenta ver desde otros puntos de vista● Responde, pero inteligentemente y con respeto
¿Cómo aprendermás de GNU/Linux?
Es fácil: tienes que usarlo!
Si no lo usas seguido...
...no vas a aprender :'(
Tienes que instalarloó tenerlo de alguna formaa la mano para practicar
GNU/Linux desde LiveCD
● Las principales distros tienen un LiveCD● El CD de Ubuntu es instalador y LiveCD a la vez● Levanta el escritorio sin instalar nada● Retiras el CD y la PC queda como estaba● No va a ser práctico si tienes poca RAM (<512Mb)● Si no tienes lectora puedes crear un LiveUSB● Muy útil para rescatar sistemas dañados● Ayuda a restaurar el menú de arranque
GNU/Linux dentro de Windows
● Ubuntu incluye el instalador Wubi● En lugar de partición se usa un gran archivo● El archivo es un archivo más en Windows● Utiliza el menú de arranque de Windows● Carga Linux, no Windows (no es máquina virtual)● Es de 10-15% más lento que usar una partición● Se puede desinstalar desde el Panel de Control
GNU/Linux en máquina virtual● Los más amigables: VMware y Virtual Box
● Disponibles para Windows, Linux y Mac● No necesitas particionar● Es fácil mover una máquina virtual a otra PC● Consume más recursos:
● Corre en simultáneo con Windows● Utiliza bastante RAM y disco
● Snapshots y backups del estado de la VM● Se puede convertir de un formato a otro
GNU/Linux en máquina virtual
● Si tienes suficiente disco y memoria:● Es más fácil probar varias distros● Puedes simular una red de varias máquinas● Puedes probar software inestable sin temor
● Adicionalmente se encuentran VMs:● Pre-instaladas y configuradas● Se puede descargar desde Internet● Buscar en VMware.com y otros...
GNU/Linux en NetBooks● Muchas veces viene pre-instalado!● Ubuntu tiene UNR (Ubuntu Netbook Remix)● Hay buenos precios: S/. 800 a S/. 1600● Algunas tienen disco duro y otras discos flash● Puedes llevar tu sistema GNU/Linux contigo!● Accesibles y adecuadas para estudiantes● Muy buenas para aprender y probar:
● Sin temor de malograr tu PC o laptop principal● Instalación fácil desde USB
NetBooks en Perú● Acer Aspire One● MSI Wind● HP Mini 1000● HP Mini Mi● Otras en camino...
Conclusiones
Conclusiones● Hay que conocer y entender de donde viene Linux
● Para entenderlo● Para saber apreciarlo
● Es útil conocer comandos, al menos los básicos:● Para rescatar un sistema dañado● Para administrar remotamente un equipo
● Es bueno participar de un grupo de usuarios● Para obtener ayuda y aprender de los demás● Para compartir noticias, novedades y opiniones● Para devolver y compartir tus conocimientos
Conclusiones● Utilizar LiveCDs y LiveUSBs
● Para probar e instalar Linux● Para rescatar sistemas dañados
● Utilizar máquinas virtuales:● Parar correr Windows y Linux en simultáneo● Para simular varias PCs en red
● Utilizar GNU/Linux en NetBooks● Para llevarlo contigo a todos lados● Sacarle provecho al tiempo y aprender más● Si eres estudiante, son baratas!
Muchas gracias!
¿Preguntas?