Linux

Debian-Kde
Con ejemplos y ejercicios

Por Paco Aldarias Raya 19 de enero de 2006

Linux

´ndice general I
´ndice general I ´ Prologo 1
I

I

´ Linux Basico

1
2

´ 1. Introduccion a linux
´ Introduccion, 2 • Caracter´ticas, 2 • Porque usar Linux, 2 • Distribuciones, 3 • Dilema de las distribuı ciones, 3 • Versiones de Debian, 4.

´ 2. Instalacion de linux y windows
´ ´ ´ Versiones, 6 • Introduccion, 6 • Preparar el disco duro, 6 • Instalacion de windows, 8 • Instalacion de linux, 9 • Linux Debian knoppix, 14 • Arracando para instalar linux, 14 • Instalar sarge con el DebianInstaller: netinstall, 14 • Instalar Debian Knoppix STD 0.1: security tools distribution, 14 • Instalar ˜ Debian para ninos: Pequelin, 14 • Bibliograf´a, 15 • Text 1. Particiones, 15 • Text 2. Windows, 15. ı

6

3. Linux Debian: Knoppix
´ ´ Introduccion, 16 • Bajarse el cd , 16 • Instalacion en disco duro, 16 • Recuperar el lilo, 16 • Recuperar el lilo con knoppix, 17 • Bibliograf´a, 18. ı

16

4. Instalar linux desde disquete
´ Versiones, 19 • Introduccion, 19 • Crear un disco arrancador del cd, 19 • Hacer el disco de rescate, 19.

19

5. Crear un usuario en kde
´ Introduccion, 21 • Crear el usuario, 21 • Configurar el usuario, 21.

21

6. Konqueror
´ Introduccion, 23 • Acceder al konqueror, 23 • Ejercicio, 23 • bibliograf´a, 24. ı

23

7. El icono de la disquetera en kde
´ Teor´a, 26 • Practica, 26 • Ejercicio, 27. ı

26

8. Como usar la disquetera y el cdrom en consola
´ Teor´a, 28 • Practica, 28 • Ejercicio, 29. ı

28

9. Directorios
´ ´ Teor´a, 30 • Practica, 31 • Practica, 31. ı

30

Por Paco Aldarias

1/449

Linux 10. Ficheros
´ Teor´a, 32 • Practica, 32 • Ejercicios, 33. ı

32

11. Nombres y patrones
´ Teor´a, 34 • Practica, 34 • Ejercicios, 35. ı

34

12. Visualizar un fichero
´ Teoria, 36 • Desde konqueror, 36 • Practica, 36 • Ejercicio, 37.

36

13. Enlaces
´ Teoria, 38 • Practica, 38 • Ejercicios, 39.

38

14. Busquedas ´
´ Teoria, 40 • Practica, 40 • Ejercicio, 42.

40

15. Permisos
´ Introduccion, 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 • ´ Mascara de permisos: chmod, 46 • Permisos por defecto: umask, 47 • Enlaces a ficheros: ln, 48 • El bit set uid, 49 • Bibliograf´a, 49. ı

43

´ 16. Gestion de procesos
´ Introduccion, 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.

50

II

Varios

53
54

17. Diccionario RAE
´ Introduccion, 54 • El Diccionario de la Real Academia de la lengua: DRAE , 54 • Con el navegador ´ ˜ Konqueror version 2.2.2 en espanol., 54 • Con el navegador Konqueror 3.1, 55.

18. Mesajeria Instantanea: Msn
´ ´ ´ Version, 56 • Introduccion, 56 • El protocolo MSN con Gaim, 56 • Instalacion de gaim 0.74 en sid, 57 ´ • Instalacion de gaim 0.74 en woody, 57.

56

19. Manuales
´ Introduccion, 58 • Los libros, 58 • Manuales, 58 • News, 59 • Chats, 59 • Manuales en nuestro pc, 59.

58

´ 20. Software para Ofimatica
´ ´ Introduccion, 60 • Notas, 60 • Biblioteca, 60 • Autoedicion, 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 Ofimaticos., 65 • Editores de texto, 65 • Mensajeria instantanea, 66 • Chat, ´ 66 • Navegadores www, 66 • Clientes de correo electronico, 66 • Clientes de news, 66 • Clientes ˜ ´ de correo, 67 • Clientes de news para binarios, 67 • Diseno de Paginas Web, 67 • Clientes de ´ ´ ˜ grupo de noticias, 67 • Diccionario Monoligue de Ingles, 67 • Diccionario bilingue de Ingles-Espanol, ´ ´ 68 • Thesauro - Sinonimos en Ingles, 68 • Bajarse ficheros en barias sesiones: Downloaders, 68 • ´ ´ ´ Clientes ftp, 68 • Visores de imagenes, 68 • Manipulacion de imagenes, 69 • Modelador de escenas, 69 • Consulta online del cambio de monedas, 69 • Reproductores de Video, 69 • Reproductores de ´ Audio, 70 • Manipulacion del audio, 71 • Visores de ficheros pdf., 71 • Escuchar la radio, 71 • Control ´ del audio, 71 • Bajarse canciones, programas,..., 72 • Envio de mensajes a moviles, 72 • Formatear

60

Por Paco Aldarias

2/449

Linux
´ diskettes, 72 • Entornos de programacion, 72 • Ajedrez, 72 • Utilidades de disco, 73 • Utilidades ´ del sistema, 73 • Saber el tiempo, temperatura de tu localidad, 73 • Planificacion de proyectos, 73 ´ • Mensajeria instantanea, 74 • Astronomia, 74 • Qu´mica, 74 • Matematicas, 75 • Comparativas ı windows-linux, 75.

˜ 21. Wordtrans: Diccionario Bilingue de Ingles-Espanol
´ ´ Versiones, 76 • Introduccion, 76 • Instalacion, 76 • Llamarlo, 76 • Capturas, 77 • Bibliograf´a, 77. ı

76

22. Amsn
´ Introduccion, 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.

79

23. Escuchar la radio: mplayer, xmms, realplayer
´ Introduccion, 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. ı

81

24. Instalar flash en el navegador
´ ´ Introduccion, 84 • Instalacion como paquete, 84 • Bajarse el instalador, 84 • Los navegadores, 85.

84

25. Bajarse ficheros mp3: mldonkey.
´ ´ Introduccion, 86 • Instalacion, 86 • Mantener los ficheros temporales, 87 • Usuarios, 87 • Utilidad ´ ˜ de kde: kmldonkey, 87 • Abrirendo el navegador, 88 • Configuracion, 88 • Anadir un enlace bittorent ˜ desde consola, 89 • Anadir 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. ı

86

26. Traerse el correo de hotmail: gotmail
´ Versiones, 92 • Introduccion, 92 • Coger el fichero gotmail, 92 • Descomprimierlo, 92 • Fichero de ´ configuracion, 92 • Lanzar el programa, 93 • Bibliograf´a, 93. ı

92

27. Navegador web: Opera
´ Introduccion, 94 • Bajarse el programa, 94 • Abrir ficheros, 94 • Filtrando banners, 95.

94

III

Linux Avanzado

96
97

28. El idioma
´ Introduccion, 97 • Paquetes a instalar, 97 • Teclado en kde, 98 • Hora local, 98 • Sonido, 99 • Cursor ˜ moderno, 99 • Espanolizar kde, 99.

´ 29. Administracion de usuarios
´ ´ ´ ´ Introduccion, 101 • Creacion de usuarios, 101 • Como cambiar de usuario, 101 • Como cambiar la ˜ ´ ´ constasena, 102 • Como borrar un usuario, 102 • Como ver los usuarios existentes, 102.

101

30. El Audio
´ Introduccion, 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. ı

103

´ 31. Administracion de Paquetes
´ Introduccion, 105 • Donde encontrar paquetes no oficiales, 105 • Instalar paquetes (programas): ´ ´ apt, 105 • Encontrar los servidores debian mas rapidos: apt-spy, 107 • Generacion automatica del

105

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 maquina, 115 • Para bajarse los paquetes de nuestro sistema, 116 • Crear un ´ repositoio local: apt-move, 116 • Practicas, 117 • Indicarle el proxy al apt, 119 • Suprimir los paquetes ´ inutiles del sistema: deborpan, 119 • Forzar la instalacion de paquetes: dpkg -i –force-all , 119 • Para ´ buscar el paquete que viene un programa, 119 • Bibliograf´a, 119. ı

32. Servidor Web Apache
´ Teor´a, 120 • Practica, 120 • Ejercicios, 121. ı

120

33. Servidor Ftp: Proftp
´ Teor´a, 122 • Instalar el servidor, 122 • Fichero de configuracion:, 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 informacion , 125.

122

34. Compartir el escritorio: Vnc
Teor´a, 126 • El Servidor, 126 • Los clientes, 127 • Vnc con un navegador, 127 • Cliente vnc mejorado: ı ´ ´ ´ Conexion remota de escritorio (krdc) , 128 • Vnc con x11, 128 • x0rfbserver, 128 • Mas informacion, 128.

126

35. Acceso a particiones windows desde linux
Las particiones, 130 • Ver nuestras particiones: fdisk, 130 • Montaje de particiones windows: Mount, ´ ´ 130 • Montaje Permanente de particiones windows, 131 • Mas informacion, 131.

130

36. Redes entre linux y windows: Samba
´ ˜ Introduccion, 132 • El Servidor, 132 • El cliente samba, 135 • Utilidades, 135 • Anadir una impresora en red de linux para windows en kde, 136 • Bibliograf´a, 136. ı

132

37. Compartir carpetas entre linux: NFS
´ Introduccion, 137 • Instalar el software, 137 • Servidor NFS, 137 • Cliente NFS, 138 • Con Konqueror, 138 • Ejercicios NFS, 139.

137

38. El kernel
´ ´ Introduccion, 140 • Funciones, 140 • Compilacion, 140 • Configurar el kernel: Make menuconfig, 142 ´ • Ver el log del kernel, 143 • Mas documentacion, 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 • Configuracion de mi kernel, 146 • File systems, 150 • Native Language Support, 151 • Kernel 2.6, 151 • Bibliografia, 151.

140

39. Demonios
´ Introduccion, 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.

152

40. Sistema de ficheros seguro: EXT3
´ ´ ˜ Introduccion, 154 • Recuperacion del sistema de ficheros ext2 danado, 154 • El nucleo y ext3, 154 • ´ ´ Como pasar de ext2 a ext3, 154 • Como saber si el disco esta mal, 155 • Practica, 155.

154

41. Acceso al router ADSL por puerto serie: Minicom

156

Por Paco Aldarias

4/449

Linux
´ ´ ´ Introduccion, 156 • Configuracion de minicom, 156 • Damos permisos de ejecucion, 157 • Entrando en el router, 157 • Bibliograf´a, 157. ı

´ 42. Sincronizacion de ficheros: rsync
´ ´ ´ Versiones, 159 • Introduccion, 159 • Instalacion, 159 • Paso previo: Arracar ssh, 159 • Sincronizacion: ´ rsync, 159 • Utilidades, 160 • Sincronizar con ssh en otro puerto distinto, 160 • Instalacion 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. ı

159

43. El servidor de noticias: Leafnode
´ ´ Versiones, 162 • Introduccion, 162 • Que necesitamos, 162 • Instalacion 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 ´ • Configuracion del cliente de noticias, 164 • Tramiento de spams, 164 • Generando estad´sticas: ı statnews, 164 • Bibliograf´a, 165. ı

162

´ 44. Como ejecutar una aplicacion sin ser root: sudo
´ Introduccion, 166 • Instalar sudo, 166 • Configurar sudo, 166 • Llamarlo, 166 • Mediante permisos, 167 • Bibliograf´a, 167 • Ejercicio, 167. ı

166

45. Programar tareas: cron
´ Introduccion, 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.

168

´ 46. Webcam: Instalacion
´ ´ ´ Introduccion, 171 • Versiones., 171 • Contexto, 171 • Instalacion del software, 171 • Instalacion de ´ los drivers, 172 • Ver que tipo de usb disponemos, 172 • El kernel, 172 • Modulos cargados, 173 • El arranque, 174 • Estar seguro que funcionan USB, 174 • Comprobar el dispositivo, 175 • El sistema de ´ ´ ficheros: fstab, 176 • Poniendola en marcha, 176 • Para apagar la camara, 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. ı

171

47. Servidor de correo: postfix
´ ´ ´ Versiones, 181 • Introduccion, 181 • Instalacion de postfix, 181 • Configuracion, 182 • El fichero de ´ configuracion, 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 contrasena: SASL, 185 • Bibliograf´a, 186. ı

181

48. Traerse todo el correo: fetchmail
´ ´ Versiones, 188 • Introduccion, 188 • Que necesitamos, 188 • Instalacion de fetchmail, 188 • Configurar el fetchmail, 188 • Traernos el correo., 189 • Si queremos que se traiga cada 5 minutos, 189 • ´ Configuracion del cliente de correo, 190 • Bibliograf´a, 190. ı

188

49. Acceso a internet: Proxy: Squid
´ ´ Versiones, 191 • Introduccion, 191 • Instalacion, 191 • Arranque/Parada, 191 • Configurar el proxy, 191 • Utilidades, 192 • Configurar el squid como proxy trasparente, 192 • Poner los mensajes de ˜ error en espanol, 192 • Bibliograf´a, 192. ı

191

50. Estadisticas de red,router,cpu: MRTG
´ ´ ´ Versiones, 193 • Introduccion, 193 • Control del trafico de un router adsl., 193 • Instalacion de mrtg, 194 • Configurar el acceso al router, 194 • Configurar la carga de la cpu, 195 • Todo el fichero de ´ configuracion, 195 • Comprobar el cron, 195 • Como ver las estadisticas, 196 • Mrtg y Apache, 196 •

193

Por Paco Aldarias

5/449

Linux
´ ´ Mrtg y las maquinas en una red, 197 • Mrtg y el trafico del servidor web, 198 • Mrtg y la temperatura del disco duro, 199 • Mrtg y el ancho de banda, 200 • Mrtg y el numero total de procesos, 201 • ´ Generar el indice, 202 • Bibliograf´a, 202. ı

51. Antivirus en linux: F-prot+Amavis+Postfix
´ ´ Versiones, 203 • Introduccion, 203 • El antivirus, 203 • Uso de f-prot, 204 • Instalacion de amavis ´ para debian sid, 204 • Estadisticas de amavis, 204 • Instalacion 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. ı

203

52. Conectar una red local a internet: NAT
´ Versiones, 208 • Introduccion, 208 • El kernel, 208 • El software, 209 • Script que activa el nat, 209 • Activarlo en el arranque, 209 • Bibliograf´a, 209. ı

208

53. Servidor de correo imap y web mail: courier-imap + postfix + squirrelmail
´ ´ ´ Versiones, 211 • Introduccion, 211 • Instalacion del servidor, 211 • Configuracion del usuario, 211 • ´ ´ Maildir, 212 • Configuracion de Postfix, 212 • Configuracion de Courier y usuarios, 213 • Administration ´ ´ de postfix, 213 • Cola de correo, 213 • Configuracion del host, 214 • Instalacion del webmail: squi˜ rrelmail, 214 • Configurar squirrelmail, 214 • Squirrelmail en Espanol, 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 • Conclusion, 217 • Bibliograf´a, 218. ı

211

´ 54. El servidor de listas de correo electronico: mailman + postfix
´ ´ Versiones, 219 • Introduccion, 219 • Es servidor de listas maiman, 219 • Instalacion 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. ı

219

55. Seguridad: hackers
´ ´ ´ Introduccion, 223 • La direccion ip, 223 • Como ver las conexiones de nuestra maquina con otras, 224 ´ ´ • Como saber que es cada puerto, 224 • Como entrar en una maquina, 224 • Entrar a maquinas con ´ ˜ windows, 225 • Entrar a maquinas con el pueto 21 abierto, 225 • Sacar contrasenas: snifers, 225 • ´ Bloquear el acceso al superservidor: inetd, 226 • Los cortaguegos: iptables, 226 • Como ver nuestras ´ ips, 227 • Como saber de donde es una ip: whois, 227 • Programas para analisis de seguridad , 227 ´ • Paginas de hakers, 228.

223

56. Hacer q el ordenador hable: festival
´ Versiones, 229 • Introduccion, 229 • Ircha, 229 • Festival, 230 • Bibliograf´a, 232. ı

229

57. Hacer que linux haga de windows nt server: samba
´ ´ Versiones, 233 • Introduccion, 233 • El kernel, 233 • Instalacion de samba, 234 • Para los alumnos, ´ 234 • Para los profesores, 236 • Configuracion de samba, 238 • Reinicio del demonio samba, 244 • Configurar los clientes windows, 244 • Problemas encontrados, 244 • Mejoras pendientes, 245 • Agradecimientos, 245 • Bibliograf´a, 245. ı

233

58. Eliminar correo basura (spam): spamassasin, bogofilter, animail
´ Versiones, 246 • Introduccion, 246 • Coger el fichero gotmail, 246 • Descomprimierlo, 246 • Fichero ´ de configuracion:, 246 • Bibliograf´a, 247. ı

246

