        |
HowTo Swiki
HOWTOs variados
Tabla de contenidos:
Cheat sheets
- VI cheat sheet, indentar en vim - Comandos frecuentes en el uso del editor vi
- sed cheat sheet - Ejemplos de uso del sed (one liners, one liners explained, regex primer y la guía definitiva de sed (sed grymoire)). También sedawk micro-primer.
- adb cheat sheet - Para el debugger adb de solaris
- xdb cheat sheet - Para el debugger xdb de hpux
- dbx cheat sheet - Para el debugger dbx del Sun Forte/Workshop en solaris.
- pkgadd and friends cheat sheet - Instalar paquetes en solaris
- rpm cheat sheet - Instalar (y generar) paquetes en redhat
- cpio cheat sheet - Utilizar cpio (equiv. al tar.gz, usado en los rpm)
- socat cheat sheet
- bash cheat sheet and tips - Cómo usar bash
- expect cheat sheet - Para la extensión de TCL para automatizar logins, etc.
- uncompress/zlib with gzip data cheat sheet
- Signal handling cheat sheet (SIGTERM, SIGINT, etc)
- Expect (incl.curses)
- EMACS tutorial - Cómo usar EMACS
- gdb cheat sheet - Para el debugger gdb de GNU
- Cómo usar gdbserver para remote debugging
- profiling with gcc (-p) - Para compilar con información de cuánto tiempo se gasta en cada función.
- Makefile cheat sheet - Para hacer makefiles
- doxygen cheat sheet - Para generar documentación desde los fuentes de un programa
- ProC (oracle) cheat sheet (ext.link), Detailed ProC (oracle) cheat sheet (ext.link), ProC (oracle) select cursors cheat sheet (ext.link).
- C++ Quick reference (ext. link) - Para consultar los aspectos esotéricos del C++
- C++11 (ext.link) Repaso a las características más útiles de C++11
- Lambdas y templates en C (!): lambdas en C, templates y lambdas en C (ejemplo para hacer containers). Es una curiosidad, ya que realmente es un hack usando #defines y algunas extensiones de gcc...
- Network programming (sockets, ipv4, ipv6, etc)
- valgrind y amigos (Clang Static Analyzer, LLVM "Klee", C-Semantics tool) - Para encontrar errores en el código
- libxml2 cheat sheet
- Linux vs. Solaris/Opensolaris (ext. link) Diferencias entre linux y solaris (directorios, comandos, etc).
- ncurses (ext. link) - guía para ncurses
- NFS server configuration cheat sheet (all OSes)
- NFS server and client configuration cheat sheet (Debian) (nfs@sf.net).
- csh/bash login files cheat sheet/csh howto
- .Xauthority (cómo evitar usar xhost +)
- ttysnoop
- PostgreSQL Syntax and Use (from PostgreSQL, 2nd Edition by Korry and Susan Douglas)
- Profiling en Linux usando "perf" (ver qué funciones están gastando el timpo de CPU)
- GProf y amigos (Prof, etc)
- strace/truss Ver qué ficheros abre un programa, etc.
- bc (the arbitrary precision calculator language) cheat sheet - calculadora en línea de comandos
- GRUB cheat sheet (ext. link)
- Linux NFS cheat sheet
- Networking commands cheat sheet
- LVM2 cheat sheet
- Actualizar un NetBSD (foros NetBSD)
- ssh advanced tricks (ext. link)
- TeX
- NFS en solaris (incluye cómo usar el exportfs y el showmount).
- Firewall (ipfilter) en solaris
- aolserver introduction part 1, introduction part 2, introducing aolserver, aolserver boot-camp materials, acs4 (openACS) developer's guide tutorial: ACS 4 Packages, Example
- Secure-apt en debian etch
- ssh y PAM.
- ssh key management part 1, part 2, part 3, host based authentication en openssh, Confianza SSH entre Sistemas Unix: evitar el tecleo continuo de claves Uso de ssh-agent (ver "4. Sugerencias")
- PAM tutorial (/etc/pam.d) y Linux PAM system administrator's Guide
- SysReq en Linux
- Ensamblador/Assembler (x86, ARM, Sparc...)
- Outlook e-mail client tips and tricks Cómo hacer backups del correo outlook, etc
- Solaris SVM primer (RAID, softpartitions, etc)
- RAID+lvm2 rescue (ext.link)
- Git
- Refactoring in C (cocinelle/spatch)
- USB (reverse engineering et al.)
- JavaScript
- Reiniciar un Linux "a lo bestia" (sin usar init ni reboot)
- Compilar un binario enlazado estáticamente en Solaris
- Montar un CD en solaris (y listar los discos conectados)
- Cambiar un hostid a un solaris 10 (intel)
- javascript: cross domain xml/json/jsonp
- udev y rules.d
- Hacer que xfce4-terminal no subraye los enlaces
- HTML5 y jsonp
- Preparación de Makefiles
- javascript: iterar en arrays
- Evitar tearing en firefox (Linux) usando compton
- html5/css/javascript: native responsive images
- Comprobación de discos (HDD) usando SMART en Linux
- Solaris DTrace cheatsheet/examples (ver quien manda un kill, procesos arrancados, i/o...)
- TCP/IP sockets: Usar SO_LINGER, close(), shutdown() y SIOCOUTQ
- Configuración del nginx: repuestas cortadas (proxy_buffering)
- Cómo se conecta (y termina) un cable de red ethernet BNC
- Instalar JAVA manualmente en un Windows (con bash), útil para wine
- Montar una partición de una imagen de disco hecha con dd, usando mount -o loop
- Hacer que linux arranque con una resolución mayor para poder leer los panics de arranque completos, tanto usando vga= como por medio del grub(ext.link)
- Uso del comando ar para genrar librerias estáticas (libmilibreria.a)
- Modificar un initrd de Linux
- Undelete opened files on linux (root req'd)
- Cambiar el UUID de una partición FAT/VFAT/...
- Containers: Instalar cgroups para lxc/virt-manager en Linux Debian 8 (jessie)
- Instalar el openldap y utilidades en una debian (hecho en uiharu)
- Cómo poner un stunnel para hacer una conexión SSL/TLS/https desde un programa que sólo soporta plain_text/http
- Migrar de Debian 9 a Devuan 2, y de devuan 2 (equivalente a debian 10 Buster) a devuan 3 (equivalente a debian 11 "bullseye")
- Instalar el soporte a los ejecutables i386 de SICO en debian amd64 (debian 11, multiarch, x86_64, i386)
- Generar un certificado SSL PEM autofirmado (incluyendo generar el CA)
- Postgres cheat sheet
- Instalar oracle_fdw en postgres (Debian 11, postgres 13)
- UEFI: Windows Boot Manager y Linux con ReFind (usando BCDEDIT)
- Solaris: comando equivalente al free de linux para ver la memoria en uso y otras tareas de manteminento (last, etc)
- Instalar un chroot debian de arm64 en un PC x86_64 (debootstrap+qemu-user-static)
- Profiling de un programa usando valgrind/callgrind/kcachegrind (para ver qué partes de un programa son las más lentas y habría que optimizar)
- Ping: socket: operacion no permitida
Procedimientos en SICO
Procedimientos en metro
- Editar hosts main1
- Contraseñas BIOS en TCE/SIV
- Accesos a WIPE
- Conectar una máquina a ftp.de.debian.org desde el metro pasando por sico (actualizar una debian en campo, devuan)
- Escribir símbolos cuando el S.O. no utiliza el teclado español
- Arrancar un Solaris 10 cuando no se pueden utilizar comandos ya que no monta /usr
- Instalar el gdb en un solaris 10 o solaris 11
- Resetear la password de los reboteadores APC
- Configurar el Sistema de Metrovision en TCE
- Cambiar el superblock a una partición
- Configurar megafonía centralizada para el Sistema de Metrovision
- Arrancar un Solaris 9 cuando no puede abrir el fichero '/etc/path_to_inst'
- Contraseña a introducir cuando no funciona &TCE=!06
- Instalación de un paquete en Linux (ejemplo minicom)
- Configuración del Minicom para el reboteador
- Modificacion de icons
- Migraciones de estaciones
- Cambiar el superbloque de una partición dañada
- Usuarios de Acceso a los Reboteadores, TCEs, KVM....
- Reboteadores y armarios de Sala3 - Alto del Arenal
- Reboteadores y armarios de Sala1 TICs - Puerta del Sur
- Mandar ficheros a metro/ir a equipos de metro
- Rutas entre frontl06 y PDA-wifi conde de casal
- PDA-wifi en Colombia
- Conectarse a una UIS desde solaris
- Comprobar mensajes de driver en captura
- Instalación del demonio digirealport (dgrp) en Linux (y cómo reiniciarlo)
- Comandos de analisis de rendimiento en Solaris
- Comandos de análisis de uso de memoria en Solaris
- Conectarse a Metrosun1,Metrosun2 y Metrosun3 desde una consola
- ControlId
- Arrancar el audioserver de josemanuel (TETRA) en datos1_moviles
- Prueba de cambio_grupo TETRA automático vía SDTS
- Compilar en Sparc (antiguo wiki)
- Instalacion Aire Acondicionado
- Arranque de balizas en metro para ENYCA/Mondragón
- PCs con FlashDisk
- Comprobar una unidad maestra de modbus
- Hacer pruebas de TETRA con Teltronic, Amper
- Hacer sniffing en solaris (snoop, equivalente al tcpdump) y en linux (tcpdump)
- Instalar SSH en Solaris8/Solaris9
- Entrar en máquinas de Alto del Arenal
- kvm
- Postgres de db_sagir: añadir hosts, hacer dump/import, etc
- Reparar un HDD de teleindicadores/sata con el superbloque corrupto
- Instalar PPP en TCE
- Instalar Java 1.3.1 en los equipos HojaRutaXX con Debian GNU/Linux 3.0 (Woody)
- Configurar una TeleCancela en una parada de Metro Ligero
- Mantenimiento de ISA/CRP: diagnóstico de problemas
- TCTI: Instalar la aplicación de TCM en los teléfonos E55
- Sacar un minichat en cualquier estacion
- Solaris: query environment of a running process (pargs -e pid)
- Apuntes sobre Solaris 11 (disco de Metro, illumos)
- Distribuciones a METTAS de INDRA
- Distribuciones a METTAS de TELVENT
- Distribuciones a MBT de INDRA
- Distribuciones a PUPITRES de TELVENT
- Hacer que un equipo debian en metro pueda actualizarse con apt-get (debian)
- Solicitud de acceso a la subestación de Aeropuerto T4
- Como solucionar algunos problemas con OpenIndiana (Illumos, fork de Solaris 11)
- Instalar el valgrind en un pupitre_sc "nuevo" (debian 6.0.5, tmpfs)
- Arreglar que el raid1 de debian 8 en siv pueda arrancar en modo degradado
- Arreglar problemas de "corrupted MAC on input" con ssh/rsync en Linux
- Preparar un disco de instalación de windows 7 con controladores modernos
- Probar las alarmas urgentes del TCM con una tablet que está en remoto (p.ej. en sico...)
- Arreglar el "no kex alg" que sucede al hacer un ssh desde main1
- Cambiar un equipo TCEM (rpi4) por otro y que siga comunicando (cosas del dhcp)
- Configurar el apache tomcat (java, primefaces, aplicaciones por http) para que use SSL
- Hacer que el psql del postgres siempre pida password para entrar en una BBDD
- Actualizar un equipo rhel4 con núcleo de debian7 a una "debian 7 real" (amd64, hecho en metrosun11/metrosun12
- Añadir una estación a la lista de cámaras digitales (fich_video_estaciones2) de Alto del Arenal (crp02)
- Actualizar el núcleo de un SIV con Debian 8, desde kernel 3.16 al 5.19
- Listar usando adb los paquetes/programas instalados en un android
- Compilar el nginx en RHEL4 x86_64 (servvent)
- Instalar el servidor MQTT mosquitto en un debian 11 (devuan 4)
- Instalar un servidor vnc en vez de las X (tce con linux debian 9.8 para TCM)
Procedimientos remotos
Procedimientos en Canarias
How-tos genéricos para preparar/actualizar ordenadores
Tips&Tricks
- Magic SysReq en Linux (sync/umount/boot con sistema bloqueado)
- Listar dispositivos y HDDs de un solaris
- Floppys en solaris (extenal link)
- Tirar y volver a levantar un interfaz de red en solaris
- Buscar los logs que no rotan en una máquina UNIX
- Uso de LaTeX, LyX y trucos para generar los PDFs
- Compilar programas de IMakefile (xmkmf+imake)
- Cómo compilar las XFree/X.org
- Dibujar ascii-art en salchicha con el tetradraw
- Instalar debian en un entorno chrooted (ext. link) (alternative method (ext. link)) (howto usando dchroot).
- Why Debian Rocks (ext.link): cómo poner el upgrade en el cron, cómo istalar usando chroot, cómo quitar librería que no se usan (debfoster), debian signatures (debsigs), etc.
- Generar paquetes debian sin usar debhelper
- Instalar el GRUB (ext.link)
- Tuberías con netcat y/o con ssh
- Forwardear una sesión vnc usando ssh
- Compilar un kernel 2.6 "The Debian Way"
- Compilar kernels para Debian/Ubuntu
- Instalar una debian usando debootstrap (ext. link)
- Apt pinning for beginners (ext. link)
- Unofficial Apt repositories for debian: mplayer and friends, blackdown java, sun java, acroread, oracle express, opera, php/mysql, debian desktop (xorg, kde, xfce, mplayer, lame), xfce, mozilla.
- Desarrollar interfaces motif con lxb
- Monitoreo de redes ethernet: ethereal (curso) (ext. link) Aunque lo más fácil es usar simplemente tethereal redirigido a un fichero...
- Configurar una maquina HP-UX
- Usar el gestor de volumenes de RHEL4 y reparar el arranque del grub legacy
- Compilar paquetes binarios en Linux (Debian)
- Hacer diapositivas/presentaciones/transparencias con LaTeX y Beamer
- Ejecutar programas de diferente libc/ld-linux (p.ej. de sarge un potato)
- SAR en Linux
- The Perfect Setup (Debian Sarge HowTo) Web Server: Apache 2.0.x, Mail Server: Postfix (easier to configure than sendmail; has a shorter history of security holes than sendmail), DNS Server: BIND9, FTP Server: proftpd, POP3/POP3s/IMAP/IMAPs: in this example you can choose between the traditional UNIX mailbox format (we then use ipopd/uw-imapd) or the Maildir format (in this case we will use Courier-POP3/Courier-IMAP), Webalizer for web site statistics.
- The Perfect Setup - CentOS 4.3 (64-bit) COmo el de Debian, pero para CentOS.
- HA NFS Server (w/ heartbeat) Basado en el anterior...
- Installing A Bind9 Master/Slave DNS System (Sarge) basado en lo anterior...
- Recuperar archivos borrados en Win/NTFS
- Modificar/añadir rotado de logs a un Linux Debian
- Usar curl para hacer un FTP PUT
- Mail merge (bulk mail, cartas a varios destinatarios) desde Word
- Actualizar paquetes en una debian potato o woody (deprecadas)
- Asignar una MAC determinada a un nombre de interfaz en Debian
- Instalar vmware tools en una máquina virtual creada con vmplayer (y notas sobre vmware)
- Autorun.inf
- Utilizar socat para emular un udp telnet
- Instalar un túnel OpenVPN entre un Linux y un Solaris; instalar un redir en solaris para ver una maestra desde una red diferente
- Cambiar el editor por defecto en Debian (nano por vi), con update-alternatives
- Autologin de consola en Linux usando /etc/login.defs para que no pida password
- Reparar el RAID (md) de un disco de PCI que no funciona despues de copiar el maestro con la copiadora
- Navegar en Windows o Linux sin descargar imágenes ni anuncios Flash (para usar el móvil como módem)
- Servidores NFS para Windows
- Poner todos los ficheros de un tar a la misma fecha (incluyendo symlinks/enlaces sinbólicos)
Netiqueta
Mapas y motif
Programación
BBDD
- Los 5 Errores más comunes en una BBDD Oracle - Diagnóstico y Solución
Procedimientos Calidad
- Generación de tars con la configuración de nodos
Actualizar el Libro de Registro
Básicamente el proceso consiste en conectarnos a SAP y exportar las incidencias de PCI que estén terminadas, importarlas en nuestra base de datos de SICO-MIS y cruzar estas incidencias con nuestras respuestas para el cierre de las mismas (para ello se utiliza una utilidad dentro del propio SICO-MIS), exportamos de nuevo un excel con el cruce de las incidencias para el mes que queramos y el resultado lo añadimos al final del Libro de Registro (que previamente tendremos que haber bajado de Pandora).
- Conectarse a SAP para exportar las incidencias cerradas de PCI. Lo mejor es hacerlo con el usuario de Luis (ordenador que hay en el antiguo puesto de Guillermo, el PIN para el “RSA SecurID Token” es 5318 y la password para entrar al Windows virtual y al SAP siempre tienen el siguiente formato: Mes_AÑOabc, ejemplo: Julio_2025abc) o el de Beatriz, ya que estos usuarios tienen creada la disposición "Cerradas SCPCI".
- Una vez que hayamos entrado en SAP a la gestión de órdenes de trabajo hay que pulsar sobre el botón "Terminadas" (dejar la fecha de inicio y fin que aparece por defecto).
- Cuando termine de cargar las incidencias pulsamos sobre el botoncito "Seleccionar Disposición" y elegimos "Cerradas SCPCI" (normalmente es la de abajo del todo). Esto es necesario porque necesitamos que las columnas sean estas y estén en el siguiente orden:
- Puesto trabajo - Solicitud - Descripción solicitud - Clase de orden - Estado - Denom. Ubicación tec. - Equipo - Denominación equipo - Hora de Aviso - Fecha de creación de la orden - Fecha Ult. Not.
- Guardamos los datos como un Excel y nos lo enviamos por correo.
- A veces el campo "Fecha Ult. Not." está vacío cuando exportamos las incidencias de SAP. Hay que intentar informarse de qué valor debe tener (solo el día, la fecha no nos interesa) y rellenarlo antes de importar las incidencias en nuestra base de datos. Si no nos damos cuenta y las importamos podemos rellenar el valor o valores ejecutando la siguiente sentencia desde un SQLTools conectado a Database: UPDATE INCIDENCIAS_SCPCI_SAI_SAP SET FECHA_ULT_NOT=To_Date('14/06/2019 00:00:00','DD/MM/YYYY HH24:MI:SS') WHERE SOLICITUD='55218952'; Cambiando, lógicamente, el valor del campo fecha y el número de OT.
- En nuestro ordenador abrimos el Excel y lo guardamos como "CSV UTF-8 (delimitado por comas)"
- Abrimos con un Notepad el .csv y eliminamos la primera fila (cabeceras) y el salto de línea de la última fila (si se deja no pasa nada pero al hacer el sqlloader dará un warning de que la última línea no tiene datos)
- Seleccionamos todas las filas y las copiamos.
- Abrimos un terminal en Database (3.0.1.199) como usuario metro (password metro1), y en /home/metro borramos el fichero datos.dat, abrimos un vi para un nuevo fichero datos.dat (vi datos.dat), pegamos las filas copiadas anteriormente y guardamos.
- Exportamos la siguiente variable de entorno por línea de comandos: "[metro@database ~]$ export NLS_LANG=.WE8ISO8859P1" para que al hacer el sqlloader se guarden correctamente los caracteres con acentos o eñes.
- Hacemos el sqlloader para importar las incidencias de SAP en nuestra base de datos (no importa que algunas de las incidencias que intentamos exportar ya existan en nuestra base de datos, el sqlloader las descartará por clave primaria repetida): [metro@database ~]$ sqlldr metro/metro1 CONTROL=controlIncidenciasSAP.ctl DATA=datos.dat ERRORS=100000
- Abrimos la aplicación SICO-MIS y nos vamos al apartado de PCI -> Incidencias -> Registro de Trabajos. Seleccionamos el mes de la semana que queremos exportar, marcamos la opción "Mostrar sólo nuevas incidencias" y pulsamos el botón "Mostrar Incidencias".
- Al mostrar las incidencias deben aparecer en color verde todas las nuevas incidencias. Si alguna aparece en color rojo quiere decir que la incidencia no existe en nuestra base de datos. Hay que meterla en el apartado "Incidencias SCPCI-SAI" como se hace con todas las incidencias. Si no tenemos la opción de meter esa incidencia por la razón que sea (por ejemplo, la incidencia ha sido resuelta por Sinergia y todavía no ha enviado el correo de su actuación) y necesitamos actualizar el Libro de Registro con las demás nuevas incidencias marcamos la opción "No mostrar incidencias sin correspondencia en la BBDD de SICO" y volvemos a pulsar el botón "Mostrar Incidencias". Si la incidencia aparece en amarillo es que pertenece a un nodo que no existe en la tabla CODIGOS_SAP. Para insertar un nuevo nodo buscamos su información (la mayoría viene en la propia descripción de la OT) y ejecutamos una sentencia de este estilo desde un SQLTools conectado a Database: "INSERT INTO CODIGOS_SAP (ID_EQUIPO,DESCRIPCION_EQUIPO,COORDINACION_LINEA,DENOMINACION_UT_NIVEL_1,IFG_PROPIETARIO_INSTALACION,SISTEMA,SUBSISTEMA) VALUES ('0IFNODO000285','EQ. TELEG. SUB. LA FORTUNA','12','SUB. LA FORTUNA','DGI','NODO TCE Y SAI PCI','MATERIALES EQUIPOS TELEGESTION PCI');". Después de introducir el nuevo nodo en nuestra base de datos volvemos a pulsar el botón "Mostrar Incidencias" y la incidencia debería pasar de amarillo a verde.
- Una vez que todas las incidencias que queremos exportar están en verde pulsamos el botón "Exportar los datos a Excel". Si estaba marcada la opción "Mostrar sólo nuevas incidencias" cuando termine de exportarlas desaparecerán y si no estaba marcada la opción pasarán de verde a blanco.
- Bajamos el Libro de Registro de Pandora. Para ello nos conectamos a la dirección: https://pandora.metromadrid.net con el usuario: "sicosoft.pandora" y la password: "MetroMadrid19ss", entramos en la carpeta "7221000773 L6 SICO" y pulsamos sobre el Libro de Registro para descargarlo. Una vez descargado debemos borrarlo de Pandora, para ello lo seleccionamos y pulsamos el botón de los tres puntos "..." que hay al lado del botón "Descargar" para eliminarlo (antes de borrarlo asegurarse de que se ha descargado en nuestro ordenador).
- Abrimos el excel de las nuevas incidencias (pulsar el botón de habilitar edición si aparece) y abrimos el Libro de Registro, seleccionamos las nuevas incidencias SOLO desde la columna "A" hasta la "U" y las copiamos abajo del todo del Libro de Registro (si seleccionamos toda la fila al pegarlas dará un error porque las columnas a partir de la "U" están protegidas").
- Guardamos el Libro de Registro, actualizamos la fecha del nombre del Libro de Registro y lo volvemos a subir a Pandora (para ello pulsamos sobre el botón "+ Nuevo" -> "Subir archivos".
|