Documentos de Académico
Documentos de Profesional
Documentos de Cultura
IRONTEC - http://www.irontec.com
Antes de nada...
GNU GPL
Linux
Software Libre
Kernel
GNU/Linux
Distribucin Linux Debian
Paquete
(K)Ubuntu
KDE
Gnome Emule
2
Nuestra distro
Debian
Qu es Debian?
Debian Sarge
Debian
http://www.debian.org/social_contract
Debian
http://www.us.debian.org/releases/stable/installmanual
http://www.us.debian.org/releases/stable/i386
Desde CD Net-Install:
http://www.us.debian.org/CD/netinst/
Durante la instalacin:
Kernel 2.6 (opcin linux26).
Red por DHCP.
Repositorios externos por http.
Particionamiento (dependiendo del disco duro):
Introduccin a GNU/Linux
Introduccin a GNU/Linux
Introduccin a GNU/Linux
GNU/Linux
Bash
Herramienta GNU.
Introduccin a GNU/Linux
Shells
Entorno de trabajo:
Case sensitive: sensible a maysculas (ECHO != echo).
Sintxis: comando arg1 arg2... argn
Si un programa no est en el PATH: ./programa
Prompt:
$: usuario normal
#: usuario administrador (root)
10
Introduccin a GNU/Linux
Comandos
11
Busquedas: find,whereis,locate...
Filtros: grep,sed,cut,tr...
Permisos: chmod,chown,chgrp...
Otros:date,tar,gzip,echo...
Introduccin a GNU/Linux
Tuberas
12
Introduccin a GNU/Linux
Tuberas
13
Introduccin a GNU/Linux
Tuberas
14
Programacin Bsica
en Shell (Bash)
15
Shell Scripts
Script = Guin
Tareas repetitivas se pueden agrupar en un guin y
ejecutarse automticamente (Batch Processing).
Es sencillo ejecutar 4 comandos para crear un buzn de
correo.
No lo es tanto para crear 20.000 buzones.
Es sencillo hacer un bucle que se repita 20.000 veces ;-)
16
Shell Scripts
17
Shell Scripts
Variables
18
Shell Scripts
Variables de entorno
19
Shell Scripts
Variables: interactividad
20
Shell Scripts
Variables: argumentos
21
./nombre.shJuanLpezMartnez
./nombre.shMariaDoloresPradera
Snchez
Shell Scripts
Variables: argumentos
$0 es el propio script.
basename$0: nombre del script.
dirname$0: ruta al nombre del script.
22
Shell Scripts
23
Shell Scripts
24
Shell Scripts
25
(ojoespacios!)
(ojoescaparoperadores!)
Shell Scripts
Condiciones: test []
test$NOMBRE==Juan (==, !=, >, <, >=, <=)
test$DINEROeq1000
(-eq, -ne, -gt, -lt, -ge, -le)
testf/etc/passwd
(-f, -d, -l, -r, -w, -x)
Modifican el valor de $?
cero = verdadero
no cero = falso
26
Shell Scripts
27
Shell Scripts
if. Ejemplo:
iftest$NOMBRE==Juan
then
echoHolaJuanin,qutal?
eliftest$NOMBRE==Pedro
then
echoPedreteee,cuntotiempo!
else
echoNoteconozco
fi
28
Shell Scripts
29
Shell Scripts
case. Ejemplo:
case$NOMBREin
Juan)echoHolaJuanin,qutal?
;;
Pedro)Pedreteee,cuntotiempo!
;;
*)echonoteconozco;
esac
30
Shell Scripts
31
Shell Scripts
while. Ejemplo:
N=1
while[$Nlt100]
do
echoRepitoestafrase,yavoy$Nveces
N=$(expr$N+1)
sleep1#Esperamos1segundo
done
32
Shell Scripts
33
Shell Scripts
34
Shell Scripts
35
Shell Scripts
for. Ejemplo:
forNinSopaCarnePandeajo
do
echoHoycomemos$N
done
36
Shell Scripts
37
Shell Scripts
38
Shell Scripts
39
Shell Scripts
select: Ejemplo:
selectOPCIONinDonerKebabPizza
do
case$OPCIONin
DonerKebab)echoMmmm...
break;;
Pizza)echoSlurppp!
break;;
*)echoNosqueseso
esac
done
40
Shell Scripts
function
41
Shell Scripts
function. Ejemplo:
#!/bin/sh
functionsuma
{
echo$(expr$1+$2)
}
suma46
suma3234
42
Shell Scripts
source, .
43
Shell Scripts
44
Shell Scripts
dialog
MsgBox:
dialogtitle"Alerta"backtitle"CursillodeBash
Shell"msgbox"Esteesunmensajecondialog"850
45
Shell Scripts
dialog
YesNo:
dialogtitle"Pregunta"backtitle"CursodeBash
Shell"yesno"\nEstasaprendiendoalgo?"760
RESPUESTA=$?
case$RESPUESTAin
0)echo"Bien!";;
1)echo"Mal!";;
255)echo"Salir[ESC]";;
esac
46
Shell Scripts
dialog
InputBox y PasswordBox:
dialogtitle"Creaciondeusuarios"inputbox"Nombre
deusuario"002>/tmp/dialog.$$
USUARIO=$(cat/tmp/dialog.$$)
dialogtitle"Creaciondeusuarios"passwordbox
"Clave"002>/tmp/dialog.$$
CONTRASENYA=$(cat/tmp/dialog.$$)
rm/tmp/dialog.$$
47
Shell Scripts
dialog
Menu:
dialogtitle"Creaciondeusuarios"menu"Grupos"00
30root100users5audio2>
/tmp/dialog.$$
GRUPOS=$(cat/tmp/dialog.$$)
rm/tmp/dialog.$$
48
Shell Scripts
dialog
49
Shell Scripts
50
gdialog: GNOME
kdialog: KDE
Tareas peridicas
cron
51
Tareas peridicas
cron
No se ven (/var/spool/cron...).
No es necesario indicar el usuario que sobre el que se ejecutar, ya que
pertenecen a un usuario concreto.
Se edita con crontabey se muestra con crontabl.
52
Tareas peridicas
cron
53
Tareas peridicas
cron
54
Tareas peridicas
cron
55
Tareas peridicas
cron
Directorios especiales:
/etc/cron.daily/
/etc/cron.hourly/
/etc/cron.monthly/
/etc/cron.weekly/
56
Servicios y Niveles
de Ejecucin
57
Proceso de arranque
Se carga el kernel.
58
La BIOS busca un dispositivo de inicio (disco duro, CDROM,..) y pasa el control al MBR (512 bytes).
Gestores de arranque
LiLo
59
Gestores de arranque
LiLo
60
#OtrosS.O.
Gestores de arranque
LiLo
install=/boot/bootbmp.b
bitmap=/boot/debianbootscreenwoody.bmp#debeexistir
bmpcolors=1,,0,2,,0
bmptable=120p,173p,1,15,17
bmptimer=254p,432p,1,0,0
61
Gestores de arranque
Grub
62
Gestores de arranque
Grub
Dispositivos
(dispositivo[particion][,letra_particion])
(hd0)
(fd0)
(hd0,1)
#discomaestroIDEprimario
#disquetera
#particin2delmaestroIDE0
Ficheros
Es necesario indicar la ruta completa
(hd0,0)/boot/grub/menu.lst
63
Gestores de arranque
Grub
64
Niveles de Ejecucin
65
nivel 1: monousuario
nivel 2, 3 y 5: multiusuario
Niveles de Ejecucin
Init
Sintaxis
id:nivel:accion:proceso
66
Niveles de Ejecucin
Init
67
68
updaterc.d
69
Gestin de Paquetes
70
Paquetes .deb
71
Paquetes .deb
72
Paquetes .deb
Funcionamiento (cont.):
Cuando se solicita la instalacin de un paquete, APT
comprueba primero en el sistema que el paquete no est ya
instalado y posteriormente comprueba en la base de datos
local si el paquete est disponible.
Si el paquete est disponible entonces se conecta a la fuente
en cuestin para bajarse el paquete (archivo .deb). Estos
paquetes bajados se guardan en
/var/cache/apt/archives
Posteriormente se procede a la instalacin y configuracin
automtica del paquete. Si el paquete necesita datos de
configuracin nos los pedir el APT.
73
Paquetes .deb
debhttp://ftp.fi.debian.org/debianstablemaincontribnonfree
debhttp://ftp.se.debian.org/debiannonUSstable/nonUSmaincontribnonfree
debhttp://security.debian.org/stable/updatesmaincontribnonfree
74
Paquetes .deb
75
Paquetes .deb
76
Paquetes .deb
aptget
aptgetremove[purge]paquete1paquete2 ...
: Desinstala paquetes.
aptgetclean: elimina archivos descargados en
/var/cache/apt/archives (para liberar espacios, NO desinstala los
paquetes).
77
Networking en GNU/Linux
Networking
78
Configuracin de la red
79
Configuracin de la red
80
Configuracin de la red
$ifconfigeth0:1
eth0:1
Linkencap:EthernetHWaddr00:14:85:E8:D3:AF
inetaddr:192.168.1.123Bcast:192.168.1.255
Mask:255.255.255.
UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
Interrupt:217Baseaddress:0xe800
81
Configuracin de la red
82
Configuracin de la red
83
84
85
86
iptraf:
87
telnet127.0.0.180
Trying127.0.0.1...
Connectedto127.0.0.1.
Escapecharacteris'^]'.
GET/
<!DOCTYPEHTMLPUBLIC"//W3C//DTDHTML3.2
Final//EN">
<html>
<head>
...
Cliente/Servidor:
nclp5000
catfichero|nc192.168.1.15000
88
Gestin de Incidencias
89
Herramientas de monitorizacin
top
90
Herramientas de monitorizacin
top
91
Herramientas de monitorizacin
htop
92
Herramientas de monitorizacin
htop
93
Herramientas de monitorizacin
slmon
94
Herramientas de monitorizacin
slmon
95
Herramientas de monitorizacin
iostat
Linux2.6.1526686(mihost)22/11/06
avgcpu:%user%nice%system%iowait%steal%idle
51,290,010,420,130,0048,15
Device:tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtn
hda2,5514,4559,211382545956666320
hdb0,0918,787,29179676846978592
Herramientas de monitoriazin
potion
potioneth0
97
98
99
Referencias
Bash Scripting:
http://www.tldp.org/LDP/abs/html/
Gestores de arranque:
http://www.gnu.org/software/grub/manual/html_node/
http://www.tldp.org/HOWTO/LILO.html
Gestin de paquetes:
Administracin de redes:
100
http://www.debian.org/doc/manuals/apt-howto/
http://www.faqs.org/docs/linux_network/
Iker Sagasti Markina <iker@irontec.com> | Iaki Baz Castillo <ibc@irontec.com>
Licencia Copyleft
101