Documente Academic
Documente Profesional
Documente Cultură
1.-Introduccin.............................................................................................................................................................. 6 2.-Terminales virtuales.................................................................................................................................................. 6 3.-Configuracin X........................................................................................................................................................ 6 3.1.-Archivos........................................................................................................................................................... 6 3.2.-Gestor de ventanas/aplicaciones........................................................................................................................ 7 3.3.-Arranque de aplicaciones con las X.................................................................................................................. 8 3.4.-Arranque de las X sin que pida clave ............................................................................................................... 8 3.5.-Salvapantallas / pantalla en negro...................................................................................................................... 8 3.6.-Servidor X en Windows.................................................................................................................................... 8 3.7.-Matar el servidor X........................................................................................................................................... 8 3.8.-Cambio de resolucin X.................................................................................................................................... 8 3.9.-Activar/mapear una tecla en X.......................................................................................................................... 9 3.10.-Captura de pantallas........................................................................................................................................ 9 3.10.1.-ksnapshot................................................................................................................................................ 9 3.10.2.-ImageMagick.......................................................................................................................................... 9 3.11.-Visores de imagen......................................................................................................................................... 10 3.11.1.-gthumb.................................................................................................................................................. 10 3.11.2.-xv.......................................................................................................................................................... 10 3.11.3.-Kuickshow............................................................................................................................................ 10 3.12.-Fuentes en X: XFT........................................................................................................................................ 10 3.13.-Configuracin de varios gestores de ventanas............................................................................................... 10 3.13.1.-Configuracin de KDE......................................................................................................................... 10 3.13.2.-Configuracin bsica de AfterStep....................................................................................................... 11 3.13.3.-Configuracin de icewm....................................................................................................................... 11 3.14.-xhost; arrancar aplicaciones grficas desde root........................................................................................... 12 4.-Gestores de arranque............................................................................................................................................... 13 4.1.-Parmetros del ncleo en el arranque............................................................................................................. 13 4.2.-LILO............................................................................................................................................................... 13 4.3.-GRUB............................................................................................................................................................. 14 4.3.1.-Recuperacin de GRUB......................................................................................................................... 15 5.-Gestin de usuarios................................................................................................................................................. 16 5.1.-Creacin de usuarios con pasword.................................................................................................................. 16 5.2.-Su sin pasword................................................................................................................................................ 16 6.-Gestin de paquetes................................................................................................................................................. 17 6.1.-RPM................................................................................................................................................................ 17 6.1.1.-Ultimos paquetes instalados................................................................................................................... 17 6.1.2.-Descripcin de paquetes RPM................................................................................................................ 17 6.1.3.-Nombre completo de paquetes RPM de 64 bits...................................................................................... 17 6.2.-APT-GET / DPKG / SYNAPTIC.................................................................................................................... 17 6.2.1.-Instalacin de acrordr............................................................................................................................. 18 6.2.2.-Aadir repositorio de software a Ubuntu............................................................................................... 18 6.3.-YUM............................................................................................................................................................... 18 6.3.1.-Aadir el cdrom como repositorio.......................................................................................................... 18 6.3.2.-Evitar actualizacin de un rpm concreto................................................................................................. 18 6.3.3.-Instalar grupo de paquetes...................................................................................................................... 18 6.3.4.-Crear repositorio adicional..................................................................................................................... 18 6.4.-Para saber a qu disco corresponde un /dev.................................................................................................... 19 6.5.-Para aadir discos como dispositivos raw....................................................................................................... 19 6.6.-Espacio libre en discos.................................................................................................................................... 19 6.7.-Borrado de la tabla de particiones de un disco ............................................................................................... 19 6.8.-Ext3 y optimizacin del acceso....................................................................................................................... 19 6.9.-Lectura de la tabla de particiones de un disco................................................................................................. 20 6.10.-Instalacin de Linux: configuracin del almacenamiento..............................................................................20 6.11.-Discos........................................................................................................................................................... 20 6.12.-Conceptos...................................................................................................................................................... 20 6.13.-Manejo de particiones................................................................................................................................... 21 6.13.1.-Creacin y borrado de particiones........................................................................................................ 21 6.13.2.-Creacin de una particin de intercambio (Swapping).........................................................................21 6.13.3.-Creacin de un sistema de archivos...................................................................................................... 22 6.13.4.-Modificacin de una particin o sistema de archivos...........................................................................22 6.13.5.-PARTED.............................................................................................................................................. 22 25/09/02 1
6.13.6.-MONTAJE DE SISTEMAS DE ARCHIVOS...................................................................................... 23 6.13.7.-Montaje de un sistema de archivos FAT para compartir entre sistemas y usuarios ..............................23 6.13.8.-Montaje de sistema de archivos NFS.................................................................................................... 24 6.14.-LVM............................................................................................................................................................. 25 6.14.1.-Activar el flag de clster...................................................................................................................... 26 6.14.2.-Recuperar un PV cuya cabecera est corrupta...................................................................................... 26 6.14.3.-Errores en el VG................................................................................................................................... 27 6.15.-Extender un sistema de archivos................................................................................................................... 27 6.15.1.-Ejemplo:............................................................................................................................................... 27 6.15.2.-Reducir sistema de archivos................................................................................................................. 28 6.16.-Mover un disco fuera de un Volume Group.................................................................................................. 28 6.17.-Liberar discos de un VG............................................................................................................................... 28 6.18.-Montaje de discos USB................................................................................................................................. 29 6.19.-Raid software................................................................................................................................................ 29 6.20.-Etiquetar un sistema de archivos................................................................................................................... 30 6.21.-9. Controlling the SCSI Command Timer and Device Status: timeout SCSI................................................31 7.-SAN......................................................................................................................................................................... 31 7.1.-Drivers multipath en Aix/Linux...................................................................................................................... 31 7.2.-Tarjetas HBA.................................................................................................................................................. 32 7.3.-Informacin de HBAs..................................................................................................................................... 32 7.3.1.-Tipo de tarjeta......................................................................................................................................... 32 7.3.2.-Nivel de firmware................................................................................................................................... 32 7.3.3.-Estado..................................................................................................................................................... 32 7.4.-Caractersticas de un dispositivo SCSI........................................................................................................... 32 7.5.-Nmero mximo de LUN,s............................................................................................................................. 32 7.6.-Escaneo de la SAN.......................................................................................................................................... 33 7.7.-Asignacin de discos de fibra......................................................................................................................... 33 8.-Multipath de SAN................................................................................................................................................... 33 8.1.-Rootvg en multipath........................................................................................................................................ 33 8.2.-Multipath con Device Mapper/1...................................................................................................................... 34 8.2.1.-Comandos............................................................................................................................................... 35 8.2.2.-Archivo multipath.conf para acceso simultneo a SAS, DS4000 y DS8000...........................................35 8.3.-Multipath con device mapper/2....................................................................................................................... 36 8.4.-Filtrado de LVM para device mapper............................................................................................................. 40 9.-Procedimeento de recuperacin ante desastres........................................................................................................ 40 9.1.-Arranque en monousuario............................................................................................................................... 40 9.1.1.-LILO....................................................................................................................................................... 40 9.1.2.- GRUB.................................................................................................................................................... 40 9.2.-Si el sistema no arranca por corrupcin del raz.............................................................................................. 40 9.3.-Drivers de arranque en initrd.......................................................................................................................... 41 9.4.-BACKUP Y RECUPERACIN..................................................................................................................... 42 9.5.-CREAR DISQUETE DE ARRANQUE....................................................................................................... 42 9.6.-CMO RETOCAR UN RAMDISK (initrd)................................................................................................... 42 9.6.1.-Mtodo antiguo....................................................................................................................................... 42 9.6.2.-Mtodo nuevo......................................................................................................................................... 43 10.-COMUNICACIONES TCPIP................................................................................................................................ 44 10.1.-IP,s presentes en una red............................................................................................................................... 44 10.2.-Desactivar IP V6........................................................................................................................................... 44 10.3.-NMAP........................................................................................................................................................... 45 10.4.-Configuracin de Telnet................................................................................................................................ 45 10.5.-Orden de bsqueda de direcciones IP........................................................................................................... 45 10.6.-MTU.............................................................................................................................................................. 45 10.7.-Configuracin ethernet.................................................................................................................................. 45 10.7.1.-Caso 1................................................................................................................................................... 45 10.7.2.-Caso 2................................................................................................................................................... 46 10.8.-Aadir un alias a una ethernet....................................................................................................................... 46 10.9.-Crear un bond ethernet.................................................................................................................................. 47 10.9.1.-RedHat.................................................................................................................................................. 47 10.9.2.-Otro ejemplo con RedHat..................................................................................................................... 48 10.9.3.-zSLES................................................................................................................................................... 48 10.10.-VLAN tagging por un ethenet..................................................................................................................... 49 10.11.-Forzar la velocidad de conexin de una ethernet........................................................................................ 50 10.12.-Ver si una Ethernet tiene enlace................................................................................................................. 50 25/09/02 2
10.13.-DHCP.......................................................................................................................................................... 50 10.14.-Puertos y aplicaciones................................................................................................................................. 50 10.15.-Netstat; problema de sockets contra loopback............................................................................................ 51 10.16.-INETD........................................................................................................................................................ 51 10.17.-FTP servidor............................................................................................................................................... 51 10.18.-SOCKS....................................................................................................................................................... 52 10.18.1.-Socks de IBM..................................................................................................................................... 53 10.19.-WGET......................................................................................................................................................... 54 10.20.-Winmdem del porttil T23........................................................................................................................ 54 10.21.-Rutas........................................................................................................................................................... 54 10.21.1.-Tcpdump para ver trfico de rutas...................................................................................................... 55 10.21.2.-Si no se conecta.................................................................................................................................. 55 10.22.-Ejecutar script al activar dispositivo........................................................................................................... 55 10.23.-IPCALC y /24............................................................................................................................................. 55 10.24.-Firewall iptables.......................................................................................................................................... 56 10.25.-Rendimiento de la red................................................................................................................................. 56 11.-IMPRESORAS...................................................................................................................................................... 56 11.1.-Impresora por defecto................................................................................................................................... 56 11.2.-CUPS............................................................................................................................................................ 57 11.3.-Utilizacin de impresoras samba desde windows......................................................................................... 57 11.4.-Printing text in CUPS with no modification. Substitution of printer by backend program. .........................57 11.5.-lpadmin......................................................................................................................................................... 59 11.6.-Impresora no disponible................................................................................................................................ 60 12.-CONFIGURACIN DE LINUX........................................................................................................................... 60 12.1.-Versin del sistema / ncleo......................................................................................................................... 60 12.2.-Lenguaje local............................................................................................................................................... 60 12.3.-Arranque de Linux SuSE: SuSEConfig......................................................................................................... 60 12.4.-ARRANQUE CON MENSAJES MNIMOS................................................................................................ 61 12.5.-Cambio del mensaje de arranque de SuSE.................................................................................................... 61 12.6.- Cambio de pantalla inicial de arranque de SuSE 8.2.................................................................................... 61 12.7.-Mensajes del sistema..................................................................................................................................... 62 12.8.-YAST2.......................................................................................................................................................... 62 12.9.-RAM............................................................................................................................................................. 62 12.9.1.-Informacin de RAM............................................................................................................................ 62 12.9.2.-Si el ncleo no reconoce toda la RAM instalada.................................................................................. 62 12.10.-PROFILES.................................................................................................................................................. 62 12.11.-Colorear la consola...................................................................................................................................... 66 12.12.-Limitaciones de la shell de usuario (ulimit)................................................................................................ 66 12.13.-ARRANQUE Y PARADA DE APLICACIONES EN EL ARRANQUE DEL SERVIDOR .....................66 12.13.1.-Cambios en la versin SuSE 8.1......................................................................................................... 67 12.14.-PARAR SISTEMA..................................................................................................................................... 67 12.15.-CAMBIO DEL NOMBRE DEL SISTEMA................................................................................................ 67 12.16.-CONFIGURACION.................................................................................................................................... 68 12.17.-Puertos serie................................................................................................................................................ 68 12.18.-CONFIGURACIN DE DISCO DURO..................................................................................................... 68 12.19.-Ncleo......................................................................................................................................................... 69 12.19.1.-Cmo conocer lmites del sistema ..................................................................................................... 69 12.19.2.-Versiones de Linux............................................................................................................................. 69 12.19.3.-Threads utilizados............................................................................................................................... 69 12.19.4.-Parmetros del kernel......................................................................................................................... 69 12.19.5.-Compilacin del kernel....................................................................................................................... 70 12.19.6.-Mdulos.............................................................................................................................................. 71 12.20.-WEBMIN.................................................................................................................................................... 71 12.21.-CRON......................................................................................................................................................... 71 12.22.-Arranque lento de SendMail....................................................................................................................... 71 13.-Actualizacin del sistema...................................................................................................................................... 72 14.-Aplicaciones multimedia....................................................................................................................................... 72 14.1.-Sonido........................................................................................................................................................... 72 14.2.-Vdeo............................................................................................................................................................ 72 15.-Procesos................................................................................................................................................................ 72 15.1.-PS con path completo................................................................................................................................... 72 15.2.-Pausar / enviar a background un proceso ..................................................................................................... 72 15.3.-A qu usuario pertenece un proceso ............................................................................................................ 72 25/09/02 3
15.4.-Qu proceso est utilizando un sistema de archivos..................................................................................... 73 15.5.-Strace, trazas de un programa....................................................................................................................... 73 15.6.-ldd, libreras de un proceso........................................................................................................................... 73 15.7.-Contabilidad de procesos.............................................................................................................................. 73 16.-Trucos y aplicaciones varios.................................................................................................................................. 73 16.1.-Quitar sugerencia bash de instalar paquete si tecleo mal..............................................................................73 16.2.-Pasar de pdf a texto....................................................................................................................................... 74 16.3.-Copiar el sector de arranque del disco.......................................................................................................... 74 16.4.-Localizacin de dispositivos CDROM.......................................................................................................... 74 16.5.-Crear una imagen iso a partir de archivos..................................................................................................... 74 16.6.-Crear un CD a partir de una .iso.................................................................................................................... 74 16.7.-Crear pipes.................................................................................................................................................... 74 16.8.-El salvapantallas no reconoce clave de acceso.............................................................................................. 74 16.9.-Montar CDROM........................................................................................................................................... 74 16.10.-Copiar un CD a imagen ISO........................................................................................................................ 75 16.11.-Limpiar terminal......................................................................................................................................... 75 16.12.-Formateo de disquete DOS......................................................................................................................... 75 16.13.-Formateo de disquete para Linux................................................................................................................ 75 16.14.-Ejecucin de comandos recientes............................................................................................................... 75 16.15.-Dialog, xmessage, qmsg............................................................................................................................. 75 16.16.-Paso de iconos de Windows (.ico) a Linux (.png)....................................................................................... 76 16.17.-Rungetty..................................................................................................................................................... 76 16.18.- Cambiar la clave del Gnome KeyRing....................................................................................................... 76 16.19.-Primer da de la semana en gnome.............................................................................................................. 76 16.20.-Grabar CD,s en RHEL 6.............................................................................................................................. 76 16.21.-System rescue CD....................................................................................................................................... 76 17.-Para configurar Notes entre Linux y Windows..................................................................................................... 76 18.-Compilacin en Linux........................................................................................................................................... 77 18.1.-Compilacin del ncleo................................................................................................................................. 77 18.1.1.-Obtencin del ncleo............................................................................................................................ 78 18.1.2.-Compilacin del ncleo........................................................................................................................ 78 18.1.3.-Instalacin del ncleo........................................................................................................................... 78 18.2.-Compilacin de paquetes fuente (src.rpm).................................................................................................... 79 18.3.-Compilacin de fuentes normales................................................................................................................. 79 18.4.-Modificacin de paquetes............................................................................................................................. 79 18.5.-Programas de usuario.................................................................................................................................... 80 18.6.-LDCONFIG................................................................................................................................................... 80 19.-SCRIPTS y utilidades............................................................................................................................................ 80 19.1.-If.................................................................................................................................................................... 80 19.2.-FTP automtico............................................................................................................................................. 81 19.3.-Expect........................................................................................................................................................... 81 19.4.-Cmo modificar un archivo de texto............................................................................................................. 81 19.5.-Modificar archivo de texto si hay texto........................................................................................................ 83 19.6.-Find............................................................................................................................................................... 83 19.7.-Locate............................................................................................................................................................ 83 19.8.-Script de paso de maysculas a minsculas de rbol de archivos.................................................................83 19.9.-Separar directorio y fichero en un script ...................................................................................................... 84 19.10.-Quitar la extensin al nombre del fichero................................................................................................... 84 19.11.- Borrar caracteres de retorno de carro al final de un archivo......................................................................84 19.12.-Traces de un script...................................................................................................................................... 85 19.13.-Resultado de un comando........................................................................................................................... 85 19.14.-Operaciones aritmticas.............................................................................................................................. 85 19.15.-For............................................................................................................................................................... 85 19.16.-While........................................................................................................................................................... 86 19.17.-Menes........................................................................................................................................................ 86 19.18.-Toma de parmetros.................................................................................................................................... 86 19.19.-Listado de hexadecimales........................................................................................................................... 87 20.-Creacin de RPMs................................................................................................................................................. 87 21.-Activar JAVA en Firefox...................................................................................................................................... 88 22.-OpenOffice............................................................................................................................................................ 89 22.1.-Plantilla......................................................................................................................................................... 89 22.2.-Creacin de grficos en un fichero de texto.................................................................................................. 89 23.-Control remoto de estaciones................................................................................................................................ 89 25/09/02 4
24.-Alta disponibilidad................................................................................................................................................ 89 25.-Seguridad............................................................................................................................................................... 89 25.1.-Encriptacin de claves.................................................................................................................................. 89 26.-SSH........................................................................................................................................................................ 90 26.1.-Habilitar acceso ssh de root........................................................................................................................... 90 26.2.-Retardo en login............................................................................................................................................ 90 26.3.-Login ............................................................................................................................................................ 90 26.4.-Copiar un archivo.......................................................................................................................................... 90 26.5.-Copiar directorios tar ................................................................................................................................ 90 26.6.-Ejecutar un comando..................................................................................................................................... 91 26.7.-Conexin rechazada...................................................................................................................................... 91 26.8.-Entrar a un conjunto de servidores sin que pida clave.................................................................................. 91 27.-SFTP...................................................................................................................................................................... 92 28.-RSYNC.................................................................................................................................................................. 92 29.-SAMBA................................................................................................................................................................. 92 29.1.-Configuracin del servidor............................................................................................................................ 92 29.2.-Configuracin del cliente.............................................................................................................................. 92 30.-XINETD................................................................................................................................................................ 93 31.-Nombres de producto............................................................................................................................................ 93 32.-hyperthreading....................................................................................................................................................... 93 33.-Unidades de cinta SCSI......................................................................................................................................... 93 33.1.-Ultrium ......................................................................................................................................................... 93 34.-CDRECORD......................................................................................................................................................... 94 35.-Paso de CD,s a MP3.............................................................................................................................................. 95 36.-Emulador de terminal por puerto serie: minicom.................................................................................................. 95 37.-FTP cliente............................................................................................................................................................ 95 38.-Instalacin en modo texto...................................................................................................................................... 95 39.-Balanceo de carga entre dos linux......................................................................................................................... 95 40.-CP.......................................................................................................................................................................... 95 41.-Captura de pantallas en tiempo de instalacin....................................................................................................... 96 42.-SMTP..................................................................................................................................................................... 96 43.-Usuario no root con permisos de root.................................................................................................................... 96 44.-VI.......................................................................................................................................................................... 96 44.1.-Sustitucin de cadenas.................................................................................................................................. 96 45.-Rendimiento.......................................................................................................................................................... 96 45.1.-Top, vmstat, free........................................................................................................................................... 96 45.2.-Sysstat........................................................................................................................................................... 96 45.3.-Nmon............................................................................................................................................................ 96 45.4.-Nagios........................................................................................................................................................... 96 45.5.-RRDTool....................................................................................................................................................... 97 45.6.-Otras.............................................................................................................................................................. 97 46.-Dimensionamiento de servidores........................................................................................................................... 97 47.-Problemas de arranque con el USB....................................................................................................................... 97 48.-Instalacin automatizada........................................................................................................................................ 97 48.1.-RHEL 4......................................................................................................................................................... 97 48.2.-SLES 10 SP1................................................................................................................................................. 98 49.-Instalacin automatizada por PXE: xcat................................................................................................................ 98 50.-Instalacin con disquete de drivers....................................................................................................................... 98 51.-Bios del sistema..................................................................................................................................................... 99 52.-Sysreport, recoger informacin del sistema (RH)................................................................................................. 99 53.-Hexadecimal.......................................................................................................................................................... 99 54.-Cambios de filtro LVM......................................................................................................................................... 99 54.1.-Filtro LVM para discos powerpath............................................................................................................. 100 55.-Configuracin del porttil para acceso va eSNI.................................................................................................. 100 55.1.-Ubuntu........................................................................................................................................................ 101 55.2.-Windows XP............................................................................................................................................... 101 55.3.-Acceso va mdem USB............................................................................................................................. 101 55.3.1.-Desde Windows XP........................................................................................................................... 101 55.3.2.-Desde Ubuntu..................................................................................................................................... 102 56.-Ubuntu................................................................................................................................................................. 104 56.1.-/etc/network/interfaces de un plumazo....................................................................................................... 104 56.2.-Servicios en Ubuntu.................................................................................................................................... 106 56.3.-Nivel de ejecucin....................................................................................................................................... 106 25/09/02 5
56.4.-Plugin Java.................................................................................................................................................. 106 56.5.-Paquetes...................................................................................................................................................... 106 56.6.-Instalacin de Java...................................................................................................................................... 106 56.7.-Fuentes M$.................................................................................................................................................. 107
1.-Introduccin
Este es un documento de apuntes de Linux en su versin Suse con algunas ideas de RedHat. Aado Ubuntu (versin basada en Debian) a partir de julio del 2008. Est creado por acumulacin de experiencias. Muchas de ellas estn obsoletas y otras necesitan ser desarrolladas para una mejor comprensin. En todo caso, los apartados de este documento pueden utilizarse como gua donde comenzar a resolver un problema. La resolucin concreta depender de cada uno. Se recomienda prudencia al seguir los consejos dados en este documento, especialmente en lo que se refiere al manejo del espacio en disco y, en caso de duda, desechar siempre la sugerencia.
2.-Terminales virtuales
En Linux, por defecto, se crean al arrancar siete terminales virtuales: una grfica y seis de texto. Se puede pasar de una a otra y tener arrancados programas distintos en cada una de ellas simultneamente. ALT-F1, ALT-F2, ... ALT-F6 : Terminales texto. ALT-F7 : Terminal X. Para cambiar de terminal desde la pantalla grfica: CTRL-ALT-F1. Las consolas virtuales arrancan desde /etc/inittab con las lneas: 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 etc. Al comentar una de ellas no se abrir la terminal virtual correspondiente; as se economizan recursos. chvt n cambia de la terminal virtual en la que estoy a la n.
3.-Configuracin X
El archivo de configuracin se llama: /etc/X11/xorg.conf editres --> Se arranca en segundo plano. Devuelve los recursos utilizados por una ventana Linux; se puede utilizar para hacer entradas en ~/.Xdefaults. xset q Devuelve la configuracin de las X.
3.1.-Archivos
/etc/X11/xorg.conf /etc/sysconfig/desktop /usr/sbin/gdm /etc/inittab Configuracin de las X DESKTOP="GNOME" Arranca el gestor de display - login El displaymanager arranca dese aqu. La entrada initdefault=5 provoca el arranque con el sistema del entorno grfico + 6
25/09/02
displaymanager. /etc/X11/xinit /etc/X11/xinit/xinitrc.d/ Configuracin de arranque de aplicaciones con X Contiene los scripts que se ejecutan al arrancarse las X
3.2.-Gestor de ventanas/aplicaciones
Para un completo funcionamiento del entorno grfico se arranca lo siguiente: Servidor X --> Controla la comunicacin con el hardware grfico. Gestor de display --> xdm, kdm, gdm. Gestor de aplicaciones/sesiones. Gestor de ventanas (windowmaker, fvwm2, etc). Libreras de aplicacin (qt): cut, paste, incrustacin objetos (OLE, etc). Para seleccionar el gestor de ventanas: RedHat: switchdesk ej: switchdesk KDE SuSE: yast2 o bien .xinitrc o bien $WINDOWMANAGER=/usr/X11R6/bin/kde $WINDOWMANAGER=/usr/X11R6/bin/gnome $WINDOWMANAGER=/usr/X11R6/bin/fvwm etc. o bien $HOME/.wmrc Se puede arrancar X sin un gestor de ventanas dando a la variable $WINDOWMANAGER el valor de una aplicacin X cualquiera. Por ejemplo, xterm. Se arracar el servidor X con una xterm abierta desde la cual arrancar, por ejemplo, Netscape. Eso s, la falta de gestor de ventanas har que la ventana de Netscape quede fija. Otra forma de verlo: Se edita /etc/init.d/xdm. Este es el script que arranca el display manager. Se ve en l que se llama inicialmente a: /etc/sysconfig/displaymanager para que coja variables de entorno. Se edita este archivo y se cambia el valor de la variable DISPLAYMANAGER al que queramos: DISPLAYMANAGER=kdm (puede ser: xdm, gdm, kdm, etc). Se v el WindowManager en: /etc/sysconfig/windowmanager Se activan los cambios ejecutando SuSEconfig.
25/09/02
3.6.-Servidor X en Windows
CYGWIN+XFREE86: es un servidor X en forma de DLL que se instala en Windows y permite usar desde windows un entorno X con todo lo que se le instale. No es un Linux pero s incluye numerosas utilidades del mismo.
3.7.-Matar el servidor X
CTRL-ALT-Backspace
3.8.-Cambio de resolucin X
Ctrl alt + - entre todas las resoluciones configuradas A partir de la versin 4.3 de XFree86: xrandr -q muestra las resoluciones disponibles, numeradas en orden. xrandr -s n cambia a la resolucin seleccionada entre las disponibles. No s si ese cambio es permanente o temporal. Si quiero que el cambio sea permanente debo editar /etc/X11/XF86Config.
25/09/02
3.10.-Captura de pantallas
ksnapshot ImageMagick import
3.10.1.-ksnapshot
Se ejecuta ksnapshot. Queda arrancado como ventana. Seleccionar desde ella tomar nueva imagen y salvar imagen. Lo salva en un directorio/nombrearchivo.png que luego se puede insertar en OpenOffice: insert graphics from file.
3.10.2.-ImageMagick
ImageMagick hace todo tipo de conversiones y captura de pantallas desde la lnea de comandos. Para capturar pantallas: import -window root fichero.jpg Esto guarda la pantalla completa en un archivo. Si slo se quiere una ventana, ejecutar: import fichero.jpg import fichero.jpg como hacer clic en la ventana deseada y ya est. aparece una cruz que permite seleccionar un recuadro de pantalla. Lo que seleccione con ella se grabar fichero.jpg.
Para reducir el tamao de fotos jpg puedo hacer: convert -size 400x300 foto.jpg fotosal.jpg Para hacerlo con todas las fotos de un directorio, crear el siguiente script: 25/09/02 9
clear size="400x300" salida=fotosal if [ -d $salida ] then echo "El directorio existe. Me salgo." exit 0 else echo "Creo el directorio $salida" mkdir $salida fi ls *.jpg|while read foto do if [ -f $foto ] then echo "Transformo: " $foto convert -size $size $foto fotosal/$foto fi done
3.11.-Visores de imagen
Son programas de visin o edicin de imgenes.
3.11.1.-gthumb
Trabaja con jpeg, pnx y otros. Permite redimensionar fotos.
3.11.2.-xv
Visor rpido y sencillo.
3.11.3.-Kuickshow
Visor de fotos. Las muestra adaptadas al tamao de pantalla, sin modificar. Permite cambios sencillos.
3.12.-Fuentes en X: XFT
Es la forma ms nueva y es incompatible con la anterior. En /etc/fonts/fonts.conf se guarda la configuracin en XML. Incluye los paths de fuentes. Para instalar un fuente se copia en uno de los directorios de fuentes (ej: arial.ttf) y se ejecuta, en el directorio, fc-cache. Para ver los fuentes: fc-list. Se puede cambiar los paths pero conviene hacerlo aadiendo las entradas en la configuracin particular del usuario: $HOME/.fonts.conf o en /etc/fonts/local.conf.
Para rehacer la configuracin de un usuario basta con borrar este directorio de un usuario y entrar en las X con ese usuario. Este mtodo es muy til para permitir a root trabajar con KDE guardando las configuraciones. Es decir: permite quitar el fondo rojo de pantalla, cambiar mens, hacer de todo y, en el prximo arranque, conservar esta nueva configuracin. El idioma en KDE se maneja instalando el paquete de idioma nacional de KDE. Se llaman kde3-i18n-es (caso espaol) y configurando despus el KDE desde el control-center para que su idioma sea el espaol (personalizacin - idioma - espaol). kcmshell language KDE. Sin el control center se puede hacer as, desde root: Para cada usuario que vaya a usar las herramientas KDE: mkdir -p $HOME/.kde/share/config --> donde $HOME es el home del usuario, no de root. al vi $HOME/.kde/share/config/kdeglobals --> No existe. Se crea ahora. Normalmente, se crea iniciar kde desde el usuario. [Locale] Language=es. chown -R usuario:users /home/usuario/.kde Arranca la parte del control-centre que configura el locale del
3.13.3.-Configuracin de icewm
Es otro gestor de ventanas, sencillo y ligero. Su configuracin se guarda en /etc/icewm en forma de varios archivos:
menu:
25/09/02
11
Ejemplo:
prog GTerminal xterm gnome-terminal prog ATT agnclient agnclient separator menuprog Gnome folder icewm-menu-gnome2 --list /usr/share/gnome/ separator menu "IBM" folder { prog ATT agnclient /opt/agns/bin/agnclient prog Notes notes ibm-notes8 prog ILC ilc ilc } separator menu "Resto" folder { prog Firefox mozicon firefox prog GTerminal xterm gnome-terminal prog Soffice soffice soffice prog Gimp gimp gimp prog Opera opera opera prog Xine xine xine } separator separator menu "Configs" folder { prog Preferences app gvim /etc/icewm/preferences prog Toolbar app gvim /etc/icewm/toolbar prog Menu app gvim /etc/icewm/menu prog Keys app gvim /etc/icewm/keys prog "Win Options" app gvim /etc/icewm/winoptions separator prog "bashrc" app gvim /home/vicente/.bashrc prog "bash_profile" app gvim /home/vicente/.bash_profile prog "xbindkeys" app gvim /home/vicente/.xbindkeysrc prog "Xclients" app gvim /home/vicente/.Xclients } separator prog "Logout" app killall icewm-session prog "Halt" app halt -p prog "Reboot" app reboot separator
preferences: configuracin de icewm. Ejemplo en: /usr/share/icewm/preferences startup: es un archivo con permisos de ejecucin y contiene una lnea por aplicacin que se quiera arrancar con icewm, aplicacin & toolbar: igual que menu, sin separadores; crea iconos de arranque en el toolbar y otros.
CTRL-Alt-Supr muestra una ventana con varias opciones: bloquear, terminar, cancelar, etc. Imagen del fondo: slo .xpm. Quiz as: DesktopBackgroundImage="imagen". Las aplicaciones que se aaden al men y barra de herramientas necesitan la creacin de un par de iconos; se buscan de su paquete original, se llevan a: /usr/share/icewm/icons y se convierten a los formatos 16x16 y 32x32, acabados en _16x16.xpm y 32x32.xpm. Comandos: cd /usr/share/icewm/icons mv /opt/ibm/lotus/notes/notes.ico . convert notes.ico -resize 16x16 notes_16x16.xpm convert notes.ico -resize 32x32 notes_32x32.xpm
variable display. Si no se utiliza sux se puede aadir las lneas de ms abajo al fichero de profile general. En caso de que las X las arranque un usuario no root, dar autorizacin a cualquier usuario de la mquina local; si es root, se establece la variable DISPLAY para que arranque en el servidor X local sus aplicaciones X. Desde un terminal texto, con teclear "xterm", se abre el terminal grfico: if [ $USER = root ] then export DISPLAY=:0.0 # Para root arranque aplicaciones X en local else xhost +local: >/dev/null 2>&1 fi Cuidado con la variable DISPLAY: establecerla y no arrancar el entorno grfico puede hacer pensar a algn script que las X estn arrancadas. Si es desde SSH, conectar con ssh -X ip ssh -Y ip.
4.-Gestores de arranque
Permiten arrancar Linux desde un disco duro. Tambin permiten arrancar alternativamente otros sistemas operativos instalados en la misma mquina.
4.2.-LILO
/etc/lilo.conf Para Suse 7.3: Se instala sobre el MBR (/dev/hda) y da cinco opciones de arranque: suse normal, suse con problemas, comprobacin de memoria, Linux RedHat y Windows 95. append = "enableapic vga=0x0317" boot = /dev/hda lba32 vga = 791 message = /boot/message menu-scheme = Wg:kw:Wg:Wg read-only prompt timeout = 80 # image = /boot/vmlinuz root = /dev/hda3 label = suse initrd = /boot/initrd # image = /boot/vmlinuz.suse root = /dev/hda3 label = failsafe initrd = /boot/initrd.suse optional
25/09/02
13
# image = /boot/memtest.bin label = memtest86 # other = /dev/hda2 label = RedHat # other = /dev/hd4 label = win map-drive = 0x80 to = 0x81 map-drive = 0x81 to = 0x80 table = /dev/hdc Para que arranque los Linux secundarios (en este caso un RedHat) es necesario que, dentro de sus particiones respectivas, tengan instalado un gestor de arranque. Por ejemplo, para arrancar la redhat aparecer primero el gestor de arranque de Suse (en el MBR) y, una vez seleccionado redhat, aparecer el gestor de arranque de redhat (en /dev/hda2). En ambos casos pueden ser LILO. Esto no es as. Puedo tener una sola particin con un solo gestor de arranque, Grub, que llame a los dems Linux cargando sus ncleos desde /boot de la particin /boot desde el /boot de la particin Linux que controlar a las dems. Si instalo LILO en el MBR del disco duro y quiero, un da, quitarlo de all: Arranco con disco DOS desde A: Ejecuto A:\fdisk /mbr para limpiar el sector de arranque.
4.3.-GRUB
Se instala ejecutando: grub-install /dev/hda. Esto instala grub en el MBR del disco duro hda. Para ello es necesario que haya montado el directorio /dev correctamente, por lo que para recuperacin el procedimiento es ms elaborado. Grub funciona de la siguiente manera: al arrancar busca en /boot/grub/menu.lst. Si lo encuentra permite arrancar los sistemas operativos que en l se detallan. Si no existe se abre una shell para que tecleemos los comandos necesarios. Si queremos abrir la shell, podemos ejecutar: grub desde root. Cuidado al instalar Grub: un error en un comando puede acabar con una particin. Tener siempre en cuenta que, para Grub, la particin 1 es, en realidad, la 0. Por ejemplo, para arrancar Linux, que est en la particin /dev/hda2, se escribe en la shell: root (hd0,1) kernel /boot/vmlinuz root=/dev/hda2 initrd /boot/initrd setup (hd0) boot Si se edita el menu.lst, en el arranque no ser necesario teclear tanto: aparece un men. Ejemplo de menu.lst (explicado luego): # # Archivo de configuracin de GRUB # # By default, boot the first entry. default 0 # Boot automatically after 15 secs. timeout 15 # Fallback to the second entry. # fallback 1 25/09/02 14
# For booting GNU/Linux title Linux SuSE 8.0 root (hd0,1) kernel (hd0,1)/boot/vmlinuz root=/dev/hda2 initrd /boot/initrd # Arranque de Windows2000 title W2K rootnoverify (hd0,0) chainloader +1 Grub numera las particiones y discos a partir de 0. As, /dev/hda1 es, para Grub, (hd0,0) o primer disco y primera particin. Chainloader + 1 indica al grub que el sistema operativo que se va a arrancar tiene su propio gestor de arranque y, por eso, le pasa el control al mismo. Es el caso de todos los Windows. Cuidado: el comando setup instala grub donde le digamos. As, setup (hd0,0) instalar grub en la primera particin del primer disco duro borrando lo que haya ah. Si es la particin de Windows2000, por ejemplo, ya no hay windows2000 sino grub. Setup (hd0) instala grub en el MBR del primer disco duro. Despus, con editar menu.lst, podr arrancar todos los sistemas operativos del disco o discos. Ventajas de Grub sobre Lilo: En caso de no arrancar bien se abre una shell donde hacer cambios. Tras editar menu.lst no hace falta reinstalar grub ( no ejecutar setup (hd0)). Si tenemos varios windows en un sistema se pueden ocultar las dems particiones primarias dejando as que arranque la que se desea. Se pueden arrancar sistemas operativos desde el primer disco u otros con el comando swap (disk).
4.3.1.-Recuperacin de GRUB
la palabra: Se ha daado el grub del sector de arranque: el sistema no es capaz de arrancar. Aparece GRUB por pantalla y no ocurre nada ms. Se recupera siguiendo el procedimiento siguiente:
Arrancar desde un CDrom de Linux con un ncleo 2.6.x. y entrar en modo rescue. Crear una particin para montar la particin root del disco duro. Si no permite crearla en /mnt, montar sobre el mismo /mnt (lo habitual, al ser fs de slo lectura) Montar la particin boot sobre /mnt/boot Montar la particin /dev detectada por el CDrom sobre /mnt/dev con el comando: mount - -bind /dev /mnt/dev Si esta sintaxis no funciona, probar con: mount -o bind /dev /mnt/dev chroot /mnt --> Si dice que no encuentra zsh, export SHELL=/bin/sh y reintento. --> suponiendo que hda sea el disco de arranque
grub-install /dev/hda
Ejemplo: Disco de arranque: Particin Linux: rescate. mount /dev/hda2 /mnt mount - -bind /dev /mnt/dev grub-install /dev/hda 25/09/02 15 hda hda2 / no tengo /boot aparte.
Es posible que necesitemos tambin montar /proc: mount - - bind /proc /mnt/proc Otra forma: boot: root=auto Otra: grub-install --root-directory=/mnt/hd /dev/sda Para simplificar esto se puede bajar el SuperGrubDisk desde la pgina: supergrub.forjamari.linex.org. Se arranca con l y se selecciona que recupere el gestor de arranque y aada las particiones arrancables automticamente.
5.-Gestin de usuarios
Useradd, usermod, userdel.
25/09/02
16
Ahora el usuario vicente puede hacer su usuario2 sin que le pida la password. Cuidado con esto: no funciona bien y hace que se pueda hacer su a root sin clave.
6.-Gestin de paquetes
RPM y apt-get.
6.2.-APT-GET / DPKG / SYNAPTIC Gestores de paquetes en Debian/Ubuntu. Synaptic es el instalador grfico. Si no, por comandos con apt-get para instalar y dpkg para gestionar paquetes instalados.
/etc/apt/sources.list apt-get search / update / install dpkg get-selections dpkg --get-selections|grep -i offi dpkg -L openoffice.org-base-core Veo los paquetes instalados en Debian de origen: dpkg-query -W dpkg-query -L paquete paquetes instalados lista de ficheros de un paquete concreto listar ficheros de un paquete fuentes de instalacin buscar / actualizar / instalar paquetes listar lo instalado
25/09/02
17
6.2.1.-Instalacin de acrordr
Se aade el repositorio Medibuntu.list: sudo wget http://www.medibuntu.org/sources.list.d/hardy.list -O /etc/apt/sources.list.d/medibuntu.list Aade la GPG Key tambin: sudo apt-get update && sudo apt-get install medibuntu-keyring && sudo apt-get update Instala acroread: sudo apt-get install acroread
6.3.-YUM
Instalador de paquetes de RedHat.
createrepo . Esto crea los .xml necesarios en un subdirectorio ./repodata. Ahora se crea el archivo de configuracin necesario para acceder al repositorio desde otro servidor (o este a s mismo): cat /etc/yum.repos.d /Adicionales.repo [Adicionales] name=Paquetes adicionales de Linux baseurl=http://xcat/install/rhels6.1/x86_64/Adicionales enabled=1 gpgcheck=0
Otros dos sistemas operativos. Particin extendida. Discos lgicos: / /.../datos Tipo: ReiserFS. Tipo: ReiserFS, ReiserFS sobre LVM. Contiene datos de aplicaciones. Otros hasta el lmite mximo: 256 discos lgicos. Para instalar / sobre la particin extendida es necesario instalar el LILO sobre el MBR del disco principal ya que una particin lgica no es arrancable desde el MBR normal. Para instalar otros sistemas operativos conviene hacerlo sobre particiones primarias para asegurar que sean arrancables.
6.11.-Discos
IDE/ATA: /dev/sda /dev/hda IBM Xseries (controladora SCSI Adaptec, mdulo aic7xxx). SCSI Bull (controladora DAC960, mdulo DAC960). Cd0: primer controlador SCSI d0: primer disco del controlador. P2: particin 2 del disco.
SCSI/SATA/SAS: /dev/rd/cd0d0p2
6.12.-Conceptos
Los discos se dividen en particiones. Un disco duro de PC puede tener un mximo de cuatro particiones ya sean primarias o lgicas. Cada particin se puede dejar sin formatear o bien se formatea para crear un sistema de archivos. Las aplicaciones acceden a las particiones a travs del sistema operativo. Este accede a las particiones no formateadas en modo carcter y a los sistemas de archivos en modo bloque. Es decir: carcter a carcter o bien bloque a bloque. Las aplicaciones se encargarn de gestionar el formato de las particiones accedidas en modo carcter (raw). Es el caso por ejemplo de particiones gestionadas por DB2 directamente. Los sistemas de archivos se montan sobre cualquier directorio. Las particiones no formateadas no se montan. En Aix una particin no formateada se llama LV (volumen lgico) y una formateada FS (sistema de archivos). Para crear un sistema de archivos primero se crea un lv y luego se formatea. El gestor de discos de Aix se llama LVM (logical volume manager) y se est imponiendo como el estndar para Linux. Ms informacin en: http://www.sistina.com/products_lvm.htm 25/09/02 20
ftp://linux.msede.com/lvm/ Se puede montar Linux sobre un sistema de archivos ext2 o sobre un reiserFS. No se debe montar sobre un LV ya que, para manejar un LV, primero hay que cargar el driver LVM y esto complica las cosas en discos de arranque.
Se edita /etc/fstab para aadir la entrada correspondiente a la particin de swapping y que la tome como tal en cada arranque del servidor. Se aade una lnea similar a esta: /dev/hda2 swap swap defaults 00
La activacin del swapping en el arranque de la mquina se realiza normalmente desde el script: 25/09/02 21
"/etc/rc.d/sysinit.rc" donde se ejecuta "swapon -a -e". Para crear un archivo (en vez de particin) de swap de 1gb: dd if=/dev/zero of=/swapfile bs=1k count=1048576 mkswap /swapfile swapon /swapfile
6.13.5.-PARTED
Cuidado con este comando: mal usado destruye las particiones. Es una aplicacin que permite crear, borrar y redimensionar particiones en un disco duro. Slo si del tipo ext2, ext3, fat, fat32 y swap. Para redimensionar una particin primero se comprueba que hay espacio libre en disco sin 25/09/02 22
asignar a ninguna particin. Despus se ejecuta parted y, dentro de l: resize n min max ej: resize 2 1 200M --> cambia el tamao de la particin 2 de manera que comience en el punto 1 y tenga 200 Mbytes de tamao.
User: indica que la puede montar un usuario distinto de root. Exec: indica que se pueden ejecutar programas desde esta particin. Otras opciones: Umask=002 indica que el usuario que monta y los de su grupo tendrn todos los accesos (rwx) y el resto de usuarios slo lectura y escritura/acceso.
Hay que aadir en /etc/hosts.allow los clientes nfs; si no, dar un error de RPC no registrado en la parte cliente.
25/09/02
24
6.14.-LVM
LVM (logical volume manager) es una capa intermedia entre las particiones y el sistema operativo. Permite unir particiones en un solo espacio de particionamiento (grupo de volumenes) de manera que varios trozos de disco pasen a ser tratado como un solo disco lgico. LVM permite ampliar y reducir un disco lgico (logical volume) en caliente y, si el sistema de archivos montado en l lo permite (caso de ReiserFS), se reduce o amplia tambin el sistema de archivos montado en l. Terminologa: Un disco se divide en particiones fsicas. Si una particin fsica se le da el tipo 8e (lvm) esta puede utilizarse como volumen fsico. Un volumen fsico puede asignarse a un grupo de volmenes, este estar formado por varios volmenes fsicos y su tamao total ser la suma del tamao de todos ellos. En el espacio de un grupo de volumenes se crean los volmenes lgicos del tamao que se desee hasta completar el grupo de volmenes. No se tiene en cuenta en ningn momento el tamao de los volumenes fsicos: si un volumen lgico no cabe en un solo fsico contina en otros fsicos del mismo grupo de volumenes de manera transparente. Un volumen lgico se puede asignar tal cual a una aplicacin (volumen raw) o bien se puede formatear. Se puede cambiar el tamao del volumen lgico y, si se utiliza ReiserFS, se puede cambiar el tamao del sistema de archivos montado sobre l. Resumen de comandos: fdisk como VF pvcreate /dev/hda3 /dev/hdb4 vgcreate datavg /dev/hda3 /dev/hdb4 lvcreate -L 200M -n datalv1 datavg --> Crea las particiones en los discos. Si el tipo es 8e se usan --> Crea los volmenes fsicos --> Crea el grupo de volmenes --> Crea el volumen lgico datalv1
lvcreate -L 200M -i 3 -I4 -n datalv1 datavg lo crea con stripping (-i4 = 4k stripe size, i maysculas) sobre tres PV,s (-i3) < = que el nmero de PV,s del VG vgs lvs pvs --> Estos tres comandos listan los vg, lv y pv del sistema /dev/datavg /dev/datavg/datalv1 Se crea un sistema de archivos sobre un LV con el comando: mkreiserfs /dev/datavg/datalv1 Para aumentar el tamao de un sistema de archivos: lvextend -L+1G /dev/datavg/datalv1 lvextend -l +100%FREE /dev/auxvg/auxlv LV al mximo resize_reiserfs -s+1G -f /dev/datavg/datalv1 vgextend vgreduce Para mostrar informacin: pvscan lvscan vgscan vgdisplay -v datavg 25/09/02 25 --> Aade un PV a un VG --> Saca un PV de un VG --> Se formatea el espacio ampliado Si el VG se ha quedado sin espacio, se ampla aadindole PV,s nuevos: --> Se ampla primero el LV --> O bien se ampla el Quedan creados:
lvdisplay /dev/datavg/datalv1 Para mostrar sobre qu PV,s est escrito un LV: lvs -a -o +devices Para borrar: lvremove vgremove vgexport Para aadir un VG que est creado y con datos: vgimport Para activar un VG (como varyonvg en Aix): vgchange -a y vgchange -a n --> Activa el VG --> Desactiva el VG --> Debe estar desactivado Para borrar un VG del sistema y no borrar su contenido (se puede asignar a otro sistema):
Un sistema de archivos creado con LVM se monta y maneja igual que uno normal. Por ejemplo, la entrada en /etc/fstab puede ser esta: /dev/datavg/datalv1 /oradata O bien, sin aadir nada: mount /dev/datavg/datalv1 /oradata reiserfs defaults 12
Why aren't changes to my logical volume being picked up by the rest of the cluster? There's a little-known "clustering" flag for volume groups that should be set on when a cluster uses a shared volume. If that bit is not set, you can see strange lvm problems on your cluster. For example, if you extend a volume with lvresize and gfs_grow, the other nodes in the cluster will not be informed of the resize, and will likely crash when they try to access the volume. To check if the clustering flag is on for a volume group, use the "vgs" command and see if the "Attr" column shows a "c". If the attr column shows something like "wz--n-" the clustering flag is off for the volume group. If the "Attr" column shows something like "wz--nc" the clustering flag is on. To set the clustering flag on, use this command: vgchange -cy <volume group name>
25/09/02
26
Se soluciona: pvdisplay > busco el que es SaoSYI-... Veo que es el dasdbw1, as que lo recreo. Primero hago por si acaso un pvmove: pvmove /dev/dasdbw1 pvremove /dev/dasdbw1 -ff Luego backup de la configuracin actual del VG: vgcfgbackup -d -f datosvg --ignorelockingfailure -P datosvg y por ltimo creo de nuevo el PV: pvcreate --uuid "SAoSYI-2VF8-nelD-YJKs-2paM-d8D3-uu8JWY" --restorefile ./datosvg /dev/dasdbw1
6.14.3.-Errores en el VG
# vgexport Cannot change VG db_dbtstafw_vg while PVs are missing. Consider vgreduce removemissing. cd /etc/lvm/cache rm .cache vgcfgbackup db_dbtstafw_vg cd /etc/lvm/backup vi db_dbtstafw_vg Borrar los flag= MISSING vgcfgrestore db_dbtstafw_vg Ahora exporta bien.
6.15.1.-Ejemplo:
Se aade primero un LV: # pvcreate /dev/mapper/mpath4 # vgextend /dev/swvg /dev/mapper/mpath4 Se extiende el LV: # lvextend /dev/swvg/swlv1 /dev/mapper/mpath4
Extending logical volume swlv1 to 99.99 GB Logical volume swlv1 successfully resized
25/09/02
27
Ejemplo: extender rootlv de 8Gb a 9Gb: lvextend -L9G /dev/vg_system/lv_root lvextend +2500 /dev/datavg/lvdata lvextend -l +100%FREE /dev/auxvg/auxlv Ampla a tamao total de 9G Ampla en 2500 extensiones Ampla el LV al mximo
Mover los datos del disco a otro dentro del VG. Es necesario que el VG tenga espacio libre suficiente para mover todos los datos del PV. Es decir, un nmero de extensiones fsicas (PE,s) igual al de PE,s ocupadas en el disco. Si no hay espacio suficiente, hay que aadir un PV nuevo antes e mover los datos. Una vez comprobado que hay espacio suficiente, se ejecuta el comando siguiente: pvmove /dev/nombre_PV Puede tardar mucho tiempo, dependiendo del tamao del disco. Para evitar problemas conviene ejecutar primero con la opcin -t que simula la operacin pero no la realiza. La opcin -a libera todos los discos que no contienen datos dentro del VG.
Tras mover los datos se puede ya borrar de la configuracin del VG: vgreduce nombre_VG nombre_PV
6.17.-Liberar discos de un VG
Se pretende borrar un VG completo y liberar sus discos. Este proceso es delicado pues afecta a la lista de discos aadidos al sistema en zipl.conf. Procedimiento vlido para SLES9 en zLinux. El procedimiento en pasos, con ejemplos, es el siguiente: 1. Listar LV,s y PV,s del VG y anotarlos. Se quiere borrar tmpvg y liberar sus discos: vgdisplay -v tmpvg 2. Listar los discos activos y anotar los correspondientes a los PV,s que se van a liberar pvs lsdasd 25/09/02 28
3. Desmontar LV,s umount /usr/sap/put 4. Quitar montaje de LV,s en /etc/fstab 5. Desactivar el VG vgchange -an tmpvg 6. Borrar el VG vgremove tmpvg 7. Borrar los PV,s pvremove /dev/dasdj1 8. Ejecutar comandos para limpiar el LVM y que no de errores al buscar lo borrado vgscan, lvscan, pvscan
6.19.-Raid software
Se crean particiones de tipo software raid en diferentes discos. Se puede crear con ellas un software raid de diferentes tipos; incluso se puede crear un raid multipath, de forma que se controle la entrada y salida por varios paths a un mismo disco de SAN. fdisk -l parted cat /proc/mdstat muestra las particiones creadas muestra las particiones en entorno Itanium muestra los raids creados y su estado: md0: active raid1 sda4[2] sdb4[0] xxx blocks [2/1] [U_] --> esto significa una U, una unidad, falta la segunda. Para crear un /dev/mdx nuevo: mdadm create /dev/md0 -a /dev/sda4 /dev/sdb4 Mostrar detalles sobre el sw raid: 25/09/02 29
mdadm - -detail /dev/md0 Para aadir una particin nueva a un raid: mdadm /dev/md0 -a /dev/sdc4 y aparece en /proc/mdstat que se est haciendo el mirror. Para desactivar una de las copias: mdadm /dev/md0 -f /dev/sdb4 Despus de desactivarla se puede quitar (si no se desactiva, no se puede quitar): mdadm /dev/md0 -r /dev/sdb4 Cuando se cambia un disco, la tabla de particiones del anterior sigue en la RAM. Para refrescarla: blockdev rereadpt /dev/sdb Rescaneo de discos SCSI Si no se consigue, comprobamos que en /proc/scsi/scsi el disco que aparece sigue siendo el antiguo. Se rescanea con: rescan-scsi-bus.sh Si sigue el disco antiguo o no aparece disco puedo forzar que lo vea: dmesg > discos vi discos --> buscar sdb. Nos da scsi 0, channel 0 , id 3, lun 0. echo - - - > /sys/class/scsi_host/host0/scan Si conoces host, channel, id y lun, puedo hacer: echo scsi add-single-device h c i Puedo forzar rescaneo del disco: echo 1 > /sys/class/scsi_device/0:0:1:0 Para parar el proceso de recreacin del raid: mdadm --misc /dev/md2 -S Para recrear con modo multipath (un solo disco que se ve por dos SCSI o fibra): mdadm --create /dev/md1 --level=multipath --raid-devices=2 /dev/sdc1 /dev/sdd1 l > /proc/scsi/scsi donde h, c, i, l son host, channel, id y lun respectivamente.
25/09/02
30
6.21.-9. Controlling the SCSI Command Timer and Device Status: timeout SCSI
The Linux SCSI layer sets a timer on each command. When this timer expires, the SCSI layer will quiesce the host bus adapter (HBA) and wait for all outstanding commands to either time out or complete. Afterwards, the SCSI layer will activate the driver's error handler. When the error handler is triggered, it attempts the following operations in order (until one successfully executes): 1. 2. 3. 4. Abort the command. Reset the device. Reset the bus. Reset the host.
If all of these operations fail, the device will be set to the offline state. When this occurs, all IO to that device will be failed, until the problem is corrected and the user sets the device to running. The process is different, however, if a device uses the fibre channel protocol and the rport is blocked. In such cases, the drivers wait for several seconds for the rport to become online again before activating the error handler. This prevents devices from becoming offline due to temporary transport problems.
Device States
To display the state of a device, use: cat /sys/block/<device name>/device/state To set a device to running state, use: echo running > /sys/block/<device name>/device/state
Command Timer
To control the command timer, you can write to /sys/block/<device name>/device/timeout. To do so, run: echo <value> /sys/block/<device name>/device/timeout Here, <value> is the timeout value (in seconds) you want to implement. Alternatively, you can also modify the timeout udev rule. To do so, open /etc/udev/rules.d/50udev.rules. You should find the following lines: ACTION=="add",SUBSYSTEM=="scsi",SYSFS{type}=="0|7|14",\ RUN+="/bin/shc'echo60>/sys$$DEVPATH/timeout'" echo 60 refers to the timeout length, in seconds; in this case, timeout is set at 60 seconds. Replace this value with your desired timeout length. Note that the default timeout for normal file system commands is 60 seconds when udev is being used. If udev is not in use, the default timeout is 30 seconds.
7.-SAN
7.1.-Drivers multipath en Aix/Linux
LVM SDD MPIO Fibreutils (Qlogic), Ipfcdriver (Emulex) Device mapper RDAC para Linux (ya no se usa) para Aix y Linux, slo con ESS, DS8000 y SVC. En Linux se abandona a partir de Sles 10 y RHEL 5. Aix 5.2 y superiores, driver nativo. Linux Para todo Linux. DS4000 y DS5000
25/09/02
31
7.2.-Tarjetas HBA
Dos tipos: Emulex y Qlogic. Drivers: Emulex: Qlogic: lpfc qla2xxx
7.3.-Informacin de HBAs
Est en: /sys/class/scsi_host/hostx O, en versiones nuevas de Linux: /sys/class/fc_host/hostx/port_name Donde x es 0,1,2, ... Normalmente la 0 es la SCSI interna y las otras son adicionales y de fibra. En este directorio est el WWPN.
7.3.1.-Tipo de tarjeta
SCSI Fibra. cat /sys/class/scsi_host/hostx/xxxxx
7.3.2.-Nivel de firmware
cat /sys/class/scsi_host/hostx/fw_version
7.3.3.-Estado
cat /sys/class/scsi_host/hostx/state --> online
7.6.-Escaneo de la SAN
echo - - - > /sys/class/scsi_host/host0/scan
8.-Multipath de SAN
8.1.-Rootvg en multipath
Para instalar RHEL5 sobre multipath se utiliza el parmetro del ncleo mpath en el arranque de la instalacin: boot: linux mpath El sistema sugiere instalar, en lugar de sobre /dev/sda y /dev/sdb, en el disco /dev/mapper/mpath0. Despus hay que configurar el multipath.conf para aadir discos nuevos. 25/09/02 33
Testeado en RHEL 5.5 sobre dos VIO servers en Power 7. El problema de este procedimiento es que a la hora de clonar un servidor no basta con realizar un dd desde el VIOs y levantar ya que el filtro del devmapper es demasiado estricto. An no di con la solucin. Al arrancar la particin clonada esta da un kernel panic al intentar montar el disco. Carga el initrd pero no llega al disco, no lo ve. multipath.conf: defaults { user_friendly_names yes } blacklist { devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" devnode "^(hd|xvd|vd)[a-z]*" wwid "*" } # Make sure our multipath devices are enabled. blacklist_exceptions { wwid "3600601606cc221008cd417531d7edf11" } Arrancamos desde CD, con boot: linux rescue. Montamos /, /var y /boot y hacemos chroot. Borramos el contenido de /var/lib/multipath/bindings y lanzamos multipath -F y multipath para que los recree. Lo hace bien: aade el id que devuelve scsi_info -gus /block/sda. Hemos recreado el initrd y rearrancado. Se queda siempre en kernel panic al buscar el disco. La cabina de almacenamiento es una EMC Clariion y el driver del VIOs es PowerPath. Bien instalado y con licencia. El initrd contiene el /etc/multipath.conf y los mdulos de device mapper. Al actualizar el sistema operativo se regenera el initrd sin necesidad de rehacerlo. Si quisiramos aadir multipath sobre un sistema instalado sin l habra que recrear el initrd tras meter en el mismo mdulos de device mapper, multipath.conf y yaboot.conf. Es preferible reinstalar con multipath. Prueba sugerida por Tortosa: Asumo que ese es el multipath.conf que anaconda te fabrica automticamente. Comenta las lneas wwid "*" y wwid "3600601606cc221008cd417531d7edf11" o por lo menos la primera de las dos y regenera el disco ram. Despus clonas.
25/09/02
34
Se carga un mdulo del device mapper: Mdulo DDM configurado en /etc/multipath.conf (round robin para reparto de carga) En /etc/dm.conf se crea un alias para que el nombre del disco sea ms corto.
8.2.1.-Comandos
/sbin/multipath, scan the system for multipathed devices, assembles them and update the devicemapper's maps /usr/bin/multipathd, wait for maps events, then execs multipath devmap-name /sbin/devmap_name, provides a meaningful device name to udev for devmaps kpartx /sbin/kpartx, maps linear devmaps upon device partitions, which makes multipath maps partionable
25/09/02
35
} # DS6000 device { vendor "IBM" product "1750500" path_grouping_policy group_by_prio prio_callout "/sbin/mpath_prio_alua /dev/%n" } # DS8000 device { vendor "IBM" product "2107900" path_grouping_policy group_by_serial } # ESS 800 device { vendor "IBM" product "2105800" path_grouping_policy group_by_serial } # DS4800 device { vendor "IBM" product "1815" path_grouping_policy "group_by_prio" path_checker "rdac" hardware_handler "1 rdac" failback "immediate" prio "rdac" } }
[size=100G][features=1 queue_if_no_path][hwhandler=0][rw] \_ round-robin 0 [prio=200][active] \_ 3:0:2:9 sdae 65:224 [active][ready] \_ 3:0:3:9 sdao 66:128 [active][ready] \_ 4:0:2:9 sdbs 68:96 [active][ready] \_ 4:0:3:9 sdcc 69:0 [active][ready] \_ round-robin 0 [prio=40][enabled] \_ 4:0:0:9 sday 67:32 [active][ready] \_ 4:0:1:9 sdbi 67:192 [active][ready] \_ 3:0:0:9 sdk 8:160 [active][ready] \_ 3:0:1:9 sdu 65:64 [active][ready] 36005076801808523c00000000000003f dm-5 IBM,2145 [size=100G][features=1 queue_if_no_path][hwhandler=0][rw] \_ round-robin 0 [prio=200][active] \_ 4:0:0:0 sdap 66:144 [active][ready] \_ 4:0:1:0 sdaz 67:48 [active][ready] \_ 3:0:0:0 sdb 8:16 [active][ready] \_ 3:0:1:0 sdl 8:176 [active][ready] \_ round-robin 0 [prio=40][enabled] \_ 3:0:3:0 sdaf 65:240 [active][ready] \_ 4:0:2:0 sdbj 67:208 [active][ready] \_ 4:0:3:0 sdbt 68:112 [active][ready] \_ 3:0:2:0 sdv 65:80 [active][ready] 36005076801808523c000000000000047 dm-3 IBM,2145 [size=100G][features=1 queue_if_no_path][hwhandler=0][rw] \_ round-robin 0 [prio=200][active] \_ 4:0:0:8 sdax 67:16 [active][ready] \_ 4:0:1:8 sdbh 67:176 [active][ready] \_ 3:0:0:8 sdj 8:144 [active][ready] \_ 3:0:1:8 sdt 65:48 [active][ready] \_ round-robin 0 [prio=40][enabled] \_ 3:0:2:8 sdad 65:208 [active][ready] \_ 3:0:3:8 sdan 66:112 [active][ready] \_ 4:0:2:8 sdbr 68:80 [active][ready] \_ 4:0:3:8 sdcb 68:240 [active][ready] ... Ahora aadimos los discos a multipath.conf. El id es el nmero del comando anterior: 36005076801808523c000000000000047 y dems. Una entrada por disco.
25/09/02
37
Multipath.conf:
# This is an example configuration file for device mapper multipath. # For a complete list of the default configuration values, see # /usr/share/doc/device-mapper-multipath-0.4.5/multipath.conf.defaults devnode_blacklist { wwid 3600508e0000000007de02c4c9799db0a # disco local } defaults { polling_interval 30 failback immediate no_path_retry 5 rr_min_io 100 path_checker tur user_friendly_name yes } # SVC device { vendor "IBM" product "2145" path_grouping_policy group_by_prio prio_callout "/sbin/mpath_prio_alua /dev/%n" } multipaths { multipath { wwid 36005076801808523c000000000000048 alias vdrodas01 path_grouping_policy group_by_prio path_selector "round-robin 0" rr_weigth priorities } multipath { wwid 36005076801808523c00000000000003f alias vdrodas02 path_grouping_policy group_by_prio path_selector "round-robin 0" rr_weigth priorities } multipath { wwid 36005076801808523c000000000000047 alias vdrodas03 path_grouping_policy group_by_prio path_selector "round-robin 0" rr_weigth priorities } multipath { wwid 36005076801808523c000000000000046 alias vdrodas04 path_grouping_policy group_by_prio path_selector "round-robin 0" rr_weigth priorities } multipath { wwid 36005076801808523c000000000000045 alias vdrodas05
25/09/02
38
path_grouping_policy group_by_prio path_selector "round-robin 0" rr_weigth priorities } multipath { wwid 36005076801808523c000000000000044 alias vdrodas06 path_grouping_policy group_by_prio path_selector "round-robin 0" rr_weigth priorities } multipath { wwid 36005076801808523c000000000000043 alias vdrodas07 path_grouping_policy group_by_prio path_selector "round-robin 0" rr_weigth priorities } multipath { wwid 36005076801808523c000000000000042 alias vdrodas08 path_grouping_policy group_by_prio path_selector "round-robin 0" rr_weigth priorities } multipath { wwid 36005076801808523c000000000000041 alias vdrodas09 path_grouping_policy group_by_prio path_selector "round-robin 0" rr_weigth priorities } multipath { wwid 36005076801808523c000000000000040 alias vdrodas10 path_grouping_policy group_by_prio path_selector "round-robin 0" rr_weigth priorities } }
El resultado es este:
# ls /dev/mapper/ vdrodas02 vdrodas02p2 vdrodas03 vdrodas05 vdrodas07 vdrodas09 vdrodas01 vdrodas02p1 vdrodas02p3 vdrodas04 vdrodas06 vdrodas08 vdrodas10
Estos son los discos definidos. Si tengo que borrar la definicin de dispositivos: blockdev - -rereadpt /dev/sdxxx multipath -F multipath -v2 multipath -ll borra los /dev/mapper/* los redescubre los muestra
25/09/02
39
9.1.1.-LILO
Se entra, desde el arranque, tecleando en el prompt de arranque (boot: ): boot: o bien boot: o bien boot: linux single init single init 1
9.1.2.- GRUB
En el men de arranque (Grub), seleccionar el kernel y:
Pulsar e para editar la entrada Seleccionar la segunda lnea, la que comienza con kernel Presionar e para editarla Aadir la letra S al final de la lnea y pulsar Enter Presionar b para arrancar
25/09/02
40
Arrancar desde CD, entrar en rescue system fsck.reiserfs /dev/particin_raz Si es otro tipo de sistema de archivos utilizar el fsck adecuado: si no, dar problemas. No es posible hacerlo arrancando en modo de mantenimiento y, sin montar el /, hacer el fsck.reiserfs. Porque est en modo de slo lectura y, si lo monto con: mount -n -o remount,rw / , al estar montado, tampoco. No correr nunca fsck con el sistema de archivos montado. Si es ext3, avisa de posible corrupcin y se corrompe con toda seguridad.
No se ven los discos SCSI porque los drivers no estn en initrd; no arranca Los drivers no vienen en /etc/modprobe.conf por lo cual, si arrancara de alguna forma, no podra ver los discos despus /etc/fstab puede contener nombres de disco que hayan cambiado; si se monta por label, no hay que cambiar nada, montar sin problema
Es necesario pues comprobar que se dispone de los drivers necesarios en /lib/modules/nombre_del_ncleo, aadirlos a /etc/modprobe.conf y meterlos en el initrd de arranque. Lo vemos con el ejemplo anterior, de paso de HP a HS21: Se restaura la copia Acronis de un RHEL AS 4 U6 sobre el HS21 y no arranca. Se arranca desde el CDrom de RHEL AS 4 U6 y se entra en modo rescate o se abre una shell. Se crea /mnt/hd y se monta /root (y dems subdirectorios) en l. Se monta en modo bind el /dev en /mnt/hd/dev: mount -o bind /dev /mnt/dev En versiones RHEL 5 y siguientes, se monta tambin /sys y /proc con bind. Se hace chroot: chroot /mnt/hd Contenido del /etc/modprobe.conf, tal como viene de HP: alias alias alias alias alias eth0 bnx2 eth1 bnx2 scsi_hostadapter aacraid scsi_hostadapter1 ata_piix scsi_hostadapter2 lpfc
Los drivers de red son vlidos; los scsi no. Es necesario borrar las lneas de scsi, las tres ltimas y aadir las necesarias para los SCSI IBM; las ltimas lneas las aadir Kudzu en el primer arranque tras borrar configuraciones antiguas y aadir nuevas: alias alias alias alias alias scsi_hostadapter mptbase scsi_hostadapter1 mptscsi scsi_hostadapter2 mptspi scsi_hostadapter3 mptsas scsi_hostadapter4 mptscsih
# Aadidas por kudzu: alias usb-controller uhci-hcd alias scsi_hostadapter ata_piix 25/09/02 41
alias eth1 tg3 alias scsi_hostadapter5 qla2400 Se recrea el initrd. El ncleo debe tener un directorio en /lib/modules con su nombre. Se crea el initrd para el mismo ncleo (o similar) al que est corriendo. Si no existe /lib/modules/2.6.9-67.0.7.ELsmp, no se podr regenerar initrd para el mismo. Se ejecuta: mkinitrd -f /boot/newimage-2.6.9-67.0.7.ELsmp 2.6.9-67.0.7.ELsmp Se cambia la password de root y de cualquier usuario necesario y se rearranca. Ya debe arrancar bien. Es necesario guardar la configuracin de red (adaptadores, rutas y resolv.conf) porque se van a borrar en el primer arranque (lo har Kudzu, interactivamente). En RHEL 5 sobre blade HP los drivers para HP son: cciss ata_piix bnx2x para scsi. para ATA. para Ethernet.
9.4.-BACKUP Y RECUPERACIN
Para salvar un sistema Linux lo ms fcil es copiarlo entero en formato tar, cpio, comprimido o no a un disco de red o cinta con todas las aplicaciones posibles paradas. Para restaurarlo: a partir de lo que haya sobrevivido del sistema instalar un Linux mnimo y restaurar sobre l la copia hecha. Otras opciones son utilizar la herramienta kbackup o TSM. En el segundo caso, aparte de reinstalar Linux ser necesario reinstalar el cliente TSM y reconfigurar los archivos dsm.opt y dsm.sys.
9.6.1.-Mtodo antiguo
Al crearlo se le inicializa a ceros (/dev/zero). Cuando se borra un archivo no se libera espacio pues el espacio que ocupaba ahora no lo ocupan ceros. Partimos de /boot/initrd: gzip -dc initrd > discoram mount -o loop discoram /mnt/discoram 25/09/02 42
Lo modifico. umount /mnt/discoram bzip2 -9 discoram mv discoram /temp/initrd --> este ya es el disco ram. Lo comprimo con bzip2 o con gzip; bzip2 comprime ms. El parmetro -9 indica que la compresin ha de ser mxima. Otro mtodo de integrar archivos en el ramdisk es: cp /boot/initrd /boot/initrd.bak yast - system admin - change conf. file - INITRD-MODULES - reiserfs F10 salir. mk_initrd Deja creado un initrd. Lo metemos en lilo.conf y ejecutamos lilo. Lilo.conf queda: initrd = /boot/initrd. Este mtodo deja el ramdisk del sistema de un tamao mayor al original. Si queremos crear despus un disco de arranque dar un error. De ah que comience haciendo copia del initrd original. Creacin de disquete de arranque dd if=bootdisk of=/dev/fd0 bootdisk se baja de internet (www.suse.com suse.de) o se coge del disco 1 de SuSE, donde adems estn los mdulos; todo en /cdrom/disks.
9.6.2.-Mtodo nuevo
cp /boot/su_archivo_initrd.img /tmp/su_archivo_initrd.img.gz gunzip /tmp/su_archivo_initrd.img.gz mkdir /tmp/initrd cd /tmp/initrd Para saber si es un cpio: file /tmp/su_archivo_initrd.img En caso de ser un cpio devuelve: su_archivo_initrd.img: ASCII cpio archive (SVR4 with no CRC) Si es un cpio, se descomprime: cpio -idv < /tmp/su_archivo_initrd.img Si no es un cpio se monta: mount -o loop /tmp/su_archivo_initrd.img /tmp/initrd Guardar despus de hacer los cambios:
25/09/02
43
mv /boot/su_archivo_initrd.img /boot/su_archivo_initrd.img.bak cd /tmp Si es un cpio: find initrd -print -depth | cpio -ocv > /tmp/su_archivo_initrd.img Si no es un cpio: umount /tmp/initrd gzip /tmp/su_archivo_initrd.img mv /tmp/su_archivo_initrd.img.gz /boot/su_archivo_initrd.img
10.-COMUNICACIONES TCPIP
La configuracin se encuentra principalmente en /etc/sysconfig/network*, segn distribucin. Comando general de TCPIP: ip --> manipula rutas, dispositivos, etc. Otros: ifconfig, ifup/ifdown, etc.
Buscamos en la salida las IP,s encontradas: soRT -U kk|awk '{ print $4 }'|sort -u
10.2.-Desactivar IP V6
Para deshabilitar y que no de problemas con el driver de bonding en RHEL: echo "options ipv6 disable=1 " > /etc/modprobe.d/disable_ipv6.conf En RHEL adems aado en /etc/sysconfig/network: NETWORKING_IPV6=no Stop the ipv6tables service service ip6tables stop Disable the ipv6tables service chkconfig ip6tables off y en los ifcfg-ethx: IPV6INIT=no
25/09/02
44
Para desactivarlo slo en Firefox: about:config buscar ipv6 aparece: network.dns.disableIPv6: poner a true.
10.3.-NMAP
nmap es una aplicacin que pregunta a una IP sus puertos abiertos. nmap ip
10.4.-Configuracin de Telnet
Se arranca desde xinetd. Para poder entrar como root hay que editar /etc/securetty y aadir pts/0 para que pueda entrar un usuario con telnet.
10.6.-MTU
Ip link set dev eth0 mtu 1500 --> establece un mtu=1500 Se cambia de forma permanente aadiendo la lnea: MTU=1500 a /etc/sysconfig/network-scripts/ifcfg-eth0.
buscar la lnea que hace referencia al adaptador. Hay que aadirle unos parmetros a esta lnea los cuales dependen de la tarjeta que se est utilizando. Por ejemplo, para una e100 queda la lnea as: alias eth0 e100 e100_speed_duplex=2 donde 2 indica 10 Full duplex. 1 es 10 semidplex, 3 es 100 semidplex y 4 es 100 dplex. Para una tarjeta 3c905c Tornado (3Com): insmod 3c59x.o debug=0 full-duplex=1. Los mdulos estn en: /lib/modules/2.4.18.../kernel/drivers/net. El paquete diag-ether permite comprobar gran nmero de tarjetas ethernet y configurar algunas. Lspci, lsdev, lsmod comprueban los dispositivos y los mdulos cargados.
10.7.2.-Caso 2
Tenemos una ethernet que no funciona. Queremos aadir otra. lsmod ifdown eth0 rmmod 3c59x Ahora tenemos limpio el sistema. Vamos a aadir las tarjetas; insertamos el mdulo de modprobe e100 modprobe 3c59x Ahora configuramos eth0: ifup eth0 --> esto toma la configuracin que le tenamos dada al eth0 antiguo. --> Pasa a ser eth0 --> Pasa a ser eth1 la nueva:
# cat ifcfg-eth0-range1 IPADDR_START=172.16.4.127 IPADDR_END=172.16.4.137 CLONENUM_START=0 # cat ifcfg-eth0-range2 IPADDR_START=172.16.4.129 IPADDR_END=172.16.4.139 CLONENUM_START=1
10.9.1.-RedHat
Ver IPv6. En RedHat la configuracin se crea editando los archivos siguientes en /etc/sysconfig/network-scripts. En este caso se crean dos bond. Es interesante comprobar que el mtodo estndar falla debido a que el mdulo se carga en modprobe.conf bien para el primer bond, pero no para el segundo. El modprobe.conf de abajo contiene lo necesario para que se configuren ambos bond. Luego, sobre cada bond se pueden crear alias. BOOTPROTO=none USERCTL=no IPV6INIT=no PEERDNS=yes TYPE=Ethernet # GATEWAY= ifcfg_bond1 DEVICE=bond1 ONBOOT=yes IPADDR=10.64.110.94 NETMASK=255.255.255.0 NETWORK=10.64.110.0 BROADCAST=10.64.110.255 BOOTPROTO=none USERCTL=no IPV6INIT=no PEERDNS=yes TYPE=Ethernet GATEWAY=10.64.110.254
Modprobe.conf alias eth0 bnx2 alias eth1 bnx2 alias eth2 tg3 alias eth3 tg3 install bond0 /sbin/modprobe bonding -o bond0 miimon=100 mode=1 install bond1 /sbin/modprobe bonding -o bond1 miimon=100 mode=1 ifcfg_bond0 DEVICE=bond0 ONBOOT=yes IPADDR=1.1.1.5 NETMASK=255.255.255.0 NETWORK=1.1.1.0 BROADCAST=1.1.1.255 25/09/02
47
ifcfg_eth2 ifcfg_eth0 DEVICE=eth0 USERCTL=no ONBOOT=yes MASTER=bond0 SLAVE=yes BOOTPROTO=none TYPE=Ethernet ifcfg_eth1 DEVICE=eth1 USERCTL=no ONBOOT=yes MASTER=bond1 SLAVE=yes BOOTPROTO=none TYPE=Ethernet DEVICE=eth2 USERCTL=no ONBOOT=yes MASTER=bond0 SLAVE=yes BOOTPROTO=none TYPE=Ethernet ifcfg_eth3 DEVICE=eth3 USERCTL=no ONBOOT=yes MASTER=bond1 SLAVE=yes BOOTPROTO=none TYPE=Ethernet
Fuerza a GB Full
10.9.3.-zSLES
25/09/02
48
ifcfg-bond0 BOOTPROTO='static' BROADCAST='10.1.1.255' IPADDR='10.1.1.11' NETMASK='255.255.255.0' NETWORK='10.1.1.0' REMOTE_IPADDR='' STARTMODE='auto' BONDING_MASTER='yes' BONDING_MODULE_OPTS='miimon=100 mode=6' BONDING_SLAVE0='qeth-bus-ccw-0.0.3720' BONDING_SLAVE1='qeth-bus-ccw-0.0.37aa' PREFIXLEN='' ifcfg-qeth-bus-ccw-0.0.37a0 BOOTPROTO='static' UNIQUE='' STARTMODE='auto' IPADDR='172.22.0.221' NETMASK='255.255.240.0' NETWORK='172.22.0.0' BROADCAST='172.22.15.255' _nm_name='qeth-bus-ccw-0.0.37a0' PREFIXLEN='' ifcfg-qeth-bus-ccw-0.0.37aa BOOTPROTO='none' LLADDR='02:00:04:04:04:04' STARTMODE='onboot' UNIQUE='Q+DI.FOqOuhDmSR4' _nm_name='qeth-bus-ccw-0.0.37aa'
25/09/02
49
DEVICE=eth0.34 BOOTPROTO=static HWADDR=XX:XX:XX:XX:XX:XX IPADDR=10.10.10.1 NETMASK=255.255.255.0 NETWORK=10.10.10.0 ONBOOT=yes TYPE=Ethernet VLAN=yes vconfig rem eth0.34 para quitar una vlan sin rearrancar
10.13.-DHCP
dhcpcd --> con esto suele bastar. Si no: dhcpcd -n -H eth0 dhcpcd -h igan.es.ibm.com Cuando se desactiva una tarjeta ethernet (ifconfig eth0 down) para, por ejemplo, conectar por mdem, se reactiva con: ifconfig eth0 up; con ifconfig se comprueba que vuelve a tener la direccin que tena pero no conecta. Para que funcione completamente se lanza el dhcp ejecutando: dhcpcd. Para arrancar el servidor: dhcpd -d -f
10.14.-Puertos y aplicaciones
Cmo saber qu proceso corre en qu puerto: lsof -i lsof -i :80 fuser -n tcp -v 80 netstat -np 25/09/02 50 quin da servicio en el puerto 80.
nmap -T Aggressive -A -v 127.0.0.1 -p 1-65000 netstat --tcp --udp --listening --program lsof +M -i4 fuser -v 2208/tcp
10.16.-INETD
Inetd se activa desde yast2 (se hace que arranque con el sistema). Se edita /etc/inetd.conf para arrancar los servicios que queramos y se ejecuta lo siguiente para que lea este archivo: /etc/rc.d/inetd start / stop / status / reload. Las opciones son: /etc/rc.d/inetd start / stop / status / reload.
10.17.-FTP servidor
El ftp se arranca desde dos lneas de inetd.conf. La segunda arranca un producto que se llama vftpd y que se configura en /etc/vftpd.conf. En este archivo puedo cambiar opciones tales como habilitar o no ftp con usuarios adems de anonymous. Si no permite ftp ms que como anonymous es por esto. Si no permite ftp en absoluto es porque inetd est apagado o bien porque no estn activos los servicios ftp. Se activan modificando inetd.conf y arrancando inetd. Si seguimos con problemas conviene desactivar (yast2) el firewall y reactivarlo cuando hayamos conseguido conectar va ftp, eso s, indicndole que el puerto 21 (ftp) debe estar abierto. OJO: todo lo anterior ocurre porque arranco los dos servicios FTP y el segundo, vsftpd, tapa al primero. Si arranco slo el ftp normal, podr acceder sin ms al FTP (en teora). Si no consigo, hecho esto, conectarme al servidor FTP comprobar: que el software servidor de ftp est instalado que el archivo /etc/ftpusers no contiene mi usuario FTP. Para hacer que el ftp escriba lo recibido con una mscara dada hay que arrancar el servidor FTP desde inetd.conf con la lnea siguiente (Aix): ftp stream tcp6 nowait root /usr/sbin/ftpd ftpd -u 000 Esto ha cambiado: a partir de SuSE 8.2 inetd se cambia por xinetd, distinto. En Ubuntu: 25/09/02 51
10.18.-SOCKS
Utilizo el producto DANTE como cliente socks. Tras instalar los paquetes del producto (dante-1.1.10-126) se configura en tres pasos: A.- Editar el .profile .bash_profile (en realidad, .kshrc .bashrc) de los usuarios que va a usar el cliente socks y aadir: export LD_PRELOAD=/usr/lib/libdsocks.so.0.1.0 B.- Activar socks: men preferencias - network - socks - activar socks - dante. C.- Editar /etc/socks.conf: En este archivo diferenciar entre subredes o servidores a los que se quiere acceder mediante socks y a los que no. A los que no (loopback, DNS,s, servidores Notes, otros) se les da la directiva direct as:
# Rutas a los DNS,s route { from: 0.0.0.0/0 to: 9.139.254.4/32 port = domain via: direct } # Loopback route { from: 0.0.0.0/0 to: 127.0.0.0/8 via: direct command: connect udpassociate # everything but bind, bind confuses us. } # Red local route { from: 0.0.0.0/0 to: 9.137.92.0/23 via: direct } # Proxies. route { from: 0.0.0.0/0 to: 9.139.0.0/16 via: direct }
25/09/02
52
# Servidor Notes route { from: 0.0.0.0/0 to: 9.0.0.0/8 via: direct } A los servidores que se acceden mediante socks se les da via: servidor socks port = puerto. # Rutas va sock route { from: 0.0.0.0/0 to: 10.24.29.0/24 via: 9.137.92.30 port = 1080 protocol: tcp udp method: none #username } No consigo que tome por defecto otro servidor socks para el resto de servidores (no me funciona esto): # Rutas al mundo entero (por un socks distinto al anterior) route { from: 0.0.0.0/0 to: 0.0.0.0/0 via: 9.14.3.71 port = 1080 protocol: tcp udp method: none #username } # server supports tcp and udp. # we are willing to authenticate via # method "none", not "username". proxyprotocol: socks_v4 socks_v5 # server supports socks v4 and v5. # server supports tcp and udp. # we are willing to authenticate via # method "none", not "username". proxyprotocol: socks_v4 socks_v5 # server supports socks v4 and v5.
10.18.1.-Socks de IBM
Se instala el paquete: tsocks-1.8beta4-4IBM. Para instalarlo en SuSE pide un paquete que incluye los comandos bsicos, por lo que es necesario instalarlo con la opcin nodeps de rpm. Cuidado al desinstalar los tsocks: el SuSE queda inservible pidiendo la librera tsocks para cualquier comando sencillo (ls, cp, etc). No s an cmo se evita esto. Some extra utilities are included in this version validateconf - a utility to verify the tsocks configuration file inspectsocks - a utility to determine the version of a socks server saveme - a statically linked utility to remove /etc/ld.so.preload sockson.sh - switch socks on socksoff.sh - switch socks off (default) runtsocks - run an application socksified === Default Server Configuration === Server: super.socks1.server.ibm.com (9.14.3.67) Port: 1080 SOCKS type: 5
25/09/02
53
10.19.-WGET
wget con proxy: Establecer estas variables de entorno en .bashrc del usuario: http_proxy=http://proxy:8080 ftp_proxy=proxy:8080 export ftp_proxy http_proxy Si el proxy requiere autenticacin crear el archivo $HOME/.wgetrc con esto: proxy_user = usuario proxy_passwd = password wget annimo: wget -c ftp://servidor/archivo o, si no encuentra el subdirectorio: wget -c ftp://servidor/archivo wget con usuario: wget --ftp-user=vicenteromero@es.ibm.com --ftp-password=xxx -c ftp://ftp3.linux.ibm.com//redhat/release_cds/rhel-5-u2/Server/x86_64/RHEL5.2-Server-2008043 0.0-x86_64-DVD.iso Opciones: -c para que contine un wget interrumpido por donde iba. Wget de pgina web completa (mirror): wget -m http://paginaweb
10.21.-Rutas
Ver rutas: netstat -rn Borrar todas las rutas: ip route flush default Aadir ruta por defecto: route add -net 0.0.0.0 netmask 255.255.248.0 gw ip_del_gw Borrar una ruta: route del -net 0.0.0.0 netmask 255.255.248.0 gw ip_del_gw --> Misma sintaxis que add
25/09/02
54
Las rutas se definen de forma permanente creando entradas en dos archivos, que quedan como sigue: /etc/sysconfig/static-routes ( para RH; para SuSE es: /etc/sysconfig/network/routes): any net 172.20.36.0 netmask 255.255.255.0 gw 172.20.35.1 /etc/sysconfig/network NETWORKING=yes HOSTNAME=igan GATEWAY=172.20.43.1 Para asignar rutas a adaptadores concretos, como es el caso de un servidor con dos adaptadores en dos redes diferentes, con routers distintos, se aade la lnea GATEWAY en /etc/sysconfig/networkscripts/ifcfg-eth0, ifcfg-eth1, etc. Cada ifcfg-ethx con su GATEWAY.
10.21.2.-Si no se conecta
Esto ocurre en algunas redes. Puede que se est definiendo la ruta por defecto con una mscara concreta. Hay que definirla contra la mscara 0.0.0.0 Si se llega al router pero no ms all es porque la direccin de la red por defecto aparece primero asignada al router y debe ser al revs. El orden correcto es este: $ route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref 172.22.32.0 * 255.255.240.0 U 0 0 default 172.22.32.1 0.0.0.0 UG 0 0
10.23.-IPCALC y /24
Aplicacin (se baja de internet) que muestra caractersticas de una IP, su mscara, la traduce de 255.255.255.0 a /24, da el tipo, etc. Si quiero saber a qu red corresponde el /23, por ejemplo, puedo hacerlo sin ipcalc as: 9.137.92/23 --> ruta a la red 9.137.92.0 con mscara 255.255.254.0 ( 8 + 8 + 7 = 23). Por qu 8 y 7: por el nmero de unos en binario. 8 unos = 11111111 = 255. 7 unos = 11111110 = 254.
25/09/02
55
10.24.-Firewall iptables
Se arranca como un servicio en RH: service iptables start/stop/status Comandos: iptables-save necesarios para iptables-restore iptables -L Por men: system-config-securitylevel muestra por pantalla los pasos recrear la configuracin actual. salva la configuracin a partir de la entrada, un cat de archivo o de un iptables-save. lista configuracin actual.
10.25.-Rendimiento de la red
Se mide con: iperf -c ip_remota
11.-IMPRESORAS
Comando de impresin: Daemon de impresin: Spool de impresora: lpr -Plp0 fichero --> lp, lp0, etc: impresoras definidas. lpd (o cups). /var/spool/lpd/nombreimp (kjobviewer pertenece a kdebase3). Impresin por grfico.
Gestin grfica de impresoras: kjobviewer -d lp --show Xpp Impresoras de red: Una impresora de red (que funciona directamente conectada, por su ethernet, a la red, sin servidor de impresin) ejecuta internamente un demonio LPD. Para imprimir desde un cliente Linux hay que definir una cola local redirigida contra una cola de impresin que est definida en la impresora. Para configurarla mediante yast2 (suse): Entrar en el mdulo de impresoras del yast2. Aadir impresora del tipo: pre-filter queue for lpd forwarding queue. Hostname: Queue: Driver: IP de la impresora PASS (impresora IBM InfoPrint32; poner en maysculas). Otras: 9100. Generic printer. Postcript level 2.
Name for printing: nombre con el cual se imprime; ej: lp. Para imprimir por esta impresora: lpr -Plp fichero.
Para obtener la impresora por defecto: lpstat -d En versiones de cups antiguas se utilizaba $PRINTER; ya no.
11.2.-CUPS
Cups transforma el fichero a postcript, trabaja con l y lo enva a la impresora en postcript, pcl, etc. Para que imprima sin transformar: lpr -oraw fichero Se guarda la configuracin en /etc/cups. Para poder imprimir en un servidor cups desde un puesto cliente hay que cambiar /etc/cups/cupsd.conf para que contenga "Allow pc,s-cliente" tras del "Deny All" por defecto. Se puede instalar en un puesto slo el cliente. En /etc/cups/client.conf se puede dar el ServerName=ip_servidor, y el cliente ver las impresoras del servidor como suyas. Se puede instalar el cups servidor en el puesto. As se definirn las impresoras en local. Para acceder a impresoras de red se definirn como impresoras LPD y, para acceder a impresoras en otro servidor CUPS, se definirn como impresoras IPP. Se puede configurar CUPS o gestionar impresoras desde: Yast2 kups kupsdconf http://localhost:631 lpadmin Cuidado: las impresoras que se crean desde yast2 no se ven en el administrador web. Las creadas mediante lpadmin se ven en kups. Kups y lpadmin/lpstat son los nicos que muestran todas las impresoras creadas. Se prueba a imprimir desde windows. Parece que windows requiere Samba para utilizar las impresoras Linux ya que no da opcin de utilizar impresoras LPD ni IPP. El servidor CUPS se arranca ejecutando: /etc/init.d/cups start y se para: /etc/init.d/cups stop. Una vez arrancado se puede configurar va web: http://localhost:631, usuario root.
Anyway, it makes some changes. In this section we discuss how to avoid any transformation of files on a printer queue. CUPS uses spooling to process printer jobs. Sometimes it is useful using spools to send files to, for example, a compiler. The text files are submitted to a defined queue that, instead of sending to a filter and, after, to a printer, sends the file to a filter that is really a compiler or other kind of program able of processing files. Cups defines data types and links a filter program to each of them. These types and filters are defined in: /etc/cups/mime.type. This is an extract of the file showing two types of data defined: text/html text/plain html htm printable(0,1024) +\ (string(0,"<HTML>") string(0,"<!DOCTYPE")) txt printable(0,1024)
First two lines define the type text/html as a file with the extension html or htm (that is, file.htm or file.html) that contains printable characters and starts with a tag such as: <HTML> or <!DOCTYPE>. The other type defined is plain text: only needs printable characters and has, probably, .txt extension (file.txt). The file /etc/cups/mime.convs associates a filter to each conversion from one type to other. This extract shows plain text to postcript conversion and the program texttops associated to make this conversion: # Type1 text/plain Type2 application/postscript Weight 33 Filter texttops
Filters are stored in /usr/lib/cups/filter and needs to be an executable file (C, bash shell, etc). The filter associated is the one used for all conversions between these types, independently from the types associated to each printer. To create a printer that don't modify the text being printed it can be created a printer associated to the device /dev/null but with a filter that simply gets the text and copies it into a file or into the desired printer or other device. This filter is called by CUPS giving six parameters to it. The sixth parameter is the name of the spool archive where the file to be processed is. As in example, a basic filter will be next bash script, stored with the name of /usr/lib/cups/filter/p3287filter: #!/bin/sh # File: /usr/lib/cups/filter/p3287filter: /bin/cat $6 > /tmp/pipe exit 0 Pipe is a text file (or a pipe, created running mkfifi pipe -m 777). Insead of cat, as an example, a compiler could be used to compile all the files put in this queue. Give write permission to all users over /tmp/pipe: chmod 666 /tmp/pipe. Give execution permission to p3287filter: chmod 755 /usr/lib/cups/filter/p3287filter. To create the printer it must be created a .ppd file with the printer definition. For example, let's create /etc/cups/ppd/p3287.ppd with this content, adapted from the content of /etc/cups/ppd/lp0.ppd or whichever printer created before. It can be also obtained modifying any file from /usr/share/cups/model. *PPD-Adobe: "4.3" *% "$Id: p3287.ppd,v 1.4 2002/08/22 12:18:56 jsmeix Exp $" *% Driver to print text with no modifications. Created modifying a standard file. *% Modified by: Jos Vicente Romero /IBM. *FormatVersion: "1.1" *FileVersion: "1.1" *LanguageVersion: Espaol *LanguageEncoding: ISOLatin1 *PCFileName: "POSTSCRIPT.PPD" *cupsFilter: "text/plain 0 p3287filter" *Manufacturer: "Postscript" *Product: "(CUPS v1.1)" *ModelName: "Generic postscript printer" *ShortNickName: "Generic postscript printer" *NickName: "Generic postscript printer" *PSVersion: "(2017.000) 0" *LanguageLevel: "2" *ColorDevice: False *DefaultColorSpace: Gray 25/09/02 58
*FileSystem: False *Throughput: "8" *LandscapeOrientation: Plus90 *VariablePaperSize: False *TTRasterizer: Type42 *UIConstraints: *PageSize Executive *InputSlot Envelope *UIConstraints: *PageSize Letter *InputSlot Envelope *UIConstraints: *PageSize Legal *InputSlot Envelope *UIConstraints: *PageSize A4 *InputSlot Envelope *UIConstraints: *PageSize A5 *InputSlot Envelope *UIConstraints: *PageSize B5 *InputSlot Envelope *OpenUI *PageSize/Media Size: PickOne *OrderDependency: 10 AnySetup *PageSize *DefaultPageSize: A4 *% *% End of "$Id: p3287.ppd,v 1.1 2003/04/25 15:31:00". *% For us, these two options are important: *cupsFilter: "text/plain 0 p3287filter" *DefaultPageSize: A4 First option uses our previously created filter to perform no transformation over the text. Now, the printer must be created running: lpadmin -p p3287 -E -P p3287.ppd The printer is created and it appears inside /etc/cups/printers.conf. Here is an extract showing our just created printer: # Printer configuration file for CUPS v1.1.15 <Printer p3287> Info p3287 DeviceURI file:/dev/null State Idle Accepting Yes JobSheets none none QuotaPeriod 0 PageLimit 0 KLimit 0 </Printer> Here, DeviceURI=/dev/null means that CUPS sends the job to no printer. But, remember, the filter will process the file sending it to /tmp/pipe (in our example) in pure text with no modifications on it. It is important to check the field Accepting Yes and State Idle. If the values are different the queue will not accept jobs.
11.5.-lpadmin
Lpadmin can manage printers in text mode. Very useful for scripting. What is done running lpadmin will be done in CUPS. Next table shows tasks to be done and lpadmin command to be executed: Task List of .ppd files available (/usr/share/cups/model) Create printer queues associate to a backend. The printer is /dev/null and the backend is a modified filter as seen formerly in this chapter. Create printer queue associated to a printer. Printers created Assign printer by default Delete a printer poll_ppd_base -a lpadmin -p printer_name -E -P printer_type.ppd Command
25/09/02
59
Command
Printer files (.ppd) can be obtained from the Windows or MacOS drivers CD or downloaded from the web: adobe or printer model web site. They are unzipped running: unzip -L impresora.exe The files .ppd are located in /usr/share/cups/model directory and, after creating a printer, they will appear with the printer name and ppd extension in /etc/cups/ppd, i.e, lp1.ppd, lp2.ppd and so on. Some useful examples on how to create different printers using lpadmin: In a CUPS server: Parallel printer: lpadmin -p LASER01 -E -v parallel:/dev/lp0 -P /usr/share/cups/model/HP/LaserJet_4050-Postscript.ppd.gz Network printer: lpadmin -p LASER02 -E -v lpd://printer_IP/9100 -P /usr/share/cups/model/HP/LaserJet_4050-Postscript.ppd.gz In a CUPS client: lpadmin -p laser01 -E -v ipp://server_IP/printers/laser01 -P /usr/share/cups/model/HP/LaserJet_4050Postscript.ppd.gz
11.6.-Impresora no disponible
Lpstat muestra el estado de las impresoras. Si devuelve el mensaje de impresora no disponible, entrar en /etc/cups/printers.conf, cambiar el estado de la impresora de State Stopped a State Idle, borrar el mensaje de error de la lnea siguiente y rearrancar CUPS tecleando, desde root: /etc/init.d/cups restart. El estado no disponible se alcanza normalmente cuando Cups no ha podido imprimir el contenido de su cola en un tiempo dado.
12.-CONFIGURACIN DE LINUX
12.1.-Versin del sistema / ncleo
Ncleo: uname -a Sistema: Suse: cat /etc/SuSE-release Service Pack (Suse): SPident
12.2.-Lenguaje local
Se aade en el profile: export LANG=es_ES@euro Se ve tecleando: locale.
Al arrancar SuSE se ejecuta, primero, el proceso /sbin/init con el pid=1, el cual arranca todo el contenido del archivo /etc/inittab y este ejecuta todos los scripts que encuentre en los "runlevels", /etc/init.d/rc.0, rc.1, ... rc.6. El primer proceso que arranca init, antes de nada, es /etc/init.d/boot, boot.local y todos los scripts del subdirectorio boot.d, para inicializar el sistema.
Se soluciona cambiando la lnea "kernel..." aadiendo por ejemplo "vga=0x314". Se ejecuta mk_initrd y ya va.
12.8.-YAST2
Configura el sistema completo en modo grfico. Tras cambiar la configuracin ejecuta /sbin/SuSEconfig. Para reconfigurar el sistema se puede ejecutar este script; este lee de /etc/sysconfig y aplica de nuevo todo lo configurado con yast2. Esto puede, en algn caso, sobreescribir configuraciones hechas a mano. No es una aplicacin completamente fiable. Falla por ejemplo en el manejo de LVM y en la creacin de particiones (llama a fdisk, crea o borra y luego no puede formatear pues la tabla de particiones no se ha actualizado hasta que no se rearranca el servidor).
12.10.-PROFILES
Your Session Profile When you log into a computer and start a new Bash session, you might need to type several commands to customize your session. Perhaps you want to change the editing mode from emacs to vi, create new key bindings, or change your command-line prompt. Rather than typing these commands, Bash will run these commands for you each time you log on if they are saved in a special file. This file is called a profile file because it contains the commands to tailor the session to your particular requirements. The original Bourne shell ran two profile files whenever a user logged on. First, a file called /etc/profile was the general profile file executed for all users. Second, if a file named .profile appeared in the user's home directory, this contained additional commands for each user. Bash mimics this behavior when it is started as sh instead of bash. Bash extended the principle to run several profile files depending on the circumstances. In addition, Linux distributions often customize the general profile files to run additional commands stored in other scripts. Bash differentiates between a login session and other instances. Bash runs as a login shell when a user or program first logs in or when a login is simulated with Bash's --login (or -l) switch. A login shell is not necessarily one that presents a user with a prompt. It only indicates that Bash is the top program in the current session, and when Bash completes its run, the login session will be over. The login_shell shell option is turned on when you are in a login shell. This option can be used to verify that you are in a login shell.
25/09/02
62
$ shopt login_shell login_shell on Bash runs as an interactive shell when it is started without a script or when the -i switch is used. An interactive shell presents the user with a command prompt. An interactive shell is not necessarily a login shell. A user can start a non-login interactive shell by typing bash at a Bash prompt, thus starting a new copy of Bash. Whether the Bash session is interactive or a login shell determines which profile files are used. This way, Bash separates commands specifically for customizing an interactive session from the more generalpurpose commands. The /etc/profile file contains the setup commands and environment changes common to all users. A general profile file might look something like this: #!/etc/profile # No core files by default ulimit -S -c 0 > /dev/null 2>&1 # HOSTNAME is the result of running the hostname command declare -x HOSTNAME=/bin/hostname # No more than 1000 lines of Bash command history declare -x HISTSIZE=1000 # If PostgreSQL is installed, add the Postgres commands # to the user's PATH If test -r /usr/bin/pgsql/bin ; then declare -x PATH="$PATH"":/usr/bin/pgsql/bin" fi # end of general profile Only the superuser can edit this file. When Bash is used as a login shell, it executes the first file it finds named ~/.bash_profile, ~/.bash_login, or ~/.profile. When a session completes, Bash runs ~/.bash_logout, if it exists. For example, SuSE Linux uses ~/.profile for the user's profile file. (You can check this by listing the files in your home directory.) By editing this file, you can add commands that will always execute when you log in. # My profile shopt -s -o emacs # I prefer emacs mode to vi mode date # display the date when I log on
Test the changes by simulating a login with the --login switch. $ bash --login Wed Feb 6 15:20:35 EST 2002 $ shopt -o emacs emacs $ logout on
25/09/02
63
Running a new Bash interactive session without logging in will not run the profile file. $ bash $ logout bash: logout: not login shell: use 'exit' $ exit Scripts will not normally execute the login profile scripts. Bash will load a profile for scripts if the BASH_ENV environment variable contains a pathname to a file to execute. However, you should avoid using BASH_ENV. Setting the common environment for a set of scripts is usually done with the source command, which is discussed in Chapter 14, "Functions and Script Execution." BASH_ENV has no effect on interactive sessions. You can stop the running of the login profile files by using the --noprofile switch. Bash runs a different set of files for interactive sessions that are not also login sessions. Bash looks for a customization script called ~/.bashrc (Bash resources) and executes it instead of the login profile files. Aliased functions are only allowed in the resource files. A different resource file can be specified with the --init-file or --rcfile switch. A typical resource file might contain the following: # /etc/bashrc # Don't let others write to the user's files umask 002 # Alias ls to provide default switches alias ls='ls -qF' Some distributions add lines to your login profile to run the commands in ~/.bashrc as well. This is not a feature of Bash, but a change made by your Linux distribution. You can add the following lines to the ~/.bashrc file to test its behavior: # My bashrc Resource File Customizations printf "%s\n" ".bashrc has run" Test it from the command prompt by starting new sessions. In this case, SuSE Linux always runs the resource file. $ bash --login .bashrc has run $ logout $ bash .bashrc has run $ exit As a result, you cannot be certain of the behavior of the resource file without checking your distribution. Resource files can be suppressed with the --norc switch. Your distribution can run other files as well during login: 25/09/02 64
Red Hat and Mandrake Linux separates your customizations, putting functions and aliases in ~/.bashrc and other customization in ~/.bash_profile. Their .bash_profile script will automatically run a .bashrc file as well, if it is present. SuSE Linux separates your customizations, putting functions and aliases in ~/.bashrc and other customization in ~/.profile. Their .profile script will automatically run a .bashrc file as well, if it is present. SCO Linux (also called Caldera Linux) uses ~/.profile, which calls ~/.bashrc. It then runs the profile script from ~/etc/config.d/shells to configure the system defaults. When ~/.bashrc runs, it calls /etc/config.d/shells/bashrc to set up the non-interactive defaults. User's personal customizations should be stored in ~/.profile-private and ~/.bashrc-private, respectively.
Likewise, the general profile files can be customized: Red Hat and Mandrake split customizations into /etc/bashrc and /etc/profile to mimic the behavior of a user's profile files. Further system scripts automatically executed are for specifically installed packages stored in /etc/profile.d. SuSE Linux automatically set the contents of many files in the /etc directory, including /etc/profile. As a result, personal changes must stored in a separate file called /etc/profile.local or they can be lost when the system is reconfigured or upgraded. Other system scripts automatically executed are /etc/SuSEconfig and scripts for installed software packages stored in /etc/profile.d. SuSE also includes an /etc/profile.dos script to define customizations for users coming from MS-DOS. This is enabled by SuSE configuration software, but it can also be executed from your /etc/profile.local file. SCO Linux only puts minimum setup information common to any Bourne-based shells in /etc/profile. Common Bash settings should be configured in /etc/config.d/shells/profile and /etc/config.d/shells/bashrc. Para todo usuario: /etc/profile, /etc/bashrc, /etc/bash.bashrc y, para algo que sea accesible a todos los usuarios y no se borre al actualizar linux: /etc/bash.bashrc.local. Si se abre una sesin de usuario se ejecuta: $HOME/.bashrc Si el usuario hace login se ejecuta tambin: $HOME/.bash_profile o, si no existe (o la shell es ksh): $HOME/.profile Tambin ejecuta: /etc/profile.d/*.sh, .csh, etc segn la shell. Cuando se llama a konsole (o rxvt u otra utilidad de terminal texto) se abre un terminal en el cual el usuario no ha ejecutado su .profile. Para que lo ejecute (login) es necesario pasarle un parmetro que lo indique explcitamente. En konsole y rxvt suelo pasarle los parmetros: konsole %i %m --ls rxvt -bg 0 -fg 7 -ls -st -tn aixterm --> --ls para login. --> -ls
Para que esto ltimo no sea necesario, es mejor meter lo que se necesita en .bashrc y as se ejecuta siempre. Para evitar tener que modificar .bashrc para cada usuario se pone lo comn en /etc/bash.bashrc.local (SuSE). Por ejemplo, para cambiar el prompt para todos los usuarios: if test "$UID" = 0 ; then PS1=\($(hostname)\)' $PWD# ' else PS1=\($(hostname)\)'$PWD$ ' fi
25/09/02
65
12.11.-Colorear la consola
Se aade en /etc/bashrc esto: ROJO="\[\033[0;31m\]" AZUL="\[\033[0;34m\]" VERDE="\[\033[0;32m\]" NADA="\[\033[0m\]" PS1="$ROJO\u$NADA@$VERDE\h$NADA $AZUL\w$NADA $ROJO#$NADA " y se recarga bashrc: source /etc/bashrc
unlimited unlimited
Lo que arranca con xinetd. Si se instala telnet, ftp, etc, aparece un script en /etc/xinetd.d con disable=yes. Se pone a "no" y se activa xinetd con chkconfig -a xinetd. Se desactiva con chkconfig -d xinetd. O con on y off. el aplicacin. /etc/rc.d contiene scripts de arranque y parada de aplicaciones. Cada script contiene arranque y parada de una aplicacin dentro de un "case". /etc/rc3.d contiene un enlace para cada script que deba arrancar o parar una Si el enlace comienza por K es de parada; si comienza por S es de arranque. Estos enlaces se ejecutan en orden alfabtico cuando el sistema alcanza el nivel de ejecucin designado por el nmero del 66
25/09/02
sistema
directorio. Es decir, se ejectutan todos los script que contengan un enlace en el directoriy /etc/rc.d al arrancar y al parar el sistema cuando se alcanza el nivel de ejecucin 3. Si se est arrancando el se ejecutan todos los que comiencen por S y, si se est parando, se ejecutan los que comiencen por K.
Supongamos un script notes.sh que contenga el arranque y parada del servidor Notes. Creamos un enlace /etc/Snotes y otro /etc/Knotes, ambos contra /etc/rc.d/notes.sh. Cuando se ejecute Snotes el sistema llamar a notes.sh con el parmetro "start"; cuando se pare el sistema este llamar a notes.sh con el parmetro "stop". Para desactivar un script de arranque o parada lo renombramos como: _Snotes y _Knotes (en el ejemplo). El contenido del script notes.sh es: . /etc/rc.config case "$1" in start) echo -n "Starting Notes" su - notes -c ' /home/scripts/notes/domino_start.sh > /dev/null 2>&1 ' rc_status -v ;; stop) echo -n "Shutting down Notes" su - notes -c ' /home/scripts/notes/domino_stop.sh > /dev/null 2>&1 ' rc_status -v ;; esac rc.config se ejecuta para poder utilizar rc_status el cual muestra el resultado del arranque o parada de la aplicacin junto con el mensaje del cual se hace "echo" (Shutting down Notes).
12.14.-PARAR SISTEMA
shutdown -fh now shutdown -fr now reboot init 6 Init 0 init 1 init 5 --> Rearrancar --> Rearrancar --> Rearrancar. --> Parar --> Modo de mantenimiento --> Entrar en nivel de ejecucin con grficos (xdm).
12.16.-CONFIGURACION
La configuracin del sistema se guarda en /etc y, especialmente, en /etc/sysconfig. Dentro de /proc aparece la configuracin en tiempo de ejecucin. TODO yast , yast2. (SuSE). Linuxconf, control-panel (de RedHat, obsoletas). Setup (RedHat). sndconfig (RedHat) Para configurarlo directamente, editar: /etc/sysconfig/keyboard KEYTABLE="es.map.gz" --> cambiar por lo que se busque: us.map.gz o similar. Rearrancar teclado: /etc/init.d/kbd restart. netconfig (RedHat)
SONIDO TECLADO
RED
Teclado, ratn, sonido, X, autenticacin, servicios setup IMPRESORAS printconfig-gui lprsetup CUPS: lpstat, lpadmin.
12.17.-Puertos serie
/dev/ttyS0 /dev/ttyS1 /dev/ttyS2 /dev/ttyS2 equivale a COM1 COM2 COM3 COM4
25/09/02
68
12.19.2.-Versiones de Linux
En RedHat Advanced server 3 32bits se instalan varios ncleos. Uno para caso de fallos y otros tres: Normal: slo reconoce un micro y 3,6 Gb de RAM. Enterprise: para tamaos de RAM mayores de 4 Gb. SMP: para tamaos de RAM hasta 16 Gb, varios micros. PAE: para micros de 32bits con extensiones de 64 (PAE). RHEL: RedHat Enterprise Linux. ES: Enterprise server. Slo reconoce dos micros fsicas, cuatro con HThreading. AS: Advanced server. Reconoce ms micros. Fedora: es un RH libre, sin soporte. En Suse: SuSE, ahora llamado OpenSuse: es el Suse libre, sin soporte. SLES: Suse Linux Enterprise Server.
12.19.3.-Threads utilizados
NPTL (kernel 2.6) LinuxThreads (kernel 2.4): getconf GNU_LIBPTHREAD_VERSION --> NPTL Linux Threads
25/09/02
69
Adding these lines to the /etc/sysctl.conf file will cause the system to change these kernel parameters after each boot using the /etc/rc.d/rc.sysinit script which is invoked by /etc/inittab. But in order that these new added lines or settings in /etc/sysctl.conf become effective immediately, execute the following command: sysctl -p
Esto deja una imagen bzImage en /usr/src/linux_xxx/arch/i386/boot/bzImage que se copia a /boot y se aade la entrada correspondiente a este ncleo en /boot/grub/menu.lst. Tras compilar el kernel los mdulos pueden quedar anticuados (si hemos cambiado la versin de kernel). Para recompilar los mdulos: make modules make modules_install Esto crea un directorio de mdulos en /lib/modules/linux-versin_del_ncleo. Si se compila la versin del ncleo que ya tenamos instalado esto va a sobreescribir los mdulos que ya tenamos: hacerles backup. Si no, se crea un directorio nuevo. Se modifica el initrd por lo mismo: mkinitrd /boot/initrd_nuevo opciones Ejemplo: mkinitrd -k /boot/vmlinuz-2.4.x -i initrd-2.4.x -d /boot Ejemplo con ncleo 2.6: mkinitrd -v initrd-2.6.9-42.0.3.EL.img 2.6.9-42.0.3.EL Es recomendable recompilar el ncleo tras instalar el sistema operativo para adecuarlo al hardware de que disponemos. Por ejemplo, se debe compilar contra el microprocesador concreto creando, y compilando despus, en .config una entrada: # Processor type and features CONFIG_MPENTIUMIII=y Esta entrada se crea desde make xconfig. Atencin: la configuracin del ncleo-fuente no es la del ncleo que viene instalado. La configuracin de este ltimo est en /boot/config-versin_del_ncleo. En /proc/config.gz est la versin en ejecucin del ncleo: se supone igual a 25/09/02 70
la anterior. Es normal que, tras recompilar y arrancar con el nuevo ncleo, no funcione todo lo que antes lo haca: configurar correctamente antes de compilar. En la versin 2.6 del ncleo la cosa cambia: make cloneconfig make xconfig make make modules make modules_install cp bzImage /boot Modificar el initrd y aadir entrada en Grub.
12.19.6.-Mdulos Los mdulos quedan, una vez compilados, en /lib/modules/versin_ncleo. Se instalan aadindolos a /etc/modprobe.conf. Se ven con: lsmod Para conocer los parmetros que podemos pasar a un mdulo: modinfo nombre_mdulo
12.20.-WEBMIN
Administra el sistema desde un navegador. Se instala como webmin-xxx.rpm en el directorios /usr/libexec/webmin, con su configuracin en /etc/webmin. Necesita instalar usermin-xxx.rpm. Se configuraba ejecutando: /usr/lib/webmin/setup.sh -> Ya no hace falta para RH ni SuSE. Se arranca: /etc/init.d/webmin start. Se usa: http://localhost:10000. Necesita, pero no requiere, usermin. Si se pincha sobre su icono se instala automticamente desde webmin.
12.21.-CRON
Creacin: crontab -e ----> min hora da mes da-semana comando Ej: 0 2 * * 1 backup -0 -uf /dev/rmt0.1/home/plan Ej2: 15,45 8-017 * * * mandato --> desde las 8 a las 17 ejecuta mandato en los minutos 15 y 45. Archivos cron: /etc/cron.d --> diarios /etc/cron.xxx --> resto
25/09/02
71
14.-Aplicaciones multimedia
14.1.-Sonido
Configurar: Grabar: Mejorar: Reproducir: alsamix record nombre_archivo.wav gwc play archivo.wav mpg123 xmms
14.2.-Vdeo
MPEG: AVI: plaympeg, mplayer mplayer (Buscar: mplayer -ss hh:mm:ss pelcula.avi). Xine
15.-Procesos
15.1.-PS con path completo
ps axwww
15.5.-Strace, trazas de un programa strace programa libreras, etc. --> Indica lo que va cargando un programa en su ejecucin:
15.7.-Contabilidad de procesos
Para recoger datos sobre la ejecucin de procesos: cundo arrancan y acaban y otros. Paquete: psacct Programa: accton Deja datos en: /var/account/pacct Activacin: Comandos: ac sa lastcomm Tamao del log: muestra tiempo de conexin por usuario muestra informacin de procesos ejecutados muestra informacin sobre todos los comandos previamente ejecutados controlado por logrotate. Aparece en /etc/logrotate.d/psacct. accton /var/account/pacct
25/09/02
73
Arch
: x86_64
16.7.-Crear pipes
mkfifo -m 777
16.8.-El salvapantallas no reconoce clave de acceso Suele ocurrir cuando se interrumpe bruscamente una instalacin. Al bloquear la pantalla con el salvapantallas no reconoce la clave del usuario para desbloquearla. La solucin est en ejecutar el script que se ejecuta al final de una instalacin con yast. Es decir, se ejecuta /sbin/SuSEconfig y esto deja bien el sistema. 16.9.-Montar CDROM mount -t iso9660 /dev/hdc /mnt/cdrom O bien (SuSE): mount /cdrom
25/09/02 74
asignada en /etc/fstab
dmesg muestra con qu nombre se ha reconocido el cdrom. Con ese nombre se puede montar donde queramos: mount /dev/cdr0 /media/cdrom
16.12.-Formateo de disquete DOS fdformat /dev/fd0H1440b o bien: mformat a: o bien: mkfs.msdos /dev/fd0
16.14.-Ejecucin de comandos recientes History --> Muestra los ltimos comandos ejecutados. Ctrl-r --> Pide cadena con la cual busca en la lista de comandos ejecutados y la ejecuta.
16.15.-Dialog, xmessage, qmsg Dialog hace pantallas para bash. Ej: dialog --title Prueba --msgbox 12 35 xmessage hace pantallas para X: Ej: xmessage hola
25/09/02 75
16.16.-Paso de iconos de Windows (.ico) a Linux (.png) Se realiza mediante la utilidad PixiePlus. Se abre el archivo .ico, se pulsa con el botn derecho sobre l y se selecciona la primera opcin de men, que dice "convert to", y seleccionar el tipo destino deseado. 16.17.-Rungetty
Ejecuta aplicaciones en terminales virtuales.
16.21.-System rescue CD
Es un CD bajado de la web para realizar tareas de mantenimiento. Permite por ejemplo montar un servidor .pxe + dchcp que levante otras mquinas e instalar en las mismas va partimage. Pero tambin resetear claves de entrada al Windows y otras muchas cosas. Para seleccionar el cdigo de teclado en el arranque, aadir al final de la lnea grub lo siguiente: setkmap=es.
DISPLAY=127.0.0.1:0.0 LC_CTYPE=es_ES@euro export DISPLAY LC_CTYPE /usr/bin/notes5-apps y creo un icono en la barra de herramientas o en el men K: Clic derecho sobre barra aadir - botn - seleccionar cualquier aplicacin aceptar Modificar el botn: clic dcho - preferencias general: darle nombre e icono ejecutar: darle el comando: el script anterior con seleccionar "ejecutar como otro usuario" darle el usuario, distinto de root, con el que se
Arranco Notes por vez primera. Le doy el id (es087399.id). Le doy el servidor Notes (D18ML003/18/M/IBM). Lo anterior es slo para probar que funciona bien. Ahora lo configuro igual que el de W95. Para ello: copio /w95/Lotus/Notes/Data/names.nsf y desktop5.dsk en /root/.notes5/Lotus/Notes/Data creo en Linux (Data) enlaces a las bases de datos de W95 (a las que no estuvieran ya el Linux). Conexiones Notes (ya creadas con lo anterior): ausnform d06db007 d06dbl06 d18db003/18/a/ibm d18dbl01 d18ml003/18/m/ibm stadb02/sta/a/lotus ausnform.austin.ibm.com 9.180.34.230 9.180.35.71 d18db003.spain.ibm.com 9.71.13.37 9.71.13.43 9.128.2.28
Tras una cada de Linux con el Notes abierto este no vuelve a arrancar. Notes deja un log en /tmp/notes-$USER.log que indica la solucin. Esta es borrarel archivo:/root/.notes5/.wine/wineserverigan/socket (donde igan es el hostname). Esta incidencia est ya resuelta en las ltimas versiones de Notes under Linux.
18.-Compilacin en Linux
18.1.-Compilacin del ncleo
Linux es el nombre del ncleo del sistema operativo GNU-Linux. Sobre Linux se ha compilado software libre y otros dando lugar al GNU-Linux que, por extensin, se ha dado en llamar Linux. El ncleo de Linux se puede parchear, modificar y sustituir. El procedimiento para ello es instalar los fuentes del ncleo en /usr/src, modificarlos con parches o retocando el cdigo, configurarlo cambiando parmetros de compilacin y recompilarlo. Despus se lleva el ncleo creado a /boot y se 25/09/02 77
incluye en la lista de arranque de Lilo o de Grub. El software del sistema operativo est compilado para el ncleo que viene con la distribucin. Es posible por ello que, si los cambios de una versin a otra del ncleo son importantes, algunos paquetes del sistema operativo no funcionen y haya que recompilarlos para el nuevo ncleo. El ncleo nuevo y el que trae la distribucin no suelen tener las mismas capacidades habilitadas. Es recomendable revisar bien la configuracin del ncleo nuevo para que permita todo lo esperado de l.
Tras esto, se ejecuta: lilo para que acepte los cambios. Si el gestor de arranque es Grub se aade en /boot/grub/menu.lst: title Linux 2.4.20
25/09/02
78
kernel (hd0,3)/boot/bzImage root=/dev/hda4 ide=nodma apm=off acpi=off vga=788 initrd (hd0,3)/boot/initrd grub queda configurado sin necesidad de ejecutar nada. Cuidado: Grub numera desde cero en adelante las unidades y Lilo lo hace desde uno. Por tanto, /dev/hda4 es (hd0,3) para Grub (para ms informacin leer el apartado de Grub). Se prueba el nuevo ncleo rearrancando la mquina y seleccionando en el men del gestor de arranque esta nueva entrada. Si falla se puede arrancar con el ncleo antiguo y volver a compilar cambiando la configuracin.
18.4.-Modificacin de paquetes
Como ejemplo, linuxrc, que pertenece al sistema operativo. Entro en /usr/src/packages/BUILD/linuxrc-1.3.20. Copio el fichero que quiero modificar: cp util.c util.m Modifico el cdigo en util.m. Ejecuto: diff -p util.c util.m > util.dif mv util.dif Atencin: Al compilar se pierde todo el contenido del directorio BUILD. El cdigo de los parches aplicados queda escrito dentro del util.c. Pero: hay que modificar el fichero spec para incluir este nuevo cambio; si se olvida este paso, al compilar se pierde el util.m y el util.c no incluir los cambios y se habrn perdido las modificaciones. cd /usr/src/packages/SPECS 25/09/02 79 /usr/src/packages/SOURCES/linuxrc-1.3.21.dif
vi linuxrc.spec Aado: Patch18: %patch18 y, por ltimo, compilo: rpmbuild -ba linuxrc.spec linuxrc-1.3.21.dif
18.5.-Programas de usuario
Se compila: gcc -o programa_ejecutable programa_fuentej.c -llibrera La librera liblibrera.so est en /usr/lib. A menudo la cabecera siguiente: #include <librera.h> hace que, al no enlazar la librera, de errores de compilacin. Se soluciona con el -llibrera. Del librera.h deduzco el nombre de la librera por nombre simila.
18.6.-LDCONFIG
ldconfig Pgina man: ldconfig creates the necessary links and cache (for use by the run-time linker, ld.so) to the most recent shared libraries found in the directories specified on the command line, in the file /etc/ld.so.conf, and in the trusted directories (/usr/lib and /lib). As evitamos errores en ejecucin de programas. Cuidado: /etc/ld.so.preload. Si da errores con strace programa de este tipo es que puede ser necesario instalar algo o configurarlo. Esta librera permite la precarga de libreras: si no est aparecer un error por cada librera que intente precargar. Explicacin de esto: `/etc/ld.so.cache' A file created by `ldconfig' and used to speed linking. It's structure is private to the suite. `/etc/ld.so.conf' A simple list of directories to scan for libraries, in addition to `/usr/lib' and `/lib', which are hardwired. It may contain comments started with a `#'. `/etc/ld.so.preload' A list of libraries to preload. This allows preloading libraries for setuid/setgid executables securely. It may contain comments.
19.-SCRIPTS y utilidades
19.1.-If
Comprobacin de comando correcto: grep "tty1" /etc/securetty > /dev/null 2>&1 if [ $? != 0 ]; then echo Encontrado 25/09/02 80
fi
19.2.-FTP automtico
#!/bin/sh # FTP automtico ################ ftp -inv << EOF open itsaix user vicente bellota get smit.log bye EOF Las lneas que contienen EOF tienen que estar pegadas a la izquierda, sin espacios.
19.3.-Expect
#!/usr/bin/expectf # # #Conestescriptbajamoselarchivodepasswordsautomaticamente, #delservidorqueespecificamosenlavariablesite setsite"host.algun.lugar" #Aquidefinimoseldirectorioremoto setdir"/etc" #Seleccionamoselarchivoremoto settheirname"passwd" #Establecemoselnombreconelquebajara setmyname"passwd22" #Colocamoselpassworddelacuenta setpassword"holamundo" settimeout60 #Nosconectamos spawnftp$site expect"*Name*:*" #IMPORTANTE:aquiestablecemoselloginconelqueentraremosal #servidorremoto send"alex\r" #comenzamosconelprocedimeentohabitualdeunaconexionftpyla #transferenciadelarchivoindicado. expect"*Password:*" send"$password\r" expect"*ftp>*" send"binary\r" expect"*ftp>*" send"cd$dir\r" expect"*550*ftp>*"{exit1}"*250*ftp>*" send"get$theirname$myname\r" #Aquipuedeser"PUT"o"GET" expect"*550*ftp>*"{exit1}"*200*226*ftp>*" #Terminamosynosdesconectamos. close wait send_user"FTPtransferok\n" exit0 #FIN
sed -i /net.bridge.bridge/d /etc/sysctl.conf sed -i 's/kernel.sysrq = 0/kernel.sysrq = 1/' /etc/sysctl.conf Otra forma es utilizar el editor de lneas ed. Se ve en un ejemplo: Se parte del archivo de texto siguiente (podra ser XF86Config):
uno PATHF /usr/X11R6/lib/X11/fonts/truetype /usr/X11R6/lib/X11/fonts/truetype2 FINPATH Otras cosas Y se acab
Ha modificado la lnea de PATHF y ha aadido un path nuevo. Comandos de ed: q w c i a /str/ n1,n2 s/str1/str2 n1,n2 p 6,$p n1,n2 d Enumeraciones de: n1,n2 , . Otro ejemplo: #!/bin/sh ed -s texto << EOF /truetype/ . s/truetype/fuentenuevo/ . 25/09/02 82 Sale Salva Modifica la lnea actual Inserta lnea antes de la lnea actual Aade lnea tras la lnea actual Busca str Sustituye, en las lneas n1 a n2, str1 por str2 lista las lneas n1 a n2 lista 6 lneas al final del archivo borra desde las lneas n1 a la n2 todo el buffer la lnea actual
w q EOF En el ejemplo anterior, si cambio .s/truetype/fuentenuevo/ por: ,s/truetype/fuentenuevo/ se cambia en todas las lneas del fichero.
19.6.-Find
find . -name \* -type d -exec echo {} \; Exec ejecuta comandos sobre los archivos encontrados en el find. Los encuentra siguiendo el rbol de arriba abajo y los entrega todos los nombres juntos al comando. Si el comando es un script, por ejemplo, el script no se ejecutar una vez para cada archivo encontrado sino una sola vez con el nombre de todos en la lnea de comandos. Si se desea confirmacin, sustituir -exec por: -ok Si se quiere buscar dentro de un sistema de archivos, sin que salga fuera de l: find . -xdev
19.7.-Locate
locate cadena updatedb -v busca archivos que contengan cadena ignorando maysculas actualiza la base de datos para las bsquedas de locate
# minsculas pero puede que apunte a un directorio cuyo nombre est # ahora en minsculas. Hay que rehacer los enlaces a mano. # Autor: J.Vicente Romero Santandru / IBM 25/02/2003 ############################################################################## function min { fich2=$(echo $fich1|tr 'A-Z' 'a-z') if [ $fich1 != $fich2 ] then mv $fich1 $fich2 fi } function recorre { ls|while read fich do if [ -d $fich ] then cd $fich recorre cd .. fich1=$fich min else fich1=$fich min fi done } # Principal recorre
lnea. As, si se ejecuta como script un fichero editado en Windows (un DDL de DB2, por ejemplo), esto falla. Se deja bien el archivo as: Cat fichero | tr -d \\15 > fichero.bien archivo de O bien: tr -d \r < fichero_windows > fichero_linux Para comprobar que est bien: od -cd archivo. Esto muestra los caracteres \r (retorno de carro) y \n (nueva lnea) adems del texto. --> Quita los retornos de carro del final de un texto windows para que sea til en Unix.
19.12.-Traces de un script
#!/bin/sh -x (aado -x al comienzo del script).
19.13.-Resultado de un comando
Si quiero ejecutar una orden en funcin del resultado de la anterior, no utilizar el pipe ( | ) sino el punto y coma (bash). Ejemplo: echo hola|grep -i tr0 | if [ $? = 0 ] ; then echo s; fi echo tr0 |grep -i tr0 ; if [ $? = 0 ] ; then echo s; fi --> muestra s siempre, independientemente del echo. --> muestra: s slo si encuentra tr0.
19.14.-Operaciones aritmticas
contador=$(($contador+1))
19.15.-For
for {set x 0} {$x<10} {incr x} { puts "x is $x" } for i in `seq 1 10`; do echo $i done Otro For: for vm in $(cat /etc/vmware/vm-list |grep config|awk '{print $2}') do .. done for eth in {eth1,eth2,eth3,eth4,eth5,eth6,eth7,eth8,eth9} do done
25/09/02
85
19.16.-While
while [ $i -lt 4 ] do xterm & i=$[$i+1] done El bucle while tiene un problema serio con las variables de entorno: todas las utilizadas dentro del bucle son locales al mismo, no conservan su valor fuera de l. Se debe a que se suele utilizar tras un pipe. Como este abre una subshell, sus variables de entorno no salen fuera. En este while no salen las variables fuera del bucle: cat fichero | while read linea do procesa_linea variable=valor done echo $variable --> != valor La solucin a lo anterior es no utilizar un pipe, sino redireccionar el fichero: while read linea do procesa_linea variable=valor done < fichero echo $variable --> = valor
19.17.-Menes
#!/bin/bash OPTIONS="Hello Quit" select opt in $OPTIONS; do if [ "$opt" = "Quit" ]; then echo done exit elif [ "$opt" = "Hello" ]; then echo Hello World else clear echo bad option fi done
19.18.-Toma de parmetros
Comprueba si tiene parmetros: if [ $# -eq 0 ] then echo "Uso: $0 grupo usuario_1 .. usuario_N " exit 1 fi # Toma los parametros grupo=$1 #shift 25/09/02 86
while [ $# -gt 0 ] do echo $# echo $2 shift done echo $grupo Si le descomento el primer shift, debo tomar $1, ya que shift va desplazando los parmetros a la izquierda restando uno del nmero de parmetros que quedan por tomar. Es decir, toma siempre el primer parmetro y lo borra de la lista (o el segundo, pasando del primero, y lo borra de la lista). Sumar dos columnas de un listado El listado est formado por nombre apellido numero1 numero2. Esto devuelve nombre apellido suma(numero1 + numero2): cat completo.txt|while read lin; do echo $lin|awk '{print $1" "$2" "($3 + $4)}'>> resultado.txt; done
19.19.-Listado de hexadecimales
La secuencia de nmeros decimales no es sencilla de seguir, especialmente si hay muchos nmeros. En la secuencia 0x0800 0x08FF hay, por ejemplo, 256 nmeros: 16 x 16. Esta secuencia es muy til, por ejemplo, para generar un listado de direcciones de disco que formatear en zVM: for i in $(seq 0x0800 0x08FF); do echo "obase=16; $i"|bc; done El for realiza la secuencia y el echo lo muestra en hexadecimal. Sin obase muestra en decimal.
20.-Creacin de RPMs
Se pueden crear RPMs a partir de cdigo fuente realizando todo el proceso de compilacin y tambin se pueden crear a partir de los archivos compilados (de un producto ya instalado, por ejemplo). Veamos un ejemplo con archivos compilados. Supongamos un producto, jf, instalado en /opt/jf. Es un producto que no se puede instalar de modo desasistido as que se nos ocurre instalarlo a partir de lo instalado en un servidor. Para ello podemos crear un tar de los archivos instalados y hacer un script que haga todo lo necesario para instalarlo en otro servidor o bien crear un RPM que lo haga todo. Para crear el RPM, creamos un directorio /root/temp y copiamos /opt/jf a l conservando el path. Es decir, copiamos a /root/temp/opt/jf. A continuacin creamos /usr/src/packages/SPECS/jf.spec con el siguiente contenido: Summary: JF Name: JF Version: 1.1 Release: 1 Copyright: yo Group: aplicaciones BuildRoot: /root/temp %description JF tal cual queda instalado en un servidor. 25/09/02 87
Se crea el RPM para poder instalarlo sin interaccin. %post ln -s /opt/jetform /usr/jf sed "/Node/s/S......./$(hostname)/" /opt/jf/jf.ini \ > /tmp/jf cp -f /tmp/jf /opt/jf/jf.ini rm -f /tmp/jf %postun rm -f /usr/jf %files /opt/jf %changelog * Wed Apr 09 2003 - Made RPM from installed JF. Puntos importantes de jf.spec: BuildRoot: /root/temp RPM. instalar el /root/temp/opt/jf se %post ejemplo, %postun por borrar un producto. %files copiarn desinstalar. El crear como borrarlo en post y --> Es el directorio en el cual estn los archivos que se van a incluir en el Se incluyen tal cual aparecen en el /root/temp, teniendo en cuenta que, al RPM, aparecern colgando no de BuildRoot sino de /. Es decir, instalar en /opt/jf. --> Se incluyen comandos o scripts que se ejecutarn tras instalar el RPM, por para configurar el producto. --> Se incluyen comandos o scripts que se ejecutarn tras desinstalar el RPM, ejemplo, para eliminar por completo el producto. En este caso se usa para enlace que se cre en la instalacin y que no viene en la lista de archivos del --> Lista de archivos del producto. Contiene todos los archivos (/opt/jf) que se al instalar (con el path completo, o sea, /opt/jf) y que sern borrados al enlace que se crea en %post y se borra en %postun se podra /root/temp/usr/jf y, al incluirse en %files, no hara falta crearlo ni postun.
Para crear el RPM se ejecuta, en /usr/src/packages/SPECS, como root: cd /usr/src/packages/SPECS rpmbuild -ba jf.spec Y queda creado en: /usr/src/packages/RPMS/i386/jf-1.1-1.rpm Para instalarlo: cd /usr/src/packages/RPMS/i386 ( o copiar a otro directorio el RPM) rpm -ivh jf-1.1-1.rpm
libjavaplugin_oji.so -> /usr/java/jre1.5.0_14/plugin/i386/ns7/libjavaplugin_oji.so Hay que crear este enlace a mano y rearrancar Firefox.
22.-OpenOffice
22.1.-Plantilla
Se crea una plantilla y se aade desde mens: archivo - nuevo - plantillas y documentos.
Sus iconos estn en el men SuSE, submens: internet herramientas. Como paquete aparte, que bajar de Inet, est: xrfb. Todos utilizan el protocolo rfb. Tambin se puede utilizar VNC. Se arranca el servidor en el Linux. Desde un cliente VNC se arranca un servidor X, se le da permisos para acceso desde fuera (xhost +) y se arranca el cliente vnc. Comandos VNC desde un Linux:
Servidor: vncserver --> Devuelve el nmero de pantalla al que conectarse Cliente: vnc client --> Hay que darle la IP del servidor Linux y su nmero de pantalla. Gestor de ventanas: gnome-session --> arranca en el vnc cliente el gnome. /home/vicente/.vnc/xstartup
24.-Alta disponibilidad
Heartbeat, LVS (Piranha -Rhat- se basa en LVS), Ultra Monkey, kimberlite.
25.-Seguridad
25.1.-Encriptacin de claves
La funcin crypt toma como argumentos la password sin encriptar y una cadena de dos caracteres que se combinan con los otros dos para dar lugar a la clave encriptada. Los dos primeros caracteres de la clave encriptada son estos dos caracteres. Puedo tomar los dos primeros caracteres de un usuario en /etc/shadow y, usando la funcin crypt con ellos y la clave sin encriptar, comprobar que su salida encriptada es la misma. 25/09/02 89
La salida de crypt la puedo poner en /etc/shadow como clave encriptada de un usuario. Programa encriptar.c // // // // // Programa que devuelve claves encriptadas. Se compila: gcc -o encriptar encriptar.c -lcrypt La librera libcrypt.so est en /usr/lib. Se ejecuta: echo password_not_encrypted|./encriptar Devuelve: la password encriptada.
#include <unistd.h> #include <crypt.h> #include <stdlib.h> int main(void) { char *e,*p; p=malloc(50); scanf("%s",p); // e=crypt(p,"$1"); e=crypt(p,"P2"); printf("%s",e); free(p); return 0; };
26.-SSH
Se configura en /etc/ssh. Sshd.config configura el demonio servidor. Ssh.config el cliente ssh.
26.2.-Retardo en login
Para evitar un largo retardo en el login por ssh se cambia en /etc/sysconfig/ssh/sshd_config la lnea, si la hubiera: #UseDNS=yes por esta otra: UseDNS=no
26.3.-Login
ssh vicente@igan ssh -l vicente igan
26.4.-Copiar un archivo
scp ./kk vicente@servidor:/home/vicente/temp/kk2
25/09/02
90
Si copio dentro del mismo servidor (clono de un sistema de archivos a otro): tar -cv / --exclude=/boot --exclude=/mnt | (cd /mnt/root ; tar -xv) Revisar; no va bien.
26.6.-Ejecutar un comando
ssh vicente@servidor df -h
26.7.-Conexin rechazada
En $HOME/.ssh/known_hosts estn las mquinas a las que se ha accedido va ssh. Si se rechaza una conexin puede ser debido a el contenido de este archivo. Si se borra desaparece el problema.
En cada servidor destino: copiar esx_key.pub en $HOME/.ssh cat esx_key.pub >> authorized_keys vi authorized_keys Aadir al comienzo (de known_hosts?) la IP del servidor de origen from="10.210.48.114" ssh-dss xxxxxx (o el hostname) Y, para ejecutar, desde el servidor de origen: ssh -i ./esx_key esx47 o esto: scp -i temp/esx_key backup* esx47:/home/scripts/tsm Para el resto de servidores destino, copiarles el archivo authorized_keys y la esx_key.pub.
27.-SFTP
sftp usuario@servidor Se utilizan los comandos get y put. Los comodines en ambos operan como mget/mput en ftp. Si el puerto es distinto al estndar, por ejemplo, 3105: sftp -o port=3105 ip_destino
28.-RSYNC
rsync comando similar a rcp pero que copia slo los archivos que no se han copiado anteriormente.
29.-SAMBA
29.1.-Configuracin del servidor
Primero se activa swat: yast2 inetd --> Activar swat dentro de inetd. Despus se entra en swat con un navegador: http:/localhost:901 Se configuran los shares y se les da un usuario de acceso. Este usuario hay que aadirlo a Samba ejecutando: smbpasswd -a usuario y debe estar creado en el servidor y tener permisos de acceso adecuados al share. La password aadida no es la del sistema. Despus se arranca smb desde swat o bien ejecutando: /etc/init.d/smb start Despus conviene desactivar swat volviendo a parar inetd.
En este caso se monta una comparticin windows sobre un linux utilizando los dos mtodos. Si se quiere que monte automticamente, se aade esta lnea al /etc/fstab: //winserver/data /mnt/data smbfs noauto,username=dominio\usuario,password=xxx 0 0 atencin al cambio de la barra, \ en vez de /. Se puede poner de la otra forma pero, entonces, ser usuario/dominio: //winserver/data /mnt/data smbfs noauto,username=usuario/dominio,password=xxx 0 0 Para evitar que se vea la clave se crea un fichero, .smbpasswd, se slo lectura para el usuario root en /home/usuario y se mete en l: username=usuario password=password-del-usuario y se aade, en /etc/fstab: //winserver/data /mnt/data smbfs credentials=/home/vicente/.smbpasswd 0 0
Para montar como un usuario se ejecuta smbmount desde root pero se aade: -o username=xxx,password=xxx,uid=usuario,gid=grupo
30.-XINETD
Sustituye a inetd. Se configura desde Yast para que arranque servicios o bien se ejecuta: chkconfig vncserver xinetd por ejemplo, para que configure un servidor vnc. Esto crea un archivo en /etc/xinetd.d/vnc con dicha configuracin. Luego se puede modificar para hacer cambios. Se arranca desde /etc/init.d/xinetd start /stop /restart /status.
31.-Nombres de producto
Esta seccin relaciona nombres de servicio/software estndar y sus nombres en Linux. Kopete Bind Xinetd AOL Instant Messenger, Lotus Sametime, Microsoft Messenger. DNS server inetd
32.-hyperthreading
Tecnologa de Intel, slo en Pentium IV, se activa en la BIOS y hace que un mico se vea como dos. Incrementa el rendimiento en un 30% como mximo.
Sin embargo, se da un error de lectura y escritura cuando la unidad alcanza el final de la cinta. Este error est documentado en Internet como del ncleo 2.4.20 de Linux. Se puede reproducir con: mt -f /dev/nst0 rewind --> tar -cvf /dev/nst0 /etc/hosts Rebobina de nuevo. Tar -tvf /dev/nst0 --> Tar -tvf /dev/nst0 --> Tar -tvf /dev/nst0 --> tar -tvf /dev/nst0 --> rebobina Lee sin rebobinar y devuelve vaco Lee sin rebobinar y devuelve archivo hosts Lee sin rebobinar y devuelve vaco devuelve error.
Si se rebobina se repite el ciclo. Con varios archivos va dejando un hueco entre ellos. Datos de la unidad: Unidad de cintas: IBM Ultrium SCSI tapes 100/200 Gb LTO internal tape drive. P/N 00N8016. FRU: 59P685. Modelo: 3580. Notas sobre el driver: La Ultrium se puede configurar utilizando los drivers SCSI del Linux o bien los de IBMtape. Si se usan los primeros hay que crear un fichero /etc/stinit.def y ejecutar stinit para que la configure. Stinit ejecuta comandos ioctl con los parmetros del stinit.def. Ejemplo de stinit.def: manufacturer="HP" model ="Ultrium"{ scsi2logical=1 can-bsr can-partitions auto-lock mode1 blocksize=0 compression=1 mode2 blocksize=1024 compression=0 } Cada apartado entre llaves configura una unidad. La unidad aparece definida como /dev/st0 aunque el cliente utiliza /dev/nst0 para que no rebobine tras cada lectura. Para ver manufacturer y model se hace cat /proc/scsi/scsi y se buscan vendor y model. El cliente ha resuelto el problema del error con el mt -f /dev/nst0 eod: Basta con aadir el siguiente parmetro al stinit.def (kernel 2.4.20) fast-mteom=1 Y ejecutar stinit Ahora al ejecutar el mt -f /dev/nst0 eod no da salida de error en el kernel. Hay que aadir una stanza al archivo /etc/rc.local para que cargue la configuracin al arrancar: if [ -f /sbin/stinit -a -f /etc/stinit.def ]; then echo "Inicializando la unidad de cinta SCSI ..." /sbin/stinit -f /etc/stinit.def fi
34.-CDRECORD
/usr/bin/cdrecord -v gracetime=2 dev=0,0,0 speed=1 -dao driveropts=burnfree -eject Ejemplo de lo que lanza k3b, con cdrdao: /usr/bin/cdrdao write --device /dev/hdc --driver generic-mmc:0x00000010 --speed 4 -n -v 2 --eject --remote 19 /tmp/kde-vicente/k3bq90ifbto Para saber dev: cdrdao scanbus cdrecord scanbus Cdrecord acepta dev=/dev/cdrecorder.
25/09/02
94
37.-FTP cliente
Ftp://usuario:password@servidor_ftp/path_del_archivo. Ejemplo: ftp://ecs8545:jxOTAyPs@ftp.ecomstation.com/SVISTA/SVista-1.0.0.tgz
40.-CP
Copia de un directorio completo, incluidos los enlaces tal cual y conservando pertenencia y permisos: cp -dpR ficheros destino
25/09/02
95
42.-SMTP
Pararlo: postfix stop De forma permanente: yast2 - network - MTA Configurar como sin conexin.
44.-VI
44.1.-Sustitucin de cadenas
:%s/cadena1/cadena2 :s/cadena1/cadena2 --> Sustituye todas las ocurrencias. --> dem en esta lnea.
45.-Rendimiento
Herramientas para medir el rendimiento de un sistema Linux.
45.2.-Sysstat
Es un rpm llamado as: sysstat.rpm. Contiene las siguientes herramientas: /usr/bin/iostat /usr/bin/mpstat /usr/bin/sar
45.3.-Nmon
Herramienta libre de IBM, en toda plataforma Linux ms Aix y otros. Puede dejar como salida tablas Excel que luego se interpreten con herramientas grficas.
45.4.-Nagios
Estudia el rendimiento de los servidores en red. Recoge info por SMTP.
25/09/02
96
45.5.-RRDTool
Base de datos de medidas de rendimiento.
45.6.-Otras
MRTG para dispositivos de red. Webalizer para servidore web.
46.-Dimensionamiento de servidores
Herramienta de IBM para, dada una carga, recomendar un tamao y servidor concretos: http://www.developer.ibm.com/servers/sizing/portal/search.jsp?mvcid=main&packageid=3002 Lo mismo, pero de HP: http://h71028.www7.hp.com/ActiveAnswers/cache/71114-0-0-225-121.html Y la versin de DELL: http://www.dell.com/content/topics/global.aspx/power/en/ps3q01_graham?c=us&cs=555&l=en&s=biz
48.-Instalacin automatizada
Desde httpd y ftp. La configuracin del Apache o del vsftp (o servidor ftp cualquiera) vara con el tiempo; se muestran configuraciones ejemplo.
48.1.-RHEL 4
Para instalar desde un http, NFS FTP: boot: linux askmethod Se selecciona instalar por http ( NFS/FTP) y pide a continuacin direccin IP del RH que instalar y direccin IP de la fuente de instalacin. Para instalar un xSeries o blade server desde disquetera USB con un ks.cfg: boot: esx ks=hd:sdb/ks.cfg sdb es como detecta la disquetera, ya sea la del blade center o una externa en un xSeries. Me pregunta por qu adaptador quiero instalar; selecciono el primero. Por cable normal desde el porttil. El servidor web es el porttil, en /var/www/html/rhel4u4. El ks.cfg est configurado para ello y el httpd.conf est configurado para: DocumentRoot=/var/www/html Listen IP_del_porttil:80 Requiere: servidor web con Redhat copiado (cp -Rp de todos los CD,s) en $DocumentRoot/rhel4u4. Para servir archivos por httpd para una instalacin hay que comentar el contenido de /etc/httpd/conf.d/ welcome.conf. HTTPD corre como usuario apache. Si no se consigue permiso para entrar, hay que crear 25/09/02 97
un directorio en DocumentRoot con permiso del usuario y colgar de l los paquetes de instalacin de RHEL. Con el paquete system-config-kickstart se puede crear desde cero el ks.cfg para instalar desde http, pero va bastante mal con un archivo creado. Si el ks.cfg tiene un error de sintaxis el proceso de instalacin pasa de l. Al instalar un RH se crea un archivo en /root/ llamado anaconda_ks.cfg. Este es un kickstart que se puede modificar y usar para otros RH. La lnea clave con el origen de instalacin es esta: url --url http://192.168.70.124/rhas4u4
48.2.-SLES 10 SP1
On all SUSE Linux versions, the automatic installation gets invoked by adding autoyast= <PATH_TO_ PROFILE> to the kernel parameter list. So for example adding: autoyast=http://myserver/myconfig.xml will start an automatic installation where the profile with the autoyast configuration gets fetched from the webserver myserver. Para instalar desde una consola VNC: boot: vnc=1 vncpassword=xx hostip=192.168.1.122 netmask=255.255.255.0 Entre las opciones del Grub hay teclas de funcin que permiten seleccionar el origen del software. Se puede seleccionar un servidor web. Ejemplo: boot: install=http://ip/ vnc=1 vncpassword=xx hostip=192.168.1.122 netmask=255.255.255.0 Otros parmetros: nameserver= gateway= Tras la primera instalacin, usar autoyast: autoyast=http://server/path
25/09/02
98
53.-Hexadecimal
Dos comandos para mostrar el contenido de un archivo hexadecimal:
xxd hexdump
Muestro dos ejemplos sobre un archivo con el sector de arranque del disco: (igan) /home/vicente# hexdump kk 0000000 48eb 8e90 8ed8 bec0 7c00 00bf b906 0100 0000010 a5f3 2eea 0006 4700 4741 203a 0090 0010 0000020 0001 7c00 0000 0000 0000 0000 0000 17bf etc (igan) /home/vicente# xxd kk 0000000: eb48 908e d88e c0be 007c bf00 06b9 0001 .H.......|...... 0000010: f3a5 ea2e 0600 0047 4147 3a20 9000 1000 .......GAG: .... 0000020: 0100 007c 0000 0000 0000 0000 0000 bf17 ...|............ etc
multipath fallar. Ha de tormar los PV,s como vpathx solamente. Para que LVM funcione bien se ha creado un script /sbin/filtra.sh y se ha aadido a /etc/rc.local para que se ejecute al final del arranque. Este script aade al lvm.conf el filtro que se necesita para el funcionamiento normal del sistema. Si se dejara un filtro para slo vpathx el vg_sistema estara montado y funcionando bien pero vgdisplay no lo mostrara. Script /sbin/filtra.sh: #!/bin/sh disco=$(mount|grep /boot|grep /dev|awk '{print $1}'|cut -d1 -f1|cut -d2 -f1) ed /etc/lvm/lvm.conf << EOF >/dev/null 2>&1 /filter =/ c filter = [ "a|$disco[1-9]|","a/vpath[a-z]*/","r/.*/" ] . w q EOF
55.1.-Ubuntu
Parto de un Ubuntu configurado como c4eb. Pido usuario eSNI. Instalo TACACS en Ubuntu y lo configuro contra el servidor: 129.39.136.163:950 con mi usuario y password. Instalo tsocks y lo configuro para acceder a Enags. Para conectarme desde la red de IBM, lanzo Tacacs y, a continuacin, la aplicacin necesaria siempre con tsocks delante. Es decir:
55.2.-Windows XP
Instalo Hummingbird socks. Lo configuro creando un socks.cnf en: C:\WINDOWS\system32\Hummingbird\Connectivity\7.00\Socks Conecto a la red de IBM (desde un edificio IBM, ADSL, Wireless, mdem USB HSDAP + ATT Nw Client). ATT borra el fichero de configuracin de socks. Lo restauro desde: C:\Program Files\Hummingbird ESD\Socks\System32\Hummingbird\Connectivity\7.00\Socks a su sitio: C:\WINDOWS\system32\Hummingbird\Connectivity\7.00\Socks Me conecto a la eSNI conectando con usuario y password a: https://129.39.136.163:950/ Y ya puedo abrir sesiones con putty y web.
55.3.2.-Desde Ubuntu
Necesito instalar gnome-ppp y usb_modeswitch: http://www.draisberghof.de/usb_modeswitch/ Este ltimo se descomprime y se ejecuta make install (para ejecucin manual). El mdem lleva un disco interno que Ubuntu monta como cdrom en /media/Modem. Hay que desmontarlo y hacer que el sistema lo reconozca como mdem. Para ello: Se inserta el mdem USB lsusb lo muestra: vendor 0x1c9e product 0xf000 Ejecuto: usb_modeswitch Que contiene, en /etc/usb_modeswitch.conf, la configuracin para mi mdem: # ST Mobile Connect HSUPA USB Modem # Longcheer WM66, Vicente Romero. DefaultVendor= 0x1c9e DefaultProduct= 0xf000 TargetVendor= 0x1c9e TargetProduct= 0x9063 MessageContent="55534243123456788000000080000606f50402527000000000000000000000" Una vez reconocido y cambiado su identificador, lo veo en lsusb: vendor 0x1c9e product 0x9063 Ahora hay que crear el dispositivo. Para ello he aadido una regla en /etc/udev/rules.d que aade automticamente /dev/ttyUSBx al descubrir el mdem. El mdem lo descubre tras ejecutar usb_modeswitch, y automticamente crea el dispositivo: root@igan:/etc/udev/rules.d# cat 15-wm66.rules ACTION!="add", GOTO="ZTE_End" # Is this the ZeroCD device? SUBSYSTEM=="usb", SYSFS{idProduct}=="f000", SYSFS{idVendor}=="1c9e", GOTO="ZTE_ZeroCD" # Is this the actual modem? SUBSYSTEM=="usb", SYSFS{idProduct}=="9603", SYSFS{idVendor}=="1c9e", GOTO="ZTE_Modem" LABEL="ZTE_ZeroCD" # This is the ZeroCD part of the card, remove # the usb_storage kernel module so # it does not get treated like a storage device RUN+="/sbin/rmmod usb_storage" LABEL="ZTE_Modem" # This is the Modem part of the card, let's # load usbserial with the correct vendor # and product ID's so we get our usb serial devices RUN+="/sbin/modprobe usbserial vendor=0x1c9e product=0x9603", # Make users belonging to the dialout group 25/09/02 102
Atencin: para poder montar un disco USB tengo que mover este script fuera del directorio. Para poder montar un disco USB con el mdem conectado, mejor no creo la regla de udev sino un script:
root@igan:~# cat /usr/sbin/initmodem.sh #!/bin/sh usb_modeswitch sleep 10 modprobe usbserial vendor=0x1c9e product=0x9603 No debo arrancar el porttil con el mdem conectado pues entonces lo ve como mdem. Lo conecto tras arrancar y ejecuto initmodem.sh. Por ltimo, hay que marcar para conectar. Esto lo hace wvdial siguiendo su configuracin en /etc/wvdial.conf; lo he intentado sin conseguirlo. As que he instalado gnome-ppp. Este ltimo crea una configuracin en el directorio del usuario con el que arranca, /home/vicente/.wvdial.conf. Lo he retocado a mano para que no utilice usuario y para que use el modo estpido; tambin he aadido el apartado para insertar mi PIN (nnnn): Init2 = AT+CPIN=nnnn meter USB. Lo dejo sin PIN as: vicente@igan:~$ cat .wvdial.conf [Dialer Defaults] Modem = /dev/ttyUSB2 ISDN = off Modem Type = USB Modem Baud = 460800 Init = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Init3 = AT+CGDCONT=1,"IP","gprs-service.com" Init4 = Init5 = Init6 = Init7 = Init8 = Init9 = Phone = *99# Phone1 = *99# Phone2 = Phone3 = Phone4 = Dial Prefix = Dial Attempts = 1 Dial Command = ATM1L3DT Ask Password = off Password = . Username = . 25/09/02 103 pongo mi PIN . Conecta una sola vez, la siguiente ya no pide pin: sacar y
Auto Reconnect = off Abort on Busy = off Carrier Check = on Check Def Route = on Abort on No Dialtone = on Stupid Mode = on Idle Seconds = 0 Auto DNS = on ;Minimize = off ;Dock = on # Do NOT edit this file by hand! Hago chown de /etc/ppp/pap-secrets y chap-secrets a vicente:vicente para que gnome-ppp pueda modificarlos. En pap-secrets y chap-secrets debe aparecer, al final, la lnea: \. * \. correspondientes a login-name y password. Esto se crea entrando un punto en usuario y password de gnome-ppp. Es necesario aadir al grupo dip el usuario con el que nos conectamos y cambiar los permisos de /usr/sbin/pppd para que sean: -rwsr-xr-Si no conecta, hay que desactivar o desinstalar modemmanager. Tambin, quitar apparmor: /etc/init.d/apparmor stop update-rc.d -f apparmor remove aptitude remove apparmor apparmor-utils Para pruebas sin arrancar gnome-ppp: wvdial -C .wvdial.conf
Ver cmo aadir la segunda conexin tras dar de alta la tarjeta de MASmovil. APN: Internetmas Fono: *99***1#
56.-Ubuntu
56.1.-/etc/network/interfaces de un plumazo
IP esttica Revisa el archivo /etc/network/interfaces 25/09/02 104
$ more /etc/network/interfaces Este debera decir algo as, # The loopback network interfaceauto loiface lo inet loopback # The primary network interfaceauto eth0 auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.40 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 iface eth1 inet static address 192.168.1.41 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 La primera interfase loopback (lo) es una interfase especial que permite hacer conexiones internas. Esta no debera modificarse bajo ningn motivo. La segunda interfase definida es eth0, que corresponde a la primera interfase Ethernet. Revisa si los parmetros estn correctos. La entrada address corresponde al nmero IP del computador y debera ser nico. La entrada netmask corresponde a la mscara de red y es la que define el rango de nmeros IP de la red local. Para una red de clase C esta debera tener el valor 255.255.255.0 lo que define el rango de 0 a 255 en el ltimo dgito de los nmeros IP de la red local. Las entradas network y broadcast casi siempre corresponden al primer y ltimo nmero del rango de nmeros IP. La entrada gateway define el nmero IP del computador que funciona como ruteador (pasarela) de la red local y es quizs el parmetro ms importante despus del nmero IP del computador. Consulta con el administrador de la red sobre los valores pertinentes a la red local. Si necesitas cambiar alguno de estos valores usa el editor nano seguido del nombre del archivo a editar con su ruta completa, # vim /etc/network/interfaces y luego reinicia la red con el comando /etc/init.d/networking restart. Prueba nuevamente conexiones externas con ping. Revisa si la definicin del servidor de nombres de dominio (DNS) est correcta. Esta se encuentra en el archivo /etc/resolv.conf y debera decir algo as, search blog.solusan.com 202.89.70.31 nameserver 4.2.2.2 en dnde el valor de search debera ser el dominio de la red local. La entrada nameserver define el nmero IP del DNS. Este valor debe ser suministrado por el administrador de la red. Si haces modificaciones a estos valores reinicia la red con /etc/init.d/networking restart. IP dinmica (DHCP) Si la red est detrs de un servidor DHCP, que asigna los parmetros de la red a requerimiento, la entrada en /etc/network/interfaces dir, # The primary network interfaceauto eth0 iface eth0 inet dhcp Revisa con ifconfig eth0 si tiene nmero IP asignado. Si no hay nmero IP asignado, revisa que el paquete dhcp3-client est instalado. Si no, instlalo con, # apt-get install dhcp3-client Instala tambin el paquete resolvconf, # apt-get install resolvconf Este configura automticamente los servidores DNS presentes en la red, reescribiendo la informacin 25/09/02 105
en /etc/resolv.conf. Reinicia la red con /etc/init.d/networking restart. Tambin puedes forzar el contacto con el servidor DHCP corriendo dhclient eth0, # dhclient eth0 Internet Systems Consortium DHCP Client V3.0.4 Copyright 2004-2006 Internet Systems Consortium. All rights reserved. For info, please visit http://www.isc.org/sw/dhcp/Listening on LPF/eth0/00:13:ce:de:2f:72 Sending on LPF/eth0/00:13:ce:de:2f:72 Sending on Socket/fallback DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 8 DHCPOFFER from 192.168.0.1 DHCPREQUEST on eth1 to 255.255.255.255 port 67 DHCPACK from 192.168.0.1 bound to 192.168.0.118 renewal in 42300 seconds.
56.2.-Servicios en Ubuntu
root@igan:~# update-rc.d --help usage: update-rc.d [-n] [-f] <basename> remove update-rc.d [-n] <basename> defaults [NN | SS KK] update-rc.d [-n] <basename> start|stop NN runlvl [runlvl] [...] . update-rc.d [-n] <basename> disable|enable [S|2|3|4|5] -n: not really -f: force
56.3.-Nivel de ejecucin
Inittab: /etc/event.d/rc-default se cambia telinit S por telinit 3.
56.4.-Plugin Java
root@igan:/usr/lib/firefox-3.5.7/plugins# ln -s /usr/lib/j2re1.5-ibm/jre/bin/libjavaplugin_ojigtk2.so ./libjavaplugin_oji.so
56.5.-Paquetes
Instalacin de paquetes: synaptic, grfico.
56.6.-Instalacin de Java
Se instala, el de IBM, desde ibm-java-installer. Si quiero meter un java nuevo puedo desinstalarlo e instalarlo de nuevo, o bien: dpkg-reconfigure ibm-java-installer.
25/09/02
106
56.7.-Fuentes M$
apt-get install msttcorefonts.
25/09/02
107