´ 59. Instalacion de la grabadora: k3b, Cdbakeoven,kreadcd
´ Versiones, 248 • Introduccion, 248 • El kernel, 248 • Ver que cdrom tenermos, 249 • Ver que firmware(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 grabacion, 252 •

248

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
´ Introduccion, 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 maquinas 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 • Instalacion de una impresora de red: Xerox Docuprint P8e, 258 • ´ ´ Imprimir con windows, usando un servidor de impresion de linux, 258 • Cancelar trabajos de impresion desde consola, 259.

255

61. Instalar tarjeta de red
´ ´ Introduccion, 260 • Instalar tarjeta de red pci, 260 • Configuracion 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.

260

62. Instalar servidor dhcp
´ ´ Introduccion, 263 • Instalacion, 263 • Configurar, 263 • Ponerlo en marcha, 264 • Otro ejemplo, 264 • Ejemplo dhcp.conf, 264 • Utilidades, 267 • bibilografia, 268.

263

´ 63. Usar el entorno grafico de otro pc: xhost
´ Instroduccion, 269 • Condiciones, 269 • Proceso a seguir, 269.

269

64. Archivos comprimidos
´ ´ Introduccion, 270 • Instalacion, 270 • Tipos de archivos comprimidos, 270 • Los archivos comprimidos ´ en konqueror, 270 • Sofware para compresion, 271 • Ficheros tgz, 271 • Ficheros tar.bz2, 272 • Ficheros tar.gz, 272 • Ficheros zip, 272 • Ficheros gz, 273.

270

´ 65. Clonacion de pcs: system-image
´ ´ ´ Versiones, 274 • Introduccion, 274 • Instalacion del cliente de oro, 274 • Instalacion del servidor, 274 ´ • Vamos a clonar en otro pc desde linux instalado, 275 • Autoinstalacion desde diskette/cdrom, 275 • Bibliograf´a, 275. ı

274

66. Crear un dominio publico: dyndns ´
´ ´ Version, 276 • Introduccion, 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. ı

276

67. Crear terminales linux: LTSP
´ ´ Versiones, 279 • Introduccion, 279 • Las maquinas, 279 • Hacer el disco de arranque para las terminales, 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 • Anadir las terminales al dns, 281 • Dar permisos al kdm en Xaccess, 281 • Dar permisos al kdm en kdmrc, 282 • Comentarios, 282 • Bibliograf´a, 282. ı

279

´ 68. Web Dinamicas: php+mysql
´ ´ ´ Versiones, 283 • Introduccion, 283 • Instalacion, 283 • Configurar mysql, 283 • Gestion de mysql, 284 • Uso de Mysql, 284 • Uso de Php, 286 • Ejemplo de php, 287 • Mysql-navegator, 296 • Bibliograf´a, ı 296.

283

´ 69. Apagar todas las maquinas de la red: ssh, halt

297

Por Paco Aldarias

7/449

Linux
´ ´ ´ ´ ´ Version, 297 • Introduccion, 297 • Instalacion, 297 • Configuracion de la maquina q ordena se apagen, ´ ´ ´ 297 • Configuracion de la maquinas q se apagan, 297 • Apagado de las maquinas, 298 • Hacer que ´ salga un mensaje que diga: El pc apagara en tantos minutos, 298 • Apagar el pc por telnet, 299 • Bibliograf´a, 299. ı

70. Bash: Ejemplos
´ Introduccion, 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 maquinas 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. ı

300

´ 71. Bajarse una pagina web entera: wget
´ ´ Introduccion, 309 • Instalacion, 309 • Uso, 309 • Ejemplo, 310 • Descarga controlada por un fichero., 310 • Descargar una pagina con nc, 310 • Comentarios, 311 • Bibliograf´a, 311. ı

309

72. Controlar la velocidad de internet: Squid con colas
´ ´ ´ Introduccion, 312 • Instalacion, 312 • Bajar la ultima version de squid, 312 • Compilar squid para ´ ´ colas , 312 • Configurar Squid para poder usar la prestacion de las delay pools, 313 • Usuario squid, 315 • Bibliograf´a, 316. ı

312

73. Control de trafico de red (QOS): dslqosqueue
´ Introduccion, 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.

317

74. Cosas utiles ´
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 grafico, 321 • Hacer que ´ se abra y cierre el cdroom, 322 • Dejar el sistema limpio, 322 • Abrir varios entornos graficos: startx , ´ 322 • Saber la ip desde consola, 322 • Comprobar el iso con el md5, 322 • Controlar maquinas con ip ´ dinamica, 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.

321

75. Controlar el disco duro usado: quota
´ Introduccion, 326 • El nucleo debe soportar quotas, 326 • Instalar el software: quota, 326 • Indicar ´ ´ ´ que se usan quotas, 326 • Informe de cuotas, 327 • Mantenimiento, 327 • Activacion y desactivacion de cuotas, 327 • Editar la cuota, 327 • Bibliograf´a, 327. ı

326

´ 76. Activar teclas especiales del teclado inhalambrico: Cordeless iTooch Keyboard de Logitech: lineakd 328
´ ´ Version, 328 • Introduccion, 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
´ Introduccion, 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.

332

Por Paco Aldarias

8/449

Linux ´ 78. Busquedas de paginas en tu servidor web: htdig
´ ´ ´ Introduccion, 335 • Requisitos, 335 • Instalacion, 335 • Configuracion, 335 • Crear un fichero de ´ paginas, 335 • Inicializar la base de datos, 336 • Uso, 336 • Bibliograf´a, 336. ı

335

´ 79. Foros de Discusion: Phpbb2
´ ´ Introduccion, 337 • Requisitos, 337 • Instalacion, 337 • Entrar al foro, 337 • Bibliograf´a, 338. ı

337

80. La radio por internet: icecast
´ ´ Introduccion, 339 • Instalacion, 339 • icecast-server, 339 • icecast-client, 340 • Acceso por web al administrador, 340 • Ponerse a escuchar la radio, 341 • Bibliograf´a, 341. ı

339

81. La hora en linux: ntp,date
´ ´ Introduccion, 342 • Si la hora q no se ajusta a la local, 342 • Instalacion, 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.

342

82. Eliminar el virus nimbda del servidor apache
´ Introduccion, 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.

345

83. Detectar y bloquear escaneos: portsentry
´ ´ ´ Introduccion, 348 • Instalacion, 348 • Ficheros de configuracion: /etc/portsentry/portsentry.ignore, 348 ´ • Ficheros de configuracion: /etc/portsentry/portsentry.conf, 348 • Script portsentry.sh, 354 • Script lee, 355.

348

´ 84. Descargar ficheros rapidamente
´ ´ Introduccion, 356 • Instalacion, 356 • Leer el ayuda, 356 • Servidor bittorrent: bttrack, 357 • Los clientes 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.

356

´ ´ 85. Instalacion y ahorro de energia de la tarjeta grafica nvidia (GeForce4 MX 440 AGP 8x) 359
´ Introduccion, 359 • Instalando los drivers de nvidia, 359 • Ahorro de energ´a en Athlon, 362 • ı ´ ´ Aceleracion 3D en nvidia: dri, 362 • Ver pelis del dvd en la tv, 363 • Instalacion de nvidia atraves ´ de apt, 363 • Mejorar la gestion 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
´ ´ Introduccion, 366 • Creacion de la base de datos en Mysql, 366 • Meteremos las ips, 367 • conclusion, 367.

366

´ ´ 87. Instalacion, configuracion y uso del Portal Web: Postnuke
´ Introduccion, 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 traduccion al espanol, 369 • Solucionar el error: themeheader , 369 • Bibliografia, 370.

368

88. Entrar a mysql usando open office: odbc
´ ´ Introduccion, 371 • Instalacion, 371 • Configurar el odbc, 371 • Crearmos la tabla amigos, 372 • El Open Office Writer, 372 • Bibliograf´a, 372. ı

371

Por Paco Aldarias

9/449

Linux 89. Transformar pel´culas de mpg a avi: mencoder ı
´ ´ ´ Introduccion, 373 • Reproduccion de video, 373 • Instalacion, 373 • Paquetes instalados, 373 • Pasar ´ un vcd a mpg, 374 • Pasar mp3 a avi, 374 • Saber informacion del video: tcprobe, 376 • Bibliograf´a, ı 376.

373

90. Aceleracion 3D con Voodoo Banshee [tdfx]
´ Mi placa de video, 377 • Tengo compilado en el kernel, 377 • Configuracion de X:, 377 • Prueba q fubnciona, 378.

377

91. Crear aulas virtuales: Moodle

379

´ ´ Introduccion, 379 • Caracter´sticas, 379 • Instalacion, 379 • Backup y Upgrade, 380 • Envio de email ı ˜ de los foros, 380 • Cambiar el tamano de los archivos que pueden descargarse, 381 • Bibliograf´a, 381. ı

92. Estadisticas del servidor web: awstats
´ ´ ´ ´ Introduccion, 382 • Instalacion, 382 • Configuracion, 382 • Enlace de las imagenes, 382 • Crear las estad´sticas, 382 • Ver las estad´sticas, 383. ı ı

382

´ 93. Sistema de Gestion de Base de Datos (SGBD): Postgres
´ ´ ´ Introduccion, 384 • Instalacion, 384 • Acceso y creacion de un usuario, 385 • El super usuario postgres, 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 grafico: pgaccess ´ , 386 • Entorno grafico: pgadmin3, 387 • Bibliografia, 387.

384

94. Hacer funcionar un scaner CanoScan LIDE 50 USB: Sane
´ Introduccion, 389 • Instalacion, 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.

389

95. Instalar el sitema de audio con Alsa
´ Introduccion, 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.

394

96. Instalar un lapiz usb (pen drive): sda
´ ´ Introduccion, 397 • Kernel 2.6, 397 • Kernel 2.4, 399 • Formatear el lapiz, 401 • Montarlo, 401 • Bibliografia, 402.

397

97. Ba jarse news con binarios: brag
´ ´ Introduccion, 403 • Instalacion, 403 • Para saber que grupos ahi, 403 • Para bajarse un grupo, 403 • Script para bajarse varios grupos, 403.

403

98. Monitorizar la temperatura de la cpu: sensors
´ ´ Introduccion, 405 • El kernel, 405 • Instalacion, 405 • Saber que sensores usar , 406 • Ver los sensores, 406 • Utilidad kde: ksensors, 406 • Bibliograf´a, 407. ı

405

99. Controlar el ancho de banda: shaper, netfilter, tc.
´ Introduccion, 408 • Controlar la velocidad del servidor web: shaper, 408 • Control de ancho de banda dando prioridad al puerto 22: Netfilter, 410 • Control del ancho de banda: Minilancontrol, 410 • Bibliografia, 412.

408

100. Escuchar emisoras de radio: mplayer
´ Introduccion, 413 • Lista de emisoras: emisoras.txt, 413 • El script de emisoras: emisoras.sh, 415.

413

Por Paco Aldarias

10/449

Linux 101. Recibir por email diarios oficiales BOE,DOGV: perl
´ Introduccion, 417 • Recibir el DOGV: dogv.pl, 417 • Recibir el BOE: boe.pl, 418.

417

´ 102. Instalar una camara de fotos digital: SONY DSC-P200
´ ´ Introduccion, 420 • El kernel y las camaras de fotos, 420 • Los permisos, 421 • Programas para la ´ camara, 421 • Montaje como usb normal, 421 • Modo USB PTP, 423 • Automontaje de dispositivos usb, 424 • Bibliograf´a, 425. ı

420

103. Eliminar el spam con procmail

427

´ Versiones, 427 • Introduccion, 427 • Configurar postfix, 427 • Fichero de configuracion, 427 • Bibliograf´a, ı 432.

104. Conectar a traves de cortafuegos: ssh invertido
´ Introduccion, 433 • Escenario, 433 • En maquinadetrabajo, 433 • En mimaquina, 434 • A tener en cuenta, 434 • Hacer que ssh siempre este conectado, 434 • Bibliografia, 435.

433

´ 105. Conectar movil Sony Ericson Z520i con bluetooh al pc
´ Introduccion, 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 • Configuracion, 439 • El proceso, 439 • obexftp, 439 • Direcciones de interes, 440.

436

106. Consolas virtuales desatendidas: Screen
´ ´ Introduccion, 442 • Instalacion, 442 • Comandos utiles:, 442 • Bibliografia, 442.

442

´ndice de cuadros I ´ndice de figuras I

444 445

Por Paco Aldarias

11/449

Linux

´ Prologo
´ Este documento es de libre reproduccion siempre que se cite su fuente. Se ha realizado para ayudar a los alumnos del curso 2002-2003, 2003/2004 de Centro de En˜ ˜ senanza Secundaria de 25 de abril de Alfafar en Valencia, Espana. Se lo dedico a mi familia y a mis alumnos. ´ Fecha de creacion: 21 de Septiembre del 2002. Este documento se ha realizado con: Sistema: Linux Debian Woody/Sid con kernel 2.4.20 ´ Sistema de documentacion: Editor Latex: kate ´ Impresion: 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

A LTEX

Por Paco Aldarias

I /449

Linux

Parte I

´ Linux Basico

Por Paco Aldarias

1/449

Linux

Cap´tulo 1 ı

´ Introduccion a linux
1.1. ´ Introduccion

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 grafico y texto. Altamente configurable. Alto numero 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. ´ ´ Facil actualizacion de todo el software. ´ Hay muchisima documentacion. ´ Una direccion que amplia esto: http://cila.gulic.org/apuntes/

1.3.

Porque usar Linux

´ Una buena explicacion 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 instalacion , y en algunas aplicaciones. Todas tienen algo en comun y es el kernel. ´ ´ Las distribuciones mas utilizadas son: Mandrake Redhat Debian ´ En esta pagina se pueden ver todas las distribuciones existentes: http://www.distrowatch.com/index.php ´ Que distribucion 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: ´ ´ ´ Facil instalacion, configuracion y actualizacion de programas. ´ La instalacion 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, segun 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

Preguntale 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 mas 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 compania 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 Espana. 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 dedicarle 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 Slackware 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 distribucion ((estable)) contiene la distribucion oficial mas reciente de Debian. ´ ´ Esta es la version de produccion de Debian, cuyo uso recomendamos principalmente. ´ ´ La version ((estable)) actual de Debian GNU/Linux es la 3.0r2, cuyo nombre en codigo es ´ woody. Salio el 21 de noviembre de 2003. ´ pruebas La distribucion ((pruebas)) (testing) contiene paquetes que aun no han sido acep´ ´ tados en la rama ((estable)), pero estan a la espera de ello. La principal ventaja de usar ´ ´ esta distribucion es que tiene versiones mas recientes del software, y la principal desventaja 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 mas informacion sobre que es ((pruebas)) y como se convierte en ((estable)). ´ La distribucion actual de ((pruebas)) es sarge. ´ inestable La distribucion ((inestable)) es donde tiene lugar el desarrollo activo de Debian. ´ Generalmente, esta distribucion es la que usan los desarrolladores y otros que quieren estar a la ultima. ´ ´ La distribucion ((inestable)) se llama sid. ´ ´ Para mas informacion mirar aqui:

http://www.debian.org/releases/ ´ Yo recomiendo usar la version pruebas.

Por Paco Aldarias

5/449

Linux

Cap´tulo 2 ı

´ Instalacion de linux y windows
2.1. Versiones
´ 12.01.02. Primera version. 20.12.03 Knoppix ´ 23.01.04. Revision.

2.2.

´ Introduccion

Los ordenadores del aula va a tener instalado Windows 98se y Linux Debian 3.0 (Stable). ´ Los pasos para la instalacion de los equipos seran: ´ Preparacion 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 particion de windows

2.3.1.
Pasos:

Como se hacen las particiones

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 ´ Practica. 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. Solo pueda haber una, y esta formada por particiones logicas. El ta˜ ´ ´ mano total de las particiones logicas coincide con la particion extendida.

2.3.4.

Particiones queremos hacer.

Nuestro disco duro es de 3079 Mb. Num 1 2 3 Para Win Linux Linux Nombre C swap / ˜ Tamano (MB) 1279 100 1700 Tipo PRIMARIA EXTENDIDA-LOGICA EXTENDIDA-LOGICA FORMATO FAT32 -ACTIVA SWAP 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 mas, 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 logicas, luego la extendida y por ultimo las prima´ rias ˜ ´ El tamano de la particion extentedida debe tener la suma de las particiones logicas, que ´ coincide con lo q queda libre del disco una vez creada la particion primaria ´ En nuestro caso la particion activa debe ser la de windows. En particiones con discos duros grandes (como uno de 80Gb), fdisk no funciona. Se puede ´ arrancar la instalacion 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 particion va a ser para windows. Cuando instalemos linux, ya le daremos formato al resto de particiones

2.4.

´ Instalacion de windows

Consideramos q nuestro cdrom esta en letra i

2.4.1.
Pasos:

´ Instalacion base de windows 98se

Instroducir el cd de windows 98se Apuntar el numero de serie de win con: ´ type i:\win98$\numserie.txt Ejecutar: i:\win98\win98\instalar ´ ı Eleguir instalacion 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 clasificacion de ´ maquinas 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 grafica. 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 ´ Direccion IP: 192.168.100.100+PC. ´ Mascara: 255.255.255.0. Comprobar q teneis red, mirando el icono de red. Monitor: Entrar en: Inicio-Panel de Control-Monitor ´ Cambiar la resolucion 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 el. Debemos Instalar el Office 97, entrar para ello en el CDROM, carpeta: \office97\disk1\ ´ y ejecutar setup. Eleguir instalacion tipica

2.5.

´ Instalacion de linux

´ En esta pagina 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 estandar), 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, necesitara al menos 400 MB. ´ ´ ´ Para una instalacion mas o menos completa precisara de 800 MB. ´ Para instalar todo lo disponible en Debian, necesitara 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 instalacion rapida 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 directamente el nucleo 2.4.18, si le damos a intro instala el 2.2 ´ ˜ 2. Seleccinar idioma espanol: es. ˜ 3. Configurar el teclado: Seleccionar teclado espanol 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 instalacion

2.5.4.

´ Post-instalacion

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 contrasena por seguridad.!! 6. CUENTA USUARIO: NOMBRE: PC+NUMCPC ˜ CONTRASENA: 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 sera la configuracion de red, si no usaramos 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.

´ Instalacion de kde

Para ser root: $ su (PASS:) infocole Instalamos kde con : apt-get install kde Nota: Darle ok a todo.

2.5.6.

´ Instalacion de entorno grafico: las exis

Instalamos el paquete xserver-xfree86:

apt-get install xserver-xfree86 ´ ´ Aqui nos pedira q metamos datos de la pantalla y la tarjeta grafica. Indicar q tenemos:

1. Manager ..: Yes 2. Manager XF.. : Yes 3. s3virge 4. framebuffer: no 5. Teclado: pc102 6. Keyboard layout: es ES ´ 7. Raton: 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 vera 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. Espanolizar debian: apt-get install manpages-es manpages-es-extra doc-linux-es doc-debianes ayuda language-env

2.5.9.

´ ˜ Instalacion del kde en espanol 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 espanol)

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: espanolizacion 6. kdebase-crypto: Para que konqueror entre en paginas seguras ˜ 7. kde-i18n-es: kde en espanol 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 solo 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 espanol : ı 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 basicamente 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 disquete. 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 esta: http://www.debian.org/ devel/debian-installer/

2.9.

Instalar Debian Knoppix STD 0.1: security tools distribution

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

2.10.

˜ Instalar Debian para ninos: 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 Perez. 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. Donde se encuentra el programa format? ´ 9. Que hace la orden format c:/s? ´ 10. Que programa instala windows?

2.13.

Text 2. Windows

Contestar a estas preguntas: 1. Windows reconoce todos los dispositivos del ordenador.? Cuales no? ´ 2. Que es un driver o controlador de tarjeta de video? ´ 3. Que 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. Como se q tengo instalada la tarjeta de red? 7. Para q conectamos en red? ´ 8. Como se que tengo red? ´ ´ 9. Que nombre tiene la tarjeta de red? Como es ISA/PCI? ´ 10. Donde 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. ´ Introduccion

´ Knoppix es una distribucion de linux con las siguientes caracter´sticas: ı 1. Permite entrar a linux sin instalar nada. 2. Autodetecta todo el hardware ´ 3. Necesita una particion 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.

´ Instalacion en disco duro

´ Basicamente hay q seguir estos pasos: ´ 1. Tener en el disco dos particiones: una de 5Gb para instalar linux, (tipo ext3), y otra particion 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 situacion (y varias veces) de haber perdido el menu 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 apanado 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 particion 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, mas o menos. Es decir, si ponemos ´ ”ls”se estara ejecutando el ”ls”de nuestro disco duro, no el del knoppix. ´ Ahora, si hacemos un ls , veremos nuestro /bin, /etc, /boot. Solo queda ejecutar: lilo Una vez restaurado el menu tecleamos: exit Ya solo falta reiniciar ´ Si tenemos el /boot en otra particion, 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 estandar 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 estarna ı ı 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 mas detalles: http://sindominio.net/quique/Traducciones/instalacion de knoppix en el disco duro. html ´ 4. Recuperacion 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 Version Inicial.

4.2.

´ Introduccion

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´ talacion desde cdrom. Veamos la forma de hacerlo. Requisitos: ´ 1. Disponer del cd1 de instalacion 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 maquina. Una vez arrancado con el disquete, debemos elegir que coja el cdrom con dispositivo de arranque. ´ Y ya podemos seguir con el proceso de instalacion.

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 particion tenemos linux instalado para poder indicarle que coja dicha ´ particion. Una vez metido el disquete podremos entrar a linux, poniendo cuando aparezca boot: rescue root=/dev/hda1 ´ Siendo la primera particion 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. ´ Introduccion

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 menu: Inicio- Sistema - Administra´ ´ cion de usuarios. ˜ Pondremos la contrasena de root. Nota: Si no existe esta opcion en el menu, instalarlo desde consola como root: apt-get install kuser ˜ Iremos al menu: Usuario - Anadir. Pondremos el nombre de nuestro usuario. En insterprete de comando pondremos: /bin/bash ˜ ˜ Pincharemos en contrasena y le pondremos la contrasena. Seguidamente antes de salir, iremos al menu: Archivo - Guardar. ´ Y ya podremos entrar con el nuevo usuario. Para ello iremos al menu: Inicio - Terminar. ˜ Al pedir de nuevo el usuario y contrasena, le pondremos la que hemos creado.

5.3.

Configurar el usuario

´ La primera vez q entremos al usuario nuevo, nos pedira, pais e idioma. ˜ ˜ le pondremos Espana- Espanol. Al resto de preguntas le diremos, siguiente, y por ultimo terminar. ´ Asumimos q estamos en kde 2.2. que viene con debian woody, para lo cual podremos configurar lo siguiente: ˜ Poner el idoma espanol en kde. En kde 2.2: Ir al menu: Inicio: Centro de Control (Control Center) - Personalizacion (Personalization) - Pais e idioma (Country-Language). En kde 3.1: Ir al menu: Inicio- Control Panel - Look-feel - Country Language˜ ˜ Seleccionar Pais: Espana - Idioma Espanol. Por Paco Aldarias 21/449

Linux Poner teclado en castellano ´ En kde 2.2: Ir al menu: Inicio: Centro de Control (Control Center) Perifericos(Perfiferical) Teclado (Keyboard). ´ En kde 3.1: Ir al menu: inicio - Sistema - Panel de control - Perifericos - teclado. ˜ Desactivar el idioma por defecto - Eleguir idioma espanol. ´ En avanzado: Eleguir iniciar con el teclado numerico. Configurar la barra de Tareas, para q no agrupe ventajas, Ir al menu: inicio - sistema - panel de control - Escritorio(Desktop) - Barra de tareas. Desactivar - Agrupar tareas similares. Configurar el konqueror. ´ Ir al menu: Preferencias - Configuracion Konqueror. Proxy: 192.168.100.2 Puerto:8080 Cookies: Aceptar todos. Criptograf´a: Desactivamos el advertir al salir del modo ssl. ı ´ Navegacion Java/Javascript: Lo activamos.

Por Paco Aldarias

22/449

Linux

Cap´tulo 6 ı

Konqueror
6.1. ´ Introduccion

´ Konqueror es una Navegador web y un explorador de archivos (o tambien Administradores de archivos). Cambia el icono, segun 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 solo se ocupan de las tareas basicas 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 numero. ´ 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.

´ Practica

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 menu 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 montara y se abrira se abrira el administrador de archivos, y mostrara 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 saldra 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.

´ Practica

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 mas 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 ´ Version larga • ls -la ´ Version 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 solo 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 direccion Crear directorio: Editar - Crear nuevo - Directorio Borrar directorio: Boton direcho sobre el icono del directorio - Eliminar Por Paco Aldarias 30/449

Linux

9.2.
9.2.1.

´ Practica
´ Practica 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.

´ Practica

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 basicos 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.

´ Practica

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, tambien son llamados metacaracteres. Equivalen a los comodines en msdos. ´ Permiten a los usuarios nombrar los archivos de forma abreviada y acceder a muchos en un solo comando. ´ ´ ?: Cuando el caracter es utilizado como parte de un archivo o directorio, la iterrogacion sustituye ´ a un solo caracter. *: Cuando se utiliza como parte del nombre de un archivo o directorio, el asterisco sustituye a un ´ cualquier grupo de caracteres. ´ [ ]: Cuando se utiliza como parte del nombre de un archivo o directorio, representa una caracter ´ ´ de los incluidos en la posicion donde este. Se pueden poner rangos separados por un guion. 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.

´ Practica

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 parandose en cada pagina. tail archivo Visualiza el final del archivo. more archivo ´ Visualiza el arhivo por paginas.

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.

´ Practica

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 games.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 simbolico 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

´ Sintasis: ln -s origen destino

13.1.2.

Desde konqueror

Abrir el konqueror Editar - Crear Nuevo - Enlace : ´ Direccion (Paginas web) Apliacion.(Programas)

13.2.

´ Practica

´ Vamos a crear un fichero que contenga un texto, y despues 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 otra8. 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 ı

Busquedas ´
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 algun 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.
14.2.1.

´ Practica
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 boton: 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. ´ Introduccion

