-
Introdución
-
Problema
-
Se necesita un sistema operativo que satisfasga las necesidades de los clientes
-
Solución
- Windows con problemas
- GNU/LINUX con soluciones
- Comprende
- Núcleo del Sistema Operativo
- Aplicaciones
-
Software Libre
-
4 libertades
- Libertad de Uso
- Libertad de Estudio
- Libertad de Distribución
- Libertad de Mejorar el Software y Publicarlo
-
Proyecto GNU 1983
- Richard M. Stallman
- Software Libre
- Licencias GPL y LGPL
- Free Software Foundation
-
Proyecto LINUX 1991
- Linus Torvalds
- Compatible UNIX
- Licenciado bajo GPL
- Publicado en Internet
- Elemento flotante
-
No usar software privativo
-
Seguridad
- Virus y fallos
- Actualizaciones y Ciclos de soporte
- Basado en formatos cerrados/propietarios
-
Economía
- Coste de Adquisición y soporte
- Renovación y Licencias
- ¡Windows recién instalado es inservible!
-
Aprendizaje
- Se aprende "a manejar X" en lugar de la Materia
- Nivel limitado de conocimiento
- ¡No puedo compartir el conocimiento!
-
Control
- No puedo controlar algo que desconozco
- Personalización Limitada (Muchas veces imposible o mediante software adicional)
- Usuarios/Grupos/Permisos
-
Interdependia
- Obligaciones unilaterales (CLUF)
- No puedo compartir ni aplicar el conocimiento
- El Fabricante es el que controla al usuario, en lugar del Usuario al Producto (TCPA/Palladium y DRM)
-
Hardware
- Requerimientos de hardware elevados
- Poca o Nula escalabilidad
- Drivers de bajo rendimiento
-
Problemas de usar software libre
-
Aprendizaje
- Resistencia al Cambio
- Elección de la distribución correcta
- Necesidad de internet (Actualización, Software y Soporte)
-
Hardware
- Nuevo Hardware no soportado (Excepción AMD64)
- Fabricantes no colaboran(no indican si hay compatibilidad ni colaboran con la comunidad)
- Elección correcta de distribución
-
Software
- Variedad
- Resistencia al cambio
- Algunos programas no tienen equivalente
-
Integracion
- Integración Hardware/Software
- Integración entre aplicaciones
- Integración entre productos Microsoft
-
Consejos para migrar a LINUX
- Linux es DIFERENTE
- Sistema de Archivos y ubicación de unidades
- Los programas no se instalan como en otros SSOO
- El superusuario y los permisos
- La Consola: Todo lo que se puede hacer desde el entorno gráfico se puede hacer desde consola, pero no al revés
-
Distribuciones
- Paquetes
- Documentacion
- Soporte
- Actualizaciones
-
Distribuciones Especificas
- Geexbox
- Sol
- Freesco
-
Distribuciones Regionales
- Linex
- Max
- Molinux
-
Debian
-
Usar debian porque
- Una de las más antiguas y Estable
- Totalmente Libre e Independiente
- Base de usuarios y paquetes muy amplia
- Estándar (Linux Standar Base)
- Mayor soporte de arquitecturas
- Tiene fama de Compleja
-
Distribuciones famosas
- Debian
- Ubuntu
- Mandriva
- Red Hat
- Fedora Core
-
Sistema con aplicaciones GNU y nucleo LINUX
-
Ejemplos de empresas que lo usan
- Google
- HP
- Oracle
- Motorola
- Microsoft
-
Instalación
-
Particionamiento
-
Caso 1
- Disco vacio
-
Caso 2
- Disco con Windows(NTFS)
-
Paticionamiento 1
- Arranque dual (NTFS-Ext3-Compartida FAT32-swap)
-
Particionamiento 2
- Solo Linux (EXT3-/HOME-swap)
-
Particionamiento 3
- Solo Linux(Servidor Web) (EXT3- /var/www-swap)
- GPARTED
- Debian
-
Primeros pasos
-
Consola y entorno grafico
-
Nucleo
- Linux
- Windows
-
Servidores X
- XFree86
- Xorg
- Xgl
-
Gestor de Ventanas y Escritorio
-
Ejemplos de escritorios
- GNome
- KDE
- XFCE
-
Consola vs entorno grafico
- Todo lo que hacemos en el entorno gráfico lo podemos hacer desde la consola
- Sencillamente hay tareas y aplicaciones para las que no hay una forma eficiente de realizarlas vía gestión gráfica
- No siempre tendremos acceso gráfico al sistema
- Lanzar un servicio gráfico consume, lógicamente, muchos más recursos que un acceso vía terminal de texto
-
Estructura de directorios
- /bin y /sbin
Ejecutables básicos
- /usr y /usr/bin
Archivos opcionales y ejecutables generales (/usr/src)
- /dev
Dispositivos (/dev/hda1, /dev/eth0, /dev/sda1, /dev/null, /dev/zero, /dev/random, /dev/disk/by-...)
- /home
Archivos de usuarios
- Subtem/etc
Archivos de configuracióna 5
- /lib y /usr/lib
Librerías
- /proc
Sistema virtual de archivos con información del sistema
- /tmp
Archivos temporales
- /boot
Imágenes y configuraciones básicas del núcleo
- /var
Archivos VARIABLES (/var/www , /var/cache/apt/ , /var/log)
- /mnt y /media
Montaje de dispositivos fijos y removibles
-
Archivos ocultos
- Comienzan con el carácter
- Pej: .mozilla .gtk-rc2.0 .fonts
- Muy útiles para la configuración de las cuentas de usuario
-
Permisos
- Usuarios
- Grupo, Otros
- Lectura
- Escritura
- Ejecucion
-
Comando ls -1
- Tipo de archivo (d = directorio)
- Permisos para el usuario, grupo y otros (rwx)
- Número de enlaces al archivo/directorio
- Propietario y Grupo
- Fecha y Hora de la última modificación
- Nombre completo del archivo
-
Usuario Root
- Administrador del Sistema
- ¡PUEDE HACER CUALQUIER COSA!
-
Controles basicos, manejos de terminales
- Alt+FY: Cambio a terminal Y
- Ctr+Z: Tarea pasa a Segundo Plano
- jobs: Muestra lista de Tareas
- fg [numtarea]: Devuelve la tarea [numbarea] a primer plano
- Ctr+C: Aborta la Tarea actual
-
Ayuda desde terminal
- man [comando o archivo]: muestra la página del manual del comando o el archivo requerido.
- apropos [expresión]: muestra todos los comandos que encuentre que contengan en su descripción la expresión indicada.
- apt-cache search [expresión]: busca paquetes que contengan la expresión indicada en su definición.
-
Comandos basicos de terminal
- ls
- cd
- mkdir
- mv
- cp
- rm
-
Comando Basicos: enlaces
- ln: Crea un enlace DURO
- ln -s: Crea un enlace BLANDO
-
Controles basicos, manejo de tareas
- ps -A: Lista todas los procesos en ejecución
- top: Lista los procesos interactivamente
- kill -X [ID]: Envía la señal X al proceso ID
- Editor VI
-
Administracion Basica I
-
Archivos basicos de configuracion
- /etc/crontab
Tareas programadas
- /etc/fstab
Montaje del sistema de archivos
- /etc/hostname
Nombre del sistema
- /etc/modules
Carga de módulos en el inicio
-
Archivos basicos de configuracion 2
- /etc/hosts.deny
Host a los que no se les permite el acceso al sistema
- /etc/hosts.allow
Host a los que se les permite el acceso al sistema
- /etc/apt/sources.list
Repositorios o fuentes de paquetes
- /etc/cups/cupsd.conf
Servidor de Impresión
-
Archivos basicos de configuracion 3
- /etc/rc[X].d/
Scripts que se ejecutan en cada nivel X de ejecución
- /etc/samba/smb.conf
Configuración de Samba
- /etc/udev/udev.rules
Reglas de definición de dispositivos para UDEV
- /etc/X11/xorg.conf
Configuración del entorno gráfico (sistema X)
-
Archivos basicos de configuracion 4
- /boot/grub/menu.lst
Configuración del menú de arranque GRUB
- /etc/bash.bashrc
Se ejecuta cuando cualquier usuario inicia una sesión.
- /home/[USER]/.bashrc
Se ejecuta cuando el usuario inicia una sesión
- /home/[USER]/.xinitrc
Se ejecuta cuando el usuario inicia una sesión gráfica.
-
Logs
- /var/log/apt/term.log
Log de APT.
- /var/log/cups/
Logs del servidor de impresión.
- /var/log/debian-installer/
Log de la Instalación de Debian.
- /var/log/fsck/
Log de los chequeos de discos
-
Logs 2
- /var/log/samba/
Log de SAMBA
- /var/log/auth.log
Logs de los accesos al sistema.
- /var/log/dmesg
Log con mensajes del sistema
- /var/log/syslog
Log del Sistema.
-
Logs 3
- /var/log/kern.log
Log del Kernel.
- /var/log/mail.log
Logs del sistema de correo (pej. postfix).
- /var/log/messages
Log de mensajes del sistema
- /var/log/Xorg.0.log
Log del servidor gráfico
-
Comandos de log e información
- Subtema 1dmesg
Muestra mensajes del sistema (no es un cat /var/log/dmesg)
- tail -f /var/log/[ARCHIVO]
Muestra por pantalla en tiempo real el contenido del archivo [ARCHIVO] (las 10 últimas líneas)
- date
Muestra la fecha y hora actual del sistema
- uptime
Muestra el tiempo que lleva funcionando el sistema
-
Comandos de log e información 2
- w
Muestra los usuarios conectados actualmente en el sistema
- whoami
Muestra el nombre del usuario que lo invoca
- finger [USUARIO]
Muestra información sobre el USUARIO.
- cat /proc/cpuinfo
Muestra información sobre la CPU.
-
Comandos de log e información 3
- cat /proc/meminfo
Muestra información sobre la MEMORIA.
- df
Muestra información sobre el uso de los discos
- du [RUTA]
Muestra el espacio usado por los archivos de RUTA
- free
Muestra información memoria y swap
-
Gestión de paquetes
-
Tipos de paquetes
- .deb
- .rpm
- .src
- * dpkg -i NOMBRE-DEL-PAQUETE.DEB
- * dpkg-reconfigure NOMBRE-DEL-PAQUETE
- Topic
- * alien --to-deb NOMBRE-DEL-PAQUETE.RPM
- * alien --to-rpm NOMBRE-DEL-PAQUETE.DEB
-
Repositorios
-
debian
-
Ramas
- * Estable
* Pruebas
* Inestable (SID)
* Experimental
-
Grupos
- * main
- * contrib
- * non-free
-
Ubuntu
-
Grupos
- * main
- * universe
- * multiverse
-
Añadir repositorios
- Basta con añadir las líneas requeridas en /etc/apt/sources.list
-
APT-GET
- * apt-get update
- * apt-get search
- * apt-get install
- * apt-get remove (--purge)
- * apt-get show
- * apt-get clean
-
Actualizaciones masivas
- apt-get upgrade
- Actualiza todos los paquetes a la nueva versión.
- apt-get dist-upgrade
- Actualiza todos los paquetes a la nueva versión e instala otros nuevos paquetes que estén relacionados con estos.
-
USUARIOS Y GRUPOS
- adduser
- Genera usuarios HUMANOS.
- adduser --system
- Genera usuarios de Sistema.
- addgroup
- Genera un grupo.
- addgroup --system
- Genera un grupo de Sistema.
- adduser [USUARIO] [GRUPO]
- Agrega al usuario [USUARIO] al grupo [GRUPO]
- deluser [USUARIO] [GRUPO]
- Elimina al usuario [USUARIO] del grupo [GRUPO]
- deluser [USUARIO]
- Elimina al usuario.
- delgroup [GRUPO]
- Elimina el grupo.
-
Cambiar contraseña
- passwd [USUARIO]
- Cambiar contraseña del usuario [USUARIO].
-
Permisos
- * chmod [OCTAL] [ARCHIVO]
- o 4: Lectura
- o 2: Escritura
- o 1: Ejecución
- * chmod [OCTAL] -R [RUTA]
- chown [USUARIO] [ARCHIVO]
- [USUARIO] será el dueño del archivo [ARCHIVO]
- chgrp [GRUPO] [ARCHIVO]
- [ARCHIVO] pertenece ahora al grupo [GRUPO]
- Servicios del sistema
-
Trabajando con Servicios
- /etc/init.d/NOMBRE-DEL-SERVICIO
- Topic
- * start
- * stop
- * restart
- * reload
- * force-reload
-
Niveles de ejecución
- 0
- Parada del sistema
- 1
- Monousuario sin red
- 2
- Multiusuario con red
- 3
- Multiusuario con red y entorno gráfico
- 6
- Reinicio del sistema
- Subtema 20
-
Administracion Basica II
-
Red
-
Utilidades de Red
- ping [HOST]
- Hace ping y muestra los datos.
- whois [DOMINIO]
- Información del dominio.
- dig [DOMINIO]
- Configuración DNS del Dominio.
- dig -x [HOST]
- DNS inverso de Host.
- nmap -sP [X.X.X.*]
- Devuelve la lista de IPs activas del rango X.X.X.* .
- nmap -sS -O -p [RANGO PUERTOS] [IP]
- Devuelve la lista de puertos abiertos de entre el [RANGO] en el sistema con IP [IP].
-
Utilidades de Red: ifconfig
- ifconfig
- Información de la configuración de las interfaces de red.
- ifconfig eth0 [up | down]
- Activa el interfaz eth0 (up) o lo desactiva (down)
- ifconfig eth0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255 up
- configura y levanta la interfaz eth0 con IP 192.168.0.1 y con máscara de red y dirección de difusión 255.255.255.0 y 192.168.0.255 respectivamente.
- ifconfig eth0:0 192.168.0.2 netmask 255.255.255.0 up
- Crea un alias de red sobre eth0 lo que permite usar varias IPs sobre el mismo dispositivo.
-
Utilidades de Red: route
- route
- Información de la configuración de las rutas de red.
- route add -net 192.168.0.0 netmask 255.255.255.0 dev eth0
- Añade la ruta 192.168.0.0 a la red 192.168.0.x vía eth0.
- route del -net 192.168.0.0 netmask 255.255.255.0 dev eth0
- Elimina la ruta 192.168.0.0 a la red 192.168.0.x vía eth0.
- route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.1.15 dev eth0
- Añade la ruta 192.168.0.0 a la red 192.168.0.x a través de 192.168.1.15.
-
Utilidades de Red: netstat
- netstat
- Muestra diversa información sobre el estado de la red.
- configurar estos valores vía /etc/resolv.conf
- ip route show sería un equivalente a route y netstat -nr
- Topic
- ip route add 192.168.2.0/24 via 192.168.1.10 equivaldría a route add -net 192.168.2.0/24 gw 192.168.1.10
- Topic
- ip route del 192.168.2.0/24 equivale a route del -net 192.168.2.0/24
-
DISPOSITIVOS, DISCOS Y SISTEMA DE ARCHIVOS
-
Montar dispositivos
- * mount /dev/[DISPOSITIVO] [DIRECTORIO] -t [TIPO FS]
- * mount [ARCHIVO.ISO] [DIRECTORIO] -t iso9660 -o loop
- * umount /dev/[DISPOSITIVO]
- * umount -l /mnt/[DIRECTORIO]
- * mount -a
-
fstab
- * /dev/hdb1 /home ext3 defaults 0 1
- * /dev/hda2 none swap sw 0 0
- * /dev/hdc /media/cdrom iso9660 ro,user,noauto 0 0
- * /dev/sde1 /media/pendrive vfat rw,user,exec,noauto 0 0
- * /imagen.iso /cdrom1 iso9660 user,loop,noauto,ro 0 0
- * /dev/hda1 /media/windows ntfs-3g silent,umask=0,locale=es_ES.utf8 0 0
- * //servidor/nombre /media/nombre smbfs username=usuario,password=clave,uid=1000,iocharset=utf8, codepage=unicode,unicode 0 0
-
Añadir más swap en un fichero
- dd if=/dev/zero of=/media/disk/swap bs=1M count=512
- Creamos un archivo de 512 megas lleno de ceros.
- mkswap /media/disk/swap
- Lo convertimos en swap.
- swapon /media/disk/swap -p 32767
- Lo activamos.
- swapoff /media/disk/swap
- Lo desactivamos (IMPORTANTE)
-
Herramientas de Chequeo de discos
- fsck.ext3 /dev/[PARTICIÓN]
- Chequea la partición indicada como Extendido 3.
- fsck.vfat /dev/[PARTICIÓN]
- Chequea la partición indicada como FAT32.
- fsck.ext3 -ay /dev/[PARTICIÓN]
- Chequea y repara automáticamente sin preguntar.
-
PRIORIDAD, TEMPORIZACIÓN Y PLANIFICACIÓN
-
Prioridad
- nice -n [N] ORDEN
- Ejecuta ORDEN con prioridad N.
- renice [N] PID
- Cambia la prioridad del proceso PID a N.
-
Procesos "latentes"
- nohup ORDEN &
- Ejecuta ORDEN, y esta permanecerá en ejecución aunque el usuario abandone la sesión.
-
Tareas periódicas
- * /etc/cron.hourly/
- * /etc/cron.daily/
- * /etc/cron.weekly/
- * /etc/cron.monthly/
-
Tareas periódicas: crontab
- # /etc/crontab
- # m h dom mon dow user command
-
EL KERNEL Y LOS MÓDULOS
- uname -a
- Muestra información sobre la versión del núcleo (entre otras cosas).
- lsmod
- Lista los módulos cargados por el kernel.
- modprobe MÓDULO
- Trata de cargar el módulo MÓDULO.
- rmmod MÓDULO
- Elimina el MÓDULO del kernel (NO PERMANENTE).
-
Compilar el Kernel al modo Debian
- * apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 debhelper modutils module-init-tools
- * cd /usr/src
- * wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.X.tar.bz2
- * tar xvjf linux-2.6.X.tar.bz2
- * ln -s linux-2.6.X linux
- * cd linux
- * cp /boot/config-2.6.Y .config
- * make mrproper
- * make menuconfig
- * make-kpkg clean
- * make-kpkg buildpackage -initrd -rev [SABOR] kernel_image
- * ...
- * Obtenemos varios paquetes .deb
- o Kernel: kernel-image-2.6.X_SABOR_i386.deb
- o Cabeceras: kernel-headers-2.6.X_SABOR_i386.deb
- o Fuentes: kernel-source-2.6.X_SABOR_i386.deb
- * dpkg -i kernel-image-2.6.X_SABOR_i386.deb && shutdown -r now
-
Trucos del Administrador
-
Trucos Variados
- wget -r -np -k -c URL
- Se descarga un mirror recursivo de la URL.
- fuser -mav /dev/cdrom
- Lista el proceso que está bloqueando el dispositivo cdrom.
- fdisk -l
- Lista información los discos del sistema.
- lspci -v
- Muestra información de los dispositivos conectados al bus PCI.
- 7za a -mx=9 destino.7z origen
- Comprime al máximo de compresión con 7zip.
- ssh -p port user@host
- Se conecta por ssh al host por el puerto indicado y como el usuario user.
- grep patrón archivos
- Busca el patrón indicado en los archivos indicados.
- comando | grep patrón
- Busca el patrón indicado en la salida del comando.
- shutdown -h [T]
- Apaga el sistema transcurridos T minutos (-r para reiniciar).
- ntpdate -u swisstime.ethz.ch
- Sincroniza la fecha y hora del sistema con un servidor de tiempo en Internet.
- tar cvzf archivo.tar.gz archivos
- Comprime los archivos como archivo.tar.gz (GZIP).
- tar xzf archivo.tar.gz
- Descomprime archivo.tar.gz (GZIP).
- tar cvjf archivo.tar.bz2 archivos
- Comprime los archivos como archivo.tar.bz2 (BZIP2).
- tar xjf archivo.tar.bz2
- Descomprime archivo.tar.bz2 (BZIP2).