Allí estaremos !! brindando una charla acerca del caso de éxito de Postres Balcarce S.A. y su migración a software libre.
Tag Archives: Linux
Restaurar Menu de Aplicaciones y System Tray en GNOME
Si en algún momento les pasa que pierden la barra de programas del GNOME completa, pueden agregarla nuevamente de la siguiente manera:
Sobre la barra inferior de programas hacemos click con el boton derecho del mouse -> “New Panel” esto agregará la barra de menú en la parte superior del escritorio.
En esta nueva barra, nuevamente click con el boton derecho del mouse -> Add to Panel -> Menu Bar (A custom menu bar)
En esta nueva barra, nuevamente click con el boton derecho del mouse -> Add to Panel -> Notification Area
En esta nueva barra, nuevamente click con el boton derecho del mouse -> Add to Panel -> Clock
Con esto la barra ha quedado igual a la original en cualquier instalación de Fedora.
Crear un nuevo device.map para el GRUB
Puede que luego de añadir discos necesitemos crear nuevamente el mapa de dispositivos del GRUB:
Para eso primero renombramos el map existente:
# mv /boot/grub/device.map /boot/grub/device.map.bak
Generamos uno nuevo:
# grub –device-map=/boot/grub/device.map
esto nos mostrara el prompt de GRUB, del que salimos con quit y tendremos listo el nuevo device.map
Creando RAID 1 por software
En un par de discos nuevos en un servidor vamos a crear un
RAID 1 (espejo) para tener algo de tolerancia a fallos:
Identificamos los discos/dispositivos a utilizar:
/dev/sdc
/dev/hdc
En uno de los discos debemos crear la particion:
Creamos partición de tipo raid en la totalidad del disco:
#fdisk /dev/sdc
new partition: n
primary partition: p
particion number: 1
First cylinder: 1
Last cylinder: (last)
Change partition type: t
Hex code: fd (Linux raid autodetect)
grabamos cambios y salimos: w
Creamos el dispositivo RAID:
# mdadm –create –level=1 –raid-devices=2 /dev/md1 /dev/sdc /dev/hdc
Podemos monitorear el proceso de espejado de los discos con:
# cat /proc/mdstat
o
# mdadm –detail /dev/md1
Formateamos file system ext3:
#mkfs.ext3 /dev/md1
Armamos el montaje del raid:
Creamos el directorio de montaje:
# mkdir /data
Editamos el /etc/fstab y agregamos el punto de montaje:
/dev/md1 /data ext3 defaults 1 1
Releemos el fstab para verificar y montar de acuerdo a la nueva entrada:
# mount -a
Creamos la entrada en el /etc/mdadm.conf para definir el nuevo raid:
# mdadm –examine –scan >> /etc/mdadm.conf
Postres Balcarce y el Software Libre: Un caso de éxito
Adjunto link de nota publicada en SoLAr: Software Libre Argentina sobre nuestro caso de éxito:
Postres Balcarce y el Software Libre: Un caso de éxito
Ejecutar SQL Server Stored Procedures desde PHP bajo Linux
Tratando de ejecutar Stored Procedures existentes en una base de datos SQL Server desde PHP bajo Linux, me encontré con el problema de que al querer ejecutar un stored procedure simple, sin parámetros, obtenía siempre el mismo error: “stored procedure execution failed”.
La sentencia de llamada era muy simple:
$conn = mssql_connect($host, $user, $pass);
mssql_select_db(‘nombredb’, $conn);
$proc = mssql_init(‘nombre_proc’, $conn);
$proc_result = mssql_execute($proc);
La solución es hacer una declaración explícita de los datos del servidor SQL Server en el archivo /etc/freetds.org de la siguiente manera:
[servidor]
host =xxx.xxx.xxx.xxx
port = 1433
tds version = 8.0
Error “Failed to get lock using fcntl(2)” en Evolution
Bueno, la verdad es que suena horrible este error, dado que la funciónm fcnl es utilizada a nivel filesystem para administrar lockeo o bloqueo los archivos que etán siendo accedidos.
La cuestión es que un equipo donde se hallan configurados los homes centralizados a través de NFS, comenzó a dar este error al intentar abrir cualquier correo dentro del evolution.
Dado que la red en ese momento estaba funcionando correctamente así como los servicios de NFS y los usuarios con homes compartidos se estaba logueando correctamente, mi primer intento de solución fué eliminar los *.index * en /home/usuario/.evolution/mail/local a fin de que al abrir el evolution se reconstruyan los indices…
Pero sin resultado positivo.
Así que aplicamos el plan B: realicé un respaldo completo de la cuenta del evolution a través del menú “Backup Settings”. Eliminé por completo los archivos de datos del evolution. Desinstalé el evolution. Lo volví a instalar… y restauré el backup de la cuenta de usuario.
Resultado ? volvió a funcionar correctamente.
Mi conclusión: en algún lado, quedó algún archivo de configuración del evolution con los datos erroneos ante algún problema de red.
Si alguien le encontró una solución mas facil… soy todo oidos…
Si alguien sabe la causa exacta de este problem…también soy todo oídos…
Restaurar menu de aplicaciones de gnome / Restore gnome applications menu
Resulta que en un equipo, el menú “Aplicaciones” no mostraba su contenido. Los menúes “Lugares” y “Sistema” funcionaban correctamente mostrando su contenido.
Luego de buscar un rato encontré que para restaurar el menú de aplicaciones de gnome a su contenido original, lo que hay que hacer es eliminar el archivo:
/home/usuario/.config/menus/applications.menu ó copiarlo desde otro equipo…
en mi caso particular, el archivo estaba en tamaño 0 bytes, probablemente por algún problema de red con los homes compartidos por NFS.
Script de notificación de uso de quota de disco / Disk Quota Notification Script
Estuve un rato buscando si alguien se había tomado el trabajito de armar un script para enviar un mail a los usuarios cuando estos estuvieran superando la quota de disco (al menos la SOFT quota) pero no econtré nada similar, así que no me quedó otra que hacerlo… Aquí dejo mi aporte para los que lo necesiten:
Lo que hace es recorrer los usuarios existentes en el /etc/passwd con UID >= 500. Esto es para Linux CentOS, Fedora, Redhat, pero pueden modificarlo para otros linuxes.
Para cada uno de ellos utiliza el comando repquota y compara los campos soft y hard para calcular el espacio utilizado.
En base a esto envía un mail de notificación al usuario y otro a sistemas para que nos enteremos que determinado usuario tiene problemas de quota.
#!/bin/sh
#hvivani. 20101217
#verifica quotas de usuario en filesystem y envía mail notificando exceso de soft quota.
for name in $(awk -F: ‘($3>=500) && ($3!=65534) {print $1}’ /etc/passwd)
do
limiteSoft=`/usr/sbin/repquota / |grep “$name ” |awk ‘($3>$4) && ($4!=0) {print $4}’`
usado=`/usr/sbin/repquota / |grep “$name ” |awk ‘($3>$4) && ($4!=0) {print $3}’`
limiteHard=`/usr/sbin/repquota / |grep “$name ” |awk ‘($3>$4) && ($4!=0) {print $5}’`
### si el limite soft no es nulo
if [ -n “$limiteSoft” ]
then
### si el limite soft supera el espacio utilizado
if [ “$usado” -ge “$limiteSoft” ]
then
nota=”Usuario: $name, Ud. esta excediendo su espacio en disco: Limite: $limiteSoft Bytes. Utilizado: $usado Bytes. Por favor, libere espacio en su carpeta personal o sistema de correo.”
echo $nota | mail -s “ATENCION: Uso de Disco !!” $name@dominio.com.ar
echo “El usuario $name ha superado SOFT quota. Limite: $limiteSoft Bytes. Utilizado: $usado Bytes.” | mail -s “ATENCION: Uso de Disco $name !!” sistemas@dominio.com.ar
fi
### si el limite hard supera el espacio utilizado
if [ “$usado” -ge “$limiteHard” ]
then
nota=”Usuario $name, Ud, esta excediendo su espacio en disco: Limite: $limiteHard Bytes. Utilizado: $usado Bytes. No podrá escribir en su sistema hasta que libere espacio en su carpeta personal o sistema de correo.”
echo $nota | mail -s “Uso de Disco !!” $name@dominio.com.ar
echo “El usuario $name ha superado HARD quota. Limite: $limiteSoft Bytes. Utilizado: $usado Bytes.” | mail -s “ATENCION: Uso de Disco $name !!” sistemas@dominio.com.ar
fi
fi
done
Configurar sendmail con servidor smtp externo / Configure sendmail using smarthost
Dado que varias veces me he topado con la necesidad de configurar un sendmail en un servidor para que utilice un smtp externo, aqui lo agendamos:
Necesitaremos instalar el paquete sendmail-cf:
# yum install sendmail-cf
cambiamos el /etc/mail/sendmail.mc:
descomentamos la línea del SMARTHOST y agregamos un FEATURE:
define(`SMART_HOST’, `your-smtp-server’)
FEATURE(authinfo)dnl
Recompilamos el sendmal.mc:
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
Creamos o editamos el /etc/mail/authinfo con la siguiente linea:
AuthInfo: “U:” “P:” “M:DIGEST-MD5”
Creamos el authinfo.db:
# makemap hash /etc/mail/authinfo < /etc/mail/authinfo
Restarteamos el sendmail:
# /sbin/service sendmail restart
Un detalle importante, si reciben como respuesta el mensaje:
553 sorry, your envelope sender domain must exist (#5.7.1)
Es porque no está correctamente seteado el hostname en el equipo. Pueden verificarlo con el comando:
# hostname -f