´ Un fichero es el lugar donde se guarda la informacion. 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 caracter multiusuario. ı ´ Permite proteger la informacion de usuario del resto. ´ Un usuario solo puede acceder a los ficheros q el es propietario y segun 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 numeradolo: 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 numero de enlaces. ´ Si es un directorio el numero de subdirectorios. ´ 3. Propietario 4. Grupo ˜ 5. Tamano en bytes. ´ ´ 6. Fecha de creacion o ultima actualizacion. ´ 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. ´ Ejecucion (x). Se puede ejecutar. Permisos para directorios: ´ Escritura (w). Es posible crear crear ficheros y directorios en su interior. Tambien es posible ´ borrarlo los ficheros contenidos en el. El propietario de un directorio, siempre podr borrar ´ los archivos contenidos en el, aunque sean de otro usuario. Lectura (r). Permite listar su contenido pero no permite entrar. ´ Ejecucion (x). Permite el acceso a directorios. ´ En general, se da permiso de ejecucion y lectura, cuando se quiera autorizar el acceso, y ninguno cuando se quiera denegar. ´ Si no se tiene el permiso necesario para realizar alguna accion, 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 guion. 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 ˜ + : anade permisos - : quita permisos = : iguala el nivel de permisos a los del grupo r : permiso de lectura w : permiso de escritura ´ x : permiso de ejecucion 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 ejecucion 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 mas 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) ´ Solo 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: ´ Solo 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 (tambien 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.

´ Mascara de permisos: chmod

Su forma general es: chmod mascara-octal fichero

Por Paco Aldarias

46/449

Linux Siendo mascara tres numeros, 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 = rwotros = 3 = 2 + 1 = -wx Quedando los permisos como: r w x r w – w x ´ ´ Ejercicios. Indicar q mascara tendra: 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 mascara o con mascara. Con mascara es mas ´ rapido. 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 mascara: chmod og-rx fichero3 chmod g+w fichero3 ´ Seria con mascara: 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 numero 6 de cada uno de los ´ ´ d´gitos de la mascara 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 mascara indica que 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 mascara se respeta si utilizamos el comando chmod, sin asignar los permisos a ningun usua´ ´ ´ rio. Es decir, el comando chmod +x , solo otorgaria permisos de ejecucion al propietario del fichero en el caso de q la mascara fuera 077. ´ Si se desea utilizar una mascara, se debera situar el comando umask en los ficheros q definen el ´ entorno del usuario al iniciar la sesion (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, mas q un unico 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 version 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. Tambien 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 simbolicos (simbolic links), de ahi q tegan q crearse con el parametros -s. ´ Los enlaces tambien 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 hara usando la id efectiva de postgres.

15.11.

Bibliograf´a ı

´ ´ 1. Cesar Mart´n Perex. Linux. Guia Practica.Editorial Anaya. 1998. ı

Por Paco Aldarias

49/449

Linux

Cap´tulo 16 ı

´ Gestion de procesos
16.1. ´ Introduccion

´ Vamos a ver como se puede gestionar los procesos. Un proceso es un programa en ejecucion. ´ ´ Los procesos tiene propietario, y solo root puede matar todos los procesos en ejecucion. Un ´ usuario solo puede matar sus procesos.

16.2.
ps -aux

Desde consola

´ Para ver los procesos en ejecucion: Se puede ver q la segunda columna el numero de proceso. ´ Para matar un proceso: kill num Siendo num el numero de proceso que aparece en ps. ´ Practica; Abrir el konqueror, y matarlo.

16.2.1.

Ir a la consola con el kde bloqueado

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

16.3.

Desde kde

Ir al menu: 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 raton el proceso y pulsar el boton matar.

16.4.

Matar todos los procesos de un usuario

La orden es: pkill -U nombreusuario

16.5.
pstree

Ver el arbol de procesos

La orden es:

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 mas alta prioridad) a 19 (la mas 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 conexion

Crearemos un nuevo elemento, en donde tendremos: ´ Casilla 1: Grafica de bytes de recepcion y envio, Casilla 2: Valor bytes recibidos Casilla 3: Valor bytes de enviados. Ir al menu: Inicio - Sistema - Guardia del sistema ´ ˜ Anadir - 1 fila x 3 columnas. Pinchar y arrastrar en cada casilla, Por Paco Aldarias 51/449

Linux ´ Practica. 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. ´ Introduccion

´ Vamos a ver la forma rapida 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 pagina web q permite buscar el significado de las palabras. ´ Para sacar la definicion de casa ser´a: // http://buscon.rae.es/draeI/SrvltGUIBusUsual? ı TIPO HTML=2&LEMA=casa ´ ´ Veamos la forma rapida de poder acceder a esta pagina rapidamente con una palabra.

17.3.

´ ˜ Con el navegador Konqueror version 2.2.2 en espanol.

Los pasos son: ´ ˜ 1. Ir al Menu: Opciones - Configurar Konqueror - Navegacion Mejorada - Anadir ´ 2. Rellenar esto: Buscar nombre de proveedor : rae Buscar URL: http://buscon.rae.es/draeI/SrvltGUIBusUsual?TIPO_HTML=2&LEMA=\1 ´ Accesos Rapidos a Url: rae Y aceptar. ´ Nota: Como se aprecia la palabra a buscar se identifica con \1 ´ 3. Ahora probaremos q funciona, iremos al navegador y escribir en direccion: 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 version 3.1 en espanol. Los pasos son: ´ ˜ 1. Ir al Menu: Preferencia - Configurar Konqueror - Accesos Rapidos para web - Anadir ´ 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. ´ Version

´ 10.10.4. Instalacion de gaim 0.74 en woody.

18.2.

´ Introduccion

´ La mensajeria instantanea 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. Solo Msn ´ 3. licq. Solo 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. Configuracion : Cargar el protocolo Ir a Plug-Ins - Cargar (Load) Seleccionar libmsn.so 4. Poner nuestro usuario: Ir a Cuentas (Accounts) ˜ Anadir (Add). Y rellenar vuestros datos: Nombre del usuario: pepito@hotmail.com (Tu email) ˜ Contrasena: Dejarla vacia Alias: Pepito Garcia (Aqui se poner el apellido) Protocolo: MSN ˜ Recordar contrasena: Dejarla vacia Autoconectarse: Activado El resto dejarlo como esta

18.4.

´ Instalacion de gaim 0.74 en sid

apt-get install gaim

18.5.

´ Instalacion de gaim 0.74 en woody

´ Esta version 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. ´ Introduccion

´ En linux se dice que no hacen falta libros, porque existe una enorme cantidad de informacion 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 informacion de programas en: Desde consola: man programa Desde konqueror: man:programa

Por Paco Aldarias

59/449

Linux

Cap´tulo 20 ı

´ Software para Ofimatica
20.1. ´ Introduccion

´ ´ ´ Linux tiene cualquier tipo de software ofimatico, ademas de otras utilidades. Citaremos los mas importantes y por orden de mejor a peor.

20.2.

Notas

´ Entorno grafico. ´ ´ kjots. KJots dispone de dos elementos basicos para organizar sus notas: libros y paginas. Kde.

20.3.

Biblioteca

´ Entorno grafico. ´ bookcase. Gestion de biblioteca.

20.4.

´ Autoedicion

´ Entorno grafico. ´ scribus. Programa de autoedicion. Similar a Pagemaker. Ver figura 20.1 http://web2.altmuehlnet.de/fschmid/about.html

20.5.

Mapas del mundo

´ Entorno grafico. 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 informacion 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 grafico. 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 grafico. karm Cronometro personal. Permite seguir tiempos. kfloppy Permite formatear diskettes ding ´ Diccionario de ingles.

20.8.

Hacer presentaciones

´ Entorno grafico. 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 ´ Instalacion: apt-get install partimage Web Oficial: http://www.partimage.org/

20.10.

Gestor de Proyector

´ Entorno grafico. mrproyect. ˜ Esta en espanol. Permite cuentas de activo, pasivo, balances, soporte del euro. http://mrproject.codefactory.se/

20.11.

Gestor Financiero

´ Entorno grafico. gnucash. Permite llevar una contabilidad ˜ Esta en espanol. 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.
Consola

Albunes de Fotos

Por Paco Aldarias

63/449

Linux jigl Genera albunes de fotos en html, usando perl. ´ Da informacion 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 busquedas por texto, subir fotos, control de usuarios, visualizacion 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 grafico. 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 grafico. GTKtalog. Catalogador de cds. ´ GTKtalog es una herramienta para hacer catalogos en disco: usted puede usarlo para crear ˜ ´ una base de datos realmente pequena con la informacion 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 grafico. ´ korganizer. Agenda electronica.

20.16.

´ Paquetes Ofimaticos.

´ Entorno Grafico . Compatible con ficheros de Microsoft. Todos tienen procesador de texto, hoja ´ ´ de calculo, base de datos, presentaciones. 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 Grafico. kate kedit gedit kwrite Por Paco Aldarias 65/449

Linux

20.18.

´ Mensajeria instantanea

gaim. Permite yahoo, msn, icq, etc. amsn. Solo msn. ´ licq. Solo icq.

20.19.

Chat

Xchat: http://www.xchat.org/ kvirc

20.20.

Navegadores www

Konqueror ´ Nota: Para poder entrar en paginas seguras (https),hay q instalar el paquete kdebasecrypto, que es soporte SSL para KDE. Mozilla Netscape 4.77 Netscape 6 Opera Galeon

20.21.
´ Graficos: Kmail

´ Clientes de correo electronico

Mozilla Netscape 4.77 Evolution

20.22.
Knode Pan

Clientes de news

Desde consola:

Por Paco Aldarias

66/449

Linux

20.23.
Pine Mutt

Clientes de correo

20.24.
Consola brag.

Clientes de news para binarios

Para ver los grupos: brag -s servidor_de_news -L Para bajarse: brag -c -s servidor_de_news -g grupo.de.news -o /carpeta_destino -a "*.jpg" -t 4 > grupos.txt

20.25.
Wysiwing:

˜ ´ Diseno de Paginas Web

Mozilla Netscape 4.77, Netscape 6 Html: Bluefish. Muy completo. Quanta. Muy completo Glimmer. Permite resalta la sintasis.

20.26.
Knode

Clientes de grupo de noticias

Mozilla (similar a Netscape 6) Netscape 4.77 Netscape 6

20.27.

´ Diccionario Monoligue de Ingles

´ Kdict. Se conecta con varias bases de datos por internet, y muestra su definicion.

Por Paco Aldarias

67/449

Linux

20.28.

´ ˜ Diccionario bilingue de Ingles-Espanol

´ ˜ ˜ ´ Wordtrans. Permite traducir palabras de ingles a espanol y de espanol a ingles. Tambien ´ permite mas idiomas. wortrans.html i2c. Similar a wordtrans pero para entorno X

20.29.

´ ´ Thesauro - Sinonimos en Ingles

´ KThesaurus. Lista palabras relacionadas en Ingles.

20.30.

Bajarse ficheros en barias sesiones: Downloaders

´ Modo grafico 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 grafico gftp. Permite comparar carpetas y actualizar solo los cambios. kbear. Permite ftp y ssh. Modo consola ncftp. Muy completo ´ ftp. El basico.

20.32.

´ Visores de imagenes

´ Modo grafico Gtksee Gqview kview Modo consola zgv Por Paco Aldarias 68/449

Linux

20.33.

´ ´ Manipulacion de imagenes

´ Modo grafico: 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 grafico ˜ ´ kpovmodeler. Esta en espanol. Muy completo. Permite generar imagenes en 3d. Requiere instalar el paquete povray.

20.35.

Consulta online del cambio de monedas

´ Modo grafico 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 grafico 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 repeticion, aleatorio. Varios tamanos de ima´ Esta integado en kde. gen. Permite ver la duracion. Realplayer. Idel para escuchar canales de tv por la red. Formato xine xmovie noatun realplayer mplayer asf si mpeg si si si si avi ram

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 grafico xmms. Similar a winamp. Modo consola Por Paco Aldarias 70/449

Linux mpg123

20.38.

´ Manipulacion del audio

´ Modo grafico: audacity

20.39.

Visores de ficheros pdf.

´ Modo grafico 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 si ai si no si xpdf si si si si no kghostview

Van lo enlaces Seleccion de texto Busqueda de texto Refresco Indice Lateral

si

Cuadro 20.2: Lectores de pdf ´ Para imprimir, lo mas facil es poner como impresora: kprinter

20.40.

Escuchar la radio

´ Modo grafico Realplayer. (Para linux). Mplayer.

20.41.

Control del audio

´ Modo grafico ´ kdemultimedia. Utilidades para control del audio, reproduccion de cds de audio.

Por Paco Aldarias

71/449

Linux

20.42.

Bajarse canciones, programas,...

´ Modo grafico 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.
Consola:

´ Envio de mensajes a moviles

linuxsms

20.44.
´ Grafico:

Formatear diskettes

kfloppy. Permite formatear disquettes para msdos y linux.

20.45.
´ Grafico:

´ Entornos de programacion

´ Anjuta. Entorno de programacion en C/C++, muy completo http://www.anjuta.org/ ´ glimmer. Entorno de programacion con multiples ventanas. Soporta Latex. ´ ´ xwpe. Consume pocos recursos. Entorno de programacion para consola y grafico. Progra´ macion en C. ´ Kdevelop. Entorno de programacion en C, muy completo

20.46.
Consola:

Ajedrez

gnu-chess crafty ´ Grafico: 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 grafico. kdf (Kdisk Free). Informa del espacio libre en disco

20.48.

Utilidades del sistema

Permiten saber el consumo de cpu, de memoria. ´ Entorno grafico. ksysguard gkrellm

20.49.

Saber el tiempo, temperatura de tu localidad

´ Entorno grafico. kweather. Aqu´ se explica como funciona: ı http://bulmalug.net/body.phtml?nIdNoticia=1540 ´ ´ Aqui estan los codigos de localidades: http://www.nws.noaa.gov/tg/siteloc.shtml Nota: Valencia es el codigo LEVC

20.50.

´ Planificacion de proyectos

´ Entorno grafico. mrproyect Por Paco Aldarias 73/449

Linux

20.51.

Mensajeria instantanea

Envio de mensajes cortos en red. ´ linpopup. Entorno grafico 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. Grafico. Similar a msn.

20.52.

Astronomia

´ Entorno grafico. kstars. Permite ver el cielo con sus estrellas.

20.53.

Qu´mica ı

´ Entorno grafico. ´ kalzium. Completa tabla periodica de elementos

Figura 20.4: kalzium

Por Paco Aldarias

74/449

Linux

20.54.
Consola:

´ Matematicas

´ Gnuplot. Representacion de funciones ´ Entorno grafico. ´ kmatplot. Representacion de funciones http://edu.kde.org/projects/maths.phtml ´ kmplot. Representacion de funciones ´ ´ scilab. Calculo matricial, Representacion de funciones,etc http://www.scilab.org ´ Ver imagen de la pagina 75 Figura: 20.5 Desde consola ´ ´ octave. Calculo matricial, Representacion 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-Espanol
21.1. Versiones

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

21.2.

´ Introduccion

WordTrans es una diccionario bilingue. Es decir, le ponemos una palabra y la traduce.

21.3.

´ Instalacion

Para debian sid: Como root hay q hacer todo esto: apt-get install i2e wordtrans-qt ´ Paquetes/version que tengo instalado: i2e wordtrans-data wordtrans-doc wordtrans-qt 0.5-5 1.0beta2-2.5 1.0beta2-2.5 1.0beta2-2.5 English-Spanish translation dictionary. Multi Language Word Translator for Linux Multi Language Word Translator for Linux 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. Pagina oficial de wordtrans: http://www.escomposlinux.org/rvm/wordtrans/index.php ´ 2. Ubicacion 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. ´ Introduccion

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 poniendonos desde konqueror sobre el archivo, ´ decirle descomprimir el archivo aqu´, con el boton 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 raton, pinchar en el escritorio en un lugar vac´o. Elegir: Crear Nuevo - Enlace de Apliı ´ ´ cacion. Cambiar el texto: Enlace a aplicacion por Amsn En Ejecutar-Comando: /msn/amsn

Por Paco Aldarias

80/449

Linux

Cap´tulo 23 ı

Escuchar la radio: mplayer, xmms, realplayer
23.1. ´ Introduccion

Vamos a ver como se puede escuchar la radio.

23.2.

Paquetes a instalar

´ A continuacion 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 Espanolas. 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 Espana. 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. Radio Fatima Vacaria - Integrada a Rede Sul de Radio - 580 KHz - 10KW Radio de Integracao ¸˜ Regional veja mais em www.radiofatima.am.br mplayer mplayer -cache 256 mms://200.102.247.174:8080 Musica 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 grabara 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 tamano.

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(Espana) 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 pagina: http://pagina.de/pacodebian

Por Paco Aldarias

83/449

Linux

Cap´tulo 24 ı

Instalar flash en el navegador
24.1. ´ Introduccion

´ Flash es un tipo de elementos que tienen las paginas web que aparecen imagenes en moviviento. Es necesario antes de instalar el flash haber instalado los navedares: apt-get install mozilla, netscape ´ Tambien hay que cerrar los navedadores antes de instalarse. ´ El flash se debera instalar para cada usuario, y es necesario al menos haber entrado una vez en ´ el navegador, para que se creen los ficheros de configuracion.

24.2.

´ Instalacion como paquete

En debian woody desde consola como root: apt-get install flashplayer-mozilla ´ Nota: Con este metodo 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 diciendole 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. ´ Introduccion

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.
25.2.1.

´ Instalacion
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 ´ Instalacion 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 informacion aqui: http://mldonkey.berlios.de/modules.php?name=Wiki&pagename=Clean% 20install

25.4.

Usuarios

´ Una vez arrancado el servidor entraremos para la gestion de usuarios. Entramos al servidor: telnet 127.0.0.1:4000 ˜ Esto anade el usuario pepe: add_user pepe passpepe

˜ ´ Le damos contrasena al usuario admin que es el de administracion (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.
25.7.1.

´ Configuracion
donkey.ini

N´mero de servidores u 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: a max_hard_upload_rate = 5 Velocidad m´xima de download: a 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.
#!/bin/sh

mldonkey previewer

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.

˜ Anadir un enlace bittorent desde consola

´ ˜ Los caracteres extranos va entre comillas: dllink "sdflfk()().torrent" Si el fichero semilla esta en una carpeta: dllink /usr/local/mldonkey/torrent/seeded/******.torrent

25.9.

˜ Anadir 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 efectivamente 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 mas 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 ejecucion: 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.

´ Introduccion

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 solo he podido hacer q funcione la version 0.8.1 de gotmail.

26.3.

Coger el fichero gotmail

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

26.4.
mkdir /soft

Descomprimierlo

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

26.5.

´ Fichero de configuracion

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 pagina 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. ´ Introduccion

´ ´ Opera es un navegador web. Segun mucho uno de los mas rapidos ´

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 espanol:

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 Espanol.

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. ´ Introduccion

´ En este apartado veremos como se configura el teclado y las fuentes. La configuracion del teclado afecta a consola y a las exis.

28.2.

Paquetes a instalar

´ A continuacion 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 tambien: 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 espanol 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 configuracion 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 sacara el juego de caracteres adecuados. Veamos q debemos configurar: Inicio-Centro Control - Perifericos Teclado: Modelo: Generico 104 ˜ ˜ Diseno: Espanol Inicio-Centro Control - Pais e Idioma: ˜ Pais: Espana ˜ Idioma: Espanol. ´ Juego caracterres: 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.

˜ Espanolizar 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 Option Option "XkbRules" "xfree86" "XkbModel" "pc105" "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 ı

´ Administracion de usuarios
29.1. ´ Introduccion

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.

´ Creacion de usuarios

# adduser usuario ˜ Anade el usuario ˜ Ejercicio: Crear los siguientes usuarios poniendo lo mismo en contrasena. Vamos a crear 5 usuarios q seran de los distintos grupos de alumnos. Si estamos en el pc101: usuario grupo1 grupo2 grupo3 grupo4 grupo5 profesor prueba grupo 2BACH 1BACH-1BA 1BACH-1BH 1BC 3D 3E profesor prueba

Cuadro 29.1: Usuarios ´ Nota: Esto es una solucion temporal, pq cuando haya red, instalaremos nis, y los usuarios se dan de alta de una maquina solamente.

29.3.

´ Como cambiar de usuario

#su usuario ´ Para volver al usuario anterior: CTRL+D Solo el usuario root puede cambiar de usuario sin con˜ trasena. Por Paco Aldarias 101/449

Linux

29.4.

´ ˜ Como cambiar la constasena

# passwd usuario

29.5.

´ Como borrar un usuario

# deluser usuario

29.6.

´ Como ver los usuarios existentes

# cat /etc/passwd

Por Paco Aldarias

102/449

Linux

Cap´tulo 30 ı

El Audio
30.1. ´ Introduccion

Vamos a ver como se configura el audio y sus herrmientas

30.2.

Paquetes a instalar

´ A continuacion 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
/dev/sequencer /dev/audio /dev/cdrom -> hdc /dev/dsp /dev/midi0 /dev/mixer /dev/sequencer

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

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 pagina: 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 ı

´ Administracion de Paquetes
31.1. ´ Introduccion

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 paquetes 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. Anade los paquetes del cd-rom apt-get install paquete. Instala un paquete ´ apt-cache show paquete. Muestra informacion 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. ´ Despues 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 ´ # Multimedia 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 ´ # Multimedia 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.

´ ´ Generacion automatica 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 ˜ Anadir 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/paquetes/) 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 maquina. ´ ´ ´ Habra una maquina q hace de servidor, q es donde se instala apt-proxy, y el resto de maquinas deben configurar el source-list para que vayan al servidor de apt. Pasos: 1. Instalar paquete apt-proxy en el servidor ´ 2. Configuracion Servidor ´ 3. Configuracion Clientes

31.8.1.

Instalar el paquete apt-proxy

# apt-get install apt-proxy

31.8.2.

´ Configuracion 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.

´ Configuracion 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/cache/apt/archives: apt-proxy-import /var/cache/apt/archives ´ ´ ´ Si no te funciona es porque tienes much´simos debs en ese directorio, con mas de 4 o 5 versiones ı del mismo paquete. Tras un apt-get autoclean ´ ´ ´ basta para eliminar el exceso de paquetes y, despues, funciono a la perfeccion el apt-proxyimport.

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.
Instalar:

Instalador global de paquetes: synpatic

´ Esta herramienta grafica permite instalar software comodamente

apt-get install synpatic gksu Ejecutar desde el menu de inicio - sistema - kgsu Poner synpatic

31.10.

Instalador global de paquetes: tasksel

´ Permite la instalacion 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 informacion ´ de la tarea, y nos dice q paquetes instalara, 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 configuracion 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 vera 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 metodo 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 esten 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- Administracion 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~adimos: n 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

´ logicamente 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 maquina

´ Esto puede servir para clonar maquinas. 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.
31.20.1.

Crear un repositoio local: apt-move
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. Tambien 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.
ll

Donde guarda los paquetes

/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 maquinas q acceden al repositorio. nano /etc/apt/sources.list deb http://192.168.100.2/apt testing main contrib non-free

31.21.

´ Practicas

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 espanol 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 espanol. ´ Nota: Despues de instalar esto, hay q hacer desde un usuario normal para que coja el en˜ torno espanol: $ 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. Anadiendo 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 inutiles del sistema: deborpan ´

apt-get remove --purge ‘deborpan‘

31.24.

´ Forzar la instalacion 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. Ubicacion 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 mas utilizados en linux, ademas de ser potente y altamente configurable. ´ La pagina web de apache es: http://www.apache.org/

Figura 32.1: Apache

32.2.

´ Practica

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 configuracion: #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 pagina web y ponerla en el servidor web, y despues 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 contrasena ˜ - Como usuario: Hace falta introducir el usuario y la contrasena. 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 maquina.

33.2.

Instalar el servidor

x Instalar el servidor ftp: # apt-get install proftpd ´ Para ver el contenido que mostara el servidor anonimo es: ls -la /home/ftp/ ´ Para ver la configuracion del servidor: cat /etc/proftpd.conf

33.3.

´ Fichero de configuracion:

´ Vamos a ver como deberia ser el fichero de configuracion: /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 . ” Debian ” standalone off on on on on 600 600 1200 welcome . msg . message ”− l ” \∗.∗/

ServerName ServerType DeferWelcome MultilineRFC2228 DefaultServer ShowSymlinks AllowOverwrite TimeoutNoTransfer TimeoutStalled TimeoutIdle DisplayLogin DisplayFirstChdir LsDefaultOptions 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 </ D i r e c t o r y > on

# 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~a:x.x.x.x \\ n ftp://usuario:x.x.x.x

33.8.

´ Mas informacion

´ La pagina web oficial: http://www.proftpd.org/ ´ Direcion 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 maquinas 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 contrasena (Siendo un usuario. No siendo root) vncserver ˜ (Poner como contrasena infocole ) Arrancar el servidor: (Siendo un usuario. No siendo root) vncserver :1 ´ Nota: Podemos poner mas parametros: vncserver :1 -depth 16 -geometry 800x600 Siendo: depth : el numero de colores ´ ˜ geometry: el tamano 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 contrasena: (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 sesion de X, en el servidor. Es decir, nos conectarnos a uan ´ maquina para ver su escritorio, pero no el q actulamente este utilizando. Instalar el cliente: (Siendo root) apt-get install xvncviewer ´ Conectarse a una maquina: (Siendo un usuario. No siendo root) xvncviewer -viewonly x.x.x.x:1 Siendo: ´ x.x.x.x es la ip de la maquina 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 maquina 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: Conexion 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 Conexion remota de escritorio en el nombre, en comando pondremos: krdc -caption "%c" %i %m ´ Activar el lanzamiento con retroalimentacion

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 sesion 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.

´ ´ Mas informacion

Este art´culo: http://usuario.tiscali.es/paco25abril/ ı ´ Pagina oficial:http://www.realvnc.com/ ´ Pagina 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 particion. 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 particion 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 estara 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 ˜ Anadir 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.

´ ´ Mas informacion

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. ´ Introduccion

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 maquinas 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 maquinas windows. ´ ´ Deberemos decir en que carpeta linux pondra los recursos de maquinas windows. ´ Los pasos para instalacion del servidor samba son: Configurar el servidor Reiniciar el servidor ´ Los pasos para instalacion 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 instalacion 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 contasena de windows y de linux. ˜ Anadiremos los usuarios linux asi: #useradd usuariowindows #passwd usuariowindows Ejemplo: #useradd prueba #passwd prueba ˜ Ahora un entrando desde windows como usuario prueba y contrasena 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 configuracion del samba que es: /etc/samba/smb.conf

36.2.4.

´ Configuracion del servidor

´ Para ver el fichero de configuracion: # cat /etc/samba/smb.conf ´ Para editar el fichero de configuracion: # nano /etc/samba/smb.conf ´ Hay q cambiar el fichero de configuracion del samba para que se adapta a nuestra red. Este ´ fichero debera grabarse en /etc/samba Crearemos una carpeta que sera publica, 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 o 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 = % s e r v e r ( Samba % ) h 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 = % home U 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 numero del ´ ordenador.

Por Paco Aldarias

134/449

Linux

36.3.
36.3.1.

El cliente samba
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 llamara /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 grafico 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.

˜ Anadir 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 impresion, y queremos imprimir con windows. ´ 1. Ir a Centro de control de KDE - perifericos - impresoras. ´ 2. Te aseguras de que usas CUPS como sistema de impresion. ´ ´ ˜ 3. Boton derecho sobre el area de la lista de impresoras - anadir impresora - impresora SMB. 4. Pones como URI ”smb://ordenador/impresora”, con un nombrado igual que en guindous. ¨

36.6.

Bibliograf´a ı

´ 1. Ubicacion 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. Como montar un servidor Samba PDC en una red de maquinas 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. ´ Introduccion

(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 anadir 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 maquina 10.0.0.25 De manera facil: abre un Konqueror en una ´ maquina. 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 pedira login y password. Por Paco Aldarias 138/449

Linux

37.6.

Ejercicios NFS

´ 1. Solicitar al profesor q cree una carpeta con tu usuario, descpues montarla en tu ordenador. 2. Igual q el anterior, pero q monte la carpeta de cualquier usuario. ˜ 3. Compartir carpetas con el companero, siendo primero servidor y luego cliente

Por Paco Aldarias

139/449

Linux

Cap´tulo 38 ı

El kernel
38.1. ´ Introduccion

´ El nucleo o kernel es el corazon 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.

´ Compilacion

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 ultimo nucleo desde: ´ http://www.linux-es.com/kernel.php http://www.kernel.org ´ Actualmente la ultima version 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 configuracion 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 nucleo ´ # make menuconfig Al salir guardando nos crea un fichero .config ´ ´ 9. Compilarlo (esta version para el kernel con modulos) #make dep #make bzImage #make modules #make modules install 10. Ponemos el nucleo 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 nucleo descomprimido ´ #cd /usr/src/linux-2.4.20 Leer la ayuda q viene: #less README ´ Leer mas documentacion: #ll /usr/src/linux-2.4.19/Documentation/ Ejecutarlo: # make menuconfig ´ Es importante coger la cpu q tenermos en la opcion: 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 situacion anterior.

Por Paco Aldarias

142/449

Linux

38.5.

Ver el log del kernel

# dmesg Nos informa de las opciones cargadas

38.6.

´ Mas documentacion

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: a o 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 simbolico 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 como dimelo y te lo explico). Una vez arrancado el nuevo kernel (compruebalo con uname -a) haces #modconf ´ ´ y alli ya encontraras para cargar en el kernel el modulo 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 anadir 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

´ ´ Mas informacion en: grabadora.html

38.12.

´ Configuracion 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.
[*] <*> <*> < > <*> [*] <*> <*> < > <M> <M> [*] <M> [*] [*] < > < > < > < > < > [*]

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 VFAT (Windows-95) fs support Compressed ROM file system support Virtual memory file system support (former shm fs) 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 150/449

Por Paco Aldarias

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.
38.15.1.

Kernel 2.6
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. ´ Introduccion

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.
# ps -axu

Como se ve los demonios q estan en marcha

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 proxima vez q reiniciemos linux, los demonios 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 arrancara 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 simbolico 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 ´ Tambien podremos ver como ha ido el arranque de los demonios con: cat /etc/messages

39.7.

Biblografia

´ 1. Administracion 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. ´ Introduccion

´ Ext3 es una version 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 facilmente. ı

40.2.

´ ˜ Recuperacion del sistema de ficheros ext2 danado

Si apagamos la maquina inesperadamente deberemos recuperar el sistemas de ficheros del siguiente modo: ˜ Poner la contrasena de root: fschk /dev/hdaX: ´ ˜ (siendo X el numero de particion danada 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 nucleo y ext3 ´

Deberemos tener soporte en el nucleo de ext3. ´ Se puede ver q lo soporta, mirando si aparece ext3, en el arranque con la orden: dmesg ´ o tambien 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 particion) 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 ˜ Anadir 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 particion que quieras convertir: ´ # umount /dev/hdaX (siendo el numero de la particion 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.

´ Practica

Pasar la / a ext3

Por Paco Aldarias

155/449

Linux

Cap´tulo 41 ı

Acceso al router ADSL por puerto serie: Minicom
41.1. ´ Introduccion

´ ´ Los routers disponen de una conexion serie para su configuracion. 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.

´ Configuracion 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 Borrarlo todo A-L 3. Save setup as... router 4. Exit from Minicom

Por Paco Aldarias

156/449

Linux

41.3.

´ Damos permisos de ejecucion

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 ı

´ Sincronizacion de ficheros: rsync
42.1. Versiones

2.12.03. Primera version v.1.0 ´ 2.5.03. Revision.

42.2.

´ Introduccion

´ Vamos a ver la forma de sincronizar ficheros entre dos maquinas, es decir, le vamos a indicar q ´ coga de una maquina los ficheros modificados y los traiga a nuestro ordenador. La orden rsync permite sincronizar ficheros. ˜ Utilizaremos ssh para mandar los datos y la contrasena de forma codificada y segura.

42.3.

´ Instalacion

# 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 solo debe instalarse en la maquina servidor.

42.4.

Paso previo: Arracar ssh

Debemos tener el servidor ssh en marcha haciendo: # /etc/init.d/ssh start

42.5.

´ Sincronizacion: rsync

Escenario: ´ maquina 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 mas 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 maquina 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.

´ Instalacion de linux, usando rsync

´ ´ ´ Permite copiar una maquina a un servidor, y despues clonar esa maquina 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 graficamente.

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/" a destino="/wine/manolo/" rsync -e ssh -auvz manolo@$ip:"$origen" "$destino"

42.12.

Ejercicio

˜ Sincronizar una carpeta del ordenador de vuestro companero.

42.13.

Bibliograf´a ı

´ 1. Pagina oficial rsync: http://rsync.samba.org/index.html 2. : Rsync mirroring howto and FAQ http://sunsite.dk/info/guides/rsync/rsync-mirroring.html ´ 3. Ubicacion 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 basico 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 Instalacion. v.1.1 2.06.03 statnews. v.1.2

43.2.

´ Introduccion

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 facil de instalar. ´ Hay otro servidor inn+suck q tiene mas pontencia, pero es mas 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.

´ Instalacion 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 conexion) 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 mas detalladamente. ´ Editar el fichero de configuracion: 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 fetchnews

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 ˜ Anadir 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.

´ Configuracion del cliente de noticias

Debemos poner como servidor de noticias: 127.0.0.1. El servidor no necesita nombre de usuario ˜ y contrasena. Un buen cliente de noticias es knode.

43.10.

Tramiento de spams

´ En Kde, cuando ve´a que si seleccionaba con el raton una URL del tipo http://.... o mailto:..., se ı ´ me abr´a un menu y me preguntaba si con que 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 configuracion (boton 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 anadir direcciones.

43.11.

Generando estad´sticas: statnews ı

Un ejemplo: http://groups.google.com/groups?q=msgid: bbc0qu$6up$1@poseidon.eteo.mondragon.edu &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 guardara 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 aplicacion sin ser root: sudo
44.1. ´ Introduccion

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 usuariocon el nombre del usuario q quiere invocar mieje¸ ¨ cutalble y ”mi-maquinacon 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 /path/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 ˜ Anadir en /etc/profile:: PATH=$PATH:/sbin Exportar, poniendo en consola: PATH="$PATH:/sbin" export PATH ´ ´ Nota: Esta opcion es mas 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. ´ Introduccion

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 ejecucion: chmod 755 /home/paco/mislog/netstat.sh

45.6.

Programa la ejecucion del scripts netstat.h en el historico

˜ En /etc/crontab anado 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 ubicacion 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 solo ı haga lo que quieres. 4. Inserta una l´nea segun 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 manana 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 numero, pero es mas largo de explicar y realmente da igual) ´ ´ ´ 6.- y... OK! ya esta lista la automatizacion de la tarea.

45.8.

Mas cosas

Mira man crontab En /etc/crontab Por Paco Aldarias 169/449

Linux ˜ anade 00 */3 * * * root script ´ de esta forma cada 3 horas cuando los minutos sean 0 se ejecutara. ´ Tambien 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 cosa_a_hacer done

# no me apetece multiplicar :)

Y se llama con: ./script

Por Paco Aldarias

170/449

Linux

Cap´tulo 46 ı

´ Webcam: Instalacion
46.1. ´ Introduccion

Aqui explico como poner en marcha una camara de video.

46.2.

Versiones.

´ 1. 9.11.03. V.1.0. Primera version. ´ ´ 2. 4.2.04. V.1.1. Explicacion de instalacion de los drivers.

46.3.
46.3.1.

Contexto
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.

´ Instalacion del software

apt-get install xawtv mesag3-glide2

Por Paco Aldarias

171/449

Linux

46.5.

´ Instalacion de los drivers

Bajarse el fichero : http://alpha.dyndns.org/ov511/download/2.xx/distros/ov511-2.21.tar.bz2 ´ Aqu´ estan 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.
46.7.1.

El kernel
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.

´ Modulos cargados

´ ´ En nuestro caso hemos elegido en el kernel q queremos modulos para trabajar con la camara. # lsmod Module uhci ovfx2 pwc ovsensor ov511 videodev

Size 25264 27444 40968 14376 81592 5728

Used by Not tainted 0 (unused) 0 (unused) 0 (unused) 1 0 1 [ovfx2 pwc ov511]

Por Paco Aldarias

173/449

Linux

46.9.
46.9.1.

El arranque
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.
cat T: B: D:

Estar seguro que funcionan USB

/proc/bus/usb/devices Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2 Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0 Ver= 1.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 174/449

Por Paco Aldarias

Linux P: S: S: C:* I: E: T: B: D: P: S: S: C:* I: E: T: D: P: S: S: C:* I: E: I: E: I: E: I: E: I: E: I: E: I: E: I: E: Vendor=0000 ProdID=0000 Rev= 0.00 Product=USB UHCI-alt Root Hub SerialNumber=d800 #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=255ms Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2 Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0 Ver= 1.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 Vendor=0000 ProdID=0000 Rev= 0.00 Product=USB UHCI-alt Root Hub SerialNumber=d400 #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=255ms Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 Vendor=05a9 ProdID=0518 Rev= 1.01 Manufacturer=OmniVision Technologies, Inc. Product=USB Camera #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA If#= 0 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov511 Ad=81(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms If#= 0 Alt= 1 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov511 Ad=81(I) Atr=01(Isoc) MxPS= 129 Ivl=1ms If#= 0 Alt= 2 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov511 Ad=81(I) Atr=01(Isoc) MxPS= 257 Ivl=1ms If#= 0 Alt= 3 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov511 Ad=81(I) Atr=01(Isoc) MxPS= 385 Ivl=1ms If#= 0 Alt= 4 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov511 Ad=81(I) Atr=01(Isoc) MxPS= 513 Ivl=1ms If#= 0 Alt= 5 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov511 Ad=81(I) Atr=01(Isoc) MxPS= 641 Ivl=1ms If#= 0 Alt= 6 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov511 Ad=81(I) Atr=01(Isoc) MxPS= 769 Ivl=1ms If#= 0 Alt= 7 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov511 Ad=81(I) Atr=01(Isoc) MxPS= 897 Ivl=1ms

#cat /proc/bus/usb/drivers usbdevfs hub ov511 Philips webcam ovfx2

46.11.
46.11.1.

Comprobar el dispositivo
/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 simbolico. 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 camara: ˜ Como root anadimos tu usario al grupo video: adduser usuario video

46.12.

El sistema de ficheros: fstab

˜ Anadir la linea en /etc/fstab none /proc/bus/usb usbdevfs defaults,rw,auto 0 0

46.13.
Como root: modprobe modprobe modprobe modprobe modprobe

´ Poniendola en marcha

videodev ov511 ovfx2 uhci ovsensor

Como usuario: xawtv

46.14.

´ Para apagar la camara

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 type : v4l name : OV518 USB Camera flags: capture [ -device /dev/video0 ]

46.17. 46.18.
46.18.1.

Una foto Sotfware para webcam
´ Instalacion

apt-get install webcam ftp

Por Paco Aldarias

177/449

Linux

Figura 46.1: foto

´ 46.18.2. Configuracion 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 ejecucion: 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 ´ Version 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 camara http://alpha.dyndns.org/ov511/ 3. Usb: http://www.linux-usb.org http://bulmalug.net/body.phtml?nIdNoticia=1356 ´ 4. Esta pagina: http://www.iespana.es/pacodebian/webcam.html http://www.iespana.es/pacodebian/webcam.pdf http://www.iespana.es/pacodebian/webcam.tex ´ 5. Drivers para camaras : Logitech Quickcam Express Logitech Quickcam Web LegoCam Dexxa 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.

´ Introduccion

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 direccion, y como recibir correo local (es ı ´ decir, que reciba el correo un usuario de linux). No se vera el servidor de correo IMAP o POP.

47.3.

´ Instalacion de postfix

Como root hay q hacer todo esto: apt-get install postfix ´ Podemos ver la version instalada con: dpkg -s postfix ´ Yo tengo la version: 2.0.7-3 ´ Nos pedira una serie de datos que debemos indicarle: ´ 1. Postfix Configuration Nos informa de los tipos de instalacion 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 anada un punto al una direccion simple. Es decir, que si envian al usuario ˜ paco, el anada un punto. ´ Si alguien quiere mandarme un correo, debera 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 maquina. Podriamos 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 tamano maximo del correo. Si ponemos 0 es sin l´mite. ı ı 9. Local address extension character? + ´ Aqui lde decimos que caracter usamos para enviar a usuarios locales.

47.4.

´ Configuracion

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 configuracion

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, Anadir Tipo de cuenta: Buzon 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 esta en la carpeta del usuario /home/paco/Mail/

47.9.
47.9.1.

Ficheros de interes
El nombre del dominio

cat /etc/mailname aldarias.dyndns.org

Por Paco Aldarias

183/449

Linux

47.9.2.

´ El nombre de tu maquina

cat /etc/hostname aldarias.dyndns.org

47.9.3.

El nombre del host

cat /etc/hosts 127.0.0.1 192.168.0.1 aldarias.dyndns.org localhost 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 configuracion de postfix), tendras 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 dependencias, 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, esta en brasileno, ˜ para un gallego no es problema porque es praticamente igual al gallego, pero un extremeno 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 brasileno) o preguntas aqu´... aunque supongo que las dudas van a ser mas de tipo ı ´ tecnico que idiomatico.

47.11.
´ Instalacion:

˜ Autentificar usuario y contrasena: SASL

apt-get install postfix-tls libsasl-digestmd5 libsasl-modules-plain \ sasl-bin libsasl2 libsasl2-modules

47.11.1.

˜ Anadiendo usuarios directamente

˜ Anadir un usuario: saslpasswd2 -c -u aldarias.dyndns.org paco ´ Indicar el metodo de comprobacion: 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-contrasena

Crear este fichero: nano /etc/postfix/sasl_passwd mail.midominio.org 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 configuracion de postfix: nano /etc/postfix/main.cf miusuario:mipassword

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 estas: ı 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 da de postfix. esta version parchea-

˜ 2.- Si usas postfix 2.x + libsasl2, usa como metodo de validacion de contrasenas saslauthd. Es mas facil asi, aunque no tendras soporte para CRAM-MD5 ni DIGEST-MD5. Asegurate ademas de que saslauthd esta arrancado y usando el cho asi y funciona). metodo PAM (yo lo he he-

Asegurate ademas de instalar los modulos de autenticacion correspondientes. He estado casi 30 minutos haciendo debugging del tinglado solo para darme cuenta de que solo habia instalado libsasl2 (el core), pero no tenia ningun modulo de autenticacion (va todo a base de modulos enchufables). Yo he usado libsasl2-modules, que es quien da soporte para los metodos 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 aparezca el proceso smtpd, en la columna donde se configura si corre en un entorno chroot este pues˜ ta a n’ (no). De lo contrario no encontrara la mitad de las bibliotecas y ficheros que necesita. En Debian viene activado el chroot por defecto, por lo que a menos que lo desacti´ ´ ´ ves, no te funcionara nunca y no sabras por que.

47.12.

Bibliograf´a ı

´ 1. Ubicacion de este documento: http://usuario.tiscali.es/paco25abril/ 2. Pagina de linux: http://inicia.es/de/pacolinux ´ 3. Guia rapida 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. Configuracion 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 autentificacion 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.

´ Introduccion

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 automaticamente.

48.4.

´ Instalacion 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~a n to paco #Cuentas pop poll mcentres.cult.gva.es proto pop3 user "46012963" pass mi_pass to paco

Nota: ´ Si el usuario es numerico, 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~adir esto:\\ n --------------- 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.

´ Configuracion del cliente de correo

Abrimos el kmail , red, correo entrante ˜ Anadir 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.

´ Introduccion

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.

´ Instalacion

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 configuracion: 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 conexion a la red local poner:

/sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8080 ˜ 2. Debemos anadir 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 espanol

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 pagina: 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.

´ Introduccion

´ MRTG: Multirouter Traffic Grapher Es una aplicacion que permite sacar estadisticas de todo tipo. Algunas estadisticas: ´ Control del trafico de un router adsl. ´ Control del trafico 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 trafico de un router adsl.

´ Para controlar el trafico generado por el router usaremos el protocolo SNMP. SNMP Simple Network 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 comunidad.

50.4.

´ Instalacion 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 anadir 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) o 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 configuracion

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, anadir 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.
50.10.1.

