Anda di halaman 1dari 462

Linux

Debian-Kde
Con ejemplos y ejercicios

Por Paco Aldarias Raya

19 de enero de 2006
Linux

Índice general

Índice general 1

Prólogo I

I Linux Básico 1

1. Introducción a linux 2
Introducción, 2 • Caracterı́ticas, 2 • Porque usar Linux, 2 • Distribuciones, 3 • Dilema de las distribu-
ciones, 3 • Versiones de Debian, 4.

2. Instalación de linux y windows 6


Versiones, 6 • Introducción, 6 • Preparar el disco duro, 6 • Instalación de windows, 8 • Instalación de
linux, 9 • Linux Debian knoppix, 14 • Arracando para instalar linux, 14 • Instalar sarge con el Debian-
Installer: netinstall, 14 • Instalar Debian Knoppix STD 0.1: security tools distribution, 14 • Instalar
Debian para niños: Pequelin, 14 • Bibliografı́a, 15 • Text 1. Particiones, 15 • Text 2. Windows, 15.

3. Linux Debian: Knoppix 16


Introducción, 16 • Bajarse el cd , 16 • Instalación en disco duro, 16 • Recuperar el lilo, 16 • Recuperar
el lilo con knoppix, 17 • Bibliografı́a, 18.

4. Instalar linux desde disquete 19


Versiones, 19 • Introducción, 19 • Crear un disco arrancador del cd, 19 • Hacer el disco de rescate, 19.

5. Crear un usuario en kde 21


Introducción, 21 • Crear el usuario, 21 • Configurar el usuario, 21.

6. Konqueror 23
Introducción, 23 • Acceder al konqueror, 23 • Ejercicio, 23 • bibliografı́a, 24.

7. El icono de la disquetera en kde 26


Teorı́a, 26 • Práctica, 26 • Ejercicio, 27.

8. Como usar la disquetera y el cdrom en consola 28


Teorı́a, 28 • Práctica, 28 • Ejercicio, 29.

9. Directorios 30
Teorı́a, 30 • Práctica, 31 • Práctica, 31.

Por Paco Aldarias 1/449


Linux

10. Ficheros 32
Teorı́a, 32 • Práctica, 32 • Ejercicios, 33.

11. Nombres y patrones 34


Teorı́a, 34 • Práctica, 34 • Ejercicios, 35.

12. Visualizar un fichero 36


Teoria, 36 • Desde konqueror, 36 • Práctica, 36 • Ejercicio, 37.

13. Enlaces 38
Teoria, 38 • Práctica, 38 • Ejercicios, 39.

14. Búsquedas 40
Teoria, 40 • Práctica, 40 • Ejercicio, 42.

15. Permisos 43
Introducción, 43 • Propietarios y permisos de los ficheros, 43 • Permisos, 44 • Modificar permisos:
chmod, 44 • Cambiar grupo: chgrp, 45 • Cambiar propietario y el grupo de un fichero: chown, 46 •
Máscara de permisos: chmod, 46 • Permisos por defecto: umask, 47 • Enlaces a ficheros: ln, 48 • El
bit set uid, 49 • Bibliografı́a, 49.

16. Gestión de procesos 50


Introducción, 50 • Desde consola, 50 • Desde kde, 50 • Matar todos los procesos de un usuario, 51
• Ver el arbol de procesos, 51 • Dar prioridad a un proceso, 51 • Guardian del sistema, 51.

II Varios 53

17. Diccionario RAE 54


Introducción, 54 • El Diccionario de la Real Academia de la lengua: DRAE , 54 • Con el navegador
Konqueror versión 2.2.2 en español., 54 • Con el navegador Konqueror 3.1, 55.

18. Mesajeria Instantanea: Msn 56


Versión, 56 • Introducción, 56 • El protocolo MSN con Gaim, 56 • Instalación de gaim 0.74 en sid, 57
• Instalación de gaim 0.74 en woody, 57.

19. Manuales 58
Introducción, 58 • Los libros, 58 • Manuales, 58 • News, 59 • Chats, 59 • Manuales en nuestro pc, 59.

20. Software para Ofimática 60


Introducción, 60 • Notas, 60 • Biblioteca, 60 • Autoedición, 60 • Mapas del mundo, 60 • Ocio, 61
• Utilidades, 62 • Hacer presentaciones, 62 • Copias de seguridad, 63 • Gestor de Proyector, 63 •
Gestor Financiero, 63 • Albunes de Fotos, 63 • Juegos, 64 • Catalogador de cds, 65 • Agendas de
tareas, 65 • Paquetes Ofimáticos., 65 • Editores de texto, 65 • Mensajeria instantánea, 66 • Chat,
66 • Navegadores www, 66 • Clientes de correo electrónico, 66 • Clientes de news, 66 • Clientes
de correo, 67 • Clientes de news para binarios, 67 • Diseño de Páginas Web, 67 • Clientes de
grupo de noticias, 67 • Diccionario Monoligue de Inglés, 67 • Diccionario bilingue de Inglés-Español,
68 • Thesauro - Sinónimos en Inglés, 68 • Bajarse ficheros en barias sesiones: Downloaders, 68 •
Clientes ftp, 68 • Visores de imágenes, 68 • Manipulación de imágenes, 69 • Modelador de escenas,
69 • Consulta online del cambio de monedas, 69 • Reproductores de Video, 69 • Reproductores de
Audio, 70 • Manipulación del audio, 71 • Visores de ficheros pdf., 71 • Escuchar la radio, 71 • Control
del audio, 71 • Bajarse canciones, programas,..., 72 • Envio de mensajes a móviles, 72 • Formatear

Por Paco Aldarias 2/449


Linux

diskettes, 72 • Entornos de programación, 72 • Ajedrez, 72 • Utilidades de disco, 73 • Utilidades


del sistema, 73 • Saber el tiempo, temperatura de tu localidad, 73 • Planificación de proyectos, 73
• Mensajeria instantanea, 74 • Astronomia, 74 • Quı́mica, 74 • Matemáticas, 75 • Comparativas
windows-linux, 75.

21. Wordtrans: Diccionario Bilingue de Ingles-Español 76


Versiones, 76 • Introducción, 76 • Instalación, 76 • Llamarlo, 76 • Capturas, 77 • Bibliografı́a, 77.

22. Amsn 79
Introducción, 79 • De donde bajarse los archivos., 79 • Entrar en el navegador konqueror, 80 • Entrar
en la consola, 80 • Crear un icono en el escritorio, 80.

23. Escuchar la radio: mplayer, xmms, realplayer 81


Introducción, 81 • Paquetes a instalar, 81 • Mplayer, 81 • Mplayer y Peliculas avi, 82 • Grabar el audio
de una emisora con mplayer, 82 • Realplayer, 83 • Xmms, 83 • Servidor de radio, 83 • Bibliografı́a, 83.

24. Instalar flash en el navegador 84


Introducción, 84 • Instalación como paquete, 84 • Bajarse el instalador, 84 • Los navegadores, 85.

25. Bajarse ficheros mp3: mldonkey. 86


Introducción, 86 • Instalación, 86 • Mantener los ficheros temporales, 87 • Usuarios, 87 • Utilidad
de kde: kmldonkey, 87 • Abrirendo el navegador, 88 • Configuración, 88 • Añadir un enlace bittorent
desde consola, 89 • Añadir un elink usando telnet, 89 • Conectar por ssh desde consola, 89 • Mandar
ordenes desde consola, 90 • Script para controlar la velocidad: rate.sh, 90 • Entrar a tu mldonkey
desde el exterior: set allowed ips, 91 • Como conseguir la lista de servidores, 91 • Bibliografı́a, 91.

26. Traerse el correo de hotmail: gotmail 92


Versiones, 92 • Introducción, 92 • Coger el fichero gotmail, 92 • Descomprimierlo, 92 • Fichero de
configuración, 92 • Lanzar el programa, 93 • Bibliografı́a, 93.

27. Navegador web: Opera 94


Introducción, 94 • Bajarse el programa, 94 • Abrir ficheros, 94 • Filtrando banners, 95.

III Linux Avanzado 96

28. El idioma 97
Introducción, 97 • Paquetes a instalar, 97 • Teclado en kde, 98 • Hora local, 98 • Sonido, 99 • Cursor
moderno, 99 • Españolizar kde, 99.

29. Administración de usuarios 101


Introducción, 101 • Creación de usuarios, 101 • Cómo cambiar de usuario, 101 • Cómo cambiar la
constaseña, 102 • Cómo borrar un usuario, 102 • Cómo ver los usuarios existentes, 102.

30. El Audio 103


Introducción, 103 • Paquetes a instalar, 103 • Donde esta el audio, 103 • Permisos, 103 • Detectar
los dispositivos, 104 • Buscar aplicaciones, 104 • Programas de audio, 104 • Grabar audio del micro
en wav, 104 • Bibliografı́a, 104.

31. Administración de Paquetes 105


Introducción, 105 • Donde encontrar paquetes no oficiales, 105 • Instalar paquetes (programas):
apt, 105 • Encontrar los servidores debian mas rapidos: apt-spy, 107 • Generación automática del

Por Paco Aldarias 3/449


Linux

sources.list, 108 • Usar los paquetes instalados de un pc, en otros pcs: apt-ftparchive, 108 • Actualizar
desde cdrom paquetes:dpkg-scanpackages, 108 • Proxy para apt: apt-proxy, 109 • Instalador global
de paquetes: synpatic, 113 • Instalador global de paquetes: tasksel, 113 • Paquetes Instalados o
Locales: dpkg, 113 • Apt en modo grafico: dselect, 114 • Apt en modo texto con menus: aptitude,
114 • Kde y los paquetes: kpackage, 114 • Gestor de paquetes: synaptic, 115 • Instalar sobre el
disco duro, 115 • Donde se guardan los paquetes con apt-get install, 115 • Como instalar los mismos
paquetes de una máquina, 115 • Para bajarse los paquetes de nuestro sistema, 116 • Crear un
repositoio local: apt-move, 116 • Prácticas, 117 • Indicarle el proxy al apt, 119 • Suprimir los paquetes
inútiles del sistema: deborpan, 119 • Forzar la instalación de paquetes: dpkg -i –force-all , 119 • Para
buscar el paquete que viene un programa, 119 • Bibliografı́a, 119.

32. Servidor Web Apache 120


Teorı́a, 120 • Práctica, 120 • Ejercicios, 121.

33. Servidor Ftp: Proftp 122


Teorı́a, 122 • Instalar el servidor, 122 • Fichero de configuración:, 122 • Obligar a los usuarios a no
salir de su home, 124 • Control del ancho de banda con proftp, 125 • Monitor de ftp, 125 • Clientes
ftp, 125 • Mas información , 125.

34. Compartir el escritorio: Vnc 126


Teorı́a, 126 • El Servidor, 126 • Los clientes, 127 • Vnc con un navegador, 127 • Cliente vnc mejorado:
Conexión remota de escritorio (krdc) , 128 • Vnc con x11, 128 • x0rfbserver, 128 • Más información,
128.

35. Acceso a particiones windows desde linux 130


Las particiones, 130 • Ver nuestras particiones: fdisk, 130 • Montaje de particiones windows: Mount,
130 • Montaje Permanente de particiones windows, 131 • Más información, 131.

36. Redes entre linux y windows: Samba 132


Introducción, 132 • El Servidor, 132 • El cliente samba, 135 • Utilidades, 135 • Añadir una impresora
en red de linux para windows en kde, 136 • Bibliografı́a, 136.

37. Compartir carpetas entre linux: NFS 137


Introducción, 137 • Instalar el software, 137 • Servidor NFS, 137 • Cliente NFS, 138 • Con Konqueror,
138 • Ejercicios NFS, 139.

38. El kernel 140


Introducción, 140 • Funciones, 140 • Compilación, 140 • Configurar el kernel: Make menuconfig, 142
• Ver el log del kernel, 143 • Mas documentación, 143 • Otra forma de compilar, 143 • Otra forma
de tener el nuevo kernel, 144 • Hacer que ordenador se apage, 144 • Configurar el kernel para que
soporte iptables, 145 • Conficurar el kernel para grabadora pci, 145 • Configuración de mi kernel, 146
• File systems, 150 • Native Language Support, 151 • Kernel 2.6, 151 • Bibliografia, 151.

39. Demonios 152


Introducción, 152 • Como se ve los demonios q estan en marcha, 152 • Operaciones sobre demonios,
152 • Eliminar los demonios del arranque, 152 • Niveles de arranque, 153 • Ver el funcionamiento de
los demonios: logs, 153 • Biblografia, 153.

40. Sistema de ficheros seguro: EXT3 154


Introducción, 154 • Recuperación del sistema de ficheros ext2 dañado, 154 • El núcleo y ext3, 154 •
Como pasar de ext2 a ext3, 154 • Como saber si el disco esta mal, 155 • Práctica, 155.

41. Acceso al router ADSL por puerto serie: Minicom 156

Por Paco Aldarias 4/449


Linux

Introducción, 156 • Configuración de minicom, 156 • Damos permisos de ejecución, 157 • Entrando
en el router, 157 • Bibliografı́a, 157.

42. Sincronización de ficheros: rsync 159


Versiones, 159 • Introducción, 159 • Instalación, 159 • Paso previo: Arracar ssh, 159 • Sincronización:
rsync, 159 • Utilidades, 160 • Sincronizar con ssh en otro puerto distinto, 160 • Instalación de linux,
usando rsync, 160 • Entrar con ssh a una maquina remota, 160 • Utilidad kde: ksync, 160 • Caso
Especial: Carpetas con blancos, 161 • Ejercicio, 161 • Bibliografı́a, 161.

43. El servidor de noticias: Leafnode 162


Versiones, 162 • Introducción, 162 • Que necesitamos, 162 • Instalación del servidor de noticias,
162 • Configurar el servidor, 163 • Nos suscribimos a los grupos, 163 • Nos traemos las noticas y
grupos a leafnode con fetchnews, 163 • Si queremos que se traiga las noticias cada 5 minutos, 163
• Configuración del cliente de noticias, 164 • Tramiento de spams, 164 • Generando estadı́sticas:
statnews, 164 • Bibliografı́a, 165.

44. Como ejecutar una aplicación sin ser root: sudo 166
Introducción, 166 • Instalar sudo, 166 • Configurar sudo, 166 • Llamarlo, 166 • Mediante permisos,
167 • Bibliografı́a, 167 • Ejercicio, 167.

45. Programar tareas: cron 168


Introducción, 168 • Instalar cron, 168 • Elementos a tener en cuenta, 168 • Ficheros, 168 • Como
hacer un script q se ejecute cada 5 minutos, 168 • Programa la ejecucion del scripts netstat.h en el
historico, 169 • Repasemos conceptos, 169 • Mas cosas, 169 • Podria tambien funcionar este script,
170.

46. Webcam: Instalación 171


Introducción, 171 • Versiones., 171 • Contexto, 171 • Instalación del software, 171 • Instalación de
los drivers, 172 • Ver que tipo de usb disponemos, 172 • El kernel, 172 • Módulos cargados, 173 • El
arranque, 174 • Estar seguro que funcionan USB, 174 • Comprobar el dispositivo, 175 • El sistema de
ficheros: fstab, 176 • Poniéndola en marcha, 176 • Para apagar la cámara, 176 • Script de Arranque
y parada, 177 • Ver si la reconoce, 177 • Una foto, 177 • Sotfware para webcam, 177 • Crear videos:
motion, 180 • Bibliografı́a, 180 • Agradecimientos, 180.

47. Servidor de correo: postfix 181


Versiones, 181 • Introducción, 181 • Instalación de postfix, 181 • Configuración, 182 • El fichero de
configuración, 182 • Arranque y Parada, 183 • Logs, 183 • Como recoger el correo que nos envian,
183 • Ficheros de interes, 183 • Postfix y cuotas, 184 • Autentificar usuario y contraseña: SASL, 185
• Bibliografı́a, 186.

48. Traerse todo el correo: fetchmail 188


Versiones, 188 • Introducción, 188 • Que necesitamos, 188 • Instalación de fetchmail, 188 • Configurar
el fetchmail, 188 • Traernos el correo., 189 • Si queremos que se traiga cada 5 minutos, 189 •
Configuración del cliente de correo, 190 • Bibliografı́a, 190.

49. Acceso a internet: Proxy: Squid 191


Versiones, 191 • Introducción, 191 • Instalación, 191 • Arranque/Parada, 191 • Configurar el proxy,
191 • Utilidades, 192 • Configurar el squid como proxy trasparente, 192 • Poner los mensajes de
error en español, 192 • Bibliografı́a, 192.

50. Estadisticas de red,router,cpu: MRTG 193


Versiones, 193 • Introducción, 193 • Control del tráfico de un router adsl., 193 • Instalación de mrtg,
194 • Configurar el acceso al router, 194 • Configurar la carga de la cpu, 195 • Todo el fichero de
configuración, 195 • Comprobar el cron, 195 • Como ver las estadisticas, 196 • Mrtg y Apache, 196 •

Por Paco Aldarias 5/449


Linux

Mrtg y las máquinas en una red, 197 • Mrtg y el tráfico del servidor web, 198 • Mrtg y la temperatura
del disco duro, 199 • Mrtg y el ancho de banda, 200 • Mrtg y el número total de procesos, 201 •
Generar el indice, 202 • Bibliografı́a, 202.

51. Antivirus en linux: F-prot+Amavis+Postfix 203


Versiones, 203 • Introducción, 203 • El antivirus, 203 • Uso de f-prot, 204 • Instalación de amavis
para debian sid, 204 • Estadisticas de amavis, 204 • Instalación de amavis para debian woody, 205
• Probando que funciona, 206 • Antivirus clam, 206 • Script para pasar antivirus al disco duro de
windows, 206 • Bibliografı́a, 207.

52. Conectar una red local a internet: NAT 208


Versiones, 208 • Introducción, 208 • El kernel, 208 • El software, 209 • Script que activa el nat, 209
• Activarlo en el arranque, 209 • Bibliografı́a, 209.

53. Servidor de correo imap y web mail: courier-imap + postfix + squirrelmail 211
Versiones, 211 • Introducción, 211 • Instalación del servidor, 211 • Configuración del usuario, 211 •
Maildir, 212 • Configuración de Postfix, 212 • Configuración de Courier y usuarios, 213 • Administration
de postfix, 213 • Cola de correo, 213 • Configuración del host, 214 • Instalación del webmail: squi-
rrelmail, 214 • Configurar squirrelmail, 214 • Squirrelmail en Español, 216 • Acceso al webmail, 217
• Aumentar la capacidad de apache y php, 217 • Acceso al correo desde un cliente de correo: kmail,
217 • Aviso del correo: korn, 217 • Conclusión, 217 • Bibliografı́a, 218.

54. El servidor de listas de correo electrónico: mailman + postfix 219


Versiones, 219 • Introducción, 219 • Es servidor de listas maiman, 219 • Instalación de mailman,
219 • Crear/Borrar listas, 220 • Configurar mailman, 220 • Configurar postfix, 220 • Reiniciar los
servidores postfix y mailman, 221 • Entrar en las listas, 221 • Arreglar los enlaces de la imagenes,
221 • Bibliografı́a, 221.

55. Seguridad: hackers 223


Introducción, 223 • La dirección ip, 223 • Como ver las conexiones de nuestra máquina con otras, 224
• Como saber que es cada puerto, 224 • Como entrar en una máquina, 224 • Entrar a máquinas con
windows, 225 • Entrar a máquinas con el pueto 21 abierto, 225 • Sacar contraseñas: snifers, 225 •
Bloquear el acceso al superservidor: inetd, 226 • Los cortaguegos: iptables, 226 • Cómo ver nuestras
ips, 227 • Cómo saber de donde es una ip: whois, 227 • Programas para analisis de seguridad , 227
• Páginas de hakers, 228.

56. Hacer q el ordenador hable: festival 229


Versiones, 229 • Introducción, 229 • Ircha, 229 • Festival, 230 • Bibliografı́a, 232.

57. Hacer que linux haga de windows nt server: samba 233


Versiones, 233 • Introducción, 233 • El kernel, 233 • Instalación de samba, 234 • Para los alumnos,
234 • Para los profesores, 236 • Configuración de samba, 238 • Reinicio del demonio samba, 244
• Configurar los clientes windows, 244 • Problemas encontrados, 244 • Mejoras pendientes, 245 •
Agradecimientos, 245 • Bibliografı́a, 245.

58. Eliminar correo basura (spam): spamassasin, bogofilter, animail 246


Versiones, 246 • Introducción, 246 • Coger el fichero gotmail, 246 • Descomprimierlo, 246 • Fichero
de configuración:, 246 • Bibliografı́a, 247.

59. Instalación de la grabadora: k3b, Cdbakeoven,kreadcd 248


Versiones, 248 • Introducción, 248 • El kernel, 248 • Ver que cdrom tenermos, 249 • Ver que firmwa-
re(driver) del cdrom tenermos, 249 • Problemas de los lectores LG, 250 • Ver los ficheros iso: loop,
250 • Comprobar si existe la grabadora, 250 • Permisos, 251 • Modificar el fstab, 251 • Modificar el
lilo, 251 • Ejemplo con knoppix 3.0 con lector/grabadora de DVD, 251 • Software de grabación, 252 •

Por Paco Aldarias 6/449


Linux

Hacer copias al vuelo de carpetas: mkisofs-cdrecord, 252 • Para duplicar cds: cdrdao, 253 • Grabar
mp3 a adio cd: kdreatecd, 253 • Crear una copia de seguridad, 253 • Pasar a mp3 un cd de audio,
253 • Bibliografı́a, 254.

60. Impresora: Cups 255


Introducción, 255 • Paquetes a instalar, 255 • Configurar la impresora: Cups, 255 • Cups en otro
puerto, 255 • Configurar la impresora en kde, 256 • Imprimir en red entre máquinas linux, 256 •
Imprimir en kde, desde otros programas que no son de kde, 257 • Hacer funcionar la impresora
all-in-one de HP PSC-1210 , 257 • Instalación de una impresora de red: Xerox Docuprint P8e, 258 •
Imprimir con windows, usando un servidor de impresión de linux, 258 • Cancelar trabajos de impresión
desde consola, 259.

61. Instalar tarjeta de red 260


Introducción, 260 • Instalar tarjeta de red pci, 260 • Configuración de la red sin DHCP, 260 •
Configurar la red con DHCP , 261 • Comprobacion de los datos de red, 261 • Para saber si va la
tarjeta de red, 261 • Para saber si tenemos bien la puerta de enlace, 262 • Instalar tarjeta de red isa,
262.

62. Instalar servidor dhcp 263


Introducción, 263 • Instalación, 263 • Configurar, 263 • Ponerlo en marcha, 264 • Otro ejemplo, 264
• Ejemplo dhcp.conf, 264 • Utilidades, 267 • bibilografia, 268.

63. Usar el entorno gráfico de otro pc: xhost 269


Instroducción, 269 • Condiciones, 269 • Proceso a seguir, 269.

64. Archivos comprimidos 270


Introducción, 270 • Instalación, 270 • Tipos de archivos comprimidos, 270 • Los archivos comprimidos
en konqueror, 270 • Sofware para compresión, 271 • Ficheros tgz, 271 • Ficheros tar.bz2, 272 •
Ficheros tar.gz, 272 • Ficheros zip, 272 • Ficheros gz, 273.

65. Clonación de pcs: system-image 274


Versiones, 274 • Introducción, 274 • Instalación del cliente de oro, 274 • Instalación del servidor, 274
• Vamos a clonar en otro pc desde linux instalado, 275 • Autoinstalación desde diskette/cdrom, 275 •
Bibliografı́a, 275.

66. Crear un dominio público: dyndns 276


Versión, 276 • Introducción, 276 • Darse de alta, 276 • Bajarse el archivo ddclient, 276 • Instalar
ddclient, 277 • Instalar ddclient.conf, 277 • Arrancarlo, 277 • Hacer q se actualize la ip con ono, 277
• Bibliografı́a, 278.

67. Crear terminales linux: LTSP 279


Versiones, 279 • Introducción, 279 • Las máquinas, 279 • Hacer el disco de arranque para las termi-
nales, 279 • Cambiar el sources.list, 280 • Instalar ltsp, 280 • Inicializar el servidor ltsp, 280 • Cambiar
el dhcp, 280 • Configurar ltsp, 281 • Cambiar export, 281 • Comprobar que esta el nucleo es su sitio,
281 • Añadir las terminales al dns, 281 • Dar permisos al kdm en Xaccess, 281 • Dar permisos al
kdm en kdmrc, 282 • Comentarios, 282 • Bibliografı́a, 282.

68. Web Dinámicas: php+mysql 283


Versiones, 283 • Introducción, 283 • Instalación, 283 • Configurar mysql, 283 • Gestión de mysql, 284
• Uso de Mysql, 284 • Uso de Php, 286 • Ejemplo de php, 287 • Mysql-navegator, 296 • Bibliografı́a,
296.

69. Apagar todas las máquinas de la red: ssh, halt 297

Por Paco Aldarias 7/449


Linux

Versión, 297 • Introducción, 297 • Instalación, 297 • Configuración de la máquina q ordena se apagen,
297 • Configuración de la máquinas q se apagan, 297 • Apagado de las máquinas, 298 • Hacer que
salga un mensaje que diga: El pc apagará en tantos minutos, 298 • Apagar el pc por telnet, 299 •
Bibliografı́a, 299.

70. Bash: Ejemplos 300


Introducción, 300 • bash, 300 • Arbol de directorios, 300 • Renombrar ficheros, 301 • Borrar los
archivos contenidos en un fichero, 301 • Borrar los ficheros que comiencen con p en el directorio
actual y en todos sus subdirectorios, 301 • Mover los ficheros, 301 • Para descomprimir todos los
archivos zip de una carpeta en otra, 302 • Copiar un fichero en otro poniendo la fecha y hora, 302 •
Analizar el arranque y realizar algo, 302 • Enviar n mensajes de correo, 303 • Clonar usuarios, 303
• Sustituir un texto por otro, 303 • Quitar los blancos de los nombre de los archivos, 304 • Buscar
todas las imagenes y renombrarlas por la hora actual, 304 • Renombrar canciones, 304 • Sacar las
ips de las máquinas conectadas en la red indicada, 305 • Sacar el nombre de la maquina o dns, 306
• Reducir fotos, 306 • Cambiar todos los enlaces de las paginas de una carpeta por otro enlace, 307
• Reemplazar un texto por un fichero, 307 • Quitar un texto en un fichero, 307 • Obtener la edad, 308
• Bibliografı́a, 308.

71. Bajarse una página web entera: wget 309


Introducción, 309 • Instalación, 309 • Uso, 309 • Ejemplo, 310 • Descarga controlada por un fichero.,
310 • Descargar una pagina con nc, 310 • Comentarios, 311 • Bibliografı́a, 311.

72. Controlar la velocidad de internet: Squid con colas 312


Introducción, 312 • Instalación, 312 • Bajar la última versión de squid, 312 • Compilar squid para
colas , 312 • Configurar Squid para poder usar la prestación de las delay pools, 313 • Usuario squid,
315 • Bibliografı́a, 316.

73. Control de trafico de red (QOS): dslqosqueue 317


Introducción, 317 • Requisitos, 317 • Barjarse el archivo: dsl qos queue-0.7.tar.gz - v0.7, 317 • Crear
este script, 318 • Arrancarlo, 320 • Comprobaciones, 320 • Bibliografia, 320.

74. Cosas útiles 321


Mantener un proceso al cerrar la terminal, 321 • Para ver los directorios que cuelgan, 321 • Una
forma rapida de imprimir nuestros correos: mp, 321 • Configurar el entorno gráfico, 321 • Hacer que
se abra y cierre el cdroom, 322 • Dejar el sistema limpio, 322 • Abrir varios entornos gráficos: startx ,
322 • Saber la ip desde consola, 322 • Comprobar el iso con el md5, 322 • Controlar máquinas con ip
dinámica, 322 • Cambiar la resilucion de imagenes jpg, 323 • Saber si cambia una web, 323 • Evitar
lanzar un programa varias veces, 324 • Para levantar algun demonio caido, 324 • Obtener el man de
forma bonita, 324 • Apagar el pc si no hay impresion ni usuarios, 325.

75. Controlar el disco duro usado: quota 326


Introducción, 326 • El núcleo debe soportar quotas, 326 • Instalar el software: quota, 326 • Indicar
que se usan quotas, 326 • Informe de cuotas, 327 • Mantenimiento, 327 • Activación y desactivación
de cuotas, 327 • Editar la cuota, 327 • Bibliografı́a, 327.

76. Activar teclas especiales del teclado inhalámbrico: Cordeless iTooch Keyboard de
Logitech: lineakd 328
Versión, 328 • Introducción, 328 • Instalar, 328 • Configurarlo, 328 • Adaptarlo a nuestro gusto, 329
• Lanzarlo o Ponerlo en marcha, 329 • Teclado Genius: Comfy KB-19e, 329 • KDE bloquea lineak,
331 • Bibliografı́a, 331.

77. Enviar correos desde la consola: mail 332


Introducción, 332 • Envio Simple, 332 • Envio de un fichero de texto, 332 • Envio de un fichero binario,
332 • Una forma rapida de imprimir nuestros correos: mp, 333 • Enviar indicando con una direccion
From, 333 • Enviar n mensajes de correo, 333 • Enviar un email a todos los usuarios del sistema, 333.

Por Paco Aldarias 8/449


Linux

78. Busquedas de páginas en tu servidor web: htdig 335


Introducción, 335 • Requisitos, 335 • Instalación, 335 • Configuración, 335 • Crear un fichero de
páginas, 335 • Inicializar la base de datos, 336 • Uso, 336 • Bibliografı́a, 336.

79. Foros de Discusión: Phpbb2 337


Introducción, 337 • Requisitos, 337 • Instalación, 337 • Entrar al foro, 337 • Bibliografı́a, 338.

80. La radio por internet: icecast 339


Introducción, 339 • Instalación, 339 • icecast-server, 339 • icecast-client, 340 • Acceso por web al
administrador, 340 • Ponerse a escuchar la radio, 341 • Bibliografı́a, 341.

81. La hora en linux: ntp,date 342


Introducción, 342 • Si la hora q no se ajusta a la local, 342 • Instalación, 342 • Puesta en hora desde
kde, 342 • Puesta en hora desde consola, 342 • Actualizar la hora por internet (ntp-client), 343 • Dar
la hora (ntp-server), 343 • Bibliografia, 343.

82. Eliminar el virus nimbda del servidor apache 345


Introducción, 345 • Como se propaga, 345 • Como solucionarlo, 346 • Como se filtran las ips, 346 •
Como hacer q el cortafuegos cierre el paso a esas maquinas, 346 • Text del virus nimba, 347.

83. Detectar y bloquear escaneos: portsentry 348


Introducción, 348 • Instalación, 348 • Ficheros de configuración: /etc/portsentry/portsentry.ignore, 348
• Ficheros de configuración: /etc/portsentry/portsentry.conf, 348 • Script portsentry.sh, 354 • Script
lee, 355.

84. Descargar ficheros rápidamente 356


Introducción, 356 • Instalación, 356 • Leer el ayuda, 356 • Servidor bittorrent: bttrack, 357 • Los clien-
tes de bittorrent: btdownloadgui,btdownloadcurses, 357 • Como seguir con lo q se estaba bajando,
358 • Control del ancho de banda , 358 • Ejemplo de enlaces bittorrent para debian knoppix 3.4, 358
• Bibliografia, 358.

85. Instalación y ahorro de energia de la tarjeta gráfica nvidia (GeForce4 MX 440 AGP
8x) 359
Introducción, 359 • Instalando los drivers de nvidia, 359 • Ahorro de energı́a en Athlon, 362 •
Aceleración 3D en nvidia: dri, 362 • Ver pelis del dvd en la tv, 363 • Instalación de nvidia atraves
de apt, 363 • Mejorar la gestión de interrupciones: irqtune, 364 • Error de nvidia y kernel 2.6, 364 •
Bibliografı́a, 365.

86. Controlar los ordenadores encendidos en una red: bash-nmap-mysql 366


Introduccion, 366 • Creación de la base de datos en Mysql, 366 • Meteremos las ips, 367 • conclusión,
367.

87. Instalación, configuración y uso del Portal Web: Postnuke 368


Introducción, 368 • Requisitos, 368 • Bajarse Postnuke, 368 • Descomprimirlo, 368 • Instalando,
368 • Modificar los enlaces del pie y encabezado, 369 • Poner la noticias de un portal en otro,
369 • Arreglar problemas de traducción al español, 369 • Solucionar el error: themeheader , 369 •
Bibliografia, 370.

88. Entrar a mysql usando open office: odbc 371


Introducción, 371 • Instalación, 371 • Configurar el odbc, 371 • Crearmos la tabla amigos, 372 • El
Open Office Writer, 372 • Bibliografı́a, 372.

Por Paco Aldarias 9/449


Linux

89. Transformar pelı́culas de mpg a avi: mencoder 373


Introducción, 373 • Reproducción de video, 373 • Instalación, 373 • Paquetes instalados, 373 • Pasar
un vcd a mpg, 374 • Pasar mp3 a avi, 374 • Saber información del video: tcprobe, 376 • Bibliografı́a,
376.

90. Aceleracion 3D con Voodoo Banshee [tdfx] 377


Mi placa de video, 377 • Tengo compilado en el kernel, 377 • Configuración de X:, 377 • Prueba q
fubnciona, 378.

91. Crear aulas virtuales: Moodle 379


Introducción, 379 • Caracterı́sticas, 379 • Instalación, 379 • Backup y Upgrade, 380 • Envio de email
de los foros, 380 • Cambiar el tamaño de los archivos que pueden descargarse, 381 • Bibliografı́a, 381.

92. Estadisticas del servidor web: awstats 382


Introducción, 382 • Instalación, 382 • Configuración, 382 • Enlace de las imágenes, 382 • Crear las
estadı́sticas, 382 • Ver las estadı́sticas, 383.

93. Sistema de Gestión de Base de Datos (SGBD): Postgres 384


Introducción, 384 • Instalación, 384 • Acceso y creación de un usuario, 385 • El super usuario post-
gres, 385 • Crear una base de datos, 385 • Modificar el password de un usuario, 385 • Entrar en
modo texto, 385 • Administrar por php y servidor web: phpPgAdmin, 386 • Entorno gráfico: pgaccess
, 386 • Entorno gráfico: pgadmin3, 387 • Bibliografia, 387.

94. Hacer funcionar un scaner CanoScan LIDE 50 USB: Sane 389


Introduccion, 389 • Instalación, 389 • Programas para scanear, 390 • El sistema de ficheros, 390 •
Los dispositivos, 390 • Reconocimiento del harware, 390 • Configurar sane, 391 • Script de arranque
y parada, 391 • Programas para scanear, 392 • Bibliografia, 392.

95. Instalar el sitema de audio con Alsa 394


Introducción, 394 • Programas instalados, 394 • Ver los dispositivos de audio, 394 • Bajarse los
drivers de las tarjetas, 394 • Configurar alsa: Alsaconf, 395 • Configurar el volumen, 395 • Bibliografia,
396.

96. Instalar un lapiz usb (pen drive): sda 397


Introducción, 397 • Kernel 2.6, 397 • Kernel 2.4, 399 • Formatear el lápiz, 401 • Montarlo, 401 •
Bibliografia, 402.

97. Ba jarse news con binarios: brag 403


Introducción, 403 • Instalación, 403 • Para saber que grupos ahi, 403 • Para bajarse un grupo, 403 •
Script para bajarse varios grupos, 403.

98. Monitorizar la temperatura de la cpu: sensors 405


Introducción, 405 • El kernel, 405 • Instalación, 405 • Saber que sensores usar , 406 • Ver los
sensores, 406 • Utilidad kde: ksensors, 406 • Bibliografı́a, 407.

99. Controlar el ancho de banda: shaper, netfilter, tc. 408


Introducción, 408 • Controlar la velocidad del servidor web: shaper, 408 • Control de ancho de ban-
da dando prioridad al puerto 22: Netfilter, 410 • Control del ancho de banda: Minilancontrol, 410 •
Bibliografia, 412.

100.Escuchar emisoras de radio: mplayer 413


Introducción, 413 • Lista de emisoras: emisoras.txt, 413 • El script de emisoras: emisoras.sh, 415.

Por Paco Aldarias 10/449


Linux

101.Recibir por email diarios oficiales BOE,DOGV: perl 417


Introducción, 417 • Recibir el DOGV: dogv.pl, 417 • Recibir el BOE: boe.pl, 418.

102.Instalar una cámara de fotos digital: SONY DSC-P200 420


Introducción, 420 • El kernel y las cámaras de fotos, 420 • Los permisos, 421 • Programas para la
cámara, 421 • Montaje como usb normal, 421 • Modo USB PTP, 423 • Automontaje de dispositivos
usb, 424 • Bibliografı́a, 425.

103.Eliminar el spam con procmail 427


Versiones, 427 • Introducción, 427 • Configurar postfix, 427 • Fichero de configuracion, 427 • Bibliografı́a,
432.

104.Conectar a traves de cortafuegos: ssh invertido 433


Introducción, 433 • Escenario, 433 • En maquinadetrabajo, 433 • En mimaquina, 434 • A tener en
cuenta, 434 • Hacer que ssh siempre este conectado, 434 • Bibliografia, 435.

105.Conectar móvil Sony Ericson Z520i con bluetooh al pc 436


Introducción, 436 • Mi bluetooth, 436 • El Kernel, 436 • Drivers, 437 • El adaptador bluetooth , 437 •
Modulos cargadosModulos cargados, 437 • El log, 437 • Escaneando, 438 • Para ver los servicios,
438 • Crear el nodo, 439 • Configuración, 439 • El proceso, 439 • obexftp, 439 • Direcciones de
interes, 440.

106.Consolas virtuales desatendidas: Screen 442


Introducción, 442 • Instalación, 442 • Comandos utiles:, 442 • Bibliografia, 442.

Índice de cuadros 444

Índice de figuras 445

Por Paco Aldarias 11/449


Linux

Prólogo

Este documento es de libre reproducción siempre que se cite su fuente.


Se ha realizado para ayudar a los alumnos del curso 2002-2003, 2003/2004 de Centro de En-
señanza Secundaria de 25 de abril de Alfafar en Valencia, España.
Se lo dedico a mi familia y a mis alumnos.
Fecha de creación: 21 de Septiembre del 2002.
Este documento se ha realizado con:

Sistema: Linux Debian Woody/Sid con kernel 2.4.20

Sistema de documentación: LATEX


Editor Latex: kate

Impresión: cups

Latex a Html: latex2html

Latex a Pdf: pdflatex

Editor de pdf: acroread

Estos apuntes se puede obtener de esta web: http://pagina.de/pacodebian


Mi email: pacolinux arroba inicia punto es

Por Paco Aldarias I /449


Linux

Parte I

Linux Básico

Por Paco Aldarias 1/449


Linux

Capı́tulo 1

Introducción a linux

1.1. Introducción
Linux es un sistema operativo. Otros sitemas operativos, pueden ser: Windows, Apple, Aix, Unix.

1.2. Caracterı́ticas
Linux tiene las siguientes caracterı́ticas:

Sotware Libre.
Basado en Unix
Alta prestaciones.
Entorno gráfico y texto.
Altamente configurable.
Alto número de software disponible.-
Alto nivel de seguridad.
El coste es cero.
Alta estabilidad
Compatible con otros sistemas operativos.
Permite instalarse en pcs sin grandes requisitos de ram o hd.
Fácil actualización de todo el software.
Hay muchisima documentación.

Una dirección que amplia esto:


http://cila.gulic.org/apuntes/

1.3. Porque usar Linux


Una buena explicación de los inconvenientes de windows.
http://usuarios.iponet.es/casinada/31trampa.htm

Por Paco Aldarias 2/449


Linux

Figura 1.1: Mascota de linux: Tux

1.4. Distribuciones
Linux tiene multiples distribuciones, q se diferencian en la forma de instalación , y en algunas
aplicaciones.
Todas tienen algo en común y es el kernel.
Las distribuciones más utilizadas son:

Mandrake
Redhat
Debian

En esta página se pueden ver todas las distribuciones existentes:


http://www.distrowatch.com/index.php
Que distribución es la mejor:
http://www.linux-es.com/Faq/Files/Html/FAQ Linux V2.0.2-13.html
Nosotros usaremos Debian,por las siguientes ventajas:

Fácil instalación, configuración y actualizacion de programas.


La instalación mı́nima ocupa poco espacio.
Se sabe mejor q hace cada cosa.

Podemos bajarnos los cds de linux debian woody (stable) desde:


ftp://ftp.es.debian.org/debian-cd
Hay varias versiones de debian, según el grado de estabilidad del software:

stable o woody o estable


unstable o inestable o sarge
testing o pruebas o sid

1.5. Dilema de las distribuciones


Pregúntale a Linus Torvalds. Esta casi todos los dias en el foro linux.kernel. Creo haber leido que
el usaba Red Hat en el trabajo y SuSe en casa o algo asi.

Por Paco Aldarias 3/449


Linux

Figura 1.2: Logotipo Linux Debian

Esas dos son las más normales cuando se habla de Linux, y posiblemente las mas extendidas.
Luego esta Mandrake, que quiere hacer mas facil instalar y usar Linux para todos los publicos,
pocas preguntas e instala todo for if the flyes, no apta para ordenadores con pocos medios. Ha
tenido mucho auge y es una de las grandes estos ultimos tiempos, pero parece que la compañia
esta cerca de la quiebra.
Despues esta la clasica, Slackware. Es un Linux duro y sin concesiones. Solo para los que saben.
Finalmente esta Debian, tambien de las grandes. Pero esta es una Linux atipica. Considera a
Linux (el kernel) algo circunstacial y provisional, y su idea es hacer un Sistema Operativo integro
GNU o libre. Huye de programas propietarios como de la peste. Tambien, como Slackware, se
considera dura. Hay que instalar todo por tu cuenta y a pelo y tirarte dias y dias leyendo por cada
periferico que tengas. Paradojicamente puede que sea una de las mas extendidas en España.
Supongo que por la misma razon de que no gustan los coches automaticos y porque tiene fama
de que es para expertos y developers. (Aqui saldra un amigo mio a decirme que proyecto en los
demas mis defectos)
Mi guia para elegir distribucion para casa seria esta:
1. Eres nuevo en Linux y solo quieres instalarlo y usarlo. El ordenador es un medio para cosas
importantes que tienes que hacer, y no un fin en si mismo. No quieres convertirte en un experto
informatico y controlar todas las interioridades del sistema. Mandrake.
2. Quieres un Linux standard, extendido, ni muy duro ni tan facil, y quieres pagar SuSe, lo quieres
bajar gratis de internet RedHat.
3. El ordenador es un fin en si mismo o casi. Te interesa la informatica. Tienes tiempo para de-
dicarle al ordenador. De hecho lo que no tienes tiempo es para otras cosas. Quieres controlar
totalmente todos los aspectos del sistema. Debian. Si el ordenador es muy antiguo igual Sla-
ckware mejor.

1.6. Versiones de Debian


Debian siempre mantiene al menos tres versiones en mantenimiento activo: ((estable)), ((pruebas))
e ((inestable)) (stable, testing y unstable).

Por Paco Aldarias 4/449


Linux

estable La distribución ((estable)) contiene la distribución oficial más reciente de Debian.


Esta es la versión de producción de Debian, cuyo uso recomendamos principalmente.
La versión ((estable)) actual de Debian GNU/Linux es la 3.0r2, cuyo nombre en código es
woody. Salió el 21 de noviembre de 2003.

pruebas La distribución ((pruebas)) (testing) contiene paquetes que aún no han sido acep-
tados en la rama ((estable)), pero están a la espera de ello. La principal ventaja de usar
esta distribución es que tiene versiones más recientes del software, y la principal desven-
taja es que no ha sido probada completamente y que no tiene soporte oficial del equipo de
seguridad de Debian.
Vea las PF de Debian si desea más información sobre qué es ((pruebas)) y cómo se con-
vierte en ((estable)).
La distribución actual de ((pruebas)) es sarge.

inestable La distribución ((inestable)) es donde tiene lugar el desarrollo activo de Debian.


Generalmente, esta distribución es la que usan los desarrolladores y otros que quieren
estar a la última.
La distribución ((inestable)) se llama sid.
Para más información mirar aqui:

http://www.debian.org/releases/
Yo recomiendo usar la versión pruebas.

Por Paco Aldarias 5/449


Linux

Capı́tulo 2

Instalación de linux y windows

2.1. Versiones
12.01.02. Primera versión.
20.12.03 Knoppix
23.01.04. Revisión.

2.2. Introducción
Los ordenadores del aula va a tener instalado Windows 98se y Linux Debian 3.0 (Stable).
Los pasos para la instalación de los equipos seran:

Preparación del disco duro.


Instalar windows
Instalar linux

2.3. Preparar el disco duro


Antes de hacer nada es conveniente particionar el disco duro indicando q parte del disco es para
Linux y que parte es para Windows.
Normalmente en Windows solo tenemos una particion, q corresponde al disco duro.
Deberemos borarrar las particiones antiguas y creas las nuestras.
Posteriormente formatearemos la partición de windows

2.3.1. Como se hacen las particiones

Pasos:

Arrancar con un disco de arranque o con un cd de arranque.


Ejecutar fdisk

Nota: Para cambiar el arranque, e indicar q arranque desde CD ROM, hay q entrar en la bios e
indicarle q antes de arrancar desde el disco duro arranque desde el CD-ROM.
Practica. Arrancar el ordenador de las dos formas.

Por Paco Aldarias 6/449


Linux

2.3.2. Preparar disco de arranque desde windows 98

Inicio-Conficuracion Panel de control-Agragar o quitar programas - disco de inicio


Práctica. Preparar un disco de arranque con win98.

2.3.3. Particiones

Existen distintos tipos de particiones:

Particion primaria. Solo pueden haber 4 por disco duro

Particion extendida. Sólo pueda haber una, y esta formada por particiones logicas. El ta-
maño total de las particiones lógicas coincide con la partición extendida.

2.3.4. Particiones queremos hacer.

Nuestro disco duro es de 3079 Mb.

Num Para Nombre Tamaño (MB) Tipo FORMATO


1 Win C 1279 PRIMARIA FAT32 -ACTIVA
2 Linux swap 100 EXTENDIDA-LOGICA SWAP
3 Linux / 1700 EXTENDIDA-LOGICA EXT3

Cuadro 2.1: Particiones

Importante: La particion extendida debe ser la suma de las particiones logicas.

1. Para windows.

2. Para linux, la creamos y ya le diremos despues q es para linux. Aqui se pondra el arranque
del sistema.

3. Para linux. Es para intercambio en linux. Suele ser el doble de la RAM. Si tenemos 250MB
de RAM o más, com 200Mb de Swap es suficiente.

4. Para linux. Aqui se instalara todo lo de linux. Lo mı́nimo son 400Mb. Yo tengo 7Gb. Para
empezar recomiendo al menos 3Gb.

2.3.5. Fdisk

Es un programa de msdos q prepara las particiones del disco duro. Una vez arrancado desde
disquette o CDROM, se entra poniendo: fdisk
Opciones:

1. Crear particion

2. Establecer activa

3. Eliminar

4. Mostrar

Consideraciones:

Por Paco Aldarias 7/449


Linux

Debemos eliminar las particiones q existen en el disco ya q no se ajustan a lo q queremos.


Debemos borrar primero las particiones lógicas, luego la extendida y por último las prima-
rias
El tamaño de la partición extentedida debe tener la suma de las particiones logicas, que
coincide con lo q queda libre del disco una vez creada la partición primaria
En nuestro caso la partición activa debe ser la de windows.
En particiones con discos duros grandes (como uno de 80Gb), fdisk no funciona. Se puede
arrancar la instalación de linux, hacer las particiones y salirse para instalar primero windows.

2.3.6. Formatear el disco duro

Formatear sirve para:

limpiarlo.
prepararlo para un S.O.

Una vez hechas las particiones deberemos formatear la particion 1, con la orden:

format c: /s

Al formatear le estamos diciendo q esa partición va a ser para windows.


Cuando instalemos linux, ya le daremos formato al resto de particiones

2.4. Instalación de windows


Consideramos q nuestro cdrom esta en letra i

2.4.1. Instalación base de windows 98se

Pasos:

Instroducir el cd de windows 98se


Apuntar el número de serie de win con:
type i:\win98$\numserie.txt

Ejecutar:
i:\win98\win98\instalar
Eleguir instalación tı́pica
Nombre del PC: PC101, PC102, , (PC100+NUMERO DE PC)
Grupo de trabajo: INFOCOLE
La hora es: GMT+1

El nombre del PC, es el q aparece en entorno de red. El grupo de trabajo, es una clasificación de
máquinas por grupos
La mascara de red, permite delimitar las subredes

Por Paco Aldarias 8/449


Linux

2.4.2. Seguimos instalando. Instalando drivers

Una vez instalado windows, vemos q hay cosas sin instalar, y es pq windows no reconoce , tales
como:

Tarjeta gráfica. Se ve mal la pantalla.

Tarjeta de red. No tenemos red.

Tarjeta de sonido.. No tenemos sonido

- Debemos meter el cd de ibm con los drivers e instalarlos.


Instalar tb el adobe acrobar reader, para poder abrir documentos .pdf.

2.4.3. Configurando la red y el monitor.

Red
Aunque se instale los driver de la tarjeta de red, debemos configurar los datos de la red.
Entrar en: Inicio-Panel de Control-Red
Seleccionar TCP-IP
Dirección IP: 192.168.100.100+PC.
Máscara: 255.255.255.0. Comprobar q teneis red, mirando el icono de red.

Monitor:
Entrar en: Inicio-Panel de Control-Monitor
Cambiar la resolución de pantalla a 800x600, con color de 16bits

2.4.4. Aun no esta todo, falta el office

Aunque hemos instalado windows 98se, no podemos hacer nada con él.
Debemos Instalar el Office 97, entrar para ello en el CDROM, carpeta:

\office97\disk1\

y ejecutar setup. Eleguir instalación tipica

2.5. Instalación de linux


En esta página se explica como se instala debian.
http://www.debian.org/releases/stable/i386/install.es.html

2.5.1. Donde coseguir el software

Aqui es un lugar:
http://www.debian.org/distrib/netinst

2.5.2. Requisitos de Memoria y de Espacio de Disco

Debe tener al menos 12MB de memoria y 110MB de espacio en disco.

Por Paco Aldarias 9/449


Linux

Para un sistema mı́nimo basado en consola (todos los paquetes estándar), precisa de 250 MB.
Si quiere instalar una cantidad de software razonable, incluyendo el sistema de ventanas X, y
algunos programas y bibliotecas de desarrollo, necesitará al menos 400 MB.
Para una instalación más o menos completa precisará de 800 MB.
Para instalar todo lo disponible en Debian, necesitará alrededor de 2 GB.
Yo recomiendo como mı́nimo poner 1 Gb. Aunque se puede instalar en menos.

2.5.3. Empezando a instalar

Se trata de hacer una instalación rápida y sencilla. La bios debe tener activado el arranque desde
cd rom. Introducir el CD de Debian Woody 3.0. en el lector del cd

1. Aparece la palabra boot debemos escribir: bf24 y pulsar Intro Nota: Esto instala directa-
mente el núcleo 2.4.18, si le damos a intro instala el 2.2

2. Seleccinar idioma español: es.

3. Configurar el teclado: Seleccionar teclado español

4. Dar formato y activar una particion de intercambio.


Aqui debemos decir q particion es la swap
Buscar bloques defectuosos: No
Ha eleguido formatear ..: Si.

5. Iniciar particion linux


Eleguir ext3 (es mas seguro q extended dos)
Seleccionar particion para ˙
Buscar bloques defectuosos: No
Montar el sistema raiz: Si
Ha eleguido formatear ..: Si.

6. Instalar nucleo y modulos


Se encontro Cd-rom debian. Desea usarlo: Si

7. Configurar los controladores de dispositivos


Nota: Los parametros dejarlos en blanco a menos q se indiquen.
kernel/drives/block: nbd
kernel/drives/input: input ; keybdeb ; mouse-dev
red: buscar la tarjeta de red kernel/fs/nls: nls-cp850, ls-iso 8859-1, nls-iso 8859-15
sound: cs4232
kernel/fs/nfsd: nfsd
kernel/fs/sysv: sysv
kernel/fs smbfs: smbfs: smbfs (para conectarse con maquinas windows)
kernel/fs/msdos : umsdos: umsdos (para leer archivos de windos)
kernel/net/netlink: netlink-dev
kernel/net/net/ipv4/netfilter: ip-contract; ip-tables; ip-tables-nat
kernel/arch/i386/kernel/apm (para apagar el pc ) Nota: Para grabadoras:
scsi: scsi emulation sopport

8. Configuracion de red
Nombre: PC+NUM

Por Paco Aldarias 10/449


Linux

Configuracion eth0:
Usar DHCP: SI. 1
9. Medio para instalar sistema: CDROM
10. Directorio para instalar: /instmt
Ahora se instalara el sistema base
11. Hacer disco de arranque. No
12. Instalar lilo: MBR
13. Reinicio del sistema
Nota: Sacar el cd, para no empezar de nuevo la instalación

2.5.4. Post-instalación

Una vez reiniciado

1. ok
2. HORA: GMT: YES. EUROPA-MADRID
3. MD5 PASS: YES
4. SHADOW PASS: YES
5. PASS ROOT: infocole.
Nota: Cuando se teclea no se ve la contraseña por seguridad.!!
6. CUENTA USUARIO:
NOMBRE: PC+NUMCPC
CONTRASEÑA: infocole
7. REMOVE PCMCI: YES
8. CONEX. PP: NO
9. INSTALACION: CDROM
Nota: Meter el cd-rom
10. SCAN ANOTER CD: NO
11. ADD APT-SOURCE: NO
12. SECURITY UPDATE: NO
13. RUN TASKSEL: NO
14. RUN DSELECT: NO
15. Remove pcm-ci: yes
16. Erae previous download: Yes
17. EXIM:
OPCION: 5

1 Esta será la configuración de red, si no usáramos DHCP :

IP: 192.168.100.100+PC
MASCARA: 255.255.255.0
PASARELA: 192.168.100.1
DOMINIO: infocole.es
DNS: 195.235.113.3

Por Paco Aldarias 11/449


Linux

2.5.5. Instalación de kde

Para ser root:


$ su -
(PASS:) infocole

Instalamos kde con :

apt-get install kde

Nota: Darle ok a todo.

2.5.6. Instalación de entorno grafico: las exis

Instalamos el paquete xserver-xfree86:

apt-get install xserver-xfree86

Aqui nos pedirá q metamos datos de la pantalla y la tarjeta gráfica.


Indicar q tenemos:

1. Manager ..: Yes

2. Manager XF.. : Yes

3. s3virge

4. framebuffer: no

5. Teclado: pc102

6. Keyboard layout: es ES

7. Ratón: psaux

8. PS/2

9. LCD: No

10. Monitor: Medium


800x600 60Hz
800x600

11. colordeph: 16

2.5.7. Instalar las fuentes

El kde no se verá bien sino instalamos estas fuentes:

apt-get install xfonts-base xfonts-100dpi xfonts-75dpi xfonts-base-transcoded xfonts-75dpi-tran

Por Paco Aldarias 12/449


Linux

2.5.8. Cambiar el servidor de paquetes para usar apt-proxy


1. Cambiar el fichero /etc/apt/sources.list para q tenga esto:

deb http://192.168.100.2:9999/debian woody main non-free contrib


deb http://192.168.100.2:9999/non-US woody/non-US main contrib non-free
deb http://192.168.100.2:9999/openoffice woody main contrib

Esto lo haremos con:


nano /etc/apt/sources.list

2. Actulizar el listado de paquetes:


apt-get update

3. Actulizar los paquetes:


apt-get upgrade

4. Instalar paquetes :
apt-get install kde-i18n-es

5. Españolizar debian: apt-get install manpages-es manpages-es-extra doc-linux-es doc-debian-


es ayuda language-env

2.5.9. Instalación del kde en español con cdrom 5

su - (asi somos root)


apt-cdrom add (hay q poner el cdrom 5, para q coga su contenido)
apt-get install kde-i18n-es (este paquete es para kde en español)

2.5.10. Instalar paquetes importantes

Desde consola y como root:


apt-get install xfonts-100dpi apt- xfonts-75dpi console-data console-tools locales console-data
console-tools user-euro-es locales kdebase-crypto kde-i18n-es kcal kformat
Siendo:

1. netscape: navegador

2. mozilla: navegador

3. console-data console-tools: utilidades de la consola.

4. xfonts-100dpi apt- xfonts-75dpi: fuentes de kde:

5. locales user-euro-es: españolizacion

6. kdebase-crypto: Para que konqueror entre en paginas seguras

7. kde-i18n-es: kde en español

8. kcal: calculadora

9. kformat: formateador de disketes.

Por Paco Aldarias 13/449


Linux

2.6. Linux Debian knoppix


knoppix puede usarse sin instalarse, con sólo meter el cdroom, y arrancar desde el. Es necesario
2,2Gb en disco duro para instalarse.
Podemos bajarnos 1cd de linux debı́an knoppix en español :
http://metadistros.hispalinux.es
ftp://ftp.caliu.info/pub/distribucions/knoppix-es/

Aquı́ explica como se instala knoppix en disco duro: http://sindominio.net/quique/Traducciones/


instalacion de knoppix en el disco duro.html
Para instalarlo en disco duro básicamente es:

1. Pulsa CTRL-ALT-F2, para pasar a una consola como root. Deberı́as ver un shell prompt.

2. Teclea: knx-hdinstall

2.7. Arracando para instalar linux


Hay dos maneras de arrancar para empezar a instalar: directamente desde cdrom, o desde dis-
quete. Para arrancar desde cdrom debemos cambiar la bios, para q entre en el cdrom.
Para arrancar desde disquete y que luego vaya al cdrom debemos antes hacer los discos de
arranque. Para ello usaremos el disco 1.
Si estamos en linux debemos poner:
Para hacer el disco primero:
dd if=/cdrom/install/rescue.bin of=/dev/fd0 bs=1k count=1440
Para hacer el disco segundo:
dd if=/cdrom/install/root.bin of=/dev/fd0 bs=1k count=1440
Nota: En debian a un paquete mindi, q crea discos de arranque con el kernel q se tiene.

2.8. Instalar sarge con el Debian-Installer: netinstall


Es posible bajarse un cd de debian sarge e instalar por red, aqui está: http://www.debian.org/
devel/debian-installer/

2.9. Instalar Debian Knoppix STD 0.1: security tools distribu-


tion
Es posible bajarse un cd aqui: http://www.knoppix-std.org/

2.10. Instalar Debian para niños: Pequelin


Pequelin, aqui esta: http://www.pequelin.org/tikiwiki 1.7.2/tiki-view articles.php

Por Paco Aldarias 14/449


Linux

2.11. Bibliografı́a
1. Cesar Martı́nez Pérez. Linux, Anaya Multimedia, 1998

2. Linux Debian http://www.debian.org/releases/stable/i386/install.es.html#contents

2.12. Text 1. Particiones


Contestar a estas preguntas:

1. Que es un disco de arranque.?

2. Donde se encuentra el programa Fdisk?

3. Fdisk para q sirve?

4. Una vez se sale de Fdisk el disco es utilizable?

5. Siempre se arranca desde el HD?

6. Podemos tener particiones q no sean del DOS?

7. Si no arranca desde el CD-ROM. Como se hace para arrancar?

8. Dónde se encuentra el programa format?

9. Qué hace la orden format c:/s?

10. Qué programa instala windows?

2.13. Text 2. Windows


Contestar a estas preguntas:

1. Windows reconoce todos los dispositivos del ordenador.? Cuales no?

2. Qué es un driver o controlador de tarjeta de video?

3. Qué es un driver o controlador?

4. Cuanto ocupa windows una vez instalado? Que espacio tenemos disponible en el HD?
5. Q esTCP/IP? Donde puedo ver la la IP y la mascara de red?

6. Cómo se q tengo instalada la tarjeta de red?

7. Para q conectamos en red?

8. Cómo se que tengo red?

9. Qué nombre tiene la tarjeta de red? Cómo es ISA/PCI?

10. Dónde esta el nombre del pc y el grupo de trabajo? Para q sirve?

Por Paco Aldarias 15/449


Linux

Capı́tulo 3

Linux Debian: Knoppix

3.1. Introducción
Knoppix es una distribución de linux con las siguientes caracterı́sticas:

1. Permite entrar a linux sin instalar nada.


2. Autodetecta todo el hardware
3. Necesita una partición de 2.2Gb de Disco Duro, si se quiere instalar en disco duro.
4. Es como instalar debian.

3.2. Bajarse el cd
Desde aquı́ se puede bajar:
http://metadistros.hispalinux.es

3.3. Instalación en disco duro


Básicamente hay q seguir estos pasos:

1. Tener en el disco dos particiones: una de 5Gb para instalar linux, (tipo ext3), y otra partición
para instalar la swap de 200Mb (tipo swap).
2. Meter el cd y arrancar con el.
Es conveniente poner una vez aparezcan las primeras letras:
knoppix lang=es screen=800x600
3. Entrar al menu knoppix y poner consola como root.
Dentro de la consola escribir: knx2hd

3.4. Recuperar el lilo


Me he encontrado en la situación (y varias veces) de haber perdido el menú de inicio (lilo en
mi caso) por reinstalar un windows. Como tengo la mala costumbre de no crear un disquete de

Por Paco Aldarias 16/449


Linux

arranque, pues apañado estoy. Entonces leı́ en alguna parte el truco del siglo, al menos para mı́:
Inicias knoppix ası́:

knoppix lang=es

Montamos en /mnt/hdax nuestra partición raiz de linux. En mi caso la orden serı́a:

mount /dev/hdb1 /mnt/hdb1

Y a hora lo mejor, tecleamos:

chroot /mnt/hdb1.

Con este comando ejecutamos un linux dentro de un linux, más o menos. Es decir, si ponemos
”ls”se estará ejecutando el ”ls”de nuestro disco duro, no el del knoppix.
Ahora, si hacemos un ls , veremos nuestro /bin, /etc, /boot. Sólo queda ejecutar: lilo
Una vez restaurado el menu tecleamos: exit
Ya solo falta reiniciar
Si tenemos el /boot en otra partición, supongo habrı́a que modificar estos pasos, pero el proceso
debe ser muy similar.

3.5. Recuperar el lilo con knoppix


1.- arrancar con el disco de knoppix con la siguiente linea de arranque
knoppix 2 lang=es vga=normal

2.-crear un directorio
mkdir milinux

3.-montar mi particion de linux en le directorio que cree


mount /dev/hdaX /milinux

donde hdax es donde se encuentra mi particion de linux, si no saben donde esta la particion de
linux denle con fsdisk -l /dev/hda les da las particiones de /dev/hda
4.-utilizar la interfaz estándar de lı́nea de comandos
bash

5.-CHROOT es una llamada al sistema en UNIX que permite configurar un directorio como -
aı́z”del sistema de ficheros para un proceso y sus hijos. En otras palabras, permite configurar el
sistema de forma tal que se puedan lanzar procesos confinados dentro de un determinado di-
rectorio. Para ellos, dicho directorio serı́a el /”(la raı́z). Cualquier fichero o directorio que estarña
fuera del CHROOT les quedarı́a inaccesible.
chroot /milinux

6.-luego cargamos la configuracion del lilo


lilo

7.-salimos de chroot
exit

Por Paco Aldarias 17/449


Linux

8.-desmontamos la particion milinux


umount /milinux

9.-reiniciamos la computadora
reboot

y listo

3.6. Bibliografı́a
1. Descargar :
http://www.victoralonso.com/knoppix/index.htm

2. Instalando programas en Knoppix


http://bulma.net/body.phtml?nIdNoticia=2061

3. Para más detalles:


http://sindominio.net/quique/Traducciones/instalacion de knoppix en el disco duro.
html

4. Recuperación del sistema con Knoppix


http://www.esdebian.org/staticpages/index.php?page=20031210015423802

Por Paco Aldarias 18/449


Linux

Capı́tulo 4

Instalar linux desde disquete

4.1. Versiones
23.01.04 Versión Inicial.

4.2. Introducción
Hay ordenadores que no disponen de arranque desde cdrom.
Existe una forma de instalar linux debian y es arrancando desde disquete y prosiguiendo la ins-
talación desde cdrom.
Veamos la forma de hacerlo.
Requisitos:

1. Disponer del cd1 de instalación de debian.


2. Linux instalado.
3. Un disquete para instalar el arrancador.

4.3. Crear un disco arrancador del cd


Utilizaremos el ordenador que tiene linux.
Desde consola escribir:

dd if=/lector/install/sbm.bin of=/dev/fd0 bs=1024 conv=sync ; sync

Meteremos el disquete creado y el cd con debian, en el ordenador que queremos instalar linux, y
arrancamos la máquina.
Una vez arrancado con el disquete, debemos elegir que coja el cdrom con dispositivo de arran-
que.
Y ya podemos seguir con el proceso de instalación.

4.4. Hacer el disco de rescate


El disco de rescate es aquel que permite entrar en un linux instalado.

Por Paco Aldarias 19/449


Linux

Para ello debemos crearlo previamente.


Desde consola hacer:

dd if=/lector/install/rescue.bin of=/dev/fd0 bs=1024 conv=sync ; sync

Es necesario saber que partición tenemos linux instalado para poder indicarle que coja dicha
partición.
Una vez metido el disquete podremos entrar a linux, poniendo cuando aparezca boot:
rescue root=/dev/hda1
Siendo la primera partición la que dispone de linux.
Puede ocurrir que tengamos linux y windows y al reinstalar windows, perdamos el lilo. Para ello
una vez arrancado el sistema linux, con este disquete recuperaremos el lilo con:
lilo -v

Por Paco Aldarias 20/449


Linux

Capı́tulo 5

Crear un usuario en kde

5.1. Introducción
Vamos a ver como crear un usuario en kde y como configurarlo adecuadamente.

5.2. Crear el usuario


Entraremos al kde con un usuario conocido. Iremos al menú: Inicio- Sistema - Administra-
ción de usuarios.
Pondremos la contraseña de root.
Nota: Si no existe esta opcion en el menu, instalarlo desde consola como root:
apt-get install kuser
Iremos al menu: Usuario - Añadir.
Pondremos el nombre de nuestro usuario.
En insterprete de comando pondremos:
/bin/bash
Pincharemos en contraseña y le pondremos la contraseña.
Seguidamente antes de salir, iremos al menú: Archivo - Guardar.
Y ya podremos entrar con el nuevo usuario. Para ello iremos al menu:
Inicio - Terminar.
Al pedir de nuevo el usuario y contraseña, le pondremos la que hemos creado.

5.3. Configurar el usuario


La primera vez q entremos al usuario nuevo, nos pedirá, pais e idioma.
le pondremos España- Español. Al resto de preguntas le diremos, siguiente, y por último terminar.
Asumimos q estamos en kde 2.2. que viene con debian woody, para lo cual podremos configurar
lo siguiente:

Poner el idoma español en kde.


En kde 2.2: Ir al menu: Inicio: Centro de Control (Control Center) - Personalizacion (Perso-
nalization) - Pais e idioma (Country-Language).
En kde 3.1: Ir al menu: Inicio- Control Panel - Look-feel - Country Language-
Seleccionar Pais: España - Idioma Español.

Por Paco Aldarias 21/449


Linux

Poner teclado en castellano


En kde 2.2: Ir al menu: Inicio: Centro de Control (Control Center) Periféricos(Perfiferical) -
Teclado (Keyboard).

En kde 3.1: Ir al menu: inicio - Sistema - Panel de control - Periféricos - teclado.


Desactivar el idioma por defecto - Eleguir idioma español.
En avanzado: Eleguir iniciar con el teclado numérico.

Configurar la barra de Tareas, para q no agrupe ventajas,


Ir al menu: inicio - sistema - panel de control - Escritorio(Desktop) - Barra de tareas. Des-
activar - Agrupar tareas similares.

Configurar el konqueror.
Ir al menu: Preferencias - Configuración Konqueror.
Proxy: 192.168.100.2 Puerto:8080
Cookies: Aceptar todos.
Criptografı́a: Desactivamos el advertir al salir del modo ssl.
Navegación Java/Javascript: Lo activamos.

Por Paco Aldarias 22/449


Linux

Capı́tulo 6

Konqueror

6.1. Introducción
Konqueror es una Navegador web y un explorador de archivos (o también Administradores de
archivos).
Cambia el icono, según sea navegador y un explorador de archivos.
Similar al Administrador de archivos y al internet explorer en windows.
Los administradores de archivos han crecido para convertirse en herramientas multi-tarea, que
no sólo se ocupan de las tareas básicas tales como copiar y mover archivos de un lado a otro.

6.2. Acceder al konqueror


Puede acceder a su administrador de archivos haciendo clic sobre el icono Directorio Personal
de su escritorio o en el Menu Principal.

6.3. Ejercicio
Dada la figura 6.1 indicar lo que significa cada número.

1.
2.

3.

4.

5.

6.

7.

8.

9.

10.

Por Paco Aldarias 23/449


Linux

11.

12.

13.

14.

15.

16.

17.

18.

6.4. bibliografı́a
1. Konqueror en mandrake
http://doc.mandrakelinux.com/MandrakeLinux/90c/es/Starter.html/file-manager.html#
id2883366

Por Paco Aldarias 24/449


Linux

Figura 6.1: Konqueror

Por Paco Aldarias 25/449


Linux

Capı́tulo 7

El icono de la disquetera en kde

7.1. Teorı́a
Veamos como se accede a la disquetera, y como se pueden copiar ficheros. La disquetera en
linux es la carpeta /floppy El icono floppy permite acceder a ella. Para q linux pueda entrar a la
disquetera hay q montarla antes, y desmontarla cuando acabemos.

7.2. Práctica
Cuando entramos por primera vez a kde, no existe el icono. Veamos como se crea el icono Unidad
de diskette.
Crear el icono:

Pulsar el boton derecho sobre el escritorio, para sacar el menú contextual


Crear nuevo -Unidad de diskette - Dispositivo - Floppy
Aceptar

Darle permisos:

Pinchar con el boton derecho sobre el icono Unidad de diskette.


Propiedades - Permisos - Activar todos los permisos

Montar la disquetera:

Meter un disquete en la disquetera


Pinchar con el boton derecho sobre el icono Unidad de diskette.
Seleccionar montar

Ahora ya se puede entrar en la carpeta /floppy y veremos lo q hay en el disquete. El icono de


la disquetera aparece una luz verde, para indicar q esta montada. Si pinchamos sobre el icono
directamente montará y se abrira se abrirá el administrador de archivos, y mostrará el contenido
de la disquetera.
Desmontar la disquetera:

Pinchar con el boton derecho sobre el icono Unidad de diskette.

Por Paco Aldarias 26/449


Linux

Figura 7.1: Disquetera. Menu contextual

Seleccionar desmontar

Copiar un fichero a la disquetera:

Buscar el fichero q queremos copiar, pinchando en el konqueror saldrá nuestra carpeta.

Pinchar sobre el icono Unidad de diskette para abrir la disquetera.

Pinchar el fichero q queremos copiar y sin soltar arrastarlo a la ventana de la disquetera.

El paso contario sera arrastrar el fichero de la disqueta al destino que querramos.

7.3. Ejercicio
Crear el icono del cdrom, y copiar un archivo al disco duro.

Por Paco Aldarias 27/449


Linux

Capı́tulo 8

Como usar la disquetera y el cdrom


en consola

8.1. Teorı́a
Veamos como se accede a la disquetera o al cdrom desde consola, y como se pueden copiar
ficheros.
La disquetera en linux es la carpeta /floppy, y el cdrom cdrom.
Para q linux pueda entrar a la disquetera o al cdrom hay q montarla antes, y desmontarla cuando
acabemos.
La orden mount -t tipo /dev/xx /carpeta Monta el dispositivo /dev/XX en la carpeta indicada del
tipo indicado
La orden ls nos permite ver los ficheros de una carpeta
La orden df nos indica los dispositivos q tenemos montados y en que carpetas
La orden cp origen destino. Copia un fichero de origen en destino.

8.2. Práctica
Ir a la consola

8.2.1. Vamos a montar el disquete:


Meter un disquete.

Montar la disquetera:
mount /floppy

Comprobar que contiene el directorio /floppy:


ls -la /floppy

Ver que hay montado: df

Desmontar la disquetera: umount /floppy

Por Paco Aldarias 28/449


Linux

8.2.2. Vamos a montar el cdrom


Meter el cdrom

Montarlo: mount /cdrom

Comprobar que contiene: ls -la /cdrom


Ver que hay montado: df

Desmontar la disquetera: umount /cdrom

8.2.3. Vamos a copiar un fichero en el disquete:


Meter un disquete.

Montar la disquetera: mount /floppy

Comprobar que contiene: ls -la /floppy

Comprobar que la carpeta donde estais: ls -la

cp fichero /floppy
Siendo fichero un fichero de la carpeta donde estais.
Comprobar que se ha copiado: ls -la /floppy

Desmontar la disquetera: umount /floppy

8.3. Ejercicio
Copiar un fichero en el disco duro de la disquetera y del cdrom.

Por Paco Aldarias 29/449


Linux

Capı́tulo 9

Directorios

9.1. Teorı́a
Un directorio contiene fichero y más directorio
Ordenes de consola:

pwd: En que direcotio estamos


Por defecto el directorio del usuario x es \home \x \

ls [nombre directorio]. Lista un directoro


Opciones:

• ls -a
Saca lo oculto
• ls -l
Versión larga
• ls -la
Versión larga y oculto
• ls -d /bin /etc
Muestra esos directorios

cd [nombre directorio] : cambiar directorio


cd .. : sube un directorio
cd : va al directorio del usuario

mkdir [nombre directorio] : crear directorio

rmdir [nombre directorio] : borra directorio

Nota: rmdir sólo borra carpetas/directorios vacios. Es posible borrar un directorio y su contenido
con:
rm -r -f /dir.

Con kde usaremos el konqueror.

Vemos el directorio en el q estamos: En dirección

Crear directorio: Editar - Crear nuevo - Directorio

Borrar directorio: Boton direcho sobre el icono del directorio - Eliminar

Por Paco Aldarias 30/449


Linux

9.2. Práctica

9.2.1. Práctica desde consola

$ pwd Vemos en q directorio estamos


$ ls Vemos q contiene el directorio
$ mkdir prueba1 Crea el directorio prueba1
$ cd prueba1 Nos pasamos al directorio prueba1
$ mkdir prueba2 Crea el directorio prueba2 dentro de prueba1
$ mkdir prueba3 Crea el directorio prueba3 dentro de prueba1
$ ls -la Vemos q hemos creado los directorios
$ cd Vamos al directorio HOME del usuario
$ cd prueba1 Pasa al directorio prueba1
$ rmdir prueba2 Borramos prueba2
$ rmdir prueba3 Borramos prueba3
$ cd .. Subimos un directorio
$ rmdir prueba1 Borramos prueba1

9.3. Práctica
Crear esta estructura de directorios que cuelgen del usuario x: ( /home/x)

Figura 9.1: Esquema de directorios.

Hacerlo desde consola y desde konqueror.

Por Paco Aldarias 31/449


Linux

Capı́tulo 10

Ficheros

10.1. Teorı́a
Vamos a ver una serie de comandos básicos de usuario
Desde consola:

Crear fichero vacio: touch nombre fichero

Copiar el fichero origen en destino: cp origen destino

Cambiar el nombre del fichero origen por destino: mv origen destino

Borrar fichero: rm nombre fichero

En Konqueror:

Crear fichero vacio: Editar - Crear Nuevo - Archivo de texto

Copiar el fichero origen en destino. Aqui abrir la ventana origen y la ventana destino Pinchar
el origen y soltar en destino.

Mueve el nombre del fichero origen en destino: Pulsar el boton derecho sobre el nombre
del fichero Renombrar.

Borrar fichero: Pulsar el boton derecho sobre el nombre del fichero Borrar

10.2. Práctica
1. Abrir la consola.

2. Crea el fichero fich1:


touch fich1
3. Crea el directorio dir1:
mkdir dir1

4. Copia fich1 en dir1:


cp fich1 dir1/

5. Nos pasamos a dir1


cd dir1

Por Paco Aldarias 32/449


Linux

6. Copiamos fich1 en fich2


cp fich1 fich2

7. Vemos que hay en dir1:


ls -la

8. Cambiamos el nombre de fich2 a fich3:


mv fich2 fich3

9. Vemos que hay en dir1:


ls -la

10. Borramos fich3:


rm fich3

11. Sumimos un directorio:


cd ..

12. Borramos fich1 de dir1:


rm dir1/fich1

13. Borramos fich1:


rm fich1

14. Borramos dir1:


rmdir dir1

10.3. Ejercicios
Hacer desde consola y desde konqueror :

1. Crear los directorios dir2

2. Crear dentro del directorio dir2, los ficheros vacios: fich1,fich2

3. Copiar fich1 en fich2

4. Renombrar fich2 con fich3

5. Borrar fich1,fich3 y dir2

Por Paco Aldarias 33/449


Linux

Capı́tulo 11

Nombres y patrones

11.1. Teorı́a
Los nombres y patrones, también son llamados metacarácteres.
Equivalen a los comodines en msdos.
Permiten a los usuarios nombrar los archivos de forma abreviada y acceder a muchos en un sólo
comando.
?: Cuando el carácter es utilizado como parte de un archivo o directorio, la iterrogación sustituye
a un sólo caracter.
*: Cuando se utiliza como parte del nombre de un archivo o directorio, el asterisco sustituye a un
cualquier grupo de carácteres.
[ ]: Cuando se utiliza como parte del nombre de un archivo o directorio, representa una carácter
de los incluidos en la posición donde este. Se pueden poner rangos separados por un guión.
Cuando se utilizan comodines, hay que tener cuidado con la orden borrar ficheros o directorios.
Es aconsejable antes listar lo que se vaya a borrar.

11.2. Práctica
1. Abrir la consola
2. Crear los ficheros: y y1 y1a y1b z z1
touch y y1 y1a y1b z z1
3. Comprobar q se han creado:
ls z* y*
4. Listar todos los ficheros
ls
5. Listar los q empiezen por y:
ls y*
6. Listar los q emprizen por y y z:
ls [yz]*
7. Listar los q emprizen por y y la tercera letra sea una a:
ls y?a
8. Listar los q la segunda letra sea un 1
ls ?1*

Por Paco Aldarias 34/449


Linux

9. Borrar los ficheros q empiezen por z y por y


rm [zy]*

11.3. Ejercicios
1. Abrir la consola

2. Crear los ficheros antonio antonio1 antonio1a pepe

3. Listar todos los ficheros

4. Listar los ficheros q empiezen por antonio

5. Listar los fichero cuya primera letra sea a o p, y el resto lo q sea

6. Los ficheros q tengan una n en la segunda letra, una o en la cuarta letra y el resto lo q sea.

7. borrar los ficheros q empiezen por pepe o antonio

Por Paco Aldarias 35/449


Linux

Capı́tulo 12

Visualizar un fichero

12.1. Teoria
Desde consola podemos ver el contenido de un archivo de las siguientes formas:

cat archivo
Visualiza el archivo sin parar
less archivo
Visualiza el archivo parándose en cada página.

tail archivo
Visualiza el final del archivo.

more archivo
Visualiza el arhivo por páginas.

12.2. Desde konqueror


Abrir el konqueror

Pulsar el boton derecho sobre el archivo, elegimos abrir o bien directamente hacemos click
sobre el archivo.

12.3. Práctica
1. Entrar en la consola

2. Generamos un fichero q sea el contenido de la carpeta /etc y lo guardamos en etc.txt

ls -la /etc > etc.txt

3. Vemos el contenido de etc.txt sin parar


cat etc.txt

4. Vemos el contenido de etc.txt pantalla a pantalla


more etc.txt

Por Paco Aldarias 36/449


Linux

5. Vemos el final del contenido de etc.txt


tail etc.txt

6. Vemos el final del contenido de etc.txt moviendonos para arriba y abajo con las flechas.
less etc.txt

7. borra el fichero etc.txt


rm etc.txt

12.4. Ejercicio
1. Entrar en la consola

2. Generar un fichero q contenga el contenido de la carpeta /usr/games y lo guarde en ga-


mes.txt

3. Ver el contenido de games.txt sin parar

4. Ver el contenido de games.txt pantalla a pantalla

5. Vemos el final del contenido de games.txt

6. Vemos el final del contenido de games.txt moviendonos para arriba y abajo con las flechas.
less etc.txt

7. Borrar el fichero games.txt

Por Paco Aldarias 37/449


Linux

Capı́tulo 13

Enlaces

13.1. Teoria
Un enlace simbólico es una referencia a un elementos el cual puede ser: fichero o directorio.
En windows equivale a un acceso directo.
Un enlace no es una copia , sino una referencia a un elemento.

13.1.1. Desde consola

Sintásis: ln -s origen destino

13.1.2. Desde konqueror


Abrir el konqueror
Editar - Crear Nuevo - Enlace :
Dirección (Paginas web)
Apliacion.(Programas)

13.2. Práctica
Vamos a crear un fichero que contenga un texto, y después crearemos un enlace a ese fichero, y
veremos q realmente es lo mismo.

13.2.1. Desde consola


1. Entrar en la consola
2. Para crear un fichero q contenga el texto hola y llamarlo hola.txt escribir:
echo ”hola esto es lo q contengo)) hola.txt
3. Para crear un enlace al fihero llamado enlace escribir en consola
ln -s hola.txt h.txt
4. Para ver el directorio escribir en consola:
ls -l

Por Paco Aldarias 38/449


Linux

5. Para ver el contenido de hola escribir en consola:


cat hola.txt

6. Para ver el contenido de hola escribir en consola:


cat h.txt

7. Para borrar los ficheros hola.txt y h.txt escribir en consola:


rm hola.txt h.txt

13.2.2. Desde konqueror


1. Entrar en konqueror (archivos personales)

2. Menu - Editar - Crear nuevo - Archivo de texto


Poner como nombre: hola.txt

3. Boton derecho sobre el fichero hola.txt


Abrir con
(Elegir un editor de texto)

4. Con el editor escribir: hola esto es lo q contengo

5. Guardarlo como hola.txt

6. Entrar en konqueror (archivos personales) en otra ventana

7. Pinchar y arrastrar hola.txt de una ventana a otra-

8. Selecciona crear enlace y poner como nombre h.txt

9. Seleccionar hola.txt y h.txt y borrarlos.

13.3. Ejercicios
1. Crear un fichero llamada fichero.txt, que contenga el texto, .esto contiene mi fichero”, y
crear un enlace llamacdo enlace.txt, q apunte a fichero.txt. Borrar los ficheros fichero.txt y
enlace.txt

2. Crear un directorio llamado dir1, crear un enlace llamado enlace1 q apunte a dir1. Borrar
dir1 y enlace1.

Por Paco Aldarias 39/449


Linux

Capı́tulo 14

Búsquedas

14.1. Teoria
Vamos a ver como se pueden buscar ficheros.
Se puede buscar ficheros por su contenido o por su nombre.
Es importante aclarar que archivo y fichero es lo mismo. Y que directorio y carpeta es lo mismo.

14.1.1. Desde consola

Podremos buscar un fichero o directorio partir de una carpeta indicada asi:

find carpeta -name fichero

Podremos buscar un texto contenido en algún archivo, a partir de una carpeta asi:

grep -r -s texto carpeta

14.1.2. Desde konqueror

Utilizaremos el programa. Buscar Ficheros (kfind).


Ir a Inicio - Buscar Archivos.
Si no esta en el menu de inicio, debemos instalarlo con :
apt-get install kfind

14.2. Práctica

14.2.1. Desde consola


1. Entrar en la consola

2. Crear un fichero q contenga el texto hola y llamarlo hola.txt:


echo ”hola esto es lo q contengo)) hola.txt

Por Paco Aldarias 40/449


Linux

Figura 14.1: Buscar archivos

3. Buscar los ficheros q empiezen por hola, desde el directorio actual hacia a abajo.
find . -name ”hola”
Nota: El . indica directorio actual.
4. Buscar aquellos ficheros q contenga el texto hola, desde el directorio actual hacia a abajo.
grep -r -s ”hola”.
5. Borrar los ficheros hola.txt
rm hola.txt

14.2.2. Desde konqueror

Creamos un fichero con un texto:

1. Entrar con konqueror en vuestro home


2. Menu - Editar - Crear nuevo - Archivo de texto
Poner como nombre: hola.txt
3. Boton derecho sobre el fichero hola.txt
Abrir con
(Elegir un editor de texto)
4. Con el editor escribir:
hola esto es lo q contengo
5. Guardarlo como hola.txt

Buscamos los ficheros q se llamen hola

1. Entrar en Buscar ficheros:


Inicio - Buscar Ficheros
2. En Nombre - Denominado poner:
hola*
3. Pulsar el boton :
Encontrar

Por Paco Aldarias 41/449


Linux

4. Salir con el boton:


Cerrar

Buscamos los ficheros q contenga el texto hola

1. Entrar en kfind:
Inicio - Buscar fichero

2. En Nombre - Avanzado - Conteniendo el texto poner :


hola

3. Pulsar el botón:
Encontrar

4. Salir con el boton:


Cerrar

5. Borarremos el fichero hola.txt Abrir el konqueror:


Seleccionar el fichero hola.txt con CONTROL + CLICK DEL RATON
Pulsar la tecla : SUPR

14.3. Ejercicio
Desde consola:
Crear un fichero llamada fichero.txt, que contenga el texto, .esto contiene mi fichero”
Buscar ese fichero.
Bucar el fichero que contenga algo del texto que se le puso
Borrar el ficheros fichero.txt.

Por Paco Aldarias 42/449


Linux

Capı́tulo 15

Permisos

15.1. Introducción
Un fichero es el lugar donde se guarda la información. Un sistema de ficheros es un conjunto de
ficheros y directorios. Linux es el sistema con mayor seguridad debido a su sistema de ficheros.
El linux (Unix) considera un fichero como cualquier cosa instalada, aquı́ se incluye teclado, termi-
nal, cdrom, disquetera, carpetas remotas,etc.

15.2. Propietarios y permisos de los ficheros


Esta caracterı́stica refleja el carácter multiusuario.
Permite proteger la información de usuario del resto.
Un usuario sólo puede acceder a los ficheros q el es propietario y según los permisos q posea.
Desde consola hacemos:
$ ls -l
Nos aparecen cosas asi:

drwxr-x–x 5 jose alumnos 5000 Oct 30 13:47 cartas

Veamos q es numerádolo:
drwxr-x–x(1) 5(2) jose(3) alumnos(4) 5000(5) Oct 30 13:47(6) cartas(7)
Indican:

1. Indica si es fichero o directorio y sus permisos.


Si al principio hay :
-Una d es un directorio.
-Una - es un fichero.
2. Si es un fichero es el número de enlaces.
Si es un directorio el número de subdirectorios.
3. Propietario
4. Grupo
5. Tamaño en bytes.
6. Fecha de creación o última actualización.
7. Nombre del fichero o directorio.

Por Paco Aldarias 43/449


Linux

15.3. Permisos
Permisos para ficheros normales:

Escritura (w). Es posible modificarlo o borrarlo.


Lectura (r). Es posible leer el contenido.
Ejecución (x). Se puede ejecutar.

Permisos para directorios:

Escritura (w). Es posible crear crear ficheros y directorios en su interior. También es posible
borrarlo los ficheros contenidos en él. El propietario de un directorio, siempre podr borrar
los archivos contenidos en él, aunque sean de otro usuario.
Lectura (r). Permite listar su contenido pero no permite entrar.
Ejecución (x). Permite el acceso a directorios.

En general, se da permiso de ejecución y lectura, cuando se quiera autorizar el acceso, y ninguno


cuando se quiera denegar.

Si no se tiene el permiso necesario para realizar alguna acción, sale el mensaje de error:
”Permission denied”

Que permisos representa esto?


-rwxr-xr-x

Son 10 caracteres:
-rwxr-xr-x
0123456789

Veamos q significan:
0: Fichero/Directorio
123: Propietario tiene rwx
456: Grupo tiene r - x
789: Otros tiene r - x

Cuando se deniega un permiso aparece un guión.

Ejercicio. Indicar su significado:

1. d r w x r - x - - x 1 scout staff 5000 Oct 30 13:47 scout


2. - r w x r - - - - - 2 brigitte webs 3000 Oct 30 13:50 util.c
3. - r w x - - x - - - 1 root admin 2000 Oct 30 13:51 conecta

15.4. Modificar permisos: chmod


La forma general es:

Por Paco Aldarias 44/449


Linux

chmod ugoa+-=rwxugo fichero

Siendo:

u : propietario
g : grupo
o : otros (ni propietario, ni el grupo)
a : todos
+ : añade permisos
- : quita permisos
= : iguala el nivel de permisos a los del grupo
r : permiso de lectura
w : permiso de escritura
x : permiso de ejecución

El atributo +x equivale a a+x


Ejemplos:

1. chmod og-r fichero.c


Quitamos el permiso de lectura a otros y grupo.
2. chmod +x prog
Damos permiso de ejecución a todos los usuarios.

Ejercicios:

1. Crear una carpeta llamada prueba. Y hacer q puedan guardar cosas todos los usuarios del
grupo, Y que no puedan guardar el resto de los usuarios.
2. Cambiar los permisos de la carpeta prueba, q puedan guardar todos los usuarios.
3. Crear una carpeta q el grupos de usuarios pueda entrar dentro de la carpeta, y el resto de
usuarios solo puedan listar su contenido.

15.5. Cambiar grupo: chgrp


Un usuario puede pertenecer a más de un grupo de usuarios. De este modo los usuarios de un
grupo pueden tener acceso a ciertos ficheros.
Su forma general es:

chgrp grupo fichero

Esto permite cambiar el grupo de usuarios a un fichero.


Ejemplo:
$ chgrp prog tabla.c (cambiamos el grupo a prog, del fichero tabla.c)
$ chmod g+r tabla.c (cambiamos el los permisos del grupo para q sea r)
$ ls -l tabla.c (vemos como ha quedado)

Sólo podremos cambiar el grupo de un fichero si somos el propietario de un fichero y miembros


del grupo al que queremos asignarlo.

Por Paco Aldarias 45/449


Linux

15.6. Cambiar propietario y el grupo de un fichero: chown


Forma general:

chown usuario[.grupo] fichero

Podemos ver los grupos existentes siguiendo estos pasos:


su -
cat /etc/group
exit

Ejemplo. Hacemos q fihero.txt tenga como propietario alumno y como grupo 1bach:
chown alumno.1bach fichero.txt
Serı́a equivalente poner:
chgrp 1bach fichero.txt
a:
chown .1bach fichero.txt

IMPORTANTE:
Sólo el usuario root puede cambiar el propietario de un fichero

Ejemplo:

1. Creamos el fichero fichero1:


touch fichero1.txt

2. Comprobamos quien en el usuario y el grupo:


ls -la fichero1.txt

3. Pasamos a ser el usuario root:


su -

4. Cambiamos del fichero1, q tenga como propietario grupo2, y grupo grupo3.


chown grupo2.grupo3 fichero1

5. borramos fichero1:
rm fichero1

6. Para salir de root:


exit o (también CTRL+D)

Ejercicios:

1. Crear un fichero vacio llamado fichero2

2. Cambiar el usuario y grupo de fichero2 para q sea de otro grupo.

3. Borrar el fichero2

15.7. Máscara de permisos: chmod


Su forma general es:

chmod mascara-octal fichero

Por Paco Aldarias 46/449


Linux

Siendo mascara tres números, correspondientes al propietario, grupo y otros.


Siendo:
usuario grupo otros
rwxrwxrwx
421421421

Ejemplo
chmod 763 fichero1
usuario= 7 = 4 + 2 + 1 = rwx
grupo = 6 = 4 + 2 = rw-
otros = 3 = 2 + 1 = -wx
Quedando los permisos como: r w x r w – w x

Ejercicios. Indicar q máscara tendrá:

1. 4 5 1
2. 2 3 0
3. 4 8 5
4. r - x - - - r w x
5. - w x - - - - w x
6. r w x - - - r - x

Se debe considerar, que chmod puede usarse sin máscara o con máscara. Con máscara es más
rápido.
Ejemplo.
Para el fichero3,
con estos permisos: - r w x r - x r - x
queremos q tenga estos: - r w x - w - - - -
Quitar permisos de r y x a otros y al grupo.
Dar permisos de escritura al grupo.

Seria sin máscara:


chmod og-rx fichero3
chmod g+w fichero3

Seria con máscara:


chmod 720 fichero3
Ejercicios:

1. Crear un fichero con: touch fichero2.txt


Cambiarle los permisos para q tenga: r - - - - - - - -
Borrar el fichero.
2. Crear el directorio: mkdir dir1
Cambiarle los permisos para q tengan: r w x r - - - - -
Borrar el directorio.

15.8. Permisos por defecto: umask


Su forma general es:

Por Paco Aldarias 47/449


Linux

umask mascara

Para determinar q permisos se otorgan por defecto, se restara el número 6 de cada uno de los
dı́gitos de la máscara para saber que permisos se dan a los ficheros normales y el 7 para los
directorios.
Ejemplo.
Por defecto, se usa: umask 022 corresponde 644 a los ficheros, y 755 para los directorios.
La máscara indica qué permisos no se dan. Ası́ el 0, indica q se otorgan todos los permisos al
propietario del fichero ( es decir, lectura y escritura, y de acceso y escritura para directorios).
Si se desea suprimir el acceso a nuestros ficheros al resto de usuarios, hariamos
umask 077
Por defecto los ficheros se crean con la mascara 644 y los directorios con 755.
La cifra 7 es esas posiciones indica q ni los miembros del grupo ni el resto de usuarios tendr n
ningun permiso sobre los ficheros q creemmos desde q ejecutemos el comando umask.
La máscara se respeta si utilizamos el comando chmod, sin asignar los permisos a ningún usua-
rio. Es decir, el comando chmod +x , sólo otorgaria permisos de ejecución al propietario del
fichero en el caso de q la mascara fuera 077.
Si se desea utilizar una máscara, se debera situar el comando umask en los ficheros q definen el
entorno del usuario al iniciar la sesión (como .bashrc, .profile,..)

15.9. Enlaces a ficheros: ln


Los enlaces se utilizan para poder situar un mismo fichero en diferentes directorios o poder
otorgarle diferentes nombres. sin q exista, en realidad, más q un único fichero.
Los enlaces son entradas en un directorio q apuntan a otro fichero.
Un uso habitual de los enlaces es el mantener varias versiones de un mismo programa. Por
ejemplo, supongamos q tenemos dos versiones del programa tostador, llamadas tostador-1.0 y
tostador-1.3. Queremos utilizar tostador-1.0. Para q al escribir tostador, se ejecute la versión 1.0,
haremos un enlace de forma q tostador apunte a tostador-1.0, y sea ese el programa q se ejecute.
Para crear enlaces se utiliza en comando ln, asi:

ln -s fichero-origen fichero-enlace

Ejemplo: ln -s tostador-1.0 tostador


Veamos como queda el enlace:
$ls -l tostador*
lrwxrwxrwx 1 root 12 31 Oct 19:26 tostador -¿tostador-1.0
-rwxrwxrwx 1 root 1000 15 Oct 19:26 tostador-1.0
-rwxrwxrwx 1 root 1000 30 Oct 19:26 tostador-1.3

Podemos ver q tostador apunta a tostador-1.0. También podemos ver q en el campo de permisos
aparece una l (link)
Los permisos de enlace no significan nada, ya q siempre son los permisos del fichero q apunta.
Un enlace se borra de la misma forma q un fichero normal, es decir, con rm
Estos enlaces se llama simbólicos (simbolic links), de ahi q tegan q crearse con el parámetros -s.
Los enlaces también pueden apuntar a directorios.

Por Paco Aldarias 48/449


Linux

15.10. El bit set uid


chown postgres archivo.sh
chmod a+s archivo.sh
De modo que al ejecutar cualquier usuario dicho script lo hará usando la id efectiva de postgres.

15.11. Bibliografı́a
1. Cesar Martı́n Pérex. Linux. Guia Práctica.Editorial Anaya. 1998.

Por Paco Aldarias 49/449


Linux

Capı́tulo 16

Gestión de procesos

16.1. Introducción
Vamos a ver como se puede gestionar los procesos. Un proceso es un programa en ejecución.
Los procesos tiene propietario, y sólo root puede matar todos los procesos en ejecución. Un
usuario sólo puede matar sus procesos.

16.2. Desde consola


Para ver los procesos en ejecución:
ps -aux
Se puede ver q la segunda columna el número de proceso.

Para matar un proceso:


kill num
Siendo num el numero de proceso que aparece en ps.

Práctica;
Abrir el konqueror, y matarlo.

16.2.1. Ir a la consola con el kde bloqueado

Pulsar CTRL+F2.
Poner tu usuario y contraseña. Y ya puedes matar el proceso q bloqueta el kde.
Para volver a kde, pulsar: F7

16.3. Desde kde


Ir al menú: Inicio - Sistema - Guardia del sistema

Para ver los procesos:

Por Paco Aldarias 50/449


Linux

En lista de procesos se ven q cosas hay en marcha.

Para matar un proceso:


Seleccionar con el ratón el proceso y pulsar el boton matar.

16.4. Matar todos los procesos de un usuario


La orden es:
pkill -U nombreusuario

16.5. Ver el arbol de procesos


La orden es:
pstree

Para mostrar el pid:


pstree -p

Para mostrar los procesos de un usuario:


pstree usuario

16.6. Dar prioridad a un proceso


nice -n 19 programa
Por defecto es 10.
El rango es de -20 (la más alta prioridad) a 19 (la más baja).

16.7. Guardian del sistema


Permite monitorizar el sistema. Se pueder ver : la memoria ram, la memoria swap, el consumo
de cpu, la lista de procesos con su consumo de cpu y ram.

16.7.1. Ver la velocidad de la conexión

Crearemos un nuevo elemento, en donde tendremos:

Casilla 1: Grafica de bytes de recepción y envio,

Casilla 2: Valor bytes recibidos

Casilla 3: Valor bytes de enviados.

Ir al menú: Inicio - Sistema - Guardia del sistema


Añadir - 1 fila x 3 columnas. Pinchar y arrastrar en cada casilla,

Por Paco Aldarias 51/449


Linux

Práctica. Crear un nuevo elemento en el guardian del sistema que permite ver la velocidad de
conexion de la tarjeta de red.

Por Paco Aldarias 52/449


Linux

Parte II

Varios

Por Paco Aldarias 53/449


Linux

Capı́tulo 17

Diccionario RAE

17.1. Introducción
Vamos a ver la forma rápida de acceder al Diccionario de la Real Academia de la lengua: DRAE
Lo veremos tres navegadores.

17.2. El Diccionario de la Real Academia de la lengua: DRAE


El DRAE tiene una página web q permite buscar el significado de las palabras.
Para sacar la definición de casa serı́a: // http://buscon.rae.es/draeI/SrvltGUIBusUsual?
TIPO HTML=2&LEMA=casa
Veamos la forma rapida de poder acceder a esta página rápidamente con una palabra.

17.3. Con el navegador Konqueror versión 2.2.2 en español.


Los pasos son:

1. Ir al Menú: Opciones - Configurar Konqueror - Navegación Mejorada - Añadir

2. Rellenar esto:
Buscar nombre de proveedor : rae
Buscar URL:

http://buscon.rae.es/draeI/SrvltGUIBusUsual?TIPO_HTML=2&LEMA=\1

Accesos Rápidos a Url: rae


Y aceptar.
Nota: Como se aprecia la palábra a buscar se identifica con

\1
3. Ahora probaremos q funciona, iremos al navegador y escribir en dirección:
rae:casa

Recordar q para google es:


gg: casa

Por Paco Aldarias 54/449


Linux

17.4. Con el navegador Konqueror 3.1


Para Konqueror versión 3.1 en español.
Los pasos son:

1. Ir al Menú: Preferencia - Configurar Konqueror - Accesos Rápidos para web - Añadir

2. Rellenar esto:
Search Provide Name : drae
Url de busqueda:

http://buscon.rae.es/draeI/SrvltGUIBusUsual\?TIPO_HTML=2&LEMA=\{\@}

Por Paco Aldarias 55/449


Linux

Capı́tulo 18

Mesajeria Instantanea: Msn

18.1. Versión
10.10.4. Instalación de gaim 0.74 en woody.

18.2. Introducción
La mensajeria instantánea permiten:

1. chatear en tiempo real


2. saber si algiense conecta a internet.
3. enviar/recibir archivos
4. saber si tenemos email en la cuenta asociada

Existen varios tipos(o protocolos), los mas importantes son:

1. Msn
2. Yahoo
3. icq

Programas en linux:

1. gaim. Es multiprotocolo. Permite msn, icq, yahoo, etc.


2. amsn. Sólo Msn
3. licq. Sólo icq

18.3. El protocolo MSN con Gaim


1. Debian sid apt-get install gaim
2. Ponerlo en marcha:
Desde consola y como usuario normal poner:
$ gaim &

Por Paco Aldarias 56/449


Linux

3. Configuración : Cargar el protocolo


Ir a Plug-Ins - Cargar (Load)
Seleccionar libmsn.so

4. Poner nuestro usuario:


Ir a Cuentas (Accounts)
Añadir (Add). Y rellenar vuestros datos:
Nombre del usuario: pepito@hotmail.com (Tu email)
Contraseña: Dejarla vacia
Alias: Pepito Garcia (Aqui se poner el apellido)
Protocolo: MSN
Recordar contraseña: Dejarla vacia
Autoconectarse: Activado
El resto dejarlo como esta

18.4. Instalación de gaim 0.74 en sid


apt-get install gaim

18.5. Instalación de gaim 0.74 en woody


Esta versión soporta el nuevo Messanger de Win.
Ir a la web:
http://www.backports.org/debian/dists/woody/gaim/binary-i386/
Bajarse los archivos:

gaim_0.70-1.backports.org.1_i386.deb
libgnutls7_0.8.9-1.backports.org.1_i386.deb
gnutls-bin_0.8.9-1.backports.org.1_i386.deb
libopencdk4_0.4.2-2.backports.org.1_i386.deb
libtasn1-0_0.1.2-0.backports.org.1_i386.deb
libgcrypt1_1.1.12-2.backports.org.1_i386.deb
libtasn1-dev_0.1.2-0.backports.org.1_i386.deb

Instalarlos:

dpkg -i
gaim_0.70-1.backports.org.1_i386.deb \
libgnutls7_0.8.9-1.backports.org.1_i386.deb \
gnutls-bin_0.8.9-1.backports.org.1_i386.deb \
libopencdk4_0.4.2-2.backports.org.1_i386.deb \
libtasn1-0_0.1.2-0.backports.org.1_i386.deb \
libgcrypt1_1.1.12-2.backports.org.1_i386.deb \
libtasn1-dev_0.1.2-0.backports.org.1_i386.deb

Por Paco Aldarias 57/449


Linux

Capı́tulo 19

Manuales

19.1. Introducción
En linux se dice que no hacen falta libros, porque existe una enorme cantidad de información en
internet. La comunidad de usuarios linux, es muy abierta para ayudarte siempre q lo necesites,
pero hay q saber donde buscar y donde preguntar.

19.2. Los libros


Se puede encontrar bibliografias de libros en:

http://escomposlinux.org/libros/
http://www.amazon.com

19.3. Manuales
Se puede encontrar en buscadores en:

http://buscadoc.ods.org
http://www.google.com/linux
http://www.google.com

Se puede encontrar manuales en:

http://www.escomposlinux.org
http://www.linux-es.com
http://www.insflug.org
http://www.bulmanlug.org
http://www.tldp.org

Se puede encontrar manuales oficiales:

http://www.debian.org

Por Paco Aldarias 58/449


Linux

http://www.redhat.com

http://www.suse.de

http://www.mandrake.com

19.4. News
Se puede encontrar en internet:

http://groups.google.com/groups?hl=es&group=es.comp.os.linux

Se puede encontrar en un cliente de news en es.comp.os.linux, los grupos:

es.comp.os.linux.instalacion

es.comp.os.linux.misc

es.comp.os.linux.programacion

es.comp.os.linux.redes

Aqui se explican las normas de es.comp.os.linux:


http://www.escomposlinux.org/grupos/consejos.php

19.5. Chats
Se puede encontrar en estos servidores:

irc.escomposlinux.org
Canales: #escomposlinux

libres.irc-hispano.org
Canales: #linux,#debian

19.6. Manuales en nuestro pc


Nos podemos instalar los manuales llamados man, con:
apt-get install manpages-es manpages-es-extra manpages

Se puede ver información de programas en:

Desde consola:
man programa

Desde konqueror:
man:programa

Por Paco Aldarias 59/449


Linux

Capı́tulo 20

Software para Ofimática

20.1. Introducción
Linux tiene cualquier tipo de software ofimático, además de otras utilidades. Citaremos los más
importantes y por orden de mejor a peor.

20.2. Notas
Entorno gráfico.

kjots. KJots dispone de dos elementos básicos para organizar sus notas: libros y páginas.
Kde.

20.3. Biblioteca
Entorno gráfico.

bookcase. Gestión de biblioteca.

20.4. Autoedición
Entorno gráfico.

scribus. Programa de autoedición. Similar a Pagemaker. Ver figura 20.1


http://web2.altmuehlnet.de/fschmid/about.html

20.5. Mapas del mundo


Entorno gráfico.

xrmap
Permite ver la bola del mundo e ir acercandose.
Contiene informacion completade cada lugar y pais. Bandera, hora local, etc.

Por Paco Aldarias 60/449


Linux

Figura 20.1: Imagen de scribus

Web Oficial: http://frmas.free.fr/li 1.htm# Xrmap

Hay que bajarse los ficheros:


xrmap-2.10.tgz : programa
CIA WDB2.jpd.bz2 : mapas de todo menos europa.
eawpats12.tar.bz2 : mapas de europa
Los mapas e información del pais son de la CIA.
Ver figura: 20.2

sunclock
Permite ver la bola del mundo segun la hora, para saber donde hay sol o no.
Se instala con:
apt-get install sunclock

20.6. Ocio
apt-get install kworldclock kmoon amor kteatime ktuberling
Entorno gráfico.

kworldclock
Indica la hora de una ciudad

kmoon
Nos indica la fase de la luna.

Por Paco Aldarias 61/449


Linux

Figura 20.2: xrmap

ktuberling
Sale una patata que hay q ponerle la cara de un hombre.

20.7. Utilidades
apt-get install karm kfloppy ding kcharselect kuser kcron kdf
Entorno gráfico.

karm
Cronometro personal. Permite seguir tiempos.

kfloppy
Permite formatear diskettes

ding
Diccionario de inglés.

20.8. Hacer presentaciones


Entorno gráfico.

mgp. MagicPoint
Permite crear presentaciones o transparencias. Similar a powerpoint

Por Paco Aldarias 62/449


Linux

Web Oficial: http://www.mew.org/mgp/


Ejemplo: http://pedroreina.org/curso/inforensino2002/

Una vez instalado se puede pone en marcha asi:

mgp -o /usr/share/doc/mgp/examples/tutorial.mgp

Si queremos que otras maquinas vean lo q tenemos en nuestro monitor: En nuestra consola
poner:

mgpnet -g 640x480 /usr/share/doc/mgp/examples/tutorial.mgp

En el resto de pcs poner en el navegador:

http:\\x.x.x.x:9999 siendo x.x.x.x la ip de nuestro pc

20.9. Copias de seguridad


Entorno consola

partition image. Permite copiar particiones

Instalación:
apt-get install partimage

Web Oficial: http://www.partimage.org/

20.10. Gestor de Proyector


Entorno gráfico.

mrproyect.
Esta en español. Permite cuentas de activo, pasivo, balances, soporte del euro.
http://mrproject.codefactory.se/

20.11. Gestor Financiero


Entorno gráfico.

gnucash. Permite llevar una contabilidad


Esta en español. Permite cuentas de activo, pasivo, balances, soporte del euro.
Web: http://www.gnucash.org
Manual del usuario de Gnucash: http://www.gnucash.org/docs/es/

20.12. Albunes de Fotos


Consola

Por Paco Aldarias 63/449


Linux

jigl
Genera albunes de fotos en html, usando perl.
Da información de las fotos.
Web: http://xome.net/projects/jigl/
Fichero a bajar: http://xome.net/projects/jigl/jigl-2.0.1.tar.gz
Poner la fotos en una carpeta, y dentro de ella, desde consola ejecutar: jigl.pl

igal
Genera albunes de fotos en html, usando perl.

Ponerse en la carpeta de las fotos y poner:


igal
Despues abrir el fichero:
index.html

Web: http://www.stanford.edu/∼epop/igal
Instalarlo con: apt-get install igal

bins
Genera albunes de fotos en html, usando xml.

Ponerse en la carpeta de las fotos y poner:


bins . .
Despues abrir el fichero:
index.html

Web: http://jsautret.free.fr/BINS/intro.html

gallery

Genera albunes de fotos en html.


Requiere instalar apache y mysql.
Permite búsquedas por texto, subir fotos, control de usuarios, visualización automatica pa-
sando de foto en foto

Permite entrar al albun poniendo:


http://127.0.0.1/gallery

Web: http://gallery.sourceforge.net

20.13. Juegos
Entorno gráfico.

frozen-buble - Juego de bolas


Web: http://www.frozen-bubble.org//

freecraft - Juego de estrategia en tiempo real, similiar al worldcraft


Web: http://www.freecraft.org/

chromium. Naves spaciales


Web: http://www.reptilelabour.com/software/chromium/

Por Paco Aldarias 64/449


Linux

xgalaga. Naves al estilo de los 80.


Instalarlo con: apt-get install xgalaga

20.14. Catalogador de cds


Entorno gráfico.

GTKtalog. Catalogador de cds.


GTKtalog es una herramienta para hacer catálogos en disco: usted puede usarlo para crear
una base de datos realmente pequeña con la información de los archivos y directorios de
sus CDs.

Web: http://www.nongnu.org/gtktalog/gtktalog.es.html
Mp3kult. Programa que cataloga los ficheros mp3, para ellos usa mysql.

20.15. Agendas de tareas


Entorno gráfico.

korganizer. Agenda electrónica.

20.16. Paquetes Ofimáticos.


Entorno Gráfico . Compatible con ficheros de Microsoft. Todos tienen procesador de texto, hoja
de cálculo, base de datos, presentaciónes.

Open Office.
Koffice
Star Office.

20.17. Editores de texto


Permite cambiar el texto contenido en un fichero.
Modo Consola:

nano
vim
vi
emacs

Modo Gráfico.

kate
kedit
gedit
kwrite

Por Paco Aldarias 65/449


Linux

20.18. Mensajeria instantánea


gaim. Permite yahoo, msn, icq, etc.

amsn. Solo msn.

licq. Sólo icq.

20.19. Chat
Xchat:
http://www.xchat.org/

kvirc

20.20. Navegadores www


Konqueror
Nota: Para poder entrar en páginas seguras (https),hay q instalar el paquete kdebase-
crypto, que es soporte SSL para KDE.
Mozilla

Netscape 4.77

Netscape 6

Opera

Galeon

20.21. Clientes de correo electrónico


Gráficos:

Kmail

Mozilla

Netscape 4.77

Evolution

20.22. Clientes de news


Knode

Pan

Desde consola:

Por Paco Aldarias 66/449


Linux

20.23. Clientes de correo


Pine

Mutt

20.24. Clientes de news para binarios


Consola

brag.

Para ver los grupos:

brag -s servidor_de_news -L > grupos.txt

Para bajarse:

brag -c -s servidor_de_news -g grupo.de.news -o /carpeta_destino -a "*.jpg" -t 4

20.25. Diseño de Páginas Web


Wysiwing:

Mozilla

Netscape 4.77, Netscape 6

Html:

Bluefish. Muy completo.

Quanta. Muy completo

Glimmer. Permite resalta la sintasis.

20.26. Clientes de grupo de noticias


Knode

Mozilla (similar a Netscape 6)

Netscape 4.77

Netscape 6

20.27. Diccionario Monoligue de Inglés


Kdict. Se conecta con varias bases de datos por internet, y muestra su definición.

Por Paco Aldarias 67/449


Linux

20.28. Diccionario bilingue de Inglés-Español


Wordtrans. Permite traducir palabras de inglés a español y de español a ingles. También
permite más idiomas.

wortrans.html
i2c. Similar a wordtrans pero para entorno X

20.29. Thesauro - Sinónimos en Inglés


KThesaurus. Lista palabras relacionadas en Inglés.

20.30. Bajarse ficheros en barias sesiones: Downloaders


Modo gráfico

kget. Permite abrir el fichero una vez descargado.


Nt (Webdownloader). Permite control del ancho de banda.
Porzgui. Permite multiples canales para descarga.

Modo consola

wget. Permite bajar paginas enteras y bajar ficheros.

20.31. Clientes ftp


Modo gráfico

gftp. Permite comparar carpetas y actualizar solo los cambios.


kbear. Permite ftp y ssh.

Modo consola

ncftp. Muy completo


ftp. El básico.

20.32. Visores de imágenes


Modo gráfico

Gtksee
Gqview
kview

Modo consola

zgv

Por Paco Aldarias 68/449


Linux

20.33. Manipulación de imágenes


Modo gráfico:

gimp. Programa de dibujo comparable con Photoshop.

eeyes. The Electric Eyes graphics viewer/editor.

sketch. Pogramas de dibujo vectorial, comparable a Illustrator, Freehand, o Corel Draw.


http://es.tldp.org/LinuxFocus/pub/mirror/LinuxFocus/Castellano/November1999/article120.
html

20.34. Modelador de escenas


Modo gráfico

kpovmodeler. Esta en español. Muy completo. Permite generar imágenes en 3d. Requiere
instalar el paquete povray.

20.35. Consulta online del cambio de monedas


Modo gráfico

kexchange

http://www.favorin.com/projects/kexchange/
Ver figura 20.3
Para debian woody:
Bajar las fuentes he instalar:
apt-get install openc++ make gcc ncurses-bin libncurses5-dev zlibc zlib1g-dev xlibs-dev
libqt-mt-dev libkonq-dev
Para debian sid:
apt-get install kdelibs4-dev

./configure --with-qt-dir=/usr/share/qt3/
make
make install

20.36. Reproductores de Video


Modo gráfico

xine.Permite reproducir dvd, Muy bueno.

mplayer

xmovie. Permite ir frame a frame

Realplayer

Por Paco Aldarias 69/449


Linux

Figura 20.3: Imagen de kexchange

Aviplay
Noatun. Reprodutor sencillo de video. Permite repetición, aleatorio. Varios tamaños de ima-
gen. Permite ver la duración. Esta integado en kde.
Realplayer. Idel para escuchar canales de tv por la red.

Formato asf mpeg avi ram


xine si si
xmovie si
noatun si
realplayer si
mplayer si si si

Cuadro 20.1: Reprodutores de video

Nota: Es equivalente estas extensiones: mpg, mpe, mpeg.


Para el control de volumen se puede usar: kmix

20.37. Reproductores de Audio


Modo gráfico

xmms. Similar a winamp.

Modo consola

Por Paco Aldarias 70/449


Linux

mpg123

20.38. Manipulación del audio


Modo gráfico:

audacity

20.39. Visores de ficheros pdf.


Modo gráfico

Acroread. Acrobat reader para linux.


Permite usar los enlaces. Tiene un indice lateral.

Xpdf.
Permite usar los enlaces. Busqueda y seleccion de palabras.

Kghostview.
No permite usar los enlaces.

Acroread xpdf kghostview


Van lo enlaces si si
Seleccion de texto ai si
Busqueda de texto si si
Refresco no si
Indice Lateral si no si

Cuadro 20.2: Lectores de pdf

Para imprimir, lo más facil es poner como impresora: kprinter

20.40. Escuchar la radio


Modo gráfico

Realplayer. (Para linux).

Mplayer.

20.41. Control del audio


Modo gráfico

kdemultimedia. Utilidades para control del audio, reproducción de cds de audio.

Por Paco Aldarias 71/449


Linux

20.42. Bajarse canciones, programas,...


Modo gráfico

Lopster. Control de velocidad. Estadisticas. Completisimo.

lmule
http://www.zonap2p.com/

gnutella

edonkey
http://personal.able.es/ensoriano/Edonkey en Linux HowTo.html

Knapster

20.43. Envio de mensajes a móviles


Consola:

linuxsms

20.44. Formatear diskettes


Gráfico:

kfloppy. Permite formatear disquettes para msdos y linux.

20.45. Entornos de programación


Gráfico:

Anjuta. Entorno de programación en C/C++, muy completo


http://www.anjuta.org/
glimmer. Entorno de programación con multiples ventanas. Soporta Latex.

xwpe. Consume pocos recursos. Entorno de programación para consola y gráfico. Progra-
mación en C.

Kdevelop. Entorno de programación en C, muy completo

20.46. Ajedrez
Consola:

gnu-chess

crafty

Gráfico:

Por Paco Aldarias 72/449


Linux

xboard
eboard
gnu-chess
kchess
knight
JChessBoard
gnome-chess

Ajedrez en Internet:

http://diariolinux.com/phorum/list.php?f=11&spag=4
http://www.freechess.org/

20.47. Utilidades de disco


Entorno gráfico.

kdf (Kdisk Free). Informa del espacio libre en disco

20.48. Utilidades del sistema


Permiten saber el consumo de cpu, de memoria.
Entorno gráfico.

ksysguard
gkrellm

20.49. Saber el tiempo, temperatura de tu localidad


Entorno gráfico.

kweather.

Aquı́ se explica como funciona:


http://bulmalug.net/body.phtml?nIdNoticia=1540
Aqui están los códigos de localidades:
http://www.nws.noaa.gov/tg/siteloc.shtml
Nota: Valencia es el codigo LEVC

20.50. Planificación de proyectos


Entorno gráfico.

mrproyect

Por Paco Aldarias 73/449


Linux

20.51. Mensajeria instantanea


Envio de mensajes cortos en red.

linpopup. Entorno gráfico


Permite enviar mensajes entre pcs. Compatible con winpopup de windows

talk. Consola.
Permite conversacion en tiempo real. Divide la pantala en dos partes donde se ve lo q
escribe cada interlocutor. Hay q instalar talkd en cada pc, que es servidor. Se conecta
poniendo:
talk usuario@ipdestino

jabber. Gráfico. Similar a msn.

20.52. Astronomia
Entorno gráfico.

kstars. Permite ver el cielo con sus estrellas.

20.53. Quı́mica
Entorno gráfico.

kalzium. Completa tabla periódica de elementos

Figura 20.4: kalzium

Por Paco Aldarias 74/449


Linux

20.54. Matemáticas
Consola:

Gnuplot. Representación de funciones

Entorno gráfico.

kmatplot. Representación de funciones


http://edu.kde.org/projects/maths.phtml
kmplot. Representación de funciones
scilab. Cálculo matricial, Representación de funciones,etc
http://www.scilab.org
Ver imagen de la página 75 Figura: 20.5

Desde consola

octave. Cálculo matricial, Representación de funciones,etc.


urlhttp://www.octave.org

Figura 20.5: Imagen de scilab

20.55. Comparativas windows-linux


1. http://linuxshop.ru/linuxbegin/win-lin-soft-spanish/
2. http://www.openlabs.it/sections.php?op=viewarticle&artid=34

Por Paco Aldarias 75/449


Linux

Capı́tulo 21

Wordtrans: Diccionario Bilingue de


Ingles-Español

21.1. Versiones
12.04.03 Primera version v.1.0
29.12.03 I2e para woody v.1.0

21.2. Introducción
WordTrans es una diccionario bilingue. Es decir, le ponemos una palabra y la traduce.

21.3. Instalación
Para debian sid: Como root hay q hacer todo esto:

apt-get install i2e wordtrans-qt

Paquetes/versión que tengo instalado:

i2e 0.5-5 English-Spanish translation dictionary.


wordtrans-data 1.0beta2-2.5 Multi Language Word Translator for Linux
wordtrans-doc 1.0beta2-2.5 Multi Language Word Translator for Linux
wordtrans-qt 1.0beta2-2.5 Multi Language Word Translator for Linux

Para debian woody: Como root hay q hacer todo esto:

apt-get install i2e

21.4. Llamarlo
En debian sid:
$ qwordtrans
En debian woody
$ ie2

Por Paco Aldarias 76/449


Linux

21.5. Capturas
En la figura 21.1 se puede ver una captura de wordtrans como es:

Figura 21.1: Wordtrans

En la figura 21.2 se puede ver una captura de ie2 como es:

21.6. Bibliografı́a
1. Página oficial de wordtrans:
http://www.escomposlinux.org/rvm/wordtrans/index.php

2. Ubicación de este documento:


http://usuario.tiscali.es/paco25abril/

3. Pagina de linux :
http://inicia.es/de/pacolinux

Por Paco Aldarias 77/449


Linux

Figura 21.2: i2e

Por Paco Aldarias 78/449


Linux

Capı́tulo 22

Amsn

22.1. Introducción
Este articulo esta hecho para instalar la nueva version de amsn 0.83, compatible con el nuevo
msn de window, con linux debian woody.

Figura 22.1: Amsn

22.2. De donde bajarse los archivos.


Aquı́ te puedes bajar el fichero:
http://sourceforge.net/project/showfiles.php?group id=54091

Por Paco Aldarias 79/449


Linux

Aquı́ tienes mas info:


http://amsn.sourceforge.net/#es

22.3. Entrar en el navegador konqueror


Bajarse el archivo amsn cvs.tar.gz al directorio home

Ir a la carpeta home y Descomprimirlo poniéndonos desde konqueror sobre el archivo,


decirle descomprimir el archivo aquı́, con el botón derecho.

22.4. Entrar en la consola


Hacerse root escribiendo
su
instalar escribiendo:
apt-get install tk8.3 tclx8.3

Salir de root:
CTRL + D

Para entrar al AMSN desde consola como usuario normal:


msn/amsn

22.5. Crear un icono en el escritorio


Con el ratón, pinchar en el escritorio en un lugar vacı́o. Elegir: Crear Nuevo - Enlace de Apli-
cación. Cambiar el texto: Enlace a aplicación por Amsn En Ejecutar-Comando: /msn/amsn

Por Paco Aldarias 80/449


Linux

Capı́tulo 23

Escuchar la radio: mplayer, xmms,


realplayer

23.1. Introducción
Vamos a ver como se puede escuchar la radio.

23.2. Paquetes a instalar


A continuación se indica los paquetes a instalar:
apt-get install mplayer-k6 xmms
Para realplayer debemos ir a la web:
www.realone.com

23.3. Mplayer
Desde consola, como usuario normal:
Radio Españolas.

1. cadena-cope:
mplayer -cache 24 http://www.cope.es/directo/directo.asx

2. Onda cero:
mplayer -cache 24 http://www.ondacero.es/live.asx

3. Cadenaser:
mplayer -cache 24 http://www.cadenaser.es/player/SER-TIC.asx
Escuchar el largero del dia anterior (todo en la misma linea):
mplayer mms://a65.v78072.c7807.e.vm.akamaistream.net/7/65/7807/402aef64/
prisaffs.download.akamai.com/7807/cadenaser/2004/02/20040212csrcsrdep 1 A LAU.asf

4. Los 40 principales.
mplayer -cache 24 http://www.los40.com/nuevo player/m80.asx

5. Radio Nacional de España.


mplayer -cache 24 http://www.rne.es/audio/RNE5.asx

Por Paco Aldarias 81/449


Linux

6. Radio Intereconomia.
mplayer -cache 24 rtsp://live88.terra.es/farm/*/radioint.rm

Radio Peruana.

1. Rpp-noticias:
mplayer -cache 24 http://protv.ituner.com/rpp1-http

Radio Brasilena.

1. Rádio Fátima Vacaria - Integrada a Rede Sul de Rádio - 580 KHz - 10KW Rádio de Integração
Regional veja mais em www.radiofatima.am.br
mplayer mplayer -cache 256 mms://200.102.247.174:8080

Música Barroca

1. mplayer http://baroque-musick.no-ip.com:8002/listen.pls

23.4. Mplayer y Peliculas avi


Desde consola como usuario normal:

mplayer -fs -zoom lliurex_240x180.avi

23.5. Grabar el audio de una emisora con mplayer


1. mplayer <direccionderadio> -dumpstream -dumpfile fichero.mpg
Con esta orden, se grabará lo que este sacando la emisora en el archivo ’fichero.mpg’, y
estara listo para escuchar.
Ejemplo:

2. mplayer http://www.cadenaser.es/player/SER-TIC.asx -dumpstream


De esta manera, cuando termine el tiempo que queremos grabar, aparecera en el directorio
donde estemos, un fichero llamado stream.dump. Posteriormente, ese fichero sera tratado
de la siguiente manera:

mplayer stream.dump -ao pcm -aofile stream.wav

Con esto conseguiremos pasar el fichero de datos, a un fichero .wav, que podremos ya
convertir, bien a .ogg, bien a .mpg, si queremos disminuir su tamaño.

23.5.1. Barjar los videos de una web wmv y pasarlso a avi

Este script entra a la web en la bocadellobo wget


http://www.frecuencialatina.com.pe/noticias/en boca lobo.asp
Revisa que videos hay, se los baja, y los transforma a avi, para poder verlos en la tv.
cat boca.sh

Por Paco Aldarias 82/449


Linux

#Analiza la web y bajar ficheros


#Realizado por Paco Aldarias
# 1.04.2005

rm -f en_boca_lobo.asp*
rm -f videos.txt
wget http://www.frecuencialatina.com.pe/noticias/en_boca_lobo.asp
cat en_boca_lobo.asp | grep wmv | cut -d "’" -f2 | cut -d "/" -f5 > videos.txt
cat videos.txt
for i in ‘cat videos.txt‘
do
if [ ! -d $i ]; then
mplayer http://www.frecuencialatina.com.pe/reportajes/multimedia/videos/$i \
-dumpstream -dumpfile $i
nice -n 19 mencoder $i -o $i.avi -ovc lavc -oac mp3lame
fi
done

23.6. Realplayer
reaplayer fichero.ram

Siendo ram el fichero q se guarda al conectar con una emisora de tv.

23.7. Xmms
Abriendo esta web se puede entrar en radio en vivo:
http://www.radiopanamericana.com/
Abrir xmms, y pulsar CONTROL+L y poner:

1. http://www.boliviaweb.com/radio/radio.asp
2. http://radiolibertadymusica.servemp3.com

3. http://upvradio-live.upv.es:8000

4. Radio Ona Mallorca(España) transmitiendo en vivo usando Ogg Vorbis, se puede escuchar
m80 radio:
http://mcrg.uib.es:8000/live.ogg

23.8. Servidor de radio


http://www.icecast.org

23.9. Bibliografı́a
1. Esta página:
http://pagina.de/pacodebian

Por Paco Aldarias 83/449


Linux

Capı́tulo 24

Instalar flash en el navegador

24.1. Introducción
Flash es un tipo de elementos que tienen las paginas web que aparecen imágenes en moviviento.
Es necesario antes de instalar el flash haber instalado los navedares:
apt-get install mozilla, netscape
También hay que cerrar los navedadores antes de instalarse.
El flash se deberá instalar para cada usuario, y es necesario al menos haber entrado una vez en
el navegador, para que se creen los ficheros de configuración.

24.2. Instalación como paquete


En debian woody desde consola como root:
apt-get install flashplayer-mozilla
Nota: Con este método no he consegido que funcione. Es mejor bajarse el instalador.

24.3. Bajarse el instalador


Ir a la web usando mozilla:
http://www.macromedia.com/shockwave/download/alternates/
Aqui es donde se baja el archivo:
http://www.macromedia.com/shockwave/download/download.cgi?P1 Prod Version=ShockwaveFlash&P2
Platform=Linux&P3 Browser Version=Netscape4&P5 Language=English
Ir a : Flash Players - Other Operating Systems - Linux x86 - Flash Player 6 for Mozilla 1.1

Se baja este archivo:

install_flash_player_6_linux.tar.gz

Los descomprimimos en nuestra carpeta home, seleccionando el fichero y diciéndole q extraiga


aquı́:
Nos cambiamos a la carpeta extraida:

cd ~/install_flash_player_6_linux

Por Paco Aldarias 84/449


Linux

Ejecutamos el instalador:

./flashplayer-installer

24.4. Los navegadores


En konqueror: Opciones - Plugin Activar buscar nuevos y decirle que busque los plugin.
En Netscape, Mozilla y Opera:
Funciona sin problemas.

Por Paco Aldarias 85/449


Linux

Capı́tulo 25

Bajarse ficheros mp3: mldonkey.

25.1. Introducción
Mldonkey, ”multi-networks file-sharing client.Es un sistema de compartir archivos de multired.
Es un programa p2p.
Redes a las que accede: Soulseek, Donkey, FileTP, Fasttrack, G2, Gnutella, Open Napster, Direct
Connect.
El cliente (navegador web, kmldonkey, telnet) no funciona, sino tenemos el servidor en marcha
(mlnet).

25.2. Instalación

25.2.1. Instalarlo por apt

Desde consola como root:

apt-get install mldonkey-server mldonkey-gui kmldoneky

Para lanzarlo:

mkdir /home/paco/mldonkey
cd /home/paco/mldonkey
mlnet &

25.2.2. Bajandose el fichero

Hay que bajarse este fichero:

mldonkey-2.5.11.tar.gz

De aquı́:
http://savannah.nongnu.org/download/mldonkey/

Descomprimirlo

mkir /soft/ml

Por Paco Aldarias 86/449


Linux

cd /soft/ml
tar zxf mldonkey-2.5.11.tar.gz

Instalación de paquetes

apt-get install m4 zlibc zlib1g zlib1g-dev

Compilando

./configure
Do you want this script to try to download and install ocaml LOCALLY in mldonkey directory
? Yes
make
make utils

Ponerlo en marcha

mkdir /home/paco/ml/
cp /soft/ml/mldonkey-2.5.11/mlnet /home/paco/ml/
cd /home/paco/ml/
nice -19 ./mlnet

25.3. Mantener los ficheros temporales


Copiar los ficheros: friends.ini, files.ini and shared files new.ini a la carpeta de trabajo.
Mas información aqui: http://mldonkey.berlios.de/modules.php?name=Wiki&pagename=Clean%
20install

25.4. Usuarios
Una vez arrancado el servidor entraremos para la gestión de usuarios.
Entramos al servidor: telnet 127.0.0.1:4000
Esto añade el usuario pepe:

add_user pepe passpepe

Le damos contraseña al usuario admin que es el de administración (y que trae por defecto) de
mldonkey.

add_user admin nueva_pass

25.5. Utilidad de kde: kmldonkey


Kmldonkey permite ver lo q se esta bajando y controlar la velocidad de mldonkey
Instalarlo, desde consola como root:

Por Paco Aldarias 87/449


Linux

apt-get install kmldonkey

Ejecutarlo:

kmldonkey

25.6. Abrirendo el navegador


http://127.0.0.1:4080

25.7. Configuración

25.7.1. donkey.ini

Número de servidores
max_connected_servers = 3

25.7.2. downloads.ini

Ip que pueden conectarse:


allowed_ips = [
"127.0.0.1" "255.255.255.255";]

Velocidad máxima de upload:


max_hard_upload_rate = 5

Velocidad máxima de download:


max_hard_download_rate = 15

Permite conectarse a la red opennap:


enable_opennap = true

Directorio temporal de fichero mientras se esta bajando:


temp_directory = "/wine/mp3/temp/"

Directorio donde se guardan los ficheros ya bajados:


incoming_directory = "/wine/mp3/ok/"

25.7.3. mldonkey previewer

#!/bin/sh

MOVIE_PLAYER=mplayer
REAL_PLAYER=realplayer
AUDIO_PLAYER=xmms

SHELL=${SHELL:-/bin/sh}
PAGER=${PAGER:-less}
XTERM=${XTERM:-xterm}

Por Paco Aldarias 88/449


Linux

#hack
DISPLAY=${DISPLAY:-:0.0}
export DISPLAY

echo Local File is "$1"


echo Pseudo file name is "$2"
echo Detected format is "$(file -b $1)"

case "$(echo $2|tr A-Z a-z)" in

*.avi | *.divx | *.ogm | *.mpg | *.mpeg)


exec $MOVIE_PLAYER "$1" &
;;
*.rm | *.ram)
exec $REAL_PLAYER "$1" &
;;
*.mp3 | *.ogg | *.wav)
exec $AUDIO_PLAYER "$1" &
;;
*.zip)
exec $XTERM -T "$2" -e $SHELL -c "unzip -v ’$1’ 2>&1 | $PAGER" &
;;
*.rar)
exec $XTERM -T "$2" -e $SHELL -c "unrar v ’$1’ 2>&1 | $PAGER" &
;;
*.ace)
exec $XTERM -T "$2" -e $SHELL -c "unace v ’$1’ 2>&1 | $PAGER" &
;;
*)
exec $XTERM -T "$2" -e $PAGER "$1" &
;;
esac

25.8. Añadir un enlace bittorent desde consola


Los carácteres extraños va entre comillas:

dllink "sdflfk()().torrent"

Si el fichero semilla esta en una carpeta:

dllink /usr/local/mldonkey/torrent/seeded/******.torrent

25.9. Añadir un elink usando telnet


dllink xxxxxxx.ed2k

25.10. Conectar por ssh desde consola


ssh -v -L4001:127.0.0.1:4001 usuario@Mimaquina.no-ip.com

Por Paco Aldarias 89/449


Linux

25.11. Mandar ordenes desde consola


Sacarı́a la lista (vd) de ficheros que estamos descargando y la meterı́a en el fichero descargas.txt.
La q (quit) es para salir del mldonkey y volver a la lı́nea de comandos:

echo -e "vd\nq" | nc 127.0.0.1 4000 > descargas.txt

Para que me muestre los ficheros de los que en ese preciso momento estoy bajando efectiva-
mente algo:

alias bajadas_donkey=’echo -e "vd\nq" | nc 127.0.0.1 4000 | grep "^.\[34m\[D"’

25.12. Script para controlar la velocidad: rate.sh


Con eso no hace falta apagar mldonkey, cuando uno necesita más o menos velocidad.
Desde consola como root, escribir:
nano rate.sh

#! /bin/bash

case "$1" in
start)
echo -e "auth admin mipassword\n
set max_hard_download_rate 50 \n
set max_hard_upload_rate 7 \n
q
" | nc 127.0.0.1 4000

;;
stop)
echo -e "auth admin mipassword\n
set max_hard_download_rate 5 \n
set max_hard_upload_rate 3 \n
q
" | nc 127.0.0.1 4000

;;
*) echo "Uso: rate.sh start|stop"
exit 1
;;
esac

Darle permisos de ejecución:


chmod 700 rate.sh

Ejecutarlo:
./rate.sh start

Ejecutarlo:
./rate.sh stop

Por Paco Aldarias 90/449


Linux

25.13. Entrar a tu mldonkey desde el exterior: set allowed ips


Entrar desde consola con telnet: telnet localhost 4000
Poner estas ordenes:

set allowed_ips 192.168.1.88


save

25.14. Como conseguir la lista de servidores


Cuando no conecta a los servidores debemos pasarle la lista

telnet localhost 4000


servers /ruta/server.met

25.15. Bibliografı́a
1. Web con cvs:
http://savannah.nongnu.org/cvs/?group=mldonkey

2. Mldonkey. Web Oficial.


http://mldonkey.berlios.de/

3. Mldonkey.
FAQhttp://www.nongnu.org/mldonkey/faq.html.es

4. Mldonkey. Manual
http://www.bandaancha.st/documentos.php?docid=48

5. Mldonkey mldonkey previewer


http://mldonkey.berlios.de/modules.php?name=Wiki&pagename=mldonkey previewer

6. MLDonkey en 10 minutos
http://bulma.net/body.phtml?nIdNoticia=2028

Por Paco Aldarias 91/449


Linux

Capı́tulo 26

Traerse el correo de hotmail:


gotmail

26.1. Versiones
15.02.04 Primera version v.1.0

26.2. Introducción
Vamos a ver la forma de coger el correo de hotmail y traerlo a nuestro ordenador.
Para ello usaremos el programa gotmail
He probado varias versiones pero sólo he podido hacer q funcione la versión 0.8.1 de gotmail.

26.3. Coger el fichero gotmail


gotmail-0.8.1.tar.gz
http://freshmeat.net/projects/gotmail/

26.4. Descomprimierlo
mkdir /soft
mkdir /gotmail
cd /soft/gotmail
tar zxf gotmail-0.8.1.tar.gz

26.5. Fichero de configuración


cat ~/.gotmailrc
--------------------------
username=pacopaquete@hotmail.com
password=paquirrin

Por Paco Aldarias 92/449


Linux

domain=hotmail.com

forward=paco
save-to-login
#only-new

#folder-dir=~/Maildir/.hotmail/new
#folders=Inbox, Different Folder
retry-limit=10
--------------------------

26.6. Lanzar el programa


/soft/gotmail/gotmail-0.8.1/gotmail -v -c .gotmailrc

26.7. Bibliografı́a
1. Esta página web:
http:/pagina.de/pacodebian

2. Gotmail
http://www.nongnu.org/gotmail/

3. Gotmail
http://freshmeat.net/projects/gotmail/

Por Paco Aldarias 93/449


Linux

Capı́tulo 27

Navegador web: Opera

27.1. Introducción
Opera es un navegador web. Según mucho uno de los más rápidos

27.2. Bajarse el programa


Web: http://www.opera.com/download/
Fichero a bajarse:

opera_7.21-20031013.2-shared-qt_i386.deb

Instalarlo con:

dpkg -i opera_7.21-20031013.2-shared-qt_i386.deb

Bajarse el fichero de idioma español:

ou721_480es-ES.lng

Copiarlo en:

cp ou721_480es-ES.lng /usr/share/opera/locale/ou721_480es-ES.lng

Ir al menu: Archivo - Opciones - Idioma.


Eleguir Español.

27.3. Abrir ficheros


Menu: File - Options - File types: (Archivo - Opciones - Tipo de Fichero)

27.3.1. Configurarlo para ver ficheros ASF

MIME type: video/x-ms-asf

Por Paco Aldarias 94/449


Linux

File extensions: asf,asx


Action: Open with other application
xterm -e mplayer

27.3.2. Configurarlo para ver ficheros PDF

MIME type: aplication/pdf


File extensions: pdf
Action: Open with other application
acroread

27.4. Filtrando banners


iptables -I OUTPUT -t filter -p tcp -d 209.225.0.6 -j DROP

Por Paco Aldarias 95/449


Linux

Parte III

Linux Avanzado

Por Paco Aldarias 96/449


Linux

Capı́tulo 28

El idioma

28.1. Introducción
En este apartado veremos como se configura el teclado y las fuentes. La configuración del teclado
afecta a consola y a las exis.

28.2. Paquetes a instalar


A continuación se indica los paquetes a instalar:

apt-get install locales

Marcar: en us ISO-8859-1, es ES@ ISO-8859-1, es ES@euro ISO-8859-15


Elegir por defecto: es ES@euro ISO-8859-15
Nota:
Editar el fichero como root:
nano /etc/environment

Debemos tener:
export LC MESSAGES=es ES@euro
export LANGUAGE=spanish
export LC ALL=es ES@euro
export LANG=es ES@euro
LANG=es ES@euro

Consultar también: http://debianitas.homelinux.org/manuales/localesperl.php

apt-get install console-data console-tools

Select keymap from full list


Keymap: pc/ qwety / Spanish / Standard /Standard

apt-get install xserver-xfree86

Debemos eleguir idioma: es


Teclado: 104 teclas

Por Paco Aldarias 97/449


Linux

apt-get install xfonts-100dpi

Permite que kde tenga las fuentes adecuadas

apt-get install xfonts-75dpi

Permite que kde tenga las fuentes adecuadas

apt-get install kde-i18n-es


Permite coger el idioma español para el kde

apt-get install user-euro-es


Instala: /usr/bin/eurocastellanizar
Este castellaniza las aplicaciones

apt-get install euro-support


Instala /usr/bin/euro-test
El cual comprueba si tenemos el sı́mbolo del euro

Nota: Para cambiar la configuración de cualquier paquete debemos poner:


dpkg-reconfigure paquete.

Para castellanizar aplicacines en ingles ejetucar:


eurocastellanizar

28.3. Teclado en kde


Si no definimos bien el teclado en kde la consola (konsole), no sacará el juego de carácteres
adecuados.
Veamos q debemos configurar:

Inicio-Centro Control - Perifericos Teclado:


Modelo: Generico 104
Diseño: Español

Inicio-Centro Control - Pais e Idioma:


Pais: España
Idioma: Español.
Juego carácterres: iso8859-15

28.4. Hora local


Si tenemos la hora q no se ajusta a la local.

Por Paco Aldarias 98/449


Linux

Editar el fichero:
nano /etc/default/rcS
Cambiar esto: UTC=no
Ejecutar:
/etc/init.d/hwclock.sh reload

28.5. Sonido
Como root hacer:
chmod 666 /dev/dsp /dev/cdrom /dev/audio /dev/mixer /dev/midi /dev/sequencer
chown root.audio /dev/dsp /dev/cdrom /dev/audio /dev/mixer /dev/midi /dev/sequencer
aduser audio usuario

28.6. Cursor moderno


apt-get install artwiz-cursor

28.7. Españolizar kde


1. Editar el fichero nano /etc/locale.gen

nano /etc/locale.gen

es_ES ISO-8859-15
es_ES@euro ISO-8859-15
en_US ISO-8859-1

luego ejecutar:
locale-gen
2. Editar el fichero /etc/environment:

nano /etc/environment

LC_ALL=es_ES@euro
LANG=es_ES.ISO-8859-15
#LANGUAGE=en_US ## Para no cambiar el idioma, especialmente man
LANGUAGE=es_ES@euro ## Usar este si se quiere el man en castellano
LC_TYPE=es_ES@euro

3. Editar el fichero: /etc/X11/XFConfig-4

nano /etc/X11/XFConfig-4

Option "XkbRules" "xfree86"


Option "XkbModel" "pc105"
Option "XkbLayout" "es"

4. Editar el fichero /usr/X11R6/lib/X11/locale/locale.alias

Por Paco Aldarias 99/449


Linux

es es_ES.ISO8859-1
es_ES.iso88591 es_ES.ISO8859-1
es_ES.iso885915 es_ES.ISO8859-15
es_ES@euro es_ES.ISO8859-15

Reiniciar las X. Pulsando : CTRL + ALT +Borrado atras

5. Ir al Menu KDE: Control Center - Personalization - Country and Language:

Country: Spain (es)


Charset: iso8859-15

Por Paco Aldarias 100/449


Linux

Capı́tulo 29

Administración de usuarios

29.1. Introducción
Es importante saber que la consola diferencia con sı́mbolo distinto en el prompt entre usuario
normal ($) y root (#) .
Para ser usuario root hay q poner: $ su -

29.2. Creación de usuarios


# adduser usuario
Añade el usuario

Ejercicio: Crear los siguientes usuarios poniendo lo mismo en contraseña. Vamos a crear 5 usua-
rios q seran de los distintos grupos de alumnos. Si estamos en el pc101:

usuario grupo
grupo1 2BACH
grupo2 1BACH-1BA
grupo3 1BACH-1BH 1BC
grupo4 3D
grupo5 3E
profesor profesor
prueba prueba

Cuadro 29.1: Usuarios

Nota: Esto es una solución temporal, pq cuando haya red, instalaremos nis, y los usuarios se dan
de alta de una maquina solamente.

29.3. Cómo cambiar de usuario


#su usuario
Para volver al usuario anterior: CTRL+D Sólo el usuario root puede cambiar de usuario sin con-
traseña.

Por Paco Aldarias 101/449


Linux

29.4. Cómo cambiar la constaseña


# passwd usuario

29.5. Cómo borrar un usuario


# deluser usuario

29.6. Cómo ver los usuarios existentes


# cat /etc/passwd

Por Paco Aldarias 102/449


Linux

Capı́tulo 30

El Audio

30.1. Introducción
Vamos a ver como se configura el audio y sus herrmientas

30.2. Paquetes a instalar


A continuación se indica los paquetes a instalar:
apt-get install kmix aumix xmms kudzu wavtools toolame sox krecord
mpg321
Siendo:

kmix para permitir el control del audio

xmms programa para escuchar mp3,wav

mpg321 programa para reproducir mp3

wavtools programa para grabar wav desde consola.

krecord programa para grabar wav desde kde.

30.3. Donde esta el audio


ll /dev/dsp /dev/cdrom /dev/audio /dev/mixer /dev/midi0 /dev/sequencer
crw-rw-rw- 1 root audio 14, 4 Mar 14 2002 /dev/audio
lrwxrwxrwx 1 root root 3 Nov 23 18:00 /dev/cdrom -> hdc
crw-rw-rw- 1 root audio 14, 3 Mar 14 2002 /dev/dsp
crw-rw-rw- 1 root audio 35, 0 Mar 14 2002 /dev/midi0
crw-rw-rw- 1 root audio 14, 0 Mar 14 2002 /dev/mixer
crw-rw-rw- 1 root audio 14, 1 Mar 14 2002 /dev/sequencer

30.4. Permisos
Ejecutar desde consola como root:

Por Paco Aldarias 103/449


Linux

chmod 666 /dev/dsp /dev/cdrom /dev/audio /dev/mixer /dev/midi0 /dev/sequencer


adduser paco audio

30.5. Detectar los dispositivos


Ejecutar desde consola como root:
kudzu

30.6. Buscar aplicaciones


Cuando instalamos un programa no aparece en el menu inicial Esto pasa con el xmms.Para que
aparezca debemos ejecutar:

Incio-Sistema- Buscar Aplicaciones.

30.7. Programas de audio


Aparecen en el menu: Inicio-Multimedia
Xmms. Programa para escuchar mp3. Kmix. Meclador de sonido: Permite controlar el audio.

30.8. Grabar audio del micro en wav


1. Abrir krecord del menu Multimedia

2. Desde consola.
wavr -f fichero.wav

30.9. Bibliografı́a
1. Esta página:
http://pagina.de/pacodebian

2. MP3 Como:
http://www.insflug.org/COMOs/MP3-Como/MP3-Como-9.html

3. Convertir formatos de audio MP3/OGG:


http://www.escomposlinux.org/fserrano/index 164.html

Por Paco Aldarias 104/449


Linux

Capı́tulo 31

Administración de Paquetes

31.1. Introducción
Los paquetes son programas o librerias necesarias para q funcione un programa.
Hay q ser root para poder administrar paquetes.
Los paquetes de debian disponibles se guardan en una base de datos para su posterior consulta.
Un Paquete es un fichero que contiene todo lo necesario para instalar, desinstalar y ejecutar un
programa en particular.
Todos los nombres de paquetes tienen la forma xxxxxxxxxxx.deb. Ejemplos de nombres de pa-
quetes son: ssh.deb, less.deb.

31.2. Donde encontrar paquetes no oficiales


Por ejemplo mplayer
Ir a la web: http://www.apt-get.org/search.php

31.3. Instalar paquetes (programas): apt


Permite instalar paquetes o programas.

apt-cdrom add. Añade los paquetes del cd-rom

apt-get install paquete. Instala un paquete

apt-cache show paquete. Muestra información

apt-cache search paquete. Busca un paquete

apt-get install –reinstall paquete. Reinstala un paquete.

update-alternatives –config paquete. Instala la version que desees.

Podemos ver el fichero de configuracion de apt con: #cat /etc/apt/sources.list

Por Paco Aldarias 105/449


Linux

31.3.1. De donde se instala el software: sources.list

El fichero /etc/apt/sources.list indica a donde debe ir para buscar los paquetes para instalarse
con apt-get install paquete.
Después de cada cambio q hagamos de este fichero debemos actualiza la base de datos con:
# apt-get update

31.3.2. Debian Woody desde cd-rom

Contenido del /etc/apt/sources.list: sources.list.cdrom


# F i c h e r o : / e t c / a p t / sources . l i s t
#
# Uso d e l cdrom
#
# Por Paco A l d a r i a s
# Realizado e l 11−1−03
#

deb cdrom : [ Debian GNU/ L i n u x 3 . 0 pre \ Woody\ − LordSutch . com MiniCD i 3 8 6 Binary −1 ( 2 0 0

31.3.3. Debian Woody o Stable desde internet

Contenido del /etc/apt/sources.list: sources.list.woody


# t h e main Debian packages . Uncomment t h e deb−s r c l i n e i f you
# want ’ apt−g e t source ’ t o work w i t h most packages .
deb h t t p : / / mir2 . ovh . n e t / debian / woody main c o n t r i b non−f r e e
deb h t t p : / / f t p . r e d i r i s . es / debian−non−US/ woody / non−US main c o n t r i b non−f r e e

# Open O f f i c e
deb h t t p : / / f t p . f r e e n e t . de / pub / debian−o p e n o f f i c e / woody main c o n t r i b

# M u l t i m é d i a
deb h t t p : / / m a r i l l a t . f r e e . f r / s t a b l e main # MPlayer − Acrobat Reader
deb h t t p : / / s e c u r i t y . debian . org / woody / updates main c o n t r i b non−f r e e

31.3.4. Debian Sarge o Unstable desde internet

Contenido del /etc/apt/sources.list: sources.list.sarge


# t h e main Debian packages . Uncomment t h e deb−s r c l i n e i f you
# want ’ apt−g e t source ’ t o work w i t h most packages .
deb h t t p : / / mir2 . ovh . n e t / debian / u n s t a b l e main c o n t r i b non−f r e e
deb h t t p : / / f t p . r e d i r i s . es / debian−non−US/ u n s t a b l e / non−US main c o n t r i b non−f r e e

# Open O f f i c e
deb h t t p : / / f t p . f r e e n e t . de / pub / debian−o p e n o f f i c e / u n s t a b l e main c o n t r i b

# M u l t i m é d i a
deb h t t p : / / m a r i l l a t . f r e e . f r / u n s t a b l e main # MPlayer − Acrobat Reader
deb h t t p : / / s e c u r i t y . debian . org / sarge / updates main c o n t r i b non−f r e e

Por Paco Aldarias 106/449


Linux

# Java
deb f t p : / / f t p . c i c a . es / pub / java−l i n u x / debian / u n s t a b l e main non−f r e e

# kmldonkey
deb h t t p : / / es . kde . org s t a b l e main
deb h t t p : / / www. y a t h . eu . org / debian . /

#Contalinex
deb h t t p : / / www. l i n e x . org / sources / l i n e x / debian / woody l i n e x

31.3.5. Debian Sid o Unstable desde internet

Contenido del /etc/apt/sources.list: urlsources.list.sid

#deb cdrom : [ Debian GNU/ L i n u x 3 . 0 pre Woody − LordSutch . com MiniCD i 3 8 6 Binary −1 ( 2 0 0 2
# deb h t t p : / / s e c u r i t y . debian . org / s t a b l e / updates main

deb f t p : / / f t p . r e d i r i s . es / pub / l i n u x / d i s t r i b u t i o n s / debian / s i d main non−f r e e c o n t r i b


deb−s r c f t p : / / f t p . r e d i r i s . es / pub / l i n u x / d i s t r i b u t i o n s / debian / s i d main non−f r e e c o n t r i b
deb h t t p : / / non−us . debian . org / debian−non−US s i d / non−US main c o n t r i b non−f r e e
deb−s r c h t t p : / / non−us . debian . org / debian−non−US s i d / non−US main c o n t r i b non−f r e e

#deb−s r c h t t p : / / bytesex . org / u n s t a b l e main

deb h t t p : / / f t p . f r e e n e t . de / pub / f t p . vpn−j u n k i e s . de / o p e n o f f i c e t e s t i n g main c o n t r i b

#kde3
#deb h t t p : / / download . us . kde . org / pub / kde / s t a b l e / 3 . 0 . 3 / Debian . /
#deb h t t p : / / f t p . r e d i r i s . es / f t p / m i r r o r / kde / s t a b l e / 3 . 0 . 4 / Debian / woody / . /
deb f t p : / / f t p . kde . org / pub / kde / s t a b l e / 3 . 0 . 5 / Debian / woody / . /
#deb h t t p : / / s h a k t i . a t h . cx / debian / kde3.1− beta2 / . /

# escomplinux − g o t m a i l
deb f t p : / / f t p . escomposlinux . org / pub / debian woody main
#java
deb f t p : / / f t p . t u x . org / pub / j a v a / debian woody non−f r e e
# mplayer
deb h t t p : / / m a r i l l a t . f r e e . f r / u n s t a b l e main
deb h t t p : / / www. i n e t o n t a r i o . com / ˜ t c h a r r o n / keramik / . / # keramik

31.4. Encontrar los servidores debian mas rapidos: apt-spy


Apt-spy comprueba la velocidad de los servidores y modifica el sources.list

Instalar apt-spy: # apt-get install apt-spy

Ejecutarlo: # apt-spy

Por Paco Aldarias 107/449


Linux

31.5. Generación automática del sources.list


Instalar netselect-apt
apt-get install netselect-apt
Creamos el sources.list para unstable:
netselect-apt unstable
Copiamos el fichero creado:
cp sources.list /etc/apt/sources.list

31.6. Usar los paquetes instalados de un pc, en otros pcs:


apt-ftparchive
Desde consola, como

Creamos una carpeta en el servidor web apache, para meter los paquetes:

mkdir /var/www/apt/
ln -s /var/cache/apt/archives /var/www/apt

Cada vez q se quiera actualizar el ftp:

chmod go+r /var/cache/apt/archives/


cd /var/cache/apt/archives/
apt-ftparchive packages . > Packages
gzip -c Packages > Packages.gz

Añadir en el /etc/sources.list esta linea:

deb http://localhost/apt ./

31.7. Actualizar desde cdrom paquetes:dpkg-scanpackages


1. Instalar dpkg-dev

2. Meter todos los paquetes que desees en un directorio por ejemplo (/home/tuusuario/pa-
quetes/)

3. Entrar al directorio y hacer:

dpkg-scanpackages . /dev/null | gzip > Packages.gz

4. Crear el cd con el contenido del directorio que has creado.

5. Meter al sources.list :

deb file:/punto_de_montaje_cdrom ./

6. Hacer: apt-get update

Mirar tb: http://bulma.net/body.phtml?nIdNoticia=667

Por Paco Aldarias 108/449


Linux

31.8. Proxy para apt: apt-proxy


Si tenemos una red, no es necesario bajarnos un paquete n-veces si tenermos un proxy para apt,
ya q este lo guarda para poder utilizarlo por otra máquina.
Habrá una máquina q hace de servidor, q es donde se instala apt-proxy, y el resto de máquinas
deben configurar el source-list para que vayan al servidor de apt.
Pasos:

1. Instalar paquete apt-proxy en el servidor

2. Configuración Servidor

3. Configuración Clientes

31.8.1. Instalar el paquete apt-proxy

# apt-get install apt-proxy

31.8.2. Configuración del servidor

Es recomendable leer el man de apt-proxy.conf . Esto deberia tener como mı́nimo el fichero
/etc/apt-prosy/apt-proxy.conf:
apt-proxy.conf
# C o n f i g u r a t i o n f o r apt−proxy

# Change t h i s path i f you do n o t want t o keep your cache under v a r


APT PROXY CACHE= / v a r / cache / apt−proxy

### Rsync Backends


# Three o r more f i e l d s each :
# 1 ) URL p r e f i x
# 2 ) D i r t o p u t f i l e s i n ( remember t h e t r a i l i n g / ! )
# 3 . . . ) r s y n c backends t o r e p l a c e i t w i t h ( remember t h e t r a i l i n g /!)

# You can s p e c i f y m u l t i p l e backends l i k e t h i s :


#add backend / main / \
# $APT PROXY CACHE / debian / \
# SERVERONE : : debian / \
# SERVERTWO : : debian / \
# SERVERTHREE : : debian /

# HINT : Any r e q u e s t matching none o f these i s n o t served , making


# p a r t i a l caching easy .

add backend / debian / \


$APT PROXY CACHE / debian / \
f t p . n l . debian . org : : debian / \
f t p . easynet . be : : debian / \
f t p . r e d i r i s . es / pub / l i n u x / d i s t r i b u t i o n s : : debian

add backend / o p e n o f f i c e / \
$APT PROXY CACHE / o p e n o f f i c e / \
h t t p : / / www. mx1 . r u / ˜ c h r i s / o p e n o f f i c e / \

Por Paco Aldarias 109/449


Linux

f t p : / / f t p . vpn−j u n k i e s . de / o p e n o f f i c e / \
h t t p : / / apt−proxy . s f . n e t / o p e n o f f i c e / \
h t t p : / / www. phy . o l e m i s s . edu / o p e n o f f i c e /

#add backend / o p e n o f f i c e −debian /


# $APT PROXY CACHE / o p e n o f f i c e −debian / \
# f t p : / / f t p . u n i n e t t . no / pub / l i n u x / packages / o p e n o f f i c e −debian

add backend / non−US/ \


$APT PROXY CACHE / non−US/ \
f t p . n l . debian . org : : debian−non−US/
non−us . debian . org : : debian−non−US
#

add backend / updates / \


$APT PROXY CACHE / debian−non−US/ \
h t t p : / / s e c u r i t y . debian . org : :

add backend / o p e n o f f i c e / \
$APT PROXY CACHE / o p e n o f f i c e / \
h t t p : / / www. mx1 . r u / ˜ c h r i s / o p e n o f f i c e / \
f t p : / / f t p . vpn−j u n k i e s . de / o p e n o f f i c e / \
h t t p : / / apt−proxy . s f . n e t / o p e n o f f i c e /

#add backend / main / \


# $APT PROXY CACHE / debian / \
# f t p . n l . debian . org : : debian /
# f t p . us . debian . org : : debian / \
# f t p . de . debian . org : : debian / \
# f t p 2 . de . debian . org : : debian / \
# f t p . uk . debian . org : : debian /

#add backend / non−US/ \


# $APT PROXY CACHE / non−US/ \
# h t t p : / / f t p . n l . debian . org : : debian−non−US/ \
# f t p . r e d i r i s . es : : debian−non−US / \
# f t p . de . debian . org : : debian−non−US/ \
# f t p 2 . de . debian . org : : debian−non−US/ \
# f t p . uk . debian . org : : debian / non−US/

#add backend / s e c u r i t y / \
# $APT PROXY CACHE / s e c u r i t y / \
# s e c u r i t y . debian . org : : debian−s e c u r i t y / \
# non−us . debian . org : : debian−s e c u r i t y /

# Here are some more examples :


#
#Emdebian p r o j e c t
# add backend / emdebian / \
# $APT PROXY CACHE / emdebian / \
# h t t p : / / emdebian . s o u r c e f o r g e . n e t / emdebian /
#

Por Paco Aldarias 110/449


Linux

#Blackdown j a v e
# add backend / blackdown / \
# $APT PROXY CACHE / blackdown / \
# h t t p : / / f t p . gwdg . de / pub / languages / j a v a / l i n u x / debian /
#
# apt−proxy r e p o s i t o r y
# see : h t t p : / / apt−proxy . s o u r c e f o r g e . n e t / apt−proxy /README
# add backend / apt−proxy / \
# $APT PROXY CACHE / apt−proxy / \
# h t t p : / / apt−proxy . s o u r c e f o r g e . n e t / apt−proxy /

############################## OTHER VARS ##################################


# A u t o m a t i c a l l y d e l e t e o l d debs when we download a newer one
# a f t e r t h i s many days o f t h e o l d e r n o t being accessed .
# Comment o u t t o avoid , s e t t o 0 f o r ‘ i n s t a n t l y ’ ( n o t recommended ;
# sometimes t h e new v e r s i o n s are broken
CLEANUP DAYS=90

# Once every n days , l o o k t h r o u g h t r e e t o erase and debs which


# haven ’ t been accessed i n t h a t l o n g ( eg . o b s o l e t e , r a r e l y used , e t c ) .
# Comment o u t t o d i s a b l e .
CLEAN SWEEP=60

# Maximum number o f v e r s i o n s o f each package t o keep i n cache


# d i r e c t o r y . V e r s i o n p u r g i n g i s c a r r i e d o u t i m m e d i a t e l y a f t e r a new
# v e r s i o n i s downloaded .
# Comment o u t t o d i s a b l e .
MAX VERSIONS=2

# Maximum f r e q u e n c y o f Packages / e t c . updates from back end ( minutes )


# Keep h i g h t o speed t h i n g s up .
BACKEND FREQ=240

# Number o f seconds f o r r s y n c t o w a i t b e f o r e t i m i n g o u t .
RSYNC TIMEOUT=30

# Number o f seconds f o r wget t o w a i t t o connect b e f o r e t i m i n g o u t .


WGET TIMEOUT=30

# Uncomment t o change t h e path t o wget , o r add e x t r a o p t i o n s . For


# example , i f you are behind a f i r e w a l l t h a t does n o t a l l o w a c t i v e
# FTP , use WGET=” wget −−passive−f t p ”
WGET=wget

# Uncomment t o change t h e path t o r s y n c o r add e x t r a o p t i o n s .


RSYNC= r s y n c

# Uncomment t o keep s t a t s o f s u c c e s s f u l backend t r a n s f e r s i n t h e l o g .


KEEP STATS=1

# Uncomment t h i s f o r debugging messages


DEBUG= t r u e

Por Paco Aldarias 111/449


Linux

31.8.3. Configuración de los clientes

Hay q indicale q vaya al proxy de apt.


El fichero /etc/apt/source.list debe contener:
Mirar el fichero: sources.list.proxy
# Sin Proxy
#deb h t t p : / / f t p . n l . debian . org / debian woody main non−f r e e c o n t r i b

# Con Proxy en 1 9 2 . 1 6 8 . 1 0 0 . 2

deb h t t p : / / 1 9 2 . 1 6 8 . 0 . 1 : 9 9 9 9 / debian t e s t i n g main non−f r e e c o n t r i b


deb h t t p : / / 1 9 2 . 1 6 8 . 0 . 1 : 9 9 9 9 / non−US t e s t i n g / non−US main c o n t r i b non−f r e e
#deb h t t p : / / 1 9 2 . 1 6 8 . 1 0 0 . 2 : 9 9 9 9 / o p e n o f f i c e woody main c o n t r i b

31.8.4. Apt-proxy y mplayer

apt-proxy.conf:
add_backend /mplayer/ $APT_PROXY_CACHE/mplayer/ \
http://mplayer.nmeos.net/

sources.list:
deb http://APTPROXY:9999/mplayer unstable/

Then, create the unstable directory manually:

mkdir -p /var/cache/apt-proxy/mplayer/unstable
chown -R aptproxy /var/cache/apt-proxy/mplayer

31.8.5. Apt-proxy y paquetes instalados

Hay alguna forma de hacer que apt-proxy tenga en cuenta los paquetes que tengo en /var/ca-
che/apt/archives:

apt-proxy-import /var/cache/apt/archives

Si no te funciona es porqué tienes muchı́simos debs en ese directorio, con más de 4 ó 5 versiones
del mismo paquete.
Tras un

apt-get autoclean

basta para eliminar el exceso de paquetes y, después, funcionó a la perfección el apt-proxy-


import.

31.8.6. Controlar la velocidad de apt-proxy

Editar el archivo: /usr/sbin/apt-proxy


Y cambiar
WGET=wget
por

Por Paco Aldarias 112/449


Linux

WGET=’wget --limit-rate=10k’

31.9. Instalador global de paquetes: synpatic


Esta herramienta gráfica permite instalar software comodamente
Instalar:

apt-get install synpatic gksu

Ejecutar desde el menu de inicio - sistema - kgsu Poner synpatic

31.10. Instalador global de paquetes: tasksel


Permite la instalación global de paquetes.Instala los paquetes por temas.
Entrar poniendo: # tasksel
Se divide en las siguientes partes:

Enduser. Usuario Final

Server. Servidores

Developers. Desarrollo.

Location. Localizacion

Miscelanes. Varios.

Seleccionamos lo que queremos instalar con la barra de espacio, tabulamos para ir a información
de la tarea, y nos dice q paquetes instalará, y si nos vamos a finalizar, saldremos e instalara lo q
le hayamos indicado.

31.11. Paquetes Instalados o Locales: dpkg


Permite gestionar los paquetes instalados.

dpkg -s paquete. Informacion del paquete

dpkg -S paquete. Busca un fichero en los paquetes instalados.

dpkg -r paquete. Borra el paquete.

dpkg –purge paquete. Borrado del paquete y su configuración


dpkg-reconfigure paquete. Configura el paquete

dpkg -l Lista los paquetes instalados

dpkg -L paquete. Muestra q se instalo.

dpkg -i paquete.deb . Instala paquetes que tengamos en disco duro.

Por Paco Aldarias 113/449


Linux

31.12. Apt en modo grafico: dselect


Podemos gestionar dpkg en modo grafico poniendo en la consola:

# dselect

Pagina web que explica su uso:


http://lucas.hispalinux.es/DEBIAN/%257Ejfs/debian/doc/es/dselect-beginner.es.html/
dselect-beginner.es.htm\unhbox\voidb@x\bgroup\@xxxiil\egroup#contents

Una vez dentro de dselect verá la siguiente pantalla:

Debian Linux ‘dselect’package handling frontend.


0. [A]ccess Choose the access method to use.
1. [U]pdate Update list of available packages, if possible.
2 [S]elect Request which packages you want on your system.
3. [I]nstall Install and upgrade wanted packages.
4. [C]onfig Configure any packages that are unconfigured.
5. [R]emove Remove unwanted software.
6. [Q]uit Quit dselect.

Esto corresponde con:


1. Escoger el método de acceso que se va a utilizar.
2. Actualizar la lista de paquetes disponibles, si es posible.
3. Solicitar los paquetes que desea en el sistema.
4. Instalar y actualizar los paquetes deseados.
5. Configurar los paquetes que estén sin configurar.
6.Eliminar el software no deseado.

31.13. Apt en modo texto con menus: aptitude


Instalarlo como root desde consola:

apt-get install aptitude

Desde consola como root ejecutarlo:

aptitude

31.14. Kde y los paquetes: kpackage


Kde utiliza kpackage gestionar los paquetes.
Se instala asi:

apt-get install kpackage

En kde se encuentrar en: inicio-sistema- Administración de Paquetes

Por Paco Aldarias 114/449


Linux

31.15. Gestor de paquetes: synaptic


Se instala asi:

apt-get install synaptic

Desde consola como usuario normal:

gksu -u root synaptic

31.16. Instalar sobre el disco duro


Meteremos los cds en estas carpetas:

/cds_debian/1/ el cd 1
/cds_debian/2/ el cd 2
etc

Editamos /etc/apt/sources.list y a~
nadimos:

deb file:/cds_debian/1/ stable contrib main non-US/contrib non-US/main


deb file:/cds_debian/2/ stable contrib main non-US/contrib non-US/main
etc

lógicamente repites una fila para cada directorio de cd


al finalizar hacer apt-get update

31.17. Donde se guardan los paquetes con apt-get install


Podemos ver donde se guardan con:
ls /var/cache/apt/archives/
Se limpia esa carpeta con:
apt-get clean
Se puede instalar esos paquetes con:
dpkg -i paquete.

31.18. Como instalar los mismos paquetes de una máquina


Esto puede servir para clonar máquinas.
Guardamos la lista de paquetes en un fichero:

dpkg --get-selections ’*’ > lista.txt

Ahora le decimos q instale los paquetes de la lista:

dpkg --set-selections < lista.txt


apt-get dselect-upgrade

Por Paco Aldarias 115/449


Linux

31.19. Para bajarse los paquetes de nuestro sistema


Queria hacer un cd con los paquetes instalados, para darselos a una persona q no tiene internet.
Ası́ podria instalarse los paquetes q necesita.
Creamos un fichero con los paquetes instalados:

dpkg --get-selections ’*’ > paquetessarge.txt

Nos bajamos con este script: cat down.sh

echo [*] Bajandose todos los paquetes


echo [+] Por Paco Aldarias
echo [+] Realizado el 6.3.04
dpkg --get-selections ’*’ > paquetes.tmp
cat paquetes.tmp | grep "install" | awk ’{print $1}’ > paquetes.txt

rm -f paquetes.tmp
f=paquetes.txt
for i in ‘cat $f‘; do
echo [+] Bajando $i
apt-get install -u -y -d --reinstall $i
done

Vemos lo q se ha bajado con:

ll /var/cache/apt/archives/

31.20. Crear un repositoio local: apt-move

31.20.1. Introduccion

Vamos a ver la forma de crear un repositorio de los paquetes bajados en nuetro pc para q sean
usados por otros pcs
Es necesario que el repositorio tenga instalado y funcionando apache. También se podria hacer
con un servidor ftp.

31.20.2. Instalar el repositorio en el servidor

Desde consola como usario root:

apt-get install apt-move

31.20.3. Configurarmos el repositorio

Desde consolo como usario root:


nano /etc/apt-move.conf

APTSITES="debian.midco.net non-us.debian.org \
security.debian.org marillat.free.fr ftp.cica.es_pub_java-linux_debian \
termserv.berlios.de_debian"

Por Paco Aldarias 116/449


Linux

ARCHS="i386"

LOCALDIR=/var/www/apt/

DIST=testing

PKGTYPE=binary

FILECACHE=/var/cache/apt/archives

LISTSTATE=/var/lib/apt/lists

DELETE=no

MAXDELETE=20

STRICTMOVE=no

31.20.4. Crear la carpeta visible por apache

mkdir /var/www/apt/

31.20.5. Donde guarda los paquetes

ll /var/cache/apt/archives

31.20.6. Creamos el repositorio

apt-move update

31.20.7. Modificar el sources.list

Esto se hace en las máquinas q acceden al repositorio.


nano /etc/apt/sources.list

deb http://192.168.100.2/apt testing main contrib non-free

31.21. Prácticas
1. Mirar el ayuda:
Desde konqueror poner: man:apt
Desde consola: man apt (se sale pulsando q)

2. Cambiar el fichero /etc/apt/source.list para que acceda a internet


Hacer una copia antes del fichero existente para no pederlo:
cp /etc/apt/source.list /etc/apt-source.list1

Copiar el fichero del servidor web a la carpeta /etc/apt/:


Entrar al konqueror, y poner : http://192.168.100.3/apt/source.list

Por Paco Aldarias 117/449


Linux

Copiarlo en: /etc/apt/source.list

Actualizar base de datos: #apt-get update

3. Los paquetes de ayuda se llaman manpage. Veamos como buscar los paquetes de manpa-
ge en español e instalarlos.

# apt-cache search manpage


Busca los paquetes
# apt-get install manpages-es manpages-es-extra
Instala estos paquetes

4. Cambiar el fichero /etc/apt/sources.list para que acceda a internet por proxy

Hacer una copia antes del fichero existente para no pederlo:


#cp /etc/apt/sources.list /etc/apt/sources.list2

Copiar el fichero en del servidor web:


Entrar al konqueror, y poner : http://192.168.100.3/apt/sources.list-proxy
Copiarlo como: /etc/apt/source.list
Actualizar base de datos:
#apt-get update

Actualizar los paquetes:


#apt-get upgrade

5. Entrar en tasksel e instalar. Location: Spanish Enviroment. Con esto se instalara los paque-
tes necesarios para el entorno en español.

Nota: Después de instalar esto, hay q hacer desde un usuario normal para que coja el en-
torno español:

$ set-language-env

6. Veamos q pasa cuando se instala un paquete. Realizar el siguiente proceso.


Ver que es el paquete ssh:
#apt-cache show ssh

Instalar el paquete ssh (secure shell):

# apt-get install ssh


(Dejar todas las opciones por defecto)
Ver que paquetes se han instalado:

# dpkg -L ssh

Buscar en el fichero sshd en que paquete esta instalado:

# dpkg -S sshd

Por Paco Aldarias 118/449


Linux

31.22. Indicarle el proxy al apt


Posibilidades:

1. En el .bashrc p en el /etc/profile agregas

export http_proxy=http://ipdelproxy:80/

2. Añadiendo la linea siguiente en el fichero de configuracion de apt, /etc/apt/apt.conf :

Acquire::http::Proxy "http://dir_ip_del_proxy:puerto_proxy";

31.23. Suprimir los paquetes inútiles del sistema: deborpan


apt-get remove --purge ‘deborpan‘

31.24. Forzar la instalación de paquetes: dpkg -i –force-all


dpkg -i --force-all \
/var/cache/apt/archives/gcc-3.3_1%3a3.3.4-6sarge1.1_i386.deb \
/var/cache/apt/archives/libstdc++5-3.3-dev_1%3a3.3.4-6sarge1.1_i386.deb \
/var/cache/apt/archives/g++-3.3_1%3a3.3.4-6sarge1.1_i386.deb \
/var/cache/apt/archives/libg2c0_1%3a3.3.4-6sarge1.1_i386.deb \
/var/cache/apt/archives/libg2c0-dev_1%3a3.3.4-6sarge1.1_i386.deb \
/var/cache/apt/archives/g77-3.3_1%3a3.3.4-6sarge1.1_i386.deb

31.25. Para buscar el paquete que viene un programa


Desde consola como root:

dpkg -S ‘which dig‘

31.26. Bibliografı́a
1. Mas ayuda instalando:
apt-get install apt-howto-es
Abriremos el ayuda con:
/usr/share/doc/Debian/apt-howto/index.es.html
2. Ubicación de este documento:
http://pagina.de/pacodebian/
3. Debian
http://www.debian.org/doc/manuals/apt-howto/index.es.html
4. Adding the Package to Your Archive
http://www.togaware.com/linux/survivor/Adding Package.html
5. Articulo Apt-move.
http://bulma.net/body.phtml?nIdNoticia=667

Por Paco Aldarias 119/449


Linux

Capı́tulo 32

Servidor Web Apache

32.1. Teorı́a
Un servidor web es aquel q permite mostar las paginas web.
Utilizaremos el servidor web apache
Los servidores web utilizan el puerto 80 para comunicarse.
Apache es uno de los servidores más utilizados en linux, además de ser potente y altamente
configurable.
La página web de apache es: http://www.apache.org/

Figura 32.1: Apache

32.2. Práctica
Hay q ser root para realizar todas estas actividades.

1. Instalarlo: #apt-get install apache


2. Reiniciar el demonio:# /etc/init.d/apache restart
3. Parar el demonio: #/etc/init.d/apache stop
4. Arrancar el demonio: #/etc/init.d/apache start
5. Ver Fichero de configuración: #cat /etc/apache/httpd.conf
6. Ver quien entra: # cat /var/log/apache/access.log
7. Ver vuestra ip (ip address) : #ifconfig
8. Ver si funciona el servidor: Ir al navegador y poner http:
x.x.x.x Siendo x.x.x.x vuestra ip.
9. Ver que ficheros tiene el servidor:
#ls -la /var/www/

Por Paco Aldarias 120/449


Linux

32.3. Ejercicios
1. Probar q funciona el servidor desde otro ordenador.

2. Coger una página web y ponerla en el servidor web, y después abrila.

Por Paco Aldarias 121/449


Linux

Capı́tulo 33

Servidor Ftp: Proftp

33.1. Teorı́a
FTP quiere decir File Transfer Protocol
Este protocolo permite acceder a los archivos de una maquina q hace de servidor ftp.
El servidor ftp trabaja sobre el puerto 21.
Existen varias formas de acceder al servidor:
- Por ftp anonimo: No hace falta contraseña
- Como usuario: Hace falta introducir el usuario y la contraseña.
Existen varios servidores ftp en linux, tales como: wuftp, proftp
Y clientes ftp tambien existen varias: ftp, gftp. Como cliente, tb se puede entrar desde el navega-
dor poniendo: ftp://x.x.x.x siendo x.x.x.x la ip o el nombre de la máquina.

33.2. Instalar el servidor


x Instalar el servidor ftp:
# apt-get install proftpd
Para ver el contenido que mostara el servidor anónimo es:
ls -la /home/ftp/
Para ver la configuración del servidor:
cat /etc/proftpd.conf

33.3. Fichero de configuración:


Vamos a ver como deberia ser el fichero de configuración:

/etc/proftpd.conf

Se puede conseguir aqui: proftpd.conf


Su contenido es:
# Fichero / etc / proftpd
# Por Paco A l d a r i a s

Por Paco Aldarias 122/449


Linux

# Realizado e l 1 0 . 1 2 . 0 2

# T h i s i s a b a s i c ProFTPD c o n f i g u r a t i o n f i l e ( rename i t t o
# ’ p r o f t p d . conf ’ f o r a c t u a l use . I t establishes a single server
# and a s i n g l e anonymous l o g i n . I t assumes t h a t you have a user / group
# ” nobody ” and ” f t p ” f o r normal o p e r a t i o n and anon .

ServerName ” Debian ”
ServerType standalone
DeferWelcome off

MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
AllowOverwrite on

TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200

DisplayLogin welcome . msg


DisplayFirstChdir . message
LsDefaultOptions ”− l ”

DenyFilter \∗.∗/

# Uncomment t h i s i f you are u s i n g NIS o r LDAP t o r e t r i e v e passwords :


# PersistentPasswd off

# P o r t 21 i s t h e s t a n d a r d FTP p o r t .
Port 21

# To p r e v e n t DoS a t t a c k s , s e t t h e maximum number o f c h i l d processes


# to 30. I f you need t o a l l o w more than 30 c o n c u r r e n t c o n n e c t i o n s
# a t once , s i m p l y i n c r e a s e t h i s v a l u e . Note t h a t t h i s ONLY works
# i n s t a n d a l o n e mode , i n i n e t d mode you should use an i n e t d s e r v e r
# t h a t a l l o w s you t o l i m i t maximum number o f processes per s e r v i c e
# ( such as x i n e t d )
MaxInstances 30

# Set t h e user and group t h a t t h e s e r v e r n o r m a l l y runs a t .


User nobody
Group nogroup

# Normally , we want f i l e s t o be o v e r w r i t e a b l e .
<D i r e c t o r y /∗>
# Umask 022 i s a good s t a n d a r d umask t o p r e v e n t new f i l e s and d i r s
# ( second parm ) from being group and w o r l d w r i t a b l e .
Umask 022 022

AllowOverwrite on
</ D i r e c t o r y >

# A b a s i c anonymous c o n f i g u r a t i o n , no upload d i r e c t o r i e s .

Por Paco Aldarias 123/449


Linux

# These l i n e s are marked w i t h ## p r o f t p d . deb anon access## so t h a t t h e y


# can be recognized , and e d i t e d by p o s t i n s t . You can remove them once
# you ’ r e sure you don ’ t want t o keep them around .

<Anonymous ˜ f t p >
User ftp
Group nogroup
# We want c l i e n t s t o be a b l e t o l o g i n w i t h ” anonymous ” as w e l l as ” f t p ”
UserAlias anonymous f t p

RequireValidShell off

# L i m i t t h e maximum number o f anonymous l o g i n s


MaxClients 10

# We want ’ welcome . msg ’ d i s p l a y e d a t l o g i n , and ’ . message ’ d i s p l a y e d


# i n each newly c h d i r e d d i r e c t o r y .
DisplayLogin welcome . msg
DisplayFirstChdir . message

# L i m i t WRITE everywhere i n t h e anonymous c h r o o t


<D i r e c t o r y ∗>
<L i m i t WRITE>
DenyAll
</ L i m i t >
</ D i r e c t o r y >

# Uncomment t h i s i f you ’ r e brave .


# <D i r e c t o r y incoming>
# # Umask 022 i s a good s t a n d a r d umask t o p r e v e n t new f i l e s and d i r s
# # ( second parm ) from being group and w o r l d w r i t a b l e .
# Umask 022 022
# <L i m i t READ WRITE>
# DenyAll
# </ L i m i t >
# <L i m i t STOR>
# AllowAll
# </ L i m i t >
# </ D i r e c t o r y >

</Anonymous>

Puedes bajar este archivo y copiarlo, ası́ ya tienes configurado tu servidor.

33.4. Obligar a los usuarios a no salir de su home


Ası́ todos los usuarios que no pertenezcan al grupo users no pueden salir de su home. Quien si
pertenece puede salir.
Desde consola como usuarios root:
nano /etc/proftpd.conf

<Global>
DefaultRoot ~ !users
</Global>

Por Paco Aldarias 124/449


Linux

33.5. Control del ancho de banda con proftp


Esto no permite leer mas de 7bytes por segundo de disco

TransferRate RETR 7:0 group !paco


MaxClients 20 "550 Too Many Users (Limit=%m)"
MaxClientsPerHost 1 "551 One connection per IP"

33.6. Monitor de ftp


Desde consola como root:
ftptop

33.7. Clientes ftp


Comprobar q funciona el servidor:
Sabiendo que x.x.x.x la ip o el nombre de la maquina.
Entrar desde el navegador poniendo:

Para entrar como anonimo:

ftp://x.x.x.x

Para entrar como un usuario, hay estas posibilidades:

ftp://usuario@contare~na:x.x.x.x \\
ftp://usuario:x.x.x.x

33.8. Mas información


La página web oficial: http://www.proftpd.org/

Direción interesante: http://bulmalug.net/body.phtml?nIdNoticia=1344

man:proftpd

Por Paco Aldarias 125/449


Linux

Capı́tulo 34

Compartir el escritorio: Vnc

34.1. Teorı́a
VNC quiere decir Virtual Network Computing.

Permite compatir el escritorio entre máquinas de una red.

Esto va a permitir q los alumnos puedan ver el monitor del profesor y a la inversa.
Existen dos puntos de vista

Quien comparte o muestra su escritorio (servidor).

Quien quiere ver un escritorio (cliente).

34.2. El Servidor
Instalar el servidor:
(Siendo root)
apt-get install vncserver

Configurar la contraseña
(Siendo un usuario. No siendo root)
vncserver
(Poner como contraseña infocole )

Arrancar el servidor:
(Siendo un usuario. No siendo root)
vncserver :1

Nota: Podemos poner más parametros:


vncserver :1 -depth 16 -geometry 800x600

Siendo:
depth : el número de colores
geometry: el tamaño de la ventana (640x480, 800x600, 1024x768)

Por Paco Aldarias 126/449


Linux

Parar el servidor:
(Siendo un usuario. No siendo root)
vncserver -kill :1

Cambiar la contraseña:
(Siendo un usuario. No siendo root)
vncpasswd

Sino funciona el servidor:


Editar el fichero $HOME/.xsession
nano $HOME/.xsession

Escribir:
exec startkde

34.3. Los clientes


El cliente lo que hace es abrir otra sesión de X, en el servidor. Es decir, nos conectarnos a uan
máquina para ver su escritorio, pero no el q actulamente este utilizando.

Instalar el cliente:
(Siendo root)
apt-get install xvncviewer

Conectarse a una máquina:


(Siendo un usuario. No siendo root)
xvncviewer -viewonly x.x.x.x:1

Siendo:
x.x.x.x es la ip de la máquina
Poner como password: infocole

34.4. Vnc con un navegador


Es posible ver el escritorio remoto con el navegor..
Veamos como hacerlo:

Instalar el java en la máquina servidor y cliente:


(Siendo root)
apt-get install vnc-java

Ejecutar el servidor con soporte java


(siendo un usuario, no root)
vncserver -basehttpport 8080:1

Por Paco Aldarias 127/449


Linux

Ver el escritorio con el navegar


(debemos tener el soporte java activado)
http://x.x.x.x:8081/
Siendo x.x.x.x la ip del servidor

34.5. Cliente vnc mejorado: Conexión remota de escritorio


(krdc)
En las versiones de debian sarge existe la utilidad krdc
Desde consola como root poner: apt-get install krdc

dpkg -l | grep krdc


ii krdc 3.2.2-1 KDE Remote Desktop Client

Se puede crear un icono en el escritorio que llamaremos Conexión remota de escritorio en el


nombre, en comando pondremos:

krdc -caption "%c" %i %m

Activar el lanzamiento con retroalimentación

34.6. Vnc con x11


apt-get install x11vnc

x11vnc te lanza un servidor VNC de la misma sesion X que estas usando.

34.7. x0rfbserver
En linex venı́a un x0rfbserver que es un servidor de VNC pero conectado a la sesión X definida
por la variable DISPLAY.
Desde casa hago:

ssh ord_trabajo "DISPLAY=:0 x0rfbserver"

y ya puedo hacer un ’vncviewer ord trabajo’para ver como va lo que he dejado en marcha en el
escritorio.
Lo paro con Ctrl-C

34.8. Más información


Este artı́culo: http://usuario.tiscali.es/paco25abril/
Página oficial:http://www.realvnc.com/
Página oficial: http://www.uk.research.att.com/vnc/start.html
Artı́culo: http://www.linuxjournal.com/article.php?sid=5499

Por Paco Aldarias 128/449


Linux

Artı́culo para Redhat: http://inicia.es/de/pacolinux

Artı́culo: http://www.linuxfocus.org/Castellano/July2000/article155.shtml

Artı́culo: http://www.geocities.com/tallerlinux/howto-es.htm

man:vncserver

Por Paco Aldarias 129/449


Linux

Capı́tulo 35

Acceso a particiones windows


desde linux

35.1. Las particiones


Linux puede entrar en las particiones windows.
El disco duro se denomina:
hda (si es el ide1)
hdb (si es el ide2)
etc

Las particiones de un disco duro se denominan:


/dev/hda1 (particion 1, del disco duro hda)
/dev/hda2 (particion 2, del disco duro hda)
etc...

35.2. Ver nuestras particiones: fdisk


Ser root
su -

Entrar en fdisk para ver hda


fdisk /dev/hda

Ver la particiones
p

Anotarse cual es Windows y su /dev/hdax


Siendo x el numero de partición.

Salir de fdisk
q

35.3. Montaje de particiones windows: Mount


Ser root
su -

Por Paco Aldarias 130/449


Linux

Crear una carpeta donde montaremos esa partición


mkdir /hdc
(hdc va a contener la particion c de winedows )

Montar en hdc la particion windows /dev/hda1


mount -t vfat /dev/hda1 /hdc

Comprobar q esta montada:


df

Ver que contiene:


ls -la /hdc

Desmontar la particion
umount /hdc

35.4. Montaje Permanente de particiones windows


El montaje de una particion con mount desde consola, no es permanente, es decir, q si reinicia-
mos linux, no estará montada. Vamos a ver como se consigue q siempre q entremos a linux este
montada la particion windows en linux.

Ser root
su -

Cambiarse al directorio /etc


cd /etc

Hacer una copia de seguridad de fstab


cp fstab fstab1
Editar fstab
nano fstab

Añadir la linea al final


/dev/hda1 /hda vfat auto,user,defaults,rw 0 0

Grabar los cambios:


Control + O

Salir:
Control + X
Montar la particion
mount /hdc

35.5. Más información


Este artı́culo: http://usuario.tiscali.es/paco25abril/

man:mount

Por Paco Aldarias 131/449


Linux

Capı́tulo 36

Redes entre linux y windows:


Samba

36.1. Introducción
Samba permite compartir entre maquinas windows y linux recursos . Siendo un recurso una
carpeta o la impresora. Equivale al protocolo Netbios del windows.
El servidor samba:
Su demonio es smbd
Permite que las máquinas windows puedan acceder a linux
Para ello el servidor debera indicar que carpetas quiere compartir windows.

El cliente samba:
Permite acceder linux a recursos compartidos por máquinas windows.
Deberemos decir en que carpeta linux pondrá los recursos de máquinas windows.

Los pasos para instalación del servidor samba son:


Configurar el servidor
Reiniciar el servidor

Los pasos para instalación el cliente samba son:


Crear una carpeta donde montar el recurso
Montarla

36.2. El Servidor
Los pasos para instalar el servidor samba son:
Instalar el servidor samba
Dar de alta usuarios.
Configurar el servidor
Reiniciar el servidor

Por Paco Aldarias 132/449


Linux

36.2.1. Instalar el servidor samba

# apt-get install samba


Una vez instalado se activa el samba y se configura por defecto.
Debemos indicarle en la instalación workgroup (grupo de trabajo) el nombre de infole
El resto de opciones dejarlas por defecto.

36.2.2. Dando de alta usuarios

Para q un usuario de windows pueda entrar en las carpeta compartidas por linux, antes debera
estar dado de alta. Deberemos hacer coincidir el usuario y contaseña de windows y de linux.
Añadiremos los usuarios linux asi:
#useradd usuariowindows
#passwd usuariowindows

Ejemplo:
#useradd prueba
#passwd prueba

Ahora un entrando desde windows como usuario prueba y contraseña prueba, podremos entrar
el las carpetas de linux q le indiquemos.

36.2.3. Comandos sobre el servidor


Arrancar el servidor:
# /etc/init.d/samba start
Arrancando el servidor:
# /etc/init.d/samba start
Reiniciando el servidor:
# /etc/init.d/samba restart
Quien usa el servidor:
# smbstatus
Estado del servidor:
#testparm
Nota: Este comando comprueba el fichero de configuración del samba que es:
/etc/samba/smb.conf

36.2.4. Configuración del servidor

Para ver el fichero de configuración:


# cat /etc/samba/smb.conf
Para editar el fichero de configuración:
# nano /etc/samba/smb.conf
Hay q cambiar el fichero de configuración del samba para que se adapta a nuestra red. Este
fichero deberá grabarse en /etc/samba
Crearemos una carpeta que sera pública, es decir, q la vera cualquier maquina, llamada compar-
tir:
mkdir /compartir

Por Paco Aldarias 133/449


Linux

Veamos un ejemplo: smb.conf


#−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
# F i c h e r o / e t c / samba / smb . c o n f
# C o n f i g u r a c i ó n d e l s e r v i d o r samba
# Por Paco A l d a r i a s
# Realizado e l 1 2 . 0 1 . 0 3
# −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

# G l o b a l parameters
[ global ]
# Grupo de t r a b a j o
workgroup = i n f o c o l e

# Nombre d e l ordenador
n e t b i o s name = alumno

s e r v e r s t r i n g = %h s e r v e r ( Samba %v )
s e c u r i t y = SHARE
guest users = Yes
guest account = nobody
l o g f i l e = / v a r / l o g / samba / l o g. %m
max l o g s i z e = 1000

# Ordenadores p e r m i t i d o s
hosts allow = 192.168.100.0/24

[ homes ]
comment = Home D i r e c t o r i e s
read o n l y = No
c r e a t e mask = 0700
d i r e c t o r y mask = 0700
guest ok = Yes

[ printers ]
comment = A l l P r i n t e r s
path = / tmp
c r e a t e mask = 0700
p r i n t a b l e = Yes
browseable = No

[ compartir ]
comment = % U home
path = / c o m p a r t i r
guest ok = Yes
p u b l i c = Yes
browseable = Yes
c r e a t e mode = 0777

Debemos editar este fichero y poner el nombre de la maquina PCX, siendo X el número del
ordenador.

Por Paco Aldarias 134/449


Linux

36.3. El cliente samba

36.3.1. Los pasos para instalar el servidor samba


Instalar el cliente samba
Crear en linux una carpeta, para montar la carpeta compartidas de windows
Montar en linux, la carpeta de windows

36.3.2. Instalar el cliente samba

# apt-get install smbclient

36.3.3. Vemos que comparte windows

#smbclient -L x.x.x.x Siendo x.x.x.x la direccion ip de la maquina windows.


Ejemplo:smbclient -L 192.168.100.4

36.3.4. Creamos una carpeta en linux

# mkdir /mnt/win
Montamos la carpeta compartida por windows q se llama c, con linux se llamará /mnt/win
# smbmount //x.x.x.x/c /mnt/win
Ejemplo: # smbmount //192.168.100.4/c /mnt/win

36.3.5. Prueba del servidor y del cliente

Para entra en maquinas windows: Podemos acceder a un ordenador con windows desde linux, a
traves de konqueror poniendo:
smb://x.x.x.x/
Siendo x.x.x.x la ip del ordenador con windows

Para entrar a maquinas linux:


Entrar en windows con una usuario de linux,
Entrar en entorno de red, y ver q se accede a esa maquina.

36.4. Utilidades
Hay una serie de utilidades o herramientas q permiten gestionar de forma grafica samba. Estas
herramientas son:

1. swat : configura samba mediante navedador


2. webmin: configura samba mediante navedador
3. linneighborhood. Entrono grafico para cliente samba
4. komba2: Entorno gráfico para cliente samba
5. linpopup: Similar a winpopup. Permite envio de mensajes cortos a winpopup de windows.

Por Paco Aldarias 135/449


Linux

36.5. Añadir una impresora en red de linux para windows en


kde
Este caso, es cuando uno tiene en linux una impresora, se tiene instalado cups como administra-
dor de impresión, y queremos imprimir con windows.

1. Ir a Centro de control de KDE - periféricos - impresoras.

2. Te aseguras de que usas CUPS como sistema de impresión.

3. Botón derecho sobre el área de la lista de impresoras - añadir impresora - impresora SMB.

4. Pones como URI ”smb://ordenador/impresora”, con un nombrado igual que en güindous.

36.6. Bibliografı́a
1. Ubicación de este documento:
http://usuario.tiscali.es/paco25abril/

2. Pagina de linux:
http://inicia.es/de/pacolinux

3. Netfilter:
http://netfilter.samba.org/links.html#networking

4. Configurar Samba:
http://lucas.hispalinux.es/Manuales-LuCAS/USANDO-SAMBA/usando-samba-html/

5. Configurar samba:
http://www.samtek.es/traducciones/samba-es/introduccion.html

6. man: samba

7. Cómo montar un servidor Samba PDC en una red de máquinas MS Windows XP


http://www.diariolinux.com/articulos/printable.php?f=17

Por Paco Aldarias 136/449


Linux

Capı́tulo 37

Compartir carpetas entre linux: NFS

37.1. Introducción
(Network File System) es el permite compartir un sistema de ficheros en red. En concreto linux
puede compartir sus carpetas entre maquinas linux con NFS Debe de indicarse en la instalacion
q instale NFS Hay dos puntos de vista:
- Servidor: Comparte
- Cliente: Monta carpetas q el servidor comparte

37.2. Instalar el software


Hay q instalar el programa: nfs-user-server, nfs-common:

apt-get install nfs-user-server nfs-common

37.3. Servidor NFS


Indicar q carpetas se comparten en el fichero /etc/exports:

Fomato es: carpeta aquien permisos

Ej.

/ 192.168.0.0/255.255.255.0 (rw)

Esto Comparte / a los ordenadores de las red 192.168.0.0

Para ver que esta montado:

rpcinfo -p

Debe aparecer nfs

Arrancar el servidor:

Por Paco Aldarias 137/449


Linux

/etc/init.d/nfs-user-server start

Parar el servidor:

/etc/init.d/nfs-user-server stop

37.4. Cliente NFS


En el ordenador cliente veremos las carpetas que el ordenador servidor, comparte (o exporta).

Crear las carpetas donde montar la carpetas de otra maquina (servidor)

mdkdir carpeta

Ejemplo:

mkdir /mnt/pilar/

Creamos la carpeta pilar


Montar la carpeta de la otra maquina en nuestra maquina

mount -t nfs direccion-ip-servidor:/carpeta-servidor /carpeta-local

Ejemplo:
Si la otra maquina tiene la ip: 192.168.0.2 seria:

mount -t nfs 192.168.0.2:/ /mnt/pilar

Para desmontar la carpeta de la otra maquina en nuestra maquina.

umount /carpeta-montada

Ejemplo:

umount /mnt/pilar

Para que el montaje sea permanente añadir al fichero: /etc/fstab

192.168.0.2:/carpeta-remota /carpeta-local nfs default 0 0

Para ver sistemas montados

df

37.5. Con Konqueror


Si queremos conectar con la máquina 10.0.0.25 De manera fácil: abre un Konqueror en una
máquina. Pon en la barra de direcciones ”fish://10.0.0.25”(KDE 3.1 o KDE 2.2.2) o sftp://10.0.0.25
(KDE 3.0.5). Te pedirá login y password.

Por Paco Aldarias 138/449


Linux

37.6. Ejercicios NFS


1. Solicitar al profesor q cree una carpeta con tu usuario, descpués montarla en tu ordenador.

2. Igual q el anterior, pero q monte la carpeta de cualquier usuario.

3. Compartir carpetas con el compañero, siendo primero servidor y luego cliente

Por Paco Aldarias 139/449


Linux

Capı́tulo 38

El kernel

38.1. Introducción
El núcleo o kernel es el corazón de linux.
Recomendable leer el Kernel Como:
http://es.tldp.org/COMO-INSFLUG/COMOs/Kernel-Como/Kernel-Como.html

38.2. Funciones
Las funciones mas importantes del mismo, aunque no las unicas, son:

1. Administracion de la memoria, para todos los programas en ejecucion.


2. Administracion del tiempo de procesador, que estos programas en ejecucion utilizan.
3. Es el encargado de que podamos acceder a los perifericos/elementos de nuestro ordenador
de una manera comoda.

38.3. Compilación
Estos pasos son indicados en el fichero REAME del kernel q nos bajamos, el cual se puede leer
una vez descomprimido.
Los pasos son:

1. Bajarse el nucleo
Se puede bajar el último nucleo desde:
http://www.linux-es.com/kernel.php
http://www.kernel.org
Actualmente la última versión estabale es el 2.4.20, aunque debian woody traer la 2.4.18
Nota: En el aula podemos cogerlo desde donde diga el profesor y guardarlo en la carpeta
del usuario.
2. Descomprimirlo
Movemos el fichero a la carpeta /usr/src/:
#mv /home/usuario/linux-2.4.20.tar.bz2 /usr/src/
Nos cambiamos a la carpeta /usr/src/:
#cd /usr/src/

Por Paco Aldarias 140/449


Linux

3. Instalar bzip2, para descomprimir:


#apt-get install bzip2

4. Descomprimimos:
#tar jxvf linux-2.4.20.tar.bz2

5. Para poder ejecutar make menuconfig, hay q instalar los paquetes:


#apt-get install make gcc ncurses-bin libncurses5-dev

Para poder ejecutar make xconfig (qt interface), hay q instalar:


#apt-get install libqt3-dev make gcc bin86 libc6-dev kernel-package module-init-tools
Para poder ejecutar make gconfig (gtk interface de gnome), hay q instalar:
# apt-get install libglade2-dev make gcc bin86 libc6-dev kernel-package module-init-tools

6. Pasarse a la carpeta /usr/src/linux-2.4.20/


# cd /usr/src/linux-2.4.20/

7. Coger la configuración del nucleo antigua:


# make oldconfig
Al salir nos crea un fichero .config
Al terminar haremos una copia para no perderla:
cp .config .config-oldconfig

8. Configurar el núcleo
# make menuconfig
Al salir guardando nos crea un fichero .config

9. Compilarlo (esta versión para el kernel con módulos)


#make dep
#make bzImage
#make modules
#make modules install

10. Ponemos el núcleo bzImage en /boot/


#cp /usr/src/linux-2.4.20/arch/i386/boot/bzImage /boot/linux2420

11. Cambiar el lilo


#nano /etc/lilo.conf

Anadir esto:

image=/boot/linux2420
label=Linux2420
read-only

12. Actualizar el arranque


#lilo -v

13. Reiniciar el ordenador

14. Ejecutar para resolver las dependencias: #depmod -a

Por Paco Aldarias 141/449


Linux

Figura 38.1: Make menuconfig

38.4. Configurar el kernel: Make menuconfig


Permite sacar un menu con todas las opciones del kernel que queremos. Es equivalente poner:
make config
make menuconfig
make xconfig

Make menuconfig es el recomendable, y para poder usarlo hay q instalar los paquetes:
make gcc, ncurses-bin libncurses5-dev
Empecemos el proceso.

Ir a la carpeta donde esta el núcleo descomprimido


#cd /usr/src/linux-2.4.20

Leer la ayuda q viene:


#less README

Leer mas documentación:


#ll /usr/src/linux-2.4.19/Documentation/

Ejecutarlo:
# make menuconfig

Es importante coger la cpu q tenermos en la opción: Processor Type

Nos genera un fichero llamado .config, donde se guarda lo que hayamos introducido Es bueno
hacer una copoia de este fichero por si tenemos q volver a la situación anterior.

Por Paco Aldarias 142/449


Linux

38.5. Ver el log del kernel


# dmesg Nos informa de las opciones cargadas

38.6. Mas documentación


Hacer make psdocs o make pdfdocs o make htmldocs y mira en el directorio Documentation

38.7. Otra forma de compilar


Ahi una manera la mar de facil para recompilar el kernel en debian,
————Copipasteo de una receta de la espiral ————–

1o Instalar:
kernel-package kernel-source-2.4.3
kernel-doc-2.4.3 fakeroot tcl8.2-dev tk8.2-dev.

2o Desempaquetamos:

/usr/src/
tar xvIf /usr/src/kernel-source-2.4.3.tar.bz2
ln -s kernel-source-2.4.3 linux
cd linux/

3 Arrancamos la herramienta gráfica de configuración:

make xconfig

Recuerdo que es mejor entrar como superusuario con

ssh root@localhost

4 Compilamos:

make-kpkg cleantime make-kpkg --revision=mio1 kernel_image

5 Instalamos:

dpkg --install /usr/src/kernel-image-2.4.3_mio1_i386.deb

6 Ajustamos el arranque para permitir el arranque de los dos kernel:


el antiguo por si hay problemas, y el nuevo. El /etc/lilo.conf deberı́a parecerse a:

boot=/dev/hda
compact
vga=ext
prompt
timeout=300
default=linux

image=/vmlinuz

Por Paco Aldarias 143/449


Linux

root=/dev/hda2
label=linux
read-only

image=/boot/vmlinuz-2.2.19pre17
root=/dev/hda2
label=linux-old
read-only

other=/dev/hda1
label=win

7 Ejecutamos:

lilo

y reiniciamos con el nuevo kernel.

38.8. Otra forma de tener el nuevo kernel


Teniendo debian 3.o y no me iba el sonido. El soporte para AC97 lo puedes tener de la siguiente
forma. Lo primero es bajarte el ultimo kernel ya compilado para debian.
#apt get install kernel-image-2.4.18-686 (en el caso de que tengas un 686)
#apt get install kernel-headers-2.4.18-686 (lo mismo de antes)
luego te vas a /usr/src y haces un enlace simbólico a la carpeta /usr/src/linux (si no la tienes la
creas)
#ln -s /usr/src/kernel-headers-2.4.18-686 /usr/src/linux
Una vez hecho eso y configurado el lilo para que te cargue ese kernel (si no sabes cómo dimelo
y te lo explico). Una vez arrancado el nuevo kernel (compruebalo con uname -a) haces
#modconf
y alli ya encontrarás para cargar en el kernel el módulo de la ac97

38.9. Hacer que ordenador se apage

General setup
<*> Advanced Power Management BIOS support
Ignore USER SUSPEND
[*] Enable PM at boot time
Make CPU Idle calls when idle
Enable console blanking using APM
RTC stores time in GMT
[*] Allow interrupts during APM BIOS calls
[*] Use real mode APM BIOS call to power off

Notas:

1. Fijate bien las especificaciones de tu placa. Si es ACPI compila el kernel con soporte para
acpi y NO para apm.
2. Si no se apaga añadir en /etc/lilo.conf

Por Paco Aldarias 144/449


Linux

append="apm=power-off"

38.10. Configurar el kernel para que soporte iptables


Ejemplo para 2.4.20 kernel

Code maturity level options --->


[*] Prompt for development and/or incomplete code/drivers

Networking options --->


[*] Network packets filtering (replace ipchains)

Networking options --->


IP: Netfilter Configuration --->
<M> Connection tracking (required for masq/NAT)
<M> FTP protocol support
<M> IRC protocol support
<M> IP tables support (required for filtering/masq/NAT)
<M> limit match support
<M> MAC address match support
<M> Packet type match support
<M> netfilter MARK match support
<M> Multiple port match support
<M> TOS match support
<M> LENGTH match support
<M> TTL match support
<M> tcpmss match support
<M> Connection state match support
<M> Connection tracking match support
<M> Unclean match support (EXPERIMENTAL)
<M> Packet filtering
<M> REJECT target support
<M> Full NAT
<M> MASQUERADE target support
<M> REDIRECT target support
<M> Packet mangling
<M> TOS target support
<M> MARK target support
<M> LOG target support
<M> TCPMSS target support

38.11. Conficurar el kernel para grabadora pci


IDE, ATA and ATAPI Block devices
<*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
<*> SCSI emulation support
< > Include IDE/ATAPI CDROM support
<*> SCSI emulation support

SCSI support

Por Paco Aldarias 145/449


Linux

<*> SCSI support


<*> SCSI CD-ROM support
[*] Enable vendor-specific extensions (for SCSI CDROM) (NEW)
<*> SCSI generic support

Block devices
<M> Loopback device support

Más información en: grabadora.html

38.12. Configuración de mi kernel


Vamos a ver q eligo con make menuconfig con kernel 2.4.20:

38.12.1. Code maturity level options

Prompt for development and/or incomplete code/drivers

38.12.2. Loadable module support

[*] Enable loadable module support


[*] Set version information on all module symbols
[*] Kernel module loader

38.12.3. Processor type and features

(K6/K6-II/K6-III) Processor family


[*] Machine Check Exception
< > Toshiba Laptop support
< > Dell laptop support
< > /dev/cpu/microcode - Intel IA32 CPU microcode support
<M> /dev/cpu/*/msr - Model-specific register support
<M> /dev/cpu/*/cpuid - CPU information support
(off) High Memory Support
Math emulation
MTRR (Memory Type Range Register) support
Symmetric multi-processing support
[*] Local APIC support on uniprocessors
IO-APIC support on uniprocessors
Unsynced TSC support

38.12.4. General setup

[*] Networking support


[*] PCI support
(Any) PCI access mode
ISA bus support
[*] PCI device name database
EISA support

Por Paco Aldarias 146/449


Linux

MCA support
[*] Support for hot-pluggable devices
PCMCIA/CardBus support --->
PCI Hotplug Support --->
[*] System V IPC
BSD Process Accounting
[*] Sysctl support
(ELF) Kernel core (/proc/kcore) format
<*> Kernel support for a.out binaries
<*> Kernel support for ELF binaries
<*> Kernel support for MISC binaries
[*] Power Management support
<*> Advanced Power Management BIOS support
[ ] Ignore USER SUSPEND
[*] Enable PM at boot time
[ ] Make CPU Idle calls when idle
[ ] Enable console blanking using APM
[ ] RTC stores time in GMT
[*] Allow interrupts during APM BIOS calls
[*] Use real mode APM BIOS call to power off

38.12.5. Memory Technology Devices (MTD)

< > Memory Technology Device (MTD) support

38.12.6. Paralle Parallel port support

<M> PC-style hardware


<M> Multi-IO cards (parallel and serial)
< > Support for PCMCIA management for PC-style ports
[ ] Support foreign hardware
[*] IEEE 1284 transfer modesl port support

38.12.7. Plug and Play configuration

<*> Plug and Play support


<*> ISA Plug and Play support

38.12.8. Block devices

<*> Normal floppy disk support


< > Parallel port IDE device support
< > Compaq SMART2 support
< > Compaq Smart Array 5xxx support
< > Mylex DAC960/DAC1100 PCI RAID Controller support
<M> Loopback device support
<M> Network block device support
<M> RAM disk support
(4096) Default RAM disk size
Per partition statistics in /proc/partitions

Por Paco Aldarias 147/449


Linux

38.12.9. Multi-device support (RAID and LVM)

Multiple devices driver support (RAID and LVM)

38.12.10. Networking options

<*> Packet socket


[ ] Packet socket: mmapped IO
<M> Netlink device emulation
[*] Network packet filtering (replaces ipchains)
[*] Network packet filtering debugging
[*] Socket Filtering
<M> Unix domain sockets
[*] TCP/IP networking
[*] IP: multicasting
[*] IP: advanced router
[*] IP: policy routing
[*] IP: use netfilter MARK value as routing key
[*] IP: fast network address translation
[*] IP: equal cost multipath
[*] IP: use TOS value as routing key
[*] IP: verbose route monitoring
[*] IP: large routing tables
[ ] IP: kernel level autoconfiguration
< > IP: tunneling
<M> IP: GRE tunnels over IP
[*] IP: broadcast GRE over IP
[ ] IP: multicast routing
[*] IP: TCP Explicit Congestion Notification support
[*] IP: TCP syncookie support (disabled per default)
IP: Netfilter Configuration --->
< > 802.1Q VLAN Support
---
< > The IPX protocol
< > Appletalk protocol support
Appletalk devices --->
< > DECnet Support
< > 802.1d Ethernet Bridging
QoS and/or fair queueing --->
Network testing --->

IP: Netfilter Configuration


<*> Connection tracking (required for masq/NAT)
<*> FTP protocol support
<*> IRC protocol support
<*> IP tables support (required for filtering/masq/NAT)
<*> limit match support
<*> MAC address match support
<*> Packet type match support
<*> netfilter MARK match support
<*> Multiple port match support
<*> TOS match support
<*> ECN match support
<*> DSCP match support
<*> AH/ESP match support

Por Paco Aldarias 148/449


Linux

<*> LENGTH match support


<*> TTL match support
<*> tcpmss match support
<*> Helper match support
<*> Connection state match support
<*> Connection tracking match support
<*> Packet filtering
<*> REJECT target support
<*> Full NAT
<*> MASQUERADE target support
<*> REDIRECT target support
[*] NAT of local connections (READ HELP)
<*> Packet mangling
<*> TOS target support

38.12.11. Character devices

[*] Virtual terminal


[*] Support for console on virtual terminal
<*> Standard/generic (8250/16550 and compatible UARTs) serial support
[*] Support for console on serial port
[ ] Extended dumb serial driver options
[ ] Non-standard serial port support
[*] Unix98 PTY support
(256) Maximum number of Unix98 PTYs in use (0-2048)
<M> Parallel printer support
[*] Support for console on line printer
<M> Support for user-space parallel port device drivers

I2C support --->


Mice --->
Joysticks --->
< > QIC-02 tape support

Watchdog Cards --->


< > AMD 768 Random Number Generator support
< > Intel i8x0 Random Number Generator support
< > AMD 76x native power management (Experimental)
< > /dev/nvram support
< > Enhanced Real Time Clock Support
< > Double Talk PC internal speech card support
< > Siemens R3964 line discipline
< > Applicom intelligent fieldbus card support
Ftape, the floppy tape device driver --->
<*> /dev/agpgart (AGP Support)
[ ] Intel 440LX/BX/GX and I815/I820/I830M/I830MP/I840/I845/I850/I860 support
[ ] Intel I810/I815/I830M (on-board) support
[*] VIA chipset support
[ ] MD Irongate, 761, and 762 support
[ ] AMD 8151 support
[ ] Generic SiS support
[ ] ALI chipset support
[ ] Serverworks LE/HE support
[*] Direct Rendering Manager (XFree86 DRI support)
[*] Build drivers for old (XFree 4.0) DRM

Por Paco Aldarias 149/449


Linux

--- DRM 4.0 drivers


<*> 3dfx Banshee/Voodoo3+
< > 3dlabs GMX 2000
< > ATI Rage 128
< > ATI Radeon
< > Intel I810
< > Matrox G200/G400/G450

PCMCIA character devices --->


< > ACP Modem (Mwave) support

38.12.12. Multimedia devices

<M> Video For Linux


Video For Linux --->
Radio Adapters --->

Video For Linux


[*] V4L information in proc filesystem
< > I2C on parallel port
--- Video Adapters
< > Mediavision Pro Movie Studio Video For Linux
< > Quickcam BW Video For Linux
< > W9966CF Webcam (FlyCam Supra and others) Video For Linux
< > CPiA Video For Linux
< > SAA5249 Teletext processor
< > SAB3036 tuner
< > Zoran ZR36057/36060 Video For Linux
< > Zoran ZR36120/36125 Video For Linux

38.13. File systems


[*] Quota support
<*> Kernel automounter support
<*> Kernel automounter version 4 support (also supports v3)
< > Reiserfs support
<*> Ext3 journalling file system support
[*] JBD (ext3) debugging support
<*> DOS FAT fs support
<*> MSDOS fs support
< > UMSDOS: Unix-like file system on top of standard MSDOS fs
<M> VFAT (Windows-95) fs support
<M> Compressed ROM file system support
[*] Virtual memory file system support (former shm fs)
<M> ISO 9660 CDROM file system support
[*] Microsoft Joliet CDROM extensions
[*] Transparent decompression extension
< > JFS filesystem support
< > Minix fs support
< > FreeVxFS file system support (VERITAS VxFS(TM) compatible)
< > NTFS file system support (read only)
< > OS/2 HPFS file system support
[*] /proc file system support

Por Paco Aldarias 150/449


Linux

[*] /dev/pts file system for Unix98 PTYs


< > QNX4 file system support (read only)
<M> ROM file system support
<*> Second extended fs support
< > System V/Xenix/V7/Coherent file system support
< > UDF file system support (read only)
< > UFS file system support (read only)
Network File Systems --->
Partition Types --->
Native Language Support --->

38.14. Native Language Support


<*> Codepage 437 (United States, Canada)
<*> NLS ISO 8859-1 (Latin 1; Western European Languages)
<*> NLS ISO 8859-15 (Latin 9; Western European Languages with Euro)

38.15. Kernel 2.6

38.15.1. Disco Duro

Donde en el kernel 2.6 que en el 2.4 es hdx y el 2.6 pasa a Scsi (sdx)

38.15.2. Para evitar la pantalla negra

Device Drivers> Graphics Support>


[*] Support for frame buffer device
<*> VGA 16-colors graphics support
<*> VESA VGA Graphics support

> Console display driver support

[*] Video mode selection support


[*] Framebuffer console support
[*]Select compiled-in support
<*> VGA 8x8 fonts
<*> VGA 8x16 fonts

38.16. Bibliografia
1. Compiling a 2.6 kernel the Debian Way
http://anarka.org/linux/debian kernel.html

2. Como actualizar al Kernel 2.6 . http://www.evolucionlinux.com/modules.php?name=News&file=


article&sid=21

3. Instalar kernel 2.6


http://www.starlinux.net/forum/viewtopic.php?forum=21&showtopic=6630

Por Paco Aldarias 151/449


Linux

Capı́tulo 39

Demonios

39.1. Introducción
Al arrancar linux pone en marcha una serie de demonios que trabajan en segundo plano.
Estos demonios, se encuentran ubicados en /etc/init.d/

39.2. Como se ve los demonios q estan en marcha


# ps -axu
ps nos informa de los procesos (programas q hay en marcha en nuestra maquina

39.3. Operaciones sobre demonios


Todos los demonios se contralan con un script (fichero con ordenes).
Asi el demonio del servidor web apache tiene esta forma:
/etc/init.d/apache [stop—start—reload—restart]
Para pararlo:
/etc/init.d/apache stop
Para arrancarlo:
/etc/init.d/apache start
Para reiniciarlo:
/etc/init.d/apache restart
Estas operaciones arrancan, paran el demonio, pero la próxima vez q reiniciemos linux, los de-
monios se pondran otra vez en marcha.

39.4. Eliminar los demonios del arranque


Podemos quitar los demonios del arranque con update-rc.d.
Si quieremos quitar apache del arranque haremos:
# update-rc.d -f apache remove

Por Paco Aldarias 152/449


Linux

39.5. Niveles de arranque


Cuando arrancamos lo hacemos en un nivel.
Ese nivel lo indica el fichero: /etc/inittab
Debemos mirar en este fichero la linea:
# The default runlevel.
id:2:initdefault:

Este ejemplo arranca en el nivel 2. Eso quiere decir q se arrancaran los demonios indicados en
/etc/rc2.d/. El contenido de esta carpeta son enlaces simbolicos a /etc/init.d/.
Asi /etc/rc2.d/S20inetd, es un enlace a /etc/init.d/inetd. Es decir q arranca el demonio inetd. La
letra S es de Start, y el 20 es el orden que arrancará el demonio.
Podemos borrar el enlace en /etc/rc2.d/ al demonio y este no se pondra en marcha. Es decir,
evitara q se arraque el demonio con:

rm /etc/rc2.d/S20inetd

Si luego queremos q arraque haremos un enlace simbólico asi:


ln -s /etc/init.d/inetd /etc/rc2.d/S20inetd

39.6. Ver el funcionamiento de los demonios: logs


Podemos ver como funcionan los demonios mirando los logs.
Los logs se situan en /var/log/.
Para ver como funcionan todos los demonios :
cat /var/log/daemon
Pueden haber demonios con sus propios logs, asi podremos ver el log de apache con:
cat /etc/log/apache/access.log
También podremos ver como ha ido el arranque de los demonios con:
cat /etc/messages

39.7. Biblografia
1. Administración de los runlevels con update-rc.d
http://laespiral.org/recetas/1-100/receta34.html

Por Paco Aldarias 153/449


Linux

Capı́tulo 40

Sistema de ficheros seguro: EXT3

40.1. Introducción
Ext3 es una versión mejorada de Ext2. Dispone de un sistema q se apunta los cambios realizados
en los ficheros. Y ası́ si se apaga el ordenador de repente se recupera fácilmente.

40.2. Recuperación del sistema de ficheros ext2 dañado


Si apagamos la maquina inesperadamente deberemos recuperar el sistemas de ficheros del
siguiente modo:

Poner la contraseña de root:


fschk /dev/hdaX:
(siendo X el número de partición dañada q indica el mensaje de error)
Preguntara si queremos recuperar el inodo, decir a todo yes
Al finalizar reiniciar el sistema: # reboot

40.3. El núcleo y ext3


Deberemos tener soporte en el núcleo de ext3.
Se puede ver q lo soporta, mirando si aparece ext3, en el arranque con la orden: dmesg
o también

dmesg | grep ext

40.4. Como pasar de ext2 a ext3


Como root y desde consola:

Instalar software tune2fs:


apt-get install systune
Ver las particiones: # df

Por Paco Aldarias 154/449


Linux

Pasar a ext3:
tune2fs -j /dev/hdxx ( Cambiar las xx por tu partición)

Editar el fichero:
nano /etc/fstab
indicando que es ext3 en vez de ext2 para /dev/hdaX

Para ver como estan montadas las particiones:


#cat /proc/mounts

Creamos un Initial Ramdisk:


# mkinitrd /boot/initrd-version-del-kernel.img

Añadir en /lilo.conf:
initrd=/boot/initrd-version-del-kernel.img

Reiniciar linux

Recomendaciones:

Ver el tipo de cada particion: # fdisk /dev/hda


Pulsar p: para ver el tipo
Pulsar q: para salir

Desmontar la partición que quieras convertir:


# umount /dev/hdaX (siendo el numero de la partición X )

40.5. Como saber si el disco esta mal


Para saber las opciones:
man badblocks
Para analizar la particion1:

badcloks /dev/hda1

Para analizar la particion1 con parametros:

nice -n 19 badblocks -s -v /dev/hda1 -o badbloks.txt

40.6. Práctica
Pasar la / a ext3

Por Paco Aldarias 155/449


Linux

Capı́tulo 41

Acceso al router ADSL por puerto


serie: Minicom

41.1. Introducción
Los routers disponen de una conexión serie para su configuración.
En linux hay un programa llamado minicom q se conecta al puerto serie. Este programa equivale
a hiperterminal de windows.
Los puertos serie en linux son, /dev/ttyS0 para el puerto serie 1, /dev/ttyS1 para el puerto serie
2, etc.
Vamos a ver como se puede conectar linux al router mediante el puerto serie.
Esto esta probado para los routers: Speed Stream y 3COM.

41.2. Configuración de minicom


Como root ejecutamos:
# minicom -s

Lo configuramos asi:

1. Serial port setup


A Serial Device
El que quieras usar el COM1 como es mi caso /dev/ttyS0 E Bps/Par/Bits
E (9600),L(None),V(8), W (1)

2. Modem and dialing Bórrarlo todo A-L

3. Save setup as...


router

4. Exit from Minicom

Por Paco Aldarias 156/449


Linux

41.3. Damos permisos de ejecución


Buscamos donde esta minicom con:
# which minicom
/usr/bin/minicom
Miramos sus permisos de minicom con:
# ls -la /usr/bin/minicom
Salen q permiten al grupo uucp
Editamos /etc/group y ponemos al usuario juanito en el grupo uucp
Miramos sus permisos de /dev/ttyS0:
# ls -la /dev/ttyS0
Salen q permiten al grupo tty
Editamos /etc/group y ponemos al usuario juanito en el grupo tty
Damos permisos de lectura y escritura a /dev/ttys0 con:
# chmod 666 /dev/ttys0

41.4. Entrando en el router


Como usuario normal poner:
$minicom router
passwd:
Poner adminttd (si es la primera vez q se entra).
Nota: Tarda en salir. Pulsar INTRO para q salga el pawsswd.

41.5. Bibliografı́a
1. Programas para linux para acceso a puertos serie:
http://en.tldp.org/HOWTO/Serial-HOWTO-13.html#ss13.1

Por Paco Aldarias 157/449


Linux

Figura 41.1: Minicom

Por Paco Aldarias 158/449


Linux

Capı́tulo 42

Sincronización de ficheros: rsync

42.1. Versiones
2.12.03. Primera version v.1.0
2.5.03. Revisión.

42.2. Introducción
Vamos a ver la forma de sincronizar ficheros entre dos máquinas, es decir, le vamos a indicar q
coga de una máquina los ficheros modificados y los traiga a nuestro ordenador.
La orden rsync permite sincronizar ficheros.
Utilizaremos ssh para mandar los datos y la contraseña de forma codificada y segura.

42.3. Instalación
# apt-get install ssh rsync drsync
Siendo:
ssh el cliente y servidor de ssh
rsync el cliente para sincronicar ficheros
drsync el servidor de rsync esto sólo debe instalarse en la máquina servidor.

42.4. Paso previo: Arracar ssh


Debemos tener el servidor ssh en marcha haciendo:
# /etc/init.d/ssh start

42.5. Sincronización: rsync


Escenario:

máquina remota: 192.168.0.1

Por Paco Aldarias 159/449


Linux

usuario remoto: pepe

carpeta remota a copiar: /origen

carpeta local donde copiar: /destino

La orden serı́a:
rsync -e ssh -auvz pepe@192.168.0.1:/remota/ /destino/

42.6. Utilidades
1. unison
Permite usar rsync de forma más simple.

42.7. Sincronizar con ssh en otro puerto distinto


El puerto de ssh se cambia.

nano /etc/ssh/sshd_config
Cambiar Port 22 por 2002

Ası́ se haria el rsync:

rsync -auvz -e ’ssh -p 2002 -l usuario ’ \


usuario@192.168.100.2:/origen/ /destino/

Siendo:
192.168.100.2 la ip de la máquina remota que quiero traerme los dicheros.
/origen: La carpeta de la maquina remota 192.168.100.2
/destino: La carpeta de mi maquina
usuario: es el usuario de la maquina remota

42.8. Instalación de linux, usando rsync


Permite copiar una máquina a un servidor, y después clonar esa máquina en otras:
http://www.systemimager.org/

42.9. Entrar con ssh a una maquina remota


Poniendo esto en konqueror:

fish://nombre_de_la_maquina

42.10. Utilidad kde: ksync


Existe una utilidad en kde llamada ksinc que permite sincronizar carpetas gráficamente.

Por Paco Aldarias 160/449


Linux

42.11. Caso Especial: Carpetas con blancos


cat manolo.sh

ip=81.202.241.x
origen="/wine/Mis\ documentos/Mis\ imágenes/"
destino="/wine/manolo/"
rsync -e ssh -auvz manolo@$ip:"$origen" "$destino"

42.12. Ejercicio
Sincronizar una carpeta del ordenador de vuestro compañero.

42.13. Bibliografı́a
1. Página oficial rsync:
http://rsync.samba.org/index.html

2. : Rsync mirroring howto and FAQ


http://sunsite.dk/info/guides/rsync/rsync-mirroring.html

3. Ubicación de este documento:


http://usuario.tiscali.es/paco25abril/

4. Pagina de linux :
http://inicia.es/de/pacodebian

5. Articulo:
http://kimmo.suominen.com/ssh/#ssh-keygen

6. Articulo:
http://cernicalo.escomposlinux.org/docs.php?doc=howto ssh

7. Funcionamiento y uso básico de OpenSSH :


http://www.24x7linux.com/documentation/openssh/ssh basics.shtml

8. Backups con RSYNC


http://www.galpon.org/modules/sections/index.php?op=printpage&artid=5
9. Conexiones sin clave a ssh:
http://losinvisibles.net/como/comoSSHsinPass.html

Por Paco Aldarias 161/449


Linux

Capı́tulo 43

El servidor de noticias: Leafnode

43.1. Versiones
31.1.03 Primera version v.1.0

17.3.03 Instalación. v.1.1

2.06.03 statnews. v.1.2

43.2. Introducción
Un servidor de noticias o servidor nntp Permite que tu ordenador pueda conectarse cualquier
maquina y pueda optener news.
Leafnode es un servidor muy manejable, y fácil de instalar.
Hay otro servidor inn+suck q tiene mas pontencia, pero es más conplicado de instalar.

43.3. Que necesitamos


Instalar y configurar el servidor de correo leafnode .

Recoger las noticias de otro servidor con fetchnews.

Programar el crontab para q traiga con fethnews las noticias nuevas

43.4. Instalación del servidor de noticias


Como root hay q hacer todo esto:
Insalar el servidor:
apt-get install leafnode
Which news server should Leafnode download news from?:)
(Servidor de noticias)
news.bcn.ttd.net
What type of network connection do you have?
(Tipo de conexión)
permanent

Por Paco Aldarias 162/449


Linux

Do you wish to update the list of available groups?


Yes

43.5. Configurar el servidor


Una vez instalado el servidor podemos configurar el servidor más detalladamente.
Editar el fichero de configuración:
nano /etc/news/leafnode/config
server = news.bcn.ttd.net
Aqui esta el fichero: config

43.6. Nos suscribimos a los grupos


Dentro de la carpeta: /var/spool/news/interesting.groups
Como root hacemos:
touch /var/spool/news/interesting.groups/es.comp.os.linux.misc
touch /var/spool/news/interesting.groups/es.comp.os.linux.redes
touch /var/spool/news/interesting.groups/es.comp.os.linux.instalacion
touch /var/spool/news/interesting.groups/es.comp.os.linux.programacion
touch /var/spool/news/interesting.groups/es.comp.redes.adsl
touch /var/spool/news/interesting.groups/es.comp.lenguajes.tex
touch /var/spool/news/interesting.groups/es.rec.mascotas.gatos
touch /var/spool/news/interesting.groups/linux.debian.user.spanish

Indicamos q los ficheros son de news:


chown -R news:news /var/spool/news

43.7. Nos traemos las noticas y grupos a leafnode con fetch-


news
Para forzar a traer todos los grupos:
fetchnews -f -vvv
Para trae todas las noticias:
fetchnews -vvv
Para trae noticias y no borrar las antiguas:
fetchnews -nvvv

43.8. Si queremos que se traiga las noticias cada 5 minutos


Siendo root:
crontab -u news -e
Añadir esto:
0 4 * * * texpire
0-59/15 * * * * fetchnews -n

Por Paco Aldarias 163/449


Linux

Reiniciar el cron:
/etc/init.d/cron restart

43.9. Configuración del cliente de noticias


Debemos poner como servidor de noticias: 127.0.0.1. El servidor no necesita nombre de usuario
y contraseña.
Un buen cliente de noticias es knode.

43.10. Tramiento de spams


En Kde, cuando veı́a que si seleccionaba con el ratón una URL del tipo http://.... o mailto:..., se
me abrı́a un menú y me preguntaba si con qué querı́a abrirlo. Entonces supuse que tendrı́a que
ver con el portapales del kde, y ası́ es.
Si abrı́as el klipper, y le dais a configuración (botón derecho, editar acciones), te permite asociar
acciones a expresiones regulares que concuerden con el portapeles, estas acciones siempre
las pregunta antes de ejecutarlas. ası́ yo tengo que cuadno copie al portapapeles una .*@.* me
ejecute /usr/local/bin/addspam ” %s”, donde addspam serı́a

#!/bin/sh
echo "^[Ff]rom:.*[< ]$1[> ]">>/etc/leafnode/filters

yo es que tengo permiso para mı́ escribier en el filters, si no siempre se puede usar sudo o meter
en el mismo grupo a los usuarios que puedan añadir direcciones.

43.11. Generando estadı́sticas: statnews


Un ejemplo:
http://groups.google.com/groups?q=msgid:hbbc0qu$6up$1@poseidon.eteo.mondragon.edui
&ic=1

Instalarlo:
apt-get install statnews

Configurarlo cambiando del fichero /usr/bin/statnews para q tengo esto:


$SPOOL = ’/var/spool/news/’;

Generar las estadı́sticas:

statnews es.comp.os.linux.misc > /hde/news/statnews\es.comp.os.linux.misc.txt\\

Nota:
Esto generarı́a estadı́sticas para el grupo: es.comp.os.linux.misc
y lo guardará en el fichero: /hde/news/statnews es.comp.os.linux.misc.txt

Script que genera todas las estadisticas:

Por Paco Aldarias 164/449


Linux

echo GENERANDO ESTADISTICAS NEWS


d=/hde/news/

n=es.comp.os.linux.misc
echo $n
statnews $n > $d$n.txt

n=es.comp.hackers
echo $n
statnews $n > $d$n.txt

n=es.comp.lenguajes.tex
echo $n
statnews $n > $d$n.txt

n=es.comp.os.linux.instalacion
echo $n
statnews $n > $d$n.txt

n=es.comp.os.linux.programacion
echo $n
statnews $n > $d$n.txt

n=es.comp.os.linux.redes
echo $n
statnews $n > $d$n.txt

n=es.comp.redes.adsl
echo $n
statnews $n > $d$n.txt

n=es.rec.mascotas.gatos
echo $n
statnews $n > $d$n.txt

43.12. Bibliografı́a
1. http://pinsa.escomposlinux.org/sromero/articulos/lnxinet/lnxinet4.html

2. http://www.leafnode.org

3. http://www.escomposlinux.org/anti-spam/index.php

Por Paco Aldarias 165/449


Linux

Capı́tulo 44

Como ejecutar una aplicación sin


ser root: sudo

44.1. Introducción
Hay ciertas cosas q para realizarlas debemos ser root. Veremos que no es necesario con sudo

44.2. Instalar sudo


Como root:
apt-get install sudo

44.3. Configurar sudo


Como root:
visudo
Nota Esto edita el fichero /etc/sudoers.
Introducir la siguiente linea (cambiando üsuarioçon el nombre del usuario q quiere invocar mieje-
cutalble y ”mi-maquinaçon el nombre de la maquina o ALL):
mi-usuario mi-maquina = (root) NOPASSWD: /path/to/miejecutable
Ejemplo:

paco ALL=(root) NOPASSWD: /sbin/reboot, /sbin/halt


Aqui el usario paco podra ejectar como root /sbin/reboot, /sbin/halt

Salir de ”visudo”, con:


:wq

44.4. Llamarlo
Ahora el usuario introducido en /etc/sudoers puede llamar a miejecutable com sudo -u root /pat-
h/to/miejecutable

Por Paco Aldarias 166/449


Linux

44.5. Mediante permisos


Veamos como se puede hacer lo mismo sin sudo.
Como root:
Darle todos los permisos:

chmod +s /sbin/halt

Añadir en /etc/profile::

PATH=$PATH:/sbin

Exportar, poniendo en consola:

PATH="$PATH:/sbin"
export PATH

Nota: Esta opción es más insegura, ya que cualquiera podria ejecutar estos programas.

44.6. Bibliografı́a
1. man:sudo

2. http://www.leafnode.org/faq.html#2

3. http://www.courtesan.com/sudo/

44.7. Ejercicio
Configurar sudo para q un usuario pueda ejecutar:
apt-get install paquete

Por Paco Aldarias 167/449


Linux

Capı́tulo 45

Programar tareas: cron

45.1. Introducción
Explicaremos como realizar ciertas tareas de forma automatica. Para ello utilizaremos el demonio
cron.

45.2. Instalar cron


Como root:
apt-get install cron

45.3. Elementos a tener en cuenta


- Crond: Demonio q hay q arrancarlo al inicio.
- Crontab: Se le indica cuando y q hacer.

45.4. Ficheros
- Logs del cron: /var/log/cron
- Configuracion del cron: /etc/crontb
- Ver q se ejecuta: /var/log/messages

45.5. Como hacer un script q se ejecute cada 5 minutos


Nota: Este script esta hecho para saber que conexiones tengo a internet establecidas: netstat
-atu — grep ESTA
- Lo debe hacer cada 5 minutos.
- Guardarlo en un historico
- Anote el dia y la hora se creo el netstat.
- El historico se crea nuevo segun el dia.
Pasos:

Por Paco Aldarias 168/449


Linux

1. Crear el fichero: netstat.sh


Creo el fichero: /home/paco/mislog/netstat.sh
Que contenga esto:

#!/bin/bash
cd /mnt/hdd/pagina/logs/
# Voy a guardar los ficheros en /mnt/hdd/pagina/logs
date >> netstat-$(date +%d-%m-%Y).txt
# Anoto la fecha de hoy a la hora
cat netstat.txt >> netstat-$(date +%d-%m-%Y).txt
# Meto el netstat en el historico
netstat -tupan | grep ESTA > netstat.txt
# Obtengo el nuevo.

Le damos permisos de ejecución:


chmod 755 /home/paco/mislog/netstat.sh

45.6. Programa la ejecucion del scripts netstat.h en el histori-


co
En /etc/crontab añado la linea

0-59/5 * * * * paco /home/paco/mislog/netstat.sh

Ejecuta el fichero /home/paco/mislog/netstat.sh cada 5 minutos. El usuario seria paco

45.7. Repasemos conceptos


1.- Deberı́as usar una tabla cron para cada usuario.
La ubicación de estas tablas (crontabs) es, en mi sistema, /var/cron/tabs. En este directorio te
creas una tabla llamada como el usuario, (p.ej. root para el usuario root :)). Puedes hacerlo
simplemente copiando /etc/crontab a /var/cron/tabs/root
2.- Editas esta tabla haciendo login como el usuario (en nuestro caso root) haciendo crontab e
3. Quita todas las lı́neas de cron (del estilo 1 1 * * * lo-que-sea) que no te interesen para que sólo
haga lo que quieres.
4. Inserta una lı́nea según el formato del cron: min. hora dia-mes mes dia-semana lı́nea-comando
0 8 * * * lo-que-quieras-ejecutar
Esto ejecutarı́a ”lo-que-quieras-ejecutar.a las 8 de la mañana todos los dias de todos los meses.
(el *, evidentemente, quiere decir ”siempre”;)).
5.- Si lo que quieres es hacerlo cada tres horas usa el campo hora de la siguiente forma 8,11,14,17,20,23,2,5
(hay una forma de hacerlo sin tanto número, pero es mas largo de explicar y realmente da igual)
6.- y... OK! ya está lista la automatización de la tarea.

45.8. Mas cosas


Mira man crontab
En /etc/crontab

Por Paco Aldarias 169/449


Linux

añade 00 */3 * * * root script

de esta forma cada 3 horas cuando los minutos sean 0 se ejecutará.


También podrı́as poner 00 0,3,6,9,12,15,18 * * * root script Ası́ se ejecuta a las 0:00 3:00 6:00, etc
Las lineas del crontab son A B C D E usuario script A=Minutos B=Horas C=Dia del mes D=Mes
E=Dia de la semana
Se tienen que cumplir las cinco condiciones para que se ejecute.
Si pones dia de la semana, dia del mes y mes, el script solo se ejecutara si estamos en esa fecha
y ademas el dia de la semana coincide.
IMPORTANTE: Si es la ultima linea del fichero no olvides el return, ya que de lo contrario no
funciona.

45.9. Podria tambien funcionar este script


#!/bin/sh
while :

do
sleep 60*60*3 # no me apetece multiplicar :)
cosa_a_hacer
done

Y se llama con: ./script

Por Paco Aldarias 170/449


Linux

Capı́tulo 46

Webcam: Instalación

46.1. Introducción
Aqui explico como poner en marcha una camara de video.

46.2. Versiones.
1. 9.11.03. V.1.0. Primera versión.

2. 4.2.04. V.1.1. Explicación de instalación de los drivers.

46.3. Contexto

46.3.1. Hardware
1. Video Camara: Philips PCVC 720K USB TOUCAM

2. PC: AMD-K6-II 450MZ 320RAM

46.3.2. Software Utilizado


1. Linux Debian Sid. Kernel 2.4.20.

2. xawtv Version: 3.82

3. OVCam Drivers for 2.4 and 2.5 kernels: ov511-2.21

4. mesag3-glide2 para que funcion xawtv

46.4. Instalación del software


apt-get install xawtv mesag3-glide2

Por Paco Aldarias 171/449


Linux

46.5. Instalación de los drivers


Bajarse el fichero :
http://alpha.dyndns.org/ov511/download/2.xx/distros/ov511-2.21.tar.bz2
Aquı́ están todos las versiones:
http://alpha.dyndns.org/ov511/download.html

1. Como usuario normal descomprimierlo:


tar jxvf ov511-2.21.tar.bz2
2. Como usuario normal compilarlo:
make
3. Como root instalarlo:
make install

46.6. Ver que tipo de usb disponemos


# lspci
00:00.0 Host bridge: VIA Technologies, Inc. VT82C598 [Apollo MVP3] (rev 04)
00:01.0 PCI bridge: VIA Technologies, Inc. VT82C598/694x [Apollo MVP3/Pro133x AGP]
00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 1b)
00:07.1 IDE interface: VIA Technologies, Inc. VT82C586/B/686A/B PIPC Bus Master IDE (rev 06)
00:07.2 USB Controller: VIA Technologies, Inc. USB (rev 0e)
00:07.3 USB Controller: VIA Technologies, Inc. USB (rev 0e)
00:07.4 Host bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 20)
00:08.0 VGA compatible controller: 3Dfx Interactive, Inc. Voodoo Banshee (rev 03)
00:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
00:0a.0 Multimedia audio controller: Ensoniq 5880 AudioPCI (rev 02)
00:0b.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

Como se puede ver detecta los usb, y son VIA Technologies

46.7. El kernel

46.7.1. USB support

En USB support:
<*> Support for USB
[*] USB verbose debug messages
[*] Preliminary USB device filesystem
<M> UHCI Alternate Driver (JE) support
<M> OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support
<M> USB Audio support
<M> USB OV511 Camera support
<M> USB Philips Cameras

Contenido de .config

# cat /usr/src/linux-2.4.20/.config | grep USB


CONFIG_USB=y
CONFIG_USB_DEBUG=y

Por Paco Aldarias 172/449


Linux

CONFIG_USB_DEVICEFS=y
CONFIG_USB_UHCI_ALT=m
CONFIG_USB_OHCI=m
CONFIG_USB_AUDIO=m
CONFIG_USB_OV511=m
CONFIG_USB_PWC=m

46.7.2. Multimedia devices

En Multimedia devices:
<M> Video For Linux En Video For Linux
---> [*] V4L information in proc filesystem

Contenido de .config

#cat /usr/src/linux-2.4.20/.config | grep VIDEO


CONFIG_VIDEO_DEV=m
CONFIG_VIDEO_PROC_FS=y
CONFIG_VIDEO_SELECT=y

46.7.3. Character Devices

En Character Devices -
I2C support --->
<*> I2C support
<M> I2C device interface
<M> I2C /proc interface (required for hardware sensors)

Contenido de .config

cat /usr/src/linux-2.4.20/.config | grep CONFIG_I2C


CONFIG_I2C=y
CONFIG_I2C_CHARDEV=m
CONFIG_I2C_PROC=m

46.8. Módulos cargados


En nuestro caso hemos elegido en el kernel q queremos módulos para trabajar con la cámara.

# lsmod
Module Size Used by Not tainted
uhci 25264 0 (unused)
ovfx2 27444 0 (unused)
pwc 40968 0 (unused)
ovsensor 14376 1
ov511 81592 0
videodev 5728 1 [ovfx2 pwc ov511]

Por Paco Aldarias 173/449


Linux

46.9. El arranque

46.9.1. usb

# dmesg | grep usb


usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb.c: registered new driver ov511
usb.c: registered new driver Philips webcam
usb.c: registered new driver ovfx2
usb.c: new USB bus registered, assigned bus number 1
usb.c: kmalloc IF c68af3c0, numif 1
usb.c: new device strings: Mfr=0, Product=2, SerialNumber=1
usb.c: USB device number 1 default language ID 0x0
usb.c: hub driver claimed interface c68af3c0
usb.c: kusbd: /sbin/hotplug add 1
usb.c: kusbd policy returned 0xfffffffe
usb.c: new USB bus registered, assigned bus number 2
usb.c: kmalloc IF c68af5a0, numif 1
usb.c: new device strings: Mfr=0, Product=2, SerialNumber=1
usb.c: USB device number 1 default language ID 0x0
usb.c: hub driver claimed interface c68af5a0
usb.c: kusbd: /sbin/hotplug add 1
usb.c: kusbd policy returned 0xfffffffe
usb.c: kmalloc IF c68afa60, numif 1
usb.c: new device strings: Mfr=1, Product=2, SerialNumber=0
usb.c: USB device number 2 default language ID 0x409
ov511.c: Device at usb-00:07.2-2 registered to minor 0
usb.c: ov511 driver claimed interface c68afa60
usb.c: kusbd: /sbin/hotplug add 2
usb.c: kusbd policy returned 0xfffffffe

46.9.2. video

# dmesg | grep video


Linux video capture interface: v1.00
ov511.c: USB OV518 video device found

46.9.3. cam

dmesg | grep cam


ovsensor.c: v2.21 : OV camera chip I2C driver
pwc Philips PCA645/646 + PCVC675/680/690 + PCVC730/740/750 webcam module version 8.6 loaded.
pwc Also supports the Askey VC010, Logitech Quickcam 3000 Pro, Samsung MPC-C10 and MPC-C30,
usb.c: registered new driver Philips webcam

46.10. Estar seguro que funcionan USB


cat /proc/bus/usb/devices
T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1

Por Paco Aldarias 174/449


Linux

P: Vendor=0000 ProdID=0000 Rev= 0.00


S: Product=USB UHCI-alt Root Hub
S: SerialNumber=d800
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=255ms
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 0.00
S: Product=USB UHCI-alt Root Hub
S: SerialNumber=d400
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=255ms
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=05a9 ProdID=0518 Rev= 1.01
S: Manufacturer=OmniVision Technologies, Inc.
S: Product=USB Camera
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov511
E: Ad=81(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms
I: If#= 0 Alt= 1 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov511
E: Ad=81(I) Atr=01(Isoc) MxPS= 129 Ivl=1ms
I: If#= 0 Alt= 2 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov511
E: Ad=81(I) Atr=01(Isoc) MxPS= 257 Ivl=1ms
I: If#= 0 Alt= 3 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov511
E: Ad=81(I) Atr=01(Isoc) MxPS= 385 Ivl=1ms
I: If#= 0 Alt= 4 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov511
E: Ad=81(I) Atr=01(Isoc) MxPS= 513 Ivl=1ms
I: If#= 0 Alt= 5 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov511
E: Ad=81(I) Atr=01(Isoc) MxPS= 641 Ivl=1ms
I: If#= 0 Alt= 6 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov511
E: Ad=81(I) Atr=01(Isoc) MxPS= 769 Ivl=1ms
I: If#= 0 Alt= 7 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov511
E: Ad=81(I) Atr=01(Isoc) MxPS= 897 Ivl=1ms

#cat /proc/bus/usb/drivers
usbdevfs
hub
ov511
Philips webcam
ovfx2

46.11. Comprobar el dispositivo

46.11.1. /dev/video0

Comprobar que existe /dev/video0.


Si no existe crealo con:
mknod /dev/video0 c 81 0

# ll /dev/video0

Por Paco Aldarias 175/449


Linux

crw-rw---- 1 paco paco 81, 0 2003-02-12 02:40 /dev/video0

46.11.2. /dev/video

Algunas aplicaciones buscan el dispositivo /dev/video . En algunos sistemas (ejemplo. RedHat


7.1), /dev/video debe ser un directorio y no un nodo o un enlace simbólico.
Deberemos especificar manualmente el dispositivo, /dev/video0 cuando uses tus aplicaciones de
video
Es recomendable hacer este enlace:
ln -s /dev/video0 /dev/video

ll /dev/video
lrwxrwxrwx 1 root root 6 2003-02-12 02:40 /dev/video -> video0

46.11.3. Dar permisos

Dar a los usuarios permisos para usar la camara. Este requiere permiso de lectura y escritura a
/dev/video0 .
Puedes dar privilegios con :
chmod 666 /dev/video0
Dar privilegios a tu usuario para usar la cámara:

Como root añadimos tu usario al grupo video:


adduser usuario video

46.12. El sistema de ficheros: fstab


Añadir la linea en /etc/fstab

none /proc/bus/usb usbdevfs defaults,rw,auto 0 0

46.13. Poniéndola en marcha


Como root:

modprobe videodev
modprobe ov511
modprobe ovfx2
modprobe uhci
modprobe ovsensor

Como usuario:

xawtv

46.14. Para apagar la cámara


modprobe -r uhci

Por Paco Aldarias 176/449


Linux

46.15. Script de Arranque y parada


# cat cam.sh
#! /bin/bash

case "$1" in
start)
insmod videodev
insmod ov511
insmod ovfx2
insmod uhci
insmod ovsensor
;;
stop)
rmmod -r -s videodev
rmmod -r -s ov511
rmmod -r -s ovfx2
rmmod -r -s uhci
rmmod -r -s ovsensor
;;
*) echo "Uso: cam.sh start|stop"
exit 1
;;
esac

46.16. Ver si la reconoce


$ xawtv -hwscan
This is xawtv-3.82, running on Linux/i586 (2.4.20)
dlopen failed for /usr/lib/libquicktime/lqt_vorbis.so: libvorbisenc.so.0: no se
puede abrir el fichero del objeto compartido: No existe el fichero o el
directoriolooking for available devicesport 83-83
type : Xvideo, image scaler
name : 3dfx Video Overlay

/dev/video0: OK [ -device /dev/video0 ]


type : v4l
name : OV518 USB Camera
flags: capture

46.17. Una foto

46.18. Sotfware para webcam

46.18.1. Instalación

apt-get install webcam ftp

Por Paco Aldarias 177/449


Linux

Figura 46.1: foto

46.18.2. Configuración de webcam

Se entiende q tenermos un servidor ftp y web ya funcionando.


Debemos crear en la carpeta del usuario el fichero:
nano .webcamrc

[grab]
device = /dev/video0
text = "webcam linux %Y-%m-%d %H:%M:%S"
infofile = filename
#fg_red = 255
#fg_green = 255
#fg_blue = 255
#width = 320
#height = 240
delay = 0
wait = 0
#input = composite1
norm = pal
rotate = 0
top = 0
left = 0
bottom = -1
right = -1
quality = 75
trigger = 0

Por Paco Aldarias 178/449


Linux

once = 1

[ftp]
host = mi_ip
user = "mi_usuario"
pass = "mi_password"
dir = public_html/webcam
file = webcam.jpeg
tmp = uploading.jpeg
passive = 1
debug = 0
auto = 0
local = 0
ssh = 0

46.18.3. Script para automatizar

Este script permite hacer una foto cada x segundos y guardalos en luna carpeta para luego
poderse ver con el servidor web.
Debemos crear en la carpeta del usuario paco el fichero:
nano webcam.sh

#!/bin/sh
# Por Paco Aldarias
# 31-3-03
# Echo Script para webcam
# Crea la carpeta del dia actual
# Copia cada $1 (parametros de entrada) la imagen en la carpeta del dia

d1=public_html/webcam
d2=$d1/$(date +%d-%m-%Y)
mkdir $d2

while :
do
d3=$d2/$(date +%d-%m-%Y-%k-%M).jpeg
echo copiando $d1/webcam.jpeg en $d3
cp $d1/webcam.jpeg $d3
webcam
sleep $1
done

Le damos permisos de ejecución:


chmod 700 webcam
Asi se llama:
./webcam.sh 120
Podremos ver el resultado asi:
http://localhost/∼paco/webcam/webcam.jpeg

Por Paco Aldarias 179/449


Linux

46.19. Crear videos: motion


Motion es un programa q captura imagenes y crea un video. Es ideal como camara de seguridad,
ya q solo graba los cambios q se produzcan en la imagen. El programa crea carpetas segun el
dia, y tambien un video con formato mpeg q recoge todas las imagenes obtenidas.
Instalarlo:
apt-get install motion
Versión actual:
motion 3.0.4-2 V4L Capture Program supporting Movement Dete
Uso:

motion -t public_html/motion/ -a 300

Esto crea dentro de la carpeta:

$HOME/public_html/motion/

el video cada 300 segundos comprueba si hay cambios para generarar una imagen..

46.20. Bibliografı́a
1. Web Official de Philips:
www.pcstuff.philips.com

2. Drivers de la cámara
http://alpha.dyndns.org/ov511/

3. Usb:
http://www.linux-usb.org
http://bulmalug.net/body.phtml?nIdNoticia=1356

4. Esta página:
http://www.iespana.es/pacodebian/webcam.html
http://www.iespana.es/pacodebian/webcam.pdf
http://www.iespana.es/pacodebian/webcam.tex

5. Drivers para cámaras : Logitech Quickcam Express Logitech Quickcam Web LegoCam Dex-
xa Webcam Labtec Webcam
http://qce-ga.sourceforge.net/

46.21. Agradecimientos
Quisiera agradecer la ayuda a:

1. Mark McClelland. mailto://mark@alpha.dyndns.org

Por Paco Aldarias 180/449


Linux

Capı́tulo 47

Servidor de correo: postfix

47.1. Versiones
19.3.03 Primera version v.1.0

47.2. Introducción
Un servidor de correo permite:

Enviar correo al exterior. Servidor de correo saliente. (SMTP)

Recibir correo del exterior. Servidor de correo entrante (IMAP, POP, Local)

Postfix permite el recibir correo y enviarlo al usuario de linux.


Este artı́culo explica como enviar correo a cualquier dirección, y como recibir correo local (es
decir, que reciba el correo un usuario de linux). No se verá el servidor de correo IMAP o POP.

47.3. Instalación de postfix


Como root hay q hacer todo esto:

apt-get install postfix

Podemos ver la versión instalada con:

dpkg -s postfix

Yo tengo la versión:

2.0.7-3

Nos pedirá una serie de datos que debemos indicarle:

1. Postfix Configuration Nos informa de los tipos de instalación posibles. Damos a ok

Por Paco Aldarias 181/449


Linux

2. General type of configuration?


Internet Site

Indicamos q queremos enviar correo y recibor correo.

3. Mail name?
aldarias.dsland.org

Aqui le indicamos el nombre del dominio. Es equivalente poner este nombre a poner su ip.

4. Append .domain to simple addresses


¡Yes¿
Aqui le decimos q añada un punto al una direccion simple. Es decir, que si envian al usuario
paco, el añada un punto.
Si alguien quiere mandarme un correo, deberá enviarlo a paco@aldarias.dsland.org
Siendo paco un usuario de linux.

5. Other destinations to accept mail for? (blank for none)

aldarias.dsland.org, pacohost.aldarias.dsland.org, localhost.aldarias.dsland.org, localhost


Aqui le indicamos que acepte correo a estos destinos.

6. Local networks?
127.0.0.0/8
Aqui le indicamos que maquinas pueden enviar correo. En mi caso solo mi máquina. Po-
driamos tb poner 192.168.0.0/255.255.255.0 para la red 192.168.0.

7. Use procmail for local delivery?


¡Yes¿
Aqui le decimos que use procmail para enviar el correo al usuario.

8. Mailbox size limit


0
Aquı́ indicamos el tamaño máximo del correo. Si ponemos 0 es sin lı́mite.

9. Local address extension character?


+
Aqui lde decimos que carácter usamos para enviar a usuarios locales.

47.4. Configuración
Debemos ser root para poder trabajar con postfix.
Veamos el fichero de configuracion del postfix:
nano /etc/postfix/main.cf

47.5. El fichero de configuración


cat /etc/postfix/main.cf

command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix

Por Paco Aldarias 182/449


Linux

program_directory = /usr/lib/postfix
setgid_group = postdrop
append_dot_mydomain = yes
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
myhostname = aldarias.dyndns.org
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = aldarias.dyndns.org paco localhost
#relayhost = 127.0.0.1
mynetworks = 192.168.0.0/24 127.0.0.1/24
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +

47.6. Arranque y Parada


Arrancaremos el posfix con:
/etc/init.d/postfix start
Pararemos el posfix con:
/etc/init.d/postfix stop

47.7. Logs
Podemos ver q pasa con el correo asi:
less /var/log/mail.log

47.8. Como recoger el correo que nos envian


Debemos ahora recoger el correo.
Usaremos para ello kmail como cliente de correo. Vamos a: inicio, internet, kmail Dentro de kmail:
Preferencias, Configurar kmail, Red. Recibiendo, Añadir Tipo de cuenta: Buzón Local Carpeta:
/var/mail/paco
Esto lo que hace es ir a la carpeta /var/mail/paco que es donde deja el correo, y se lo lleva kmail,
que está en la carpeta del usuario /home/paco/Mail/

47.9. Ficheros de interes

47.9.1. El nombre del dominio

cat /etc/mailname

aldarias.dyndns.org

Por Paco Aldarias 183/449


Linux

47.9.2. El nombre de tu máquina

cat /etc/hostname

aldarias.dyndns.org

47.9.3. El nombre del host

cat /etc/hosts

127.0.0.1 aldarias.dyndns.org localhost


192.168.0.1 paco

47.10. Postfix y cuotas


Problema, postfix controla una quota globla (usease, que controla que el direcotorio de los correos
de todo el mundo no se pase de un limite). Para tener control de quota individual (que tambien
puedes poner a funcionar en la base de de datos... creo un buzon de un mega, ahora lo cambio
a 10, y luego a 5... si tener que tocar nada en la configuración de postfix), tendrás que ponerle
un parche.
Mas problemas, debian tiene separados los paquetes de postfix, postfix-pgsql, postfix-tls...., ası́ que
si lo haces .emparchando”los sources de postfix, te vas a ver en muchos follones de dependen-
cias, archivos que no estan o que estan e otro lado....
Lo ideal:

apt-get install apt-build


apt-build update
apt-build source postfix
en el directorio de los sources descomprimidos, le pones aplicas el
patch http://web.onda.com.br/nadal/
gunzip postfix-*-trash.patch.gz
patch -p0 <postfix-*-trash.patch
apt-build install postfix

y ya tienes postfix con control de quotas individuales, con usuarios virtuales, pero ojo, tienes que
decirselo a postfix que lo utilice

cd /etc/postfix
vi main.cf
te vas a abajo de todo y pulsas i
luego copias y pegas.

#QUOTA
virtual_mailbox_limit_inbox = no
virtual_mailbox_limit_maps =
pgsql:/etc/postfix/pgsql_virtual_mailbox_size.cf
virtual_mailbox_limit_override = yes
virtual_maildir_extended = yes
virtual_create_maildirsize = yes
virtual_mailbox_limit = 100000000

Mas info en http://aribabiba.cosmoquimica.com.br/leandro/ Problema, está en brasileño,


para un gallego no es problema porque es praticamente igual al gallego, pero un extremeño un

Por Paco Aldarias 184/449


Linux

poco avispado deduce facilmente lo que dice, y si no le preguntas a leandro (en ingles, gallego,
portugues o brasileño) o preguntas aquı́... aunque supongo que las dudas van a ser más de tipo
tecnico que idiomático.

47.11. Autentificar usuario y contraseña: SASL


Instalación:

apt-get install postfix-tls libsasl-digestmd5 libsasl-modules-plain \


sasl-bin libsasl2 libsasl2-modules

47.11.1. Añadiendo usuarios directamente

Añadir un usuario:

saslpasswd2 -c -u aldarias.dyndns.org paco

Indicar el metodo de comprobación:

nano /etc/postfix/sasl/smtpd.conf

pwcheck_method: sasldb

Configurar postfix:

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous, noplaintext
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_relay_domains

47.11.2. Usando un fichero de usario-contraseña

Crear este fichero:

nano /etc/postfix/sasl_passwd

mail.midominio.org miusuario:mipassword

Cambiar los permisos:

chown root:root /etc/postfix/sasl_passwd && chmod 600 /etc/postfix/sasl_passwd

Crear el db file:

postmap hash:/etc/postfix/sasl_passwd

Cambiar la configuración de postfix:

nano /etc/postfix/main.cf

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtpd_sasl_security_options = noanonymous

Por Paco Aldarias 185/449


Linux

Reiniciar postfix:

postfix reload

Comprobar que funciona:

telnet localhost 25
ehlo localhost
quit

Deben aparecer lı́neas parecidas a éstas:

250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5


250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5

47.11.3. Algunos consejos

Dos o tres apuntes muy importantes si tu distribucion es Debian.


1.- Instala el paquete postfix-tls. El soporte para SASL viene con esta version parchea-
da de postfix.
2.- Si usas postfix 2.x + libsasl2, usa como metodo de validacion de contraseñas sas-
lauthd. Es mas facil asi, aunque no tendras soporte para CRAM-MD5 ni DIGEST-MD5.
Asegurate ademas de que saslauthd esta arrancado y usando el metodo PAM (yo lo he he-
cho asi y funciona).
Asegurate ademas de instalar los modulos de autenticacion correspondientes. He estado ca-
si 30 minutos haciendo debugging del tinglado solo para darme cuenta de que solo habia insta-
lado libsasl2 (el core), pero no tenia ningun modulo de autenticacion (va todo a base de mo-
dulos enchufables). Yo he usado libsasl2-modules, que es quien da soporte para los meto-
dos LOGIN y PLAIN (en mi caso es mas que suficiente).
3.- MUY IMPORTANTE: Edita el fichero master.cf y asegurate de que la linea donde aparez-
ca el proceso smtpd, en la columna donde se configura si corre en un entorno chroot este pues-
ta a ñ’ (no). De lo contrario no encontrara la mitad de las bibliotecas y ficheros que nece-
sita. En Debian viene activado el chroot por defecto, por lo que a menos que lo desacti-
ves, no te funcionará nunca y no sabrás por qué.

47.12. Bibliografı́a
1. Ubicación de este documento:
http://usuario.tiscali.es/paco25abril/
2. Pagina de linux:
http://inicia.es/de/pacolinux
3. Guia rápida de Postfix. Paco Brufal:
http://www.kleenux.org/articulos/guia-postfix/guia postfix-5.html
4. man: postfix
5. SMTP Authentication for Mail servers
http://postfix.state-of-mind.de/patrick.koetter/smtpauth/smtp auth mailservers.
html
6. Postfix SASL Howto
http://www.postfix.org/SASL README.html

Por Paco Aldarias 186/449


Linux

7. Postfix+sasl
http://www.wl0.org/htmlarchives/postfix-es/200211/msg00005.html

8. Configuración de postfix
http://www.algomas.org/internet.html

9. Postfix/SASL/TLS HowTo for Debian Sid and Sarge


http://www.tribulaciones.org/docs/postfix-sasl-tls-howto.html

10. SMTP Auth/SMTP over SSL - Debian Woody 3.0


http://people.brad-x.com/∼diamondc/postfix-tls-smtpauth.html

11. Postfix y autentificación con los usuarios del sistema. Redhat.


http://libertonia.escomposlinux.org/story/2004/4/21/115328/318

Por Paco Aldarias 187/449


Linux

Capı́tulo 48

Traerse todo el correo: fetchmail

48.1. Versiones
19.3.03 Primera version v.1.0
25.06.04 Permisos $HOME/.fetchmailrc

48.2. Introducción
Fetchmail permite traerse el correo de mas de un servidor y enviarlo a la cuenta de correo que
uno quiera. Esto es util si tenemos mas de una cuenta de correo y queremos ver todo el correo
en la cuenta del usuario

48.3. Que necesitamos


Instalar fetchmail de correo leafnode .
Configurar fectchmail
Configurar el cron para q revise el correo automáticamente.

48.4. Instalación de fetchmail


Como root hay q hacer todo esto:
apt-get install fetchmail

48.5. Configurar el fetchmail


Fetchmail se confitura de forma independiente para cada usuari.
Siendo el usuario paco, crearemos un fichero en su home, que se llamara:

nano $HOME/.fetchmailrc

Por Paco Aldarias 188/449


Linux

---------------------- inico del fichero ---------------

# Cuentas imap
poll imap.miservidor.es
proto imap
user mi_usuario
pass mi_contrase~
na
to paco

#Cuentas pop
poll mcentres.cult.gva.es
proto pop3
user "46012963"
pass mi_pass
to paco

Nota:
Si el usuario es numérico, habra que ponerle doble comilla.
Darle los permisos:

chmod $HOME/.fetchmail 0710

48.6. Traernos el correo.


Como usuario normal escribiermos en consola:

fetchmail -k -v -f $HOME/.fetchmailrc

Nota: Esto nos traer el correo


la k es sin borrarlo del servidor
la f es el fichero de configuracion
la v es para q muestre mensajes

48.7. Si queremos que se traiga cada 5 minutos


Siendo el usuario paco:

crontab -e

A~
nadir esto:\\
--------------- inicio fichero
MAILTO=""
0-59/15 * * * * fetchmail -k -f ~/.fetchmailrc
--------------- fin fichero

Nota:
MAILTO="" es para q no envie mesajes de como ha ido el cron

Por Paco Aldarias 189/449


Linux

Reiniciar el cron:
/etc/init.d/cron restart

48.8. Configuración del cliente de correo


Abrimos el kmail , red, correo entrante
Añadir cuenta, buzon local, localizacion: /var/mail/paco

48.9. Bibliografı́a
1. http://www.iespana.es/pacodebian

2. http://inicia.es/de/pacolinux/fetchmail.htm

Por Paco Aldarias 190/449


Linux

Capı́tulo 49

Acceso a internet: Proxy: Squid

49.1. Versiones
30.3.03 Primera version v.1.0

49.2. Introducción
Squid es un proxy para http y ftp. Un proxy permite acelerar el acceso, ya q las paginas web son
almancenadas en el proxy.

49.3. Instalación
apt-get install squid

49.4. Arranque/Parada
arrancar
/etc/init.d/squid start

parar
/etc/init.d/squid stop

49.5. Configurar el proxy


Editaremos el fichero de configuración:
nano /etc/squid.conf
Deberemos tener esto:

http_port 8080
http_access allow all

Por Paco Aldarias 191/449


Linux

49.6. Utilidades
apt-get install swatch
Permite analizar los logs.

49.7. Configurar el squid como proxy trasparente


El proxy transparente, permite que todos los navegadores de la red, vayan al proxy aunque los
navegadores no esten configurados.
Debemos hacer:

1. Desde consola como root y siendo eth1 la tarjeta de conexión a la red local poner:

/sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8080

2. Debemos añadir al final de /etc/squid.conf:

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

49.8. Poner los mensajes de error en español


Editar el fichero desde consola como root:

nano /etc/squid/squid.conf

Poner esta linea

error_directory /usr/share/squid/errors/Spanish/

49.9. Bibliografı́a
1. Esta página:
http://www.iespana.es/pacodebian

2. Proxy Transparente:
http://www.tldp.org/HOWTO/mini/TransparentProxy.html

3. Proxy transparente:
http://bulmalug.net/pipermail/bulmailing/2002-April/014914.html

Por Paco Aldarias 192/449


Linux

Capı́tulo 50

Estadisticas de red,router,cpu:
MRTG

50.1. Versiones
07.04.03 v.1.0 Primera version
01.11.03 v.1.2 Mrtgindex
07.04.03 v.1.1 Apache
27.06.04 v.1.2 Iptotal y mrtg
22.03.05 v.1.2 Procesos

50.2. Introducción
MRTG: Multirouter Traffic Grapher Es una aplicación que permite sacar estadisticas de todo tipo.
Algunas estadisticas:

Control del tráfico de un router adsl.


Control del tráfico enviado/recibido de las tarjetas de red
Control del uso de la CPU
Medidor del uso de la RAM
Control del trafico del servidor web Apache.

Un ejemplo:
http://mainake.escomposlinux.org/mrtg/

50.3. Control del tráfico de un router adsl.


Para controlar el tráfico generado por el router usaremos el protocolo SNMP. SNMP Simple Ne-
twork Management Protocol El protocolo SNMP que permite conseguir informacion del router
En concreto yo tengo ADSL y un router Speed Strem 5660: Software Version 2.3.0(2) Aug 1 2001
11:54:02

Por Paco Aldarias 193/449


Linux

Entrar al router poniendo http://ip del router


Advanced Setup ,SNMP
Me sale esto:

SNMP Configuration
Operating
Values Stored
Values Enter New
Values
Community String mi_comunidad mi_comunidad
System Name: Router Eficient Router Eficient
System Location Casa Casa
System Contact pacolinux@inicia.es pacolinux@inicia.es
Trap Manager 1 0.0.0.0 0.0.0.0
Trap Manager 2 0.0.0.0 0.0.0.0

Tener en cuenta:

Lo importante es ver lo que pone en comunity String, ya que eso lo pasaremos al software
mrtg , ademas de la ip del router.
Estos datos se pueden cambiar. Incluso es recomendable cambiar el nombre de la comu-
nidad.

50.4. Instalación de mrtg


Como root hay q hacer todo esto:

apt-get install mrtg mrtgutils mrtg-contrib

Siendo:

mrtg Programa mrtg


mrtgutils Utilidades mrtg
mrtg-contrib Utilidades mrtg

50.5. Configurar el acceso al router


Hay una utilidad q configura llamada cfgmaker que configura solo mrtg para el router.

#cfgmaker
--global ’WorkDir: /var/www/mrtg’ \
--global ’Options[_]: bits,growright’ \
--output /etc/mrtg/mrtg.cfg \
comunidad_del_router@ip_del_router

Siendo:
workdir: Es donde se guardan los resultados.
output: Es donde esta el fichero cfg

Por Paco Aldarias 194/449


Linux

50.6. Configurar la carga de la cpu


Hay una utilidad llamada mrtg-load que devuelve el uso de la cpu.
Probar q funciona poniendo desde consola: mrtg-load
Veamos que debemos añadir al fichero /etc/mrtg.cfg

# CPU load %
Target[cpu]:‘/usr/bin/mrtg-load -m 100‘
Title[cpu]: Carga de CPU
PageTop[cpu]: <H1>CPU Carga %</H1>
<TABLE>
<TR><TD>System:</TD> <TD>aldarias.dsland.org</TD></TR>
<TR><TD>Maintainer:</TD> <TD>Paco Aldarias</TD></TR>
<TR><TD>Description:</TD><TD>Carga del procesador (%) </TD></TR>
<TR><TD>Email:</TD> <TD>pacolinux@inicia.es</TD></TR>
</TABLE>
MaxBytes[cpu]: 100
Unscaled[cpu]: ymwd
ShortLegend[cpu]: %
XSize[cpu]: 380
YSize[cpu]: 100
YLegend[cpu]: Carga(%)
Legend1[cpu]:
Legend2[cpu]: Utilización de la CPU en % (Carga)
Legend3[cpu]: Tiempo de funcionamiento (uptime)
Legend4[cpu]: Nombre de lo que estamos monitorizando
LegendI[cpu]:
LegendO[cpu]: Carga(%);&nbsp
Options[cpu]: gauge
Background[cpu]: #bbbbbb
Colours[cpu]: GREEN#00eb0c,BLUE#1000ff,DARK GREEN#006600,VIOLET#ff00ff

Siendo:
Target[cpu]:‘/usr/bin/mrtg-load -m 100‘
Pide porcentajes de uso de la cpu
Options[cpu]: gauge
Calcula cantidades sin acumular

50.7. Todo el fichero de configuración


Se pueden ver como se configuran mas cosas viendo el contenido del fichero:

/etc/mrtg.cfg

mrtg.cfg

50.8. Comprobar el cron


Para que cada 5 minutos se llama al mrtg, añadir esta linea al crontab
# nano /etc/crontab

0-59/5 * * * * root /usr/bin/mrtg /etc/mrtg.cfg

Por Paco Aldarias 195/449


Linux

.
Reiniciar el cron:
/etc/init.d/cron restart

50.9. Como ver las estadisticas


Abrir con el navegador:

\var\www\mrt\

50.10. Mrtg y Apache

50.10.1. Configurar el apache

nano /etc/apache/httpd.conf
<Location /server-status>
SetHandler server-status
Order deny,allow
#Deny from all
#Allow from .your_domain.com
Allow from all
</Location>

<Location /server-info>
SetHandler server-info
Order deny,allow
#Deny from all
#Allow from 127.0.0.1 192.168.100.1
Allow from all
</Location>

LoadModule info_module /usr/lib/apache/1.3/mod_info.so

Reiniciar el apache: /etc/init.d/apache restart

50.10.2. Probar que funciona


1. Para un apache normal:
mrtg-apache 127.0.0.1

2. En mi caso:
mrtg-apache aldarias.dyndns.org -p 2080

3. Abriendo el navegador:
http://localhost:2080/server-status

4. Abriendo el navegador:
http://localhost:2080/server-info

Por Paco Aldarias 196/449


Linux

50.10.3. Configurar mrtg

nano /etc/mrtg.cfg
Target[apache]:‘mrtg-apache aldarias.dyndns.org -p 2080‘
Title[apache]: Accesos al servidor Web
PageTop[apache]: <H1> Accesos al servidor Web</H1>
<TABLE>
<TR><TD>System:</TD> <TD>aldarias.dsland.org</TD></TR>
<TR><TD>Maintainer:</TD> <TD>Paco Aldarias</TD></TR>
<TR><TD>Description:</TD><TD>Server Status:
mrtg-apache aldarias.dyndns.org -p 2080 </TD></TR>
<TR><TD>Email:</TD> <TD>pacolinux@inicia.es</TD></TR>
</TABLE>
MaxBytes[apache]: 100
Unscaled[apache]: ymwd
ShortLegend[apache]: hits
XSize[apache]: 300
YSize[apache]: 100
YLegend[apache]: hits
#Legend1[apache]: Nose
Legend2[apache]: Hits
#Legend3[apache]: Hits
#Legend4[apache]: Nombre de lo que estamos monitorizando
#LegendI[apache]: -
#LegendO[apache]: Hits
Options[apache]: gauge

Generamos el nuevo indice:

indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

Generamos nuevas estadı́sticas:

mrtg /etc/mrtg.cfg

50.11. Mrtg y las máquinas en una red


Vamos a ver la forma de poder tener una gráfica con las máquinas conectadas en la red. Tendre-
mos q crear un script llamado /root/nmapmrtg.sh que será llamado por mrtg.

50.11.1. Script nmapmrtg.sh

cat /root/nmapmrtg.sh

#!/bin/sh
statname="ies25abril.dsland.org"
uptime=‘uptime | awk ’{print $3}’‘" dias, "‘uptime | awk ’{print $5}’‘" horas"
nmap -sP 192.168.100.1-254 > nmap.txt
statin=‘cat nmap.txt | awk ’/hosts up/ {print $8}’ |tr \( " "‘
statout=‘echo 0‘
echo $statin
echo $statout
echo $uptime
echo $statname

Por Paco Aldarias 197/449


Linux

Deberemos darle permiso de ejecución:


chmod 700 /root/nmapmrtg.sh

50.11.2. Configuración /etc/mrtg.cfg

Añadiremos al final del fichero este texto:

Title[nmap]: Máquinas en la red


Target[nmap]:‘/root/nmapmrtg.sh‘
PageTop[nmap]: <h1>Máquinas en la red</h1>
MaxBytes[nmap]: 1000
YLegend[nmap]: Máquinas
ShortLegend[nmap]: pcs
XSize[nmap]: 300
YSize[nmap]: 100
Options[nmap]: nopercent,gauge

50.12. Mrtg y el tráfico del servidor web


Deberemos hacer 3 cosas:

1. Crear un filtro con iptables


2. Crear un script que analize esta regla de iptables.
3. Decirle a mrtg que coga los datos.

Nota: Esto sirve para cualquier puerto que se desee monitorizar. Si cambias 80 por 21, y Webin
por Ftpin. y Webout por Ftpout, ya tienes para monitorizar el ftp también,etc.

50.12.1. Filtro del iptables

cat /root/web.sh

#!/bin/sh
/sbin/iptables -N WebIn
/sbin/iptables -N WebOut
/sbin/iptables -A WebIn -j ACCEPT
/sbin/iptables -A WebOut -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 80 -j WebIn
/sbin/iptables -A OUTPUT -p tcp --sport 80 -j WebOut

Deberemos darle permiso de ejecución:


chmod 700 /root/web.sh
Lo añadiremos en el arranque:
cp /root/web.sh /etc/init.d/
ln -s /etc/init.d/web.sh /etc/init.d/rc2/99web.sh

50.12.2. Script que analize esta regla de iptables

cat /root/webmrtg.sh

Por Paco Aldarias 198/449


Linux

#!/bin/sh
statname="Servidor Web"
uptime=‘uptime | awk ’{print $3}’‘" dias, \
"‘uptime | awk ’{print $5}’‘" horas"
statin=‘/sbin/iptables -L -n -x -v | /bin/grep -A 12 INPUT \
| /bin/grep WebIn | /usr/bin/awk ’{print $2}’‘
statout=‘/sbin/iptables -L -n -x -v | /bin/grep -A 12 OUTPUT \
| /bin/grep WebOut | /usr/bin/awk ’{print $2}’‘
echo $statin
echo $statout
echo $uptime
echo $statname

Deberemos darle permiso de ejecución:

chmod 700 /root/webmrtg.sh

50.12.3. Configurar el mrtg

Añadir al final del fichero /etc/mrtg.cfg

Target[web]: ‘/root/webmrtg.sh‘
Title[web]: Tráfico Web
PageTop[web]: <h1>Tráfico Web</h1>
MaxBytes[web]: 30720
YLegend[web]: Web Bytes/s
ShortLegend[web]: B/s
XSize[web]: 300
YSize[web]: 100

50.13. Mrtg y la temperatura del disco duro


Deberemos instalar la utilidad hddtemp:

apt-get install hddtemp

Probar que funciona:

hddtemp /dev/hda

50.13.1. Script para sacar la temperatura

Crear este fichero: /root/hdtemp.sh

#!/bin/sh
statname="ies25abril.dsland.org"
uptime=‘uptime | awk ’{print $3}’‘" dias, "‘uptime | awk ’{print $5}’‘" horas"
statin=‘hddtemp /dev/hda | cut -f3 -d" " |tr \◦ C " "‘
statout=‘echo 0‘
echo $statin
echo $statout
echo $uptime
echo $statname

Por Paco Aldarias 199/449


Linux

Darle persmisos de ejecución:

chmod 700 /root/hdtemp

Probarlo:

/root/hdtemp

50.13.2. Configurar el mrtg

Añadir al final del fichero /etc/mrtg.cfg

Title[hdtemp]: Temperatura del Disco Duro


Target[hdtemp]:‘/root/hdtemp.sh‘
PageTop[hdtemp]: <h1>Temperatura del Disco Duro</h1>
MaxBytes[hdtemp]: 60
YLegend[hdtemp]: Temperatura (◦ C)
ShortLegend[hdtemp]: ◦ C
XSize[hdtemp]: 300
YSize[hdtemp]: 100
Options[hdtemp]: nopercent,gauge

50.14. Mrtg y el ancho de banda


Deberemos instalar la utilidad iptotal, desde consola como usuario root:

apt-get install iptotal

Probar que funciona:

iptotal -r 5 eth0

Siendo: -r 5 el tiempo que tarda en hacer los cálculos y eth0 el interface que está monitorizando.

50.14.1. Script para sacar el ancho de banda

Crear este fichero: /root/cat iptotal.sh

#!/bin/sh
statname="Iptotal"
uptime=‘uptime | awk ’{print $3}’‘" dias, "‘uptime | awk ’{print $5}’‘" horas"
/usr/sbin/iptotal -r 5 eth0 > iptotal.txt
#cat iptotal.txt >> iptotal1.txt
in=‘cat iptotal.txt | awk ’{print $5}’‘
out=‘cat iptotal.txt | awk ’{print $8}’‘
echo $in
echo $out
echo $uptime
echo $statname

Darle permisos de ejecución:

chmod 700 /root/iptotal.sh

Por Paco Aldarias 200/449


Linux

Probarlo:

/root/iptotal.sh

50.14.2. Configurar el mrtg

Añadir al final del fichero /etc/mrtg.cfg

Title[iptotal]: Velocidad de la red


Target[iptotal]:‘/root/iptotal.sh‘
PageTop[iptotal]: <h1>Velocidad de la red. Iptotal</h1>
MaxBytes[iptotal]: 50
YLegend[iptotal]: Ancho de Banda (KB)
ShortLegend[iptotal]: KB
XSize[iptotal]: 300
YSize[iptotal]: 100
Options[iptotal]: nopercent,gauge

50.15. Mrtg y el número total de procesos


Vamos a usar la orden ps -aux, la guardamos en un fichero y contamos cuantas lı́neas hay.

50.15.1. Script para cálcular los procesos

Crear el fichero /root/procesos.sh

#!/bin/bash
# Por Paco Aldarias
# 22.03.05
# Calcula el numero de procesos totales y de root

statname=‘hostname‘
uptime=‘uptime | awk ’{print $3}’‘" dias, "‘uptime | awk ’{print $5}’‘" horas"

#Procesos de usuario
ps -aux > procesos.txt 2>/dev/null
total=‘wc -l < procesos.txt‘
total=‘expr $total - 1‘

#Procesos de root
ps -aux | grep root > procesos.txt 2>/dev/null
root=‘wc -l < procesos.txt‘
root=‘expr $root - 2‘

rm -f procesos.txt

echo $root
echo $total
echo $uptime
echo $statname

Por Paco Aldarias 201/449


Linux

50.15.2. Configurar el mrtg

Añadir al fichero /etc/mrtg.cfg

Title[procesos]: Procesos
Target[procesos]:‘/root/procesos.sh‘
PageTop[procesos]: <h1>Procesos</h1>
MaxBytes[procesos]: 200
YLegend[procesos]: Procesos
ShortLegend[procesos]: Num.
XSize[procesos]: 300
YSize[procesos]: 100
Options[procesos]: nopercent,gauge
Background[procesos]: #BDBABD
Colours[procesos]: ORANGE#FF7500,BLUE#1000ff,DARK GREEN#006600,VIOLET#ff00ff
LegendI[procesos]: Procesos Root
LegendO[procesos]: Total Procesos

50.16. Generar el indice


Desde consola como root:

indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

50.17. Bibliografı́a
1. Pagina oficial mrtg:
http://people.ee.ethz.ch/∼oetiker/webtools/mrtg/

2. Ubicación de este documento:


http://usuario.tiscali.es/paco25abril/

3. Pagina de linux :
http://inicia.es/de/pacolinux

4. Un ejemplo:
http://mainake.escomposlinux.org/mrtg/carga.html

5. Manual mrtg:
http://libertonia.escomposlinux.org/story/2003/1/17/224253/241

6. man: mrtg

7. man:mrtg-reference

Por Paco Aldarias 202/449


Linux

Capı́tulo 51

Antivirus en linux:
F-prot+Amavis+Postfix

51.1. Versiones
17.04.03 Primera version v.1.0
30.12.03 Amavis para debian woody v.1.1

51.2. Introducción
Vamos a ver la forma de como montar un antivirus para escanera ficheros. Y además veremos
con comprobar si tiene virus el correo entrante y saliente.
Yo uso la combinación postfix + amavis + fprot, donde:

1. postfix es el servidor de correo (sé que pueden ser otros)


2. amavis es el programa que se encarga de pasar el antivirus y de tomar las acciones nece-
sarias
3. fprot es el antivirus en sı́, es gratuito para usuarios personales (y siempre que sea en Linux).

51.3. El antivirus
Previamente neceta instalar:
apt-get install wget
Bajarse el fichero:

fp-linux-sb.deb

Se encuentra en:
http://www.f-prot.com/download/
ftp://ftp.f-prot.com/pub/linux/fp-linux-sb.deb

Instalarlo ese paquete:

dpkg -i fp-linux-sb.deb

Por Paco Aldarias 203/449


Linux

51.4. Uso de f-prot


Pasar el antivirus a una carpeta:

f-prot -append -disinf -report=fprot.log /carpeta/

Para actualizar el antivirus:

/usr/local/f-prot/check-updates.sh

Pasar actualizar el antivirus, lo añadiremos en el cron:


#crontab -e

1 11 * * * /usr/local/f-prot/check-updates.sh -cron

51.5. Instalación de amavis para debian sid

51.5.1. Instalar amavis

Para debian sid

apt-get install amavisd-new

51.5.2. Configurar para antivirus al correo

Requiere: rddtools, php4, apache, perl

apt-get install amavisd-new

nano /etc/postfix/main.cf

# Configuración Amavis - F-Prot


content_filter = smtp-amavis:[127.0.0.1]:10024

51.5.3. Cambiar el ficheros de configuracion de amavis

nano /etc/amavis/amavisd.conf
Descomentar la linea q aparece:

FRISK F-Prot Daemon

51.6. Estadisticas de amavis


Instalarlo con:

apt-get instal amavis-statsl

Versión:

amavis-stats 0.1.12-2 Virus statistics RRDtool frontend for

Por Paco Aldarias 204/449


Linux

Hacer enlace simbolico:

ln -s /usr/share/amavis-stats/ /var/www/amavis

Generar Estadisticas:

amavis-stats /var/log/mail.info

Probar que funciona:


http://127.0.0.1/amavis/

51.7. Instalación de amavis para debian woody


Aqui está el ayuda: /usr/share/doc/amavis-postfix/

51.7.1. Instalar amavis

Para debian woody:

apt-get install amavis-postfix

51.7.2. Configurar para antivirus al correo

Añadir al ficheros de configuracion de postfix:


Añadir las lı́neas: nano /etc/postfix/main.cf

content_filter = vscan:
soft_bounce = yes

Añadir la lı́neas: nano /etc/postfix/master.cf

vscan unix - n n - 10 pipe flags=q \


user=amavis argv=/usr/sbin/amavis ${sender} ${recipient}

localhost:10025 inet n - n - - smtpd -o content_filter=

Reiniciar postfix:
/etc/init.d/postfix restart

51.7.3. Cambiar el ficheros de configuracion de amavis:

Modificar el fichero: nano /etc/amavis/amavisd.conf

# FRISK F-Prot
$fprot = "f-prot";

Reiniciar amavis:
/etc/init.d/amavis-postfix restart

Por Paco Aldarias 205/449


Linux

51.8. Probando que funciona

Nos enviamos un correo:


echo "Mi texto" | mail -s "Mi Encabezado" paco

Este es el correo:
----------------------------
From paco@aldarias.dyndns.org Tue Dec 30 15:27:11 2003
Return-Path: <paco@aldarias.dyndns.org>
Delivered-To: paco@aldarias.dyndns.org
Received: from localhost (localhost [127.0.0.1])
by aldarias.dyndns.org (Postfix) with ESMTP id 4DB532C300
for <paco@aldarias.dyndns.org>; Tue, 30 Dec 2003 15:27:11 +0100 (CET)
Received: by aldarias.dyndns.org (Postfix, from userid 1000)
id ABF302C301; Tue, 30 Dec 2003 15:27:10 +0100 (CET)
To: paco@aldarias.dyndns.org
Subject: Mi Encabezado
Message-Id: <20031230142710.ABF302C301@aldarias.dyndns.org>
Date: Tue, 30 Dec 2003 15:27:10 +0100 (CET)
From: paco@aldarias.dyndns.org (Paco Aldarias)
X-Virus-Scanned: by AMaViS snapshot-20020222
X-Spam-Status: No, hits=0.0 required=6.0 tests= version=2.20
X-Spam-Level:

Mi texto
----------------------------
X-Virus-Scanned: by AMaViS snapshot-20020222 <- Funciona.

51.9. Antivirus clam


Clam es un antivirus q se actualiza por internet y se puede poner tb en amavis.
Instalación:

apt-get install clam

Actualización de los virus

freshclam

Pasar el antivirus a la carpeta /winc

clamscan -i -r /winc -r clam.log

51.10. Script para pasar antivirus al disco duro de windows


echo pasando antivirus
/usr/sbin/update-f-prot
freshclam
f-prot -append -auto -disinf -report=fprot.log /winc

Por Paco Aldarias 206/449


Linux

f-prot -append -auto -disinf -report=fprot.log /wind


clamscan -i -r /winc -r clam.log
clamscan -i -r /wind -r clam.log

51.11. Bibliografı́a
1. Ubicación de este documento:
http://pagina.de/pacolinux

2. Página de linux :
http://inicia.es/de/pacolinux

Por Paco Aldarias 207/449


Linux

Capı́tulo 52

Conectar una red local a internet:


NAT

52.1. Versiones
08 05.03. V.1.0.

52.2. Introducción
Vamos a ver como conectar a internet una red.
El conectar una red a internet, equivale a hacer NAT, o a la conexión compartida a internet de
windows.
Partimos del supuesto que nuestro ordenador tiene la ip externa, esto ocurre cuando conectamos
por modem, por cable modem, o por adsl en monopuesto.
Si tenemos el adsl en multipuesto, la ip externa la tiene el router, no podemos hacer nat, ya q es
el router el q esta haciendo nat. Es decir, q habrá q poner como puerta de enlace el router.
Activando el nat, todos los ordenadores tendran internet, si ponen como puerta de enlace la ip
local del ordenador q hace nat.
Haciendo un pc de nat, no es necesario poner proxy para que los pcs de la red tengan conexión
a internet. El proxy lo único que hace es guardarse las páginas, con lo cual acelera la conexión.
También es posible tener proxy, y no tener nat, con lo cual, tendremos acceso a www y ftp
solamente.

52.3. El kernel
El kernel debe tener soporte de iptables y de nat.
Es decir, debe salir esto con la orden cat.

#cat /usr/src/linux-2.4.20/.config | grep IPTABLES


CONFIG_IP_NF_IPTABLES=y

#cat /usr/src/linux-2.4.20/.config | grep NAT


CONFIG_IP_ROUTE_NAT=y

Por Paco Aldarias 208/449


Linux

CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_NAT_LOCAL=y
CONFIG_IP_NF_NAT_IRC=y
CONFIG_IP_NF_NAT_FTP=y

52.4. El software
Tenemos que instalar el software de iptable:
# apt-get install iptables
Iptables también es llamado cortafuegos. Pero hace muchas más cosas.

52.5. Script que activa el nat


Suponemos que la tarjeta de red eth0 es la q sale a internet.

Este es el cotenido del fichero: /etc/init.d/nat.sh


------------------- inicio ---------------------------
#!/bin/bash
echo Montando el NAT
/sbin/modprobe iptable_nat
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
-------------------fin---------------------------

Este script lo que hace es:

modprobe: activa el modulo nat, en el caso de q lo tengamos como modulo.

iptables: transforma toas las ips locales en ips externas

echo: activa el reenvio de paquetes

52.6. Activarlo en el arranque


Una vez creado el fichero /etc/init.d/nat.sh
Le damos permiso de ejecución:
chmod 700 /etc/init.d/nat.sh
Creamos un enlace en el arranque:
ln -s /etc/init.d/nat.sh /etc/rc2/S50nat

52.7. Bibliografı́a
1. Ubicación de este documento:
http://usuario.tiscali.es/paco25abril/

Por Paco Aldarias 209/449


Linux

2. Pagina de linux :
http://inicia.es/de/pacodebian

3. NAT:
http://www.insflug.org/COMOs/NAT-COMO/NAT-COMO.html

Por Paco Aldarias 210/449


Linux

Capı́tulo 53

Servidor de correo imap y web mail:


courier-imap + postfix +
squirrelmail

53.1. Versiones
08 05.03. V.1.0.

53.2. Introducción
Vamos a ver como se instala un servidor de correo imap llamado courier-imap
Un servidor de correo imap permite accecer al correo que se encuentra en una maquina para un
usuario.
Un servidor imap tiene la ventaja q muchos clientes de correo permiten bajarse sólo los encabe-
zados.
Yo me instale el servidor imap para poder ver mi correo desde cualquier lugar.
Un servidor imap, por si solo, no pueden enviar correo, ni recoger el correo, Para eso se necesita
un servidor SMTP como por ejemplo postfix.

53.3. Instalación del servidor


apt-get install courier-imap

53.4. Configuración del usuario


Los servidores imap necesitan tener la carpeta Maildir dentro del home del usuario.
La crearemos:
mkdir $HOME/Maildir
mkdir $HOME/Maildir/tmp
mkdir $HOME/Maildir/new

Por Paco Aldarias 211/449


Linux

mkdir $HOME/Maildir/cur

Para crear subcarpetas:


mkdir $HOME/Maildir/.Spam
mkdir $HOME/Maildir/.Spam/tmp
mkdir $HOME/Maildir/.Spam/cur
mkdir $HOME/Maildir/.Spam/new

Nota: En el cliente de correo poner como carpeta de incio: /.

53.5. Maildir
Debemos de cambiar también el archivo /etc/login.defs , descomentando la lı́nea

QMAIL_DIR/Mailidir

para indicar, que todos los usuarios que hagan login en nuestro sistema, usarán también el
formato Maildir.
Debemos de comentar las 2 que aparezcan a su lado, lógicamente.
nano /etc/login.defs
También debemos modificar el archivo master.cf, añadiendo la lı́nea: virtual unix - n n - - virtual

53.6. Configuración de Postfix


Ahora diremos al servidor MTA (Mail Tranfer Agent) que el correo que llege lo envie a la carpeta
correcta.

Contenido de mi fichero /etc/postfix/main.cf

-------------------inicio---------------------------

command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)


setgid_group = postdrop
biff = no

# appending .domain is the MUA’s job.


append_dot_mydomain = yes
myhostname = pacohost.aldarias.dsland.org
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = aldarias.dsland.org, pacohost.aldarias.dsland.org, localhost.aldarias.dsland.org,
mynetworks = 127.0.0.0/8
#mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0

Por Paco Aldarias 212/449


Linux

# Configuración de Courier-Imap
home_mailbox = Maildir/
queue_directory = /var/spool/postfix

recipient_delimiter = +
relayhost =
# Configuración Amavis - F-Prot
content_filter = smtp-amavis:[127.0.0.1]:10024

-------------------fin---------------------------

Reiniciamos postfix: /etc/init.d/postfix restart

53.7. Configuración de Courier y usuarios


Para q los usuarios de linux sean aceptados por el servidor imap debemos de hacer la conversión.
# pw2userdb
Para sacar la configuracion de postfix:

postconf -n

nano $HOME/.forward
| procmail

nano /etc/procmailrc
MAILDIR=$HOME/Maildir
DEFAULT=./

53.8. Administration de postfix


postfix start : iniciar el servidor de correo

postfix stop : parar el servidor de correo

postfix reload : recargar la configuración del servidor de correo

postfix check : comprobar la configuración y los permisos

postfix flush : enviar los mensajes que no se han enviado

mailq : mirar que mensajes no se han enviado todavı́a

53.9. Cola de correo


Para ver la cola del correo pendiente de enviar:
mailq
Para borrar la cola:

postsuper -d ALL

Por Paco Aldarias 213/449


Linux

53.10. Configuración del host


Para saber el nombre del host: hostname
pacohost

nano /etc/hosts
127.0.0.1 localhost
192.168.0.1 pacohost

53.11. Instalación del webmail: squirrelmail


apt-get install squirrelmail
También se requiere tener instalado apache y php4.

53.12. Configurar squirrelmail


Ejecutar esta utilidad:
/etc/squirrelmail/conf.pl
Es importante indicale aqui que usamos servidor imap : courier
Debemos tener presente:
Menu Principal 1

SquirrelMail Configuration : Read: config.php (1.4.0)


---------------------------------------------------------
Organization Preferences
1. Organization Name : Web Mail Paco Aldarias
2. Organization Logo : ../images/sm_logo.png
3. Org. Logo Width/Height : (308/111)
4. Organization Title : SquirrelMail $version
5. Signout Page :
6. Default Language : es_ES
7. Top Frame : _top
8. Provider link : http://aldarias.dsland.org
9. Provider name : http://aldarias.dsland.org/

R Return to Main Menu


C. Turn color on
S Save data
Q Quit

Command >>

Menu Principal 2

SquirrelMail Configuration : Read: config.php (1.4.0)


---------------------------------------------------------
Server Settings

General
-------
1. Domain : aldarias.dsland.org

Por Paco Aldarias 214/449


Linux

2. Invert Time : false


3. Sendmail or SMTP : SMTP

A. Update IMAP Settings : localhost:143 (courier)


B. Update SMTP Settings : localhost:25

R Return to Main Menu


C. Turn color on
S Save data
Q Quit

Menu Principal 3

SquirrelMail Configuration : Read: config.php (1.4.0)


---------------------------------------------------------
Folder Defaults
1. Default Folder Prefix : INBOX.
2. Show Folder Prefix Option : false
3. Trash Folder : Trash
4. Sent Folder : Sent
5. Drafts Folder : Drafts
6. By default, move to trash : true
7. By default, move to sent : true
8. By default, save as draft : true
9. List Special Folders First : true
10. Show Special Folders Color : true
11. Auto Expunge : true
12. Default Sub. of INBOX : false
13. Show ’Contain Sub.’ Option : false
14. Default Unseen Notify : 2
15. Default Unseen Type : 1
16. Auto Create Special Folders : true
17. Folder Delete Bypasses Trash : true
18. Enable /NoSelect folder fix : false

R Return to Main Menu


C. Turn color on
S Save data
Q Quit

Menu Principal 4

SquirrelMail Configuration : Read: config.php (1.4.0)


---------------------------------------------------------
General Options
1. Default Charset : iso-8859-1
2. Data Directory : /var/lib/squirrelmail/data/
3. Attachment Directory : /var/spool/squirrelmail/attach/
4. Directory Hash Level : 0
5. Default Left Size : 150
6. Usernames in Lowercase : false
7. Allow use of priority : true
8. Hide SM attributions : false
9. Allow use of receipts : true
10. Allow editing of identity : true/true
11. Allow server thread sort : false

Por Paco Aldarias 215/449


Linux

12. Allow server-side sorting : false


13. Allow server charset search : true
14. Enable UID support : true
15. PHP session name : SQMSESSID

R Return to Main Menu


C. Turn color on
S Save data
Q Quit

53.13. Squirrelmail en Español

53.13.1. SquirrelMail versión 1.4.3a

Españolizar el sistema:

apt-get install locales

dpkg-reconfigure locales
Eleguir:
Paso 1: es_ES@euro ISO-8859-15

Paso 2: es_ES@euro

Castellanizar el sistema

eurocastellanizar

Configurar el webmail:

/etc/squirrelmail/conf.p

6. Default Language : es_ES

Reiniciaremos apache:

/etc/init.d/apache restart

53.13.2. Para versiones antiguas

Hay q ir a la web de squirrelmail:


http://www.squirrelmail.org/download.php
Entrar en local-package

O bien
http://sourceforge.net/project/showfiles.php?group id=311&package id=110388
Bajarse el fichero de tu versión.

En mi caso es:

Por Paco Aldarias 216/449


Linux

es_ES-1.5.0-20040404.tar.bz2

Descomprimirlo y ejecutar:
./install
Indicarle la ubicación:
/usr/share/squirrelmail/

53.14. Acceso al webmail


http://aldarias.dsland.org/squirrelmail/src/login.php

53.15. Aumentar la capacidad de apache y php


Para poder tener muchos correos debemos aumentar la capacidad del php.
Para ello editaremos:
nano /etc/php4/apache/php.ini
Y deberemos tener esto:
post max size=80
Reiniciaremos apache:
/etc/init.d/apache restart
Esto tuve que hacerlo ya que me salia este mensaje de error al entrar en el webmail:
Allowed memory size of 8388608 bytes exhausted (tried to allocate 4097 bytes)

53.16. Acceso al correo desde un cliente de correo: kmail


Tipo de cuenta : imap
Servidor: aldarias.dsland.org
Prefijo carpeta: Maildir

53.17. Aviso del correo: korn


Instalarlo:
apt-get install korn
Configurarlo una vez abierto asi :
Nuevo - mbox - ruta:
$HOME/Maildir/

53.18. Conclusión
El objetivo es:

1. Recoger todo el correo y centralizarlo (fetchmail)

2. Poder enviar/recibir correo directamente (postfix)

Por Paco Aldarias 217/449


Linux

3. Limpiar de virus el correo (amavis)

4. Poder ver el correo desde cualquier lugar (courier-imap)

5. No depender de clientes de email (webmail)

Al final dispongo de varias capas, que cada una hace su trabajo:

1. fechmail.
Recoge el correo de varias cuentas externas. Y se lo entrega a postfix. .

2. postfix
Recoge el correo entrante que llega al usuario@midominio.org.
Tb Envia el correo saliente.

3. amavis
Revisa el correo entrante/ saliente por si tiene virus y se lo da al destinatario

4. courier-imap
Se encarga de mostrar el correo existente para el usuario.
Este se comunica con el webmail o con el cliente de correo.

53.19. Bibliografı́a
1. Ubicación de este documento:
http://inicia.es/de/pacodebian

2. Página oficial del webmail: Aqui se pueden encontrar muchos plug-ins


http://www.squirrelmail.org/index.php

3. Postfix, Courier y MySQL:


http://130.206.100.150/docs/articulo.postfixmysql.html

4. Postfix + procmail + fetchmail


http://www.escomposlinux.org/lfs-es/recetas/postfix fetchmail procmail.html

5. Procesando correos con Procmail:


http://bulmalug.net/body.phtml?nIdNoticia=1562

Por Paco Aldarias 218/449


Linux

Capı́tulo 54

El servidor de listas de correo


electrónico: mailman + postfix

54.1. Versiones
01 05.03. V.1.0. Creación

54.2. Introducción
Una lista de correo electrónico o lista de distribución, es algo muy útil, que poca gente conoce.
Caracterı́sticas de una lista de correo electrónico:

1. Toda lista de correo, tiene asociaciado un correo electrónico, dicha cuenta de correo es la
q se utiliza para enviar y recibir correo de toda las personas suscritas.

2. Permite darse de alta, baja, cambiar la cuenta de correo donde envian los mesajes

3. Puede permitir almacenar los mensajes.

4. Puede permitir ver los que estan apuntandos.

5. Toda lista tiene asociado quien la gestiona.

54.3. Es servidor de listas maiman


Mailman es servidor de listras de correo electronico, ampliamente utilizada.
Vease este ejemplo, para subscribirse o anular su subscripción a través de WEB:
https://listas.hispalinux.es/mailman/listinfo/sl-educacion

54.4. Instalación de mailman


apt-get install mailman
Nota: Requiere tener instalado ser servidor apache,

Por Paco Aldarias 219/449


Linux

54.5. Crear/Borrar listas


Desde consola siendo root:
Para crear una listra:
newslist ¡nombre de lista¿
Para borrarla:
rmlist ¡nombre de lista¿
Para ver las listas creadas:
list lists
Es obligatorio crear la lista mailman:
newlist mailman
La lista mailman permite avisar a los mantenedores de lista:
newlist mailman
Nota: Cada vez q se crea/borra una lista, debemos reiniciar postfix para q sea actualizen la listas
de correo.

54.6. Configurar mailman


Aqui se encuentran los alias de los correos:
cat /var/lib/mailman/data/aliases
Debemos actualizar los alias asi:
/usr/lib/mailman/bin/genaliases
Debemos tener los permisos adecuados:
chown list.list /var/lib/mailman/data
Debemos adaptar mailman a postfix para ello añadiremos al final del fichero /usr/lib/mailman/-
Mailman/mm cfg.py:
MTA = ’Postfix’

54.7. Configurar postfix


Debemos adaptar postfix para q gestiones las nuevas direcciones de correo. Editaremos el fichero
/etc/postfix/main.cf

# see /usr/share/postfix/main.cf.dist for a commented, fuller


# version of this file.

# Do not change these directory settings - they are critical to Postfix


# operation.
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)


setgid_group = postdrop
biff = no

# appending .domain is the MUA’s job.


append_dot_mydomain = yes
myhostname = pacohost.aldarias.dsland.org

Por Paco Aldarias 220/449


Linux

alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases # <--- mailman


alias_database = hash:/etc/aliases

myorigin = /etc/mailname
mydestination = aldarias.dsland.org, pacohost.aldarias.dsland.org, localhost.aldarias.dsland.org,
mynetworks = 127.0.0.0/8
#mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
# Courier-Imap
home_mailbox = Maildir/
queue_directory = /var/spool/postfix

recipient_delimiter = +
relayhost =

# Configuración Amavis - F-Prot


content_filter = smtp-amavis:[127.0.0.1]:10024

#mailman
owner_request_special = no

Nota: Consultar este fichero


usr/share/doc/mailman/README.POSTFIX.gz

54.8. Reiniciar los servidores postfix y mailman


Nota: Una vez realizados los cambios debemos reiniciar postfix y mailman:
/etc/init.d/postfix restart
/etc/init.d/mailman restart

54.9. Entrar en las listas


http://ip del servidor apache/cgi-bin/mailman/listinfo
Desde aqui podemos gestionar las listas creadas.

54.10. Arreglar los enlaces de la imagenes


Si no se ven las imagenes hacer esto:

mkdir /var/www/images
ln -s /usr/share/images/mailman/ /var/www/images/

54.11. Bibliografı́a
1. Ubicación de este documento:
http://inicia.es/de/pacodebian

Por Paco Aldarias 221/449


Linux

2. Ayuda de mailman
/usr/share/doc/mailman/html/docs.html

Por Paco Aldarias 222/449


Linux

Capı́tulo 55

Seguridad: hackers

55.1. Introducción
La seguridad y hacker esta intimamente relaciónado.
Exiten dos elementos importantes:

1. La direccion ip

2. Los puertos

Conociendo la ip y los puertos abiertos podemos entrar en las máquinas.


La ip equivaldrá a la dirección de una persona. Y los puertos, las puertas de la vivienda, donde
cada puerta nos da acceso a una habitación.

55.2. La dirección ip
Es la dirección en internet de una máquina

55.2.1. Para saber la ip nuestra


1. En windows: Incio-ejecutar-winipcfg

2. En linux: ifconfig

55.2.2. Para saber las ips de la red


1. En windows: !! de pago !! (ipscan)

2. En linux: nmap -sP 192.168.100.*


Esto nos da las ip de la red 192.168.100
En linux: nmap 192.168.100.*
Esto nos da las ip de la red 192.168.100 y los puertos abiertos.

Por Paco Aldarias 223/449


Linux

55.2.3. Para saber la ip de otra máquina con estos métodos

Métodos:

1. Viendo la cabecera del email

2. Viendo las conexiones con nuestra máquina, en netmeeting, ftp, etc.

55.3. Como ver las conexiones de nuestra máquina con otras


1. En windows:
netstat -n

2. En linux:

netstat -tupan ipnuestra


Muesta nuestra conexiones
netstat -tupan 127.0.0.1
Muesta nuestras conexiones
netstat -tupan 127.0.0.1 — grep ESTA
Muesta nuestra conexiones establecidad

Las conexiones tienen varios estados:

1. Listen. Escuchando

2. Establised. Establecida.

Nota: Comprobar a q corresponde los puertos abiertos de tu máquina y la de otra que conozcais.

55.4. Como saber que es cada puerto


En windows:
No hay se sabe.
En linux:
cat /etc/services — grep 110
Nos dice a que servicio corresponde el puerto 110.

Nota: Comprobar a q corresponde los puertos abiertos de alguna máquina.

55.5. Como entrar en una máquina


Una máquina sin puertos abiertos no es posible entrar.
Según el puerto abierto usaremos una herramienta u otra.
Cada puerto corresponde a un servicio, deberemos usar herramientas para poder entrar a ese
servicio.

Por Paco Aldarias 224/449


Linux

55.6. Entrar a máquinas con windows


Windows usa el protocolo tcp/ip, ed decir, cuando conecta a internet, esta máquina tiene su ip
por la cual podemos entrar. Si windows tiene activado compartir archivos e impresora. Podremos
entrar por esta puerta abierta.
Las máquinas que tienen netbios (windows) abierto usan los puertos 139/tcp.
Haciendo nmap ip, podremos averiguar si esta abierto (open).
Forma de entrar:

1. Con windows:
Inicio - Buscar pc - Poner su ip
Apareceran las carpetas compartidas

2. Con linux:
komba2

Nota: Comprobar una máquina con windows q comparte que puertos tiene abiertos e intentar
acceder a sus archivos.
Es importante tener claro esto, pues cuando nos conectemos a internet, no debemos compartir
archivos, ya que estos serán accesibles, desde el exterior. Si no tenemos una red en casa, no
instaleis netbios. Si teneis una red, y quereris compartir archivos, ponerle siempre contraseña a
las carpetas.

55.7. Entrar a máquinas con el pueto 21 abierto


El puerto 21 corresponde al servicio ftp
Para poder entrar debemos poner: ftp ip
Pero nos pide contraseña. !!! como sacarla !!!

55.8. Sacar contraseñas: snifers


Si estamos en una red publica, es peligros poner nuestra contraseña sin cifrar. Ya que circula por
la red y cualquiera puede cogerla.
Vamos a ver como se consique y como evitar nos la cogan.
Para coger las contraseñas usaremos snifer (snifador). En linux:

1. En consola: tcpdump Ejemplo: tcpdump -X

2. Modo gráfico: ethereal


http://www.ethereal.com

Para evitar que nos cogan las contraseñas debemos usar siempre protocolos cifrados. En lugar
de telnet, debemos usar ssh. En lugar de ftp debemos usar sftp. En yahoo, debemos usar opcion
de seguridad. Asi en todo.
Las páginas web cifradas son las https.

Por Paco Aldarias 225/449


Linux

55.9. Bloquear el acceso al superservidor: inetd


Normalmente los servidores web, ftp, etc, en su configuración se puede indicar restricciones de
acceso a máquinas.
El superdemonio xinetd, permite controla más de un servidor. Podemos indicar q al arrancar
inetd, se arranque el servidor web, ftp, etc.
Inetd es como una programa q arranca q y controla otros programas o servidores.
El control de acceso a los servicios de inetd, se controla en el fichero:
Aqui están las maquinas q pueden entrar:
/etc/hosts.allow

Aqui estan las maquinas q no pueden entrar:


/etc/hosts.deny

En estos ficheros se indica el servicio:máquina


Suele denegarse a todos, y luego ir indicando q maquinas pueden usar los servicios. El uso de
hosts.allow y hosts.deny se llama tcpwraper
Ejemplos: /etc/hosts.deny
ALL:ALL
Nota: Esto deniega todo a todas las maquinas.
/etc/hosts.allow
ftp.in:192.168.100.2
Nota: Esto permite acceso a ftp a la máquina 192.168.100.2

55.10. Los cortaguegos: iptables


Un cortafuetos es un sistema q permite aceptar o denegar el acceso a ciertas máquinas.
Permite no pueda entrar a la nuestra. Tb permite bloquear ciertos puertos.
Es necesario que el kernel tenga activado la opcion del iptables.
Existen varios cadenas de reglas que se aplican a lo q entra y a lo que sale:
INTUT: Entrada
OUTPUT: Salida
FORWARD: Reenvio

Instrucciones básicas:
Para ver las reglas: iptables -L -n -v
Para borrarlas todas: iptables -F
Para añadir una regla: iptables -a regla
Para borrar una regla: iptables -d regla

Ejemplo:
Bloquemos la entrarda desde cualquier IP
iptables -a INPUT -s 0.0.0.0/0 -j DROP
Esto equivale a quedarnos sin red, es decir:
ifconfig eth0 down
Ejemplo:
Bloquemos la entrada cuyo destino sea el puerto 21 desde cualquier IP .

Por Paco Aldarias 226/449


Linux

Con ello bloqueriamos el servidor ftp.


iptables -a INPUT -s 0.0.0.0/0 -dport 21 -j DROP

Esto rechazaria:
iptables -a INPUT -s 0.0.0.0/0 -dport 21 -j REJECT
Esto aceptaria
iptables -a INPUT -s 0.0.0.0/0 -dport 21 -j ACCEPT

55.11. Cómo ver nuestras ips


Un maquina en una red local tiene una ip, por ejemplo, 192.168.0.1. Pero para salir a internet
tenemos una ip válida en internet, por ejemplo, 217.128.45.23.
Eso se debe a q el router transforma nuestra ip para salir a internet.
Podemos ver la ip externa aqui:
http://www.whatismyip.com/
La ip interna o de la red local se puede ver con:
ifconfig

55.12. Cómo saber de donde es una ip: whois


Una vez tenemos la ip podemos saber de donde es esa maquina poniendo:
whois ip
También se puede consultar en la web:
http://www.ripe.net/db/whois/whois.html

55.13. Programas para analisis de seguridad


Satan/Saint: Aunque parezca que ya no tiene utilidad para mi sigue siendo útil para comprobar
algunos fallos comunes de configuración del sistema.
Cops: Similar a Satan con algunas mejoras, también es un programa ya antiguo, pero sigue
siendo útil.
Tiger: Muy similar a Cops pero más moderno y con más funcionalidad. Muy útil para los fallos
de configuración y para la seguridad del sistema.
Tara: Una versión todavı́a más avanzada y modificada de Tiger/Cops.
Sara: Un derivado de Satan actualizado y modernizado, también muy recomendable.
Nessus: Una herramienta imprescindible. Es el sistema más avanzado para detectar fallos de
seguridad tanto en Linux como en otros sistemas operativos. Tiene una librerı́a inmensa de
chequeos y se actualiza muy frecuentemente con los últimos exploits que van apareciendo.
Realiza una cantidad impresionante de chequeos sobre el sistema y genera informes donde
se indican los errores y las posibles soluciones. Si tuvieras que elegir una única herramienta
para chequear la seguridad de tus sistemas esta serı́a Nessus sin duda. Lo único que
necesitarı́as es una herramienta como Satan/Cops/Tiger/Tara que te chequee permisos,
bits suid y malas prácticas de configuración del sistema que no chequea Nessus.
Nmap: Otro imprescindible. Una herramienta de escaneado con prácticamente todas las opcio-
nes existentes en este campo. Muy bueno para chequear la seguridad de tu firewall.

Por Paco Aldarias 227/449


Linux

Whisker/Nikto: Nikto usa Whisker como librerı́a, ası́ que podrı́a decirse que la herramienta es
Nikto. Chequea la seguridad de servidores web. Tiene una base de datos con montones
de ataques y puede realizar diversas modificaciones sobre los ataques para intentar evadir
detecciones con NIDSs como snort.

Fragrouter: Un toolkit que implementa técnicas de evasión sobre todo usando diversos tipos
de fragmentación y de parámetros raros en el protocolo TCP. Muy bueno para probar la
eficacia de firewalls e NIDSs.

Hydra: La herramienta más potente de bruteforce sobre servidores de login y similares. Permite
usar diccionarios para forzar logins en servidores telnet/ssh/etc.

Hunt: Una herramienta para realizar ataques del tipo Hijacking y Man-in-the-middle. También
realiza tormentas ARP.

Ettercap: Similar a Hunt. Realiza ARP poisoning y otros ataques sobre redes ethernet.

hping2: Una herramienta de generación de paquetes TCP/IP. Sabiendolo utilizar puede realizar
todo tipo de ataques y pruebas sobre servidores. Especialmente útil para probar NIDS y
firewalls. Imprescindible.

John the ripper: Una herramienta de crackeado de passwords que utiliza diccionarios. Impres-
cindible para probar la seguridad de los passwords de tus usuarios. Hay que complemen-
tarlo con una buena colección de diccionarios.

kismet/airsnort: Herramientas para estudio de redes WLAN.

chkrootkit: Imprescindible. Detecta la presencia de los rootkits y modulos LKM más comunes
en sistemas Linux.

p0f: Herramienta pasiva de detección de sistemas operativos. Útil para comprobar si tus servi-
dores y clientes están propagando por la red información sobre sus sistemas operativos.

Ethereal: El rey indiscutible de los sniffers. Muy útil para capturar el tráfico de tu red y conocer
lo que están mandando tus máquinas.

Nbtscan: Para escanear redes Netbios/Samba.

Metasploit: Un framework para probar exploits. Un poco raro de usar y no tiene demasiados
exploits.

55.14. Páginas de hakers


El FAQ de es.comp.hackers que está en estas páginas:

http://www.geocities.com/crino1p/index.html
http://www.navegalia.com/hosting/00084/isocrono
http://www.hello.to/nbk
http://members.es.tripod.de/omg
http://fly.to/tomacheli

Con ello se tendrı́an los conicimientos básicos.

Por Paco Aldarias 228/449


Linux

Capı́tulo 56

Hacer q el ordenador hable: festival

56.1. Versiones
27.06.03 Primera version v.1.0

21.10.04 Revsion.

56.2. Introducción
Podemos hacer que el ordenador pronuncie el texto q le indiquemos, para ello usaremos el pro-
grama ircha, y festival. Se puede utilizar para q diga las horas en punto, y para avisarme que
tengo correo.

56.3. Ircha
Bajarse los ficheros de aquı́:
http://www.telefonica.net/web2/ircha/
Instalarlos:

dpkg -i ircha_1.0.1-1_i386.deb mbrola-es1_3.0.1h_i386.deb mbrola_3.0.1h_i386.deb

Probarlo:

lee estoy es un prueba.

56.3.1. sox: Unable to set audio speed to 16000 (set to 48000)

Este error se produce pq sox no puede tener un sample rate de 16000.


Solución: Editar el fichero: nano /usr/bin/lee Y buscar esta linea para poner -r 4800

system("sox $mbrola_tmp.wav -t ossdsp -r 48000 /dev/dsp");

Por Paco Aldarias 229/449


Linux

56.4. Festival

56.4.1. Instalación

apt-get install festival festvox-kallpc16k festvox-ellpc11k festvox-kdlpc16k konq-speaker


Siendo:

festival: aplicación
festvox-kallpc16k: para español
festvox-ellpc11k, festvox-kdlpc16k : para ingles
konq-speaker: para intergrarlo en konqueror y kate

56.4.2. Demonio

Arranque del demonio:


/etc/init.d/festival start

56.4.3. Utilización
Para leer un archivo en español:

cat hora.sh | festival --tts --language spanish

Para leer un archivo en ingles:

cat hora.sh | festival --tts

Para leer un texto:

echo Tiene correo | festival --tts --language spanish

56.4.4. Para que nos avise de q tenermos correo una voz

Activamos el korn. Configuración korn - Comandos - Mensaje Nuevo:


echo Tiene correo — festival –tts –language spanish
Nota: Como uso correo imap, tengo en
Direcotorio de correo - Ruta de directorio de correo:
$HOME/Maildir/

56.4.5. Para que nos avise de la hora en punto

1. Añadir en crontab
crontab -e
0 * * * * /home/paco/hora.sh

2. Crear funcion hora.sh

Por Paco Aldarias 230/449


Linux

nano /home/paco/hora

echo Ding Dong son las $(date + %H) — festival –tts –language spanish
3. Dar permiso de ejecucion a hora.sh
chmod 700 /home/paco/hora.sh

4. Reinicar el cron. Esto debe hacerse como root


/etc/init.d/cron restart

Nota: Esto es para el usuario paco.

56.4.6. Bug de festival version debian sid

Actualize festival hace un par de dias. Y dejo de irme el idioma español.


Me salia este error:

$ echo You have mail | festival --tts --language spanish

SIOD ERROR: unbound variable : voice_el_diphone


festival: fatal error exiting.

El problema es q no encontraba el idioma español.

Si mirais aqui vemos q esta la voz en ingles


ls -la /usr/share/festival/voices/

Si mirais aqui vemos q esta la voz en español


ls -la /usr/lib/festival/voices/

Solución: Hacer este enlace y ya funciona.


ln -s /usr/lib/festival/voices/spanish /usr/share/festival/voices/spanish

56.4.7. festival y gaim

Es posible chatear y q lea el texto q te escriben.


Esta es la web del proyecto:
http://sourceforge.net/projects/festival-gaim/
Instalación: apt-get install gaim libgtk2.0-dev festlex-cmu festlex-poslex libestools1.2c102
Bajarse el fichero:
http://prdownloads.sourceforge.net/festival-gaim/festival-gaim-1.00.tar.gz?download

tar zxf festival-gaim-1.00.tar.gz


make
make install (como root)
make clean

Ir a gaim, y activar el plugin de festival.

Por Paco Aldarias 231/449


Linux

56.5. Bibliografı́a
1. Pagina oficial:
http://www.cstr.ed.ac.uk/projects/festival/

2. Ubicación de este documento:


http://pagina.de/pacodebian

Por Paco Aldarias 232/449


Linux

Capı́tulo 57

Hacer que linux haga de windows nt


server: samba

57.1. Versiones
05.07.03 Primera version v.1.0

57.2. Introducción
Vamos a ver como linux a través de samba puede hacer las funciones de un windows nt server.
Se parte de la base que disponemos un servidor linux debian sid con samba y una red con
windows 98se.
Esto surgio con la intencion de tener un instituto donde los alumnos y profesores validaran los
usuarios y tuvieran sus carpetas.
Es decir, vamos a poder:

Crear usuarios y grupos de forma automática.

Crear en linux un dominio nt donde validen el usuario los clientes windows 98se.

Compartir carpetas de linux en windows segun el tipo de usuario.

Crear unidades logicas en windows segun el tipo de usuario en el arranque.


Actualización de la hora de los pc con windows 98 en el arranque.

57.3. El kernel
Debemos tener soporte para samba en el kernel.

cat /usr/src/linux-2.4.20/.config | grep SMB


CONFIG_SMB_FS=y
# CONFIG_SMB_NLS_DEFAULT is not set
CONFIG_SMB_NLS=y

Por Paco Aldarias 233/449


Linux

57.4. Instalación de samba


apt-get install samba samba-common libsmbclient smbclient smbfs
Veamos las versiones y para q sirve:

dpkg -l | grep samba


samba 3.0.0beta1-1 a LanManager-like file and printer server fo
samba-common 3.0.0beta1-1 Samba common files used by both the server a

dpkg -l | grep smb


libsmbclient 3.0.0beta1-1 shared library that allows applications to t
smbclient 3.0.0beta1-1 a LanManager-like simple client for Unix
smbfs 3.0.0beta1-1 mount and umount commands for the smbfs (for

57.5. Para los alumnos


Vamos a tener los ficheros:

alumnos.txt : Aqui indicaremos los datos de los alumnos.


alumnos.sh. Crea los alumnos indicados en alumnos.txt
inicio.bat. Script que ejecutará windows al arrancar.

57.5.1. Datos de los alumnos

Los campos deberan estar separados por punto y coma.


Este fichero contendrá:

campo1: grupo del alumnos.


campo2: nombre completo del alumno
campo3: usuario q tendra q poner el alumno
campo4: clave o password del alumno.
campo5: telefono
campo4: email

Veamos un ejemplo:

cat alumnos.txt
grupo1;nombre1;usuario1;c1;9638004533;paco@correo.es;
grupo1;nombre;usuario2;c1;96333333;asdfa@a.es;
grupo2;nombre3;usuario3;c1;566666666;a@a.es;

57.5.2. Creación de los alumnos

cat alumnos.sh
#!/bin/bash
# Script q crea alumnos con sus grupos para uso de samba
# Usa el fichero alumnos.txt q tiene el formato:

Por Paco Aldarias 234/449


Linux

# grupo;nombre;usuario;password;clave;tel;email;
# Usa el fichero inicio.bat q le indica al windows q comparte, contiene:
# net use i: \home
# net use j: \\servidor\compartido
# alumnoc : contiene usuario:clave

ac=alumnoc.txt
lineas=‘wc -l < alumnos.txt‘
rm -f alumnoc.txt
if [ ! -d /home/alumnos ]; then
echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
echo creando el directorio /home/alumnos ....
echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

mkdir /home/alumnos
chmod 755 /home/alumnos
chown root.root /home/alumnos

fi

I=1
while [ $I -le $lineas ]
do
linea=‘sed -n ${I}l alumnos.txt‘
login=‘echo $linea | cut -d";" -f3‘
if grep "^${alumno}:" /etc/passwd
then
echo Ye Existe el login: $login
else
grupo=‘echo $linea | cut -d";" -f1‘
nombre=‘echo $linea | cut -d";" -f2‘
pass=‘echo $linea | cut -d";" -f4‘
if [ ! -d /home/alumnos/$grupo ];
then
groupadd $grupo
echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
echo Creando el directorio /home/alumnos/$grupo
echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
mkdir /home/alumnos/$grupo
chmod 755 /home/alumnos/$grupo
chown root:$grupo /home/alumnos/$grupo
cp /etc/samba/netlogon/inicio.bat /etc/samba/netlogon/$grupo.bat
fi
echo Creando el alumno $login
mkdir /home/alumnos/$grupo/$login
chmod 755 /home/alumnos/$grupo/$login
useradd -g $grupo -d /home/alumnos/$grupo/$login -c $nombre $login
chown $login:$grupo /home/alumnos/$grupo/$login
echo $login:$clave | chpasswd
echo -e $pass\\n$pass\\n | smbpasswd -as $login
fi
I=‘expr $I + 1‘
done

Deberemos dar permisos de ejecución al fichero:


chmod 700 alumnos.sh

Por Paco Aldarias 235/449


Linux

Lo lanzaremos como root asi: ./alumnos.sh

57.5.3. Creación del script de inicio

Este fichero debe tener formato msdos, es recomendable crearlo con worpad de windows y luego
copiarlo en /etc/samba/netlogon/.
Este script permite poner en hora la maquina windows y crear unidades lógicas.

cat /etc/samba/netlogon/inicio.bat

echo Poniendo en hora ....


net time \\pacohost /set /yes
net use i: /home
net use s: \\pacohost\software

57.6. Para los profesores


Vamos a tener dos ficheros:

profes.txt : Aqui indicaremos los datos de los alumnos

profes.sh. Crear los alumnos indicados en alumnos.txt

profes.bat. Scrip que ejecutará windows al arrancar.

57.6.1. Datos de los profes

Los campos deberan estar separados por punto y coma.


Este fichero contendrá:

campo1: departamento

campo2: usuario

campo3: nombre completo del profesor

campo4: clave o password del profe

campo5: telefono

campo4: email

Veamos un ejemplo:

cat profes.txt

depinf;prof1;Pepe;c1;963805623;asdfasdf@a.es;
depinf;prof2;Juan;c1;965663215;asdfasdf@afff.es;
depeco;prof3;Antonio;c1;125648999;asdfasdf@aasd.es;

Por Paco Aldarias 236/449


Linux

57.6.2. Creación de los profesores

cat profes.sh

#!/bin/bash
TOT=‘wc -l < profes.txt‘
I=1
while [ $I -le $TOT ]
do
linea=‘sed -n ${I}l profes.txt‘
usu=‘echo $linea | cut -d";" -f2‘
if grep "^${usu}:" /etc/passwd
then
echo "El profe: " $usu " ya existe"
else
dep=‘echo $linea | cut -d";" -f1‘
usu=‘echo $linea | cut -d";" -f2‘
nombre=‘echo $linea | cut -d";" -f3‘
clave=‘echo $linea | cut -d";" -f4‘
if [ ! -d /home/profes ];
then
groupadd profes
echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
echo Creando el directorio /home/profes
echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
mkdir /home/profes
chmod 755 /home/profes
chown root.profes /home/profes
fi

if [ ! -d /home/profes/$dep ];
then
groupadd $dep
echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
echo Creando el directorio /home/profes/$dep
echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
mkdir /home/profes/$dep
chmod 755 /home/profes/$dep
chown root.profes /home/profes/$dep
fi

mkdir /home/profes/$dep/$usu
chmod 755 /home/profes/$dep/$usu
useradd -g profes -d /home/profes/$dep/$usu -c $nombre $usu
chown $usu.profes /home/profes/$dep/$usu
echo -e $clave\\n$clave\\n | smbpasswd -as $usu
echo $usu:$clave | chpasswd
echo Creado profesor con login: $usu Nombre: $nombre
fi
I=‘expr $I + 1‘
done

Deberemos dar permisos de ejecución al fichero:


chmod 700 profes.sh
Lo lanzaremos como root asi: ./profes.sh

Por Paco Aldarias 237/449


Linux

57.6.3. Creación del script de inicio para profes

Este fichero debe tener formato msdos, es recomendable crearlo con worpad de windows y luego
copiarlo en /etc/samba/netlogon/
Este script permite poner en hora la maquina windows y crear unidades lógicas.
Los porfesores tiene más unidades logicas y más permisos.

cat /etc/samba/netlogon/profes.bat

echo Poniendo en hora ....


net time \\pacohost /set /yes
net use h: /home
net use s: \\pacohost\software
net use p: \\pacohost\profes
net use l: \\pacohost\alumnos
net use t: \\pacohost\tmp

57.7. Configuración de samba


cat /etc/samba/smb.conf
#======================= Global Settings =====================================
[global]

# workgroup = NT-Domain-Name or Workgroup-Name


workgroup = DSIC
netbiosname = pacohost

# server string is the equivalent of the NT Description field


server string = Servidor Samba Dep Informàtica

# This option is important for security. It allows you to restrict


# connections to machines which are on your local network. The
# following example restricts access to two C class networks and
# the "loopback" interface. For more examples of the syntax see
# the smb.conf man page
hosts allow = 192.168.0. 127.

# if you want to automatically load your printer list rather


# than setting them up individually then you’ll need this
#printcap name = /etc/printcap
load printers = No

# It should not be necessary to spell out the print system type unless
# yours is non-standard. Currently supported print systems include:
# bsd, sysv, plp, lprng, aix, hpux, qnx
# printing = lprng

# Uncomment this if you want a guest account, you must add this to /etc/passwd
# otherwise the user "nobody" is used
; guest account = pcguest

# this tells Samba to use a separate log file for each machine
# that connects
log file = /var/log/samba/%m.log

Por Paco Aldarias 238/449


Linux

# Put a capping on the size of the log files (in Kb).


max log size = 50

# Security mode. Most people will want user level security. See
# security_level.txt for details.
# security = user
security = user

# Use password server option only with security = server


# The argument list may include:
# password server = My_PDC_Name [My_BDC_Name] [My_Next_BDC_Name]
# or to auto-locate the domain controller/s
# password server = *
; password server = <NT-Server-Name>

# Password Level allows matching of _n_ characters of the password for


# all combinations of upper and lower case.
; password level = 8
; username level = 8

# You may wish to use password encryption. Please read


# ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba documentation.
# Do not enable this option unless you have read those documents
encrypt passwords = true
smb passwd file = /etc/samba/smbpasswd

# The following is needed to keep smbclient from spouting spurious errors


# when Samba is built with support for SSL.
; ssl CA certFile = /usr/share/ssl/certs/ca-bundle.crt

# The following are needed to allow password changing from Windows to


# update the Linux sytsem password also.
# NOTE: Use these with ’encrypt passwords’ and ’smb passwd file’ above.
# NOTE2: You do NOT need these to allow workstations to change only
# the encrypted SMB passwords. They allow the Unix password
# to be kept in sync with the SMB password.
unix password sync = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:*all*authentication*tokens*

time server = Yes

# Unix users can map to different SMB User names


; username map = /etc/samba/smbusers

# Using the following line enables you to customise your configuration


# on a per machine basis. The %m gets replaced with the netbios name
# of the machine that is connecting
; include = /etc/samba/smb.conf.%m

# This parameter will control whether or not Samba should obey PAM’s
# account and session management directives. The default behavior is
# to use PAM for clear text authentication only and to ignore any
# account or session management. Note that Samba always ignores PAM

Por Paco Aldarias 239/449


Linux

# for authentication in the case of encrypt passwords = yes

; obey pam restrictions = yes

# Most people will find that this option gives better performance.
# See speed.txt and the manual pages for details
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

# Configure Samba to use multiple interfaces


# If you have multiple network interfaces then you must list them
# here. See the man page for details.
; interfaces = 192.168.12.2/24 192.168.13.2/24

# Configure remote browse list synchronisation here


# request announcement to, or browse list sync from:
# a specific host or from / to a whole subnet (see below)
; remote browse sync = 192.168.3.25 192.168.5.255
# Cause this host to announce itself to local subnets here
; remote announce = 192.168.1.255 192.168.2.44

# Browser Control Options:


# set local master to no if you don’t want Samba to become a master
# browser on your network. Otherwise the normal election rules apply
; local master = no
local master = yes

# OS Level determines the precedence of this server in master browser


# elections. The default value should be reasonable
os level = 33

# Domain Master specifies Samba to be the Domain Master Browser. This


# allows Samba to collate browse lists between subnets. Don’t use this
# if you already have a Windows NT domain controller doing this job
domain master = yes

# Preferred Master causes Samba to force a local browser election on startup


# and gives it a slightly higher chance of winning the election
preferred master = yes

# Enable this if you want Samba to be a domain logon server for


# Windows95 workstations.
domain logons = yes

# if you enable domain logons then you may want a per-machine or


# per user logon script
# run a specific logon batch file per workstation (machine)
; logon script = %m.bat
logon script = %G.bat

# run a specific logon batch file per username


; logon script = %U.bat

# Where to store roving profiles (only for Win95 and WinNT)


# %L substitutes for this servers netbios name, %U is username
# You must uncomment the [Profiles] share below
; logon path = \\%L\Profiles\%U

Por Paco Aldarias 240/449


Linux

logon path = \\%L\netlogon\

# Windows Internet Name Serving Support Section:


# WINS Support - Tells the NMBD component of Samba to enable it’s WINS Server
wins support = yes

# WINS Server - Tells the NMBD components of Samba to be a WINS Client


# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
wins server = 192.168.0.1

# WINS Proxy - Tells Samba to answer name resolution queries on


# behalf of a non WINS capable client, for this to work there must be
# at least one WINS Server on the network. The default is NO.
; wins proxy = yes

# DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names
# via DNS nslookups. The built-in default for versions 1.9.17 is yes,
# this has been changed in version 1.9.18 to no.
dns proxy = no

# Case Preservation can be handy - system default is _no_


# NOTE: These can be set on a per share basis
; preserve case = no
; short preserve case = no
# Default case is normally upper case for all DOS files
; default case = lower
# Be very careful with case sensitivity - it can break things!
; case sensitive = no

#============================ Share Definitions ==============================


[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = %S
create mode = 0664
directory mode = 0775

# If you want users samba doesn’t recognize to be mapped to a guest user


; map to guest = bad user

# Un-comment the following and create the netlogon directory for Domain Logons
; [netlogon]
; comment = Network Logon Service
; path = /usr/local/samba/lib/netlogon
; guest ok = yes
; writable = no
; share modes = no

# Un-comment the following to provide a specific roving profile share


# the default is to use the user’s home directory
;[Profiles]
; path = /usr/local/samba/profiles
; browseable = no

Por Paco Aldarias 241/449


Linux

; guest ok = yes

# NOTE: If you have a BSD-style print system there is no need to


# specifically define each individual printer
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
# Set public = yes to allow user ’guest account’ to print
guest ok = no
writable = no
printable = yes

# This one is useful for people to share files


;[tmp]
; comment = Temporary file space
; path = /tmp
; read only = no
; public = yes

# A publicly accessible directory, but read only, except for people in


# the "staff" group
;[public]
; comment = Public Stuff
; path = /home/samba
; public = yes
; writable = yes
; printable = no
; write list = @staff

# Other examples.
#
# A private printer, usable only by fred. Spool data will be placed in fred’s
# home directory. Note that fred must have write access to the spool directory,
# wherever it is.
;[fredsprn]
; comment = Fred’s Printer
; valid users = fred
; path = /home/fred
; printer = freds_printer
; public = no
; writable = no
; printable = yes

# A private directory, usable only by fred. Note that fred requires write
# access to the directory.
;[fredsdir]
; comment = Fred’s Service
; path = /usr/somewhere/private
; valid users = fred
; public = no
; writable = yes
; printable = no

# a service which has a different directory for each machine that connects

Por Paco Aldarias 242/449


Linux

# this allows you to tailor configurations to incoming machines. You could


# also use the %U option to tailor it by user name.
# The %m gets replaced with the machine name that is connecting.
;[pchome]
; comment = PC Directories
; path = /usr/local/pc/%m
; public = no
; writable = yes

# A publicly accessible directory, read/write to all users. Note that all files
# created in the directory by users will be owned by the default user, so
# any user with access can delete any other user’s files. Obviously this
# directory must be writable by the default user. Another user could of course
# be specified, in which case all files would be owned by that user instead.
;[public]
; path = /usr/somewhere/else/public
; public = yes
; only guest = yes
; writable = yes
; printable = no

# The following two entries demonstrate how to share a directory so that two
# users can place files there that will be owned by the specific users. In this
# setup, the directory should be writable by both users and should have the
# sticky bit set on it to prevent abuse. Obviously this could be extended to
# as many users as required.
;[myshare]
; comment = Mary’s and Fred’s stuff
; path = /usr/somewhere/shared
; valid users = mary fred
; public = no
; writable = yes
; printable = no
; create mask = 0765

# Recursos compartidos
[profes]
comment = Profesores
path = /home/profes
valid users = +profes
write list = +profes
force group = %G
create mask = 0775
directory mask = 0775

[alumnos]
comment = Directorio personal de los alumnos
path = /home/alumnos
valid users = +profes
force user = root

[software]
comment = Software
path = /compartido/software
write list = +profes

Por Paco Aldarias 243/449


Linux

force group = %G
create mask = 0775
directory mask = 0775
guest ok = Yes
browseable = Yes

[netlogon]
comment = Net
path= /etc/samba/netlogon
# guest ok = Yes
writeable = No
browsable = no
public = no

[tmp]
comment = Temporaly
path=/tmp
read only = No
public = Yes

[home]
comment = Directori personal del usuari %U
path = %H
username = %U
read only = No
only user = Yes
browseable = No

57.8. Reinicio del demonio samba


Una vez configurado samba debemos reiniciarlo:
Arranque del demonio:
/etc/init.d/samba restart

57.9. Configurar los clientes windows


Debemos ir a Inicio-Configuración - Panel de control - Red - Clientes para redes Microsoft.

Activar: Iniciar sesión en dominio de windows nt.


Poner en Domnio para windows nt: dsic

Reiniciaremos, windows y al iniciar de nuevo, deberemos comprobar q todo funciona.


Nota: Cabe indicar q el grupo de trabajo que se le indica en smb.conf, corresponde con el dominio
de nt.

57.10. Problemas encontrados


1. El script de inicio en windows, no me lo cogia, pq debia ser formato msdos.
2. La orden adduser no permite pasarle en debian el password, por lo q tube, q usar chpasswd

Por Paco Aldarias 244/449


Linux

57.11. Mejoras pendientes


1. Asignarles una quota de disco a cada usuario. Esto se puede hacer poniendo:

edquota -p al055 $alumno

2. Activar el nis, para validar usuarios, y el nfs para compartir las carpetas en linux.

57.12. Agradecimientos
1. A Enrique Molinero. emolinero@hotmail.com que me paso unos scripts similares pero para
red hat. Los cuales tube q retocar pq no funcionaban en debian.

2. A los amigos de las news es.comp.os.linux.programacion, por la ayuda dada.

57.13. Bibliografı́a
1. Pagina oficial:
http://www.samba.org

2. Ubicación de este documento:


http://pagina.de/pacodebian

3. Usando Samba: Robert Eckstein, David Collier-Brown, Peter Kelly Primera Edición, Noviem-
bre 1999 1-56592-449-5, 416 págs. Traducción: PROYECTO S.O.B.L.
http://www.sobl.org

Por Paco Aldarias 245/449


Linux

Capı́tulo 58

Eliminar correo basura (spam):


spamassasin, bogofilter, animail

58.1. Versiones
15.02.04 Primera version v.1.0

58.2. Introducción
Vamos a ver la forma de coger el correo de hotmail y traerlo a nuestro ordenador.
Para ello usaremos el programa gotmail

58.3. Coger el fichero gotmail


gotmail-0.8.1.tar.gz
http://freshmeat.net/projects/gotmail/

58.4. Descomprimierlo
mkdir /soft
mkdir /gotmail
cd /soft/gotmail
tar zxf gotmail-0.8.1.tar.gz

58.5. Fichero de configuración:


cat ~/.gotmailrc

Por Paco Aldarias 246/449


Linux

58.6. Bibliografı́a
1. Esta página web:
http:/pagina.de/pacodebian

2. Gotmail
http://www.nongnu.org/gotmail/

3. Gotmail
http://freshmeat.net/projects/gotmail/

Por Paco Aldarias 247/449


Linux

Capı́tulo 59

Instalación de la grabadora: k3b,


Cdbakeoven,kreadcd

59.1. Versiones
18.10.03 Primera version v.1.0

59.2. Introducción
Vamos a ver como se instala una grabadora de cds pci.
Dispongo de Linux debı́an sid.
Lector cd rom pci: LG HL-DT-ST GCR-8523B. 52X Grabadora cdrom pci. Sony CDR/RW. MODEL
CRX225E

59.3. El kernel
Configurar el kernel ası́:

ATA/IDE/MFM/RLL support
<*> ATA/IDE/MFM/RLL support
IDE, ATA and ATAPI Block devices --->
<*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
<*> SCSI emulation support
< > Include IDE/ATAPI CDROM support

SCSI support
<*> SCSI support
<*> SCSI CD-ROM support
[*] Enable vendor-specific extensions (for SCSI CDROM) (NEW)
<*> SCSI generic support

Block devices
<M> Loopback device support

Por Paco Aldarias 248/449


Linux

File systems
<*> ISO 9660 CDROM file system support
[*] Microsoft Joliet CDROM extensions
File systemsNative Language Support --->
<*> Codepage 437 (United States, Canada)
<*> Codepage 850 (Europe)
<*> NLS ISO 8859-1 (Latin 1; Western European Languages)

59.4. Ver que cdrom tenermos


dmesg — grep hd

ide0: BM-DMA at 0xd000-0xd007, BIOS settings: hda:DMA, hdb:pio


ide1: BM-DMA at 0xd008-0xd00f, BIOS settings: hdc:DMA, hdd:DMA
hda: ST320423A, ATA DISK drive
hdc: SONY CD-RW CRX225E, ATAPI CD/DVD-ROM drive
hdd: GCR-8523B, ATAPI CD/DVD-ROM drive
hda: attached ide-disk driver.
hda: host protected area => 1
hda: 40011300 sectors (20486 MB) w/512KiB Cache, CHS=2490/255/63, UDMA(66)
hdc: attached ide-scsi driver.
hdd: attached ide-scsi driver.

59.5. Ver que firmware(driver) del cdrom tenermos


hdparm -i /dev/hdc

/dev/hdc:

Model=SONY CD-RW CRX225E, FwRev=QYB2, SerialNo=


Config={ Fixed Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
BuffType=unknown, BuffSize=0kB, MaxMultSect=0
(maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
IORDY=yes, tPIO={min:227,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 *udma2
AdvancedPM=no
Drive conforms to: device does not report version:

* signifies the current active mode

hdparm -i /dev/hdd

/dev/hdd:

Model=GCR-8523B, FwRev=1.00, SerialNo=


Config={ Fixed Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
BuffType=unknown, BuffSize=0kB, MaxMultSect=0
(maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}

Por Paco Aldarias 249/449


Linux

PIO modes: pio0 pio1 pio2 pio3 pio4


DMA modes: sdma0 sdma1 sdma2 mdma0 mdma1 *mdma2
AdvancedPM=no

* signifies the current active mode

59.6. Problemas de los lectores LG


Aqui se encuentra detallado:
http://www.mandrakelinux.com/en/lgerrata.php3

59.7. Ver los ficheros iso: loop


Loopback permite montar imágenes ISO almacenadas en el disco duro. Para hacer esto, utiliza
el siguiente comando:

mount -t iso9660 -o loop <imagen iso> <punto de montaje>

Crear los dispositivos si no existen:

for i in 0 1 2 3 4 5 6 7; do mknod /dev/loop$i b 7 $i ; done

Para montar una imagen para revisarla, en el directorio /mnt/imagenesCD haremos:

mount -o loop imagenCD.iso /mnt/imagenesCD

59.8. Comprobar si existe la grabadora


Para ver los dispositivos genéricos de cada unidad conectada al bus SCSI se determina mediante
su ID SCSI, para ver un listado de los disponibles en su sistema:

cat /proc/scsi/scsi

Lo que nos interesa es la lı́nea Host:

scsi0 Channel: XX Id: XX Lun: XX

de cada dispositivo; concretamente Id:.


El sistema asigna dinámicamente dispositivos sgX por orden de ID a los presentes en ese mismo
instante; en el ejemplo anterior:

00 ---> /dev/sga
01 ---> /dev/sgb
02 ---> /dev/sgc
04 ---> /dev/sgd

Una vez instalado cdrtools, puedes comprobar el interfaz SCSI para tu grabadora. Para hacer
esto, ejecuta este comando como usuario root:

cdrecord -scanbus

Necesitarás este identificador de tres números de cada una de tus unidades si quieres leer y
grabar utilizando cdrtools y cdrdao.

Por Paco Aldarias 250/449


Linux

59.9. Permisos
Cualquiera que necesite extraer pistas de audio o grabar CDs debe de tener los permisos ade-
cuados.
Se necesitan permisos para la grabadora de lectura y de escritura en el dispositivo genérico SCSI
(/dev/sg*) para cada unidad: chmod 660 /dev/sg0
Y permisos para el lector de lectura en el dispositivo /dev/scd para cada unidad. chmod 640
/dev/scd0
La forma óptima de hacer esto es crear un grupo llamado cdwriter, añadir los usuarios necesarios
a ese grupo, asignar los dispositivos al grupo cdwriter.
cat ’cdwriter:109:paco’¿/etc/group
chown root.cdwriter /dev/scd0
chown root.cdwriter /dev/scd1

59.10. Modificar el fstab


nano /etc/fstab:
/dev/scd0 /writer iso9660 defaults,rw,user,noauto 0 0
/dev/scd1 /lector iso9660 defaults,ro,user,noauto 0 0

59.11. Modificar el lilo


nano /etc/lilo.conf
append="hdc=ide-scsi hdd=ide-scsi"

Ejecutar: lilo -v

59.12. Ejemplo con knoppix 3.0 con lector/grabadora de DVD


Veamos como configura knoppix.
GRABADORA LG DVD 48x16x48 : Vendor: HL-DT-ST Model: CD-RW GCE-8480B LECTOR LG
DVD : Vendor: LG Model: DVD-ROM DRD8120B
Desde consola como root:

dmesg

kernel: SCSI subsystem driver Revision: 1.00


kernel: scsi0 : SCSI host adapter emulation for IDE ATAPI devices
kernel: Vendor: HL-DT-ST Model: CD-RW GCE-8480B Rev: 1.03
kernel: Type: CD-ROM ANSI SCSI revision: 02
kernel: Vendor: LG Model: DVD-ROM DRD8120B Rev: 1.03
kernel: Type: CD-ROM ANSI SCSI revision: 02
kernel: Attached scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0
kernel: Attached scsi CD-ROM sr1 at scsi0, channel 0, id 1, lun 0
kernel: sr0: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray
kernel: Uniform CD-ROM driver Revision: 3.12
kernel: sr1: scsi3-mmc drive: 0x/40x cd/rw xa/form2 cdda tray

Por Paco Aldarias 251/449


Linux

Existen estos enlaces simbólicos:


Grabadora: /dev/dvd = /dev/cdrom = /dev/sr0 = /dev/scd0 Lector : /dev/scd1
Los permisos debemos deberán hacerse sobre scd1. El lector no ha sido detectado. Deberemos
crear carpetas y enlaces.

59.13. Software de grabación


mkisofsgrabación de cds apt-get install kreatecd cdbakeoven cdparanoia cdrtoaster cdbackup
cdda2wav xcdroast

k3b - A sophisticated KDE cd burning application


k3b-i18n - Internationalized (i18n) files for k3b

Con k3b tenemos un entorno sencillo de utilizar. Ver figura59.1

Figura 59.1: Imagen de kd3b

59.13.1. Software de grabación para k3b

apt-get install cdrdao cdrecord mkisofs normailize-audio sox

59.14. Hacer copias al vuelo de carpetas: mkisofs-cdrecord


Esta orden copia los ficheros de la ruta, y los introduce en el cdroom sin crear isos:

cd /carpeta_a_copiar
mkisofs -JR . | cdrecord dev=0,0,0 -v speed=32 -

Por Paco Aldarias 252/449


Linux

59.15. Para duplicar cds: cdrdao


alias clonecd=’cdrdao copy --source-device 0,0,0 --driver generic-mmc \
--source-driver generic-mmc --on-the-fly’

59.16. Grabar mp3 a adio cd: kdreatecd


Este programa permite grabar ficheros en mp3 en un cdrom de audio normal.
Tiene la opcion para normalizar el audio de las canciones.

59.17. Crear una copia de seguridad


1. Lo primero es crear el tar

tar cvjf cs‘date +%G%m%d‘.tar.bz2 directorio1 directorio2 archivo1 archivo3

Siendo:
tar, el comando
c, comprimir
j, utilizar bz2
f, que se quiere guardar a un fichero. si no lo pones,
saldra el archivo por la pantalla.

Si no lo pones serı́a lo mismos que :


tar cvj ... > archivo.tar.bz2

v verbose, que se ve los archivos que va comprimiendo.


cs‘date +%G%m%d‘.tar.bz2 es el nombre del archivo comprimido que
quiero crear, donde ‘date +%G%m%d‘
pone la fecha de manera automática lista de cosas que quieres comprimir.

2. Grabar el archivo.

Si no hay sesiones en el cd:


mkisofs -J -r -l cs‘date +%G%m%d‘.tar.bz2 | \
cdrecord -v -multi - -force dev=0,0,0 driveropts=burnfree -data -eject -

Si hay una sesion, debes saber algo del cd antes de continuar

Haberiguar el número mágico:


cdrecord -msinfo dev=0,0,0 0,49040

Grabar ahora sı́:


mkisofs -J -r -l cs‘date +%G%m%d‘.tar.bz2 -M /dev/sr0 -C 0,49040 |
cdrecord -v -multi -force dev=0,0,0 driveropts=burnfree -data -eject

59.18. Pasar a mp3 un cd de audio


Pasar de audio a mp3

Por Paco Aldarias 253/449


Linux

1. Poner en el navegador: audiocd:/MP3


Y después seleccionar y copiar los ficheros a una carpeta tu pc.

2. abcde
Modo cosola

3. grip
Modo grafico

Pasar de mp3 a cd de audio

1. mp3burn

2. k3b

59.19. Bibliografı́a
1. Ubicación de este documento:
http://pagina.de/pacodebian

2. How-to:
http://es.tldp.org/COMO-INSFLUG/COMOs/Grabadoras-Como/Grabadoras-Como.html#toc6

3. Configuración de una grabadora de Cds:


http://www.escomposlinux.org/lfs-es/recetas/cdwriter.html

4. Configuración de una grabadora de Cds IDE e introducción al cdrecord


http://grulla.hispalinux.es/articles/burning.html

5. Creación de CDS en Linux


http://perso.wanadoo.es/linuxfacil/configuracion/grabadora.htm

6. Cómo configurar tu grabadora IDE usando emulación SCSI


http://bulmalug.net/impresion.phtml?nIdNoticia=1862

7. Grabadoras Mini-COMO
http://www.galpon.org/modules/sections/index.php?op=printpage&artid=1

8. Micro-Cómo: Grabar discos compactos desde lı́nea de comando.


http://www.linuxparatodos.net/linux/como-cdrecord-comando.php

9. Los minicomo de Simón


http://losinvisibles.net/como/comoGrabarCDROM.html

10. Grabar en modo consola


http://www.escomposlinux.org/fserrano/index 215.html

Por Paco Aldarias 254/449


Linux

Capı́tulo 60

Impresora: Cups

60.1. Introducción
Vamos a ver como se puede instalar la impresora e imprimir documentos en linux y kde. Para ello
usaremos el servidor de impresión cups. Mi impresora es una HP 670C y se conecta por puerto
paralelo.

60.2. Paquetes a instalar


Para Debian Sid hay que instalar:
apt-get install cupsys foomatic-bin cupsys-client kdeprint
Para Debian Woody hay que instalar:
apt-get install cupsys foomatic-bin cupsys-client kdelibs3-cups

60.3. Configurar la impresora: Cups


Cups es un servidor de impresión, que permite imprimir desde cualquier lugar de la red. Gestionar
y configurar las impresoras via web o local. Permite también mirar cuando y quien impimido, quien
puede imprimir,etc. Con este sistema puedes impimir en la impresora desde cualquier lugar q te
encuentres,
La configuración de la impresora se hace configurando cups, Entrar en el navegador http://
localhost:631
La ubicación de la impresora es /dev/lp0, ya que uso una impresora con puerto paralelo Aquı́ se
dará de alta tu impresora.

60.4. Cups en otro puerto


Uso el puerto 1631 para cups.
Yo entro a mi impresora ası́:
http://localhost:1631/printers/HP670C
Para ello cambie el puerto en el fichero de configuración /etc/cups/cupsd.conf

Por Paco Aldarias 255/449


Linux

Figura 60.1: Cups en http

Ver figura60.1.
No olvides hacer /etc/init.d/cupsys restart después de cambiar este fichero.
Para poder imprimir debemos hacer:
/etc/init.d/cupsys start

60.5. Configurar la impresora en kde


Cuando vayamos a imprimir debemos decirle que use kdeprinter como dispositivo, para q kde se
haga cargo de la impresion.
Entramos a Inicio - Preferencias - Centro de control - Periféricos - Impresoras Boton derecho -
Añadir impresora. Ver figura60.2.
Indicar que el sistema de impresión es cups. La ubicación de la impresora es /dev/lp0

60.6. Imprimir en red entre máquinas linux


Debemos tener instalado en ambas máquinas cups.
En ambas máquinas deberemos abrir la gestión de impresión por web:
http://127.0.0.1:631

El servidor de impresión.
No hay que hacer nada solo que imprima en local. Debemos recordar su nombre y su ip

HP6P
HP LaserJet Series CUPS v1.1
Description: HP6P_LOCAL
Location: /dev/lp0
Device URI: parallel:/dev/lp0

Está ubicada en:

Por Paco Aldarias 256/449


Linux

Figura 60.2: Cups en kde

http://127.0.0.1:631/printers/HP6P

El cliente.

Vamos a añadir impresora:


Nombre: HP6REMOTA
Location: 192.168.0.1
Description:HP6REMOTA

Device: Internet Printing Protocol (ipp)


Device url: ipp://192.168.0.1:631/printers/HP6P
Make: HP
Model: HP LaserJet Series CUPS V.1.1(en)

Quedando ası́:

Description: HP LaserJet 6P
Location: 192.168.0.1
Device URI: http://192.168.0.1:631/printers/HP6P

60.7. Imprimir en kde, desde otros programas que no son de


kde
Hay q decir q use como dispositivo: kdeprinter

60.8. Hacer funcionar la impresora all-in-one de HP PSC-1210


Para que cups te detecte el USB, primero carga los módulos correspondientes:

Por Paco Aldarias 257/449


Linux

usb-uhci usbcore printer


Después añades una linea al /etc/fstab tal que:
none /proc/bus/usb usbfs defaults 0 0
Un lsusb (como root) deberia detectarla sin problemas. Si no tienes ses comando instalalo en
Debian el paquete esta en usbutils.
Montas el /proc/bus/usb (como root) y si no hay ningún problema cups (o el frontend de kde) ya
te encontarar el puerto como: Device URI: usb:/dev/usb/lp0 o parecei si tienes alguna otra cosa
usb.
Otros enlaces:
http://libinklevel.sourceforge.net/

http://libinklevel.sourceforge.net/index.html#supported

Hay un ”front-end”para KDE muy chulo por ahı́:


http://kink.sourceforge.net/
La multifunción HP psc 1210 y estuve bastante tiempo peleándome con ella para que funcionara.
A mı́ me ocurrı́a lo contrario: me funcionaba el escáner pero no la impresora. Los problemas
se producı́an mientras usaba hpoj y hpij, pero luego descubrı́ que habı́an sacado un nuevo pa-
quete para hacer funcionar este tipo de impresoras en Linux. El paquete es HPLIP y lo puedes
descargar de
http://hpinkjet.sourceforge.net/
También tienes allı́ las instrucciones para la instalación (en inglés).
En Debian, creo que de momento el paquete está sólo disponible en testing.

60.9. Instalación de una impresora de red: Xerox Docuprint


P8e
Esta impresora tiene una tarjeta de red, que permite tener su propia cola de impresión.
Es importante saber la ip de la impresora y el puerto por el q imprime.
Pasos:

1. Ir a Inicio - Preferencias - Administración de impresión.

2. Instalar impresora nueva - Cola LPD remota

Máquina: 192.168.0.117
Cola: PS03B0-1

3. Fabricante: Xerox. Modelo : Docuprint p8e


4. Controlador: EL recomendado

60.10. Imprimir con windows, usando un servidor de impre-


sión de linux
Deberemos tener instalado samba:
apt-get install samba

Por Paco Aldarias 258/449


Linux

Editaremos el fichero /etc/samba/smb.conf


Añadiremos esto:

[global]
printing = bsd
printcap name = /etc/printcap
load printers = yes
log file = /var/log/samba-log.%m
lock directory = /var/lock/samba

[printers]
comment = Todas las impresoras
security = server
path = /var/spool/lpd/lp
browseable = no
printable = yes
public = yes
writable = no
create mode = 0700

[miimpresora]
security = server
path = /var/spool/lpd/lp
printer name = lp
writable = yes
public = yes
printable = yes
print command = lpr -r -h -P %p %s

Comprobar que el archivo /etc/cups/mime.convs tenga esta linea descomentada:

application/octet-stream application/vnd.cups-raw 0 -

y en el archivo /etc/cups/mime.types:

application/octet-stream

60.11. Cancelar trabajos de impresión desde consola


lpstat -t
Para ver los trabajos en cola de impresion

cancel modelo-impresora
Cancela los trabajos pendientes de la impresora

lpq t
Para ver los trabajos en cola de impresion

cancel -a
Cancela los trabajos pendientes de la impresora

Por Paco Aldarias 259/449


Linux

Capı́tulo 61

Instalar tarjeta de red

61.1. Introducción
Si queremos montar una tarjeta de red, debemos de configurar una serie de elementos. Hay
tarjetas de red pci e isa, siendo la primera la más utilizada. Cuando instalamos linux, nos pregunta
si tenemos tarjeta de red y q modelo, a continución, nos pregunta los parámetros de red. Con
lo cual no seria necesario confgurar después la red. Pero hay veces q es necesario saber como
cambiar los parámetros de red.

61.2. Instalar tarjeta de red pci


Hay una utilidad en linux, q ayuda a su instalación y es kudzu. Es una herramienta q comprueba
todos los dispositivos q tenemos y si no esta instalado lo instala.
kudzu

61.3. Configuración de la red sin DHCP


Datos de red de nuestro pc:

IP: 192.168.100.2
Mascara: 255.255.255.0
Puerta de enlace o Gateway: 192.168.100.100

Contenido /etc/network/interface :
auto lo inet static
iface lo inet loopback
iface eth0 inet static
address 192.168.100.2
netmask 255.255.255.0
broadcast 192.168.100.255
network 192.168.100.0
gateway 192.168.100.100
Reiniciar la red: # /etc/init.d/networkig restart
Configurar las DNS: Los servidores dns nos permiten resolver los nombres de dominio. Es decir,
cuando ponemos www.upv.es, los transforma de una direccion ip. Sin servidores dns definidos

Por Paco Aldarias 260/449


Linux

no podremos salir a internet, si usamos la puerta de enlace Hay muchos servidores de dns, y da
igual poner uno u otro. Lo importante es q sea rapido y funcionen.

El fichero /etc/resolv.conf contiene los dns, este podria ser su contenido:


nameserver 194.179.1.100
nameserver 212.106.192.25

61.4. Configurar la red con DHCP


Los datos de red se las da el servidor dhcp
Instalar paquete: dhclient: #apt-get install dhclient
Contenido /etc/network/interface :
auto lo inet static
iface lo inet loopback
iface eth0 inet dhcp
Reiniciar la red: # /etc/init.d/networkig restart

61.5. Comprobacion de los datos de red


La utilidad ifconfig nos indica q tarjetas tenermos instaladas.
#ifconfig
eth0 Link encap:Ethernet HWaddr 00:C0:F0:1E:1F:89
inet addr:192.168.100.2 Bcast:192.168.100.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:35 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:4500 (4.3 KiB)
Interrupt:5 Base address:0x300

lo Link encap:Local Loopback


inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:302 errors:0 dropped:0 overruns:0 frame:0
TX packets:302 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:28940 (28.2 KiB) TX bytes:28940 (28.2 KiB)

61.6. Para saber si va la tarjeta de red


La utilidad ping no informa si va la tarjeta, si nos contesta.
# ping 192.168.0.2 PING 192.168.0.2 (192.168.0.2): 56 data bytes
64 bytes from 192.168.0.2: icmp seq=0 ttl=255 time=0.1 ms
64 bytes from 192.168.0.2: icmp seq=1 ttl=255 time=0.0 ms
64 bytes from 192.168.0.2: icmp seq=2 ttl=255 time=0.0 ms

Por Paco Aldarias 261/449


Linux

— 192.168.0.2 ping statistics —


3 packets transmitted, 3 packets received, 0 % packet loss
round-trip min/avg/max = 0.0/0.0/0.1 ms

61.7. Para saber si tenemos bien la puerta de enlace


Usaremos la orden route, q nos indica las rutas de nuestros paquetes en la red.
# route -n

61.8. Instalar tarjeta de red isa


Las tarjetas de red isa, no se pueden instalar con kudzu, hay q hacerlo a mano. Para ellos
debemos seguir los pasos q se indican:
Para una tarjeta de red compatible NE200.

Ejecutar modconf
Seleccionar ne2000. io=300 irq=5
Esto es para instalar la tarjeta
Nota: Esto son los parametros de red

. Contenido /etc/modules.conf
options ne irq=5 io=0x300
alias eth0 ne (nuevo)

Nota: Esto es para asocia la tarjeta a eth0

Por Paco Aldarias 262/449


Linux

Capı́tulo 62

Instalar servidor dhcp

62.1. Introducción
El DHCP es un servicio para asignacion de ip de maquinas en una red local
La asignacion de ips puede ser: - De forma dinamica. Se da un rango de ips para dar Le da una
ip libre La ips en una maquina cambian cada vez q se arranque - De forma estatica. El servidor
analiza la mac de la tarjeta Y le da siempre una ip.
Hay routers que este servicio lo incluyen.

62.2. Instalación
Desde consola como root:

apt-get install dhcp

62.3. Configurar
Crear el fichero: /etc/dhcpd.conf

default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.200; option domain-name-servers 192.168.0.200, 194.179.1.100; /
option domain-name "pacodominio.es";

ddns-update-style ad-hoc;

subnet 192.168.0.0 netmask


255.255.255.0 {
range 192.168.0.1 192.168.0.2;
}

host pacohost { hardware ethernet 00:00:21:E0:B9:35;


fixed-address 192.168.0.1;

Por Paco Aldarias 263/449


Linux

host pilar { hardware ethernet 00:00:21:E0:B9:37;


fixed-address 192.168.0.2;
}

62.4. Ponerlo en marcha


/etc/init.d/dhcpd start

62.5. Otro ejemplo


—————————— Crear el fichero: /etc/dhcpd.conf

server-identifier lx;
subnet 192.168.1.0 netmask 255.255.255.0{

range 192.168.1.21 192.168.1.30;

option domain-name-servers 192.168.1.253, 192.168.1.252;


option routers 192.168.1.254;

host pc1{
hardware ethernet 00:00:00:00:00:00;
fixed-address 192.168.1.1;}

host pc2{
hardware ethernet 11:11:11:11:11:11;
fixed-address 192.168.1.2;}

Nota : La linea range 192.168.1.21 192.168.1.30.es para cuando no tengas las MAC asigne una
IP.

62.6. Ejemplo dhcp.conf

# /etc/dhcpd.conf
# Por Paco Aldarias
# 08/05/02
# Fichero de configuracion del servidor dhcp del IES JUAN DE GARAY
# El router q sale a internet esta en monopuesto.
# El servidor dhcp tiene tres tarjetas de red.

#***************** REGLAS ************************************************************


#A las aulas se les da las siguientes I.P.
# - Alumnos: 172.17.aula.PC
# - Profesor: 172.17.10.aula

Por Paco Aldarias 264/449


Linux

# Puerta Enlace: 172.17.0.1 (eth2)


# Máscara: 255.255.240.0

#A los departamentos se les da las siguientes I.P.:


# - 192.168.10.PC.
# Puerta Enlace: 192.168.10.204 (eth1)
# Máscara: 255.255.240.0

# La conexión a Internet por ADSL es :


# - 217.127.172.247 / 255.255.255.192 (eth0)

# El router ADSL 3COM es:


# - 217.127.172.193 / 255.255.255.192 (conecta con eth0)

# Nota: Para reiniciar sbin/service dhcpd restart

#******************************************* INICIO *******************************************


shared-network name{
option domain-name "garay.es";
option domain-name-servers 194.179.1.100, 192.224.52.26;

#****************************** eth0: ADSL ********************

subnet 217.127.172.247 netmask 255.255.255.255 {

#range 217.127.172.247 217.127.172.247;


host gateway { hardware ethernet 00:E0:7D:A3:F2:B7; fixed-address 217.127.172.247; }
}

#****************************** Eth1: Departamentos ********************


subnet 192.168.0.0 netmask 255.255.240.0 {

default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.240.0;
option broadcast-address 192.168.10.255;

option domain-name-servers 194.179.1.100, 192.224.52.26;


option domain-name "garay.departamentos.es";
option routers 192.168.10.204;
#range 192.168.1.1 192.168.15.254;

# Eth1.
host gateway192{
hardware ethernet 00:E0:7D:A3:F2:BD;
fixed-address 192.168.10.204; option routers 217.127.172.247;}

# MAQUINAS DE LA RED Eth1

# newton 200
# einstein 201
host gonzalo{hardware ethernet 00:E0:7D:A3:F2:8F;
fixed-address 192.168.10.202; }

Por Paco Aldarias 265/449


Linux

host pep_portatil {hardware ethernet 00:90:F5:0A:39:7B;


fixed-address 192.168.10.203; }

host director {hardware ethernet 00:E0:7D:A3:F2:AA;


fixed-address 192.168.10.50;}

host secretario {hardware ethernet 00:20:18:31:01:49;


fixed-address 192.168.10.51; }

#****************************** Eth2: Aulas ********************


subnet 172.17.0.0 netmask 255.255.240.0 {
#range 192.168.1.2 192.168.1.254;

default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.240.0;
option broadcast-address 172.17.255.255;

option domain-name-servers 194.179.1.100, 192.224.52.26;


option domain-name "garay.aulas.es";
option routers 172.17.0.1;

# A LA RED eth2
host gateway172 { hardware ethernet 00:E0:7D:A3:F2:B0;
fixed-address 172.17.0.1; option routers 217.127.172.247;}

# *************************** AULA 1
host lab1prof { hardware ethernet 00:50:FC:1E:77:24;
fixed-address 172.17.10.1; option routers 172.17.0.1;}

host lab1inf1 { hardware ethernet 00:4F:4E:04:C5:67;


fixed-address 172.17.1.1; option routers 172.17.0.1;}

host lab1inf2 { hardware ethernet 00:4F:4E:03:40:BB;


fixed-address 172.17.1.2; option routers 172.17.0.1;}

host lab1inf3 { hardware ethernet 00:4F:4E:03:8B:80;


fixed-address 172.17.1.3; option routers 172.17.0.1;}

# *************************** AULA 2
host lab2prof { hardware ethernet 00:01:0A:10:3E:58;
fixed-address 172.17.10.2; option routers 172.17.0.1;}

host lab2inf1 { hardware ethernet 00:C0:26:20:06:52;


fixed-address 172.17.2.1; option routers 172.17.0.1;}

host lab2inf2 { hardware ethernet 00:4F:4E:03:F7:49;


fixed-address 172.17.2.2; option routers 172.17.0.1;}

host lab2inf3 { hardware ethernet 00:50:FC:1E:6B:73;

Por Paco Aldarias 266/449


Linux

fixed-address 172.17.2.3; option routers 172.17.0.1;}

# *************************** AULA 3
host lab3prof {hardware ethernet 00:01:0A:10:48:66;
fixed-address 172.17.10.3; option routers 172.17.0.1;}

host lab3inf1 {hardware ethernet 00:50:FC:1E:6B:1F;


fixed-address 172.17.3.1; option routers 172.17.0.1;}

host lab3inf2 {hardware ethernet 00:50:FC:1E:98:3E;


fixed-address 172.17.3.2; option routers 172.17.0.1;}

# *************************** AULA 4
host lab4prof { hardware ethernet 00:01:0A:10:3F:5D;
fixed-address 172.17.10.4; option routers 172.17.0.1;}

host lab4inf1 { hardware ethernet 00:01:0A:10:3E:70;


fixed-address 172.17.4.1; option routers 172.17.0.1;}

host lab4inf2 { hardware ethernet 00:01:0A:10:3E:0F;


fixed-address 172.17.4.2; option routers 172.17.0.1;}

host lab4inf3 { hardware ethernet 00:01:0A:10:3D:9F;


fixed-address 172.17.4.3; option routers 172.17.0.1;}

}
}

62.7. Utilidades
Para ver las ips locales. ifconfig -a.
Para ver todas las ips de una subred: nmap -sP 192.168.0.*
Para ver los puertos abiertos de una maquina: nmap -sS -O 10.0.0.2
Para que muestre la version: /usr/sbin/dhcpd -T
Para ver direccion fisica de la maquina local: /sbin/ifconfig
Para ver la mac de una ip: /sbin/arp -a 192.168.0.200 ? (192.168.0.200) at 00:20:EA:2D:B0:B5
[ether] on eth0
Para ver la mac de una ip y mas cosas : /sbin/arp -sS -O 192.168.0.200
Para resolver nombres o ips: nslookup 158.42.255.4
Saber los saltos: /usr/sbin/traceroute 158.42.255.4
Para saber el nombre del servidor del dominio: dig www.korbin.mypc.nu
Para saber los saltos: /usr/sbin/traceroute 194.179.1.100

Por Paco Aldarias 267/449


Linux

62.8. bibilografia
1. man dhcp

2. http://www.linuxdoc.org/HOWTO/mini/DHCP/x369.html

3. http://www.linux-mag.com/2000-04/networknirvana 01.html

4. http://www.isc.org/products/DHCP/

5. http://www.insflug.org/COMOs/DHCPd-Mini-Como/DHCPd-Mini-Como.html

6. http://deportes.ole.com/personal/garzones/ddns-micro-como.html.

Por Paco Aldarias 268/449


Linux

Capı́tulo 63

Usar el entorno gráfico de otro pc:


xhost

63.1. Instroducción
Vamos a ver como podemos ejecutar las X, de un pc en otro pc Asi podemos tener una maquina
sin kde, y poder ejecutar el kde, usando la otra maquina
PC2. SERVIDOR 192.168.0.1. CON KDE3 PC1. CLIENTE. 192.168.0.2. SIN KDE
Vamos a hacer q PC1, use los recursos de PC2, y entre a kde.

63.2. Condiciones
El servidor deberá tener:

En marcha el servidor sshd

En marcha el servidor x

63.3. Proceso a seguir


Desde PC2 (cliente) y desde consola ejecutar:

xinit

ssh -l usuario 192.168.0.1 (usuario es del PC1, con esto entramos en pc1)

xhost 192.168.0.1 (autorizamos a pc2 a usar las x)

export DISPLAY=192.168.0.2:0.0 (decimos q vaya a pc1 para arrancar las x)

startx (arrancamos las x de pc1 en pc2)

Por Paco Aldarias 269/449


Linux

Capı́tulo 64

Archivos comprimidos

64.1. Introducción
Cuando un archivo ocupa mucho espacio, se suele compimir, para poder enviarlo por email, o
copiarlo en disquete.
Linux permite ver los ficheros comprimidos como si no lo estuvieran.

64.2. Instalación
Desde consola y como usuario root escribir:
apt-get install gzip bzip2 unzip zip ark tar unrar

64.3. Tipos de archivos comprimidos


zip

bzip

gzip.

tar

.tga = .tar.gz

.gz

rar

64.4. Los archivos comprimidos en konqueror


Podemos verlos sin descomprimirlos. Ejemplo:

zip:/hde/manuales_linux/apunteslinux2/administralinux.zip/

Por Paco Aldarias 270/449


Linux

64.5. Sofware para compresión


ark. Utilidad de kde
Trabajo con todas las extensiones. Se encuentra en el menu: inicio-utilidades. Trabajo con
todo tipo de archivos comprimidos. Veáse figura64.1
zip, unzip.
Comprime y descomprime archivos zip.
bzip2
tar.
Empaquetador. Agrupa archivos para q se puedan instalar en la máquina en lugar correc-
to. Tar = Tape Archive. Almacena grupos de archivos, incluso jerarquias de directorios sin
perder sus permisos ni la estructura en el sistema de archivos.
gzip.
Se utiliza para comprimir y descomprimir archivos. Genera un archivo gz.

Figura 64.1: Imagen de Ark

64.6. Ficheros tgz

64.6.1. Descomprimir tgz

Para descomprimir el fichero fichero.tgz

cat fichero.tgz | gzip -dc | tar -xf-

O también:

tar -xvzf fichero.tgz

Por Paco Aldarias 271/449


Linux

64.7. Ficheros tar.bz2

64.7.1. Descomprimir tar.bz2

Desde consola, para descompimir el archivo en la carpeta actual:

tar jxvf fichero.tar.bz2

o también

bunzip2 -cd fichero.tar.bz2 | tar xfv -

64.8. Ficheros tar.gz

64.8.1. Descomprimir tar.gz

Desde consola, para descompimir el archivo en la carpeta actual:

gzip -cd fichero.tar.gz | tar xfv -

o también

tar zxf fichero.tar.gz

64.8.2. Comprimir tar.gz

Desde consola, para crear un archivo comprimido con el contenido de tu directorio /home

1. Para compimir todos los archivos de una carpeta:


tar cvzf /tmp/directorio-home.tar.gz /home/*

64.9. Ficheros zip

64.9.1. Descomprimir zip

Desde consola, para descompimir el archivo en la carpeta actual:

1. Descomprime el archivo

unzip fichero.zip.

2. Descomprime el archivo en una carpeta

unzip fichero.zip -d /carpeta/

Script (unzip.sh) para descomprimir todos los archivos zip de una carpeta en otra:

echo DESCOPRIMIENDO ZIPS PARA XMMS


echo ejemplo: ./unzip.sh /hde/soft/linux/sonido/xmms-skins/ ~/.xmms/Skins
cd $1
for i in $(ls *.zip); do

Por Paco Aldarias 272/449


Linux

f=$(echo $i | cut -d. -f1);


echo [*] Descomprimiendo $i en $2$f;
mkdir $1$f;
cd $1$f;
unzip $1$i -d $2/$f;
done

64.9.2. Partir/Unir en varios zip un fichero zip

Comprimimos:

zip fichero.zip fichero.html

Partimos:

split --bytes=1440k fichero.zip ficheros

Unimos:

cat ficheros* > fichero.zip

64.9.3. Comprimir zip usando ark

Abrir ark: Inicio - Utilidades - Archivador (ark)


Crear nuevo: fichero.zip
Añadir fichero/directorio: Seleccionamos los ficheros a comprimir.

64.9.4. Comprimir zip

La estructura del zip es:


zip destino origen
Desde consola, para descompimir el archivo en la carpeta actual:

1. Para compimir una carpeta:


zip -r fichero.zip /carpeta
2. Comprime ese archivo.
zip fichero.zip fichero.txt

64.10. Ficheros gz
Usa los programas gzip, gunzip, zcat, que permiten comprimir/Descomprimir archivos.

64.10.1. Comprimir gz

cat fich1 fich2 | gzip > fuu.gz

64.10.2. Descomprimir gz

gzip -c archivo.gz > archivo

Por Paco Aldarias 273/449


Linux

Capı́tulo 65

Clonación de pcs: system-image

65.1. Versiones
4.12.03 Verión inicial.

65.2. Introducción
Vamos a ver la forma de clonar pcs. Para ello usaremos el programa system image.
System image, utiliza el programa rsync, es decir, que copia solo aquellos ficheros que han
cambiado. También borra los ficheros q sobran.
Partimos de la base, de q tenermos una red. Con máqinas iguales. Sólo se clona los datos de
linux. .

65.3. Instalación del cliente de oro


El el pc que vamos a usar para clonarlo en otros pcs. La ip de este pc seria la 192.168.100.111.
Para instalar el software, como root y desde consola pondremos:
apt-get install systemimager-client
Para poner a la escucha la máquina, y coger la configuración de nuestras particiones:
prepareclient

65.4. Instalación del servidor


Es el pc que va a recoger los ficheros q le envie el cliente de oro. La ip del servidor seria la
192.168.100.2
Como root y desde consola pondremos:
apt-get install system-image-server
Cogeremos los ficheros del cliente de oro desde el servidor:
Desde la consola y como root, desde el servidor :
getimage -gold-client 192.168.100.111 -image pc111

Por Paco Aldarias 274/449


Linux

65.5. Vamos a clonar en otro pc desde linux instalado


Desde la consola y como root, desde el pc por ejemplo el 192.168.100.101:

apt-get install systemimager-client


update-client -autoinstall -server 192.168.100.2 -image pc111
Al terminar debemos reiniciar para q coga los cambios

65.6. Autoinstalación desde diskette/cdrom


Para crear un diskette que autoinstale el sistema:
mkautoinstalldiskette
Para crear una imagen iso que autoinstale el sistema desde cd:
mkautoinstallcd

65.7. Bibliografı́a
1. Página oficial :
http://www.systemimager.org/

2. Ubicación de este documento:


http://inicia.es/de/pacodebian

Por Paco Aldarias 275/449


Linux

Capı́tulo 66

Crear un dominio público: dyndns

66.1. Versión
10.12.03 Primera versión

66.2. Introducción
Vamos a ver la forma de tener un subdominio con ip variable. Para ello usaremos los servicios de
www.dyndns.org.
Una vez terminado de instalar podremos usar para entrar al servidor web:
http://usuario.dyndns.org:2080
por
http://x.x.x.x:2080 siendo x.x.x.x nuestra ip variable.
La web dyndns.org, nos registrara como usuario, y después mediante el programa ddclient ac-
tualizaremos la dirección ip.
Dyndns tb sirve para ips fijas. Es posible actualizar la ip entrando en la web, y entrar en la opción
actualizar la ip-

66.3. Darse de alta


Ir a la web:
www.dyndns.org
Recordar el usuario y la constraseña, ya que la usaremos más adelante.

66.4. Bajarse el archivo ddclient


En la web:
www.dyndns.org
Nos bajaremos el fichero:
ddclient.tar.gz

Por Paco Aldarias 276/449


Linux

66.5. Instalar ddclient


Lo descomprimimos:

gzip -cd ddclient.tar.gz | tar xfv -

Copiar este fichero:


cp ddclient /usr/sbin/

66.6. Instalar ddclient.conf


Contenido que debemos tener en: /etc/ddclient.conf:

daemon=300 # check every 300 seconds


syslog=yes # log update msgs to syslog
mail=root # mail all msgs to root
mail-failure=root # mail failed update msgs to root
pid=/var/run/ddclient.pid # record PID in file.

use=if, if=eth1 # via interfaces


server=members.dyndns.org # default server
login=miusuario # default login
password=mipassword # default password

server=members.dyndns.org, \
protocol=dyndns2 \
miusuario.dyndns.org

Nota: miusuario y mipassword, lo introdujimos en la web www.dyndns.org, al darnos de alta.

66.7. Arrancarlo
Crear el fichero que coga la ip: nano /etc/init.d/ddclient.sh

ddclient -daemon=0 -debug -verbose -noquiet

66.8. Hacer q se actualize la ip con ono


Se podrá hacer con pump o poniendolo en la arranque del sistema.

66.8.1. Usando pump

Crear el fichero /etc/pump.conf para q ejecute un script cada vez q arranque la ip.

nano /etc/pump.conf

script /wind/pacodebian/pump.sh

Por Paco Aldarias 277/449


Linux

Crear el fichero /wind/pacodebian/pump.sh que contenga la actualización de la ip en dyndns.org

nano /wind/pacodebian/pump.sh

#!/bin/sh

if [ "$1" = "up" -o "$1" = "renewal" ]; then


/etc/init.d/ddclient.sh
fi

Crear el fichero /etc/init.d/ddclient.sh

nano /etc/init.d/ddclient.sh

ddclient -daemon=0 -debug -verbose -noquiet

66.8.2. Ponerlo en el arranque la actualización

Cada vez q arranquemos linux se actualizará haciendo esto:


ln -s /etc/init.d/ddclient.sh /etc/rc.d/S21ddclient

66.9. Bibliografı́a
Ultima versión de este artı́culo:
http://pagina.de/pacodebian
DNS dinámica con DynDns:
http://bulma.net/body.phtml?nIdNoticia=834

Por Paco Aldarias 278/449


Linux

Capı́tulo 67

Crear terminales linux: LTSP

67.1. Versiones
18.12.03. Primera version v.1.0

67.2. Introducción
Este manual auque da explicaciones para Linux Debian, tb puede usarse para otras distribucio-
nes. Ya q explica como deben ponerse los ficheros de configuración.
LTSP: Linux Terminal Server Proyect. Es un grupo de trabajo para poder obtener terminales linux.
Me insteresé por ltsp, ya q administro una red en linux, en un centro de enseñanza. Imaginaros
la de veces q se instala linux, y la de usuarios q hay q tener.
Con ltsp, sólo se instala linux en el servidor, y después un un disquete en los clientes ya tienes
linux.
Mi objetivo era instala un sólo linux, y configurar un sólo linux, y el resto de máquinas se conec-
taran a un servidor de terminales.
Las terminales se autoconfiguran por red, a través de dhcp y por mac.
Cuando una terminal arranca es como si tuvieras delante la máquina linux, q hace de servidor.
Con lo q la administración de usuarios se hace desde el servidor de ltsp.
Y lo pude consegir con ltsp.

67.3. Las máquinas


Dispongo de un servidor ibm a 450Mz con 64Mb de Ram, Las terminales son los mismo. Las
tarjetas gráficas usan s3virge. Mi red es 192.168.100.x, siendo x el numero del pc.

67.4. Hacer el disco de arranque para las terminales


Ir a la web: http://www.rom-o-matic.net
Para ver la tarjeta de red q se tiene:
lspci

Por Paco Aldarias 279/449


Linux

Yo dispongo de :
Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139
Seleccionas tu tarjeta de red. Y te bajas el archivo. Lo copias a tu disquete asi:

dd if=eb-5.2.2-rtl8139.zdsk of=/dev/fd0

Este disquete se metera en el pc que hará de terminal.


Nota: Tb se pueden encontrar discos de arranque en: http://www.etherboot.org/db/

67.5. Cambiar el sources.list


nano /etc/sources.list
deb http://termserv.berlios.de/debian stable main non-free

67.6. Instalar ltsp


Desde consola como root, en el pc que hará de servidor ltsp:
apt-get install ltsp-x-core-i386 ltsp-x-fonts-i386 ltsp-x-xserver-s3-3.3.6-i386 tftpd nfs-kernel-server
kdm tftpd

67.7. Inicializar el servidor ltsp


/opt/ltsp/templates/ltsp_initialize

67.8. Cambiar el dhcp


nano /etc/dhcp.conf

...
option root-path "192.168.100.9:/opt/ltsp/i386";
...
host pc101
{hardware ethernet 00:50:FC:89:F7:B3; fixed-address 192.168.100.101;
filename "/tftpboot/lts/vmlinuz-2.4.19-ltsp-1";
option option-128 e4:45:74:68:00:00;
option option-129 "NIC=ne IO=0x300";
}

host pc102
{hardware ethernet 00:50:FC:87:35:6B; fixed-address 192.168.100.102;
filename "/tftpboot/lts/vmlinuz-2.4.19-ltsp-1";
option option-128 e4:45:74:68:00:00;
option option-129 "NIC=ne IO=0x300";
}
..

Reiniciarlo:
/etc/init.d/dhcp restart

Por Paco Aldarias 280/449


Linux

67.9. Configurar ltsp


Mis servidor tiene la ip: 192.168.100.2

nano /opt/ltsp/i386/etc/lts.conf

[Default]
SERVER = 192.168.100.2
XSERVER = auto
X_MODE_0 = 1024x768
X_MOUSE_PROTOCOL = "PS/2"
X_MOUSE_DEVICE = "/dev/psaux"
X_MOUSE_RESOLUTION = 400
X_MOUSE_BUTTONS = 2
USE_XFS = N
USE_NFS_SWAP = N
LOCAL_APPS = Y
RUNLEVEL = 5
X_HORZSYNC = 28-50
X_VERTREFRES = 43-75
X_COLOR_DEPTH = 16

67.10. Cambiar export


nano /etc/exports

/opt/ltsp/i386 192.168.100.0/255.255.255.0(ro,no_root_squash)
/var/opt/ltsp/swapfiles 192.168.100.0/255.255.255.0(rw,no_root_squash)
/home 192.168.100.0/255.255.255.0(rw,no_root_squash)

67.11. Comprobar que esta el nucleo es su sitio


ll /tftpboot/lts/vmlinuz-2.4.19-ltsp-1

67.12. Añadir las terminales al dns


nano /etc/hosts
192.168.100.101 pc101
192.168.100.102 pc102
...

67.13. Dar permisos al kdm en Xaccess


Descomentar esta lı́nea:

Por Paco Aldarias 281/449


Linux

nano /etc/kde2/kdm/Xaccess
* #any host can get a login window

67.14. Dar permisos al kdm en kdmrc


Comprobar que está enabled:

nano /etc/kde2/kdm/kdmrc

[Xdmcp]# Whether KDM should listen to XDMCP requests. Default is false for Debian.
Enable=true

Reiniciar kdm y comprobar que esta xdm:

/etc/init.d/kdm restart
ps -aux | grep xdm

67.15. Comentarios
Yo dispongo de un servidor IBM a 500 Mz, con 64Mb de RAM, y 40Gb de HB. Y Con 4 terminales
IBM a 500 Mz, con 64Mb, va lento. Tendré q ampliar la RAM del servidor.

67.16. Bibliografı́a
1. Ubicación de este documento:
http://inicia.es/de/pacodebian

2. Página oficial. http://www.ltsp.org

3. A Quesada. mailto://pLin io@gulic.org


LTSP. Minicomo. Terminales de Bajo coste. Minicomo para debian y Mandrake. En Español.

4. Federico E. Pereda - Pisa. mailto://pisa@lugmen.org.ar


LTSP. Minicomo. Terminales de Bajo coste. Minicomo para debian y Mandrake.En En Es-
pañol.
5. James McQuillan. jam@LTSP.org
LTSP. Linux Terminal Server Proyect - V.3.0 Año 2002. Manual de www.ltsp.org En Español.

Por Paco Aldarias 282/449


Linux

Capı́tulo 68

Web Dinámicas: php+mysql

68.1. Versiones
02.01.04. Primera versión v.1.0

68.2. Introducción
Vamos a ver la forma de poder crear páginas web de forma dinámica.
Aquı́ se describe el proceso de instalación y puesta en marcha, además de un ejemplo.
Php en un lenguaje incluido dentro de las páginas web, que permite consultar bases de datos y
construir las páginas web.
Mysql es un motor de base de datos relacionales. Aquı́ se almacenará la información.
La gestión de datos de mysql lo haremos mediante web usando phpmyadmin.
Las páginas webs con php deben abrirse con apache, a su vez, php construye la página en el
servidor web, y devuelve al cliente los resultados. Por lo cual, el cliente nunca ve como está hecha
la página en php.

68.3. Instalación
Los requisitos software son:

1. Servidor Web Apache


2. Php4
3. Mysql

Partiendo que dispongo de Linux Debian Woody. Desde consola y como root:
apt-get install apache apache-common php4 php4-mysql phpmyadmin mysql-server mysql-
common mysql-client php4-mysql

68.4. Configurar mysql


Vamos a cambiar la contraseña de root.

Por Paco Aldarias 283/449


Linux

Desde consola como root:


Arrancamos mysql:
/etc/init.d/mysql start
Entramos en mysql:
mysql -u root mysql
Dentro de mysql cambiamos la clave de root:
UPDATE user SET Password=PASSWORD(’miclave’) WHERE user=’root’
FLUSH PRIVILEGES;
Nos salimos:
quit
Nota: La próxima vez q entremos como root en mysql:
mysql -u root -p mysql

68.5. Gestión de mysql


Desde consola como root.
Arrancamos apache:
/etc/init.d/apache start
Pondremos en el navegador web:
http://localhost/phpmyadmin/
Pondremos:
Username:root
Password: miclave

68.6. Uso de Mysql

68.6.1. Como empezar mysql

- Arrancar el servidor:

su -c "/etc/rc.d/myslqd start"

- Entrar:
1) /usr/bin/mysql
coge el usuario por defecto
2) /usr/bin/mysql -u root mysql
entramos como usuario root en la bd mysql

68.6.2. Cambiar el password de root

1) Opcion 1

shell> mysql -u root mysql\\

mysql> UPDATE user SET Password=PASSWORD(’new_password’)


WHERE user=’root’;
mysql> FLUSH PRIVILEGES;

Por Paco Aldarias 284/449


Linux

2) Opcion 2:

shell> mysqladmin -u root password new_password

68.6.3. Operacines básicas

- Ver BD: SHOW DATABASES;


- Usar BD: USE PACO;
- Crear BD: CREATE DATABASE web;
- Para ejecutar scritps de creacion de tablas . . . :

mysql -u root -h localhost -p -D web < nuke.sql\\

68.6.4. Como crear una bd y usuarios

1. Crear la bd.
su
mysql -p
entrar pass de root
create table ejemplodb

2. Dar privilegios de la bd ejemplodb al usuario paco:

GRANT ALL ON ejemplodb.* TO paco;

68.6.5. Como ver los usuarios

mysql> SELECT Host,User FROM mysql.user WHERE User=’’;

68.6.6. Como entrar a la base de datos desde consola

mysql --user=paco -p ejemplodb

Nota: Una herramienta visual para mysql es: mysqlnavigator


Al entrar debemos poner:
host: localhost

68.6.7. Como dar de alta usuarios

Para poder acceder al servidor Linux y acceder a MySQl no basta con lo anterior, sino que
tenemos que dar privilegios a los usuarios para que puedan acceder a las Base de Datos y
Tablas que contiene MySQL
Para hacer esto necesitaremos acceder a la consola del servidor y acceder a MySQL
Para empezar accederemos como root a la Tabla mysql, donde se dan todos los privilegios de
acceso a todos los usuarios
shell¿mysql –user=root mysql Ahora indicamos que desde la IP 192.168.0.2 el usuario: gigi, con
el password: gigi, va a poder acceder a la Base de datos MySQL

Por Paco Aldarias 285/449


Linux

mysql> INSERT INTO user (Host,User,Password)


VALUES(’192.168.0.2’,’gigi’,PASSWORD(’gigi’));

Ahora indicamos que desde la IP 192.168.0.2 el usuario: gigi, puede acceder a la tabla: mytabla
con los privilegios de: Seleccionar, Insertar, Modificar, Borrar, Crear, y Borrar

mysql> INSERT INTO db


(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,
Create_priv,Drop_priv)
VALUES
(’192.168.0.2’,’mytabla’,’gigi’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’);

Por ultimo le indicamos que empiece a aplicar estos privilegios en este momento

mysql> FLUSH PRIVILEGES;

Fijaros que las instrucciones siempre terminan con punto y coma (;)

68.6.8. Hacer copia de seguridad

mysqldump -u -p > archivo.backup.sql

68.6.9. Como recuperar la contraseña de root perdida

1) Paramos el servicio:

/etc/init.d/mysql stop

2) Ejecutamos:

mysqld_safe --skip-grant-tables &

(he perdido mucho tiempo porque en la solución venı́a ”safe mysqld”, supongo que serı́a el nom-
bre del comando en versiones más viejas).
3) Ponemos un nuevo password a root:

mysqladmin -u root flush-privileges password "nuevopassword"

4) Reiniciamos el servicio:

/etc/init.d/mysql start

68.7. Uso de Php

68.7.1. Ver si funciona

Veamos una Web que permite comprobar si funciona el php en apache.


Copiar este esto en un fichero q se llame phptest.php y abrirlo con el navegador ası́: http:
//127.0.0.1/phptest.php

Por Paco Aldarias 286/449


Linux

<html>
<body>
<?php
phpinfo();
?>
</body>
</html>

68.8. Ejemplo de php


En este ejemplo se puede: Listar, Alta, Baja, Modificaciones registros.

68.8.1. Estructura de la tabla incidencias

CREATE TABLE ‘incidencias‘ (


‘cod‘ CHAR(5) NOT NULL AUTO_INCREMENT PRYMARY,
‘fecha‘ DATE NOT NULL,
‘hora‘ CHAR(5) NOT NULL,
‘profesor‘ VARCHAR(30) NOT NULL,
‘aula‘ TINYINT(15) NOT NULL,
‘pc‘ TINYINT(6) NOT NULL,
‘solucionado‘ CHAR(2) NOT NULL,
‘des‘ VARCHAR(50) NOT NULL
)
COMMENT = ’Incidencias de los pcs’;

68.8.2. Inserción de un registro

INSERT INTO ‘incidencias‘


(‘fecha‘, ‘hora‘, ‘profesor‘, ‘aula‘, ‘pc‘, ‘solucionado‘, ‘des‘)
VALUES (’2003-12-31’, ’20:30’, ’Paco’, ’1’, ’1’, ’S’, ’PRUEBA’);

68.8.3. Menú principal: incidencias.htm

<HTML>
<HEAD>
<TITLE>INCIDENCIAS</TITLE>
</HEAD>
<center>
<H1>Gestión de Incidencias</H1>
<hr>
<table border=1 >
<tr><td>
<A HREF="listado.php" TARGET=Der>Listado</A><BR>
</td></tr>

<tr><td>
<A HREF="nuevo.html" TARGET=Der>Nuevo</A><BR>
</td></tr>

<tr><td>

Por Paco Aldarias 287/449


Linux

<A HREF="borrar.html" TARGET=Der>Borrar</A><BR>


</td></tr>

<tr><td>
<A HREF="modificar.html" TARGET=Der>Modificar</A><BR>
</td></tr>

<tr><td>
<A HREF="borrartodos.php" TARGET=Der>Borrar todos</A><BR>
</td></tr>

</table>
<hr>

68.8.4. Listado de registros: listado.php

<HTML>
<HEAD><TITLE>LISTADO</TITLE></HEAD>

<FONT COLOR=’blue’>

<CENTER>

<H1>LISTADO</H1>

<TABLE BORDER=1 WIDTH=90%>


<TR><TD ALIGN=’center’><FONT COLOR=’blue’>COD</FONT></TD>
<TD ALIGN=’center’><FONT COLOR=’blue’>FECHA</FONT></TD>
<TD ALIGN=’center’><FONT COLOR=’blue’>HORA</FONT></TD>
<TD ALIGN=’center’><FONT COLOR=’blue’>PROF</FONT></TD>
<TD ALIGN=’center’><FONT COLOR=’blue’>AULA</FONT></TD>
<TD ALIGN=’center’><FONT COLOR=’blue’>PC</FONT></TD>
<TD ALIGN=’center’><FONT COLOR=’blue’>DES</FONT></TD>
<TD ALIGN=’center’><FONT COLOR=’blue’>SOLUCIONADO</FONT></TD>

<?php
$bd=’alumnos’;
$tabla=’incidencias’;

echo "<H2 align=center> Tabla: $tabla.


Ordenado por aula,pc,fecha,hora
<hr></H2>";
echo "</center>";
//Establecimiento de la conexión
$conex = mysql_connect("localhost", "root", "miclave")
or die("NO se pudo realizar la conexión");
// Selección de la base de datos
mysql_select_db($bd, $conex);
//Preparación y ejecución de la consulta
$cons = "SELECT cod, fecha,hora,profesor,aula,pc,des,solucionado
FROM $tabla ORDER BY aula,pc,fecha,hora";
$resultado = mysql_query($cons,$conex);
//Obtención del número de filas del resultado
$Num_filas = mysql_num_rows($resultado);

Por Paco Aldarias 288/449


Linux

echo "Número de filas en el resultado: $Num_filas <BR><HR>\n";

//Obtención del número de atributos


$Num_campos = mysql_num_fields($resultado);

// echo "<table border=1 with=1";

//Recorrido del cursor de fila en fila


while ($fila = mysql_fetch_row($resultado))
{
echo "<TR>";
//Recorrido de los atributos de una fila
for ($i = 0; $i < $Num_campos; $i++)
echo "<TD> $fila[$i] </TD>";
echo "</TR>";
}

// Liberamos los recursos de las consultas


mysql_free_result($resultado);
// Se cierra la conexion
mysql_close($conex);

$today = date("F j, Y, g:i a");


echo "$today";
echo "<hr>";

?>
</BODY>
</HTML>

68.8.5. Añadir registros: nuevo.htm y nuevo.php

Fichero: nuevo.html

<!--
CREATE TABLE ‘incidencias‘ (
‘cod‘ CHAR(5) NOT NULL AUTO_INCREMENT PRYMARY,
‘fecha‘ DATE NOT NULL,
‘hora‘ CHAR(5) NOT NULL,
‘profesor‘ VARCHAR(30) NOT NULL,
‘aula‘ TINYINT(15) NOT NULL,
‘pc‘ TINYINT(6) NOT NULL,
‘solucionado‘ CHAR(2) NOT NULL,
‘des‘ VARCHAR(50) NOT NULL
)
COMMENT = ’Incidencias de los pcs’;

INSERT INTO ‘incidencias‘


(‘fecha‘, ‘hora‘, ‘profesor‘, ‘aula‘, ‘pc‘, ‘solucionado‘, ‘des‘)
VALUES (’2003-12-31’, ’20:30’, ’Paco’, ’1’, ’1’, ’S’, ’PRUEBA’);
-->

<HTML>
<HEAD> <TITLE>NUEVO</TITLE>

Por Paco Aldarias 289/449


Linux

<H1 ALIGN=CENTER>NUEVO</H1>
<H2 ALIGN=CENTER>Tabla: Incidencias</H2>
</HEAD>
<BODY>
<HR>

<FORM ACTION="nuevo.php" METHOD="POST">


<TABLE>
<TR>
<TD ALIGN=RIGHT>Fecha: (ejemplo: 2003-12-31)</TD>
<TD><INPUT TYPE="DATE" NAME="fecha" VALUE="2003-12-31"
SIZE=10 MAXLENGTH=10 ></TD>
</TR>
<TR>
<TD ALIGN=RIGHT>hora (ejemplo: 12:30 )</TD>
<TD><INPUT TYPE="TEXT" NAME="hora" VALUE="12:30"
SIZE=5 MAXLENGTH=5 ></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Profesor:</TD>
<TD><INPUT TYPE="TEXT" NAME="profesor" VALUE="PACO"
SIZE=30 MAXLENGTH=30 ></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Aula:</TD>
<TD><INPUT TYPE="NUMBER" NAME="aula" VALUE=1
SIZE=3 MAXLENGTH=3></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Pc:</TD>
<TD><INPUT TYPE="NUMBER" NAME="pc" VALUE=1
SIZE=6 MAXLENGTH=6></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Descripcion:</TD>
<TD><INPUT TYPE="TEXT" NAME="des" VALUE="NO VA DISQUETERA"
SIZE=50 MAXLENGTH=50></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Solucionado (S/N) </TD>
<TD><INPUT TYPE="TEXT" NAME="solucionado" VALUE="N"
SIZE=1></TD>
</TR>

<TD><INPUT TYPE="Submit" VALUE="Enviar"></TD>


<TD><INPUT TYPE="Reset" VALUE="Borrar"></TD>
</TR>
</TABLE>
</FORM>

Por Paco Aldarias 290/449


Linux

</BODY>

<HR>

</HTML>

Fichero: nuevo.php

<H1>RESULTADO DE NUEVO</H1>
<HR>
<?php

$tabla=’incidencias’;
$bd=’alumnos’;
echo "<H2>Tabla: $tabla</H2>";

$conex = mysql_connect("localhost", "root", "miclave")


or die("NO se pudo realizar la conexión");
// Selección de la base de datos
mysql_select_db($bd, $conex);

$cons = "INSERT INTO $tabla


(fecha,hora,profesor,aula,pc,solucionado,des)
VALUES
(’$fecha’,’$hora’,’$profesor’,’$aula’,’$pc’,’$solucionado’,’$des’)
";

$res1 = mysql_query($cons, $conex);


echo "<br><b> $cons <br> \n";
echo " resultado: $res1 <br> \n";
if ($res1)
echo "<BR>Tupla insertada <BR>";

echo mysql_errno() . ": " . mysql_error();

// Liberamos los recursos de las consultas


//mysql_free_result($res);
// Se cierra la conexion
mysql_close($conex);

?>

<BR>
<HR>
</BODY>
</HTML>

68.8.6. Borrar registros: borrar.html y borrar.php

Fichero: borrar.html

<HTML>
<HEAD>

Por Paco Aldarias 291/449


Linux

<TITLE>BORRAR</TITLE>
</HEAD>
<BODY>

<H1 ALIGN=CENTER>BORRAR</H1>
<H2 ALIGN=CENTER>Tabla: Incidencias</H2>
<HR>
<FORM ACTION="borrar.php" METHOD="POST">
<TABLE>
<TR>
<TD ALIGN=RIGHT>Codigo:</TD>
<TD><INPUT TYPE="NUMBER" NAME="cod" SIZE=3></TD>
</TR>

<TR>
<TD><INPUT TYPE="Submit" VALUE="Enviar"></TD>
<TD><INPUT TYPE="Reset" VALUE="Borrar"></TD>
</TR>

</TABLE>
</FORM>
</BODY>

<HR>

</HTML>

Fichero: borrar.php

<H1>RESULTADO DEL BORRADO</H1>


<HR>
<?php
$tabla=’incidencias’;
$bd=’alumnos’;
//Establecimiento de la conexión
$conex = mysql_connect("localhost", "root", "miclave")
or die("NO se pudo realizar la conexión");
// Selección de la base de datos
mysql_select_db($bd, $conex);

$cons = "SELECT * from $tabla where cod=’$cod’ ";


echo " cons: $cons <br> \n";
$res = mysql_query($cons, $conex);
echo " resultado: $res <br> \n ";
if (!$res)
// No Existe el valor
echo "ERROR: No existe el valor: $cod <br>\n";
else {
$cons = "DELETE FROM $tabla
WHERE cod = ’$cod’ ;";

$res1 = mysql_query($cons, $conex);


echo "<br><b> $cons <br> \n";
echo " resultado: $res1 <br> \n";
if ($res1)

Por Paco Aldarias 292/449


Linux

echo "<BR>Tupla Borrada<BR>";


else
echo mysql_errno() . ": " . mysql_error();

// Se cierra la conexion
mysql_close($conex);
}

?>

<BR>
<HR>
</BODY>
</HTML>

68.8.7. Modificar registros: modificar.html y modificar.php

Fichero: modificar.html

<HTML>
<HEAD> <TITLE>NUEVO Incidencias</TITLE>
<H1 ALIGN=CENTER>MODIFICAR Incidencias</H1>
<H2 ALIGN=CENTER>Tabla: Incidencias</H2>
</HEAD>
<BODY>
<HR>

<FORM ACTION="MODIFICAR.php" METHOD="POST">


<TABLE>

<TR>
<TD ALIGN=RIGHT>Cod: (ejemplo: 1)</TD>
<TD><INPUT TYPE="NUMBER" NAME="cod" VALUE="1"
SIZE=10 MAXLENGTH=3 ></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Fecha: (ejemplo: 2003-12-31)</TD>
<TD><INPUT TYPE="DATE" NAME="fecha" VALUE="2003-12-31"
SIZE=10 MAXLENGTH=10 ></TD>
</TR>
<TR>
<TD ALIGN=RIGHT>hora (ejemplo: 12:30 )</TD>
<TD><INPUT TYPE="TEXT" NAME="hora" VALUE="12:30"
SIZE=5 MAXLENGTH=5 ></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Profesor:</TD>
<TD><INPUT TYPE="TEXT" NAME="profesor" VALUE="PACO"
SIZE=30 MAXLENGTH=30 ></TD>
</TR>

Por Paco Aldarias 293/449


Linux

<TR>
<TD ALIGN=RIGHT>Aula:</TD>
<TD><INPUT TYPE="NUMBER" NAME="aula" VALUE=1
SIZE=3 MAXLENGTH=3></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Pc:</TD>
<TD><INPUT TYPE="NUMBER" NAME="pc" VALUE=1
SIZE=6 MAXLENGTH=6></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Descripcion:</TD>
<TD><INPUT TYPE="TEXT" NAME="des" VALUE="NO VA DISQUETERA"
SIZE=50 MAXLENGTH=50></TD>
</TR>

<TR>
<TD ALIGN=RIGHT>Solucionado (S/N) </TD>
<TD><INPUT TYPE="TEXT" NAME="solucionado" VALUE="N"
SIZE=1></TD>
</TR>

<TD><INPUT TYPE="Submit" VALUE="Enviar"></TD>


<TD><INPUT TYPE="Reset" VALUE="Borrar"></TD>
</TR>
</TABLE>
</FORM>
</BODY>

<HR>

</HTML>

Fichero: modificar.php

<?php
$tabla=’incidencias’;
$bd=’alumnos’;
//Establecimiento de la conexión
$conex = mysql_connect("localhost", "root", "miclave")
or die("NO se pudo realizar la conexión");
// Selección de la base de datos
mysql_select_db($bd, $conex);

$cons = "SELECT * from $tabla where cod=’$cod’ ";


echo " cons: $cons <br> \n";
$res = mysql_query($cons, $conex);
echo " resultado: $res <br> \n ";
if ($res) // Encontrada
{
$cons = "UPDATE $tabla
SET fecha=’$fecha’ , hora =’$hora’ ,

Por Paco Aldarias 294/449


Linux

profesor=’$profesor’ , aula=’$aula’ ,pc = ’$pc’ ,


solucionado=’$solucionado’, des=’$des’
where cod=’$cod’
";
$res = mysql_query($cons, $conex);
echo "<br><b> $cons <br> \n";
echo "resultado: $res <br> \n";

if ($res)
echo "<BR>Tupla modificada <BR>";
else
echo mysql_errno() . ": " . mysql_error();

}
else // Encontrada
echo "ERROR: No existe el valor: ’$cod’ <br>\n";

// Liberamos los recursos de las consultas


mysql_free_result($res);
// Se cierra la conexion
mysql_close($conex);

?>

<BR>
<HR>
</BODY>
</HTML>

68.8.8. Borrar todos: borrartodos.php

<H1>RESULTADO DE BORRA TODOS</H1>


<?php
$tabla=’incidencias’;
$bd=’alumnos’;
echo "<h2> Tabla: $tabla </h2><HR>";
//Establecimiento de la conexión
$conex = mysql_connect("localhost", "root", "miclave")
or die("NO se pudo realizar la conexión");
// Selección de la base de datos
mysql_select_db($bd, $conex);

$cons = "DELETE from $tabla; ";


echo " cons: $cons <br> \n";
$res = mysql_query($cons, $conex);
echo " resultado: $res <br> \n ";

// Se cierra la conexion
mysql_close($conex);
echo "Han sido borrados todas las entradas";
?>

Por Paco Aldarias 295/449


Linux

<BR>
<HR>
</BODY>
</HTML>

68.9. Mysql-navegator
Mysql-navigator. Permite manipular las tablas y consultas en sql.

68.10. Bibliografı́a

68.10.1. Internet
1. Ubicación de este documento:
http://pagina.de/pacodebian

2. Página oficial de mysql. http://www.mysql.com

3. Php. En castellano.
http://www.programacion.com/php/

4. Php. Manual Oficial.


http://es.php.net/manual/en/index.php

5. SQL. Manual Oficial.


http://www.mysql.com/doc/en/index.html

68.10.2. Libros
1. Fco Javier Gil. Creación de sitios web con php4. Osborne-McGrawhill. 2001. 1ra edicion.
isbn 84-481-3209-2.

2. Luke Welling and Laura Thomson PHP and MySQL Web Development, Second Edition
ISBN: 067232525X Formato: Paperback, 871pp Pub. Date: February 2003 Publisher: Sams
Edition Number: 2 (Hay versión en español)

Por Paco Aldarias 296/449


Linux

Capı́tulo 69

Apagar todas las máquinas de la


red: ssh, halt

69.1. Versión
9.1.04. Versión Inicial.

69.2. Introducción
Vamos a ver la forma de apagar todos los ordenadores de una red. Para ello usaremos ssh y halt.

69.3. Instalación
apt-get install ssh

69.4. Configuración de la máquina q ordena se apagen


Como root desde consola, generamos el fingerprint, a todas las preguntas le damos a intro:

ssh-keygen -t rsa

Vemos lo generado, que servirá para ponerlo en las máquinas que se apagarán:

cat /root/.ssh/id_rsa.pub

Reiniciamos ssh

/etc/init.d/ssh restart

69.5. Configuración de la máquinas q se apagan


Conectamos con la maquina q se apagará

Por Paco Aldarias 297/449


Linux

ssh -l root x.x.x.x

Siendo x.x.x.x la ip de la máquina


Editamos el fichero y cambiamos la linea:

nano /etc/ssh/sshd_config

AuthorizedKeysFile %h/.ssh/authorized_keys

Copiamos de la máquina q los apaga el contenido de:

cat /root/.ssh/id_rsa.pub

en la máquina que queremos apagar en el fichero:

/root/.ssh/authorized_keys

Reiniciamos ssh:

/etc/init.d/ssh restart

69.6. Apagado de las máquinas


Para apagar una máquina :

ssh root@192.168.100.101 /sbin/halt

Para apagar todas las máquinas con ips: 192.168.100.101-122 creamos el fichero halt.sh
en la máquina q apaga las demás:

#!/bin/bash
echo APAGANDO MAQUINAS.
for i in ‘seq 101 122‘;
do
echo APAGANDO MAQUINA $i
ssh root@192.168.100.$i /sbin/halt
done

Le damos permisos de ejecución:

chmod 700 halt.sh

Ejecutamos el script:

./halt.sh

69.7. Hacer que salga un mensaje que diga: El pc apagará en


tantos minutos
ssh root@192.168.100.1 /usr/X11R6/bin/xmessage -display :0.0 \
"El pc se apagara despues de 10 minutos" &

Por Paco Aldarias 298/449


Linux

69.8. Apagar el pc por telnet


En /etc/services :

halt 123456/tcp

En /etc/inetd.conf :

halt stream tcp nowait root /usr/sbin/tcpd /sbin/halt

Con esto puedo apagar el equipo haciendo telnet a ese puerto.

69.9. Bibliografı́a
Ssh. Conesiones ssh sin clave.
http://losinvisibles.net/como/comoSSHsinPass.html

Getting started with SSH.


http://kimmo.suominen.com/ssh/#ssh-keygen

Por Paco Aldarias 299/449


Linux

Capı́tulo 70

Bash: Ejemplos

70.1. Introducción

70.2. bash
Vamos a ver ejemplo de uso del bash

70.3. Arbol de directorios


Para obtener el arbol de directorios.

func_recursiva()
{
for OBJ in *
do
if [ -L "${OBJ}" ]
then
#echo "[e] ${OBJ} <-- Enlace"
continue
fi

(
if [ -d "${OBJ}" ]
then
#echo "[d] ${OBJ} <-- Directorio"
cd "${OBJ}"
pwd
#du -s -c -h
func_recursiva
fi
)

#echo "[f] ${OBJ} <- Fichero"

done
}

Por Paco Aldarias 300/449


Linux

func_recursiva

70.4. Renombrar ficheros


Elimina una extensión .tar final de archivo.tar.bz2.tar para dejarlo en archivo.tar.bz2.

1. Suponiendo que el nombre del archivo no contenga ”. que los archivos esten en el direc-
2

torio en el que ejecutes esto:

for nombre in *.tar.bz2.tar; do


nuevo_nombre=‘echo $nombre | gawk -F. ’{print $1"."$2"."$3}’‘
mv $nombre $nuevo_nombre
done

2. Este guión, con la opción -ss, elimina el sufijo indicado de los objetivos:

for fich in *.tar; do mv fich $(nombase -ss.tar $fich);done

3. El signo del dolar indica el final de lı́nea; la construcción s/x/y/ es la clásica utilizada para
sustituir x por y:

rename ’s/.tar$//’ *.tar

70.5. Borrar los archivos contenidos en un fichero


Esto borra los ficheros contenidos en fichero.txt, q es de la forma /carpeta/fichero1.txt /carpeta/-
fichero2.txt

1. xargs -i rm "{}" < fichero.txt


2. for linea in ’cat fichero.txt’
do
rm $linea;
done

70.6. Borrar los ficheros que comiencen con p en el directorio


actual y en todos sus subdirectorios
find ./ -name "p*" -exec rm -f {} \;

find -name ’p*’ -type f -exec rm {} \;

70.7. Mover los ficheros


Que contienen el texto Way a la carpeta /wind/musica/way/:

find /lector -name "*Way*" -exec mv {} /wind/musica/way/ \;

Por Paco Aldarias 301/449


Linux

70.8. Para descomprimir todos los archivos zip de una carpe-


ta en otra
echo DESCOPRIMIENDO ZIPS
echo Ejemplo: ./unzip.sh /origen/ /destino

cd $1
for i in $(ls *.zip); do
f=$(echo $i | cut -d. -f1);
echo [*] Descomprimiendo $i en $2$f;
mkdir $1$f;
cd $1$f;
unzip $1$i -d $2/$f;
done

70.9. Copiar un fichero en otro poniendo la fecha y hora


echo Ejemplo: ./copiar.sh fichero
echo copiando $1 $1$(date +%d-%m-%Y-%H-%M)
cp $1 $1$(date +%d-%m-%Y-%H-%M)

70.10. Analizar el arranque y realizar algo


Se trata de tener un arranque del dma controlado.
Me surgio la necesidad de que al arrancar mi disco duro, el cual no iba bien. Me salı́a este error:

Oct 9 12:24:42 pacohost kernel: hda: dma_intr: error=0x84


{ DriveStatus ErrorBadCRC }

Oct 9 12:24:42 pacohost kernel: hda: dma_intr: status=0x51


{ DriveReady SeekComplete Error }

La idea era comprobar que si en el arranque sale este error desactive el dma, paraque no salga
mas este error.
Veamos los ficheros que utilizo:
Aquı́ analizo la salida de dmesg, si contiene la cadena status, aplico el script hd.sh que desactiva
el dma.

cat /etc/rc2.d/S01ifhd.sh
#!/bin/bash
echo ANALISIS DMA:
if [ -n "$(dmesg | grep ’status=0x51’)" ]; then
echo "Error de dma"
/root/hd.sh
else
echo OK DMA
fi

Por Paco Aldarias 302/449


Linux

cat /root/hd.sh
hdparm -k1 -c0 -d0 -X64 /dev/hda

70.11. Enviar n mensajes de correo


Vamos a ver la forma de enviar n mesajes a un email:
Veamos el script:

echo Ejempplo: ./mailbucle.sh 10 spam@hotmail.com


echo enviando $1 mensajes a $2
for i in ‘seq 1 $1‘;
do
#echo "SPAMMMMMMMMMMMMMMMM" | mail -s "" paco
mail -u usuario -s "encabezado" $2 < kk.txt

Siendo kk.txt el fichero q se envia.

70.12. Clonar usuarios


Esto permite copiar todos los ficheros de un usuario en /etc/skel, para q al crear un usuario tenga
la misma configuración.

echo Ejemplo -siendo root-: ./skel.sh paco


usu=$1
echo Copiando ficheros del usuario $usu
cd /home/$usu
tar cpBf /etc/skel/$usu.tar.gz .

echo Extrayendo esqueleto del usuario $usu


cd /etc/skel/
tar xvBpf $usu.tar.gz
rm $usu.tar.gz

Usando ssh:

ssh usuario@maquina_remnota tar -cvpSf - / | tar -xvpf -

70.13. Sustituir un texto por otro

70.13.1. sec

Sustituye .o por .ko

cat util | sed -e "s/.o/.ko/" > util1


mv util1 util

70.13.2. tr

cat xx

Por Paco Aldarias 303/449


Linux

abc def
ghi abc
jkl mno
abc pqr

tr abc 123 < xx


123 def
ghi 123
jkl mno
123 pqr

70.14. Quitar los blancos de los nombre de los archivos


for i in *; do
nuevo=‘echo $i | sed -s ’s/\ //g’‘;
mv "${i}" ${nuevo};
done

O tambien ası́:

for i in *; do mv "$i" "‘echo $i | tr ’ ’ ’_’‘"; done

70.15. Buscar todas las imagenes y renombrarlas por la hora


actual
El script renombraba las imagenes en función de la fecha y hora, y en el caso de que varias fotos
fueran hechas en en mismo segundo, añadı́a una letra al nombre (a, b o c).

#! /bin/bash
shopt -s extglob # for improved file pattern matching
for imgname in *.+(jpg|JPG);
do
newname="$(head $imgname|strings|sed -n ’/[0-9]\{4\}\:.*/ {s/ /+/g; s/:/-/g; s/$/.jpg/; p}’|uni
# if there is already another file with the same name append an extension (b or c).
# Just thinking a bit more this can be improved, but IMHO it will work OK:
if ls ${newname%%.jpg}* &> /dev/null; then
if [ -f ${newname%%.jpg}b.jpg ]; then newname=${newname%%.jpg}c.jpg
elif [ -f ${newname} ]; then newname=${newname%%.jpg}b.jpg
fi
fi

mv ${imgname} ${newname}
done

70.16. Renombrar canciones


Vamos a cambiar de nombre a muchos archivos, son archivos mp3 y la estructura es la siguiente:
Grupo - cancion - num - Disco.mp3 (el grupo tiene espacios en blanco)

Por Paco Aldarias 304/449


Linux

y quiero que termine en num-cancion.mp3.


Script para bash

for i in *.mp3
do
titulo=‘id3 -lR $i | grep -e "^Title" | cut -f2- -d ’ ’‘
artista=‘id3 -lR | grep -e "^Artist" | cut -f2- -d ’ ’‘
album=‘id3 -lR | grep -e "^Album" | cut -f2- -d ’ ’‘
num=‘id3 -lR | grep -e "^Track" | cut -f2- -d’ ’‘
mv "$i" "$artista-$titulo-$num-$album.mp3"
done

Lees directamente de cada fichero mp3 la información que tiene para renombrar el archivo con
su contenido

70.17. Sacar las ips de las máquinas conectadas en la red in-


dicada

70.17.1. opcion

# Nmap-pacolinx
# Este script saca las ips de las máquinas conectadas en la red indicada
# Por Paco Aldarias
# Fecha: 15.05.04
# pacolinux arroba inicia punto es
# Valencia - Espa~na

t=temp.txt # fichero temporal


f=nmap.txt # fichero resultado
r=192.168.0.1-3 # rango de busqueda de la red

echo [Nmap-pacolinx] Maquinas conectadas en la red $r


nmap -sP -n $r > $t
lineas=‘wc -l < $t‘ # cogemos la linea
I=3
while [ $I -lt $lineas ] # recorremos todas la lineas menos la ultima
do
linea=‘sed -n ${I}l $t‘
ip=‘echo $linea | cut -d" " -f2‘
echo $ip >> $f
I=‘expr $I + 1‘
done
cat $f
rm -f $t $f

70.17.2. opcion

esto tb se puede hacer asi:

nmap -sP 192.168.0.* |grep appears |cut -f3 -d" " |tr \( " " |tr \) " " \
> nmap.txt

Por Paco Aldarias 305/449


Linux

Esto filtra la linea q tienes las ips:

nmap -sP 192.168.0.* |grep appears

Es decir saca esto:

Host paco (192.168.0.1) appears to be up.

Esto saca la ip, q la 3ra cadena:

nmap -sP 192.168.0.1 |grep appears |cut -f3 -d" "

Es decir saca esto:


(192.168.0.1)
La última parte reemplaza los parentesis por blancos:

nmap -sP 192.168.0.* |grep appears |cut -f3 -d" " |tr \( " " |tr \) " "

Es decir saca esto: 192.168.0.1

70.17.3. opcion

nmap -sP 192.168.0.0-1 | awk ’/appears to be up/ {print $3}’ | sed ’s/[()]//g’ \
> nmap.txt

70.18. Sacar el nombre de la maquina o dns


La orden es host x.x.x.x siendo x.x.x.x la ip.
Ejemplo:

#host 192.168.0.1
Name: paco
Address: 192.168.0.1

Queremos que saque el nombre, en este paco seria:


paco
Se puede hacer asi:

host 192.168.0.1 | grep Name | cut -f2 -d " "

o tb ası́:

host 192.168.0.1 | awk ’/Name: / {print $2}’

70.19. Reducir fotos


apt-get install libjpeg-progs
mkdir ../fotos-reducidas
for a in ‘ls *.jpg‘; do
djpeg -scale 1/4 $a | cjpeg -q 95 > ../fotos-reducidas/$a
done

Por Paco Aldarias 306/449


Linux

70.20. Cambiar todos los enlaces de las paginas de una car-


peta por otro enlace
Esto cambia el enlace http://pagina.de/pacodebian por http://www.iespana.es/pacolatex en todas
las paginas web del directorio.

find . -type f -name \*.html -print | while read f ; do


sed -i ’s^http://pagina.de/pacodebian^http://www.iespana.es/pacolatex^g’ "$f"
done

o tb

sed -i ’s^http://pagina.de/pacodebian^http://www.iespana.es/pacolatex^g’
$(find . -type f -name \*.html)

70.21. Reemplazar un texto por un fichero


cat a.txt

a
b
c
d
e

cat b.txt

A
B
C
D

sed ’/^c/rb.txt’ a.txt

a
b
c
A
B
C
D
d
e

70.22. Quitar un texto en un fichero


Este scrip elimina la cadena x90 de los ficheros que se le pasan. Para ello usa grep -v x90 para
sacar todo menos ese texto.
cat apache.sh

Por Paco Aldarias 307/449


Linux

# Script que elimna una cadena de los ficheros indicados.


# Por Paco aldarias
# 31.03.05
# http://www.linux-es.org/art.php?id=208

c="x90"
# Eliminado cadena $c

f=/var/log/apache/access.log
echo $f
cat $f | grep -v $c > $f

f=/var/log/apache/access.log.1
echo $f
cat $f | grep -v $c > $f

echo Ficheros comprimidos


find /var/log/apache/ -type f -name \access*.gz -print | while read f ; do
echo $f
gunzip -c $f | grep -v $c | gzip > $f
done

70.23. Obtener la edad


echo $(( ‘date +%Y‘ - 1966 ))

70.24. Bibliografı́a
1. HANDY ONE-LINERS FOR SED
http://sed.sourceforge.net/grabbag/tutorials/

Por Paco Aldarias 308/449


Linux

Capı́tulo 71

Bajarse una página web entera:


wget

71.1. Introducción
Podemos guardar una página web con el navegador, pero sólo se guarda el texto que hay dentro.
Existe la posibilidad de traernos todo el contenido de una página web usando wget.

71.2. Instalación
Desde consola como root:
apt-get install wget lynx
Siendo:

1. wget. Permite bajarse webs o ficheros.

2. lynx. Navegador web en modo texto.

71.3. Uso
1. wget http://loquesea.com
Baja una página entera tal y como esta.

2. wget -r -l x -A jpg,jpeg,gif,png,mpg,mpeg http://loquesea.com


Para bajar sólo las imagenes jpg,jpeg,gif,png,mpg,mpeg:
Siendo donde x=nivel de recursión

3. wget –limit-rate=1k http://loquesea.com


Para bajar a una velocidad. Siendo 1k=limite de velocidad.

4. wget -rL -T 150 -np -k http://loquesea.com


-k para que transforme los links absolutos a relativos -np no parent. No coge los subdirec-
torio superiores.

Por Paco Aldarias 309/449


Linux

5. wget -rL -k -T 150 http://www.lapagina.com


Para q baje todos los archivos .jpg o .mpg de un link se puede poner q sea recursivo.
6. wget -c -nd -r -l 5 -T 150 -k http://loquesea.com
Baja una página entera y metiendolo todo en la misma carpeta donde estamos:
Siendo:
-c indica que continue por donde se quedo la última vez.
-nd no crea la estructura jerarquica de directorios, lo mete todo junto.
-r recursivo. Indica que coga tb directorios.
-l nivel de prófundidad máxima.
-T segundo que se espera en caso de retrasos.
-k Una vez descargada la página convierte los enlaces para verse localmente.

71.4. Ejemplo
Para bajar la web de IES 25 abril:
http://intercentres.cult.gva.es/intercentres/46016713/ seria desde consola:

1. Crearmos la carpeta web:


mkdir web
2. Nos cambiamos a esa carpeta:
cd web
3. Nos bajamos la web principal.
wget -c -nd -np -r -l 5 -T 150 -k http://intercentres.cult.gva.es/intercentres/46016713/
index.htm

71.5. Descarga controlada por un fichero.


1. Vamos a la página web:
http://intercentres.cult.gva.es/intercentres/46016713/index.htm
2. Guardamos la pagina en el fichero lista.txt

lynx --dump \
http://intercentres.cult.gva.es/intercentres/46016713/index.htm \
> lista.txt
3. Editamos el fichero para dejar los sólo los enlaces que nos interesan:
nano lista.txt
4. Bajamos esos enlaces:
wget -i lista.txt

71.6. Descargar una pagina con nc


Utilidad tcp/ip que lee y escribe.

nc -l -p 80 < fichero.html

Siendo la p es puerto. y la l listen mode para conexiones entrantes.

Por Paco Aldarias 310/449


Linux

71.7. Comentarios
1. Hay servidores webs q limitan el número de páginas q se pueden bajar.

2. Wget sólo baja las páginas que tienen enlaces a otra. El resto de ficheros no los baja.

3. A partir de la versión 1.8 podemos limitar la velocidad de descarga. La versión de debian


woody es la 1.8.1.

71.8. Bibliografı́a
1. Esta página:
http://pagina.de/pacodebian

2. Com baixar varis arxius dúna pagina web gastant wget


http://bulma.net/body.phtml?nIdNoticia=716

3. Nova versió del potent wget (Descarreges web)


http://bulma.net/body.phtml?nIdNoticia=1054

Por Paco Aldarias 311/449


Linux

Capı́tulo 72

Controlar la velocidad de internet:


Squid con colas

72.1. Introducción
Existe un problema en una red local, donde varios usuarios se conectan a internet y es que
cuando algien se quiere bajar un archivo, consume todo el ancho de banda, dejando al resto de
usuarios sin casi velocidad de conexión.
Vamos a controlar el ancho de banda del proxy squid usando colas de prioridad o delay pools.
Esto está probado con linux debian woody.

72.2. Instalación
Instalaremos las utilidades de compilación, desde consola como root:
apt-get install gcc libc-dev make

72.3. Bajar la última versión de squid


http://www.squid-cache.org
Yo me baje el fichero:
squid-2.5.STABLE4.tar.gz
Descomprimirlo en /var/tmp:
tar xzpf squid-2.5.STABLE4.tar.gz

72.4. Compilar squid para colas


1. Como usuario normal. Todo es la misma linea:
./configure –prefix=/opt/squid –exec-prefix=/opt/squid –enable-delay-pools –enable-cache-
digests –enable-poll –disable-ident-lookups –enable-truncate –enable-removal-policies

2. Como usuario normal.


make all

Por Paco Aldarias 312/449


Linux

3. Como usuario root:


make install

72.5. Configurar Squid para poder usar la prestación de las


delay pools
/opt/squid/etc/squid.conf

#squid.conf
#Todas las opciones de este archivo se encuentran muy bien documentadas en el
#propio squid.conf ası́
#como en http://www.visolve.com/squidman/Configuration%20Guide.html

#
#Los puertos por los que escuchará nuestro Squid.
http_port 8080
icp_port 3130
#los cgi-bin no se cachearán.
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
#La memoria que usará Squid. Bueno, Squid usará mucha más que ésa.
cache_mem 16 MB
#250 significa que Squid usará 250 megabytes de espacio en disco.
cache_dir ufs /cache 250 16 256

#Lugares en los que irán los archivos de bitácora de Squid.


cache_log /var/log/squid/cache.log
cache_access_log /var/log/squid/access.log
cache_store_log /var/log/squid/store.log
cache_swap_log /var/log/squid/swap.log
#Cuántas veces rotar los archivos de bitácora antes de borrarlos.
#Acuda a la FAQ para más información.
logfile_rotate 10

redirect_rewrites_host_header off
cache_replacement_policy GDSF
acl localnet src 192.168.1.0/255.255.255.0
acl localhost src 127.0.0.1/255.255.255.255
acl Safe_ports port 80 443 210 119 70 20 21 1025-65535
acl CONNECT method CONNECT
acl all src 0.0.0.0/0.0.0.0
http_access allow localnet
http_access allow localhost
http_access deny !Safe_ports
http_access deny CONNECT
http_access deny all
maximum_object_size 3000 KB
store_avg_object_size 50 KB

#Configure esto si quiere que su proxy funcione de manera transparente.


#Eso significa que por lo general no tendrá que configurar todos los
#navegadores de sus clientes, aunque tiene algunos inconvenientes.
#Si deja esto sin comentar no pasará nada peligroso.
httpd_accel_host virtual

Por Paco Aldarias 313/449


Linux

httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

#Todos los usuarios de nuestra LAN serán vistos por los servidores web
#externos como si usasen Mozilla en Linux. :)
anonymize_headers deny User-Agent
fake_user_agent Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.6+) Gecko/20011122

#Para acelerar aún más nuestra conexión ponemos dos lı́neas similares a las
#de más abajo. Apuntarán a un servidor proxy [parent] que usará nuestro propio
#Squid. No olvide cambiar el servidor por uno más rápido para usted.
#Puede utilizar ping, traceroute y demás herramientas para comprobar la
#velocidad. Asegúrese de que los puerto http e icp son los correctos.

#Descomente las lı́neas que comienzan por "cache_peer" de ser necesario.


#Éste es el proxy que va a usar para todas las conexiones...
#cache_peer w3cache.icm.edu.pl parent 8080 3130 no-digest default

#...excepto para las direcciones e IPs que comiencen por "!".


#No es buena idea usar un mayor
#cache_peer_domain w3cache.icm.edu.pl !.pl !7thguard.net !192.168.1.1

#Esto resulta útil cuando queremos usar el Cache Manager.


#Copie cachemgr.cgi al cgi-bin de su servidor web.
#Podrá acceder a él una vez lo haya hecho introduciendo en un navegador
#la dirección http://su-servidor-web/cgi-bin/cachemgr.cgi
cache_mgr your@email
cachemgr_passwd secret_password all

#Éste es el nombre de usuario con el que trabajará nuestro Squid.


cache_effective_user squid
cache_effective_group squid

log_icp_queries off
buffered_logs on

#####DELAY POOLS
#Ésta es la parte más importante para configurar el tráfico entrante con
#Squid. Para una descripción detallada acuda al archivo squid.conf o a la
#documentación de http://www.squid-cache.org

#No queremos limitar las descargas en nuestra red local.


acl magic_words1 url_regex -i 192.168

#Queremos limitar la descarga de este tipo de archivos


#Ponga todo esto en una única lı́nea
acl magic_words2 url_regex -i ftp .exe .mp3 .vqf .tar.gz .gz .rpm .zip .rar .avi .mpeg .mpe .mpg .
.ram .rm .iso .raw .wav .mov
#No bloqueamos .html, .gif, .jpg y archivos similares porque por lo general
#no consumen demasiado ancho de banda.

#Queremos limitar el ancho de banda durante el dı́a permitiendo


#el ancho de banda completo durante la noche.

Por Paco Aldarias 314/449


Linux

#¡Cuidado! con el acl de abajo sus descargas se interrumpirán


#a las 23:59. Lea la FAQ si quiere envitarlo.
acl day time 09:00-23:59

#Tenemos dos delay_pools diferentes


#Acuda a la documentación de Squid para familiarizarse
#con delay_pools y delay_class.
delay_pools 2

#Primer delay pool


#No queremos retrasar nuestro tráfico local
#Hay tres cases de pools; aquı́ sólo hablaremos de la segunda.
#Primera clase de retraso (1) de segundo tipo (2).
delay_class 1 2

#-1/-1 significa que no hay lı́mites.


delay_parameters 1 -1/-1 -1/-1

#magic_words1: 192.168 que ya hemos puesto antes


delay_access 1 allow magic_words1

#Segundo delay pool.


#Queremos retrasar la descarga de los archivos mencionados en magic_words2.
#Segunda clase de retraso (2) de segundo tipo (2).
delay_class 2 2

#Los números siguientes son valores en bytes;


#Debemos recordar que Squid no tiene en cuenta los bits de inicio/parada
#5000/150000 son valores para la red al completo
#5000/120000 son valores para la IP independiente
#una vez los archivos descargados exceden los 150000 bytes,
#(o el doble o el triple)
#las descargas proseguirán a 5000 bytes/s

delay_parameters 2 5000/150000 5000/120000


#Ya hemos configurado antes el dı́a de 09:00 a 23:59.
delay_access 2 allow day
delay_access 2 deny !day
delay_access 2 allow magic_words2

72.6. Usuario squid


1. Creamos la carpeta y el usuario squid.
mkdir /cache
addgroup squid
useradd -d /cache/ -g squid -s /dev/null squid
2. Las carpetas /opt/squid y /cache perteneceran al usuario squid.
mkdir /var/log/squid/
chown squid:squid /var/log/squid/
chmod 770 /var/log/squid/
chown -R squid:squid /opt/squid/

Por Paco Aldarias 315/449


Linux

chown -R squid:squid /cache/

3. Cuando lo hagamos por primera vez tendremos que crear sus directorios de caché:
/opt/squid/sbin/squid -z

4. Arrancamos el squid.
/opt/squid/sbin/squid

72.7. Bibliografı́a
1. Limitar el ancho de banda COMO.
http://mural.uv.es/∼joferna/doc/Limitar-ancho-de-banda-COMO/html/index.html

Por Paco Aldarias 316/449


Linux

Capı́tulo 73

Control de trafico de red (QOS):


dslqosqueue

73.1. Introducción
Vamos a ver como dar prioridad en la conexión a internet según el tipo de servicio. Esto nos va a
permitir poder tener ciertos servicios una calidad de conexión adecuada.
El control se realiza sobre el tráfico saliente. Vamos a dar prioridades del 20 al 26. El 20 es la
máxima prioridad y la 26 es la menor prioridad.

Puertos Prioridad Comentario


0:1024 23 Default for low port traffic
20 26 ftp-data port, low prio
5190 23 aol instant messenger
icmp 20 ICMP (ping) - high prio, impress friends
udp 21 DNS name resolution (small packets)
ssh 22 secure shell
http 25 Local web server
64 21 small packets (probably just ACKs)
3389 23 windows remote computer connection
6346 26 Default for low port traffic

73.2. Requisitos
Desde consola como root:
apt-get install iptables

El kernel:
Activar iptables, ipqueue

73.3. Barjarse el archivo: dsl qos queue-0.7.tar.gz - v0.7


Localizado en:
http://www.sonicspike.net/software/
Descomprimierlo:

Por Paco Aldarias 317/449


Linux

tar xzpf dsl_qos_queue-0.7.tar.gz

Una vez descomprimido copiamos esto:

cp dsl_qos_queue/dsl_qos_queue /usr/bin/

73.4. Crear este script


Comprobar que la tarjeta de red q sale a internet es eth1, sino cambiarla por eth0 si fuera esta.
cat /etc/init.d/dslqos

#!/bin/bash
# add MYSHAPER-OUT chain to the mangle table in iptables - this sets up the table we’ll use
# to filter and mark packets.

DEV=eth1
CMD="/usr/local/bin/dsl_qos_queue -d -i $DEV -r 15900"

function cleanup(){
# Reset everything to a known state (cleared)
echo iptables -t mangle -D POSTROUTING -o $DEV -j MYSHAPER-OUT
iptables -t mangle -D POSTROUTING -o $DEV -j MYSHAPER-OUT 2> /dev/null > /dev/null

echo iptables -t mangle -F MYSHAPER-OUT


iptables -t mangle -F MYSHAPER-OUT 2> /dev/null > /dev/null

echo iptables -t mangle -X MYSHAPER-OUT


iptables -t mangle -X MYSHAPER-OUT 2> /dev/null > /dev/null
}

function install(){
echo iptables -t mangle -N MYSHAPER-OUT
iptables -t mangle -N MYSHAPER-OUT

iptables -t mangle -I POSTROUTING -o $DEV -j MYSHAPER-OUT


echo iptables -t mangle -I POSTROUTING -o $DEV -j MYSHAPER-OUT

echo -n "Set priorities..."


# add fwmark entries to classify different types of traffic - Set fwmark from 20-26 according to

Por Paco Aldarias 318/449


Linux

# desired class. 20 is highest prio.


iptables -t mangle -A MYSHAPER-OUT -p tcp --sport 0:1024 -j MARK --set-mark 23 # Default for low p
iptables -t mangle -A MYSHAPER-OUT -p tcp --dport 0:1024 -j MARK --set-mark 23 # ""
iptables -t mangle -A MYSHAPER-OUT -p tcp --dport 20 -j MARK --set-mark 26 # ftp-data port, low p
iptables -t mangle -A MYSHAPER-OUT -p tcp --dport 5190 -j MARK --set-mark 23 # aol instant messen
iptables -t mangle -A MYSHAPER-OUT -p icmp -j MARK --set-mark 20 # ICMP (ping) - high prio, impre
iptables -t mangle -A MYSHAPER-OUT -p udp -j MARK --set-mark 21 # DNS name resolution (small pack
iptables -t mangle -A MYSHAPER-OUT -p tcp --dport ssh -j MARK --set-mark 22 # secure shell
iptables -t mangle -A MYSHAPER-OUT -p tcp --sport ssh -j MARK --set-mark 22 # secure shell
#iptables -t mangle -A MYSHAPER-OUT -p tcp --dport telnet -j MARK --set-mark 22 # telnet (ew...)
#iptables -t mangle -A MYSHAPER-OUT -p tcp --sport telnet -j MARK --set-mark 22 # telnet (ew...)
#iptables -t mangle -A MYSHAPER-OUT -p ipv6-crypt -j MARK --set-mark 24 # IPSec - we dont know wh
iptables -t mangle -A MYSHAPER-OUT -p tcp --sport http -j MARK --set-mark 25 # Local web server
iptables -t mangle -A MYSHAPER-OUT -p tcp -m length --length :64 -j MARK --set-mark 21 # small pac
iptables -t mangle -A MYSHAPER-OUT -p tcp --sport 3389 -j MARK --set-mark 23 # windows remote com
iptables -t mangle -A MYSHAPER-OUT -m mark --mark 0 -j MARK --set-mark 26 # redundant- mark any u
iptables -t mangle -A MYSHAPER-OUT -p tcp --sport 6346 -j MARK --set-mark 26 # Default for low po
echo " done."

case "$1" in
start)
$CMD
cleanup
install
;;
stop|stop)
killall dsl_qos_queue
cleanup
;;
status)
iptables -t mangle -L
cat /proc/net/ip_queue
;;
restart)
killall dsl_qos_queue
sleep 1
$CMD
cleanup
install
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac

exit 0

Por Paco Aldarias 319/449


Linux

73.5. Arrancarlo
Desde consola como root:
chmod 700 dslqos.sh

Copiarlo al /etc/init.d/:
cp dslqos.sh /etc/init.d/
Ponerlo para q arranque siempre al inicio:
ln -s /etc/init.d/dslqos.sh /etc/rc2.d/S99dslqos.sh

Arrancarlo: /etc/init.d/dslqos.sh start

73.6. Comprobaciones
Ver el cortafuegos:
iptables -t mangle -L

Ver el estado de la cola:


cat /proc/net/ip queue

73.7. Bibliografia
1. 3.09 QoS (Quality of Service / Calidad de Servicio) por BocaDePez
http://www.bandaancha.st/documentos.php?docid=62

2. Qos para equilibra r tráfico por IP y limitar tráfico P 2P


http://guadawireless.net/modules.php?op=modload&name=News&file=article&sid=255

3. Enrutamiento avanzado y control de tráfico en Linux


http://www.gulic.org/comos/LARTC/lartc.html#AEN588

Por Paco Aldarias 320/449


Linux

Capı́tulo 74

Cosas útiles

74.1. Mantener un proceso al cerrar la terminal


Si quieres que no se muera un proceso, cuando cierres el terminal, se lanza con:

nohup mldonkey &

74.2. Para ver los directorios que cuelgan


Instalar:

apt-get install tree

Usos:

tree
tree carpeta
tree -dfi directorio

74.3. Una forma rapida de imprimir nuestros correos: mp


Esto es para cuentas imap. Coge todos los correos de /home/paco/Maildir/.hotmail/cur/ y genera
un fichero correo.ps

mp -a4 -postscript -organiser franklinp -columns 1 \


-left 80 \
/home/paco/Maildir/.hotmail/cur/* > ~/correo.ps

kghostview ~/correo.ps &

74.4. Configurar el entorno gráfico


xf86cfg -textmode

Por Paco Aldarias 321/449


Linux

74.5. Hacer que se abra y cierre el cdroom


eject /dev/cdrom; sleep 10s; eject -t /dev/cdrom

74.6. Dejar el sistema limpio


Esto permimte limpiar los ficheros desistalados:

dpkg --purge $(dpkg -l | grep ^rc | cut -d" " -f3)

74.7. Abrir varios entornos gráficos: startx


Suponiendo que estamos en el entorno gráfico normal de kde. Pulsamos control+alt+f2, se
abrirá un consola de texto, y ponemos:

startx -- :1

esto abrirá otro entorno grafico.


Para regresar al anterior pulsarmos: Pulsamos control+alt+f2, se abrirá un consola de texto, y
pulsarmos Alt + F7
Para regresar al anterior pulsarmos: Pulsamos control+alt+f2, se abrirá un consola de texto, y
pulsarmos Alt + F8

74.8. Saber la ip desde consola


INET_IP=‘/sbin/ifconfig eth0 | grep "inet addr:" | awk ’{print $2}’ | cut -c 6-‘
echo $INET_IP

Se puede tb saber la ip consultando una pagina web http://www.whatismyip.com/, y viendo la ip


que pone:
cat ip.sh

wget http://www.whatismyip.com/
INET_IP=‘cat index.html | grep "Your IP is" | awk ’{print $5}’ | cut -f1 -d "<"‘
echo $INET_IP

74.9. Comprobar el iso con el md5


El valor: md5sum -c fichero.iso
Debe coincidir con: fichero.md5.asc

74.10. Controlar máquinas con ip dinámica


Te creas una cadena propia para detectar las conexiones al servidor FTP:

iptables -N entradaftp

Por Paco Aldarias 322/449


Linux

Configuras el firewall para pasar las conexiones al servidor FTP por una cadena en especial:

iptables -t filter -A INPUT -i ppp0 -m tcp -p tcp --dport 21 -j entradaftp

En cron configuras un script que se ejecute cada x minutos:

*/5 * * * * root /usr/local/sbin/firewallftp.sh

Y el script que debes crear debe ser algo como:

#!/bin/bash
IPTABLES=/sbin/iptables
TABLA=entradaftp
AMIGOS="amigo1.no-ip.org amigo2.no-ip.org"

# Vaciamos las reglas antiguas


iptables -F $TABLA
for host in $AMIGOS
do
$IPTABLES -A $TABLA -s $host -j ACCEPT
done

Todo esto funciona si en INPUT tienes como regla por defecto DROP para evitar el ”pequeño”intervalo
de actualización que permitirı́a conexiones no deseadas.
Es un ejemplo. O cómo configuro nfs para permitirle montar mis particiones compartidas de forma
segura y fiable?
Puedes montar un servidor NIS por ejemplo. O usar lo mismo que antes para el FTP para NFS.

74.11. Cambiar la resilucion de imagenes jpg


Instalar:

apt-get install libjpeg-progs

Ejecutarlo:

djpeg < foo.jpg | cjpeg -quality 50 > bar.jpg

74.12. Saber si cambia una web


#!/bin/sh

URL=’http://ww1.msc.es/insalud/oposicionesytraslados/rrhh/consolidacion/puntuaSNF/ConsSNF_puntos.h
FICH_BASE=’base.html’
FICH_NUEVO=’nuevo.html’
MAIL=’manocfQUITA-ESTO@terra.es’

if [ -f $FICH_BASE ];
then
wget -q $URL -O $FICH_NUEVO
diff $FICH_BASE $FICH_NUEVO > /dev/null
if [ $? -ne 0 ];

Por Paco Aldarias 323/449


Linux

then

# Aviso por consola


#echo "¡La web a sido modificada!"

# Aviso con mensaje en las X


#xmessage -center "¡La web a sido modificada!"

# Aviso por correo


#echo "¡La web a sido modificada!" | mail $MAIL

mv -f $FICH_NUEVO $FICH_BASE
else
rm -f $FICH_NUEVO
fi
else
wget -q $URL -O $FICH_BASE
fi

74.13. Evitar lanzar un programa varias veces


#!/bin/sh
RUNFILE=/var/run/test.pid
if [ -e "$RUNFILE" ]; then
echo "$0: Ya estoy corriendo, para eliminar este mensaje ejecuta:\
kill ‘cat ${RUNFILE}‘"
exit 1
fi

trap "rm -f $RUNFILE" EXIT


echo "$$" > $RUNFILE
echo "$0: mátame para terminar este proceso.\
Soy el proceso: ‘cat ${RUNFILE}‘"
while (‘true‘); do
sleep 5
echo -n ’.’
done
exit 0

74.14. Para levantar algun demonio caido


PID=‘ps -uxcaw | grep ’named’ | awk ’{ print $2 }’‘

if [ "$PID" == "" ]; then


/usr/sbin/named
fi

74.15. Obtener el man de forma bonita


En modo texto
cat man.sh

Por Paco Aldarias 324/449


Linux

#!/bin/sh
ARGS=2
EXIT_BADARG=65

if [ $# != $ARGS ]
then
echo "Uso: ‘basename $0‘ pagina_de_manual archivo_de_texto"
exit $EXIT_BADARG
fi

MANPAGE=$1
TEXTO=$2
‘man $MANPAGE | col -xb > $TEXTO‘
ok=$?
if [ $ok != 0 ]
then
echo "Hubo un error. Nro de error $ok"
exit $ok
else
exit 0
fi
else
echo "No existe la pagina de manual de $MANPAGE"
exit 1
fi

En formato ps y pdf

man man | col -b | groff > resultado


gv resultado.ps
ps2pdf resultado.ps

En formato html con konqueror:

man:/man

74.16. Apagar el pc si no hay impresion ni usuarios


#!/bin/bash
LOG=/var/log/shutdown.auto
# obtener el numero de usuarios que hay usando el sistema
((NUMERO_USUARIOS = ‘users | wc -w‘))

((HAY_COLA_IMPRESION = ‘lpq | grep -i "no entries" | wc -l‘ == 0))


# tenemos un cero si la cola está vacia

echo Numero de usuarios en el sistema: $NUMERO_USUARIOS


echo Hay trabajos en la cola de impresión: $HAY_COLA_IMPRESION

apagar() (
echo apagado automático del sistema / ‘date‘ / >> $LOG
halt
)

((NUMERO_USUARIOS <= 0)) && ((HAY_COLA_IMPRESION <= 0)) && apagar >> $LOG

Por Paco Aldarias 325/449


Linux

Capı́tulo 75

Controlar el disco duro usado:


quota

75.1. Introducción
Vamos a ver como se instalan las quotas de disco. Esto va a permitir que un usuario o grupo no
pueda usar mas disco que el q se le permita.

75.2. El núcleo debe soportar quotas


La opción de quotas debe de estar activada en el núcleo.
Desde consola como root:

dmesg | grep quota


VFS: Diskquotas version dquot_6.4.0 initialized

75.3. Instalar el software: quota


Desde consola como root:

apt-get install quota

75.4. Indicar que se usan quotas


Desde consola como root:

/dev/hda4 /home ext2 defaults,grpquota 0 2

Crear estos archivos:

touch /home/quota.group
touch /home/quota.user

Por Paco Aldarias 326/449


Linux

75.5. Informe de cuotas


repquota -a

75.6. Mantenimiento
quotacheck -avug

75.7. Activación y desactivación de cuotas


Desactiva las quotas:

quotaoff -vaug

Activar las quotas:

quotaon -vaug

75.8. Editar la cuota


Para editar la cuota del grupo alumnos:

edquota -g alumnos

75.9. Bibliografı́a
Aprende a limitar el espacio en disco duro a tus usuarios y evitar que tu red se quede sin
recursos.
http://diariolinux.com/phorum/list.php?f=10&PHPSESSID=e32e956a17eaf2adb196a03a17df8fbe&spag=
3

Articulo. http://www.linuxlots.com/∼barreiro/spain/cuota-3.html

Articulo. Redhat. http://www.europe.redhat.com/documentation/rhl9/rhl-cg-es-9/s1-disk-quotas-man


php3

Por Paco Aldarias 327/449


Linux

Capı́tulo 76

Activar teclas especiales del


teclado inhalámbrico: Cordeless
iTooch Keyboard de Logitech:
lineakd

76.1. Versión
26.03.04 Inicial

76.2. Introducción
indexlineakd indexconfigurar teclas
Vamos a ver como configurar las teclas especiales, que dispone mi teclado inhalámbrico: Corde-
less iTooch Keyboard de Logitech.
Para ello usaremos el programa lineakd. Estos datos se han probado con debian sarge

76.3. Instalar
Como usuario root, y desde consola:

apt-get install lineakd

76.4. Configurarlo
Como usuario root, y desde consola:

lineakd -b LTCiT

Esto creará un fichero en .lineak/lineakd.conf


Nota podemos ver los modelos de teclado con:

lineakd -l

Por Paco Aldarias 328/449


Linux

76.5. Adaptarlo a nuestro gusto


Editaremos el fichero asi:
nano .lineak/lineakd.conf

KeyboardType = LTCiT
CdromDevice = /dev/cdrom
MixerDevice = /dev/mixer
Screensaver = _null_
XOSD_font = -adobe-helvetica-bold-r-normal-*-*-240-*-*-p-*-*-*
XOSD_color = 0aff00
XOSD_timeout = 3
XOSD_pos = bottom
XOSD_align = center
XOSD_hoffset = 0
XOSD_voffset = 50
XOSD_soffset = 1

Favorites =
Home = "konqueror /wind/paginas/pacodebian/index.html"
Mail = "kmail"
Mute = "EAK_MUTE"
Next = "xmms -f"
Play|Pause = "xmms -t"
Previous = "xmms -r"
Search = "konqueror http://www.google.com/"
Sleep = "dcop ksmserver ksmserver logout 0 0 0"
Stop = "xmms -s"
VolumeDown = "EAK_VOLDOWN"
VolumeUp ="EAK_VOLUP

76.6. Lanzarlo o Ponerlo en marcha


Desde consola como usuario normal:

lineakd

76.7. Teclado Genius: Comfy KB-19e


Fichero: /usr/share/lineakd/lineakkb.def
[GENKB-19E-NB]
brandname="genius"
modelname="Slim KB-19e NB"
[KEYS]
# First row
WebBack = 234
WebForward = 233
WebStop = 232
WebRefresh = 231
WebSearch = 229
My Favorites = 230

Por Paco Aldarias 329/449


Linux

HomePage = 178
EMail = 236
Calculator = 161
Screensaver = 235
Sleep = 223
# Second Row
MediaPlayer = 237
Mute = 160
VolumeUp = 176
VolumeDown = 174

Play|Pause = 162
Stop = 164
Rewind = 144
Foward = 153
[END KEYS]
[END GENKB-19E-NB]

Fichero: $HOME/nano .lineak/lineakd.conf

/home/paco/.lineak/lineakd.conf
KeyboardType = GENKB-19E-NB

CdromDevice = /dev/cdrom
Display_align = center
Display_color = 0aff00
Display_font = -adobe-helvetica-bold-r-normal-*-*-240-*-*-p-*-*-*
Display_hoffset = 0
Display_plugin = internal
Display_pos = bottom
Display_soffset = 1
Display_timeout = 3
Display_voffset = 50
KeyboardType = LTCiT
MixerDevice = /dev/mixer
Screensaver =
conffilename = /home/paco/.lineak/lineakd.conf
keystate_capslock =
keystate_numlock =
keystate_scrolllock =

Favorites = "konqueror /var/www/mrtg/index.html"


Home = "konqueror /wind/pacodebian/index.html"
Mail = "kmail"
Mute = "EAK_MUTE"
Next = "xmms -f"
Play|Pause = xmms --play-pause"
Previous = "xmms -r"
Search = "konqueror http://www.google.com/"
Sleep = "dcop ksmserver ksmserver logout 0 0 0"
Stop = "xmms -s"
VolumeDown = "EAK_VOLDOWN"
VolumeUp = "EAK_VOLUP

Por Paco Aldarias 330/449


Linux

76.8. KDE bloquea lineak


Ir al menú: Inicio - Regional y Accesibilidad - Disposición de Teclado - Opciones Xkb
Desactivarlo

76.9. Bibliografı́a
1. Las teclas extra todavia más fácil:
http://bulma.net/body.phtml?nIdNoticia=1550

2. Lineak http://www.themoreiknow.info/R3000Z web/

Por Paco Aldarias 331/449


Linux

Capı́tulo 77

Enviar correos desde la consola:


mail

77.1. Introducción
Vamos a ver como enviar correo desde la consola

77.2. Envio Simple


echo Cuerpo del mensaje | mail -s Encabezado paco@servidor.es

77.3. Envio de un fichero de texto


cat fichero.txt | mail -s Encabezado paco@servidor.es

Aquı́ el fichero se incluye como cuerpo del documento

77.4. Envio de un fichero binario

77.4.1. Usando uuencode

uuencode foo.jpg < foo.jpg | mail -s Encabezado paco@servidor.es

o también

uuencode fichero.pdf fichero.pdf | mail -s Encabezado paco@servidor.es

o también

echo Hola | uuencode archivo | mail -s Asunto bla@bla.com

Por Paco Aldarias 332/449


Linux

77.4.2. Usando Usando BASE64

mmencode < foo.jpg | mail -s foo paco@servidor.es

BASE64 encapsularlos en un mensaje MIME:

metasend -F ’yo@aqui.es’ \
-t ’el@ahi.es’ \
-c ’ella@alla.es’ \
-f foo.jpg -e base64 -m image/jpeg -D ’Mi foto’

77.5. Una forma rapida de imprimir nuestros correos: mp


Esto es para cuentas imap. Coge todos los correos de /home/paco/Maildir/.hotmail/cur/ y genera
un fichero correo.ps

mp -a4 -postscript -organiser franklinp -columns 1 \


-left 80 \
/home/paco/Maildir/.hotmail/cur/* > ~/correo.ps

kghostview ~/correo.ps &

77.6. Enviar indicando con una direccion From


echo "Cuerpo" | mail -s Encabezado -a ’From: Mi nombre <paco@inventado.es>’ \
usuario@destino.es

77.7. Enviar n mensajes de correo


Vamos a ver la forma de enviar n mesajes a un email:
Veamos el script:

echo Ejempplo: ./mailbucle.sh 10 spam@hotmail.com


echo enviando $1 mensajes a $2
for i in ‘seq 1 $1‘;
do
#echo "SPAMMMMMMMMMMMMMMMM" | mail -s "" paco
mail -u usuario -s "encabezado" $2 < kk.txt

Siendo kk.txt el fichero q se envia.

77.8. Enviar un email a todos los usuarios del sistema


Podria se ası́:

for user in $(dir /home); do cat texto.txt | mail -s "hola"

O ası́:

Por Paco Aldarias 333/449


Linux

for i in ‘ls -1 /home‘


do
cat fichero.txt | mail -s "subject" $i -
done

Por Paco Aldarias 334/449


Linux

Capı́tulo 78

Busquedas de páginas en tu
servidor web: htdig

78.1. Introducción
Htdig es ”WWW Search Engine Software.es decir un motor de búsqueda de páginas web.
Vamos a ver la forma de poder tener un buscador de ficheros o páginas web, dentro de nuestro
propio servidor web. Para ello usaremos htdig
El objetivo es poder poner un texto y busque en nuestra web (o otra web) aquellas páginas o
ficheros que contengan dicho texto.
La página http://bulma.net/htdig/ usa este tipo de software para las busquedas.

78.2. Requisitos
Tener instalado el servidor apache.

78.3. Instalación
Desde consola como usuario root:

apt-get install htdig

78.4. Configuración
Desde consola como usuario root, editaremos el fichero: nano /etc/htdig/htdig.conf
Deberemos poner la dirección de nuestra web aquı́:

start_url: http://aldarias.dyndns.org/paginas/

78.5. Crear un fichero de páginas


Para el fichero htdig.txt con las páginas q me interesan

Por Paco Aldarias 335/449


Linux

find /var/www/paginas/ -type f -name \*.html -print | sed -e ’s| /var/www/paginas | http://127

78.6. Inicializar la base de datos


Desde consola como usuario root:

htdig -v -s htdig.txt

78.7. Uso
Abriremos el buscador ası́:
http://127.0.0.1/search.html

78.8. Bibliografı́a
1. Web Oficial http://www.htdig.org

Por Paco Aldarias 336/449


Linux

Capı́tulo 79

Foros de Discusión: Phpbb2

79.1. Introducción
Vamos a ver como se crea un foro de discusión
Para ello usaremos el foro phpbb.
El foro también permite:

1. Poner encuestas.

2. Envio masivo de correo.

3. Censurar palabras y usuarios.

4. Permite españolizar el foro

79.2. Requisitos
Tener instalado el servidor web apache, php, mysql

79.3. Instalación
Desde consola como root:

apt-get install phpbb2 phpbb2-languages phpbb2-conf-mysql

El software instalado es:

dpkg -l | grep phpbb


ii phpbb2 2.0.6d-3 A fully featured and skinneable flat (non-th
ii phpbb2-conf-my 2.0.6d-3 Automatic configurator for phpbb2 on MySQL d
ii phpbb2-languag 2.0.6d-3 phpBB2 additional languages

79.4. Entrar al foro


http://127.0.0.1/phpbb

Por Paco Aldarias 337/449


Linux

Pincharemos en: Ir al panel de administración


Usuario: Admin Password: Admin
Una vez dentro debemos cambiar el password de Admin
Ir a Administración General - Configuración: Elegir el idioma español.

79.5. Bibliografı́a
1. Página oficial http://www.phpbb.com/

Por Paco Aldarias 338/449


Linux

Capı́tulo 80

La radio por internet: icecast

80.1. Introducción
Veamos como se monta un radio por internet, o también llamado audio streamming.
Usaremos el programa icecast.
icecast-server (icecast) se lanza primero este premite recoger el audio q se desea oir.
icecast-client (shout) se lanza despues con lo q queremos q se oiga.

80.2. Instalación
apt-get install icecast-server icecast-client

Software instalado:

dpkg -l | grep icecast


ii icecast-client 1.4.0-4.2 Streaming Mpeg Layer III feeder
ii icecast-server 1.3.12-7 MPEG Layer III Streaming Server

80.3. icecast-server

80.3.1. Configurarlo /etc/icecast/icecast.conf

cat /etc/icecast/shout.conf

80.3.2. Generar el password encriptado

Linux debian, con apt, instala icecast con encriptación de password. Debemos generar las claves
y pegarlas.

makepasswd mipassword

80.3.3. Lanzar icecast-server

icecast

Por Paco Aldarias 339/449


Linux

80.4. icecast-client

80.4.1. Indicarle el audio que queremos oir

Nuestros ficheros se encuentra en /wind/mp3/:

find /wind/mp3/ -name "*.mp3" > /etc/icecast/mp3.playlist

80.4.2. /etc/icecast/shout.conf

server_name aldarias.dyndns.org
port 8000
password mipassword
mount mp3

name Radio_Paco_Linux
desc La mejor musica
genre Todo tipo de musica
url http://aldarias.dyndns.org
public yes

short_titles yes
title_streaming yes
id3 no
autocorrect yes

playlist mp3.playlist
loop yes
shuffle no

autodetect yes
default_bitrate 128000
force yes

daemon no
verbose yes

80.4.3. Lanzar icecast-client

/usr/bin/shout
otra forma seria, sin usar el fichero de configuracion:

shout aldarias.dyndns.org -e 8001 -P mipassword -l /wind/mp3/way/*

80.5. Acceso por web al administrador


http://127.0.0.1:8000/admin

Por Paco Aldarias 340/449


Linux

80.6. Ponerse a escuchar la radio


Entrar al xmms, y pulsar CTRL+L, y escribir http://miusuario:mipassword@127.0.0.1:8000/
mp3

80.7. Bibliografı́a
1. Manual Icecast-server
/usr/share/doc/icecast-server/html/manual.html

2. Montar una radio con icecast


http://cv.uoc.edu/∼g031 00 010 45 04 w01/PAC3/taller.html

3. Streaming-en-Linux-HOWTO V0.3
http://www.lugmen.org.ar/proyectos/multimedios/material/transmision-audio.html

Por Paco Aldarias 341/449


Linux

Capı́tulo 81

La hora en linux: ntp,date

81.1. Introducción
Vamos a ver como poner en hora nuestro pc
Opciones:
hwclock. Cambia la hora del hardware
date, ntdate. Cambia la hora de linux.

81.2. Si la hora q no se ajusta a la local


Editar el fichero:

nano /etc/default/rcS
Cambiar esto: UTC=no

Ejecutar:

/etc/init.d/hwclock.sh reload

81.3. Instalación
apt-get install ntp ntpdoc

81.4. Puesta en hora desde kde


Pulsar sobre el reloj, eleguir puesta en hora

81.5. Puesta en hora desde consola


Nos dice la hora asi:
date

Por Paco Aldarias 342/449


Linux

Como root desde cambiamos la hora ası́: date -s hh:mm:ss


date -s 18:35:00

81.6. Actualizar la hora por internet (ntp-client)


Desde consola como root, usando la red de horas:

ntpdate -u es.pool.ntp.org

Desde consola como root, desde un servidor:

ntpdate -u hora.rediris.es

Para q al arrancar ponga la hora:


nano /etc/init.d/ntpdate

NTPSERVERS="hora.uam.es hora.uniovi.es hora.uv.es hora.rediris.es chronos.bulma.net ntp.obspm.fr

81.7. Dar la hora (ntp-server)


NTP Network Time Protocol
/etc/ntp.conf

logfile /var/log/ntpd
driftfile /var/lib/ntp/ntp.drift
statsdir /var/log/ntpstats/

#statistics loopstats peerstats clockstats


filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

server chronos.bulma.net
server ntp.obspm.fr
server ntp.cs.strath.ac.uk
server hora.uam.es
server hora.uniovi.es
server hora.uv.es
server hora.rediris.es

81.8. Bibliografia
1. Web oficial ntp:
http://www.ntp.org/
2. NTP. Sincroniza tu reloj con NTP
http://bulma.net/body.phtml?nIdNoticia=408

3. http://www.esdebian.org/article.php?story=20020531130256361

Por Paco Aldarias 343/449


Linux

4. NTP. Ponemos en hora nuestro sistema


http://bulma.net/body.phtml?nIdNoticia=1778

5. En Hora mini-COMO
http://es.tldp.org/COMO-INSFLUG/COMOs/En-Hora-Como/En-Hora-Como.html#toc2

Por Paco Aldarias 344/449


Linux

Capı́tulo 82

Eliminar el virus nimbda del


servidor apache

82.1. Introducción
El virus nimba intenta propagarse por la red. Infecta los servidores web de mocosoft, el llamado
Internet Information Server (IIS)

82.2. Como se propaga


Veamos un trozo del log de apache: /var/log/http/access

217-127-85-207.uc.nombres.ttd.es - - [02/Jun/2002:06:28:15 +0200] "GET /scripts/..%25%35%63../winn

217-127-85-207.uc.nombres.ttd.es - - [02/Jun/2002:06:28:19 +0200] \


"GET /scripts/..%252f../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 404 6

217-127-250-172.uc.nombres.ttd.es - - [02/Jun/2002:17:51:59 +0200] \


"GET /scripts/root.exe?/c+dir HTTP/1.0" 404 6

217-127-250-172.uc.nombres.ttd.es - - [02/Jun/2002:17:52:09 +0200] \


"GET /MSADC/root.exe?/c+dir HTTP/1.0" 404 6

217-127-250-172.uc.nombres.ttd.es - - [02/Jun/2002:17:52:19 +0200] \


"GET /c/winnt/system32/cmd.exe?/c+dir HTTP/1.0" 404 6

217-127-250-172.uc.nombres.ttd.es - - [02/Jun/2002:17:52:29 +0200] \


"GET /d/winnt/system32/cmd.exe?/c+dir HTTP/1.0" 404 6

217-127-250-172.uc.nombres.ttd.es - - [02/Jun/2002:17:52:37 +0200] \


"GET /scripts/..%255c../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 404 6

217-127-250-172.uc.nombres.ttd.es - - [02/Jun/2002:17:52:45 +0200] \


"GET /_vti_bin/..%255c../..%255c../..%255c../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 404 6

217-127-250-172.uc.nombres.ttd.es - - [02/Jun/2002:17:52:54 +0200] "GET /_mem_bin/..%255c../..%255

217-127-250-172.uc.nombres.ttd.es - - [02/Jun/2002:17:53:02 +0200] "GET /msadc/..%255c../..%255c..

Por Paco Aldarias 345/449


Linux

HTTP/1.0" 404 6

217-127-250-172.uc.nombres.ttd.es - - [02/Jun/2002:17:53:11 +0200] "GET /scripts/..%c1%1c../winnt/

82.3. Como solucionarlo


Revisando este fichero y filtrando estas maquinas con el cortafuegos.

82.4. Como se filtran las ips


Haciendo este script q lo q hace es revisar el log de apache /var/log/httpd/access log buscando
las cadenas q lo identifican y generar un fichero llamado /etc/nat/intrusos.txt

++++++Inicio script +++++++++++++++++++++++++++++++++


echo [*] Elimnado Nimbda
echo [+] Por Paco Aldarias
echo [+] Realizado el 8.6.02
echo [+] /etc/nat/nimba.txt

fl=/var/log/httpd/access_log
fi=/etc/nat/intrusos.txt

for i in ‘grep msadc $fl | cut -f1 -d’ ’ | sort | uniq | xargs echo‘; do
echo $i >> $fi
echo [+] Pasado $i a $fi
done

for i in ‘grep default.ida $fl | cut -f1 -d’ ’ | sort | uniq | xargs echo‘; do
echo $i >> etc/nat/intrusos.txt
echo [+] Pasado $i a $fi
done

ft=/etc/nat/temp.txt
echo [*] Quitando repetidos de $fl
for i in ‘cat $fi | sort | uniq | cut -f12 -d ’,’ | xargs echo‘; do
echo $i >> $ft
echo [+] Pasando $i a $ft
done
cp $ft $fi
cat $fi
rm $ft
++++++++++++++++++++ fin script +++++++++++++++++++

82.5. Como hacer q el cortafuegos cierre el paso a esas ma-


quinas
Añadiendo al cortafuegos este script:

Por Paco Aldarias 346/449


Linux

++++++++++++++++++++++ inicio parte del script /etc/rc.d/nit.d/nat *****************


fich=/etc/nat/intrusos.txt
cf=/sbin/iptables
idsl=eth0
echo [*] Bloqueando maquina no confiables fichero $fich

for linea in $(cat $fich); do


echo [-] $cf -A INPUT -i $iadsl -s $linea -j DROP;
$cf -A INPUT -i $iadsl -s $linea -j DROP;
done
++++++++++++++++++++++++ fin script ++++++++++++++++++++++++++++++++++++++++++

82.6. Text del virus nimba


http://www.securityspace.com/smysecure/w32 nmda amm.html
Nota: Se pueden añadir al ficheros intrusos txt, las ips molestas, q las bloqueara tambien.

Por Paco Aldarias 347/449


Linux

Capı́tulo 83

Detectar y bloquear escaneos:


portsentry

83.1. Introducción
Portsentry detecta y bloquea las máquinas que escanean la nuestra.
Dicho en ingles es un ”Portscan detection daemon”.
Porsentry se pone en marcha como demonio.

83.2. Instalación
apt-get install portsentry

Paquetes q instalados:

dpkg -l | grep portsentry


ii portsentry 1.2-4 Portscan detection daemon

83.3. Ficheros de configuración: /etc/portsentry/portsentry.ignore


Fichero de ips que no bloqueará. Son las ips de confianza

83.4. Ficheros de configuración: /etc/portsentry/portsentry.conf


Debemos revisarlo y adaptarlo a nuestro gusto.
Está muy bien explicado.
Un ejemplo se puede ver aqui:
portsentry.conf
# PortSentry Configuration
#
# $ I d : p o r t s e n t r y . c o n f . Debian , v 1 . 6 2001/07/19 2 1 : 0 2 : 2 0 agx Exp $
#

Por Paco Aldarias 348/449


Linux

# O r i g i n a l p o r t s e n t r y . c o n f by C r a i g H . Rowland <crowland@psionic . com>


# m o d i f i e d f o r Debian by Guido Guenther <agx@debian . org>
#
# IMPORTANT NOTE: You CAN NOT p u t spaces between your p o r t arguments .
#
# The d e f a u l t p o r t s w i l l c a t c h a l a r g e number o f common probes
#
# A l l e n t r i e s must be i n quotes .

#######################
# Port Configurations #
#######################
#
#
# Some example p o r t c o n f i g s f o r c l a s s i c and b a s i c S t e a l t h modes
#
# I l i k e t o always keep some p o r t s a t t h e ” low ” end o f t h e spectrum .
# T h i s w i l l d e t e c t a s e q u e n t i a l p o r t sweep r e a l l y q u i c k l y and u s u a l l y
# these p o r t s are n o t i n use ( i . e . tcpmux p o r t 1 )
#
# ∗∗ X−Windows Users ∗ ∗ : I f you are r u n n i n g X on your box , you need t o be sure
# you are n o t b i n d i n g P o r t S e n t r y t o p o r t 6000 ( o r p o r t 2000 f o r OpenWindows users ) .
# Doing so w i l l p r e v e n t t h e X−c l i e n t from s t a r t i n g p r o p e r l y .
#
# These p o r t b i n d i n g s are ∗ i g n o r e d ∗ f o r Advanced S t e a l t h Scan D e t e c t i o n Mode .
#

# Un−comment these i f you are r e a l l y a n a l :


#TCP PORTS=”1 ,7 ,9 ,11 ,15 ,70 ,79 ,80 ,109 ,110 ,111 ,119 ,138 ,139 ,143 ,512 ,513 ,514 ,515 ,540 ,635 ,10
#UDP PORTS=”1 ,7 ,9 ,66 ,67 ,68 ,69 ,111 ,137 ,138 ,161 ,162 ,474 ,513 ,517 ,518 ,635 ,640 ,641 ,666 ,700 ,2
#
# Use these i f you j u s t want t o be aware :
TCP PORTS=”1 ,11 ,15 ,79 ,540 ,635 ,1080 ,1524 ,2000 ,5742 ,6667 ,12345 ,12346 ,20034 ,27665 ,31337 ,3
UDP PORTS=”1 ,7 ,9 ,69 ,161 ,162 ,513 ,635 ,640 ,641 ,700 ,37444 ,34555 ,31335 ,32770 ,32771 ,32772 ,32
#
# Use these f o r j u s t bare−bones
#TCP PORTS=”1 ,11 ,15 ,110 ,111 ,143 ,540 ,635 ,1080 ,1524 ,2000 ,12345 ,12346 ,20034 ,32771 ,32772 ,3
#UDP PORTS=”1 ,7 ,9 ,69 ,161 ,162 ,513 ,640 ,700 ,32770 ,32771 ,32772 ,32773 ,32774 ,31337 ,54321”

###########################################
# Advanced S t e a l t h Scan D e t e c t i o n Options #
###########################################
#
# T h i s i s t h e number o f p o r t s you want P o r t S e n t r y t o m o n i t o r i n Advanced mode .
# Any p o r t ∗ below ∗ t h i s number w i l l be monitored . R i g h t now i t watches
# e v e r y t h i n g below 1024.
#
# On many L i n u x systems you cannot b i n d above p o r t 61000. T h i s i s because
# these p o r t s are used as p a r t o f IP masquerading . I don ’ t recommend you
# b i n d over t h i s number o f p o r t s . R e a l i s t i c a l l y : I DON’ T RECOMMEND YOU MONITOR
# OVER 1024 PORTS AS YOUR FALSE ALARM RATE WILL ALMOST CERTAINLY RISE . You ’ ve been
# warned ! Don ’ t w r i t e me i f you have have a problem because I ’ l l o n l y t e l l
# you t o RTFM and don ’ t run above t h e f i r s t 1024 p o r t s .
#
#

Por Paco Aldarias 349/449


Linux

ADVANCED PORTS TCP=”1024”


ADVANCED PORTS UDP=”1024”
#
# T h i s f i e l d t e l l s P o r t S e n t r y what p o r t s ( besides l i s t e n i n g daemons ) t o
# i g n o r e . T h i s i s h e l p f u l f o r s e r v i c e s l i k e i d e n t t h a t s e r v i c e s such
# as FTP , SMTP, and wrappers l o o k f o r b u t you may n o t run ( and p r o b a b l y
# ∗ shouldn ’ t ∗ IMHO ) .
#
# By s p e c i f y i n g p o r t s here P o r t S e n t r y w i l l s i m p l y n o t respond t o
# incoming requests , i n e f f e c t P o r t S e n t r y t r e a t s them as i f t h e y are
# a c t u a l bound daemons . The d e f a u l t p o r t s are ones r e p o r t e d as
# p r o b l e m a t i c f a l s e alarms and should p r o b a b l y be l e f t alone f o r
# a l l b u t t h e most i s o l a t e d systems / networks .
#
# D e f a u l t TCP i d e n t and NetBIOS s e r v i c e
ADVANCED EXCLUDE TCP=”113 ,139 ,9999”
# D e f a u l t UDP r o u t e ( RIP ) , NetBIOS , bootp b r o a d c a s t s .
ADVANCED EXCLUDE UDP=”520 ,138 ,137 ,67”

######################
# Configuration Files#
######################
#
# Hosts t o i g n o r e
IGNORE FILE = ” / e t c / p o r t s e n t r y / p o r t s e n t r y . i g n o r e ”
# Hosts t h a t have been denied ( r u n n i n g h i s t o r y )
HISTORY FILE = ” / v a r / l i b / p o r t s e n t r y / p o r t s e n t r y . h i s t o r y ”
# Hosts t h a t have been denied t h i s s e s s i o n o n l y ( temporary u n t i l n e x t r e s t a r t )
BLOCKED FILE = ” / v a r / l i b / p o r t s e n t r y / p o r t s e n t r y . blocked ”

##############################
# Misc . C o n f i g u r a t i o n Options #
##############################
#
# DNS Name r e s o l u t i o n − S e t t i n g t h i s t o ” 1 ” w i l l t u r n on DNS lookups
# f o r a t t a c k i n g h o s t s . S e t t i n g i t t o ” 0 ” ( o r any o t h e r v a l u e ) w i l l s h u t
# i t off .
RESOLVE HOST = ” 0 ”

###################
# Response Options #
###################
# Options t o dispose o f a t t a c k e r . Each i s an a c t i o n t h a t w i l l
# be run i f an a t t a c k i s d e t e c t e d . I f you don ’ t want a p a r t i c u l a r
# o p t i o n then comment i t o u t and i t w i l l be skipped .
#
# The v a r i a b l e $TARGET$ w i l l be s u b s t i t u t e d w i t h t h e t a r g e t a t t a c k i n g
# h o s t when an a t t a c k i s d e t e c t e d . The v a r i a b l e $PORT$ w i l l be s u b s t i t u t e d
# w i t h t h e p o r t t h a t was scanned .
#
##################
# I g n o r e Options #
##################
# These o p t i o n s a l l o w you t o enable a u t o m a t i c response
# o p t i o n s f o r UDP/ TCP . T h i s i s u s e f u l i f you j u s t want

Por Paco Aldarias 350/449


Linux

# warnings f o r connections , b u t don ’ t want t o r e a c t f o r


# a p a r t i c u l a r p r o t o c o l ( i . e . you want t o b l o c k TCP, b u t
# n o t UDP ) . To p r e v e n t a p o s s i b l e D e n i a l o f s e r v i c e a t t a c k
# a g a i n s t UDP and s t e a l t h scan d e t e c t i o n f o r TCP, you may
# want t o d i s a b l e b l o c k i n g , b u t l e a v e t h e warning enabled .
# I p e r s o n a l l y would w a i t f o r t h i s t o become a problem b e f o r e
# doing though as most a t t a c k e r s r e a l l y aren ’ t doing t h i s .
# The t h i r d o p t i o n a l l o w s you t o run j u s t t h e e x t e r n a l command
# i n case o f a scan t o have a pager s c r i p t o r such execute
# b u t n o t drop t h e r o u t e . T h i s may be u s e f u l f o r some admins
# who want t o b l o c k TCP, b u t o n l y want pager / e−m a i l warnings
# on UDP, e t c .
#
#
# 0 = Do n o t b l o c k UDP/ TCP scans .
# 1 = Block UDP/ TCP scans .
# 2 = Run e x t e r n a l command o n l y ( KILL RUN CMD )

BLOCK UDP= ” 1 ”
BLOCK TCP= ” 1 ”

###################
# Dropping Routes : #
###################
# T h i s command i s used t o drop t h e r o u t e o r add t h e h o s t i n t o
# a local f i l t e r table .
#
# The gateway ( 3 3 3 . 4 4 4 . 5 5 5 . 6 6 6 ) should i d e a l l y be a dead h o s t on
# t h e ∗ l o c a l ∗ subnet . On some h o s t s you can a l s o p o i n t t h i s a t
# l o c a l h o s t ( 1 2 7 . 0 . 0 . 1 ) and g e t t h e same e f f e c t . NOTE THAT
# 333.444.555.66 WILL ∗NOT∗ WORK. YOU NEED TO CHANGE I T ! !
#
# ALL KILL ROUTE OPTIONS ARE COMMENTED OUT INITIALLY . Make sure you
# uncomment t h e c o r r e c t l i n e f o r your OS. I f you OS i s n o t l i s t e d
# here and you have a r o u t e drop command t h a t works then please
# m a i l i t t o me so I can i n c l u d e i t . ONLY ONE KILL ROUTE OPTION
# CAN BE USED AT A TIME SO DON’ T UNCOMMENT MULTIPLE LINES .
#
# NOTE: The r o u t e commands are t h e l e a s t o p t i m a l way o f b l o c k i n g
# and do n o t p r o v i d e complete p r o t e c t i o n a g a i n s t UDP a t t a c k s and
# w i l l s t i l l generate alarms f o r both UDP and s t e a l t h scans . I
# always recommend you use a packet f i l t e r because t h e y are made
# f o r t h i s purpose .
#

# Generic
#KILL ROUTE = ” / s b i n / r o u t e add $TARGET$ 3 3 3 . 4 4 4 . 5 5 5 . 6 6 6 ”

# Generic L i n u x
#KILL ROUTE = ” / s b i n / r o u t e add −h o s t $TARGET$ gw 3 3 3 . 4 4 4 . 5 5 5 . 6 6 6 ”

# Newer v e r s i o n s o f L i n u x s u p p o r t t h e r e j e c t f l a g now . T h i s
# i s c l e a n e r than t h e above o p t i o n .
KILL ROUTE = ” / s b i n / r o u t e add −h o s t $TARGET$ r e j e c t ”

# Generic BSD ( BSDI , OpenBSD, NetBSD , FreeBSD )

Por Paco Aldarias 351/449


Linux

#KILL ROUTE = ” / s b i n / r o u t e add $TARGET$ 3 3 3 . 4 4 4 . 5 5 5 . 6 6 6 ”

# Generic Sun
#KILL ROUTE = ” / u s r / s b i n / r o u t e add $TARGET$ 333.444.555.666 1 ”

# NEXTSTEP
#KILL ROUTE = ” / u s r / e t c / r o u t e add $TARGET$ 1 2 7 . 0 . 0 . 1 1 ”

# FreeBSD
#KILL ROUTE =” r o u t e add −n e t $TARGET$ −netmask 255.255.255.255 1 2 7 . 0 . 0 . 1 −b l a c k h o l e ”

# D i g i t a l UNIX 4 . 0D (OSF/ 1 / Compaq Tru64 UNIX )


#KILL ROUTE = ” / s b i n / r o u t e add −h o s t −b l a c k h o l e $TARGET$ 1 2 7 . 0 . 0 . 1 ”

# Generic HP−UX
#KILL ROUTE = ” / u s r / s b i n / r o u t e add n e t $TARGET$ netmask 2 5 5 . 2 5 5 . 2 5 5 . 0 1 2 7 . 0 . 0 . 1 ”

##
# Using a packet f i l t e r i s t h e PREFERRED. The below l i n e s
# work w e l l on many OS’ s . Remember , you can o n l y uncomment ∗one∗
# KILL ROUTE o p t i o n .
##

# ipfwadm s u p p o r t f o r L i n u x
#KILL ROUTE = ” / s b i n / ipfwadm − I − i deny −S $TARGET$ −o ”
#
# ipfwadm s u p p o r t f o r L i n u x ( no l o g g i n g o f denied packets )
#KILL ROUTE = ” / s b i n / ipfwadm − I − i deny −S $TARGET$”
#
# ipchain support f o r Linux
#KILL ROUTE = ” / s b i n / i p c h a i n s − I i n p u t −s $TARGET$ − j DENY − l ”
#
# i p c h a i n s u p p o r t f o r L i n u x ( no l o g g i n g o f denied packets )
#KILL ROUTE = ” / s b i n / i p c h a i n s − I i n p u t −s $TARGET$ − j DENY”
#
# i p t a b l e s support f o r Linux
#KILL ROUTE = ” / s b i n / i p t a b l e s − I INPUT −s $TARGET$ − j DROP”
#
# i p t a b l e s s u p p o r t f o r L i n u x w i t h l i m i t and LOG s u p p o r t . Logs o n l y
# a l i m i t e d number o f packets t o a v o i d a d e n i a l o f s e r v i c e a t t a c k .
# KILL ROUTE = ” / s b i n / i p t a b l e s − I INPUT −s $TARGET$ − j DROP && / s b i n / i p t a b l e s − I INPUT −
#
# For those o f you r u n n i n g FreeBSD ( and c o m p a t i b l e ) you can
# use t h e i r b u i l t i n f i r e w a l l i n g as w e l l .
#
#KILL ROUTE = ” / s b i n / i p f w add 1 deny a l l from $TARGET$: 2 5 5 . 2 5 5 . 2 5 5 . 2 5 5 t o any ”
#
#
# For those r u n n i n g i p f i l t ( OpenBSD, e t c . )
# NOTE THAT YOU NEED TO CHANGE e x t e r n a l i n t e r f a c e TO A VALID INTERFACE ! !
#
#KILL ROUTE = ” / b i n / echo ’ b l o c k i n l o g on e x t e r n a l i n t e r f a c e from $TARGET$/ 3 2 t o any ’ |

###############
# TCP Wrappers#

Por Paco Aldarias 352/449


Linux

###############
# T h i s t e x t w i l l be dropped i n t o t h e h o s t s . deny f i l e f o r wrappers
# t o use . There are two f o r m a t s f o r TCP wrappers :
#
# Format One : Old S t y l e − The d e f a u l t when extended h o s t p r o c e s s i n g
# o p t i o n s are n o t enabled .
#
#KILL HOSTS DENY=”ALL : $TARGET$”

# Format Two : New S t y l e − The f o r m a t used when extended o p t i o n


# p r o c e s s i n g i s enabled . You can drop i n extended p r o c e s s i n g
# o p t i o n s , b u t be sure you escape a l l ’ % ’ symbols w i t h a backslash
# t o p r e v e n t problems w r i t i n g o u t ( i . e . \ %c \ %h )
#
KILL HOSTS DENY=”ALL : $TARGET$ : DENY”

###################
# E x t e r n a l Command#
###################
# T h i s i s a command t h a t i s run when a h o s t connects , i t can be whatever
# you want i t t o be ( pager , e t c . ) . T h i s command i s executed b e f o r e t h e
# r o u t e i s dropped o r a f t e r depending on t h e KILL RUN CMD FIRST o p t i o n below
#
#
# I NEVER RECOMMEND YOU PUT IN RETALIATORY ACTIONS AGAINST THE HOST SCANNING
# YOU!
#
# TCP / IP i s an ∗ u n a u t h e n t i c a t e d p r o t o c o l ∗ and people can make scans appear o u t
# o f t h i n a i r . The o n l y t i m e i t i s r e a s o n a b l y s a f e ( and I ∗ never ∗ t h i n k i t i s
# reasonable ) t o run r e v e r s e probe s c r i p t s i s when u s i n g t h e ” c l a s s i c ” −t c p mode .
# T h i s mode r e q u i r e s a f u l l connect and i s v e r y hard t o spoof .
#
# The KILL RUN CMD FIRST v a l u e should be s e t t o ” 1 ” t o f o r c e t h e command
# t o run ∗ b e f o r e ∗ t h e b l o c k i n g occurs and should be s e t t o ” 0 ” t o make t h e
# command run ∗ a f t e r ∗ t h e b l o c k i n g has o c c u r r e d .
#
#KILL RUN CMD FIRST = ” 0 ”
#
#
#KILL RUN CMD = ” / some / path / here / s c r i p t $TARGET$ $PORT$ $MODE$”
# f o r examples see / u s r / share / doc / p o r t s e n t r y / expamples /

KILL RUN CMD = ” / r o o t / p o r t s e n t r y . sh $TARGET$”

#####################
# Scan t r i g g e r v a l u e #
#####################
# E n t e r i n t h e number o f p o r t connects you w i l l a l l o w b e f o r e an
# alarm i s g i v e n . The d e f a u l t i s 0 which w i l l r e a c t i m m e d i a t e l y .
# A v a l u e o f 1 o r 2 w i l l reduce f a l s e alarms . A n y t h i n g h i g h e r i s
# p r o b a b l y n o t necessary . T h i s v a l u e must always be s p e c i f i e d , b u t
# g e n e r a l l y can be l e f t a t 0 .
#
# NOTE: I f you are u s i n g t h e advanced d e t e c t i o n o p t i o n you need t o
# be c a r e f u l t h a t you don ’ t make a h a i r t r i g g e r s i t u a t i o n . Because
# Advanced mode w i l l r e a c t f o r ∗any∗ h o s t c o n n e c t i n g t o a non−used

Por Paco Aldarias 353/449


Linux

# p o r t below your s p e c i f i e d range , you have t h e o p p o r t u n i t y t o


# r e a l l y break t h i n g s . ( i . e someone i n n o c e n t l y t r i e s t o connect t o
# you v i a SSL [ TCP p o r t 443] and you i m m e d i a t e l y b l o c k them ) . Some
# o f you may even want t h i s though . J u s t be c a r e f u l .
#
SCAN TRIGGER= ” 0 ”

######################
# P o r t Banner S e c t i o n #
######################
#
# E n t e r t e x t i n here you want d i s p l a y e d t o a person t r i p p i n g t h e P o r t S e n t r y .
# I ∗don ’ t ∗ recommend t a u n t i n g t h e person as t h i s w i l l aggravate them .
# Leave t h i s commented o u t t o d i s a b l e t h e f e a t u r e
#
# S t e a l t h scan d e t e c t i o n modes don ’ t use t h i s f e a t u r e
#
#PORT BANNER=”∗∗ UNAUTHORIZED ACCESS PROHIBITED ∗∗∗ YOUR CONNECTION ATTEMPT HAS BEEN L

# EOF

Cada vez q se cambia este fichero deberemos reiniciarlo:

/etc/init.d/portsentry restart

83.5. Script portsentry.sh


Dentro de /etc/portsentry/portsentry.conf tengo puesto esto:

KILL_RUN_CMD="/root/portsentry.sh $TARGET$"

Ejecuta el script portsentry.sh

d1=/var/log/portsentry/$1.txt
d2=/var/log/portsentryh.txt
d=/var/log/portsentry.txt
lee ’Ataque Ataque Ataque por ’ $1 ’ya le mano un email’

# Sino se ha escaneado antes


#if [ ! -d $d1 ]; then
echo ’**********************************’ >> $d1
echo $1 - $(date +%d-%m-%Y-%H:%M) >> $d2
echo $1 >> $d
echo $(date +%d-%m-%Y-%H:%M) >> $d1
echo $1 >> $d1
echo $1 >> /root/intrusos.txt
nslookup $1 >> $d1
whois $1 >> $d1
echo "Puertos abiertos: " >> $d1
nmap -P0 --max_rtt_timeout 20000 $1 >> $d1
echo "Por horas: /var/log/portsentryh.txt" >> $d1
echo "Solo IPS: /var/log/portsentry.txt" >> $d1
echo "Intrusos IPS: /root/intrusos.txt" >> $d1
echo "Sistema: " >> $d1

Por Paco Aldarias 354/449


Linux

#fi

mail -s "Ataque de $1" paco < $d1


#/root/mamon.sh $1
#/root/flood.sh $1

83.6. Script lee


Es llamado por portsentry.sh. Lee un texto.

echo "$CABECERA $1 " |festival --tts --language spanish

Por Paco Aldarias 355/449


Linux

Capı́tulo 84

Descargar ficheros rápidamente

84.1. Introducción
Herramienta de distribución de ficheros.
Es extremadamente fácil distribuir ficheros.
Bajarse un fichero es tan fácil como hacer click sobre un hiperenlace de una web.
Si una más personas están bajándose algún fichero, envian trozos del fichero de cada persona q
lo tiene.
Existe una descentralización, ya que cualquiera q tenga el fichero, envié trozos.
La filosofia, es yo me bajo un archivo, la siguiente petición, que hagan para bajarse el mismo
archivo, soy yo y le resto de peticiones que ya tengan parte del archivo, el que ofrece el archivo,
y asi sucesivamente. Se trata de unir fuerzas.
Los programas p2p tradicionales (donkey,..) , son útiles para ficheros q no son muy frecuentes. Y
estos cuestan menos de encontrar y bajar. Bittorrent es ideal para ficheros q son muy solicitados.
Los ficheros bittorrent tienen extensión .bittorrent, al descargarse esa extensión se elimina.

84.2. Instalación
apt-get install bittorrent

La versión para sarge es:

dpkg -l | grep bittorrent


ii bittorrent 3.4.2-1 Scatter-gather network file transfer

84.3. Leer el ayuda


Para descomprimirlo:

gunzip /usr/share/doc/bittorrent/README.txt.gz

Para leerlo:

less /usr/share/doc/bittorrent/README.txt

Por Paco Aldarias 356/449


Linux

También se puede ver el ayuda aquı́:


/usr/share/doc/bittorrent/index.html

84.4. Servidor bittorrent: bttrack


Con el servidor vamos a permitir que se bajen los archivos que ofrezcamos a bittorrent.
Requiere tener instalado apache. Arrancamos apache:
/etc/init.d/apache start
Como root desde consola, crearemos una carpeta en apache para meter los ficheros:
mkdir /var/www/bittorrent

1. Arrancar el traker con bbtrack, que permitirá compartir ficheros:

/usr/bin/bttrack --port 6969 --dfile dstate

Para ver si funciona abrir:


http://miurl:6969
Aparecerá esto:

BitTorrent download info

tracker version: 3.4.2


server time: 2004-05-09 16:19 UTC

not tracking any files yet...

Esto indica que está el servidor en marcha y no hay nadie bajandose ficheros.
2. Crear el mefafichero bittorrent usando btmakemetafile

/usr/bin/btmakemetafile linux.pdf http://miurl:6969/announce

Esto generará un fichero llamado linux.pdf.torrent

84.5. Los clientes de bittorrent: btdownloadgui,btdownloadcurses


Con los clientes vamos a bajar los archivos que ofrece el servidor bittorrent.
Métodos:

1. Pinchando el enlace bittorrent y decirle abrir con:

btdownloadgui --max_upload_rate 5

2. Desde consola

btdownloadgui --max_upload_rate 5 --url \


http://miurl/bittorrent/linux.pdf.torrent --saveas linux.pdf

3. Desde consola

Por Paco Aldarias 357/449


Linux

btdownloadcurses --url \
http://miurl/bittorrent/linux.pdf.torrent --saveas linux.pdf

4. Desde mldonkey
Pegar la direccion web del fichero

84.6. Como seguir con lo q se estaba bajando


Es recomendable bajarse el archivo .bittorent y guardarlo
Posteriormente debemos proseguir usando este fichero en lugar de su url.
Ejemplo:

btdownloadcurses /bittorrent/linux.pdf.torrent --saveas linux.pdf

o tb se puede poner el fichero .bittorrent en el servidor web y abrirlo para bajarselo como un
enlace mas de bittorrent.

84.7. Control del ancho de banda


Instalarlo: apt-get install trickle

trickle -u 5 -d 10 \
btdownloadcurses --url \
http://miurl/bittorrent/linux.pdf.torrent --saveas linux.pdf

84.8. Ejemplo de enlaces bittorrent para debian knoppix 3.4


http://torrent.unix-ag.uni-kl.de:6969/

84.9. Bibliografia
1. Bittorrent manual instalación y uso linux
http://bulma.net/body.phtml?nIdNoticia=1849

2. Bittorrent manual/win
http://usuarios.vtr.net/∼kenneth/bittorrent.html

Por Paco Aldarias 358/449


Linux

Capı́tulo 85

Instalación y ahorro de energia de


la tarjeta gráfica nvidia (GeForce4
MX 440 AGP 8x)

85.1. Introducción
Vamos a describir el proceso de instalación de las tarjetas de redd nvidia.
Desde consola como root:
lspci
0000:02:00.0 VGA compatible controller: nVidia Corporation NV18 [GeForce4 MX 440 AGP 8x]
(rev a4)

85.2. Instalando los drivers de nvidia

85.2.1. Bajandose el instalador NVIDIA-Linux-x86-1.0-5336-pkg1.run

Descargar el driver http://es.nvidia.com/page/drivers.html


elegir la opcion Linux IA32
Descargamos el driver donde queramos, por ejemplo en /home/usuario/
Descargar el extenso archivo README-version TXT que nos aparecera en la siguiente venta-
na.(esta en castellano) y leerlo
Salir del entorno grafico para empezar la instalcion. Para esto:
o bien, teclear en linea de comandos ”telinit 3” (despues para volver al entorno grafico teclear
”telinit 5”)
o bien, salir con terminar üsuario volver a entrar con al opcion consola que aparece al pulsar el
2

boton opciones de la ventana de inicio de KDE


Ir al directorio donde hemos descargado el driver (por ej., /home/usuario/
En linea de comandos y siendo root, escribir:
sh NVIDIA-Linux-x86-1.0-5336-pkg1.run
Aquı́ es donde se me presentaba otro problema, ya que me daba el siguiente mensaje:

Por Paco Aldarias 359/449


Linux

You appear to be compiling the NVIDIA kernel module with


a compiler different from the one that was used to compile
the running kernel. This may be perfectly fine, but there
are cases where this can lead to unexpected behaviour and
system crashes.

If you know what you are doing and want to override this
check, you can do so by setting IGNORE_CC_MISMATCH.

In any other case, set the CC environment variable to the


name of the compiler that was used to compile the kernel.

(Parece que está compilando el módulo kernel de NVIDIA con


un compilador diferente del que utilizó para compilar el kernel
activo. En principio no tiene por qué haber ningún problema, pero
a veces puede ocasionar un comportamiento inesperado y el fallo del
sistema. Si sabe lo que está haciendo y quiere omitir esta
comprobación, puede hacerlo ejecutando el comando IGNORE_CC_MISMATCH.
En caso contrario, configure la variable de entorno cc con el nombre
del compilador que utilizó para compilar el kernel.)

El README de nVidia trata este problema y le da la siguiente respuesta:


R: Debe compilar el módulo kernel de NVIDIA con la misma versión de compilador que utilizó pa-
ra compilar su kernel. Algunas estructuras de datos de kernel de Linux dependen de la ver-
sión de gcc utilizada para compilarlas, por ejemplo en include/linux/spinlock.h:

...
* Most gcc versions have a nasty bug with empty initializers.
*/
#if (__GNUC__ > 2)
typedef struct { } rwlock_t;
#define RW_LOCK_UNLOCKED (rwlock_t) { }
#else
typedef struct { int gcc_is_buggy; } rwlock_t;
#define RW_LOCK_UNLOCKED (rwlock_t) { 0 }
#endif

Si el kernel se compila con gcc 2.x, pero se utiliza gcc 3.x para compilar la interfaz del ker-
nel de NVIDIA (o viceversa), se modificará el tamaño de rwlock t y se producirán fallos, por ejem-
plo, en ioremap.
Para averiguar qué versión de gcc utilizó para compilar el kernel, examine la salida de:

cat /proc/version

Para averiguar qué versión de gcc figura actualmente en su $PATH, examine la salida de:

gcc -v

Bien, intente todo esto y otros consejos que me disteis pero nada. Al final tuve que volver a instalar
Knoppix ya que me empezaron a aparcer problemas extras, por ej. en el moden, seguramente
fruto de haber andado ”jugando”sin saber muy bien lo que hacia.
Al volver a reinstalar leo un nuevo mensaje de vuestra ayuda en el que dice que el simplemente
se habia saltado esta advertencia y habia instaldo el driver. Le contesté que ya habia intentado
esto, pero que no me dejaba continuar.

Por Paco Aldarias 360/449


Linux

De todas formas, volvı́ a intentar saltarme el paso. Y ¡¡¡MILAGRO!!! esta vez si que instala el
driver. (Claro, que me he quedado sin saber por qué antes no y ahora sı́)
Parches para la 2.6.10:

# sh NVIDIA-Linux-x86_64-1.0-6629-pkg0.run --extract-only
# cd NVIDIA-Linux-x86_64-1.0-6629-pkg0
# patch -p0 < /path/to/NVIDIA_kernel-1.0-6629-1165235.diff.txt
# patch -p0 < /path/to/NVIDIA_kernel-1.0-6629-1171869.diff.txt
# ./nvidia-installer

85.2.2. Instalandolo atraves de paquetes

Desde consolar como root:

NVDIST=testing
apt-get install module-assistant nvidia-kernel-common
module-assistant auto-install nvidia

85.2.3. Compilándolo

NVDIST=testing
apt-get -t $NVDIST install nvidia-kernel-source nvidia-kernel-common
cd /usr/src
tar -zxf nvidia-kernel-source.tar.gz
export KVERS=$(uname -r)
export KSRC=/usr/src/kernel-headers-$KVERS
apt-get install kernel-headers-$KVERS
apt-cache policy kernel-image-$KVERS kernel-headers-$KVERS
cd /usr/src/modules/nvidia-kernel
debian/rules binary_modules
dpkg -i /usr/src/nvidia-kernel-*.deb

85.2.4. Postinstalacion

Una vez instalado ya solo queda modificar el archivo /etc/X11/XF86Config-4


Las modificaciones serán:
Donde pone
Driver ”nv”
poner
Driver ”nvidia”

Asegurse de que figura


Load ”glx”
Comentar (añadir al principio #) las lineas:
Load ”dri”
Load ”GLcore”

Y reiniciar el entorno gráfico


Si todo ha ido bien, antes de que aparezca el escritorio, aparecerá a toda pantalla el logo de
nVidia.

Por Paco Aldarias 361/449


Linux

85.3. Ahorro de energı́a en Athlon


Instalación:

apt-get install athcool

Versión:

athcool 0.3.5-2 Enable powersaving mode for Athlon/Duron pro

Ver que soporta:

athcool list

Ver el estado:

athcool status

Instarlo en el arranque:

update-rc.d athcool start 20 2 3 4 5 .

Quitalro del arranque:

update-rc.d -f athcool remove

85.4. Aceleración 3D en nvidia: dri


Podemos mejorar el rendimiento 3d instalando dri. Yo he pasado de 700 FPS a 3300FPS, si-
guiendo los pasos que describo.
Probar el rendimento:

glxgears

Me sale esto:

13488 frames in 5.0 seconds = 2697.600 FPS


16469 frames in 5.0 seconds = 3293.800 FPS
16462 frames in 5.0 seconds = 3292.400 FPS
16488 frames in 5.0 seconds = 3297.600 FPS

Comprobar que tenemos activado el dri en las exis:

dpkg-reconfigure xserver-xfree86

Comprobar que con glxinfo en los dos casos te sale ”Direct Rendering: Yes”.
Instalar:

apt-get install xlibmesa-dri

Por Paco Aldarias 362/449


Linux

85.5. Ver pelis del dvd en la tv


Editar el fichero /etc/X11/XF86Config-4
Section ”Screen”

Option "TVStandard" "PAL-B"


Option "TVOutFormat" "SVIDEO"

Section ”Device”

Option "TwinView"
Option "SecondMonitorHorizSync" "31-82"
Option "SecondMonitorVertRefresh" "58-75"
Option "MetaModes" "1280x1024,1280x1024; 1024x768,1024x768; 800x600,800x600; 640x480,640x480"
Option "TwinViewOrientation" "Clone"

85.6. Instalación de nvidia atraves de apt


Sı́ se puede instalar sin recompilar.
Por ejemplo, para instalar el último núcleo con los drivers nvidia hay que hacer lo siguiente:
La información está extraı́da de:
http://www.bio-informatics.nl/debinstall2.php (en barrapunto).
También hay más información aquı́:
http://home.comcas.net/∼andrex/Debian-nVidia/installation.htm (que ya he mencionado
en algún email a listas).

1. Lo primero es instalar el kernel y las cabeceras del kernel.

apt-get install kernel-image-2.6.8-1-686

apt-get install kernel-headers-2.6.8-1-686

2. Reiniciar la máquina y arrancar con el nuevo kernel


3. Instalas el paquete fuente de nvidia

apt-get install nvidia-kernel-source

4. Exportar las variables de entorno para el kernel

export KSRC=/usr/src/kernel-headers-2.6.8-1-686

export KVERS=2.6.8-1-686

5. Descomprimir y construir el paquete

En /usr/src/ haces tar zxvf nvidia-kernel-source.tar.gz

cd modules/nvidia-kernel

debian/rules binary_modules

Por Paco Aldarias 363/449


Linux

6. Instalas nvidia-kernel-common

apt-get install nvidia-kernel-common

7. Instalar el paquete construido

dpkg -i /usr/src/modules/nvidia-kernel-*

8. Instalas Nvidia GLX

apt-get install nvidia-glx

9. Configuras las X
En el archivo /etc/X11/XF86Config-4 deben estar comentadas las siguientes lineas:

# Load "GLcore"
# Load "dri"

y sustituir

Driver "nv"
por
Driver "nvidia"

Haces un modconf y deberı́a salir (a mı́ me sale al final).


10. Reinicias las X con el driver cargado.
PD: Instalar nvidia-settings para configurar la tarjeta al estilo Win.
Para la documentación oficial y configuración:
http://es.nvidia.com/doxs/io/14901/README ia32 6111 es.txt
PD1: Existen más formas de crear un paquete deb de los drivers nvidia, pero quizá esta es
la más fácil que he visto.

85.7. Mejorar la gestión de interrupciones: irqtune


Instalarlo:

apt-get install hwtools sysutils scsitools memtest86

Ejecutar desde consola como root:

irqtune

85.8. Error de nvidia y kernel 2.6


Cuando salga este error:

nvidia: module license ’NVIDIA’ taints kernel.


kernel: nvidia: Unknown symbol __VMALLOC_RESERVE
kernel: nvidia: Unknown symbol pci_find_class

Mirar aqui: http://baboon.utalca.cl/∼csaavedra/news.html

Por Paco Aldarias 364/449


Linux

85.9. Bibliografı́a
1. Ahorro de energı́a en Athlon COMO
http://perso.wanadoo.es/cmayo/docs/Athlon-Powersaving-HOWTO-es.html

2. ¿Calor? Refresca tu Athlon con dos comandos


http://barrapunto.com/article.pl?sid=04/06/27/1439233

3. CONFIGURACIÓN DE LAS TARJETAS NVIDIA PARA OUT TV.


http://wiki.escomposlinux.org/twiki/pub/Escomposlinux/DoLiCaNvidiaTvOut/configuracionouttvnvi
html?CGISESSID=59c4772651218e49a404e2f9ed7f8fea&CGISESSID=59c4772651218e49a404e2f9ed7f8fea

4. Aceleración Gráfica
http://linuca.org/body.phtml?nIdNoticia=165

5. Andrew’s Debian-nVidia HOWTO


http://home.comcast.net/∼andrex/Debian-nVidia/index.html

Por Paco Aldarias 365/449


Linux

Capı́tulo 86

Controlar los ordenadores


encendidos en una red:
bash-nmap-mysql

86.1. Introduccion
Vamos a analizar la red, para saber los ordenadores que hay encendidos. Después guardaremos
las ips con la fecha y hora.
Se necesita: nmap y mysql.

86.2. Creación de la base de datos en Mysql


Crearemos en mysql una base de datos y una tabla llamada nmap.
Deberemos adaptar este script para poner nuestro password en mysql cambiando mipassword
cat nmap0.sql

CREATE TABLE ‘nmap‘ (


‘num‘ int(11) NOT NULL auto_increment,
‘ip‘ varchar(15) NOT NULL default ’’,
‘fecha‘ date NOT NULL ,
‘hora‘ time NOT NULL ,
PRIMARY KEY (‘num‘)
) TYPE=MyISAM;

# Ejemplo de INSERT
#INSERT INTO ‘nmap‘ (‘ip‘,‘fecha‘,‘hora‘)
# VALUES (’192.168.0.1’,’2004.05.15’,’12:45’);

AsÍ, crearemos la tabla nmap, deberemos crear antes la base de datos nmap:

mysql -u root -h localhost -pmipassword -D nmap < nmap0.sql

Por Paco Aldarias 366/449


Linux

86.3. Meteremos las ips


Deberemos adaptar este script para poner nuestro password en mysql cambiando mipassword y
el rango de ips a analizar cambiando 192.168.0.0-1
cat red.sh

#Cogemos las ips


nmap -sP 192.168.0.0-1 | awk ’/appears to be up/ {print $3}’ | \
sed ’s/[()]//g’ > nmap.txt
# Creamos los inserts
for linea in ‘cat nmap.txt‘
do
echo "INSERT INTO nmap (ip,fecha,hora) \
VALUES (’$linea’,’$(date +%Y-%m-%d)’,’$(date +%H:%M)’);" > nmap.sql
done
#Guardamos en mysql
mysql -u root -h localhost -pmipassword -D nmap < nmap.sql

86.4. conclusión
Este artı́culo es interesante para saber q ordenadores se quedan encendidos y poder apagarlos.

Por Paco Aldarias 367/449


Linux

Capı́tulo 87

Instalación, configuración y uso del


Portal Web: Postnuke

87.1. Introducción
Postnuke es un portal. Vamos a ver como se instala y configura postnuke.

87.2. Requisitos
Servidor Web Apache.

Php4

Gestor de Bases de Datos. Mysql

87.3. Bajarse Postnuke


PostNuke Phoenix 0.726-1 (.tar.gz)
http://download.hostnuke.com/pafiledb.php?action=category&id=45

87.4. Descomprimirlo
Como usuario root, desde consola:
mkdir /var/www/postnuke
cp PostNuke-0.726-1.tar.gz /var/www/postnuke
tar zxf PostNuke-0.726-1.tar.gz

87.5. Instalando
http://x.x.x.x/postnuke/PostNuke-0.726-1/html/install.php
Siendo x.x.x.x la ip del servidor
Seguir los pasos que van pidiendo.

Por Paco Aldarias 368/449


Linux

87.6. Modificar los enlaces del pie y encabezado


Vamos a ver como se cambia este texto que hay encima :

PostNuke :: pnFORUMS :: Descargas :: pnViewCVS

Editar el fichero

/home/ftp/incoming/postnuke/PostNuke-0.726-1/html/themes/PostNuke/top_links.php

Y cambiar los enlaces q están en php.

87.7. Poner la noticias de un portal en otro


Aquı́ explica como poner las noticias del portal de bulma. http://bulma.net/body.phtml?nIdNoticia=
657
Básicamente lo que hay q hacer es hacer un bloque nuevo, y poner q el bloque sea rss, despues
se pone la dirección web asociado.

87.8. Arreglar problemas de traducción al español

87.8.1. Los tópicos

Añadir esto:

define(’_THISISTOPIC’,’Este es el Tópico: ’);


define(’_FOLLOWINGNEWS’,’Con las siguiente noticias: ’);

en el fichero:
./modules/News/lang/spa/global.php

87.8.2. Nuevo usuario

Añadir esto:

define(’_EMAILAGAIN’,’Email otra vez: ’);

en el fichero:
./modules/NS-NewUser/lang/spa/global.php

87.9. Solucionar el error: themeheader


Fatal error: Call to undefined function: themeheader() in /var/www/postnuke/PostNuke-0.750/html/header.php
on line 141
Entra a tu postnuke ası́:
http://www.midominio.com/admin.php?module=NS-Settings&op=%20main&theme=PostNuke
Más info aqui:
http://www.dev-postnuke.com/XForum-tid549.html

Por Paco Aldarias 369/449


Linux

87.10. Bibliografia
1. Página oficial de Postnuke http://www.postnuke.com/

2. Cambiar encabezado y pie http://www.dev-postnuke.com/XForum-tid732-pid2987.html

Por Paco Aldarias 370/449


Linux

Capı́tulo 88

Entrar a mysql usando open office:


odbc

88.1. Introducción
Vamos a ver como poder trabajar en mysql usando open office writer

88.2. Instalación
Como usuario root y desde consola:
Instalamos mysql:

apt-get install mysql

Instalamos el odbc

apt-get install libmyodbc unixodbc libiodbc2

88.3. Configurar el odbc


Editarmos el fichero, como usuario root y desde consola:

nano /etc/odbc.ini

[amigos]
Trace = Off
TraceFile= stderr
Driver = /usr/lib/odbc/libmyodbc.so
DSN = amigos
SERVER = localhost
USER = root
PASSWORD = tucontrase~
na
PORT = 3306
#OPTIONS = 1
#DATABASE= trabajo
#SOCKET = /tmp/mysql.soc

Por Paco Aldarias 371/449


Linux

88.4. Crearmos la tabla amigos


Se entiende que se sabe hacer. Sino mirar articulo de mysql.

88.5. El Open Office Writer


Ir al menú herramientas:
Fuentes de datos:
General, Nombre pondremos: amigos
Conexión, Tipo de base de datos: mysql
Mysql:
Tipo de conexión: Utilizar fuentes de datos odbc existente

88.6. Bibliografı́a
1. Conexión con mySQL desde GNU/Linux (Debian)
http://superalumnos.net/book/view/86

Por Paco Aldarias 372/449


Linux

Capı́tulo 89

Transformar pelı́culas de mpg a avi:


mencoder

89.1. Introducción
Vamos a ver como se pueden pasar pelı́culas de video en linux entre diferentes formatos.
El pasar pelı́s de mpg a avi, lo estube mirando ya q tenia videos de mpg, q ocupaban más de un
cd de 700Mb, y los avi ocupan menos en el cd.

89.2. Reproducción de video


Los programas mejores son: mplayer y xine.

89.3. Instalación
apt-get install mencoder dvd+rw-tools dvdauthor dvdrtools libdvdcss2 transcode k3b k3b-i18n

89.4. Paquetes instalados


dpkg -l | grep mencoder
ii mencoder-k7 1.0-pre3-0.0 MPlayer’s Movie Encoder

dpkg -l | grep dvd


ii dvd+rw-tools 5.19.4.9.7-2 DVD+-RW/R tools
ii dvdauthor 0.6.10-sarge1 create DVD-Video file system
ii dvdbackup 0.1.1-1 Tool to rip DVD’s from the command line
ii dvdrtools 0.1.5-3 DVD writing program
ii gstreamer-dvd 0.6.4-4 DVD plugin for GStreamer
ii libdvdcss0 0.0.3-8 Simple foundation for reading DVDs - runtime
ii libdvdcss1 1.0.1-0.1 Simple foundation for reading DVDs - runtime
ii libdvdcss2 1.2.5-sarge0.2 Simple foundation for reading DVDs - runtime
ii libdvdnav1 0.1.3-1 The DVD navigation library
ii libdvdnav4 0.1.9-2 The DVD navigation library
ii libdvdplay0 1.0.1-5 a portable abstraction library for DVD menus

Por Paco Aldarias 373/449


Linux

ii libdvdread2 0.9.3-2 Simple foundation for reading DVDs.


ii libdvdread3 0.9.4-4 Simple foundation for reading DVDs
ii xine-dvdnav 0.9.13-1 xine DVD plugin that is capable of Menus and

dpkg -l | grep transcode


ii transcode 0.6.12-sarge0. Utility to encode raw video/audio streams

dpkg -l | grep k3b


ii k3b 0.11.9-2 A sophisticated KDE cd burning application
ii k3b-i18n 0.11-1 Internationalized (i18n) files for k3b
ii k3blibs 0.11.9-2 The KDE cd burning application library - run
rc libk3bcore2 0.10.3-5 The KDE cd burning application library - cor
rc libk3bplugin1 0.10.3-5 The KDE cd burning application library - plu
rc libk3bproject1 0.10.3-5 The KDE cd burning application library - pro
rc libk3btools1 0.10.3-5 The KDE cd burning application library - too

89.5. Pasar un vcd a mpg


Tan fácil como copiar el fichero.dat a fichero.mpg en tu pc, y ya se puede ver en tu pc.

89.6. Pasar mp3 a avi

89.6.1. Calcular el tiempo que tarda la pelicula en segundos

Ejemplo: Una peli que dura 2h,3m,57s = 2*60*60 + 3*60 + 57 = 7385 segundos

Con mpgtx

Instalarlo:

apt-get install mpgtx

Ver la duración:
mpgtx -X -i pelicula.mpg

Con divxcomp

Instalarlo:

apt-get install divxcomp

Ver la duración del video:


divxcomp peli.avi

Con xine

Tb se puede abrir la peli y mirar su duración:


xine peli.mp3

Por Paco Aldarias 374/449


Linux

Con mplayer

Tb se puede abrir la peli y mirar su duración:


mplayer peli.mp3

Pulsar la tecla o. Alterna entre el tiempo que llevas de reproducción y el total de reproducción.

89.6.2. Calcular la orden que deberemos poner

Creamos el script dvd-ripping.sh

#!/bin/bash

if [ $# != 1 ] ; then
echo "Use: dvd-ripping <movie size in seconds> <movie>"
echo ""
exit 1
fi

# Biggest file size is 700mb, which is 716800kbytes


# but just in case we use a little smaller size
MAXSIZE=700000

SEGUNDOS=$1
MINUTOS=$(($SEGUNDOS/60))

#Audio rate is 128bits/s which is 16kbytes/s


AUDIOSIZE=$((16*$SEGUNDOS))
LIBRE=$(($MAXSIZE - $AUDIOSIZE))
RATE=$((($LIBRE*8) / $SEGUNDOS))

#tcprobe -i $2

echo "Calculating rate for movie which lasts $MINUTOS minutes..."

echo "Estimated rate: $RATE"

FINALSIZE=$(( ($RATE * $SEGUNDOS)/8 + $AUDIOSIZE))

echo "Estimated size: $FINALSIZE"

echo "The command is:"


echo "mencoder -dvd 1 -ovc lavc \
-lavcopts vcodec=mpeg4:vhq:vbitrate=$RATE \
-vop scale -zoom -xy 640 -oac mp3lame \
-lameopts abr:br=128 -o file.avi"

Le damos permisos de ejecución:


chmod 700 dvd-ripping.sh

Lo ejecutamos:
./dvd-ripping.sh 7385

Por Paco Aldarias 375/449


Linux

Resultado:
mencoder -dvd 1 -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=630 -vop scale -zoom -xy 640
-oac mp3lame -lameopts abr:br=128 -o peli.avi

Es recomendable ver como va quedando:


mplayer peli.avi

89.7. Saber información del video: tcprobe


Tcprobe viene dentro del paquete transcode

tcprobe -i video.mpg

tcprobe -i vidoe.avi

89.8. Bibliografı́a
1. Ripeando DVDs a Divx con mencoder (mplayer) en Linux
http://dvdripping-guid.berlios.de/index es.html

2. Video DVD Linux Como


http://www.forosdelweb.com/util/videodvdlinuxcomo.pdf

Por Paco Aldarias 376/449


Linux

Capı́tulo 90

Aceleracion 3D con Voodoo


Banshee [tdfx]

90.1. Mi placa de video


0000:00:09.0 VGA compatible controller: 3Dfx Interactive, Inc. Voodoo Banshee (rev 03)

90.2. Tengo compilado en el kernel


[*] Support for frame buffer devices
[*] VGA 16-color graphics support
[*] VESA VGA graphics support
[*] 3Dfx Banshee/Voodoo3 display support

Esto es lo del frame buffer que en principio solo es necesario para la consola, si utilizas las X
puedes usar el driver nativo para las X y te olvidas del frame buffer
Lo que realmente te interesa es

[*] Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
<*> 3dfx Banshee/Voodoo3+
En Device Drivers/Character devices

90.3. Configuración de X:
Section "Device"
Identifier "Generic Video Card"
Driver "tdfx"
Option "UseFBDev" "true"
EndSection

No necesitas usar el FrameBuffer esa opcion la puedes quitar


Y asegurate que tienes en la Section Module

Load "GLcore"
Load "dri"
Load "glx"

Por Paco Aldarias 377/449


Linux

y una section DRI con lo siguiente

Section "DRI"
Mode 0666
EndSection

90.4. Prueba q fubnciona


Para saber los fps:

glxgears

Si quieres saber si tienes acelaracion lo mas facil es buscar la linea que pone el glxinfo

name of display: :0.0


display: :0 screen: 0
direct rendering: Yes

Si el direct rendering esta a yes la cosa va bien :)


Otra cosa, necesitas tener instalado el paquete libglide3 para poder tener aceleracion (el libglide2
no estoy seguro)

Por Paco Aldarias 378/449


Linux

Capı́tulo 91

Crear aulas virtuales: Moodle

91.1. Introducción
Moodle es un sistemas para montar aulas virtuales o elearning.
Requisitos software:

Servidor Web con php: Apache

Servidor de correo saliente: Postfix

91.2. Caracterı́sticas
Esta en español

Tiene un nivel alto de contrañas.

Permite realizar exámenes.


Permite programar tareas por temas o fechas.

Permite agrupar materiales(ficheros) por temas o fechas

91.3. Instalación
1. Bajarse el fichero de la página: http://moodle.org/
Ahora está la versión Moodle 1.4.1
moodle-1.4.1.tgz

2. Crear una carpeta:

mkdir /var/www/moodle

3. Copiar el fichero a la carpeta

cp moodle-1.4.1.tgz /var/www/moodle/
cd /var/www/moodle/

4. Descomprimirlo:

Por Paco Aldarias 379/449


Linux

tar -xvzf moodle-1.4.1.tgz


cd moodle

5. Crear el fichero donde se guardaran las fotos y ficheros.

mkdir /var/www/moodle/moodledata
chmod 777 /var/www/moodle/moodledata

6. Crear el fichero base de configuración:

cp config-dist.php config.php

7. Editarlo y configurar los valores para mysql y moodle:

nano config.php

$CFG->dbtype = ’mysql’; // mysql or postgres7 (for now)


$CFG->dbhost = ’localhost’; // eg localhost or db.isp.com
$CFG->dbname = ’moodle’; // database name, eg moodle
$CFG->dbuser = ’root’; // your database username
$CFG->dbpass = ’mipassword’; // your database password

$CFG->dirroot = ’/var/www/moodle’;
$CFG->wwwroot = "http://".$_SERVER["HTTP_HOST"]."/moodle";
$CFG->dataroot = ’/var/www/moodle/moodledata’

8. Entrar para empezar el proceso de instalación por web: http://127.0.0.1/moodle

91.4. Backup y Upgrade


Vamos a ver proceso de pasar de la version 1.3, y copiar los contenidos.
Consultar: http://moodle.org/doc/?lang=es&file=upgrade.html

1. Hacer una copia de seguridad de la base de datos:

mysqldump moodle > moodle-backup.sql

2. Nos vamos a otro servidor y creamos la base de datos moodle y restauramos la copia

mysql -u root -h localhost -p -D moodle < moodle-backup.sql

3. Instalamos el nuevo moodle.


4. Copiamos los fichero de /var/www/moodle/moodledata en el nuevo servidor.
5. Entramos para actualizar el sistema
http://127.0.0.1/moodle/admin

91.5. Envio de email de los foros


Como usuario root:
crontab -e

0 0 * * * root wget -q -O /dev/null http://127.0.0.1/moodle/admin/cron.php

Esto es equivalente a hacerlo manualmente poniendo en el navegador:


http://127.0.0.1/moodle/admin/cron.php

Por Paco Aldarias 380/449


Linux

91.6. Cambiar el tamaño de los archivos que pueden descar-


garse
Por defecto moodle trae un limite de 2Mb como máximo esto se puede cambiar, veamos como
se hace.
Editar el fichero:
nano /etc/php4/apache/php.ini
Cambiar esto valores

; Maximum amount of memory a script may consume (8MB)


memory_limit = 80M

; Maximum size of POST data that PHP will accept.


post_max_size = 80M

; Maximum allowed size for uploaded files.


upload_max_filesize = 80M

91.7. Bibliografı́a
1. Página oficial de Moodle.
http://moodle.org/

2. Moodle Spain 2004


http://cent.uji.es/pub/node/view/245

Por Paco Aldarias 381/449


Linux

Capı́tulo 92

Estadisticas del servidor web:


awstats

92.1. Introducción
Vamos a ver como se pueden sacar estadı́sticas de nuestro servidor web.
Usaremos el servidor web apache, linux debian sarge, y awstats

92.2. Instalación
Desde consola como root:

apt-get install awstats libnet-dns-perl libnet-ip-perl libnet-xwhois-perl

92.3. Configuración
Editar el fichero /etc/awstats/awstats.conf
y configurar las opciones básicas.

92.4. Enlace de las imágenes


Crear este enlace para q se puedan ver las imágenes:

ln -s /usr/share/awstats/icon/ /var/www/awstats-icon

92.5. Crear las estadı́sticas


Desde consola como root:

/usr/lib/cgi-bin/awstats.pl -update -config=/etc/awstats/awstats.conf

Por Paco Aldarias 382/449


Linux

92.6. Ver las estadı́sticas


http://localhost/cgi-bin/awstats.pl

Por Paco Aldarias 383/449


Linux

Capı́tulo 93

Sistema de Gestión de Base de


Datos (SGBD): Postgres

93.1. Introducción
Vamos a ver como se instala y se usa el SGBD Postgres
Postgress es un Sistema de Gestión de Base de Datos, libre, similar a Oracle, DBII, SQL Server,
Informix.

Carácteristicas más importantes:

Permite control de claves ajenas

Pemite subconsultas.
Permite gestión de transacciones.

Estás caractaristicas no están disponible para Access (win), ni en Mysql (Linux).

93.2. Instalación
Desde consola como root:

apt-get install postgresql postgresql-doc libpg-perl libpgjava libpgtcl \


postgresql-dev postgresql-contrib pgdocs-pdf-a4 \
pgaccess libkrb5-dev doc-linux-html

Version instalada:

dpkg -l | grep postgres


ii postgresql 7.4.6-5 object-relational SQL database management sy
ii postgresql-cli 7.4.6-5 front-end programs for PostgreSQL
ii postgresql-con 7.4.6-5 additional facilities for PostgreSQL
ii postgresql-dev 7.4.6-5 development files for libpq (PostgreSQL libr
ii postgresql-doc 7.4.6-5 documentation for the PostgreSQL database ma

Por Paco Aldarias 384/449


Linux

93.3. Acceso y creación de un usuario


Siendo root, pasar a ser el usuario postgress:

su - postgres

Ver las bases de datos existentes:

psql -l

Entrar a la base de datos template1

psql template1

Crear el usuario ”miusuarioçon password ”mipassword”

CREATE USER miusuario WITH PASSWORD ’mipassword’ CREATEDB CREATEUSER;

Salirse:

\q

93.4. El super usuario postgres


Postgress por defecto crea un usuario llamado postgres, el cual tiene acceso directo al SGBD.
Ordenes que se realizan como usuaio postgress, al cual hay que entrar siendo root (su - postgres)

/usr/bin/createdb : permite crear bases de datos


/usr/bin/createuser: permite crear usuarios

93.5. Crear una base de datos


Siendo el usuario: miusuario

createdb mibd

93.6. Modificar el password de un usuario


su - postgres
psql template1
ALTER USER postgres password ’new_pass’;
\q

93.7. Entrar en modo texto


Desde consola poner:

psql mi_base_de_datos

Por Paco Aldarias 385/449


Linux

93.8. Administrar por php y servidor web: phpPgAdmin


Requiere tener un servidor web apache y php4 instalado. Se puede administrar las bases de
datos desde página web

Figura 93.1: phppgadmin

Instalarlo con:

apt-get install phppgadmin

Entrar con: http://127.0.0.1/phppgadmin

93.9. Entorno gráfico: pgaccess


Instalarlo:

apt-get install pgaccess

Como usuario normal:

pgaccess &

Abrir la base de datos:

Servidor: (Dejarlo en blanco)

Por Paco Aldarias 386/449


Linux

Figura 93.2: Pgaccess

Port: 5432
Base de datos: mibd
Usuario: miusuario
Clave: miclave

93.10. Entorno gráfico: pgadmin3


Instalación:

apt-get install pgadmin

Más información en: http://www.pgadmin.org/?locale=es ES#presentation

93.11. Bibliografia
1. PostgreSQL (7.2.1) con Debian
http://iie.fing.edu.uy/∼vagonbar/debian/debian30/postgresql/postgres.htm
2. Ayuda sobre SQL
http://www.postgresql.org/docs/7.4/interactive/sql-createtable.html

Por Paco Aldarias 387/449


Linux

Figura 93.3: Pgadmin3

3. Instalando PostgreSQL en Linux


http://www.maestrosdelweb.com/editorial/postgree/

4. Manual del usuario de PostgreSQL


http://es.tldp.org/Postgresql-es/web/navegable/user/user.html

5. Pagina oficial de postgres


http://www.postgresql.org/docs/index.html
6. PostgreSQL 7.4.6 Documentation
http://es.tldp.org/Postgresql-es/web/navegable/user/user.html

7. POSTGRESQL DOCUMENTACION EN ESPAÑOL


http://www.postgresql.cl/
8. PostgreSQL Práctico
http://www.sobl.org/traducciones/practical-postgres/node59.html

Por Paco Aldarias 388/449


Linux

Capı́tulo 94

Hacer funcionar un scaner


CanoScan LIDE 50 USB: Sane

94.1. Introduccion
Vamos a ver como se instala el scanner Canon LIDE 30. Es un scaner usb. Sobre linux debian
sarge.
Mi kernel:

uname -a
Linux aldarias.dyndns.org 2.4.20-xfs #1 SMP Die Dez 10 20:07:25 CET 2002 i686 GNU/Linux

94.2. Instalación
apt-get install libsane sane sane-utils xsane-common xsane usbmgr usbutils kooka

Para el scanner:

dpkg -l | grep sane


ii libsane 1.0.15-2 API library for scanners
ii quiteinsane 0.10-7 A Qt based X11 frontend for SANE (Scanner Ac
ii sane 1.0.13-2 scanner graphical frontends
ii sane-utils 1.0.15-2 API library for scanners -- utilities
ii xsane 0.96-1 GTK+-based X11 frontend for SANE (Scanner Ac
ii xsane-common 0.96-1 GTK+-based X11 frontend for SANE (Scanner Ac

Para el usb:

dpkg -l | grep usb


ii libusb-0.1-4 0.1.8-17 Userspace USB programming library
ii libusb-dev 0.1.8-17 Userspace USB programming library developmen
ii usbmgr 1.0.0-3 User-Mode daemon which loads/unloads USB ker
ii usbutils 0.11+cvs200411 USB console utilities
ii usbview 1.0-6 USB device viewer

Por Paco Aldarias 389/449


Linux

94.3. Programas para scanear


dpkg -l |grep xsane
ii xsane 0.96-1 GTK+-based X11 frontend for SANE (Scanner Ac
ii xsane-common 0.96-1 GTK+-based X11 frontend for SANE (Scanner Ac

dpkg -l |grep kooka


ii kooka 3.2.3-1.1 Scanner program for KDE

dpkg -l |grep gimp


ii babygimp 0.41-6 An icon editor in Perl-Tk
ii gimp 2.0.6-1 The GNU Image Manipulation Program, stable v
ii gimp-data 2.0.6-1 Data files for The GIMP, stable version 2.0
ii gimp1.2 2.0.6-1 Transitional dummy package for upgrading The
ii gimp1.2-nonfre 1.2.3-2.4 GIF support for the GNU Image Manipulation P
ii gimp1.2-print 4.2.2-pre2-1 The Print plugin for the GIMP
ii gimp2.0-quitei 0.3-3 A Qt based SANE plugin for GIMP 2.0
ii ijsgimpprint 4.2.7-4 Inkjet Server - Ghostscript driver for Gimp-
ii libgimp1.2 1.2.5-3 Libraries necessary to run the GIMP, version
ii libgimp2.0 2.0.6-1 Libraries necessary to run the GIMP, stable
ii libgimpprint1 4.2.7-4 The Gimp-Print printer driver library

94.4. El sistema de ficheros


Añadir al fichero /etc/fstab

none /proc/bus/usb usbfs defaults 0 0

94.5. Los dispositivos


ll /dev/usbscanner0 /dev/usbscanner /dev/usb/scanner0
lrwxrwxrwx 1 root paco 11 2004-03-18 04:32 /dev/usbscanner -> usbscanner0
lrwxrwxrwx 1 root paco 12 2004-03-18 04:32 /dev/usbscanner0 -> usb/scanner0
crw-rw---- 1 root paco 180, 48 2002-07-14 07:55 /dev/usb/scanner0

94.6. Reconocimiento del harware


Esto requiere tener conectado el scanner al puerto usb.
lsusb

Bus 002 Device 001: ID 0000:0000


Bus 002 Device 002: ID 04a9:220e Canon, Inc. CanoScan N1240U/LiDE 30
Bus 001 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000

sane-find-scanner -q

found USB scanner (vendor=0x04a9, product=0x220e) at /dev/usb/scanner0


found USB scanner (vendor=0x04a9, product=0x220e) at /dev/usbscanner
found USB scanner (vendor=0x04a9, product=0x220e) at /dev/usbscanner0
found USB scanner (vendor=0x04a9 [Canon], product=0x220e [CanoScan], chip=LM983x?) at libusb:002:0

Por Paco Aldarias 390/449


Linux

Hay dos datos importante, que le pasaremos al módulo scanner:

vendor=0x04a9
product=0x220e

Instalar los siguiente modulos del kernel:

modprobe usbserial
modprobe usb-ohci
modprobe usbcore
modprobe scanner vendor=0x04a9 product=0x220e

Editar el fichero /etc/modules.conf y añadir:

alias usbcore off


alias usb-controller usb-ohci
alias usb-controller1 ehci-hcd

94.7. Configurar sane


Añadir al fichero /etc/sane.d/plustek.conf

[usb] 0x04A9 0x220E


device /dev/usbscanner

94.8. Script de arranque y parada


#! /bin/bash

case "$1" in
start)
echo Encendiendo el scanner
modprobe usbserial
modprobe usb-ohci
modprobe usbcore
modprobe scanner vendor=0x04a9 product=0x220e
lsusb
sane-find-scanner -q
usbmgr
;;

stop)
echo Apagando el scanner
rmmod -r -s usbserial
rmmod -r -s usb-ohci
rmmod -r -s usbcore
rmmod -r -s scanner
;;
*) echo "Uso: scanner.sh start|stop"
exit 1
;;
esac

Por Paco Aldarias 391/449


Linux

94.9. Programas para scanear

94.9.1. gimp

Gimp es programa de tratamiento de imágenes, que por si mismo no puede scanear necesita
integrarse con otros programas. La imagen una vez scaneada puede ser tratada con gimp.
Paquetes: dpkg -l — grep gimp

ii babygimp 0.41-6 An icon editor in Perl-Tk


ii gimp 2.2.3-2 The GNU Image Manipulation Program
ii gimp-data 2.2.3-2 Data files for The GIMP
ii gimp1.2 2.2.3-2 Transitional dummy package for upgrading The
ii gimp1.2-nonfre 1.2.3-2.4 GIF support for the GNU Image Manipulation P
ii gimp1.2-print 4.2.2-pre2-1 The Print plugin for the GIMP
ii gimp2.0-quitei 0.3-3 A Qt based SANE plugin for GIMP 2.0
ii ijsgimpprint 4.2.7-5 Inkjet Server - Ghostscript driver for Gimp-
ii libgimp1.2 1.2.5-3 Libraries necessary to run the GIMP, version
ii libgimp2.0 2.2.3-2 Libraries necessary to run the GIMP
ii libgimpprint1 4.2.7-5 The Gimp-Print printer driver library

94.9.2. xsane

Programa de scaneo para x

dpkg -l | grep xsane


ii xsane 0.97-3 GTK+-based X11 frontend for SANE (Scanner Ac
ii xsane-common 0.97-3 GTK+-based X11 frontend for SANE (Scanner Ac

94.9.3. kooka

Programa de scaneo para kde.

dpkg -l | grep kooka


ii kooka 3.3.2-1 Scanner program for KDE

94.9.4. quiteinsane

quiteinsane es un programa de scaneo hecho en qt, que puede integrarse en gimp


Paquetes instalados:

ii gimp2.0-quitei 0.3-3 A Qt based SANE plugin for GIMP 2.0


ii quiteinsane 0.10-7 A Qt based X11 frontend for SANE (Scanner Ac

94.10. Bibliografia
1. Pagina oficial de sane
http://www.sane-project.org/

2. he Scanner HOWTO
http://tldp.org/HOWTO/Scanner-HOWTO/interfaces.html#OSSUPPORT

Por Paco Aldarias 392/449


Linux

3. Cómo conseguir que funcione el scanner AGFA SNAPSCAN 1212 USB


http://siris.binissalem.net/Manuales/Agfa-Snapscan-USB/

Por Paco Aldarias 393/449


Linux

Capı́tulo 95

Instalar el sitema de audio con Alsa

95.1. Introducción
Vamos a ver como se instala el sistema de sonido alsa en kernel 2.4.x. En kernels 2.6.x va
intergrado.
El sistema de sonido normal es el oss.
Alsa necesita instalarse como parte del kernel.
La calidad del audio es sendiblemente mejor con alsa que con oss.

95.2. Programas instalados


dpkg -l | grep alsa
ii alsa-base 1.0.7-2 ALSA driver configuration files
ii alsa-oss 1.0.7-1 ALSA OSS-compatibility application wrapper
ii alsa-source 1.0.7-2 ALSA driver sources
ii alsa-utils 1.0.7-2 ALSA utilities
ii alsamixergui 0.9.0rc2-1-7 graphical soundcard mixer for ALSA soundcard
ii gnome-alsamixe 0.9.6-1 ALSA sound mixer for GNOME
ii gstreamer-alsa 0.6.4-5.1 ALSA plugin for GStreamer
pi libesd-alsa0 0.2.35-2 Enlightened Sound Daemon (ALSA) - Shared lib

95.3. Ver los dispositivos de audio


lscpi
Multimedia audio controller: Ensoniq 5880 AudioPCI (rev 02)

95.4. Bajarse los drivers de las tarjetas


Entrar aquı́ y bajarse los drivers: http://www.alsa-project.org/download.php
Yo me baje este archivo: alsa-driver-1.0.5.tar.bz2
Copiarlo y descomprimirlo en una carpeta:

mkdir /usr/src/alsa

Por Paco Aldarias 394/449


Linux

cp alsa-driver-1.0.5.tar.bz2 /usr/src/alsa
tar jxvf alsa-driver-1.0.5.tar.bz2
cd /usr/src/alsa/alsa-driver-1.0.5

Compilarlo con:

./configure --with-sequencer=yes && make


make install
./snddevices

Instalar los módulos:

modprobe snd-ens1371;modprobe snd-pcm-oss;


modprobe snd-mixer-oss;modprobe snd-seq-oss

95.5. Configurar alsa: Alsaconf


Fichero de configuración de alsa:

alsaconf

Este genera:

### update-modules: start processing /etc/modutils/sound


# --- BEGIN: Generated by ALSACONF, do not edit. ---
# --- ALSACONF verion 1.0.7 ---
alias snd-card-0 snd-ens1371
alias sound-slot-0 snd-ens1371
# --- END: Generated by ALSACONF, do not edit. ---

95.6. Configurar el volumen


alsamixer

Arrancar el demonio

/etc/init.d/alsa restart

Dar permisos:

chmod 666 /dev/snd/*


chmod 666 /dev/mixer* /dev/midi* /dev/dsp* /dev/sequencer*

Ver los dispositivos de audio

cat /proc/asound/oss/devices
2: [0- 2]: raw midi
12: [0-12]: digital audio
3: [0- 3]: digital audio
0: [0- 0]: mixer
1: : sequencer
8: : sequencer

Mezclador de alsa

alsamixergui

Por Paco Aldarias 395/449


Linux

95.7. Bibliografia
1. Pagina oficial de alsa.
http://www.alsa-project.org/

2. Instalando alsa con las fuentes. (en inglés)


http://alsa.opensrc.org/index.php?page=Quick+Install

3. Direct Mixing y Full Duplex con drivers de sonido ALSA


http://www.gplurv.org/node/view/151

Por Paco Aldarias 396/449


Linux

Capı́tulo 96

Instalar un lapiz usb (pen drive):


sda

96.1. Introducción
El lapiz usb también llamado o usb bar o pen drive Vermos como es la instalación de un lapiz
usb. En concreto es un lapiz usb captiva 2.0 de 250Mb
Los lápices usb son trabados como dispositivos usb. Y se tratan de forma igual q si fuera otro
disco duro.

96.2. Kernel 2.6

96.2.1. Módulos del kernel

SECCIÓN FILESYSTEMS
umsdos

cat /usr/src/linux-2.6.13.2/.config | grep MSDOS


CONFIG_MSDOS_FS=y
CONFIG_MSDOS_PARTITION=y

SECCIÓN GENERAL SETUP


* Support for hot-pluggable devices.

cat /usr/src/linux-2.6.13.2/.config | grep PLUG


CONFIG_HOTPLUG=y
# CONFIG_ACPI_HOTPLUG_CPU is not set
CONFIG_HOTPLUG_PCI_PCIE=m
# CONFIG_HOTPLUG_PCI_PCIE_POLL_EVENT_MODE is not set
CONFIG_HOTPLUG_CPU=y
CONFIG_HOTPLUG_PCI=m
CONFIG_HOTPLUG_PCI_FAKE=m
CONFIG_HOTPLUG_PCI_COMPAQ=m
# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
CONFIG_HOTPLUG_PCI_IBM=m
CONFIG_HOTPLUG_PCI_ACPI=m
CONFIG_HOTPLUG_PCI_ACPI_IBM=m

Por Paco Aldarias 397/449


Linux

# CONFIG_HOTPLUG_PCI_CPCI is not set


CONFIG_HOTPLUG_PCI_SHPC=m
# CONFIG_HOTPLUG_PCI_SHPC_POLL_EVENT_MODE is not set

SECCIÓN USB
* Support for USB.
[M] UHCI/OHCI support (depende de chipsets placa). (NOTA: Por lo general, el driver UHCI es
para placas con chipsets Intel o Via, mientras que el resto -Compaq, SiS, Ali...- suele usar el
OHCI. Ante la duda o imposibilidad de encontrar el correspondiente, pon los dos como módulos
y carga luego el necesario, o bien consulta el enlace del pié del artı́culo para saber cuál es el
correcto para tu placa).

cat /usr/src/linux-2.6.13.2/.config | grep UHCI


CONFIG_USB_UHCI_HCD=y

[M] USB Mass Storage support.


* Preliminary USB Device Filesystem (para poder chequear el funcionamiento del sistema de
ficheros USB, aunque no es imprescindible).

cat /usr/src/linux-2.6.13.2/.config | grep USB_STORAGE


# NOTE: USB_STORAGE enables SCSI, and ’SCSI disk support’ may also be needed; see USB_STORAGE Help
CONFIG_USB_STORAGE=y
CONFIG_USB_STORAGE_DEBUG=y

SECCIÓN SCSI
* SCSI support.
[M] SCSI disk support.

cat /usr/src/linux-2.6.13.2/.config | grep CONFIG_SCSI


CONFIG_SCSI=y

* SCSI generic support.

96.2.2. Listar los usbs

lsusb
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 005: ID 4586:1026
Bus 001 Device 001: ID 0000:0000

96.2.3. Reconocerlo

Instalar:

apt-get install udev

Versión:

dpkg -l udev
ii udev 0.071-1 /dev/ and hotplug management daemon

Por Paco Aldarias 398/449


Linux

96.2.4. Ver si a cogido el lapiz

cat /proc/partitions
...
major minor #blocks name
8 0 253952 sda
8 1 253936 sda1

96.2.5. Ver información del lapiz

udevinfo -a -p /sys/block/sda/
looking at the device chain at ’/sys/devices/pci0000:00/0000:00:02.2/usb1/1-3’:
BUS=="usb"
ID=="1-3"
DRIVER=="usb"
SYSFS{bConfigurationValue}=="1"
SYSFS{bDeviceClass}=="00"
SYSFS{bDeviceProtocol}=="00"
SYSFS{bDeviceSubClass}=="00"
SYSFS{bMaxPacketSize0}=="64"
SYSFS{bMaxPower}=="500mA"
SYSFS{bNumConfigurations}=="1"
SYSFS{bNumInterfaces}==" 1"
SYSFS{bcdDevice}=="0050"
SYSFS{bmAttributes}=="80"
SYSFS{configuration}==""
SYSFS{devnum}=="5"
SYSFS{idProduct}=="1026"
SYSFS{idVendor}=="4586"
SYSFS{manufacturer}==" "
SYSFS{maxchild}=="0"
SYSFS{product}=="USB BAR "
SYSFS{serial}=="574C1E00003B"
SYSFS{speed}=="480"
SYSFS{version}==" 2.00"

96.3. Kernel 2.4

96.3.1. Módulos del kernel

SECCIÓN FILESYSTEMS
umsdos
SECCIÓN GENERAL SETUP
* Support for hot-pluggable devices.
SECCIÓN USB
* Support for USB.
[M] UHCI/OHCI support (depende de chipsets placa). (NOTA: Por lo general, el driver UHCI es
para placas con chipsets Intel o Via, mientras que el resto -Compaq, SiS, Ali...- suele usar el
OHCI. Ante la duda o imposibilidad de encontrar el correspondiente, pon los dos como módulos
y carga luego el necesario, o bien consulta el enlace del pié del artı́culo para saber cuál es el
correcto para tu placa).

Por Paco Aldarias 399/449


Linux

[M] USB Mass Storage support.


* Preliminary USB Device Filesystem (para poder chequear el funcionamiento del sistema de
ficheros USB, aunque no es imprescindible).
SECCIÓN SCSI
* SCSI support.
[M] SCSI disk support.
* SCSI generic support.

96.3.2. El arranque

dmesg | grep usb


usb.c: USB device not accepting new address=3 (error=-71)
usb-uhci.c: $Revision: 1.275 $ time 20:19:53 Dec 10 2002
usb-uhci.c: High bandwidth mode enabled
usb-uhci.c: v1.275:USB Universal Host Controller Interface driver
usb-uhci.c: $Revision: 1.275 $ time 20:19:53 Dec 10 2002
usb-uhci.c: High bandwidth mode enabled
usb-uhci.c: v1.275:USB Universal Host Controller Interface driver
usb.c: USB disconnect on device 00:02.2-3 address 4
usb.c: USB disconnect on device 00:02.2-4 address 5
usb.c: USB disconnect on device 00:02.2-0 address 1
usb.c: USB disconnect on device 00:02.2-3 address 6
usb.c: USB bus 3 deregistered
usb.c: USB disconnect on device 00:02.1-1 address 2

96.3.3. Modulos cargados

lsmod | grep usb


usb-storage 54460 1
dabusb 33520 0 (unused)
usbserial 17532 0 [pl2303]
usb-ohci 18088 0 (unused)
usbcore 57088 2 [hid usb-storage scanner dabusb mdc800 microtek pl2303 usbserial

96.3.4. Listar los usbs

lsusb
Bus 002 Device 001: ID 0000:0000
Bus 002 Device 003: ID 4586:1026
Bus 001 Device 001: ID 0000:0000

96.3.5. Reconocerlo

Instalar:

apt-get install sg3-utils

sg_scan -i
/dev/sg0: scsi0 channel=0 id=0 lun=0 [em]
HL-DT-ST CD-RW GCE-8480B 1.03 [rmb=1 cmdq=0 pqual=0 pdev=0x5]

Por Paco Aldarias 400/449


Linux

/dev/sg1: scsi0 channel=0 id=1 lun=0 [em]


LG DVD-ROM DRD8120B 1.03 [rmb=1 cmdq=0 pqual=0 pdev=0x5]
/dev/sg2: scsi1 channel=0 id=0 lun=0 [em]
USB BAR 1.13 [rmb=1 cmdq=0 pqual=0 pdev=0x0]

Se aprecia que el lápiz esta en /dev/sg2

sg_map
/dev/sg0 /dev/scd0
/dev/sg1 /dev/scd1
/dev/sg2 /dev/sda

Se aprecia que el lápiz esta en /dev/sda. Es importante saber que es el sda ya que es con el que
trabajaremos.

96.3.6. Ver el dispositivo con cdrecord

cdrecord -scanbus
Cdrecord-Clone 2.01.01a01 (i686-pc-linux-gnu) Copyright (C) 1995-2004 Jörg Schilling
NOTE: this version of cdrecord is an inofficial (modified) release of cdrecord
and thus may have bugs that are not present in the original version.
Please send bug reports and support requests to <cdrtools@packages.debian.org>.
The original author should not be bothered with problems of this version.

Linux sg driver version: 3.1.24


Using libscg version ’schily-0.8’.
scsibus0:
0,0,0 0) ’HL-DT-ST’ ’CD-RW GCE-8480B ’ ’1.03’ Removable CD-ROM
0,1,0 1) ’LG ’ ’DVD-ROM DRD8120B’ ’1.03’ Removable CD-ROM

scsibus1:
1,0,0 100) ’’ ’’ ’’ Removable not present Disk

Se aprecia que aparece el lapiz en: scsibus1

96.4. Formatear el lápiz


fdisk /dev/sda (Indicar q sea fat32)
mkfs.vfat /dev/sda1

96.5. Montarlo
Crear la carpeta lapiz

mkdir /lapiz
chmod 777 /lapiz

editar /etc/fstab

/dev/sda1 /lapiz vfat rw,exec,user,noauto 0 0

Por Paco Aldarias 401/449


Linux

96.6. Bibliografia
1. Utilizar un lector de tarjetas flash (MMC/SD) bajo Linux
http://bulma.net/body.phtml?nIdNoticia=1883

2. Montar memorias USB


http://www.asturlinux.org/comunidad/MemoriaUSB

3. Configuración de un Pen-Drive en Linux


http://www.badopi.org/node/301

Por Paco Aldarias 402/449


Linux

Capı́tulo 97

Ba jarse news con binarios: brag

97.1. Introducción
Vamos a ver como bajar new con binarios es decir con ficheros jpg, avi, etc.
Para ello utilizaremos brag.

97.2. Instalación
apt-get install brag

97.3. Para saber que grupos ahi


brag -L -s news.ono.com -l miusuario -p micontrasena > /wine/brag/grupos.txt

97.4. Para bajarse un grupo


Sintasis:

brag -c -s news.ono.com -l usuario -p contrase~


na -g grupo -o /carpeta_destino -a ’*.jpg*’ -t 5

97.5. Script para bajarse varios grupos


#rm -r -f .brag/
destino=/wine/brag
cat grupos.txt
for grupo in ‘cat grupos.txt‘
do
mkdir $destino/$grupo
done

for grupo in ‘cat grupos.txt‘


do
brag -c -s news.ono.com -l miusuario -p micontrase~
na -g $grupo -o $destino/$grupo -a ’*.jpg*’ -t

Por Paco Aldarias 403/449


Linux

done

El fichero grupos.txt contendra los grupos que me interesan:


cat grupos.txt

alt.binaries.pictures.centerfolds.playboy
alt.binaries.full.post.verified.playboy
alt.binaries.celebrities.nude
alt.binaries.nude.celebrities.female
alt.binaries.multimedia.erotic.playboy
alt.binaries.pictures.alley-baggett
alt.binaries.pictures.amateur
alt.binaries.pictures.celebrities
alt.binaries.pictures.female
alt.binaries.pictures.nude.celebrities
alt.binaries.pictures.models
alt.binaries.pictures.erotica.pantyhose

Por Paco Aldarias 404/449


Linux

Capı́tulo 98

Monitorizar la temperatura de la
cpu: sensors

98.1. Introducción
Vamos a ver como poder monitorizar la temperatura de la cpu, los voltajes, las revoluaciones de
los ventiladores, etc.
Vamos a necesitar activar el soporte I2C
La versión del kernel 2.4 no incluye sensores, pero sı́ la 2.6.

98.2. El kernel
La configuracion de nuestro nucleo para inclur el soporte I2C que se encuentra en :

Character Devices
I2C support
<M> I2C support
<M> I2C bit-banging interfaces
< > Philips style parallel port adapter (NEW)
< > ELV adapter (NEW)
< > Velleman K8000 adapter (NEW)
< > NatSemi SCx200 ACCESS.bus
<M> I2C PCF 8584 interfaces
< > Elektor ISA card (NEW)
<M> I2C device interface
<M> I2C /proc interface (required for hardware sensors)

98.3. Instalación
apt-get install i2c-source lm-sensors-source lm-sensors kernel-package
Nota: Se puede tb descargar de:
http://www2.lm-sensors.nu/∼lm78/archive/

cd /usr/src/

Por Paco Aldarias 405/449


Linux

make-kpkg modules-image
dpkg -i i2c-2.4.29_2.9.0-14+10.00.Custom_i386.deb
dpkg -i lm-sensors-2.4.29_2.9.0-17+10.00.Custom_i386.deb

Definir estas variables:

LINUX=/lib/modules/2.4.29/build
MODDIR=/lib/modules/2.4.29/

98.4. Saber que sensores usar


Desde consola como root:
sensors-detect
al fichero /etc/modules,
le editamos y le añadimos las lineas indicadas.

/etc/init.d/modutils stop
/etc/init.d/modutils start

98.5. Ver los sensores


sensors

w83627hf-isa-0290
Adapter: ISA adapter
VCore 1: +1.57 V (min = +1.47 V, max = +1.62 V)
VCore 2: +1.47 V (min = +1.47 V, max = +1.62 V) ALARM
+3.3V: +3.25 V (min = +3.14 V, max = +3.46 V)
+5V: +5.02 V (min = +4.74 V, max = +5.24 V)
+12V: +11.86 V (min = +10.83 V, max = +13.19 V)
-12V: -11.77 V (min = -13.16 V, max = -10.90 V)
-5V: -5.10 V (min = -5.26 V, max = -4.76 V)
V5SB: +5.48 V (min = +4.74 V, max = +5.24 V)
VBat: +3.09 V (min = +2.40 V, max = +3.60 V)
fan1: 0 RPM (min = 174 RPM, div = 32)
fan2: 4218 RPM (min = 1757 RPM, div = 32)
fan3: 0 RPM (min = 12053 RPM, div = 16)
temp1: -48◦ C (high = +6◦ C, hyst = -77◦ C) sensor = thermistor
temp2: +44.5 C (high = +120 C, hyst = +115◦ C)
◦ ◦
sensor = thermistor
temp3: +19.0◦ C (high = +120◦ C, hyst = +115◦ C) sensor = thermistor
vid: +1.550 V (VRM Version 8.2)
alarms:
beep_enable:
Sound alarm disabled

98.6. Utilidad kde: ksensors


Ksensores permite ver los sensores en modo gráfico.
Instalación:

Por Paco Aldarias 406/449


Linux

apt-get install ksensors

Figura 98.1: Ksensors

98.7. Bibliografı́a
1. lm-sensors en debian
http://www.tulinet.com/lmsensors/lm-sensors-guia.htm

2. Como monitorizar la temperatura de tu ordenador en Linux http://bulma.net/impresion.


phtml?nIdNoticia=964

Por Paco Aldarias 407/449


Linux

Capı́tulo 99

Controlar el ancho de banda:


shaper, netfilter, tc.

99.1. Introducción
Vamos ver como podemos controlar el ancho de banda, por servicio o por ips.

99.2. Controlar la velocidad del servidor web: shaper


Traffic Shaper.
1.- Compilar el kernel con soporte de NETLINK y NETRTLINK y con estos módulos:

Module Size Used by Tainted: P


cls_u32 4484 1
sch_prio 2240 0 (unused)
sch_sfq 3328 0 (unused)
sch_tbf 2272 1
sch_cbq 11552 1
sch_gred 4448 0 (unused)
sch_red 2240 0 (unused)
sch_teql 3328 0 (unused)
sch_dsmark 3712 0 (unused)
netlink_dev 1728 0 (unused)
ip_queue 5140 0 (unused)

(y las opciones de kernel necesarias para poder marcarlos, como QoS y demás).
2.- Instalar el paquete SHAPER de debian, ası́ como iproute:

apt-get install shaper iproute

3.- Crear el fichero /etc/shaper/cbq-10.http.network con este contenido:

DEVICE=eth1,300Kbit,30Kbit
RATE=80Kbit
WEIGHT=8Kbit
PRIO=4
RULE=AQUI_MI_IP:80,

Por Paco Aldarias 408/449


Linux

4.- Reiniciar shaper (/etc/init.d/shaper restart) y comprobar que va la web.


Como véis, de los 300Kbit que tengo le asigno 80Kbit (10KB/seg) al tráfico Web. Lo he probado
y funciona perfectamente (más o menos). Si descargo yo un fichero voy a 10KB/seg. Si otra
persona lo descarga simul- táneamente ambos bajamos a aprox 5KB/seg . Esto me deja libre
otro ancho de banda para otros servicios :-)
Además se pueden poner reglas según la hora con TIME (en el fichero).

99.2.1. Script para shaper

Automatizarlo para que ono se pueda usar en ono:


cat shaper.sh

for l in \
cls_u32 \
sch_prio \
sch_sfq \
sch_tbf \
sch_cbq \
sch_gred \
sch_red \
sch_teql \
sch_dsmark \
netlink_dev \
ip_queue
do
/sbin/modprobe $l
done

#Saber la ip externa de Ono


INET_IP=‘/sbin/ifconfig eth0 | grep "inet addr:" | awk ’{print $2}’ | cut -c 6-‘

#Fichero Destino
f=/etc/shaper/cbq-10.http.network

#Contenido
echo DEVICE=eth0,600Kbit,30Kbit >$f
echo RATE=80Kbit >>$f
echo WEIGHT=8Kbit >>$f
echo PRIO=4 >>$f
echo RULE=$INET_IP:80, >>$f

/etc/init.d/shaper restart

99.2.2. Estado de shaper: /etc/init.d/shaper

/etc/init.d/shaper status
/etc/init.d/shaper compile

/sbin/tc qdisc del dev eth0 root


/sbin/tc qdisc add dev eth0 root handle 1 cbq bandwidth 600Kbit avpkt 1000 cell 8
/sbin/tc class change dev eth0 root cbq weight 30Kbit allot 1514

/sbin/tc class add dev eth0 parent 1: classid 1:10 cbq bandwidth 600Kbit rate 80Kbit weight 8Kbit

Por Paco Aldarias 409/449


Linux

/sbin/tc qdisc add dev eth0 parent 1:10 handle 10 tbf rate 80Kbit buffer 10Kb/8 limit 15Kb mtu 150
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip src 81.202.240.62 match

Para la gente que se encuentra con el siguiente error RTNETLINK answers: File exists ”.Esto se
da por que estan queriendo ingresar una banda ya ingresada. Deben borrar todo ,con el siguiente
comando ”tc qdisc del dev ethX root”, donde X es la interfaz.

99.3. Control de ancho de banda dando prioridad al puerto


22: Netfilter
cat netfilter.sh

#!/bin/bash -x
# http://bulma.net/body.phtml?nIdNoticia=1727
# Creación del árbol de bandas

KbTotal=600
Kbssh=400
Kbresto=200

tc qdisc del dev eth0 root


tc qdisc add dev eth0 root handle 1: htb default 1 # Por defecto toda la información irá a la band
tc class add dev eth0 parent 1: classid 1:1 htb rate 600kbps ceil 600kbps
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 400kbps ceil 600kbps
tc class add dev eth0 parent 1:1 classid 1:20 htb rate 200kbps ceil 600kbps prio 1 # Esta banda ti

# Asociación de colas sfq con bandas

tc qdisc add dev eth0 parent 1:10 handle 10: sfq


tc qdisc add dev eth0 parent 1:20 handle 20: sfq

# Se asocia la marca 1 con la banda 10

tc filter add dev eth0 protocol ip parent 1: handle 1 fw classid 1:10


tc filter add dev eth0 protocol ip parent 1: handle 1 fw classid 1:20

# Reglas de filtrado (se marca con un 1 a todos los paquetes destinados a un ftp)

iptables -A FORWARD -i eth0 -o eth0 -p tcp --dport 22 -t mangle -j MARK --set-mark 1


iptables -A FORWARD -i eth0 -o eth0 -p tcp --dport 1:100 -t mangle -j MARK --set-mark 2 # Se marca

#iptables -A FORWARD -s 192.168.0.1 -i $DEV -t mangle -j MARK --set-mark 5

99.4. Control del ancho de banda: Minilancontrol


#!/bin/bash
#minilancontrol
#scrip para la gestion del ancho de banda en una minilan(256/128) por wless

Por Paco Aldarias 410/449


Linux

#http://bulma.net/body.phtml?nIdNoticia=1727

DEV=eth1
RATEUP=160

case "$1" in
start)
#creaciuon del arbol de bandas
tc qdisc add dev $DEV root handle 2: htb default 60
tc class add dev $DEV parent 2: classid 2:1 htb rate 120kbps ceil ${RATEUP}kbps
tc class add dev $DEV parent 2:5 classid 2:50 htb rate $[50*$RATEUP/100]kbps ceil ${RATEUP}kbps
tc class add dev $DEV parent 2:6 classid 2:60 htb rate $[50*$RATEUP/100]kbps ceil ${RATEUP}kbps p

#tc class add dev $DEV parent 2:7 classid 2:70 htb rate $[4*$RATEUP/100]kbps ceil ${RATEUP}kbps p

#asociacion de colas sfq con bandas


tc qdisc add dev $DEV parent 2:50 handle 50: sfq
tc qdisc add dev $DEV parent 2:60 handle 60: sfq

#tc qdisc add dev $DEV parent 3:70 handle 70: sfq

#se asocian marcas con bandas


tc filter add dev $DEV protocol ip parent 2: handle 5 fw classid 2:50
tc filter add dev $DEV protocol ip parent 2: handle 6 fw classid 2:60

#tc filter add dev $DEV protocol ip parent 3: handle 7 fw classid 3:70

#reglas de filtrado
iptables -A FORWARD -s 192.168.0.1 -i $DEV -t mangle -j MARK --set-mark 5
iptables -A FORWARD -s 192.168.0.2 -i $DEV -t mangle -j MARK --set-mark 6

#iptables -A FORWARD -s 192.168.1.0/24 -i $DEV -t mangle -j MARK --set-mark 7


echo "MiniLanControl started"
;;
stop)
# borro la reglas de filtrado
iptables -t mangle -F FORWARD 2> /dev/null > /dev/null
iptables -t mangle -X FORWARD 2> /dev/null > /dev/null
# borro las bandas
tc qdisc del dev $DEV root 2> /dev/null > /dev/null
tc qdisc del dev $DEV ingress 2> /dev/null > /dev/null
tc qdisc del dev $DEV root 2> /dev/null > /dev/null
echo "MiniLanControl stoped"
;;
restart)
$0 stop
$0 start
;;

status)
# muestro datos interesantes
echo "[qdisc]"
tc -s qdisc show dev $DEV
echo "[class]"
tc -s class show dev $DEV
echo "[filter]"

Por Paco Aldarias 411/449


Linux

tc -s filter show dev $DEV


echo " "
echo "[iptables]"
iptables -t mangle -L FORWARD -xnv
exit
;;
*)
echo "Use: $0 {start|stop|restart|status}"
;;
esac

#fin

99.5. Bibliografia
1. Método para la ecualización del ancho de banda
http://bulma.net/body.phtml?nIdNoticia=1727

2. Linux Advanced Routing & Traffic Control HOWTO


http://www.tldp.org/HOWTO/Adv-Routing-HOWTO/index.html

Por Paco Aldarias 412/449


Linux

Capı́tulo 100

Escuchar emisoras de radio:


mplayer

100.1. Introducción
Vamos a crear un script que nos permite escuchar emisoras de radio, y poder mantener una lista
de emisoras se sea fácil de mantener
Necesitaremos crear dos ficheros:

1. emisoras.sh

2. emisoras.txt

El fichero emisoras.txt es donde se guardar las emisoras q llamara emisoras.sh

100.2. Lista de emisoras: emisoras.txt


Crear este fichero que contenga lo siguiente

Por Paco Aldarias.


Fecha 19.04.2004
id;Nombre;URL

RADIOS ESPA~
NOLAS
RNE
id01;RNE Radio;http://a729.l830022151.c8300.e.lm.akamaistream.net/D/729/8300/v0001/reflector:22151
id02;RNE Radio Clasica;http://a1247.l910622804.c9106.e.lm.akamaistream.net/D/1247/9106/v0001/refle
id03;RNE Radio 3;http://a1830.l830120550.c8301.e.lm.akamaistream.net/D/1830/8301/v0001/reflector:2
id04;RNE Radio 5;http://a1360.l910520572.c9105.e.lm.akamaistream.net/D/1360/9105/v0001/reflector:2
id05;RNE Radio Exterior de Espa~
na;http://a259.l773120483.c7731.e.lm.akamaistream.net/D/259/7731/v0

NOTICIAS
id06;Cadena SER;mms://www.cadenaser.com/player/SER-TIC.asx;
id07;Cope;http://live.cope.edgestreams.net/reflector:34744;
id08;OndaCero;http://a536.l507220547.c5072.g.lm.akamaistream.net/D/536/5072/1006357674/reflector:2

MUSICA
id09;Classic FM;http://audio.musicradio.com/classicfm.asx;

Por Paco Aldarias 413/449


Linux

id10;Los 40 Principales;mms://a877.l783938876.c7839.e.lm.akamaistream.net/D/877/7839/v0001/reflect
id11;M80 Radio;mms://www.los40.com/nuevo_player/m80.asx;
id12;Europa FM;http://www.ondacero.es/europafm.asx;
id13;Cadena 100;http://www.cadena100.es/directo/directo.asx;
id14;Kiss FM;http://pointers.audiovideoweb.com/asxfiles-live/njwinlive7524.asx;
id15;Maxima FM;http://www.los40.com/nuevo_player/maxima.asx;
id16:Cadena Dial;mms://www.los40.com/nuevo_player/dial.asx;
id17;MqmDance;mplayer -cache 256 http://win20ca.audiovideoweb.com/avwebwinlive8161;

EMISORAS EXTRANJERAS

NOTICIAS

Talk Station
id18;World Radio Network Talk Radio;http://www.wrn.org/audio/wrn1usa_usa.asx;
id19:Bournemouth Internet Radio Station;http://birstradio.com/audio/aslive28.asx;
id20;Talk Sport;http://www.talksport.net/audio/talksport.asx;
id21;CHED Canada;http://acwt2.activate.net/radiostations/ched.asx;
id22;Australian Broadcasting News;http://www.abc.net.au/streaming/newsradio.asx;
id23:Bloomberg;http://www.bloomberg.com/streams/audio/delivery/radio_live.asx?synd=msoft;

MUSICALES
id24;All Funky;http://www.comfm.com/live/radio/allfunky/allfunky.asx;
id25;The Entertainment Authority;http://www.5fm.co.za/5fm2001/pages/media/5fm.asx;
id26;Baja Radio;http://www.bajaradio.com/bajaradio.asx;
id27;Choice Radio;http://release.theplatform.com/deliverable.select?pid=DTZfvHEmR4LaRtjVGPJvwhajRo
id28:Hawk FM;http://142.176.141.243:8080/Live.asx;
id29;The Core;http://www.core.musicradio.com/audio.asx;
id30;Radio Free Virgin Hot Country;http://www.radiofreevirgin.com/asx/hotcountry_56.asx;

COUNTRY
id31;24 hour Bluegrass;http://www.warpradio.com/asx/bluegrass-in.asx;
id32;Choice Radio Country;http://release.theplatform.com/deliverable.select?pid=v-HYoL_YCDdPjD4SNX
id33;88 Jazz Place;http://publicbroadcast.net/wdna/ppr/players/stations/wdna/wdna.asx;

JAZZ
id34;blake Radio;http://www.blakeradio.com/media/musicmassage_high_02.asx;
id35;City World Jazz;http://radio.sonicnet.com/playlists/rpmprof.asp?C=HIGH&B=136&X=X&playerID=24&
id36;Musicians.Net;http://www.musicians.net/media/MNetLive.asx;
id37;Radio Free Virgin Avant Guardians;http://www.radiofreevirgin.com/asx/avantguardians_56.asx;
id38;Jazz FM;http://www.jazzfm.com/JazzLive/JazzFMStreamAnnounce.asx;

BLUES
id39;British Blues Radio;http://www.radiocave.com/BritishBluesRadio.asx;
id40;City World Blues;http://radio.sonicnet.com/playlists/rpmprof.asp?C=LOW&B=6&X=X&playerID=24&Z=
id41;Electric Blues Radio;http://www.electricblues.com/ram/ebradio16.asx;
id42;Radio Cave;http://www.radiocave.com/radiocave.asx;
id43;Radio Free Virgin Blues;http://www.radiofreevirgin.com/asx/blues_56.asx;
id44;House of Blues;http://release.theplatform.com/deliverable.select?pid=FFIGzO8LqLHJ8yiCaP9os3TN

ROCK
id45;Heart FM (Soft Rock);http://www.virtuetv.com/clients/crysallis/heart1007.asx;
id46:Totally Radio Reggae;http://www.totallyradio.com/asx/live/reggae.asx;
id47;Total Rock;http://windowsmedia.msn.com/radiotuner/findstations.asp?locale=809&genre=JZ;
id48;All Hard FM;http://www.comfm.fr/live/radio/allhardfm/allhardfm.asx;
id49;City Head Rock;http://radio.sonicnet.com/playlists/rpmprof.asp?C=HIGH&B=168&X=X&playerID=24&Z

Por Paco Aldarias 414/449


Linux

id50;City Head Classic Rock;http://radio.sonicnet.com/playlists/rpmprof.asp?C=LOW&B=68&X=X&playerI

CLASICAL
id51;2000 Classical.Com;http://www.2000classical.com/classical.asx;
id52;ChoiceRadioClassical;http://release.theplatform.com/deliverable.select?pid=3T01k6rKbtSwo0MHyQ
id53;Classic FM;http://audio.musicradio.com/classicfm.asx;
id54;Colorado Public Radio;http://www.cpr.org/listen/listen_classical.asx;
id55;Radio Antena 2;http://194.235.129.79/antena2.asx;
id56;Radio 13.Net;http://www.radio13.net/windowsmedia/english/classical.asx;

OLD TIME
id57;Brando Classics;http://www.brandoclassicotr.com/otr.asx;
id58;Flix radio from the movies;http://www.infinity-media-ltd.com/flixradio/RSPlayer/Flix.asx;
id59;Ragtime Radio Jukebox;http://nep1.net/asx/nep1ragtimejukebox.asx;
id60;Rat Pack Live;http://www.ratpacklive.com/ratpack.asx;
id61;Sorrento Live Radio;http://www.sorrentoradio.com/PROVA/SORRENTORADIO.ASX;

FOREING LANGUAGE
id62;Asahi Broadcasting, Osaka;http://www.asahi.co.jp/webio/intro.asx;
id63;NRK Norway;http://www6.nrk.no/nettradio/nrk_sami_lav.asx;
id64:Red AM Mexico;http://radiocentro.com/asx/redam.asx;

RELIGIOUS
id65:Bay Breeze;http://www.retrojukebox.com/baybreeze.asx;
id66:Inspirational Broadcasting Network;http://ibnradio.com/broadcast/IBNRadio.asx;
id67:The Gospel Station;http://www.warpradio.com/asx/ktgs-fm.asx;
id68:The Heart of Religion Network;http://www.pmt.org.uk/horn.asx;
id69;Worldwide Bible Radio;http://199.120.116.143/bibleradio/bibleradio.asx;
id70;Family Life Network;http://12.39.237.2/network.asx;

DIGITAL MUSIC
id72;Chillout;http://www.di.fm/wma/chillout.asx;
id73;Deep House;http://www.di.fm/wma/deephouse.asx;

RADIOS PERUANAS
Id74;RPP RADIO;http://protv.ituner.com/rpp1-http

100.3. El script de emisoras: emisoras.sh


#!/bin/bash
#Por Paco Aldarias.
#Fecha 19.04.2004

f="emisoras.txt"

function l()
{
cat $f
}

function e()
{
url=‘cat $f | grep $1 | cut -d ";" -f3‘
echo $url

Por Paco Aldarias 415/449


Linux

mplayer -playlist $url


}

case "$1" in
l)
l
;;
e)
e "$2"
;;
h)
echo ******* Ayuda ***************************************************
echo Este fichero necesita de emisoras.txt
echo Para listar las emisoras: ./emisoras.sh l
echo Para escuchar la emisora con id02: ./emisoras.sh e id02
echo Por Paco Aldarias Raya. 19.04.2005. http://pagina.de/pacodebian/
;;

*) echo "Uso: emisoras.sh l | e id | h"


exit 1
;;
esac

Por Paco Aldarias 416/449


Linux

Capı́tulo 101

Recibir por email diarios oficiales


BOE,DOGV: perl

101.1. Introducción
Vamos a ver como poder recibir por correo el DOGV y el BOE. Para ello usaremos perl. Además
filtraremos para que nos saque todo lo de educación en la fecha de hoy.

101.2. Recibir el DOGV: dogv.pl


Ejecutarlo con: ./dogv.pl
Veamos que debe contener: cat dogv.pl

#!/usr/bin/perl -w
use strict;
use CGI::Carp qw(fatalsToBrowser);
use LWP::UserAgent;
use HTTP::Request;
use LWP::Simple;
use URI::Escape;

my $ua = LWP::UserAgent->new;
$ua->agent("Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)");

my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime();
my ($sec2,$min2,$hour2,$mday2,$mon2,$year2,$wday2,$yday2,$isdst2)=localtime(time - 7*24*60*60);
my $hoy = sprintf("%02d.%02d.%04d",$mday,$mon+1,$year+1900);
my $antes = sprintf("%02d.%02d.%04d",$mday2,$mon2,$year2+1900);
my $hoy="\"$hoy\"";
my $fecha = uri_escape($hoy);
my $texto = uri_escape( ’"Educación"’ );
my $url="
http://www.pre.gva.es/DIARIOCGI/BASIS/DIARIO/WEB/INSERCION_DOGV_C/SDW?M=1&W=FECHA_DOGV+=+$fecha+AN
";
print $url;

my $req = HTTP::Request->new(GET => $url);

Por Paco Aldarias 417/449


Linux

my $response = $ua->request($req);
my $cab="\"DOGV $hoy Educación\"";
my $des=’usuario1@dominio.es,usuario2@dominio2’;
#my $des=’paco@ceedcv.com,paco’;
open (CORREO,"| mail -a ’MIME-Version: 1.0’ -a ’Content-type: text/html’ -s $cab $des");
print CORREO $response->content;
close CORREO;

101.3. Recibir el BOE: boe.pl


Ejecutarlo con: ./boe.pl
Veamos que debe contener: cat boe.pl

#!/usr/bin/perl -w
use strict;
use CGI::Carp qw(fatalsToBrowser);
use LWP::UserAgent;
use HTTP::Request;
use LWP::Simple;
use URI::Escape;

my $ua = LWP::UserAgent->new;
$ua->agent("Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)");

my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime();
my ($sec2,$min2,$hour2,$mday2,$mon2,$year2,$wday2,$yday2,$isdst2)=localtime(time - 7*24*60*60);
my $hoy = sprintf("%02d/%02d/%04d",$mday,$mon+1,$year+1900);
my $antes = sprintf("%02d/%02d/%04d",$mday2,$mon2,$year2+1900);
my $hoy="\"$hoy\"";
my $fecha = uri_escape($hoy);
my $texto = uri_escape( ’"Educación"’ );

my $url1="
http://www.boe.es/g/es/bases_datos/search.php?coleccion=indiboe1&operador%5B0%5D=+&campo%5B0%5D=TI
";

my $url2="
http://www.boe.es/g/es/bases_datos/search.php?coleccion=indiboe2&operador%5B0%5D=+&campo%5B0%5D=TI
";

my $url3="
http://www.boe.es/g/es/bases_datos/search.php?coleccion=indiboe3&operador%5B0%5D=+&campo%5B0%5D=TI
";

my $url5="
http://www.boe.es/g/es/bases_datos/search.php?coleccion=indiboe5&operador%5B0%5D=+&campo%5B0%5D=TI
";

my $req1 = HTTP::Request->new(GET => $url1);


my $response1 = $ua->request($req1);

my $req2 = HTTP::Request->new(GET => $url2);

Por Paco Aldarias 418/449


Linux

my $response2 = $ua->request($req2);

my $req3 = HTTP::Request->new(GET => $url3);


my $response3 = $ua->request($req3);

my $req5 = HTTP::Request->new(GET => $url5);


my $response5 = $ua->request($req5);

my $r0="
<h2>
Consulta del BOE para la fecha de hoy, con filtro educación.
web consultada: http://www.boe.es/g/es/bases_datos/indiboe.php
Un saludo. Paco Aldarias
</h2>
";
my $r1 = $response1->content;
my $r2 = $response2->content;
my $r3 = $response3->content;
my $r5 = $response5->content;
my $r = $r0.$r1.$r2.$r3.$r5;

my $cab= "\"BOE $hoy Educación\"";


my $des=’usuario1@dominio.es,usuario2@dominio2’;

open (CORREO,"| mail -a ’MIME-Version: 1.0’ -a ’Content-type: text/html’ -s $cab $des");


print CORREO $r;
close CORREO;

Por Paco Aldarias 419/449


Linux

Capı́tulo 102

Instalar una cámara de fotos digital:


SONY DSC-P200

102.1. Introducción
Vamos a ver como se instala una cámara de fotos Sony CYBER-SHOT DSC-P200.
Esta es la web:
http://www.sony.es/ShowProduct.do?site=odw es ES&category=DPH+Digital+Still+Cameras&product=
DSC-P200

Modelos de Fundas: LCS-PHE, LCS-PHC, LCS-PHA y la LCS-CP2.

Hay dos modos de instalarla :

1. Configurándo la cámara en Modo USB PTP.


Usando ghoto2 solo permite la lectura y no la escritura

2. Como usb normal


Se monta como un disco duro y permite lectura y escritura. Es la opción recomendada

102.2. El kernel y las cámaras de fotos


Para montar nuestra Cámara Dı́gital hay que tener habilitado el soporte USB en nuestro Kernel:

"General Setup" -> "Support for hot-pluggable devices"


"USB Support" -> "Support for USB"
"USB Support" -> "USB Mass Storage Support"

También debes de tener habilitado el soporte SCSI en tu kernel.

"ATA, IDE, MFM, RLL Support" -> "IDE, ATA and ATAPI block devices"
-> "SCSI emulation support"
"SCSI Support" -> "SCSI Support"
"SCSI Support" -> "SCSI Disk Support"
"SCSI Support" -> "SCSI Generic Support"

Por Paco Aldarias 420/449


Linux

102.3. Los permisos


adduser paco usb
adduser paco camera

cp /usr/share/doc/libgphoto2-2/linux-hotplug/usbcam.group /etc/hotplug/usb/usbcam
/usr/lib/libgphoto2-2/print-usb-usermap > /etc/hotplug/usb/usbcam.usermap

102.4. Programas para la cámara


1. gtkam. Sólo permite trabajar con cámaras que esten en su lista.

2. digikam.
Permite trabajar con cámaras ptp, y con carpetas. Este es el mejor para nuestra cámara.
Permite eliminar ojos rojos, si instalas los plug-in.

102.5. Montaje como usb normal

102.5.1. Kernel

Editar el fichero:

/usr/src/linux/drivers/usb/storage/unusual_devs.h

Y añadir:

UNUSUAL_DEV( 0x054c, 0x0010, 0x0500, 0x0500,


"Sony",
"DSC-P200",
US_SC_8070, US_PR_DEVICE, NULL,
US_FL_SINGLE_LUN | US_FL_MODE_XLATE ),

Sacado de: http://www.qbik.ch/usb/devices/showdev.php?id=3079


Compilar los modulos:

make modules
make modules_install

Reiniciar el linux con el kernel nuevo.

102.5.2. El dispositivo usb

lsusb

Bus 002 Device 001: ID 0000:0000


Bus 002 Device 002: ID 054c:0010 Sony Corp. DSC-S30/S70/S75/F505V/F505/FD92 Cybershot/Mavica Digit
Bus 001 Device 001: ID 0000:0000

sg map

Por Paco Aldarias 421/449


Linux

/dev/sg0 /dev/scd0
/dev/sg1 /dev/scd1
/dev/sg2 /dev/sda

cdrecord -scanbus

Cdrecord-Clone 2.01.01a01 (i686-pc-linux-gnu) Copyright (C) 1995-2004 Jörg Schilling


NOTE: this version of cdrecord is an inofficial (modified) release of cdrecord
and thus may have bugs that are not present in the original version.
Please send bug reports and support requests to <cdrtools@packages.debian.org>.
The original author should not be bothered with problems of this version.

Linux sg driver version: 3.1.25


Using libscg version ’schily-0.8’.
scsibus0:
0,0,0 0) ’HL-DT-ST’ ’CD-RW GCE-8480B ’ ’1.03’ Removable CD-ROM
0,1,0 1) ’LG ’ ’DVD-ROM DRD8120B’ ’1.03’ Removable CD-ROM
0,2,0 2) *
0,3,0 3) *
0,4,0 4) *
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
scsibus1:
1,0,0 100) ’Sony ’ ’Sony DSC ’ ’5.00’ Removable Disk
1,1,0 101) *
1,2,0 102) *
1,3,0 103) *
1,4,0 104) *
1,5,0 105) *
1,6,0 106) *
1,7,0 107) *

Montaje de la cámara:

mkdir /usb
mount -t vfat /dev/sda1 /usb/

ll /usb

total 32
drwxr--r-- 3 paco paco 16384 2005-04-28 21:16 dcim
-r-xr--r-- 1 paco paco 0 2005-02-15 09:54 memstick.ind
drwxr--r-- 2 paco paco 16384 2005-04-28 21:16 misc

Automatizar el montaje, editando /etc/fstab:

/dev/sda1 /usb vfat rw,users,sync,exec,user,noauto 0 0


none /proc/bus/usb usbdevfs noauto 0 0

102.5.3. Script para descargar las fotos

Con solo pulsar un icono, tendremos las fotos en la carpeta que nos interesa y borrados los
archivos de la cámara.
cat camara.sh

Por Paco Aldarias 422/449


Linux

echo Montando la camara


mount /usb
d=/wind/paginas/fotos/$(date +%Y)/$(date +%d-%m-%Y-%k-%M)
mkdir $d
mv /usb/dcim/101msdcf/* $d
konqueror $d &
umount /usb

102.6. Modo USB PTP

102.6.1. gphoto2

Gphoto2 es un programa para cámaras dı́gitales.


Como root:
Para saber si tenemos permisos: gphoto2 –list-ports

Dispositivos encontrados: 3
Ruta Descripción
--------------------------------------------------------------
serial:/dev/ttyS0 Puerto serie 0
serial:/dev/ttyS3 Puerto serie 3
usb: Universal Serial Bus

Para ver si detecta la cámara: gphoto2 –auto-detect

Modelo Puerto
----------------------------------------------------------
Sony DSC-F707V (PTP mode) usb:

Para ver los ficheros de la cámara: gphoto2 –list-files

No hay ningún fichero en la carpeta ((/)).


Hay 13 ficheros en la carpeta ((/store_00010001)):
#1 DSC00002.JPG 132 KB 640x480 image/jpeg
#2 DSC00004.JPG 145 KB 640x480 image/jpeg
#3 DSC00006.JPG 134 KB 640x480 image/jpeg
#4 DSC00007.JPG 143 KB 640x480 image/jpeg
#5 DSC00008.JPG 155 KB 640x480 image/jpeg
#6 DSC00009.JPG 128 KB 640x480 image/jpeg
#7 DSC00012.JPG 146 KB 640x480 image/jpeg
#8 DSC00014.JPG 2669 KB 3072x2304 image/jpeg
#9 DSC00026.JPG 145 KB 640x480 image/jpeg
#10 DSC00027.JPG 144 KB 640x480 image/jpeg
#11 DSC00028.JPG 145 KB 640x480 image/jpeg
#12 DSC00029.JPG 115 KB 640x480 image/jpeg
#13 DSC00030.JPG 141 KB 640x480 image/jpeg

102.6.2. Konqueror y la cámara en modo ptp

Escribiendo en la dirección: camera:/

Por Paco Aldarias 423/449


Linux

102.7. Automontaje de dispositivos usb


Puede ocurrirnos que si tenemos un lapiz usb y una camara usb, al montarlo tome letras distintas
cada vez que se enchufa.
Vemos como solucionarlo:

102.7.1. Instalación

Instalar hotplug, usbutils y autofs

apt-get install hotplug usbutils autofs

Habilitar el automounter en el núcleo

kernel 2.6: CONFIG_AUTOFS4_FS=y, kernel 2.4: CONFIG_AUTOFS_FS=y

102.7.2. Modificar el autofs

Editaremos el fichero /etc/auto.master y añadiremos, al final, la lı́nea:

/mnt/usb /etc/auto.removable --timeout=1

Editaremos el fichero /etc/auto.removable y añadiremos, al final, la lı́nea:

USB1 -fstype=vfat,uid=1002,gid=1002,umask=002 :/dev/sda1


USB2 -fstype=vfat,uid=1002,gid=1002,umask=002 :/dev/sdb1
USB3 -fstype=vfat,uid=1002,gid=1002,umask=002 :/dev/sdc1
USB4 -fstype=vfat,uid=1002,gid=1002,umask=002 :/dev/sdd1
USB5 -fstype=vfat,uid=1002,gid=1002,umask=002 :/dev/sde1
USB6 -fstype=vfat,uid=1002,gid=1002,umask=002 :/dev/sdf1

Crear la carpeta/mrt/usb

mkdir /mnt/usb

Eliminar el montaje de /etc/fstab:

/dev/sda1 /usb vfat rw,users,sync,exec,user,noauto 0 0

Reiniciar autofs

/etc/init.d/autofs restart

Comprobar que se montan los dispositivos en:

ll /mnt/usb/

102.7.3. Script para descargar las fotos

Con sı́olo pulsar un icono, tendremos las fotos en la carpeta que nos interesa y borrados los
archivos de la cámara.
cat camara.sh

Por Paco Aldarias 424/449


Linux

echo Montando la camara


d=/wind/paginas/fotos/$(date +%Y)/$(date +%d-%m-%Y-%k-%M)
mkdir $d
konqueror $d &
mv /mnt/usb/USB2/dcim/101msdcf/* $d

Como se ve la camara no hace falta q se monte, se monta sola.

102.7.4. Para que aparezca el icono USB1, USB2 en el escritorio de kde

Añadir al final del fichero /etc/hotplug/usb.agent

/etc/hotplug/usb/usb-storage &

Ahora crearemos el fichero /etc/hotplug/usb/usb-storage con el siguiente contenido:

#!/bin/sh
HOME=/vuestro/home
sleep 2
for i in USB1 USB2 USB3 USB4 USB5 USB6
do
if [ -d /mnt/usb/$i ]
then
if [ ! -L $HOME/Desktop/$i ]
then
ln -s /mnt/usb/$i $HOME/Desktop/$i
fi
else
if [ -L $HOME/Desktop/$i ]
then
rm -f $HOME/Desktop/$i
fi
fi
done

Guardaremos el fichero y le daremos permisos de ejecución:

chmod +x /etc/hotplug/usb/usb-storage

102.7.5. Formatear la camara

mkfs.vfat /dev/sdb1

102.8. Bibliografı́a
1. Montando una Cámara Digital en Linux
http://www.tuxteno.com/contents.php?cid=564
2. Cámara Kodak DX7590
http://lists.debian.org/debian-user-spanish/2004/11/msg01561.html
3. Conectar Nikon CoolPix 2000 en Debian Linux
http://membres.lycos.fr/engendro/linux/coolpix2000.html

Por Paco Aldarias 425/449


Linux

4. /usr/share/doc/libgphoto2-2/README.Debian

5. Camáras digitales con USB Storage en Linux


http://bulma.net/body.phtml?nIdNoticia=1533

6. Como configurar una camara Sony Cybershot DSC-P72


http://www.tux.cl/articulos.php?id=36

7. Details for: Sony DSC-P100


http://www.qbik.ch/usb/devices/showdev.php?id=3079

8. Automontaje de dispositivos USB


http://bulma.net/body.phtml?nIdNoticia=2024

9. Usar discos USB sin la consola


http://www.linuca.org/body.phtml?nIdNoticia=296

10. Montado automatico de usb pendrive con automount


http://www.esdebian.org/forum/viewtopic.php?forum=12&showtopic=36582

Por Paco Aldarias 426/449


Linux

Capı́tulo 103

Eliminar el spam con procmail

103.1. Versiones
22.08.2005 Primera version v.1.0

103.2. Introducción
Vamos a ver la forma de coger el correo con postfix y filtrarlo con procmail, llegando a filtrar los
spams.

103.3. Configurar postfix


En el fichero /etc/postfix/main.cf debera aparecer:

mailbox_command = procmail -a "$EXTENSION"

103.4. Fichero de configuracion


Editar el fichero: /home/paco/.procmailrc

LOGFILE=/var/log/procmail.log
DEFAULT=$HOME/Maildir/

#Spam
#http://www.uwasa.fi/~ts/info/proctips.html#flist
#I have a long list of spammers and other Internet lowlife in a separate file. How can I utilize i

#The technique is fairly simple. Put this in your "~/.procmailrc" file:


#MAILDIR=/home/paco/Maildir #The location of your own mail directory
# Whatever other preliminaries

# Whatever other recipes

# Test if the email’s sender is in the blacklisted

Por Paco Aldarias 427/449


Linux

:0
* ? formail -x"From" -x"From:" -x"Sender:" \
-x"Reply-To:" -x"Return-Path:" -x"To:" \
| egrep -is -f /home/paco/black.lst
/dev/null

:0 c
| lee ’Paco, has recibido un correo’

:0
* ^Subject:.*DOGV:
$HOME/Maildir/.diarios/new

:0
* ^Subject:.*BOE:
$HOME/Maildir/.diarios/new

:0
* ^Subject:.*Re:
/dev/null

:0
* ^List-Id:.*<sptex.ls.cica.es>
$HOME/Maildir/.Sptex/new

:0
* ^Sender:.*<ES-TEX@LISTSERV.REDIRIS.ES>
$HOME/Maildir/.Sptex/new

:0
* ^List-id:.*<lliurex_general.llistes.cult.gva.es>
$HOME/Maildir/.lliurex/new

:0
* ^List-id:.*<lliurex_modeloaula.llistes.cult.gva.es>
$HOME/Maildir/.lliurex/new

:0
* ^List-id:.*<lliurex_anuncios.llistes.cult.gva.es>
$HOME/Maildir/.lliurex/new

:0
* ^Sender:adoslista-bounces@aldarias.dyndns.org
/home/paco/Maildir/.ados/new

:0
* ^List-Id:.*<lliurex_anuncios.llistes.cult.gva.es>
$HOME/Maildir/.lliurex/new

:0
* ^List-Id:.*<lliurex_modeloaula.llistes.cult.gva.es>
$HOME/Maildir/.lliurex/new

Por Paco Aldarias 428/449


Linux

:0
* ^List-Id:.*<erm-nav.bulma.net>
$HOME/Maildir/.erm-nav/new

:0
* ^List-Id:.*<sl-educacion.listas.hispalinux.es>
$HOME/Maildir/.Sl-educacion/new

:0
* ^List-Id:.*<debian-user-spanish.lists.debian.org>
$HOME/Maildir/.debian-user-spanish/new

:0
* ^List-Id:.*<ltsp-es.listas.hispalinux.es>
$HOME/Maildir/.ltsp-es/new

:0
* ^To:.*root@aldarias.dyndns.org
$HOME/Maildir/.root/new

:0
* ^To:.*paco@aldarias.dyndns.org
$HOME/Maildir/.paco/new

:0
* ^To:.*faldarias@centres.cult.gva.es
$HOME/Maildir/.ceed/new

:0
* ^To:.*faldarias@centres.cult.gva.es
! paco@ceedcv.com

:0
* ^To:.*ados@aldarias.dyndns.org
$HOME/Maildir/.ados/new

:0
* ^To:.*ceed@aldarias.dyndns.org
$HOME/Maildir/.ceed/new

:0
* ^From:.*intercentres@centres.cult.gva.es
/home/paco/Maildir/.intercentres/new

:0
* ^From:.*apicv-digest-ayuda@eListas.net
/home/paco/Maildir/.apicv/new

Por Paco Aldarias 429/449


Linux

:0
* ^From:.*stepv-intersindical@mail.intersindical.org
/home/paco/Maildir/.stepv/new

#:0
#* ^From:.*gladysp73@hotmail.com
#/home/paco/Maildir/.gladys/new

:0
* ^To:.*pacocap@tiscali.es
/home/paco/Maildir/.cap/new

:0
* ^To:.*paldaria@hotmail.com
/home/paco/Maildir/.hotmail/new

:0
* ^To:.*paldaria@yahoo.com
/home/paco/Maildir/.yahoo/new

:0
* ^X-Apparently-To:
/home/paco/Maildir/.yahoo/new

:0
* ^From:.*gladysp73@yahoo.es
/home/paco/Maildir/.gladys/new

:0
* ^From:.*epublica-ensenyament@pv.ccoo.es
/home/paco/Maildir/.CCOO-PV/new

:0
* ^From:.*scomunic@pv.ugt.org
/home/paco/Maildir/.FETE-UGT_PV/new

# Los spam se miran al final para q tarde menos.


# The following line is only used if you use a system-wide /etc/procmailrc.
# See procmailrc(5) for infos on what it exactly does, the short version:
# * It ensures that the correct user is passed to spamd if spamc is used
# * The folders the mail is filed to later on is owned by the user, not
# root.
DROPPRIVS=yes

# Pipe the mail through spamassassin (replace ’spamassassin’ with ’spamc’


# if you use the spamc/spamd combination)
#
# The condition line ensures that only messages smaller than 250 kB
# (250 * 1024 = 256000 bytes) are processed by SpamAssassin. Most spam
# isn’t bigger than a few k and working with big messages can bring
# SpamAssassin to its knees.
#
# The lock file ensures that only 1 spamassassin invocation happens
# at 1 time, to keep the load down.

Por Paco Aldarias 430/449


Linux

#
:0fw: spamassassin.lock
* < 256000
| spamassassin

# Mails with a score of 15 or higher are almost certainly spam (with 0.05%
# false positives according to rules/STATISTICS.txt). Let’s put them in a
# different mbox. (This one is optional.)
:0:
* ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
/dev/null

# All mail tagged as spam (eg. with a score higher than the set threshold)
# is moved to "probably-spam".
:0:
* ^X-Spam-Status: Yes
/dev/null

# Work around procmail bug: any output on stderr will cause the "F" in "From"
# to be dropped. This will re-add it.
# NOTE: This is probably NOT needed in recent versions of procmail
:0
* ^^rom[ ]
{
LOG="*** Dropped F off From_ header! Fixing up. "

:0 fhw
| sed -e ’1s/^/F/’
}

:0fw
| /usr/bin/spamc -f
/home/user/bin/SpamAssassin/spamassassin -P -c /home/user/bin/SpamAssassin/rules

#:0:
#* ^X-Spam-Status: Yes
#/dev/null
#/home/paco/Maildir/.spam/new

:0
* ^Subject:.*VIRUS
/dev/null
#/home/paco/Maildir/.spam/new

#:0HB
#* ? bogofilter -u
#/dev/null

#:0fw
#| bogofilter -p -u -l -e -v

#/home/paco/Maildir/.spam/new
#$HOME/Maildir/.spam/new
#| echo "Paco, has recibido un correo spam con bogofilter" | festival --tts --language spanish

Por Paco Aldarias 431/449


Linux

## Silently drop all Asian language mail


UNREADABLE=’[^?"]*big5|iso-2022-jp|ISO-2022-KR|euc-kr|gb2312|ks_c_5601-1987’
:0:
* 1^0 $ ^Subject:.*=\?($UNREADABLE)
* 1^0 $ ^Content-Type:.*charset="?($UNREADABLE)
spam-unreadable

:0:
* ^Content-Type:.*multipart
* B ?? $ ^Content-Type:.*^?.*charset="?($UNREADABLE)
spam-unreadable

# Eliminar repetidos
:0 Wh: msgid.lock
| formail -D 8192 msgid.cache

## To stop saving mail, pipe to /dev/null

:0 a: dups/$LOCKEXT
| ${RCVSTORE} +dups

# Pyzor /usr/share/doc/pyzor/usage.html
#:0 Wc
#| pyzor check
#:0 Waf
#| formail -A ’X-Pyzor: spam’

103.5. Bibliografı́a
1. PROCMAIL-SPAM:
http://www.uwasa.fi/∼ts/info/proctips.html#flist

Por Paco Aldarias 432/449


Linux

Capı́tulo 104

Conectar a traves de cortafuegos:


ssh invertido

104.1. Introducción
También llamado *Forwarding de puertos con ssh*.
Para que se pueda hacer un script tienes que hacer de forma que ssh se conecte con llave publica
sin contraseña.

104.2. Escenario
Maquina en la empresa: maquinadetrabajo (protegido con un firewall o simplemente un router)
Maquina de casa: mimaquina (via adsl por ejemplo)
En las dos maquinas tiene que existir el mismo usuario (por ejemplo vicente)
”Se supone que ”mimaquina”tenga IP fija, pero se puede hacer igual con dyndns o no-ip y
tendrá por ejemplo: vicente.no-ip.org o simplemente 80.24.35.76 si tiene IP fijo

104.3. En maquinadetrabajo
Login como usuario vicente

# ssh-keygen -t dsa (a menos que tu ya no tengas llaves rsa)

NOTA: Dejar la frase vacia.


y obtendrás las llaves id dsa (privada) e id dsa.pub (publica) en

~/.ssh

necesitas copiar la llave en ”mimaquina”

# ssh-copy-id -i ~/.ssh/id_dsa.pub mimaquina

Ahora puedes entrar en ”mimaquina”sin contraseña vı́a ssh. Compruebalo:

# ssh vicente@mimaquina

Por Paco Aldarias 433/449


Linux

*PORT FORWARDING*
Siempre en la maquina ”maquinadetrabajo”

ssh -N -l vicente -R 23456:localhost:22 mimaquina &

ya está!

104.4. En mimaquina
Ahora corre a casa en tu maquina ”mimaquina”
Abre un terminal como usuario vicente y escribe eso:

ssh -l vicente -p 23456 127.0.0.1

Ya estas dentro de tu maquina dentro la empresa sin que el firewall pueda molestarte.

104.5. A tener en cuenta


Cuidado 1
esta conexión puede caerse ası́ que no estária mal escribir un pequeño scrip en la maquina de
la empresa para que compruebe daca 10 minutos si la conexión sigue levantada.
He notado que no cae casi nunca si haces un ping o un echo cada 5 o 10 segundos para simular
trafico de red.
Cuidado 2
Esta es la forma perfecta para hacer espionaje industrial sin que nadie se deen cuenta de inme-
diato.
Si alguien conigue entrar en tu maquina, tendrá aceso también a la red de la empresa.

104.6. Hacer que ssh siempre este conectado


Nos bajaremos autossh:
http://www.harding.motd.ca/autossh/
Debermos poner en el cron:

50/5 * * * * /home/paco/autossh.sh

cat autossh.sh

PID=‘ps aux | grep ’autossh’| grep -v "grep" | awk ’{ print $2 }’‘

if [ "$PID" == "" ]; then


autossh -M 20000 -f -N -R 23456:localhost:22 paco@aldarias.dyndns.org
fi

Por Paco Aldarias 434/449


Linux

104.7. Bibliografia
1. Tunel ssh de inicio remoto (aka ssh -R) con autossh y sin contraseña
http://www.galpon.org/modules/weblog/details.php?blog id=40

Por Paco Aldarias 435/449


Linux

Capı́tulo 105

Conectar móvil Sony Ericson Z520i


con bluetooh al pc

105.1. Introducción
Sony Ericson Z520i
http://www.sonyericsson.com/spg.jsp?cc=es&lc=es&ver=4000&template=pp1 loader&php=PHP1
10298&zone=pp&lm=pp1&pid=10298

105.2. Mi bluetooth
CONTACT
Adaptador USB 1.1 CLASE 2
Bluetooth Cambridge Silicon Radio, Ltd Bluetooth Dongle
http://www.bluetooth.com/products/prods.details.asp?CPID=1694&CAT=9
http://www.windigosys.com/app usbdongle.htm

105.3. El Kernel
Mi kernel:
uname -a

Linux aldarias.dyndns.org 2.6.13.2 7 SMP Sat Sep 24 17:49:28 CEST 2005 i686 GNU/Linux

Networking --->
<M> Bluetooth subsystem support --->
Device Drivers --->
USB support ---
<M> EHCI HCD (USB 2.0) support
[*] Full speed ISO transactions (EXPERIMENTAL)
[*] Root Hub Transaction Translators (EXPERIMENTAL)
<M> ISP116X HCD support
<M> OHCI HCD support
<M> UHCI HCD (most Intel and VIA) support
<M> SL811HS HCD support

Por Paco Aldarias 436/449


Linux

105.4. Drivers
http://coffelius.bloggear.net/archivos/2005/09/24/instalar-dispositivos-bluetooth-que-no-los-reco
Fichero:

/usr/src/linux/drivers/bluetooth/hci_usb.c

Añadir:

/* Bluetooth Cambridge Silicon Radio, Ltd Bluetooth Dongle*/


{ USB_DEVICE(0x0a12,0x0001) },

lsusb dice que tengo este aparato:

Bus 001 Device 004: ID 0a12:001 Cambridge Silicon Radio,


Ltd Bluetooth Dongle (HCI mode)

Para hacer que el kernel lo detecte es tan simple como seguir estos pasos:

105.5. El adaptador bluetooth


Adapatador Bluetooth para puerto usb 1.1 class2 Contact
lsusb

Bus 003 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)

105.6. Modulos cargadosModulos cargados


lsmod | grep hci
hci_usb 17416 2
bluetooth 54532 7 hci_usb,rfcomm,l2cap
ohci_hcd 23428 0

105.7. El log
cat /var/log/kern.log

Dec 18 14:29:59 aldarias kernel: Bluetooth: HCI device and connection manager initialized
Dec 18 14:29:59 aldarias kernel: Bluetooth: HCI socket layer initialized
Dec 18 14:30:18 aldarias kernel: ohci_hcd 0000:00:02.1: wakeup
Dec 18 14:30:19 aldarias kernel: usb 3-1: new full speed USB device using ohci_hcd and address 2
Dec 18 14:30:30 aldarias kernel: kobject_register failed for uhci_hcd (-17)
Dec 18 14:30:30 aldarias kernel: [<c0230d3b>] kobject_register+0x6b/0x80
Dec 18 14:30:30 aldarias kernel: [<c01400c2>] mod_sysfs_setup+0x62/0xd0
Dec 18 14:30:30 aldarias kernel: [<c01416c8>] load_module+0xaf8/0xcd0
Dec 18 14:30:30 aldarias kernel: [<c0141943>] sys_init_module+0x73/0x240
Dec 18 14:30:30 aldarias kernel: [<c01034d1>] syscall_call+0x7/0xb
Dec 18 14:30:30 aldarias kernel: kobject_register failed for ehci_hcd (-17)
Dec 18 14:30:30 aldarias kernel: [<c0230d3b>] kobject_register+0x6b/0x80
Dec 18 14:30:30 aldarias kernel: [<c01400c2>] mod_sysfs_setup+0x62/0xd0

Por Paco Aldarias 437/449


Linux

Dec 18 14:30:30 aldarias kernel: [<c01416c8>] load_module+0xaf8/0xcd0


Dec 18 14:30:30 aldarias kernel: [<c0141943>] sys_init_module+0x73/0x240
Dec 18 14:30:30 aldarias kernel: [<c01034d1>] syscall_call+0x7/0xb
Dec 18 14:38:48 aldarias kernel: kobject_register failed for uhci_hcd (-17)
Dec 18 14:38:48 aldarias kernel: [<c0230d3b>] kobject_register+0x6b/0x80
Dec 18 14:38:48 aldarias kernel: [<c01400c2>] mod_sysfs_setup+0x62/0xd0
Dec 18 14:38:48 aldarias kernel: [<c01416c8>] load_module+0xaf8/0xcd0
Dec 18 14:38:48 aldarias kernel: [<c0141943>] sys_init_module+0x73/0x240
Dec 18 14:38:48 aldarias kernel: [<c01034d1>] syscall_call+0x7/0xb
Dec 18 14:38:48 aldarias kernel: kobject_register failed for ehci_hcd (-17)
Dec 18 14:38:48 aldarias kernel: [<c0230d3b>] kobject_register+0x6b/0x80
Dec 18 14:38:48 aldarias kernel: [<c01400c2>] mod_sysfs_setup+0x62/0xd0
Dec 18 14:38:48 aldarias kernel: [<c01416c8>] load_module+0xaf8/0xcd0
Dec 18 14:38:48 aldarias kernel: [<c0141943>] sys_init_module+0x73/0x240
Dec 18 14:38:48 aldarias kernel: [<c01034d1>] syscall_call+0x7/0xb

105.8. Escaneando
listado de los dispositivos y su direccion
hcitool scan

Scanning ...
00:13:70:E7:95:AD Ponce

Ponce es el nombre del bluetooth en el movil

hciconfig -a
hci0: Type: USB
BD Address: 00:0A:84:AA:4A:7F ACL MTU: 192:8 SCO MTU: 64:8
UP RUNNING PSCAN ISCAN
RX bytes:426 acl:0 sco:0 events:22 errors:0
TX bytes:339 acl:0 sco:0 commands:17 errors:0
Features: 0xff 0xff 0x8f 0xf8 0x18 0x18 0x00 0x80
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF PARK
Link mode: SLAVE ACCEPT
Name: ’aldarias.dyndns.org-0’
Class: 0x3e0100
Service Classes: Networking, Rendering, Capturing
Device Class: Computer, Uncategorized
HCI Ver: 1.2 (0x2) HCI Rev: 0x639 LMP Ver: 1.2 (0x2) LMP Subver: 0x639
Manufacturer: Cambridge Silicon Radio (10)

105.9. Para ver los servicios


sdptool browse 00:13:70:E7:95:AD

Service Name: OBEX File Transfer


Service RecHandle: 0x10001
Service Class ID List:

Por Paco Aldarias 438/449


Linux

"OBEX File Transfer" (0x1106)


Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 10
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"OBEX File Transfer" (0x1106)
Version: 0x0100

Permite ver el canal es el 10.

105.10. Crear el nodo


mknod /dev/ttyUB0 c 216 0

105.11. Configuración
hciconfig
hci0: Type: USB
BD Address: 00:0A:84:AA:4A:7F ACL MTU: 192:8 SCO MTU: 64:8
UP RUNNING PSCAN ISCAN
RX bytes:426 acl:0 sco:0 events:22 errors:0
TX bytes:339 acl:0 sco:0 commands:17 errors:0

105.12. El proceso
ps -ae | grep hcid
5114 ? 00:00:00 hcid

105.13. obexftp
hcitool scan

Scanning ...
00:16:20:45:95:32 Z520i

Listado:

obexftp -b 00:16:20:45:95:32 -B 7 -l
Browsing 00:16:20:45:95:32 ...
Channel: 6
No custom transport
Connecting...done
Receiving "(null)"... <?xml version="1.0" encoding="UTF-8"?>

Por Paco Aldarias 439/449


Linux

<!DOCTYPE folder-listing SYSTEM "obex-folder-listing.dtd">


<!--
XML Coder, Sep 6 2005, 17:35:19, (C) 2001 Sony Ericsson Mobile Communications AB
-->
<folder-listing version="1.0"><folder name="Im~
A¡genes"/>
<folder name="Sonidos"/>
<folder name="Temas"/>
<folder name="V~
Adeos"/>
<folder name="Otros"/>
</folder-listing>
done

Enviar un archivo al movil:

obexftp -b Z520i -B 7 -p farm.mp3

Coger un archivo del movil

obexftp -b Z520i -c Imágenes/camera_semc/100MSDCF -g DSC00006.JPG

105.14. Direcciones de interes


Conectar el Motorola V550 al meu GNU/Linux amb Bluetooth
http://linuxbcn.homeip.net/node/58

Bluetooth bajo GNU/Linux


http://www.gpltarragona.org/node/view/336

BlueTooth en Linux HOWTO


http://www.asturlinux.org/∼alvaro/noticias/docs/bthowto/adjuntos/bluetooth.howto.
htm

GNOME Bluetooth Subsystem


http://usefulinc.com/software/gnome-bluetooth/

BlueTooth en Linux HOWTO


http://www.asturlinux.org/comunidad/BlueToothHowTo

Linux Bluetooth
http://acs.barrapunto.org/∼acs/LinuxBluetooth.pdf

Red
http://www.sromero.org/linux/bluetooth ht.php

Guı́a del Bluetooth en Gentoo


http://www.gentoo.org/doc/es/bluetooth-guide.xml

Fitxers de video 3gpp amb linux


http://www.comesfa.org/node/1697

Bluetooth en Linux
http://es.wikibooks.org/wiki/Hacks para Unix-like:Bluetooth en Linux
Bluetooth and Linux
http://www.holtmann.org/linux/bluetooth/

Bluetooth,. kdebluetooth
http://bits.sid3windr.be/tm8000/

Por Paco Aldarias 440/449


Linux

HOWTO: Using Bluetooth to acces Mobile Phone and use BT-Headset to use Skype
http://ubuntuforums.org/showthread.php?t=75978&highlight=bluetooth

Cómo conectar un móvil al ordenador con Bluetooth


http://gpul.org/node/view/140

The KDE Bluetooth Framework


http://kde-bluetooth.sourceforge.net/

The KDE Bluetooth -ita


http://www.mepisitalia.org/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic
id=469&forum=2&move=next&topic time=1123495832

Cómo conectar el móvil al ordenador


http://www.clubsonyericsson.com/es/soporte conectar.shtml

Por Paco Aldarias 441/449


Linux

Capı́tulo 106

Consolas virtuales desatendidas:


Screen

106.1. Introducción
El comando screen permite dos cosas interesantes:

1. Tener consolas virtuales. En una podemos tener varias.

2. Permite multitarea sin tener que tener la consola abierta. Es decir, si conectas a un pc con
ssh, puedes usar screen, ejecutar algo, y salirte con screen -d, luego vuelves con screen
-R y verás que sigue ejecutándose.

106.2. Instalación
apt-get install screen

106.3. Comandos utiles:


screen -list : listar consolas virtuales.

screen -r numero (screen -R) : Acceder al screen son salimos con screen -d

screen -d (c-a-d) : liberar screen, pero sigue ejecuándose.

C-a c: nueva consola

C-a: cambiar de consola

Nota: C-a signfica CONTROL+a

106.4. Bibliografia
1. La utilidad screen
http://bulma.net/body.phtml?nIdNoticia=1120

Por Paco Aldarias 442/449


Linux

2. Tutorial de screen
http://jacobo.tarrio.org/ex/screen/

3. La aplicación screen
http://linuca.org/body.phtml?nIdNoticia=248

Por Paco Aldarias 443/449


Linux

Índice de cuadros

2.1. Particiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

20.1.Reprodutores de video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
20.2.Lectores de pdf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

29.1.Usuarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

Por Paco Aldarias 444/449


Linux

Índice de figuras

1.1. Mascota de linux: Tux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3


1.2. Logotipo Linux Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

6.1. Konqueror . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

7.1. Disquetera. Menu contextual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

9.1. Esquema de directorios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

14.1.Buscar archivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

20.1.Imagen de scribus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
20.2.xrmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
20.3.Imagen de kexchange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
20.4.kalzium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
20.5.Imagen de scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

21.1.Wordtrans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
21.2.i2e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

22.1.Amsn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

32.1.Apache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

38.1.Make menuconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

41.1.Minicom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

46.1.foto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

59.1.Imagen de kd3b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

60.1.Cups en http . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256


60.2.Cups en kde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

64.1.Imagen de Ark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

93.1.phppgadmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386

Por Paco Aldarias 445/449


Linux

93.2.Pgaccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
93.3.Pgadmin3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388

98.1.Ksensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407

Por Paco Aldarias 446/449


Linux

Índice alfabético

p2p, 86 distribuciones, 3
dominio gratuito, 276
amavis-stats, 204 dpkg, 113
amsn, 79 dslqosqueue, 317
apache, 120
apt, 105 encendidos, 366
apt-ftparchive, 108 escuchar la radio, 81
apt-move, 116 ext3, 154
ark, 271
arp, 267 fdisk, 7
audio, 103 fetchmail, 188
audio streaming, 339 find, 40
avi, 373 flash, 84
awstats, 382 foro, 337
fprot, 204
badbloks, 155 frozen-bubble, 64
base64, 333 ftp, 122, 125
biblioteca, 60
gallery, 64
bins, 64
gforce4, 359
bittorrent, 356
gnucash, 63
bloquear escaneos, 348
gotmail, 92
bun2, 270
gphoto2, 423
grabadora, 248
cámara de fotos, 420
grep, 40
Cambio de moneda, 69
gtkam, 421
cd, 30
gtktalog, 65
cdrdao, 253
Guardian del sistema, 50
chgrp, 45
gz, 273
chmod, 45, 47
chown, 46 hdparm, 249
consolas virutales, 442 hora, 98, 342
courier-imap, 211 htdig, 335
cups, 255 hwclock, 342
kde, 256
cursor, 99 i2c, 405
icecast, 83, 339
date, 342 ie2, 76
ddclient, 276 ifconfig, 261
diccionario, 76 igal, 63
inglés, 76 instalar linux, 10, 19
diccionario español, 54 iptables, 317
digikam, 421 iptotal, 200
directorios, 30
disquete de instalación, 19 k3b, 252

Por Paco Aldarias 447/449


Linux

kde p2p, 356


copiar ficheros, 26 partition image, 63
icono cdrom, 26 pelı́culas, 373
icono disquetera, 26 pen drive, 397
kde instalación, 12 pgaccess, 386
kdreatecd, 253 php, 283
kernel, 10 phpbb, 337
kfloppy, 62 pkill, 51
kill, 50 portal, 368
knoppix, 16 portsentry, 348
konqueror, 23 postfix, 212
navegacion mejorada, 54 postnuke, 368
kooka, 389 proftp, 122
korn, 217 ps, 50
ksync, 160 pstree, 51
kudzu, 104
kworld, 61 radio por internet, 339
rae, 54
lapiz usb, 397 realplayer, 83
linux, 2 rescue, 19
lmsensors, 405 rm, 30
ln, 48 rmdir, 30
ls, 30, 43 route, 262
ltsp, 279 rsync, 159
lynx, 310 samba, 132
sane, 389
magicpoint, 62
scaner, 389
mail, 332
screen, 442
mangle, 317
scribus, 60
mencoder, 373
sensors, 405
mkdir, 30
servidor ftp, 122
mkisofs, 252
servidor hdcp, 263
mldonkey, 86
SNMP, 193
motion, 180
sonido, 99
mp, 321, 333
squid, 191
mp3cult, 65
squid con colas, 312
mpeg, 373
squirrelmail, 214
mplayer, 81
ssh, 297
mrproyect, 63
ssh-keygen, 297
mrtg, 193
sudo, 166
mrtg , procesos201, indexmaker202
synaptic, 113
mysql, 283, 366
system image, 274
mysql openoffice, 371
mysql-navegator, 296 tar, 270, 272
tar.bz2, 272
Navegador web opera, 94 tar.gz, 272
NFS, 137 tarjeta de red, 260
nimba, 345 tarjeta grafica, 359
nmap, 267, 366 tarjeta red isa, 262
nohup, 321 tasksel, 113
notas, 60 teclado, 97
nslookup, 267 tgz, 271
ntp, 342 transcode, 373
nvidia, 359 tree, 321
odbc, 371 umask, 48
opera, 94 usb bar, 397

Por Paco Aldarias 448/449


Linux

uuencode, 332 xhost, 269


xmms, 83
web dinámicas, 283 xrmap, 60, 61
webcam, 171, 177 xsane, 389
wget, 309
wordtrans, 76 zip, 272

Por Paco Aldarias 449/449

Anda mungkin juga menyukai