Diario BSD
30Oct/09Off

Expect

Con expect podemos realizar un “dialogo programado con procesos interactivos”, es decir, programar scripts que interactúen con determinada respuesta de la consola a la que responderemos con los oportunos comandos. Es muy útil por ejemplo para enviar archivos por sftp de un servidor a otro.

Los instalaremos mediante ports:

# cd /usr/ports/lang/expect
# make install clean

y realizaremos por ejemplo un script para el envío de una copia de BD con la fecha actual desde este servidor a otro con:

#!/usr/local/bin/expect
spawn sftp 192.168.32.16
expect “myfreebsd@192.168.32.16’s password:”
send “myfreebsd\r”
expect “sftp>”
send “cd /home/myfreebsd\r”
expect “sftp>”
send “put *\r”
expect “sftp>”
send “exit\r”
expect eof

29Oct/09Off

Fecha y Hora en la consola y Screen

Si queremos ver en nuestra terminal bash la fecha y la hora en todo momento de una forma limpia, podemos seguir este truco basado en la utilidad GNU "screen".

Hay otros métodos de poder ver la fecha en consola, como es configurarlo en el propio prompt o haciendo uso de algún script, pero realmente no son las mejores soluciones, vamos a ver como hacerlo de forma más óptima, cómoda y rápida mediante la aplicación screen.

En sistemas BSD no se instala la utilidad "screen" por defecto, cosa que en GNU/Linux si suele venir instalada. Procedamos a instalarla de la siguiente forma:

# cd /usr/ports/sysutils/screen/
# make install clean

Fichero de configuración global en FreeBSD: /usr/local/etc/screenrc

En el fichero /usr/local/etc/screenrc "startup_message on" podemos ponerlo en "off" para que no muestre el mensaje de copyright cada vez que screen se ejecute.

Para mostrar la hora debemos añadir la siguiente línea a /usr/local/etc/screenrc:

startup_message off
caption always "%{+b wk}%-21=%D %d/%m/%Y %0c"

Para entrar en screen deberemos teclear:

# screen

y para salir:

# exit

para cambiar entre diferentes sesiones:

C-a número para ir a la consola indicada

C-a “ para mostrar el menú de cambio de consolas

screen o C-a c para crear una nueva consola

C-a d desliga la sesión actual (como enviarla a segundo plano)

screen -r liga la sesión (si es única) a la terminal actual (local o remota). Si hay varias sesiones, mostrará sus identificadores numéricos

screen -r número liga la sesión identificada por “número“.

screen -dr desliga la sesión (si es única) del terminal asociado y la liga al terminal actual (local o remota). Si hay varias sesiones, mostrará sus identificadores numéricos

screen -dr número desliga la sesión especificada por “número” del terminal asociado y la liga al terminal actual

C-a k / exit cierra la consola actual de screen. Si es la última se sale del programa

C-a \ Cierra todas las consolas y se sale de screen

28Oct/09Off

Samba

Para instalar Samba primero entramos en el directorio del port:

# cd /usr/ports/net/samba3

con la siguiente línea podemos cambiar las opciones de instalación:

# make config

e instalamos:

# make install clean

Hacemos que Samba arranque con el sistema:

# nano /etc/rc.conf

y le añadimos:

samba_enable="YES"

Para configurar Samba

# nano /usr/local/etc/smb.conf

Una configuración de ejemplo:

[global]
workgroup = diario
hosts allow = 192.168.32. 193.140.30. 127.
server string = Servidor FreeBSD de pruebas
log file = /var/log/samba/log.%m
max log size = 200
debug level = 1
default = Datos
socket options = TCP_NODELAY
wins server = 192.168.32.2
security = share
[Datos]
writeable = yes
guest only = yes
comment = Compartido en Web (FreeBSD)
path = /home/diariobsd/compartido //Configurar los permisos
public = yes
browseable = yes

Para arrancar, parar, reiniciar Samba:

# /usr/local/etc/rc.d/samba
Usage: /usr/local/etc/rc.d/samba [fast|force|one](start|stop|restart|rcvar|reload|status)

27Oct/09Off

phpSysInfo

Descargamos phpSysInfo desde http://phpsysinfo.sourceforge.net/, descomprimimos en un directorio accesible desde la web y copiamos el archivo config.php.new como config.php

Cambiamos las configuraciones a:

$default_lng='es';
$default_template='kde';

y si queremos la barra de gráficos de la carga de CPU (aunque consume más memoria en la generación del script):

$loadbar = true;

26Oct/09Off

phpMyAdmin

Descargamos phpMyAdmin desde la página http://www.phpmyadmin.net/, descomprimimos en un directorio accesible desde la web y copiamos el archivo config.sample.inc.php como config.inc.php

Cubrimos una frase secreta en $cfg['blowfish_secret'] y podremos entrar accediendo a la url con el usuario y clave con los suficientes permisos.