Mrtg y Apache
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 maquinas en una red

´ ´ Vamos a ver la forma de poder tener una grafica con las maquinas conectadas en la red. Tendre´ mos q crear un script llamado /root/nmapmrtg.sh que sera 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 ejecucion: chmod 700 /root/nmapmrtg.sh

50.11.2.

´ Configuracion /etc/mrtg.cfg

˜ Anadiremos al final del fichero este texto: Title[nmap]: M´quinas en la red a Target[nmap]:‘/root/nmapmrtg.sh‘ PageTop[nmap]: <h1>M´quinas en la red</h1> a MaxBytes[nmap]: 1000 YLegend[nmap]: M´quinas a ShortLegend[nmap]: pcs XSize[nmap]: 300 YSize[nmap]: 100 Options[nmap]: nopercent,gauge

50.12.

´ Mrtg y el trafico 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 tambien,etc.

50.12.1.

Filtro del iptables

cat /root/web.sh #!/bin/sh /sbin/iptables /sbin/iptables /sbin/iptables /sbin/iptables /sbin/iptables /sbin/iptables

-N -N -A -A -A -A

WebIn WebOut WebIn -j ACCEPT WebOut -j ACCEPT INPUT -p tcp --dport 80 -j WebIn OUTPUT -p tcp --sport 80 -j WebOut

