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
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
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)
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;
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.