mkdir 2010/{01..12}
stat -c "%a %n" *
ls | while read -r FILE; do mv -v "$FILE" `echo $FILE | tr ' ' '_' | tr -d '[{}(),\!]' | tr -d "\'" | tr '[A-Z]' '[a-z]' | sed 's/_-_/_/g'`; done
mkfs -t ext4 -m 0 -O sparse_super -T largefile4 /dev/sdb1 echo 1024 > /sys/block/sdb/device/max_sectors
Para recargar nuestro inittab sin tener que reiniciar debemos ejecutar “/sbin/init q”
# lsof -nn | sort -k7 -n
Por ejemplo si tenemos archivos *.cfg y queremos cambiarle la extension de .cfg a .cfg.old
rename s/.cfg/.cfg.old/ *.cfg
De minúsculas a mayúsculas:
$ find . -type f|while read f; do mv $f `echo $f |tr "[:lower:]" "[:upper:]"`; done
De mayúsculas a minúsculas:
$ find . -type f|while read f; do mv $f `echo $f |tr "[:upper:]" "[:lower:]"`; done
top -b -n 1 | awk '{if (NR <=7) print; else if ($8 == "D") {print; count++} } END {print "Total status D: "count}' ps axu | awk '{if (NR <=7) print; else if ($8 == "D") {print; count++} } END {print "Total status D: "count}'
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
# ./ql-scan-lun.sh
By default the utility would re-scan the QLogic HBAs for new LUNs.
Linux allows you to add and remove SCSI devices without rebooting by using the echo “scsi add-single-device H C I L” > /proc/scsi/scsi command (H = host, C = channel, I = SCSI ID, L = SCSI LUN). The remove-single-device command works similarily. Note, however, that the SCSI bus was NOT designed for hot-plugging, so you might be out of luck … And you have to be sure, that termination is OK. All filesystems on a device have to be unmounted before disconnecting it or powering it down.
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 > /sys/block/sdd/device/rescan fdisk -l mkfs.ext3 /dev/sdXY
O podemos hacerlo ejecutando la utilidad partprobe sin argumentos, desde una shell con root.
rsync -av --progress --rsh ssh root@servidor:/ .
rsync --progress -av --delete /home/sergio/ /media/disk/sergio-home/
script_rsync.sh
#!/bin/bash REPOSITORY=/usr/local/nagios/share/wiki/helpers/servidores/ HOSTDIR=$2 USER=monitoreo HOSTNAME=$2 ARCHIVOS=( "/etc/passwd" "/etc/group" "/etc/hosts" "/etc/sysconfig" "/etc/crontab" "/etc/security/limits.conf" "/etc/services" ) TMPHOSTCHECK=/tmp/rsync_bk.tmp case $1 in 'backup') if [ $# -lt 2 ]; then echo no second variable exit fi rm -rfd ${TMPHOSTCHECK} cat /etc/hosts | egrep $2 | head -n 1 | awk '{print $2}' >> ${TMPHOSTCHECK} if [ -s ${TMPHOSTCHECK} ]; then PROPERNAME=`cat /etc/hosts | egrep $2\$ | head -n 1 | awk '{print $2}' | cut -f-1 -d.` 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}/${HOSTDIR} ]; then echo ${REPOSITORY}${HOSTDIR} exists else mkdir ${REPOSITORY}/${HOSTDIR} fi for i in "${ARCHIVOS[@]}" do rsync -avz --progress -e 'ssh ' ${USER}@${HOSTNAME}:$i ${REPOSITORY}${HOSTDIR} done ;; 'help') echo help screen ;; *) echo "usage: $0 <backup server|help>" esac
find ./ -type f -size +40000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }
ufiformat is a command-line utility for formatting floppy disks in UFI- compatible USB floppy drives. It allows disks to be formatted in any format supported by the drive, and can also be used to determine what format a disk is currently using.
Homepage: http://www.geocities.jp/tedi_world/format_usbfdd_e.html
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] specify format capacity SIZE in KB without -f option, the format of the current media will be used. -F, --force do not perform any safety checks -i, --inquire show device information, instead of performing format without DEVICE argument, list USB floppy disk devices -v, --verbose show detailed output -q, --quiet suppress minor output -h, --help show this message Examples: To format a media keeping its current geometry: ufiformat /dev/sda To format a media for 2hd(1.44MB): ufiformat -f 1440 /dev/sda To list USB floppy devices: ufiformat -i To show USB floppy device information: ufiformat -i /dev/sda 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).
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 /etc/yum/pluginconf.d/protectbase.conf y asegúrese de que contenga las líneas siguientes:
[main] enabled = 1
Luego usted necesita editar todos los ficheros .repo en /etc/yum.repos.d/ y adicionar:
protect=1
o
protect=0
Si tenes RH5 con las suscripciones pagas y todo, hay que editar este archivo
/etc/yum/pluginconf.d/rhnplugin.conf
[main] enabled = 1 gpgcheck = 1 # You can specify options per channel, e.g.: # [rhel-i386-server-5] enabled = 1 protect = 0 # #[some-unsigned-custom-channel] #gpgcheck = 0
Ref.:http://wiki.centos.org/es/PackageManagement/Yum/ProtectBase
Primero vemos la MAC Address que tenemos asignada fisicamente
$ ifconfig -a | grep HWaddr eth0 Link encap:Ethernet HWaddr 00:11:85:ee:25:61
Luego procedemos a cambiarla en modo root
# ifconfig eth0 down # ifconfig eth0 hw ether 00:11:85:ee:25:71 # ifconfig eth0 up # ifconfig eth0 |grep HWaddr
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.
/etc/init.d/tomcat5 (al principio del archivo)
LC_ALL="es_AR.utf8" JAVA_OPTS="-Xmx512M -Duser.language=es -Duser.region=ES"
/etc/profile (al final del archivo)
export LC_ALL="es_AR.utf8"
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://java.sun.com/j2se/1.4.2/install-linux.html http://java.sun.com/j2se/1.4.2/docs/...ocale.doc.html
http://java.sun.com/j2se/1.5.0/install-linux.html http://java.sun.com/j2se/1.5.0/docs/...ocale.doc.html for details)
2) Download SAPGUI from:
ftp://ftp.sap.com/pub/sapgui/java/ (anonymous login)
https://websmp201.sap-ag.de/sapgui-java (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:
~/SAPClients/SAPGUI7.00/bin$ ./guilogon To create servers, touch at new and go to "advanced".
– tip “use expert configuration”
Example:
For server 10.1.1.6 with system number 01:
Code:
conn=/H/10.1.1.6/S/3201
B) Command line
For server 10.1.1.6 with system number 01:
Code:
~/SAPClients/SAPGUI7.00/bin$ ./sapgui /H/10.1.1.6/S/3201
If your server using load balancing configuration, use this connection string conn=/M/(IP_Address_Message_Server)/S/36(system_number)/G/(nama_group) and use this connection string configuration if yor SAP R/3 server are not using load balancing system, conn=/H/(IP_Address_server_SAP)/S/32(system_number).
http://sapbasis.wordpress.com/2007/08/22/installation-and-configuration-of-sapgui-for-java-on-linux/
Script para colectar informacion de tu sistema SAP
# mount | column -t /dev/sda1 on / type ext4 (rw,errors=remount-ro,commit=0) proc on /proc type proc (rw,noexec,nosuid,nodev) none on /sys type sysfs (rw,noexec,nosuid,nodev) fusectl on /sys/fs/fuse/connections type fusectl (rw) none on /sys/kernel/debug type debugfs (rw) none on /sys/kernel/security type securityfs (rw) none on /dev type devtmpfs (rw,mode=0755) none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620) none on /dev/shm type tmpfs (rw,nosuid,nodev) none on /var/run type tmpfs (rw,nosuid,mode=0755) none on /var/lock type tmpfs (rw,noexec,nosuid,nodev) /dev/sda6 on /home type ext4 (rw,user_xattr,commit=0) rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) nfsd on /proc/fs/nfsd type nfsd (rw) binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev) gvfs-fuse-daemon on /home/sergio/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=sergio)
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
#!/bin/bash # William Lam # http://engineering.ucsb.edu/~duonglt/vmware/ # hot-add memory to LINUX system using vSphere ESX(i) 4.0 # 08/09/2009 if [ "$UID" -ne "0" ] then echo -e "You must be root to run this script.\nYou can 'sudo' to get root access" exit 1 fi for MEMORY in $(ls /sys/devices/system/memory/ | grep memory) do SPARSEMEM_DIR="/sys/devices/system/memory/${MEMORY}" echo "Found sparsemem: \"${SPARSEMEM_DIR}\" ..." SPARSEMEM_STATE_FILE="${SPARSEMEM_DIR}/state" STATE=$(cat "${SPARSEMEM_STATE_FILE}" | grep -i online) if [ "${STATE}" == "online" ]; then echo -e "\t${MEMORY} already online" else echo -e "\t${MEMORY} is new memory, onlining memory ..." echo online > "${SPARSEMEM_STATE_FILE}" fi done
#!/bin/bash # William Lam # http://engineering.ucsb.edu/~duonglt/vmware/ # hot-add cpu to LINUX system using vSphere ESX(i) 4.0 # 08/09/2009 for CPU in $(ls /sys/devices/system/cpu/ | grep cpu | grep -v idle) do CPU_DIR="/sys/devices/system/cpu/${CPU}" echo "Found cpu: \"${CPU_DIR}\" ..." CPU_STATE_FILE="${CPU_DIR}/online" if [ -f "${CPU_STATE_FILE}" ]; then STATE=$(cat "${CPU_STATE_FILE}" | grep 1) if [ "${STATE}" == "1" ]; then echo -e "\t${CPU} already online" else echo -e "\t${CPU} is new cpu, onlining cpu ..." echo 1 > "${CPU_STATE_FILE}" fi else echo -e "\t${CPU} already configured prior to hot-add" fi done
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 - /oracle/stage | netcat 192.168.1.55 7000
find . -name '*.cfg' -type f -print0 | xargs -0 sed -i 's/cadena/reemplazo/g' s/cadena/reemplazo/g
ipcs -a | grep `whoami` ipcs -s | grep $USERNAME | perl -e 'while (<STDIN>) { @a=split(/\s+/); print `ipcrm sem $a[1]`}' ipcs -s | grep $USERNAME | awk ' { print $2 } ' | xargs ipcrm sem
apt-get install bash-completion exit login
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
#!/bin/bash EDITOR=gedit if [[ -z "$1" ]]; then echo "Syntax: $0 debfile" exit 1 fi DEBFILE="$1" TMPDIR=`mktemp -d /tmp/deb.XXXXXXXXXX` || exit 1 OUTPUT=`basename "$DEBFILE" .deb`.modfied.deb if [[ -e "$OUTPUT" ]]; then echo "$OUTPUT exists." rm -r "$TMPDIR" exit 1 fi dpkg-deb -x "$DEBFILE" "$TMPDIR" dpkg-deb --control "$DEBFILE" "$TMPDIR"/DEBIAN if [[ ! -e "$TMPDIR"/DEBIAN/control ]]; then echo DEBIAN/control not found. rm -r "$TMPDIR" exit 1 fi CONTROL="$TMPDIR"/DEBIAN/control MOD=`stat -c "%y" "$CONTROL"` $EDITOR "$CONTROL" if [[ "$MOD" == `stat -c "%y" "$CONTROL"` ]]; then echo Not modfied. else echo Building new deb... dpkg -b "$TMPDIR" "$OUTPUT" fi rm -r "$TMPDIR"
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, a saber:
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 "Preparando post sobre Twidge"
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 "http://software.complete.org/static/twidge/doc/html"
Ref: http://bitelia.com/2010/02/comando-linux-twidge-un-cliente-para-twitter
Una vez seleccionada la dirección o el punto que queremos, en la barra de direcciones del navegador:
javascript:void(prompt('',gApplication.getMap().getCenter()));
Script muy bueno
#!/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://freshmeat.net/projects/zenity) # Necesario para generar los cuadros de dialogo del script # # Imagemagick (http://www.imagemagick.org/) # Contiene elprograma composite necesario para crear el borde # INSTALACION: # 1. Copiar el script al directorio /home/usuario/.gnome2/nautilus-scripts # 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 # aparece el menú Scripts y dentro de el aparece el script. # 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. See the # 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://www.gnu.org/copyleft/gpl.html #****************************************************************************************** # 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 \"$command\" .\n 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="Seleccione un archivo"` case $? in 0) echo "\"$WM_FILE\" seleccionado.";; 1) echo "No ha seleccionado ningún archivo.";; -1) echo "No ha seleccionado ningún archivo.";; esac VISIBILITY=`zenity --title='Marca de agua' --text='¿Visibilidad en %?' --entry-text='50' --entry` #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='wm_'"$arg" composite -dissolve "$VISIBILITY" "$WM_FILE" "$arg" "$IMX_FILE_TARGET" #Actualizo la barra de progreso de Zenity percentage=$(echo "$CURRENT_FILE * 100 / $FILES_COUNT" | bc) CURRENT_FILE=$((CURRENT_FILE + 1)) echo $percentage done | zenity --progress --title="Procesando imagenes" --auto-close