´ Deberemos darle permiso de ejecucion: chmod 700 /root/web.sh ˜ Lo anadiremos 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 ejecucion: chmod 700 /root/webmrtg.sh

50.12.3.

Configurar el mrtg

˜ Anadir al final del fichero /etc/mrtg.cfg Target[web]: ‘/root/webmrtg.sh‘ Title[web]: Tr´fico Web a PageTop[web]: <h1>Tr´fico Web</h1> a 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 ejecucion: chmod 700 /root/hdtemp Probarlo: /root/hdtemp

50.13.2.

Configurar el mrtg

˜ Anadir 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 calculos y eth0 el interface que esta 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 ejecucion: chmod 700 /root/iptotal.sh Por Paco Aldarias 200/449

Linux Probarlo:

/root/iptotal.sh

50.14.2.

Configurar el mrtg

˜ Anadir 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 numero 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 calcular 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 echo echo echo $root $total $uptime $statname

Por Paco Aldarias

201/449

Linux

50.15.2.

Configurar el mrtg

˜ Anadir 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. Ubicacion 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.

´ Introduccion

´ Vamos a ver la forma de como montar un antivirus para escanera ficheros. Y ademas veremos con comprobar si tiene virus el correo entrante y saliente. ´ Yo uso la combinacion postfix + amavis + fprot, donde: ´ 1. postfix es el servidor de correo (se que pueden ser otros) 2. amavis es el programa que se encarga de pasar el antivirus y de tomar las acciones necesarias 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 anadiremos en el cron: #crontab -e 1 11 * * * /usr/local/f-prot/check-updates.sh -cron

51.5.
51.5.1.

´ Instalacion de amavis para debian sid
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 o 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 ´ Version: amavis-stats Por Paco Aldarias 0.1.12-2 Virus statistics RRDtool frontend for 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.

´ Instalacion de amavis para debian woody

´ Aqui esta 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

˜ Anadir al ficheros de configuracion de postfix: ˜ Anadir las l´neas: nano /etc/postfix/main.cf ı content_filter = vscan: soft_bounce = yes ˜ Anadir 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. ´ Instalacion: apt-get install clam ´ Actualizacion 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. Ubicacion de este documento: http://pagina.de/pacolinux ´ 2. Pagina 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.

´ Introduccion

Vamos a ver como conectar a internet una red. ´ El conectar una red a internet, equivale a hacer NAT, o a la conexion 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 habra 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 conexion ´ ´ a internet. El proxy lo unico que hace es guardarse las paginas, con lo cual acelera la conexion. ´ ´ Tambien 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 tambien es llamado cortafuegos. Pero hace muchas mas 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 ejecucion: 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. Ubicacion 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.

´ Introduccion

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 solo los encabezados. 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.

´ Instalacion del servidor

apt-get install courier-imap

53.4.

´ Configuracion 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 tambien el archivo /etc/login.defs , descomentando la l´nea ı QMAIL_DIR/Mailidir ´ ´ para indicar, que todos los usuarios que hagan login en nuestro sistema, usaran tambien el formato Maildir. ´ Debemos de comentar las 2 que aparezcan a su lado, logicamente. nano /etc/login.defs ´ ˜ Tambien debemos modificar el archivo master.cf, anadiendo la l´nea: virtual unix - n n - - virtual ı

53.6.

´ Configuracion 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 o home_mailbox = Maildir/ queue_directory = /var/spool/postfix recipient_delimiter = + relayhost = # Configuraci´n Amavis - F-Prot o content_filter = smtp-amavis:[127.0.0.1]:10024 -------------------fin--------------------------Reiniciamos postfix: /etc/init.d/postfix restart

53.7.

´ Configuracion de Courier y usuarios

´ Para q los usuarios de linux sean aceptados por el servidor imap debemos de hacer la conversion. # 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 configuracion del servidor de correo ´ postfix check : comprobar la configuracion 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.

´ Configuracion 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.

´ Instalacion del webmail: squirrelmail

apt-get install squirrelmail ´ Tambien 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 C. S Q Return to Main Menu Turn color on Save data Quit

Command >> Menu Principal 2 SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------Server Settings General ------1. Domain Por Paco Aldarias

: aldarias.dsland.org 214/449

Linux 2. 3. A. B. R C. S Q Invert Time Sendmail or SMTP Update IMAP Settings Update SMTP Settings Return to Main Menu Turn color on Save data Quit : false : SMTP : localhost:143 (courier) : localhost:25

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 C. S Q Return to Main Menu Turn color on Save data 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. 13. 14. 15. R C. S Q Allow server-side sorting Allow server charset search Enable UID support PHP session name Return to Main Menu Turn color on Save data Quit : : : : false true true SQMSESSID

53.13.
53.13.1.

˜ Squirrelmail en Espanol
´ SquirrelMail version 1.4.3a

˜ Espanolizar 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 version. En mi caso es:

Por Paco Aldarias

216/449

Linux es_ES-1.5.0-20040404.tar.bz2 Descomprimirlo y ejecutar: ./install ´ Indicarle la ubicacion: /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.

´ Conclusion

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. Ubicacion de este documento: http://inicia.es/de/pacodebian ´ 2. Pagina 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 ´ electronico: mailman + postfix
54.1. Versiones

´ 01 05.03. V.1.0. Creacion

54.2.

´ Introduccion

´ ´ Una lista de correo electronico o lista de distribucion, es algo muy util, que poca gente conoce. ´ ´ Caracter´sticas de una lista de correo electronico: ı ´ 1. Toda lista de correo, tiene asociaciado un correo electronico, 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 subscripcion a traves de WEB: https://listas.hispalinux.es/mailman/listinfo/sl-educacion

54.4.

´ Instalacion 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 anadiremos 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 o 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. Ubicacion 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. ´ Introduccion

´ La seguridad y hacker esta intimamente relacionado. Exiten dos elementos importantes: 1. La direccion ip 2. Los puertos ´ Conociendo la ip y los puertos abiertos podemos entrar en las maquinas. ´ ´ La ip equivaldra a la direccion de una persona. Y los puertos, las puertas de la vivienda, donde ´ cada puerta nos da acceso a una habitacion.

55.2.

´ La direccion ip

´ ´ Es la direccion en internet de una maquina

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.
´ Metodos:

´ ´ Para saber la ip de otra maquina con estos metodos

1. Viendo la cabecera del email ´ 2. Viendo las conexiones con nuestra maquina, en netmeeting, ftp, etc.

55.3.

´ Como ver las conexiones de nuestra maquina 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 maquina 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 maquina.

55.5.

´ Como entrar en una maquina

´ Una maquina sin puertos abiertos no es posible entrar. Segun 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 maquinas con windows

´ Windows usa el protocolo tcp/ip, ed decir, cuando conecta a internet, esta maquina tiene su ip por la cual podemos entrar. Si windows tiene activado compartir archivos e impresora. Podremos entrar por esta puerta abierta. ´ Las maquinas 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 maquina 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 seran accesibles, desde el exterior. Si no tenemos una red en casa, no ˜ instaleis netbios. Si teneis una red, y quereris compartir archivos, ponerle siempre contrasena a las carpetas.

55.7.

´ Entrar a maquinas con el pueto 21 abierto

El puerto 21 corresponde al servicio ftp Para poder entrar debemos poner: ftp ip ˜ Pero nos pide contrasena. !!! como sacarla !!!

55.8.

˜ Sacar contrasenas: snifers

˜ Si estamos en una red publica, es peligros poner nuestra contrasena 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 contrasenas usaremos snifer (snifador). En linux: 1. En consola: tcpdump Ejemplo: tcpdump -X ´ 2. Modo grafico: ethereal http://www.ethereal.com ˜ Para evitar que nos cogan las contrasenas 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 paginas 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 configuracion se puede indicar restricciones de ´ acceso a maquinas. ´ El superdemonio xinetd, permite controla mas 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 estan 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:maquina 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 maquina 192.168.100.2

55.10.

Los cortaguegos: iptables

´ Un cortafuetos es un sistema q permite aceptar o denegar el acceso a ciertas maquinas. 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 basicas: Para ver las reglas: iptables -L -n -v Para borrarlas todas: iptables -F ˜ Para anadir 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.

´ Como 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 valida 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.

´ Como saber de donde es una ip: whois

Una vez tenemos la ip podemos saber de donde es esa maquina poniendo: whois ip ´ Tambien 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 util para comprobar ´ ´ algunos fallos comunes de configuracion del sistema. ´ Cops: Similar a Satan con algunas mejoras, tambien es un programa ya antiguo, pero sigue siendo util. ´ ´ ´ Tiger: Muy similar a Cops pero mas moderno y con mas funcionalidad. Muy util para los fallos ´ ´ de configuracion y para la seguridad del sistema. ´ ´ Tara: Una version todav´a mas avanzada y modificada de Tiger/Cops. ı ´ Sara: Un derivado de Satan actualizado y modernizado, tambien muy recomendable. ´ Nessus: Una herramienta imprescindible. Es el sistema mas 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 ultimos 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 unica herramienta ´ para chequear la seguridad de tus sistemas esta ser´a Nessus sin duda. Lo unico que ı ´ necesitar´as es una herramienta como Satan/Cops/Tiger/Tara que te chequee permisos, ı ´ ´ bits suid y malas practicas de configuracion del sistema que no chequea Nessus. ´ Nmap: Otro imprescindible. Una herramienta de escaneado con practicamente todas las opciones 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 tecnicas de evasion sobre todo usando diversos tipos ´ ´ de fragmentacion y de parametros raros en el protocolo TCP. Muy bueno para probar la eficacia de firewalls e NIDSs. ´ Hydra: La herramienta mas 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. Tambien realiza tormentas ARP. Ettercap: Similar a Hunt. Realiza ARP poisoning y otros ataques sobre redes ethernet. ´ hping2: Una herramienta de generacion de paquetes TCP/IP. Sabiendolo utilizar puede realizar todo tipo de ataques y pruebas sobre servidores. Especialmente util para probar NIDS y ´ firewalls. Imprescindible. John the ripper: Una herramienta de crackeado de passwords que utiliza diccionarios. Imprescindible para probar la seguridad de los passwords de tus usuarios. Hay que complemen´ tarlo con una buena coleccion de diccionarios. kismet/airsnort: Herramientas para estudio de redes WLAN. ´ chkrootkit: Imprescindible. Detecta la presencia de los rootkits y modulos LKM mas comunes en sistemas Linux. ´ ´ p0f: Herramienta pasiva de deteccion de sistemas operativos. Util para comprobar si tus servi´ ´ dores y clientes estan propagando por la red informacion sobre sus sistemas operativos. ´ Ethereal: El rey indiscutible de los sniffers. Muy util para capturar el trafico de tu red y conocer ´ ´ ´ lo que estan mandando tus maquinas. Nbtscan: Para escanear redes Netbios/Samba. Metasploit: Un framework para probar exploits. Un poco raro de usar y no tiene demasiados exploits.

55.14.

´ Paginas de hakers

´ ´ El FAQ de es.comp.hackers que esta en estas paginas: 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 basicos. ı

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.

´ Introduccion

Podemos hacer que el ordenador pronuncie el texto q le indiquemos, para ello usaremos el programa 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. ´ Solucion: 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.
56.4.1.

Festival
´ Instalacion

apt-get install festival festvox-kallpc16k festvox-ellpc11k festvox-kdlpc16k konq-speaker Siendo: ´ festival: aplicacion ˜ festvox-kallpc16k: para espanol 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.

´ Utilizacion

˜ Para leer un archivo en espanol:

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. Configuracion 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. Anadir 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 espanol. 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 espanol. 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 espanol ls -la /usr/lib/festival/voices/ ´ Solucion: 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/ ´ Instalacion: 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. Ubicacion 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.

´ Introduccion

´ Vamos a ver como linux a traves 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 automatica. 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. ´ Actualizacion 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.

´ Instalacion 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 samba-common 3.0.0beta1-1 dpkg -l | grep smb libsmbclient 3.0.0beta1-1 smbclient 3.0.0beta1-1 smbfs 3.0.0beta1-1

a LanManager-like file and printer server fo Samba common files used by both the server a

shared library that allows applications to t a LanManager-like simple client for Unix 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 ejecutara windows al arrancar.

57.5.1.

Datos de los alumnos

Los campos deberan estar separados por punto y coma. ´ Este fichero contendra: 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.

´ Creacion 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 ejecucion al fichero: chmod 700 alumnos.sh Por Paco Aldarias 235/449

Linux Lo lanzaremos como root asi: ./alumnos.sh

57.5.3.

´ Creacion 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 logicas. 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 ejecutara windows al arrancar.

57.6.1.

Datos de los profes

Los campos deberan estar separados por punto y coma. ´ Este fichero contendra: 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.

´ Creacion 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 ejecucion al fichero: chmod 700 profes.sh Lo lanzaremos como root asi: ./profes.sh

Por Paco Aldarias

237/449

Linux

57.6.3.

´ Creacion 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 logicas. ´ ´ Los porfesores tiene mas unidades logicas y mas 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.

´ Configuracion 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 a # # # # # 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 239/449

Por Paco Aldarias

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-Configuracion - Panel de control - Red - Clientes para redes Microsoft. ´ Activar: Iniciar sesion 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. Ubicacion de este documento: http://pagina.de/pacodebian ´ 3. Usando Samba: Robert Eckstein, David Collier-Brown, Peter Kelly Primera Edicion, Noviem´ ´ bre 1999 1-56592-449-5, 416 pags. Traduccion: 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.

´ Introduccion

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.
mkdir /soft

Descomprimierlo

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

58.5.

´ Fichero de configuracion:

cat ~/.gotmailrc

Por Paco Aldarias

246/449

Linux

58.6.

Bibliograf´a ı

´ 1. Esta pagina 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 ı

´ Instalacion de la grabadora: k3b, Cdbakeoven,kreadcd
59.1. Versiones

18.10.03 Primera version v.1.0

59.2.

´ Introduccion

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 imagenes 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 genericos 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 dinamicamente dispositivos sgX por orden de ID a los presentes en ese mismo instante; en el ejemplo anterior: 00 01 02 04 ---> ---> ---> ---> /dev/sga /dev/sgb /dev/sgc /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 ´ Necesitaras este identificador de tres numeros 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 adecuados. ´ Se necesitan permisos para la grabadora de lectura y de escritura en el dispositivo generico 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 optima de hacer esto es crear un grupo llamado cdwriter, anadir 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: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: SCSI subsystem driver Revision: 1.00 scsi0 : SCSI host adapter emulation for IDE ATAPI devices Vendor: HL-DT-ST Model: CD-RW GCE-8480B Rev: 1.03 Type: CD-ROM ANSI SCSI revision: 02 Vendor: LG Model: DVD-ROM DRD8120B Rev: 1.03 Type: CD-ROM ANSI SCSI revision: 02 Attached scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0 Attached scsi CD-ROM sr1 at scsi0, channel 0, id 1, lun 0 sr0: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray Uniform CD-ROM driver Revision: 3.12 sr1: scsi3-mmc drive: 0x/40x cd/rw xa/form2 cdda tray 251/449

Por Paco Aldarias

Linux ´ Existen estos enlaces simbolicos: Grabadora: /dev/dvd = /dev/cdrom = /dev/sr0 = /dev/scd0 Lector : /dev/scd1 ´ Los permisos debemos deberan hacerse sobre scd1. El lector no ha sido detectado. Deberemos crear carpetas y enlaces.

59.13.

´ Software de grabacion

´ mkisofsgrabacion 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 grabacion 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. a 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: u a 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 despues 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. Ubicacion de este documento: http://pagina.de/pacodebian 2. How-to: http://es.tldp.org/COMO-INSFLUG/COMOs/Grabadoras-Como/Grabadoras-Como.html#toc6 ´ 3. Configuracion de una grabadora de Cds: http://www.escomposlinux.org/lfs-es/recetas/cdwriter.html ´ ´ 4. Configuracion de una grabadora de Cds IDE e introduccion al cdrecord http://grulla.hispalinux.es/articles/burning.html ´ 5. Creacion de CDS en Linux http://perso.wanadoo.es/linuxfacil/configuracion/grabadora.htm ´ ´ 6. Como configurar tu grabadora IDE usando emulacion 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-Como: Grabar discos compactos desde l´nea de comando. ı http://www.linuxparatodos.net/linux/como-cdrecord-comando.php ´ 9. Los minicomo de Simon 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. ´ Introduccion

Vamos a ver como se puede instalar la impresora e imprimir documentos en linux y kde. Para ello ´ usaremos el servidor de impresion 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 impresion, que permite imprimir desde cualquier lugar de la red. Gestionar ´ y configurar las impresoras via web o local. Permite tambien mirar cuando y quien impimido, quien puede imprimir,etc. Con este sistema puedes impimir en la impresora desde cualquier lugar q te encuentres, ´ La configuracion de la impresora se hace configurando cups, Entrar en el navegador http:// localhost:631 ´ La ubicacion de la impresora es /dev/lp0, ya que uso una impresora con puerto paralelo Aqu´ se ı ´ dara 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 configuracion /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 despues 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 - Perifericos - Impresoras Boton derecho ˜ Anadir impresora. Ver figura60.2. ´ ´ Indicar que el sistema de impresion es cups. La ubicacion de la impresora es /dev/lp0

60.6.

´ Imprimir en red entre maquinas linux

´ Debemos tener instalado en ambas maquinas cups. ´ ´ ´ En ambas maquinas deberemos abrir la gestion de impresion por web: http://127.0.0.1:631 ´ El servidor de impresion. 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: a Por Paco Aldarias 256/449

Linux

Figura 60.2: Cups en kde http://127.0.0.1:631/printers/HP6P El cliente. ˜ Vamos a anadir 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 modulos correspondientes: Por Paco Aldarias 257/449

Linux usb-uhci usbcore printer ´ ˜ Despues anades 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 ningun 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 multifuncion HP psc 1210 y estuve bastante tiempo peleandome con ella para que funcionara. ´ A m´ me ocurr´a lo contrario: me funcionaba el escaner 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/ ´ ´ ´ Tambien tienes all´ las instrucciones para la instalacion (en ingles). ı ´ ´ En Debian, creo que de momento el paquete esta solo disponible en testing.

60.9.

´ Instalacion de una impresora de red: Xerox Docuprint P8e

´ Esta impresora tiene una tarjeta de red, que permite tener su propia cola de impresion. Es importante saber la ip de la impresora y el puerto por el q imprime. Pasos: ´ ´ 1. Ir a Inicio - Preferencias - Administracion de impresion. 2. Instalar impresora nueva - Cola LPD remota M´quina: 192.168.0.117 a Cola: PS03B0-1 3. Fabricante: Xerox. Modelo : Docuprint p8e 4. Controlador: EL recomendado

60.10.

Imprimir con windows, usando un servidor de impre´ sion de linux

Deberemos tener instalado samba: apt-get install samba Por Paco Aldarias 258/449

Linux Editaremos el fichero /etc/samba/smb.conf ˜ Anadiremos 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 y en el archivo /etc/cups/mime.types: application/octet-stream application/vnd.cups-raw 0 -

