notas:start
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
notas:start [2014/06/25 19:01] – [Sistema Operativo] cayu | notas:start [Fecha desconocida] (actual) – borrado - editor externo (Fecha desconocida) 127.0.0.1 | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
- | ====== Notas ====== | ||
- | < | ||
- | | | | XXX |-| SGU |XXX=[[notas: | ||
- | | | | : | : | | ||
- | | | | : | L |KKK |-| KXN |KKK=[[notas: | ||
- | | | | : | : | | ||
- | | | | : | L | UBX |UBX=[[notas: | ||
- | | | | : | : | | ||
- | | | | : | L | CSY |CSY=[[notas: | ||
- | | | | : | | ||
- | | | | L |-| LLL |LLL=[[notas: | ||
- | | | | : | | ||
- | | | | L |-| AST |AST=[[notas: | ||
- | | | | : | | : | | ||
- | | | | : | | L | TDM |TDM=[[notas: | ||
- | | | | : | | | ||
- | | | | L |-| KML |KML=[[notas: | ||
- | | | | : | | | ||
- | | | | L | SYD |SYD=[[notas: | ||
- | | | | : | | | ||
- | | | | L |-| ENM |ENM=[[notas: | ||
- | | | | : | | ||
- | | | | L |-| BRX |BRX=[[notas: | ||
- | | | | : | | ||
- | | | | L |-| LDP |LDP=[[notas: | ||
- | | | | : | | | ||
- | | | | L |-| IPT |IPT=[[notas: | ||
- | | | | : | | | ||
- | | | | L |-| APH |APH=[[notas: | ||
- | | | | : | | | ||
- | | | | L |-| SSH |SSH=[[notas: | ||
- | | | | : | | | ||
- | | | | L |-| BIND |BIND=[[notas: | ||
- | | | | | | | ||
- | | | | L |-| SQUID |-| RHCS |SQUID=[[notas: | ||
- | | | | | | | : | | ||
- | | | | : | | | L |-| SHBT |SHBT=[[notas: | ||
- | | | | : | | | ||
- | | | | L |-| BDB |-| TVI |-| TSH |-| TIVT |BDB=[[notas: | ||
- | | | | : | | | ||
- | | | | L |-| GPG |GPG=[[notas: | ||
- | | | | : | | | ||
- | | | | L |-| SSL |SSL=[[notas: | ||
- | | | | : | | | ||
- | | | | L |-| PRG |-| STC |-| VLG |PRG=[[notas: | ||
- | | | | : | | | ||
- | | | | L |-| NFS |NFS=[[notas: | ||
- | | | | : | | | ||
- | | | | L |-| LINUX |-| UPGRADE_SUSE |LINUX=Linux|UPGRADE_SUSE=[[notas: | ||
- | </ | ||
- | |||
- | ===== Hardware ===== | ||
- | |||
- | |||
- | ===== Sistema Operativo ===== | ||
- | === Reloading inittab without reboot === | ||
- | |||
- | Para recargar nuestro inittab sin tener que reiniciar debemos ejecutar "/ | ||
- | |||
- | |||
- | === Ver cual de los archivos abiertos es el mas grande === | ||
- | |||
- | < | ||
- | # lsof -nn | sort -k7 -n | ||
- | </ | ||
- | |||
- | === Renombrar múltiples archivos === | ||
- | |||
- | Por ejemplo si tenemos archivos ***.cfg** y queremos cambiarle la extension de .cfg a .cfg.old | ||
- | |||
- | < | ||
- | rename s/ | ||
- | </ | ||
- | |||
- | === Compilar el Kernel a lo Debian === | ||
- | |||
- | Esto es lo mismo que hacer un //make -j//. | ||
- | |||
- | < | ||
- | export CONCURRENCY_LEVEL=2 | ||
- | </ | ||
- | |||
- | Despues de hacer el menuconfig le damos el make de esta manera. | ||
- | |||
- | < | ||
- | make-kpkg --initrd --append-to-version=-some-string-here kernel-image kernel-headers kernel-source | ||
- | </ | ||
- | |||
- | y listo, vamos a tener dos archivos asi: | ||
- | |||
- | < | ||
- | linux-headers-3.0.6-13-generic_3.0.6-13-generic-10.00.Custom_i386.deb | ||
- | linux-image-3.0.6-13-generic_3.0.6-13-generic-10.00.Custom_i386.deb | ||
- | </ | ||
- | |||
- | === Renombrar todos los archivos de minúsculas a mayúsculas (o viceversa) === | ||
- | |||
- | De minúsculas a mayúsculas: | ||
- | |||
- | < | ||
- | $ find . -type f|while read f; do mv $f `echo $f |tr " | ||
- | </ | ||
- | |||
- | De mayúsculas a minúsculas: | ||
- | |||
- | < | ||
- | $ find . -type f|while read f; do mv $f `echo $f |tr " | ||
- | </ | ||
- | |||
- | Ref.: http:// | ||
- | |||
- | === Ordenar procesos medio muertos === | ||
- | |||
- | < | ||
- | top -b -n 1 | awk '{if (NR <=7) print; else if ($8 == " | ||
- | ps axu | awk '{if (NR <=7) print; else if ($8 == " | ||
- | </ | ||
- | |||
- | |||
- | === QLogic FC HBA LUN Scan Utility === | ||
- | |||
- | This utility scans for the newly added LUNs. After adding the new LUNs | ||
- | it is not required to unload/load the QLogic FC driver or reboot the | ||
- | system. To see the newly added LUNs, just run the ql-scan-lun.sh utility. | ||
- | |||
- | The simplest way to use this utility is to run | ||
- | # ./ | ||
- | |||
- | By default the utility would re-scan the QLogic HBAs for new LUNs. | ||
- | |||
- | {{: | ||
- | |||
- | |||
- | |||
- | === Rescan SCSI BUS Script === | ||
- | |||
- | Linux allows you to add and remove SCSI devices without rebooting by using the echo "scsi add-single-device H C I L" > / | ||
- | Note, however, that the SCSI bus was NOT designed for hot-plugging, | ||
- | |||
- | |||
- | {{: | ||
- | |||
- | {{: | ||
- | |||
- | http:// | ||
- | |||
- | === Reescanear tabla de particiones === | ||
- | |||
- | Esto es útil por ejemplo si agregamos un disco desde VMWare o si estiramos un disco y el SO todavia no lo ve. | ||
- | |||
- | Desde una llamada al sistema : | ||
- | < | ||
- | echo 1 > / | ||
- | fdisk -l | ||
- | mkfs.ext3 /dev/sdXY | ||
- | </ | ||
- | O podemos hacerlo ejecutando la utilidad **partprobe** sin argumentos, desde una shell con root. | ||
- | |||
- | === Copia de seguridad con Rsync === | ||
- | |||
- | < | ||
- | rsync -av --progress --rsh ssh root@servidor:/ | ||
- | </ | ||
- | |||
- | < | ||
- | rsync --progress -av --delete / | ||
- | </ | ||
- | |||
- | * progress: nos mostrará el porcentaje de ficheros copiados | ||
- | * a: Archive, es una forma rápida de decirle que es una copia recursiva y que queremos que todo sea copiado | ||
- | * v: Verbose, le indica a rsync que de información en pantalla sobre cada transacción | ||
- | * z: Compress, comprime los ficheros para utilizar menor ancho de banda, así son copiados más rápidamente | ||
- | * delete: borrará todos los ficheros en el folder destino, que han sido borrados en el folder origen, lo que los hacer estar sincronizados | ||
- | |||
- | **script_rsync.sh** | ||
- | |||
- | <code bash> | ||
- | #!/bin/bash | ||
- | |||
- | REPOSITORY=/ | ||
- | HOSTDIR=$2 | ||
- | USER=monitoreo | ||
- | HOSTNAME=$2 | ||
- | ARCHIVOS=( "/ | ||
- | TMPHOSTCHECK=/ | ||
- | |||
- | case $1 in | ||
- | |||
- | ' | ||
- | if [ $# -lt 2 ]; then | ||
- | echo no second variable | ||
- | exit | ||
- | fi | ||
- | |||
- | rm -rfd ${TMPHOSTCHECK} | ||
- | cat /etc/hosts | egrep $2 | head -n 1 | awk ' | ||
- | |||
- | if [ -s ${TMPHOSTCHECK} ]; then | ||
- | PROPERNAME=`cat /etc/hosts | egrep $2\$ | head -n 1 | awk ' | ||
- | if [ ${PROPERNAME} != $2 ]; then | ||
- | echo Hostnames do not match - $2 - ${PROPERNAME} | ||
- | echo exiting | ||
- | exit | ||
- | fi | ||
- | rm -rfd ${TMPHOSTCHECK} | ||
- | else | ||
- | echo host does not exist!!!! | ||
- | echo exiting | ||
- | rm -rfd ${TMPHOSTCHECK} | ||
- | exit | ||
- | fi | ||
- | |||
- | if [ -d ${REPOSITORY}/ | ||
- | echo ${REPOSITORY}${HOSTDIR} exists | ||
- | else | ||
- | mkdir ${REPOSITORY}/ | ||
- | fi | ||
- | |||
- | for i in " | ||
- | do | ||
- | rsync -avz --progress -e 'ssh ' ${USER}@${HOSTNAME}: | ||
- | done | ||
- | |||
- | ;; | ||
- | |||
- | ' | ||
- | echo help screen | ||
- | ;; | ||
- | |||
- | *) echo " | ||
- | esac | ||
- | </ | ||
- | |||
- | === Buscar archivos de determinado tamaño === | ||
- | |||
- | < | ||
- | find ./ -type f -size +40000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 } | ||
- | </ | ||
- | |||
- | === Formateador de disco para unidades USB === | ||
- | |||
- | ufiformat is a command-line utility for formatting floppy disks in UFI- | ||
- | | ||
- | | ||
- | | ||
- | |||
- | |||
- | Homepage: http:// | ||
- | |||
- | |||
- | < | ||
- | This is formatting disk utility for USB floppy devices. | ||
- | |||
- | Usage: ufiformat [OPTION]... [DEVICE] | ||
- | Format a floppy disk in a USB floppy disk DEVICE. | ||
- | |||
- | -f, --format [SIZE] | ||
- | | ||
- | -F, --force | ||
- | -i, --inquire | ||
- | | ||
- | -v, --verbose | ||
- | -q, --quiet | ||
- | -h, --help | ||
- | Examples: | ||
- | To format a media keeping its current geometry: | ||
- | To format a media for 2hd(1.44MB): | ||
- | To list USB floppy devices: | ||
- | To show USB floppy device information: | ||
- | To use this program, both /dev/sd* and /dev/sg* need to be accessible. | ||
- | High-level formatting is usually needed after using this program(ex. mkfs.vfat -I /dev/sda). | ||
- | </ | ||
- | |||
- | |||
- | === Postfix Error === | ||
- | |||
- | Error : | ||
- | |||
- | < | ||
- | postfix/ | ||
- | </ | ||
- | |||
- | Solución | ||
- | |||
- | < | ||
- | sudo mkfifo / | ||
- | sudo / | ||
- | </ | ||
- | |||
- | |||
- | === Configurar protección/ | ||
- | |||
- | |||
- | El propósito del plugin protectbase es proteger ciertos repositorios de las actualizaciones de otros repositorios. Los repositorios que sean protegidos no serán actualizados por ficheros nuevos en repositorios que no estén protegidos. Este plugin es recomendado para todos aquellos que rutinariamente habilitan repositorios de terceros, debido a que estos repositorios que no son de CentOS pueden actualizar ciertos ficheros del sistema y causar potencialmente que su instalación de CentOS se vuelva inestable. | ||
- | |||
- | < | ||
- | yum install yum-protectbase | ||
- | </ | ||
- | |||
- | Después que el plugin esté instalado, asegúrese de que esté habilitado. Edite el fichero / | ||
- | |||
- | < | ||
- | [main] | ||
- | enabled = 1 | ||
- | </ | ||
- | |||
- | Luego usted necesita editar todos los ficheros .repo en / | ||
- | |||
- | < | ||
- | protect=1 | ||
- | </ | ||
- | o | ||
- | < | ||
- | protect=0 | ||
- | </ | ||
- | |||
- | Si tenes RH5 con las suscripciones pagas y todo, hay que editar este archivo | ||
- | |||
- | **/ | ||
- | |||
- | < | ||
- | [main] | ||
- | enabled = 1 | ||
- | gpgcheck = 1 | ||
- | |||
- | # You can specify options per channel, e.g.: | ||
- | # | ||
- | [rhel-i386-server-5] | ||
- | enabled = 1 | ||
- | protect = 0 | ||
- | # | ||
- | # | ||
- | #gpgcheck = 0 | ||
- | </ | ||
- | |||
- | Ref.: | ||
- | |||
- | |||
- | === Cambiar la MAC Address === | ||
- | |||
- | |||
- | Primero vemos la MAC Address que tenemos asignada fisicamente | ||
- | |||
- | < | ||
- | $ ifconfig -a | grep HWaddr | ||
- | eth0 Link encap: | ||
- | </ | ||
- | |||
- | Luego procedemos a cambiarla en modo root | ||
- | |||
- | < | ||
- | # ifconfig eth0 down | ||
- | # ifconfig eth0 hw ether 00: | ||
- | # ifconfig eth0 up | ||
- | # ifconfig eth0 |grep HWaddr | ||
- | </ | ||
- | |||
- | |||
- | |||
- | === Servicios al inicio del Sistema === | ||
- | |||
- | |||
- | * Red Hat | ||
- | * **chkconfig servicio on** o **chkconfig servicio off** | ||
- | |||
- | * SuSE | ||
- | * **insserv -d servicvio** | ||
- | |||
- | * En ambas distribuciones para ver los estados de ejecucion de los servicios | ||
- | * **chkconfig --list** | ||
- | * Ademas se muestra un apartado con los servicios activos de xinetd | ||
- | |||
- | * Debian | ||
- | * **update-rc.d servicio defaults** | ||
- | |||
- | |||
- | === Locales y Tomcat === | ||
- | |||
- | A veces cuando usamos aplicaciones que parcialmente utilizan Tomcat, como es el caso de MicroStrategy podemos tener diferencias con los reportes generados en via web y los generados desde el Intelligence Server, si los generados via web por ejemplo tienen incorrecto los separadores de coma y simbolos de moneda es muy probable que sean las locales, podemos fijarnos en modificar ciertas opciones de arranque del Tomcat. | ||
- | |||
- | **/ | ||
- | <code bash> | ||
- | LC_ALL=" | ||
- | JAVA_OPTS=" | ||
- | </ | ||
- | |||
- | **/ | ||
- | <code bash> | ||
- | export LC_ALL=" | ||
- | </ | ||
- | |||
- | |||
- | === HOW TO Run SAP GUI On LINUX To Connect SAP/R3 Systems === | ||
- | |||
- | |||
- | I have created this document for people who need to install SAPGUI into Linux. | ||
- | |||
- | 1) Minimum system requirements. \\ | ||
- | Linux \\ | ||
- | Hardware: CPU: Intel PentiumIII with 800 MHz \\ | ||
- | RAM: 256MB \\ | ||
- | Software: \\ | ||
- | OS: SuSE Linux 9.3 - 10.1, Red Hat Enterprise Linux 3 and 4 \\ | ||
- | JVM: Sun Java Runtime Evironment 1.4.2 (32-bit) or 5.0 (32-bit) including Java Plugin \\ | ||
- | (please see: \\ | ||
- | http:// | ||
- | http:// | ||
- | |||
- | |||
- | 2) Download SAPGUI from: | ||
- | |||
- | ftp:// | ||
- | (anonymous login) | ||
- | |||
- | https:// | ||
- | (OSS user and pass) | ||
- | |||
- | |||
- | 3) At the /java folder in ftp select: | ||
- | |||
- | File: PlatinGUI-Linux-700.jar 37926 KB 11/07/06 13:58:00 | ||
- | |||
- | (note: a more recent version may be available) | ||
- | |||
- | 4) In the downloaded folder, execute | ||
- | |||
- | Code: | ||
- | < | ||
- | java -jar PlatinGUI-Linux-700.jar | ||
- | </ | ||
- | |||
- | 5) Executing SAPGUI | ||
- | |||
- | a) Guilogon: | ||
- | |||
- | Code: | ||
- | < | ||
- | ~/ | ||
- | To create servers, touch at new and go to " | ||
- | </ | ||
- | |||
- | -- tip “use expert configuration” | ||
- | |||
- | Example: | ||
- | |||
- | For server 10.1.1.6 with system number 01: | ||
- | |||
- | Code: | ||
- | < | ||
- | conn=/ | ||
- | </ | ||
- | |||
- | B) Command line | ||
- | |||
- | For server 10.1.1.6 with system number 01: | ||
- | |||
- | Code: | ||
- | < | ||
- | ~/ | ||
- | </ | ||
- | |||
- | If your server using load balancing configuration, | ||
- | |||
- | http:// | ||
- | |||
- | |||
- | http:// | ||
- | |||
- | |||
- | === SAP SysInfo === | ||
- | |||
- | Script para colectar informacion de tu sistema SAP | ||
- | |||
- | {{: | ||
- | |||
- | === Convertidor del SAPLogon.ini de Windows al connections de SAPGui Java === | ||
- | |||
- | {{: | ||
- | |||
- | |||
- | === Formatear lista de filesystems montados === | ||
- | < | ||
- | # mount | column -t | ||
- | / | ||
- | proc on /proc | ||
- | none on /sys type sysfs (rw, | ||
- | fusectl | ||
- | none on / | ||
- | none on / | ||
- | none on /dev type devtmpfs | ||
- | none on / | ||
- | none on / | ||
- | none on / | ||
- | none on / | ||
- | / | ||
- | rpc_pipefs | ||
- | nfsd on / | ||
- | binfmt_misc | ||
- | gvfs-fuse-daemon | ||
- | </ | ||
- | |||
- | |||
- | === Reacer una tabla de particiones desde cero === | ||
- | |||
- | Reacer una tabla de particiones desde cero, en por ejemplo una LUN o un disco ya usado que deje restos de otro tipo de tabla de partición incompatible. | ||
- | |||
- | < | ||
- | parted /dev/sdc | ||
- | mklabel msdos | ||
- | quit | ||
- | </ | ||
- | |||
- | === Agregar Memoria y CPU en caliente en VMware === | ||
- | |||
- | <code bash> | ||
- | #!/bin/bash | ||
- | # William Lam | ||
- | # http:// | ||
- | # hot-add memory to LINUX system using vSphere ESX(i) 4.0 | ||
- | # 08/09/2009 | ||
- | |||
- | if [ " | ||
- | then | ||
- | echo -e "You must be root to run this script.\nYou can ' | ||
- | exit 1 | ||
- | fi | ||
- | |||
- | for MEMORY in $(ls / | ||
- | do | ||
- | SPARSEMEM_DIR="/ | ||
- | echo "Found sparsemem: \" | ||
- | SPARSEMEM_STATE_FILE=" | ||
- | STATE=$(cat " | ||
- | if [ " | ||
- | echo -e " | ||
- | else | ||
- | echo -e " | ||
- | echo online > " | ||
- | fi | ||
- | done | ||
- | </ | ||
- | |||
- | <code bash> | ||
- | #!/bin/bash | ||
- | # William Lam | ||
- | # http:// | ||
- | # hot-add cpu to LINUX system using vSphere ESX(i) 4.0 | ||
- | # 08/09/2009 | ||
- | |||
- | for CPU in $(ls / | ||
- | do | ||
- | CPU_DIR="/ | ||
- | echo "Found cpu: \" | ||
- | CPU_STATE_FILE=" | ||
- | if [ -f " | ||
- | STATE=$(cat " | ||
- | if [ " | ||
- | echo -e " | ||
- | else | ||
- | echo -e " | ||
- | echo 1 > " | ||
- | fi | ||
- | else | ||
- | echo -e " | ||
- | fi | ||
- | done | ||
- | </ | ||
- | |||
- | === Copia rápida de seguridad via red === | ||
- | |||
- | En el equipo donde vamos a dejar la copia | ||
- | < | ||
- | netcat -l -p 7000 > stage.tgz | ||
- | </ | ||
- | |||
- | Desde donde realizamos la copia, la ip es la del equipo anterior | ||
- | < | ||
- | tar cfzp - / | ||
- | </ | ||
- | |||
- | === TAB Completion Debian Net Install === | ||
- | < | ||
- | apt-get install bash-completion | ||
- | exit | ||
- | login | ||
- | </ | ||
- | |||
- | === IPCRM para determinado usuario === | ||
- | <code bash> | ||
- | ipcs -a | grep `whoami` | ||
- | |||
- | ipcs -s | grep $USERNAME | perl -e 'while (< | ||
- | |||
- | ipcs -s | grep $USERNAME | awk ' { print $2 } ' | xargs ipcrm sem | ||
- | </ | ||
- | ===== Redes sociales ===== | ||
- | |||
- | ==== Twitter ==== | ||
- | |||
- | |||
- | Twidge es una aplicación de línea de comandos para solicitar servicios de microblogging a Twitter (funciona también para Identi.ca). Cuenta con múltiples características, | ||
- | |||
- | * Es fácil de aprender. | ||
- | * Cuenta buena documentación. | ||
- | * Es compatible con el API de Twitter. | ||
- | * Puede acortar URL con tinyurl.com. | ||
- | * Está diseñado para ser amigable con scripts para el shell. | ||
- | |||
- | |||
- | Dicho lo anterior, aprendamos Twidge en 8 sencillos pasos: | ||
- | |||
- | 1. Instalación. De nueva cuenta, asumo un sistema tipo Debian (también puedes compilarlo para cualquier GNU/Linux). | ||
- | |||
- | $ sudo apt-get install twidge | ||
- | |||
- | 2. Configuración. Twidge te hará un par de peticiones: usuario y contraseña. | ||
- | |||
- | $ twidge setup | ||
- | |||
- | 3. Los 20 updates más recientes de tus amigos. Twidge desplegará adecuadamente el nick de tu amigo y estado en un par de columnas. | ||
- | |||
- | $ twidge lsrecent | ||
- | |||
- | 4. Actualiza tu estado. | ||
- | |||
- | $ twidge update " | ||
- | |||
- | 5. Sigue a alguien interesante. | ||
- | |||
- | $ twidge follow cayu | ||
- | |||
- | 6. Lo contrario… | ||
- | |||
- | $ twidge unfollow BillGates | ||
- | |||
- | 7. Conoce a tus seguidores. | ||
- | |||
- | $ twidge lsfollowers | ||
- | |||
- | 8. Acorta URL largas. Twidge lo hace automáticamente. | ||
- | |||
- | $ twidge update " | ||
- | |||
- | Ref: http:// | ||
- | |||
- | ===== Ubicar la Latitud y Longitud en Google Maps ===== | ||
- | |||
- | Una vez seleccionada la dirección o el punto que queremos, en la barra de direcciones del navegador: | ||
- | |||
- | <code javascript> | ||
- | javascript: | ||
- | </ | ||
- | |||
- | ===== Scripts para importar LOGS de Cisco Call Manager en Mysql o PostgreSQL ===== | ||
- | |||
- | {{: | ||
- | ===== Script de Nautilus para añadir una marca de agua a una imagen ===== | ||
- | |||
- | Script muy bueno | ||
- | |||
- | <code bash> | ||
- | #!/bin/bash | ||
- | |||
- | # | ||
- | # | ||
- | # Marca de agua | ||
- | # Versión= 1.0 | ||
- | # | ||
- | # Script de Nautilus que añade una marca de agua a una imagen | ||
- | # La marca de agua es otra imagen | ||
- | |||
- | # Script programado y probado satisfactoriamente en Debian Lenny y Gnome 2.22.3 | ||
- | # Esta programado pensado en ejecutarse como un script de Nautilus aunque es posible | ||
- | # usarlo en consola pasandole como parámetro el nombre del fichero de la imagen. | ||
- | |||
- | # DEPENDENCIAS | ||
- | # | ||
- | # Zenity (http:// | ||
- | # Necesario para generar los cuadros de dialogo del script | ||
- | # | ||
- | # Imagemagick (http:// | ||
- | # Contiene elprograma composite | ||
- | |||
- | # INSTALACION: | ||
- | # 1. Copiar el script al directorio / | ||
- | # 2. Dar permisos de ejecución al script | ||
- | # 3. En este momento al pulsar con el botón derecho del ratón sobre una imagen nos | ||
- | # | ||
- | |||
- | # Copyright (C) 2009 Carlos Fco. Andión López | ||
- | |||
- | # This program is free software; you can redistribute it and/or modify | ||
- | # it under the terms of the GNU General Public License as published by | ||
- | # the Free Software Foundation; either version 2 of the License, or | ||
- | # (at your option) any later version. | ||
- | |||
- | # This program is distributed in the hope that it will be useful, | ||
- | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
- | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
- | # GNU General Public License for more details. | ||
- | |||
- | # You should have received a copy of the GNU General Public License along | ||
- | # with this program; if not, write to the Free Software Foundation, Inc., | ||
- | # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
- | |||
- | # http:// | ||
- | |||
- | # | ||
- | |||
- | |||
- | # Se comprueba que los programas necesarios para generar el borde estan presentes | ||
- | for command in composite | ||
- | do | ||
- | if [ ! $(which $command) ] | ||
- | then | ||
- | zenity --error --text "Falta el programa \" | ||
- | Es necesario instalar el paquete ImageMagick." | ||
- | exit 1 | ||
- | fi | ||
- | done | ||
- | |||
- | |||
- | #Se indica el fichero con la marca de agua y el porcentaje de visibilidad | ||
- | |||
- | WM_FILE=`zenity --file-selection --title=" | ||
- | |||
- | case $? in | ||
- | 0) | ||
- | echo " | ||
- | 1) | ||
- | echo "No ha seleccionado ningún archivo.";; | ||
- | |||
- | -1) | ||
- | echo "No ha seleccionado ningún archivo.";; | ||
- | |||
- | esac | ||
- | |||
- | |||
- | VISIBILITY=`zenity --title=' | ||
- | |||
- | |||
- | #Se inicializa la barra de progreso de zenity | ||
- | FILES_COUNT=" | ||
- | CURRENT_FILE=1 | ||
- | |||
- | for arg; | ||
- | do | ||
- | #Se renombra el archivo para evitar sobreescribir el original y crear uno nuevo con la marca | ||
- | IMX_FILE_TARGET=' | ||
- | |||
- | composite -dissolve " | ||
- | |||
- | |||
- | #Actualizo la barra de progreso de Zenity | ||
- | percentage=$(echo " | ||
- | CURRENT_FILE=$((CURRENT_FILE + 1)) | ||
- | echo $percentage | ||
- | |||
- | done | zenity --progress --title=" | ||
- | </ | ||
- | |||
- | Ref: http:// | ||
- | |||
- | ===== Ver el dmesg en formato humano ===== | ||
- | |||
- | ==== Alternativa I ==== | ||
- | |||
- | |||
- | <code perl> | ||
- | # | ||
- | |||
- | use strict; | ||
- | use warnings; | ||
- | |||
- | my @dmesg_new = (); | ||
- | my $dmesg = "/ | ||
- | my @dmesg_old = `$dmesg`; | ||
- | my $now = time(); | ||
- | my $uptime = `cat / | ||
- | my $t_now = $now - $uptime; | ||
- | |||
- | sub format_time { | ||
- | my @time = localtime $_[0]; | ||
- | | ||
- | | ||
- | | ||
- | } | ||
- | |||
- | foreach my $line ( @dmesg_old ) | ||
- | { | ||
- | | ||
- | if( $line =~ m/ | ||
- | { | ||
- | # now - uptime + sekunden | ||
- | my $t_time = format_time( $t_now + $1 ); | ||
- | push( @dmesg_new , " | ||
- | } | ||
- | } | ||
- | |||
- | print join( " | ||
- | print " | ||
- | </ | ||
- | |||
- | ==== Alternativa II ==== | ||
- | |||
- | <code perl> | ||
- | # | ||
- | use strict; | ||
- | |||
- | foreach my $line (<>) { | ||
- | my ($uptime) = (do { local @ARGV='/ | ||
- | $line=~/ | ||
- | printf " | ||
- | } | ||
- | </ |