60.11.

´ Cancelar trabajos de impresion 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. ´ Introduccion

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 mas utilizada. Cuando instalamos linux, nos pregunta ´ ´ si tenemos tarjeta de red y q modelo, a continucion, nos pregunta los parametros de red. Con ´ la red. Pero hay veces q es necesario saber como lo cual no seria necesario confgurar despues ´ cambiar los parametros de red.

61.2.

Instalar tarjeta de red pci

´ Hay una utilidad en linux, q ayuda a su instalacion y es kudzu. Es una herramienta q comprueba todos los dispositivos q tenemos y si no esta instalado lo instala. kudzu

61.3.

´ Configuracion 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.
# route -n

Para saber si tenemos bien la puerta de enlace

Usaremos la orden route, q nos indica las rutas de nuestros paquetes en la red.

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. ´ Introduccion

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.

´ Instalacion

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

#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 a # La conexi´n a Internet por ADSL es : o # - 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 option option #range domain-name-servers 194.179.1.100, 192.224.52.26; domain-name "garay.departamentos.es"; routers 192.168.10.204; 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 grafico de otro pc: xhost
63.1. ´ Instroduccion

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 debera 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. ´ Introduccion

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.

´ Instalacion

Desde consola y como usuario root escribir: apt-get install gzip bzip2 unzip zip ark tar unrar

64.3.
zip bzip gzip. tar

Tipos de archivos comprimidos

.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 compresion

ark. Utilidad de kde Trabajo con todas las extensiones. Se encuentra en el menu: inicio-utilidades. Trabajo con ´ todo tipo de archivos comprimidos. Vease figura64.1 zip, unzip. Comprime y descomprime archivos zip. bzip2 tar. ´ Empaquetador. Agrupa archivos para q se puedan instalar en la maquina en lugar correcto. 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.
64.6.1.

Ficheros tgz
Descomprimir tgz

Para descomprimir el fichero fichero.tgz cat fichero.tgz | gzip -dc | tar -xf´ O tambien: tar -xvzf fichero.tgz Por Paco Aldarias 271/449

Linux

64.7.
64.7.1.

Ficheros tar.bz2
Descomprimir tar.bz2

Desde consola, para descompimir el archivo en la carpeta actual: tar jxvf fichero.tar.bz2 o tambi´n e bunzip2 -cd fichero.tar.bz2 | tar xfv -

64.8.
64.8.1.

Ficheros tar.gz
Descomprimir tar.gz

Desde consola, para descompimir el archivo en la carpeta actual: gzip -cd fichero.tar.gz | tar xfv o tambi´n e 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.
64.9.1.

Ficheros zip
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 ˜ Anadir 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 ı

´ Clonacion de pcs: system-image
65.1. Versiones

´ 4.12.03 Verion inicial.

65.2.

´ Introduccion

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. Tambien borra los ficheros q sobran. ´ ´ Partimos de la base, de q tenermos una red. Con maqinas iguales. Solo se clona los datos de linux. .

65.3.

´ Instalacion 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 maquina, y coger la configuracion de nuestras particiones: prepareclient

65.4.

´ Instalacion 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.

´ Autoinstalacion 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. Pagina oficial : http://www.systemimager.org/ ´ 2. Ubicacion de este documento: http://inicia.es/de/pacodebian

Por Paco Aldarias

275/449

Linux

Cap´tulo 66 ı

Crear un dominio publico: dyndns ´
66.1. ´ Version

´ 10.12.03 Primera version

66.2.

´ Introduccion

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 despues mediante el programa ddclient ac´ tualizaremos la direccion ip. ´ Dyndns tb sirve para ips fijas. Es posible actualizar la ip entrando en la web, y entrar en la opcion actualizar la ip-

66.3.

Darse de alta

Ir a la web: www.dyndns.org ˜ ´ Recordar el usuario y la constrasena, ya que la usaremos mas 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 syslog=yes mail=root mail-failure=root pid=/var/run/ddclient.pid

# # # # #

check every 300 seconds log update msgs to syslog mail all msgs to root mail failed update msgs to root record PID in file.

use=if, server=members.dyndns.org login=miusuario password=mipassword server=members.dyndns.org, protocol=dyndns2 miusuario.dyndns.org

if=eth1

# via interfaces # default server # default login # default password \ \

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 podra 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 actualizacion 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 actualizacion

´ Cada vez q arranquemos linux se actualizara haciendo esto: ln -s /etc/init.d/ddclient.sh /etc/rc.d/S21ddclient

66.9.

Bibliograf´a ı

´ Ultima version de este art´culo: ı http://pagina.de/pacodebian ´ DNS dinamica 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.

´ Introduccion

Este manual auque da explicaciones para Linux Debian, tb puede usarse para otras distribucio´ nes. Ya q explica como deben ponerse los ficheros de configuracion. LTSP: Linux Terminal Server Proyect. Es un grupo de trabajo para poder obtener terminales linux. ´ ˜ Me insterese por ltsp, ya q administro una red en linux, en un centro de ensenanza. Imaginaros la de veces q se instala linux, y la de usuarios q hay q tener. ´ ´ Con ltsp, solo se instala linux en el servidor, y despues un un disquete en los clientes ya tienes linux. ´ ´ ´ Mi objetivo era instala un solo linux, y configurar un solo linux, y el resto de maquinas se conectaran a un servidor de terminales. ´ Las terminales se autoconfiguran por red, a traves de dhcp y por mac. ´ Cuando una terminal arranca es como si tuvieras delante la maquina linux, q hace de servidor. ´ Con lo q la administracion de usuarios se hace desde el servidor de ltsp. Y lo pude consegir con ltsp.

67.3.

´ Las maquinas

Dispongo de un servidor ibm a 450Mz con 64Mb de Ram, Las terminales son los mismo. Las ´ tarjetas graficas 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 hara 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 hara 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 XSERVER X_MODE_0 X_MOUSE_PROTOCOL X_MOUSE_DEVICE X_MOUSE_RESOLUTION X_MOUSE_BUTTONS USE_XFS USE_NFS_SWAP LOCAL_APPS RUNLEVEL X_HORZSYNC X_VERTREFRES X_COLOR_DEPTH

= = = = = = = = = = = = = =

192.168.100.2 auto 1024x768 "PS/2" "/dev/psaux" 400 2 N N Y 5 28-50 43-75 16

67.10.

Cambiar export

nano /etc/exports /opt/ltsp/i386 /var/opt/ltsp/swapfiles /home 192.168.100.0/255.255.255.0(ro,no_root_squash) 192.168.100.0/255.255.255.0(rw,no_root_squash) 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.

˜ Anadir 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 esta 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. Tendre q ampliar la RAM del servidor.

67.16.

Bibliograf´a ı

´ 1. Ubicacion de este documento: http://inicia.es/de/pacodebian ´ 2. Pagina 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 Espanol. 4. Federico E. Pereda - Pisa. mailto://pisa@lugmen.org.ar LTSP. Minicomo. Terminales de Bajo coste. Minicomo para debian y Mandrake.En En Es˜ panol. 5. James McQuillan. jam@LTSP.org ˜ ˜ LTSP. Linux Terminal Server Proyect - V.3.0 Ano 2002. Manual de www.ltsp.org En Espanol.

Por Paco Aldarias

282/449

Linux

Cap´tulo 68 ı

´ Web Dinamicas: php+mysql
68.1. Versiones

´ 02.01.04. Primera version v.1.0

68.2.

´ Introduccion

´ ´ Vamos a ver la forma de poder crear paginas web de forma dinamica. ´ ´ Aqu´ se describe el proceso de instalacion y puesta en marcha, ademas de un ejemplo. ı ´ Php en un lenguaje incluido dentro de las paginas web, que permite consultar bases de datos y ´ construir las paginas web. ´ ´ Mysql es un motor de base de datos relacionales. Aqu´ se almacenara la informacion. ı ´ La gestion de datos de mysql lo haremos mediante web usando phpmyadmin. ´ ´ Las paginas webs con php deben abrirse con apache, a su vez, php construye la pagina en el ´ servidor web, y devuelve al cliente los resultados. Por lo cual, el cliente nunca ve como esta hecha ´ la pagina en php.

68.3.

´ Instalacion

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 mysqlcommon mysql-client php4-mysql

68.4.

Configurar mysql

˜ Vamos a cambiar la contrasena 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 proxima vez q entremos como root en mysql: mysql -u root -p mysql

68.5.

´ Gestion 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.
68.6.1.

Uso de Mysql
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.
1) Opcion 1

Cambiar el password de root

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 basicas

- 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
-p > archivo.backup.sql

mysqldump -u

68.6.9.

˜ Como recuperar la contrasena 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 solucion ven´a ”safe mysqld”, supongo que ser´a el nomı ´ bre del comando en versiones mas 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.
68.7.1.

Uso de Php
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.

´ Insercion 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.

Menu principal: incidencias.htm ´

<HTML> <HEAD> <TITLE>INCIDENCIAS</TITLE> </HEAD> <center> <H1>Gesti´n de Incidencias</H1> o <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 o $conex = mysql_connect("localhost", "root", "miclave") or die("NO se pudo realizar la conexi´n"); o // Selecci´n de la base de datos o mysql_select_db($bd, $conex); //Preparaci´n y ejecuci´n de la consulta o o $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 o u $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"; u //Obtenci´n del n´mero de atributos o u $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.

˜ Anadir 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"); o // Selecci´n de la base de datos o 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 o $conex = mysql_connect("localhost", "root", "miclave") or die("NO se pudo realizar la conexi´n"); o // Selecci´n de la base de datos o 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 o $conex = mysql_connect("localhost", "root", "miclave") or die("NO se pudo realizar la conexi´n"); o // Selecci´n de la base de datos o 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 o $conex = mysql_connect("localhost", "root", "miclave") or die("NO se pudo realizar la conexi´n"); o // Selecci´n de la base de datos o 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.
68.10.1.

Bibliograf´a ı
Internet

´ 1. Ubicacion de este documento: http://pagina.de/pacodebian ´ 2. Pagina 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. Creacion 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 version en espanol)

Por Paco Aldarias

296/449

Linux

Cap´tulo 69 ı

´ Apagar todas las maquinas de la red: ssh, halt
69.1. ´ Version

´ 9.1.04. Version Inicial.

69.2.

´ Introduccion

Vamos a ver la forma de apagar todos los ordenadores de una red. Para ello usaremos ssh y halt.

69.3.

´ Instalacion

apt-get install ssh

69.4.

´ ´ Configuracion de la maquina 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 servira para ponerlo en las maquinas que se apagaran: cat /root/.ssh/id_rsa.pub Reiniciamos ssh /etc/init.d/ssh restart

69.5.

´ ´ Configuracion de la maquinas q se apagan

´ Conectamos con la maquina q se apagara Por Paco Aldarias 297/449

Linux ssh -l root x.x.x.x

´ Siendo x.x.x.x la ip de la maquina Editamos el fichero y cambiamos la linea: nano /etc/ssh/sshd_config AuthorizedKeysFile %h/.ssh/authorized_keys ´ Copiamos de la maquina q los apaga el contenido de: cat /root/.ssh/id_rsa.pub ´ en la maquina que queremos apagar en el fichero: /root/.ssh/authorized_keys Reiniciamos ssh: /etc/init.d/ssh restart

69.6.

´ Apagado de las maquinas

´ Para apagar una maquina : ssh root@192.168.100.101 /sbin/halt ´ Para apagar todas las maquinas con ips: 192.168.100.101-122 creamos el fichero halt.sh ´ ´ en la maquina q apaga las demas: #!/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 ejecucion: chmod 700 halt.sh Ejecutamos el script: ./halt.sh

69.7.

´ Hacer que salga un mensaje que diga: El pc apagara en tantos minutos
-display :0.0 \

ssh root@192.168.100.1 /usr/X11R6/bin/xmessage "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. 70.2. ´ Introduccion 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 extension .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 directorio 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 guion, con la opcion -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 construccion s/x/y/ es la clasica utilizada para ı sustituir x por y: rename ’s/.tar$//’ *.tar
2

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 Por Paco Aldarias {} /wind/musica/way/ \; 301/449

Linux

70.8.

Para descomprimir todos los archivos zip de una carpeta 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 configuracion.

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.
70.13.1.

Sustituir un texto por otro
sec

Sustituye .o por .ko cat util | sed -e "s/.o/.ko/" > util1 mv util1 util

70.13.2.
cat xx

tr

Por Paco Aldarias

303/449

Linux abc ghi jkl abc def abc mno 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 funcion de la fecha y hora, y en el caso de que varias fotos ˜ ı fueran hechas en en mismo segundo, anad´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 informacion que tiene para renombrar el archivo con su contenido

70.17.

´ Sacar las ips de las maquinas conectadas en la red indicada
opcion

70.17.1.
# # # # # #

Nmap-pacolinx Este script saca las ips de las m´quinas conectadas en la red indicada a Por Paco Aldarias Fecha: 15.05.04 pacolinux arroba inicia punto es Valencia - Espa~a n

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 ultima 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.
Ejemplo:

Sacar el nombre de la maquina o dns

La orden es host x.x.x.x siendo x.x.x.x la ip.

#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 carpeta 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.
cat a.txt a b c d e cat b.txt A B C D

Reemplazar un texto por un fichero

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 pagina web entera: wget
71.1. ´ Introduccion

´ ´ Podemos guardar una pagina web con el navegador, pero solo se guarda el texto que hay dentro. ´ Existe la posibilidad de traernos todo el contenido de una pagina web usando wget.

71.2.

´ Instalacion

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 pagina entera tal y como esta. 2. wget -r -l x -A jpg,jpeg,gif,png,mpg,mpeg http://loquesea.com ´ Para bajar solo las imagenes jpg,jpeg,gif,png,mpg,mpeg: ´ Siendo donde x=nivel de recursion 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 subdirectorio 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 pagina entera y metiendolo todo en la misma carpeta donde estamos: Siendo: -c indica que continue por donde se quedo la ultima vez. ´ -nd no crea la estructura jerarquica de directorios, lo mete todo junto. -r recursivo. Indica que coga tb directorios. ´ ´ -l nivel de profundidad maxima. -T segundo que se espera en caso de retrasos. ´ -k Una vez descargada la pagina 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 pagina 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 solo 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 numero de paginas q se pueden bajar. ´ ´ ´ 2. Wget solo baja las paginas que tienen enlaces a otra. El resto de ficheros no los baja. ´ ´ 3. A partir de la version 1.8 podemos limitar la velocidad de descarga. La version de debian woody es la 1.8.1.

71.8.

Bibliograf´a ı

´ 1. Esta pagina: http://pagina.de/pacodebian 2. Com baixar varis arxius duna pagina web gastant wget ´ http://bulma.net/body.phtml?nIdNoticia=716 ´ 3. Nova versio 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. ´ Introduccion

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 conexion. Vamos a controlar el ancho de banda del proxy squid usando colas de prioridad o delay pools. ´ Esto esta probado con linux debian woody.

72.2.

´ Instalacion

´ Instalaremos las utilidades de compilacion, desde consola como root: apt-get install gcc libc-dev make

72.3.

´ Bajar la ultima version 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-cachedigests –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 prestacion 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. a http_port 8080 icp_port 3130 #los cgi-bin no se cachear´n. a acl QUERY urlpath_regex cgi-bin \? no_cache deny QUERY #La memoria que usar´ Squid. Bueno, Squid usar´ mucha m´s que ´sa. a a a e cache_mem 16 MB #250 significa que Squid usar´ 250 megabytes de espacio en disco. a cache_dir ufs /cache 250 16 256 #Lugares en los que ir´n los archivos de bit´cora de Squid. a a 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. a a #Acuda a la FAQ para m´s informaci´n. a o 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 a #navegadores de sus clientes, aunque tiene algunos inconvenientes. #Si deja esto sin comentar no pasar´ nada peligroso. a 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 a #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 u a o ı #de m´s abajo. Apuntar´n a un servidor proxy [parent] que usar´ nuestro propio a a a #Squid. No olvide cambiar el servidor por uno m´s r´pido para usted. a a #Puede utilizar ping, traceroute y dem´s herramientas para comprobar la a #velocidad. Aseg´rese de que los puerto http e icp son los correctos. u #Descomente las l´neas que comienzan por "cache_peer" de ser necesario. ı #´ste es el proxy que va a usar para todas las conexiones... E #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. u #Copie cachemgr.cgi al cgi-bin de su servidor web. #Podr´ acceder a ´l una vez lo haya hecho introduciendo en un navegador a e #la direcci´n http://su-servidor-web/cgi-bin/cachemgr.cgi o cache_mgr your@email cachemgr_passwd secret_password all ´ #Este es el nombre de usuario con el que trabajar´ nuestro Squid. a cache_effective_user squid cache_effective_group squid log_icp_queries off buffered_logs on

#####DELAY POOLS E a a #´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 o #documentaci´n de http://www.squid-cache.org o #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 u ı 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 #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 o #con delay_pools y delay_class. delay_pools 2 #Primer delay pool #No queremos retrasar nuestro tr´fico local a #Hay tres cases de pools; aqu´ s´lo hablaremos de la segunda. ı o #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; u #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 a 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 cache: /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. ´ Introduccion

´ Vamos a ver como dar prioridad en la conexion a internet segun el tipo de servicio. Esto nos va a ´ ´ permitir poder tener ciertos servicios una calidad de conexion adecuada. ´ El control se realiza sobre el trafico saliente. Vamos a dar prioridades del 20 al 26. El 20 es la ´ maxima prioridad y la 26 es la menor prioridad. Puertos 0:1024 20 5190 icmp udp ssh http 64 3389 6346 Prioridad 23 26 23 20 21 22 25 21 23 26 Comentario Default for low port traffic ftp-data port, low prio aol instant messenger ICMP (ping) - high prio, impress friends DNS name resolution (small packets) secure shell Local web server small packets (probably just ACKs) windows remote computer connection 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 trafico por IP y limitar trafico P 2P http://guadawireless.net/modules.php?op=modload&name=News&file=article&sid=255 ´ 3. Enrutamiento avanzado y control de trafico en Linux http://www.gulic.org/comos/LARTC/lartc.html#AEN588

Por Paco Aldarias

320/449

Linux

Cap´tulo 74 ı

Cosas utiles ´
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.
Instalar:

Para ver los directorios que cuelgan

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 grafico

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 graficos: startx

´ Suponiendo que estamos en el entorno grafico normal de kde. Pulsamos control+alt+f2, se ´ abrira un consola de texto, y ponemos: startx -- :1 ´ esto abrira otro entorno grafico. ´ Para regresar al anterior pulsarmos: Pulsamos control+alt+f2, se abrira un consola de texto, y pulsarmos Alt + F7 ´ Para regresar al anterior pulsarmos: Pulsamos control+alt+f2, se abrira un consola de texto, y pulsarmos Alt + F8

74.8.

Saber la ip desde consola
6-‘

INET_IP=‘/sbin/ifconfig eth0 | grep "inet addr:" | awk ’{print $2}’ | cut -c 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 maquinas con ip dinamica

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 ”pequeno”intervalo ´ ı de actualizacion que permitir´a conexiones no deseadas. ´ Es un ejemplo. O como 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.
Instalar:

Cambiar la resilucion de imagenes jpg

apt-get install libjpeg-progs Ejecutarlo: djpeg < foo.jpg | cjpeg -quality 50 > bar.jpg

74.12.
#!/bin/sh

Saber si cambia una web

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.\ a 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.
cat man.sh

Obtener el man de forma bonita

En modo texto

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 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

$MANPAGE"

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 a echo Numero de usuarios en el sistema: $NUMERO_USUARIOS echo Hay trabajos en la cola de impresi´n: $HAY_COLA_IMPRESION o apagar() ( echo apagado autom´tico del sistema a halt )

/ ‘date‘ / >> $LOG

((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. ´ Introduccion

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 nucleo debe soportar quotas ´

´ La opcion de quotas debe de estar activada en el nucleo. ´ 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.

´ ´ Activacion y desactivacion 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 inhalambrico: Cordeless iTooch Keyboard de Logitech: lineakd
76.1. ´ Version

26.03.04 Inicial

76.2.

´ Introduccion

indexlineakd indexconfigurar teclas ´ Vamos a ver como configurar las teclas especiales, que dispone mi teclado inhalambrico: Cordeless 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 creara 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 EMail Calculator Screensaver Sleep # Second Row MediaPlayer Mute VolumeUp VolumeDown = = = = = = = = = 178 236 161 235 223 237 160 176 174 162 164 144 153

Play|Pause = Stop = Rewind = Foward = [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 menu: Inicio - Regional y Accesibilidad - Disposicion de Teclado - Opciones Xkb ´ Desactivarlo

76.9.

Bibliograf´a ı

´ ´ 1. Las teclas extra todavia mas facil: 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. ´ Introduccion

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.
77.4.1.

Envio de un fichero binario
Usando uuencode

uuencode foo.jpg < foo.jpg | mail -s Encabezado paco@servidor.es ´ o tambien uuencode fichero.pdf fichero.pdf | mail -s Encabezado paco@servidor.es ´ o tambien 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 paginas en tu servidor web: htdig
78.1. ´ Introduccion

´ Htdig es ”WWW Search Engine Software.es decir un motor de busqueda de paginas web. ´ ´ Vamos a ver la forma de poder tener un buscador de ficheros o paginas 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 paginas o ficheros que contengan dicho texto. ´ La pagina http://bulma.net/htdig/ usa este tipo de software para las busquedas.

78.2.

Requisitos

Tener instalado el servidor apache.

78.3.

´ Instalacion

Desde consola como usuario root: apt-get install htdig

78.4.

´ Configuracion

Desde consola como usuario root, editaremos el fichero: nano /etc/htdig/htdig.conf ´ Deberemos poner la direccion de nuestra web aqu´: ı start_url: http://aldarias.dyndns.org/paginas/

78.5.

´ Crear un fichero de paginas

´ Para el fichero htdig.txt con las paginas 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 Discusion: Phpbb2
79.1. ´ Introduccion

´ Vamos a ver como se crea un foro de discusion Para ello usaremos el foro phpbb. ´ El foro tambien permite: 1. Poner encuestas. 2. Envio masivo de correo. 3. Censurar palabras y usuarios. ˜ 4. Permite espanolizar el foro

79.2.

Requisitos

Tener instalado el servidor web apache, php, mysql

79.3.

´ Instalacion

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 ii phpbb2-conf-my 2.0.6d-3 ii phpbb2-languag 2.0.6d-3

A fully featured and skinneable flat (non-th Automatic configurator for phpbb2 on MySQL d 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 administracion Usuario: Admin Password: Admin Una vez dentro debemos cambiar el password de Admin ´ ´ ˜ Ir a Administracion General - Configuracion: Elegir el idioma espanol.

79.5.

Bibliograf´a ı

´ 1. Pagina oficial http://www.phpbb.com/

Por Paco Aldarias

338/449

Linux

Cap´tulo 80 ı

La radio por internet: icecast
80.1. ´ Introduccion

´ Veamos como se monta un radio por internet, o tambien 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.

´ Instalacion

apt-get install icecast-server icecast-client Software instalado: dpkg -l | grep icecast ii icecast-client 1.4.0-4.2 ii icecast-server 1.3.12-7

Streaming Mpeg Layer III feeder MPEG Layer III Streaming Server

80.3.
80.3.1.

icecast-server
Configurarlo /etc/icecast/icecast.conf

cat /etc/icecast/shout.conf

80.3.2.

Generar el password encriptado

´ Linux debian, con apt, instala icecast con encriptacion de password. Debemos generar las claves y pegarlas. makepasswd mipassword

80.3.3.
icecast

Lanzar icecast-server

Por Paco Aldarias

339/449

Linux

80.4.
80.4.1.

icecast-client
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.
Opciones: hwclock. Cambia la hora del hardware date, ntdate. Cambia la hora de linux.

´ Introduccion

Vamos a ver como poner en hora nuestro pc

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.

´ Instalacion

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 server server server server server server chronos.bulma.net ntp.obspm.fr ntp.cs.strath.ac.uk hora.uam.es hora.uniovi.es hora.uv.es 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. ´ Introduccion

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 ’,’ | echo $i >> $ft echo [+] Pasando $i a $ft done cp $ft $fi cat $fi rm $ft ++++++++++++++++++++ fin script +++++++++++++++++++

xargs echo‘; do

82.5.

Como hacer q el cortafuegos cierre el paso a esas maquinas

˜ Anadiendo 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 anadir 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. ´ Introduccion

´ Portsentry detecta y bloquea las maquinas que escanean la nuestra. Dicho en ingles es un ”Portscan detection daemon”. Porsentry se pone en marcha como demonio.

83.2.

´ Instalacion

apt-get install portsentry Paquetes q instalados: dpkg -l | grep portsentry ii portsentry 1.2-4

Portscan detection daemon

83.3.

´ Ficheros de configuracion: /etc/portsentry/portsentry.ignore

´ Fichero de ips que no bloqueara. Son las ips de confianza

83.4.

´ Ficheros de configuracion: /etc/portsentry/portsentry.conf

Debemos revisarlo y adaptarlo a nuestro gusto. ´ Esta 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 rapidamente
84.1. ´ Introduccion

´ Herramienta de distribucion de ficheros. ´ Es extremadamente facil distribuir ficheros. ´ Bajarse un fichero es tan facil como hacer click sobre un hiperenlace de una web. ´ ´ ´ Si una mas personas estan bajandose algun fichero, envian trozos del fichero de cada persona q ´ lo tiene. ´ ´ Existe una descentralizacion, ya que cualquiera q tenga el fichero, envie trozos. ´ La filosofia, es yo me bajo un archivo, la siguiente peticion, 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 utiles 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 extension .bittorrent, al descargarse esa extension se elimina.

84.2.

´ Instalacion

apt-get install bittorrent ´ La version 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 ´ Tambien 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 permitira compartir ficheros: /usr/bin/bttrack --port 6969 --dfile dstate Para ver si funciona abrir: http://miurl:6969 ´ Aparecera 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 esta 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 generara un fichero llamado linux.pdf.torrent

84.5.
´ Metodos:

Los clientes de bittorrent: btdownloadgui,btdownloadcurses

Con los clientes vamos a bajar los archivos que ofrece el servidor bittorrent.

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 instalacion 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 ı

´ Instalacion y ahorro de energia de ´ la tarjeta grafica nvidia (GeForce4 MX 440 AGP 8x)
85.1. ´ Introduccion

´ Vamos a describir el proceso de instalacion 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.
85.2.1.

Instalando los drivers de nvidia
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 ventana.(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 usuario volver a entrar con al opcion consola que aparece al pulsar el ¨ 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: ı
2

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 a o un compilador diferente del que utiliz´ para compilar el kernel o activo. En principio no tiene por qu´ haber ning´n problema, pero e u a veces puede ocasionar un comportamiento inesperado y el fallo del sistema. Si sabe lo que est´ haciendo y quiere omitir esta a comprobaci´n, puede hacerlo ejecutando el comando IGNORE_CC_MISMATCH. o En caso contrario, configure la variable de entorno cc con el nombre del compilador que utiliz´ para compilar el kernel.) o El README de nVidia trata este problema y le da la siguiente respuesta: ´ ´ ´ R: Debe compilar el modulo kernel de NVIDIA con la misma version de compilador que utilizo para compilar su kernel. Algunas estructuras de datos de kernel de Linux dependen de la ver´ sion 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 modificara el tamano de rwlock t y se produciran fallos, por ejemplo, en ioremap. ´ ´ ´ Para averiguar que version de gcc utilizo para compilar el kernel, cat /proc/version ´ ´ Para averiguar que version de gcc figura actualmente en su $PATH, 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 conteste que ya habia intentado esto, pero que no me dejaba continuar. Por Paco Aldarias 360/449 examine la salida de: examine la salida de:

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 que 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.

´ Compilandolo

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 seran: Donde pone Driver ”nv” poner Driver ”nvidia” Asegurse de que figura Load ”glx” ˜ Comentar (anadir al principio #) las lineas: Load ”dri” Load ”GLcore” ´ Y reiniciar el entorno grafico ´ Si todo ha ido bien, antes de que aparezca el escritorio, aparecera a toda pantalla el logo de nVidia.

Por Paco Aldarias

361/449

Linux

85.3.

Ahorro de energ´a en Athlon ı

´ Instalacion: apt-get install athcool ´ Version: athcool 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 0.3.5-2 Enable powersaving mode for Athlon/Duron pro

85.4.

´ Aceleracion 3D en nvidia: dri

Podemos mejorar el rendimiento 3d instalando dri. Yo he pasado de 700 FPS a 3300FPS, siguiendo los pasos que describo. Probar el rendimento: glxgears Me sale esto: 13488 16469 16462 16488 frames frames frames frames in in in in 5.0 5.0 5.0 5.0 seconds seconds seconds seconds = = = = 2697.600 3293.800 3292.400 3297.600 FPS FPS FPS 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 Option Option Option Option "TwinView" "SecondMonitorHorizSync" "31-82" "SecondMonitorVertRefresh" "58-75" "MetaModes" "1280x1024,1280x1024; 1024x768,1024x768; 800x600,800x600; 640x480,640x480" "TwinViewOrientation" "Clone"

85.6.

´ Instalacion de nvidia atraves de apt

S´ se puede instalar sin recompilar. ı Por ejemplo, para instalar el ultimo nucleo con los drivers nvidia hay que hacer lo siguiente: ´ ´ ´ ´ La informacion esta extra´da de: ı http://www.bio-informatics.nl/debinstall2.php (en barrapunto). ´ ´ ´ Tambien hay mas informacion aqu´: ı http://home.comcas.net/∼andrex/Debian-nVidia/installation.htm (que ya he mencionado en algun 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 maquina 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 por Driver "nv" "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 documentacion oficial y configuracion: http://es.nvidia.com/doxs/io/14901/README ia32 6111 es.txt ´ ´ PD1: Existen mas formas de crear un paquete deb de los drivers nvidia, pero quiza esta es ´ ´ la mas facil que he visto.

85.7.
Instalarlo:

´ Mejorar la gestion de interrupciones: irqtune

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. CONFIGURACION DE LAS TARJETAS NVIDIA PARA OUT TV. http://wiki.escomposlinux.org/twiki/pub/Escomposlinux/DoLiCaNvidiaTvOut/configuracionouttvnvi html?CGISESSID=59c4772651218e49a404e2f9ed7f8fea&CGISESSID=59c4772651218e49a404e2f9ed7f8fea ´ ´ 4. Aceleracion Grafica 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. Despues guardaremos las ips con la fecha y hora. Se necesita: nmap y mysql.

86.2.

´ Creacion 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: I 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.

´ conclusion

Este art´culo es interesante para saber q ordenadores se quedan encendidos y poder apagarlos. ı

Por Paco Aldarias

367/449

Linux

Cap´tulo 87 ı

´ ´ Instalacion, configuracion y uso del Portal Web: Postnuke
87.1. ´ Introduccion

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 estan 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 ´ Basicamente lo que hay q hacer es hacer un bloque nuevo, y poner q el bloque sea rss, despues ´ se pone la direccion web asociado.

87.8.
87.8.1.

´ ˜ Arreglar problemas de traduccion al espanol
´ Los topicos

˜ Anadir esto: define(’_THISISTOPIC’,’Este es el T´pico: ’); o define(’_FOLLOWINGNEWS’,’Con las siguiente noticias: ’); en el fichero: ./modules/News/lang/spa/global.php

87.8.2.

Nuevo usuario

˜ Anadir 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 ´ Mas info aqui: http://www.dev-postnuke.com/XForum-tid549.html Por Paco Aldarias 369/449

Linux

87.10.

Bibliografia

´ 1. Pagina 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. ´ Introduccion

Vamos a ver como poder trabajar en mysql usando open office writer

88.2.

´ Instalacion

Como usuario root y desde consola: Instalamos mysql: apt-get install Instalamos el odbc apt-get install libmyodbc unixodbc libiodbc2 mysql

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~a n 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 menu herramientas: ´ Fuentes de datos: General, Nombre pondremos: amigos ´ Conexion, Tipo de base de datos: mysql Mysql: ´ Tipo de conexion: Utilizar fuentes de datos odbc existente

88.6.

Bibliograf´a ı

´ 1. Conexion 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. ´ Introduccion

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 mas de un ı cd de 700Mb, y los avi ocupan menos en el cd.

89.2.

´ Reproduccion de video

Los programas mejores son: mplayer y xine.

89.3.

´ Instalacion

apt-get install mencoder dvd+rw-tools dvdauthor dvdrtools libdvdcss2 transcode k3b k3b-i18n

89.4.

Paquetes instalados
MPlayer’s Movie Encoder

dpkg -l | grep mencoder ii mencoder-k7 1.0-pre3-0.0 dpkg -l | grep dvd ii dvd+rw-tools ii dvdauthor ii dvdbackup ii dvdrtools ii gstreamer-dvd ii libdvdcss0 ii libdvdcss1 ii libdvdcss2 ii libdvdnav1 ii libdvdnav4 ii libdvdplay0 Por Paco Aldarias

5.19.4.9.7-2 0.6.10-sarge1 0.1.1-1 0.1.5-3 0.6.4-4 0.0.3-8 1.0.1-0.1 1.2.5-sarge0.2 0.1.3-1 0.1.9-2 1.0.1-5

DVD+-RW/R tools create DVD-Video file system Tool to rip DVD’s from the command DVD writing program DVD plugin for GStreamer Simple foundation for reading DVDs Simple foundation for reading DVDs Simple foundation for reading DVDs The DVD navigation library The DVD navigation library a portable abstraction library for

line

- runtime - runtime - runtime

DVD menus 373/449

Linux ii ii ii libdvdread2 libdvdread3 xine-dvdnav 0.9.3-2 0.9.4-4 0.9.13-1 Simple foundation for reading DVDs. Simple foundation for reading DVDs 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 ii k3b-i18n ii k3blibs rc libk3bcore2 rc libk3bplugin1 rc libk3bproject1 rc libk3btools1

0.11.9-2 0.11-1 0.11.9-2 0.10.3-5 0.10.3-5 0.10.3-5 0.10.3-5

A sophisticated KDE cd burning Internationalized (i18n) files The KDE cd burning application The KDE cd burning application The KDE cd burning application The KDE cd burning application The KDE cd burning application

application for k3b library - run library - cor library - plu library - pro library - too

89.5.

Pasar un vcd a mpg

´ Tan facil como copiar el fichero.dat a fichero.mpg en tu pc, y ya se puede ver en tu pc.

89.6.
89.6.1.

Pasar mp3 a avi
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 duracion: mpgtx -X -i pelicula.mpg

Con divxcomp Instalarlo: apt-get install divxcomp ´ Ver la duracion del video: divxcomp peli.avi

Con xine ´ Tb se puede abrir la peli y mirar su duracion: xine peli.mp3

Por Paco Aldarias

374/449

Linux Con mplayer ´ Tb se puede abrir la peli y mirar su duracion: mplayer peli.mp3 ´ ´ Pulsar la tecla o. Alterna entre el tiempo que llevas de reproduccion y el total de reproduccion.

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 ejecucion: 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 informacion 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.

´ Configuracion de X:
"Generic Video Card" "tdfx" "UseFBDev"

Section "Device" Identifier Driver Option EndSection

"true"

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 EndSection

0666

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. ´ Introduccion

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 espanol ˜ Tiene un nivel alto de contranas. ´ Permite realizar examenes. Permite programar tareas por temas o fechas. Permite agrupar materiales(ficheros) por temas o fechas

91.3.

´ Instalacion

´ 1. Bajarse el fichero de la pagina: http://moodle.org/ ´ ´ Ahora esta la version 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 cd /var/www/moodle/ 4. Descomprimirlo: Por Paco Aldarias 379/449 /var/www/moodle/

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 configuracion: cp config-dist.php config.php 7. Editarlo y configurar los valores para mysql y moodle: nano config.php $CFG->dbtype $CFG->dbhost $CFG->dbname $CFG->dbuser $CFG->dbpass $CFG->dirroot $CFG->wwwroot $CFG->dataroot = = = = = ’mysql’; // mysql or postgres7 (for now) ’localhost’; // eg localhost or db.isp.com ’moodle’; // database name, eg moodle ’root’; // your database username ’mipassword’; // your database password

= ’/var/www/moodle’; = "http://".$_SERVER["HTTP_HOST"]."/moodle"; = ’/var/www/moodle/moodledata’

´ 8. Entrar para empezar el proceso de instalacion 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.
crontab -e

Envio de email de los foros

Como usuario root:

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 tamano de los archivos que pueden descargarse

´ Por defecto moodle trae un limite de 2Mb como maximo 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. Pagina 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. ´ Introduccion

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.

´ Instalacion

Desde consola como root: apt-get install awstats libnet-dns-perl libnet-ip-perl libnet-xwhois-perl

92.3.

´ Configuracion

Editar el fichero /etc/awstats/awstats.conf ´ y configurar las opciones basicas.

92.4.

´ Enlace de las imagenes

´ Crear este enlace para q se puedan ver las imagenes: 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 Gestion de Base de Datos (SGBD): Postgres
93.1. ´ Introduccion

Vamos a ver como se instala y se usa el SGBD Postgres ´ Postgress es un Sistema de Gestion de Base de Datos, libre, similar a Oracle, DBII, SQL Server, Informix. ´ ´ Caracteristicas mas importantes: Permite control de claves ajenas Pemite subconsultas. ´ Permite gestion de transacciones. ´ ´ Estas caractaristicas no estan disponible para Access (win), ni en Mysql (Linux).

93.2.

´ Instalacion

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 ii postgresql-cli 7.4.6-5 ii postgresql-con 7.4.6-5 ii postgresql-dev 7.4.6-5 ii postgresql-doc 7.4.6-5

object-relational SQL database management sy front-end programs for PostgreSQL additional facilities for PostgreSQL development files for libpq (PostgreSQL libr documentation for the PostgreSQL database ma

Por Paco Aldarias

384/449

Linux

93.3.

´ Acceso y creacion 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 ”miusuariocon 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 pagina web

Figura 93.1: phppgadmin Instalarlo con: apt-get install phppgadmin Entrar con: http://127.0.0.1/phppgadmin

93.9.
Instalarlo:

´ Entorno grafico: pgaccess

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.
´ Instalacion:

´ Entorno grafico: pgadmin3

apt-get install pgadmin ´ ´ Mas informacion 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 ESPANOL http://www.postgresql.cl/ ´ 8. PostgreSQL Practico 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.

´ Instalacion

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 ii quiteinsane 0.10-7 ii sane 1.0.13-2 ii sane-utils 1.0.15-2 ii xsane 0.96-1 ii xsane-common 0.96-1 Para el usb: dpkg -l | grep usb ii libusb-0.1-4 ii libusb-dev ii usbmgr ii usbutils ii usbview

API library for scanners A Qt based X11 frontend for scanner graphical frontends API library for scanners -GTK+-based X11 frontend for GTK+-based X11 frontend for

SANE (Scanner Ac utilities SANE (Scanner Ac SANE (Scanner Ac

0.1.8-17 0.1.8-17 1.0.0-3 0.11+cvs200411 1.0-6

Userspace USB programming library Userspace USB programming library developmen User-Mode daemon which loads/unloads USB ker USB console utilities USB device viewer

Por Paco Aldarias

389/449

Linux

94.3.

Programas para scanear
GTK+-based X11 frontend for SANE (Scanner Ac GTK+-based X11 frontend for SANE (Scanner Ac

dpkg -l |grep xsane ii xsane 0.96-1 ii xsane-common 0.96-1 dpkg -l |grep kooka ii kooka 3.2.3-1.1 dpkg -l |grep gimp ii babygimp ii gimp ii gimp-data ii gimp1.2 ii gimp1.2-nonfre ii gimp1.2-print ii gimp2.0-quitei ii ijsgimpprint ii libgimp1.2 ii libgimp2.0 ii libgimpprint1

Scanner program for KDE

0.41-6 2.0.6-1 2.0.6-1 2.0.6-1 1.2.3-2.4 4.2.2-pre2-1 0.3-3 4.2.7-4 1.2.5-3 2.0.6-1 4.2.7-4

An icon editor in Perl-Tk The GNU Image Manipulation Program, stable v Data files for The GIMP, stable version 2.0 Transitional dummy package for upgrading The GIF support for the GNU Image Manipulation P The Print plugin for the GIMP A Qt based SANE plugin for GIMP 2.0 Inkjet Server - Ghostscript driver for GimpLibraries necessary to run the GIMP, version Libraries necessary to run the GIMP, stable The Gimp-Print printer driver library

94.4.

El sistema de ficheros

˜ Anadir 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.
lsusb Bus Bus Bus Bus 002 002 001 003

Reconocimiento del harware

Esto requiere tener conectado el scanner al puerto usb.

Device Device Device Device

001: 002: 001: 001:

ID ID ID ID

0000:0000 04a9:220e Canon, Inc. CanoScan N1240U/LiDE 30 0000:0000 0000:0000

sane-find-scanner -q found found found found USB USB USB USB scanner scanner scanner scanner

(vendor=0x04a9, product=0x220e) at /dev/usb/scanner0 (vendor=0x04a9, product=0x220e) at /dev/usbscanner (vendor=0x04a9, product=0x220e) at /dev/usbscanner0 (vendor=0x04a9 [Canon], product=0x220e [CanoScan], chip=LM983x?) at libusb:002:0 390/449

Por Paco Aldarias

Linux ´ Hay dos datos importante, que le pasaremos al modulo scanner: vendor=0x04a9 product=0x220e Instalar los siguiente modulos del kernel: modprobe modprobe modprobe modprobe usbserial usb-ohci usbcore scanner vendor=0x04a9 product=0x220e

˜ Editar el fichero /etc/modules.conf y anadir: alias usbcore off alias usb-controller usb-ohci alias usb-controller1 ehci-hcd

94.7.

Configurar sane

˜ Anadir 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.
94.9.1.

Programas para scanear
gimp

´ Gimp es programa de tratamiento de imagenes, 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 ii ii ii ii ii ii ii ii ii ii babygimp gimp gimp-data gimp1.2 gimp1.2-nonfre gimp1.2-print gimp2.0-quitei ijsgimpprint libgimp1.2 libgimp2.0 libgimpprint1 0.41-6 2.2.3-2 2.2.3-2 2.2.3-2 1.2.3-2.4 4.2.2-pre2-1 0.3-3 4.2.7-5 1.2.5-3 2.2.3-2 4.2.7-5 An icon editor in Perl-Tk The GNU Image Manipulation Program Data files for The GIMP Transitional dummy package for upgrading The GIF support for the GNU Image Manipulation P The Print plugin for the GIMP A Qt based SANE plugin for GIMP 2.0 Inkjet Server - Ghostscript driver for GimpLibraries necessary to run the GIMP, version Libraries necessary to run the GIMP The Gimp-Print printer driver library

94.9.2.

xsane

Programa de scaneo para x dpkg -l | grep xsane ii xsane 0.97-3 ii xsane-common 0.97-3

GTK+-based X11 frontend for SANE (Scanner Ac 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 ii gimp2.0-quitei 0.3-3 quiteinsane 0.10-7 A Qt based SANE plugin for GIMP 2.0 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. Como 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. ´ Introduccion

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
ALSA driver configuration files ALSA OSS-compatibility application wrapper ALSA driver sources ALSA utilities graphical soundcard mixer for ALSA soundcard ALSA sound mixer for GNOME ALSA plugin for GStreamer Enlightened Sound Daemon (ALSA) - Shared lib

dpkg -l | grep alsa ii alsa-base 1.0.7-2 ii alsa-oss 1.0.7-1 ii alsa-source 1.0.7-2 ii alsa-utils 1.0.7-2 ii alsamixergui 0.9.0rc2-1-7 ii gnome-alsamixe 0.9.6-1 ii gstreamer-alsa 0.6.4-5.1 pi libesd-alsa0 0.2.35-2

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 modulos: modprobe snd-ens1371;modprobe snd-pcm-oss; modprobe snd-mixer-oss;modprobe snd-seq-oss

95.5.

Configurar alsa: Alsaconf

´ Fichero de configuracion 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 ingles) 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. ´ Introduccion

´ ´ El lapiz usb tambien llamado o usb bar o pen drive Vermos como es la instalacion de un lapiz usb. En concreto es un lapiz usb captiva 2.0 de 250Mb ´ Los lapices usb son trabados como dispositivos usb. Y se tratan de forma igual q si fuera otro disco duro.

96.2.
96.2.1.

Kernel 2.6
´ Modulos del kernel

´ SECCION FILESYSTEMS umsdos cat /usr/src/linux-2.6.13.2/.config | grep MSDOS CONFIG_MSDOS_FS=y CONFIG_MSDOS_PARTITION=y ´ SECCION 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 ´ SECCION 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 modulos ´ ´ y carga luego el necesario, o bien consulta el enlace del pie del art´culo para saber cual 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 ´ SECCION 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.
lsusb Bus 003 Bus 002 Bus 001 Bus 001

Listar los usbs
Device Device Device Device 001: 001: 005: 001: ID ID ID ID 0000:0000 0000:0000 4586:1026 0000:0000

96.2.3.
Instalar:

Reconocerlo

apt-get install ´ Version: dpkg -l udev ii udev Por Paco Aldarias

udev

0.071-1

/dev/ and hotplug management daemon 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 informacion 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.
96.3.1.

Kernel 2.4
´ Modulos del kernel

´ SECCION FILESYSTEMS umsdos ´ SECCION GENERAL SETUP * Support for hot-pluggable devices. ´ SECCION 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 modulos ´ ´ y carga luego el necesario, o bien consulta el enlace del pie del art´culo para saber cual 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). ´ SECCION 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
54460 33520 17532 18088 57088 1 0 0 0 2

lsmod | grep usb usb-storage dabusb usbserial usb-ohci usbcore

(unused) [pl2303] (unused) [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.
Instalar:

Reconocerlo

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 lapiz esta en /dev/sg2 sg_map /dev/sg0 /dev/sg1 /dev/sg2

/dev/scd0 /dev/scd1 /dev/sda

´ Se aprecia que el lapiz 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 o 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 lapiz

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 Por Paco Aldarias /lapiz vfat rw,exec,user,noauto 0 0 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. Configuracion 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. ´ Introduccion

Vamos a ver como bajar new con binarios es decir con ficheros jpg, avi, etc. Para ello utilizaremos brag.

97.2.

´ Instalacion

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.
Sintasis:

Para bajarse un grupo

brag -c -s news.ono.com -l usuario -p contrase~a -g grupo -o /carpeta_destino -a ’*.jpg*’ -t 5 n

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~a -g $grupo n Por Paco Aldarias

-o $destino/$grupo -a ’*.jpg*’ -t 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. ´ Introduccion

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 version 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.

´ Instalacion

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 anadimos las lineas indicadas. /etc/init.d/modutils stop /etc/init.d/modutils start

98.5.
sensors

Ver los sensores

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) +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) ◦ ◦ temp2: +44.5 C (high = +120 C, hyst = +115◦ C) temp3: +19.0◦ C (high = +120◦ C, hyst = +115◦ C) vid: +1.550 V (VRM Version 8.2) alarms: beep_enable: Sound alarm disabled

ALARM

sensor = thermistor sensor = thermistor sensor = thermistor

98.6.

Utilidad kde: ksensors

´ Ksensores permite ver los sensores en modo grafico. ´ Instalacion: 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. ´ Introduccion

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 modulos: Module cls_u32 sch_prio sch_sfq sch_tbf sch_cbq sch_gred sch_red sch_teql sch_dsmark netlink_dev ip_queue Size Used 4484 1 2240 0 3328 0 2272 1 11552 1 4448 0 2240 0 3328 0 3712 0 1728 0 5140 0 by Tainted: P

(unused) (unused)

(unused) (unused) (unused) (unused) (unused) (unused)

´ (y las opciones de kernel necesarias para poder marcarlos, como QoS y demas). 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 veis, de los 300Kbit que tengo le asigno 80Kbit (10KB/seg) al trafico Web. Lo he probado ´ y funciona perfectamente (mas o menos). Si descargo yo un fichero voy a 10KB/seg. Si otra ´ persona lo descarga simul- taneamente ambos bajamos a aprox 5KB/seg . Esto me deja libre otro ancho de banda para otros servicios :-) ´ Ademas se pueden poner reglas segun 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 #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

6-‘

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 o a KbTotal=600 Kbssh=400 Kbresto=200 tc tc tc tc tc qdisc qdisc class class class del add add add add dev dev dev dev dev eth0 eth0 eth0 eth0 eth0

root root handle 1: htb default 1 # Por defecto toda la informaci´n ir´ a la band o a parent 1: classid 1:1 htb rate 600kbps ceil 600kbps parent 1:1 classid 1:10 htb rate 400kbps ceil 600kbps parent 1:1 classid 1:20 htb rate 200kbps ceil 600kbps prio 1 # Esta banda ti

# Asociaci´n de colas sfq con bandas o 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. Metodo para la ecualizacion 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. ´ Introduccion

Vamos a crear un script que nos permite escuchar emisoras de radio, y poder mantener una lista ´ de emisoras se sea facil 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~OLAS N 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~a;http://a259.l773120483.c7731.e.lm.akamaistream.net/D/259/7731/v0 n

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. ´ Introduccion

´ Vamos a ver como poder recibir por correo el DOGV y el BOE. Para ello usaremos perl. Ademas ´ filtraremos para que nos saque todo lo de educacion 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"’ ); o 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\""; o 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 my my my my my my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(); ($sec2,$min2,$hour2,$mday2,$mon2,$year2,$wday2,$yday2,$isdst2)=localtime(time - 7*24*60*60); $hoy = sprintf("%02d/%02d/%04d",$mday,$mon+1,$year+1900); $antes = sprintf("%02d/%02d/%04d",$mday2,$mon2,$year2+1900); $hoy="\"$hoy\""; $fecha = uri_escape($hoy); $texto = uri_escape( ’"Educaci´n"’ ); o

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. o 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\""; o 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 camara de fotos digital: SONY DSC-P200
102.1. ´ Introduccion

´ Vamos a ver como se instala una camara 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. Configurando la camara 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 opcion recomendada

102.2.

´ El kernel y las camaras de fotos

´ Para montar nuestra Camara 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" ´ Tambien 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 camara

´ ´ 1. gtkam. Solo permite trabajar con camaras que esten en su lista. 2. digikam. ´ ´ Permite trabajar con camaras ptp, y con carpetas. Este es el mejor para nuestra camara. Permite eliminar ojos rojos, si instalas los plug-in.

102.5.
102.5.1.

Montaje como usb normal
Kernel

Editar el fichero: /usr/src/linux/drivers/usb/storage/unusual_devs.h ˜ Y anadir: 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.
lsusb

El dispositivo usb

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/sg1 /dev/sg2 /dev/scd0 /dev/scd1 /dev/sda

cdrecord -scanbus Cdrecord-Clone 2.01.01a01 (i686-pc-linux-gnu) Copyright (C) 1995-2004 J¨rg Schilling o 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 camara: mkdir /usb mount -t vfat /dev/sda1 /usb/ ll /usb total 32 drwxr--r--r-xr--r-drwxr--r--

3 paco paco 16384 2005-04-28 21:16 dcim 1 paco paco 0 2005-02-15 09:54 memstick.ind 2 paco paco 16384 2005-04-28 21:16 misc

Automatizar el montaje, editando /etc/fstab: /dev/sda1 none /usb vfat rw,users,sync,exec,user,noauto /proc/bus/usb usbdevfs noauto 0 0 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 camara. 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.
102.6.1.

Modo USB PTP
gphoto2

´ Gphoto2 es un programa para camaras d´gitales. ı Como root: Para saber si tenemos permisos: gphoto2 –list-ports Dispositivos encontrados: 3 Ruta Descripci´n o -------------------------------------------------------------serial:/dev/ttyS0 Puerto serie 0 serial:/dev/ttyS3 Puerto serie 3 usb: Universal Serial Bus ´ Para ver si detecta la camara: gphoto2 –auto-detect Modelo Puerto ---------------------------------------------------------Sony DSC-F707V (PTP mode) usb: ´ Para ver los ficheros de la camara: gphoto2 –list-files No hay Hay 13 #1 #2 #3 #4 #5 #6 #7 #8 #9 #10 #11 #12 #13 ning´n fichero en la carpeta ((/)). u ficheros en la carpeta ((/store_00010001)): DSC00002.JPG 132 KB 640x480 DSC00004.JPG 145 KB 640x480 DSC00006.JPG 134 KB 640x480 DSC00007.JPG 143 KB 640x480 DSC00008.JPG 155 KB 640x480 DSC00009.JPG 128 KB 640x480 DSC00012.JPG 146 KB 640x480 DSC00014.JPG 2669 KB 3072x2304 DSC00026.JPG 145 KB 640x480 DSC00027.JPG 144 KB 640x480 DSC00028.JPG 145 KB 640x480 DSC00029.JPG 115 KB 640x480 DSC00030.JPG 141 KB 640x480

image/jpeg image/jpeg image/jpeg image/jpeg image/jpeg image/jpeg image/jpeg image/jpeg image/jpeg image/jpeg image/jpeg image/jpeg image/jpeg

102.6.2.

´ Konqueror y la camara en modo ptp

´ Escribiendo en la direccion: 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.

´ Instalacion

Instalar hotplug, usbutils y autofs apt-get install hotplug usbutils autofs

Habilitar el automounter en el nucleo ´ 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 anadiremos, al final, la l´nea: ı /mnt/usb /etc/auto.removable --timeout=1 ˜ Editaremos el fichero /etc/auto.removable y anadiremos, al final, la l´nea: ı USB1 USB2 USB3 USB4 USB5 USB6 -fstype=vfat,uid=1002,gid=1002,umask=002 -fstype=vfat,uid=1002,gid=1002,umask=002 -fstype=vfat,uid=1002,gid=1002,umask=002 -fstype=vfat,uid=1002,gid=1002,umask=002 -fstype=vfat,uid=1002,gid=1002,umask=002 -fstype=vfat,uid=1002,gid=1002,umask=002 :/dev/sda1 :/dev/sdb1 :/dev/sdc1 :/dev/sdd1 :/dev/sde1 :/dev/sdf1

Crear la carpeta/mrt/usb mkdir /mnt/usb Eliminar el montaje de /etc/fstab: /dev/sda1 Reiniciar autofs /etc/init.d/autofs restart Comprobar que se montan los dispositivos en: ll /mnt/usb/ /usb vfat rw,users,sync,exec,user,noauto 0 0

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 camara. 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

˜ Anadir 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 ejecucion: chmod +x /etc/hotplug/usb/usb-storage

102.7.5.

Formatear la camara

mkfs.vfat /dev/sdb1

102.8.

Bibliograf´a ı

´ 1. Montando una Camara Digital en Linux http://www.tuxteno.com/contents.php?cid=564 ´ 2. Camara 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. Camaras 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.

´ Introduccion

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. 430/449

Por Paco Aldarias

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. ´ Introduccion

´ Tambien 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 contrasena.

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 ´ tendra 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 obtendras 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 contrasena 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 esta!

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.
Cuidado 1

A tener en cuenta

´ ´ ˜ esta conexion puede caerse as´ que no estaria mal escribir un pequeno scrip en la maquina de ı ´ la empresa para que compruebe daca 10 minutos si la conexion 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 inmediato. ´ ´ Si alguien conigue entrar en tu maquina, tendra aceso tambien 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 contrasena http://www.galpon.org/modules/weblog/details.php?blog id=40

Por Paco Aldarias

435/449

Linux

Cap´tulo 105 ı

´ Conectar movil Sony Ericson Z520i con bluetooh al pc
105.1. ´ Introduccion

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.
CONTACT

Mi bluetooth

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.
Mi kernel: uname -a

El Kernel

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.
Fichero:

Drivers

http://coffelius.bloggear.net/archivos/2005/09/24/instalar-dispositivos-bluetooth-que-no-los-reco

/usr/src/linux/drivers/bluetooth/hci_usb.c ˜ Anadir: /* 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.
lsusb

El adaptador bluetooth

Adapatador Bluetooth para puerto usb 1.1 class2 Contact

Bus 003 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)

105.6.

Modulos cargadosModulos cargados
17416 54532 23428 2 7 hci_usb,rfcomm,l2cap 0

lsmod | grep hci hci_usb bluetooth ohci_hcd

105.7.

El log

cat /var/log/kern.log Dec Dec Dec Dec Dec Dec Dec Dec Dec Dec Dec Dec Dec 18 18 18 18 18 18 18 18 18 18 18 18 18 14:29:59 14:29:59 14:30:18 14:30:19 14:30:30 14:30:30 14:30:30 14:30:30 14:30:30 14:30:30 14:30:30 14:30:30 14:30:30 aldarias aldarias aldarias aldarias aldarias aldarias aldarias aldarias aldarias aldarias aldarias aldarias aldarias kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: Bluetooth: HCI device and connection manager initialized Bluetooth: HCI socket layer initialized ohci_hcd 0000:00:02.1: wakeup usb 3-1: new full speed USB device using ohci_hcd and address 2 kobject_register failed for uhci_hcd (-17) [<c0230d3b>] kobject_register+0x6b/0x80 [<c01400c2>] mod_sysfs_setup+0x62/0xd0 [<c01416c8>] load_module+0xaf8/0xcd0 [<c0141943>] sys_init_module+0x73/0x240 [<c01034d1>] syscall_call+0x7/0xb kobject_register failed for ehci_hcd (-17) [<c0230d3b>] kobject_register+0x6b/0x80 [<c01400c2>] mod_sysfs_setup+0x62/0xd0 437/449

Por Paco Aldarias

Linux Dec Dec Dec Dec Dec Dec Dec Dec Dec Dec Dec Dec Dec Dec Dec 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 14:30:30 14:30:30 14:30:30 14:38:48 14:38:48 14:38:48 14:38:48 14:38:48 14:38:48 14:38:48 14:38:48 14:38:48 14:38:48 14:38:48 14:38:48 aldarias aldarias aldarias aldarias aldarias aldarias aldarias aldarias aldarias aldarias aldarias aldarias aldarias aldarias aldarias kernel: [<c01416c8>] load_module+0xaf8/0xcd0 kernel: [<c0141943>] sys_init_module+0x73/0x240 kernel: [<c01034d1>] syscall_call+0x7/0xb kernel: kobject_register failed for uhci_hcd (-17) kernel: [<c0230d3b>] kobject_register+0x6b/0x80 kernel: [<c01400c2>] mod_sysfs_setup+0x62/0xd0 kernel: [<c01416c8>] load_module+0xaf8/0xcd0 kernel: [<c0141943>] sys_init_module+0x73/0x240 kernel: [<c01034d1>] syscall_call+0x7/0xb kernel: kobject_register failed for ehci_hcd (-17) kernel: [<c0230d3b>] kobject_register+0x6b/0x80 kernel: [<c01400c2>] mod_sysfs_setup+0x62/0xd0 kernel: [<c01416c8>] load_module+0xaf8/0xcd0 kernel: [<c0141943>] sys_init_module+0x73/0x240 kernel: [<c01034d1>] syscall_call+0x7/0xb

105.8.
hcitool scan

Escaneando

listado de los dispositivos y su direccion

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.

´ Configuracion

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.
hcitool scan

obexftp

Scanning ... 00:16:20:45:95:32 Listado:

Z520i

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~¡genes"/> A <folder name="Sonidos"/> <folder name="Temas"/> <folder name="V~deos"/> A <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 a

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 ´ ´ Como conectar un movil 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 ´ ´ Como conectar el movil 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. ´ Introduccion

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 veras que sigue ejecutandose.

106.2.

´ Instalacion

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 ejecuandose. 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 aplicacion screen http://linuca.org/body.phtml?nIdNoticia=248

Por Paco Aldarias

443/449

Linux

´ndice de cuadros I
2.1. Particiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.1.Reprodutores de video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.2.Lectores de pdf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 70 71

29.1.Usuarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

Por Paco Aldarias

444/449

Linux

´ndice de figuras I
1.1. Mascota de linux: Tux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Logotipo Linux Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1. Konqueror . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1. Disquetera. Menu contextual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1. Esquema de directorios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.1.Buscar archivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.1.Imagen de scribus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.2.xrmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.3.Imagen de kexchange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.4.kalzium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.5.Imagen de scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1.Wordtrans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2.i2e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.1.Amsn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4 25 27 31 41 61 62 70 74 75 77 78 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 alfabetico ´ I
p2p, 86 amavis-stats, 204 amsn, 79 apache, 120 apt, 105 apt-ftparchive, 108 apt-move, 116 ark, 271 arp, 267 audio, 103 audio streaming, 339 avi, 373 awstats, 382 badbloks, 155 base64, 333 biblioteca, 60 bins, 64 bittorrent, 356 bloquear escaneos, 348 bun2, 270 ´ camara de fotos, 420 Cambio de moneda, 69 cd, 30 cdrdao, 253 chgrp, 45 chmod, 45, 47 chown, 46 consolas virutales, 442 courier-imap, 211 cups, 255 kde, 256 cursor, 99 date, 342 ddclient, 276 diccionario, 76 ´ ingles, 76 ˜ diccionario espanol, 54 digikam, 421 directorios, 30 ´ disquete de instalacion, 19 Por Paco Aldarias distribuciones, 3 dominio gratuito, 276 dpkg, 113 dslqosqueue, 317 encendidos, 366 escuchar la radio, 81 ext3, 154 fdisk, 7 fetchmail, 188 find, 40 flash, 84 foro, 337 fprot, 204 frozen-bubble, 64 ftp, 122, 125 gallery, 64 gforce4, 359 gnucash, 63 gotmail, 92 gphoto2, 423 grabadora, 248 grep, 40 gtkam, 421 gtktalog, 65 Guardian del sistema, 50 gz, 273 hdparm, 249 hora, 98, 342 htdig, 335 hwclock, 342 i2c, 405 icecast, 83, 339 ie2, 76 ifconfig, 261 igal, 63 instalar linux, 10, 19 iptables, 317 iptotal, 200 k3b, 252 447/449

Linux kde copiar ficheros, 26 icono cdrom, 26 icono disquetera, 26 ´ kde instalacion, 12 kdreatecd, 253 kernel, 10 kfloppy, 62 kill, 50 knoppix, 16 konqueror, 23 navegacion mejorada, 54 kooka, 389 korn, 217 ksync, 160 kudzu, 104 kworld, 61 lapiz usb, 397 linux, 2 lmsensors, 405 ln, 48 ls, 30, 43 ltsp, 279 lynx, 310 magicpoint, 62 mail, 332 mangle, 317 mencoder, 373 mkdir, 30 mkisofs, 252 mldonkey, 86 motion, 180 mp, 321, 333 mp3cult, 65 mpeg, 373 mplayer, 81 mrproyect, 63 mrtg, 193 mrtg , procesos201, indexmaker202 mysql, 283, 366 mysql openoffice, 371 mysql-navegator, 296 Navegador web opera, 94 NFS, 137 nimba, 345 nmap, 267, 366 nohup, 321 notas, 60 nslookup, 267 ntp, 342 nvidia, 359 odbc, 371 opera, 94 Por Paco Aldarias p2p, 356 partition image, 63 pel´culas, 373 ı pen drive, 397 pgaccess, 386 php, 283 phpbb, 337 pkill, 51 portal, 368 portsentry, 348 postfix, 212 postnuke, 368 proftp, 122 ps, 50 pstree, 51 radio por internet, 339 rae, 54 realplayer, 83 rescue, 19 rm, 30 rmdir, 30 route, 262 rsync, 159 samba, 132 sane, 389 scaner, 389 screen, 442 scribus, 60 sensors, 405 servidor ftp, 122 servidor hdcp, 263 SNMP, 193 sonido, 99 squid, 191 squid con colas, 312 squirrelmail, 214 ssh, 297 ssh-keygen, 297 sudo, 166 synaptic, 113 system image, 274 tar, 270, 272 tar.bz2, 272 tar.gz, 272 tarjeta de red, 260 tarjeta grafica, 359 tarjeta red isa, 262 tasksel, 113 teclado, 97 tgz, 271 transcode, 373 tree, 321 umask, 48 usb bar, 397 448/449

Linux uuencode, 332 ´ web dinamicas, 283 webcam, 171, 177 wget, 309 wordtrans, 76 xhost, 269 xmms, 83 xrmap, 60, 61 xsane, 389 zip, 272

Por Paco Aldarias

449/449

Sign up to vote on this title
UsefulNot useful