Blog personal de Damià

Pages

  • About
  • Cookies

Blogroll

  • Damia English Blog
  • securityartwork

Archives

Instalar Samba en voyage Linux

July 4, 2008 by damia Leave a Comment

Hace ya varios meses que no meto nada en el blog, tal vez porque no tenia nada que decir, bueno, os cuento mis ultimo avances del pequeño Linux empotrado con microplaca Alix.

Como sabreis, el sistema no lleva disco duro sino que utiliza en su lugar una tarjeta Compact flash, que hace las funciones de disco duro, en mi caso he adquirido una de 8Gb, donde tengo espacio de sobra para poner todo lo que quiera 🙂
La principla desventaja de las memeria flash es que no puede rescribirse de manera indefinida, sino que “solo” pueden sobreescribirse unos miles de veces, segun dicen desde 300.000 hasta varios millones de veces, es por ello que el el sistema, la voyage Linux, monta el disco en modo solo lectura, si bien permite con la simple orden “remountrw” montar con permisos de escritura, y con “remountro” volver a montar solo lectura.

Por ello debemos de pensar que si las apliaciones necesitan escribir en disco vamos a tener que tenerlo en cuenta.

Directorio escribibles en RAM

Como muchas aplicaciones necesitan escribir para funcionar, la voyage Linux, monta un partición en memoria, donde si que se pude escribir, si bien esta limitada por la RAM a unos pocos megas, y ademas no es persistente ya que cuando se reinicie el aparato se perdera toda la información.
El truco que hace es el siguiente, existe una directorio llamado /ro donde esta la información que se copiara en el arranque al directorio “volatil” y escribible el /rw, el scritpt que copia dicho directorio es /etc/init.d/mountall la ultima linea hace la copia mediante tar , en concreto tar -C /ro -cf - . | tar -C /rw -xf - > /dev/null 2>&1

Y luego desde el sistema de fichero cuando se requiere que un fichero o directorio sea escribible, lo que se hace es un link simbolico al directorio /rw, lo podemos ver por ejemplo en el directorio /var


/var# ls -l
total 28
drwxr-xr-x 2 root root 4096 Jul 3 06:25 backups
drwxr-xr-x 6 root root 4096 Jun 26 16:34 cache
drwxr-xr-x 2 root root 4096 Jun 26 23:20 ccxstream
drwxr-xr-x 14 root root 4096 Jun 28 18:57 lib
drwxrwsr-x 2 root staff 4096 Oct 28 2006 local
lrwxrwxrwx 1 root root 12 Apr 15 00:28 lock -> /rw/var/lock
lrwxrwxrwx 1 root root 11 Apr 15 00:28 log -> /rw/var/log
lrwxrwxrwx 1 root root 12 Apr 15 00:28 mail -> /rw/var/mail
drwxr-xr-x 2 root root 4096 Feb 17 01:22 opt
lrwxrwxrwx 1 root root 11 Apr 15 00:28 run -> /rw/var/run
lrwxrwxrwx 1 root root 13 Apr 15 00:28 spool -> /rw/var/spool
lrwxrwxrwx 1 root root 11 Apr 15 00:28 tmp -> /rw/var/tmp
drwxr-xr-x 3 root root 4096 Jun 30 23:27 www

Como instalar SAMBA

Una de la funciones interesantes que puede desempeñar nuestro pequeño linux empotrado es el de compartir ficheros en la red, así puede compartir directorios de la memoria compact flash, y de dispositivos conectado por USB.

El camino que segui para hacerlo funcionar fue el siguiente:


#remountrw
#apt-get install samba
#remountro

Vale hasta aqui seria todo perfecto, pero el problema es que cuando tiras a arrancar el samba se queja que no puede escribir (o abrir en modo escritura) los fichero que se encuentran en /var/lib/samba, sin embargo si que funciona perfectamente si ejecutas remountrw, así pues debemos de convertir esos fichero en escribibles.

INSTRUCCIONES para hacer un directorio escribible y que funcione samba

0.- Habilitamos la escritura e instalamos samba
#remountrw
apt-get install samba

1.- Copiar el directorio /var/lib/samba a /ro/var/lib/samba
tar -C /var/lib/samba -cf - . | tar -C /ro/var/lib/samba -xf -
2.- Hacer un link de /rw/var/lib/samba a /var/lib/samba

mv /var/lib/samba /var/lib/samba.ori
ln -s /rw/var/lib/samba a /var/lib/samba

3.- Crear un script para reescribir los ficheros si modificamos algo que queremos que persista.

echo "tar -C /rw/var/lib/samba -cf - . | tar -C /ro/var/lib/samba -xf -" >/usr/local/bin/recopysambafiles
chmod +x /usr/local/bin/recopysambafile

4.- Reiniciamos el servidor
reboot
5.-Creamos un usuario para acceder

adduser nasuser
smbpasswd -a nasuser
remountrw
/usr/local/bin/recopysambafile
remountro
/etc/init.d/samba restart

Y probamos, deberia de funcionar 🙂 La proxima entrada será como hacer funcionar el amule, el lector avanzado podra intuir que es basicamente lo mismo pero con los directorio que necesite escribir, y así efectivamente es.

Filed Under: Cosas tecnicas

Archives

  • December 2015
  • September 2014
  • February 2012
  • May 2011
  • October 2010
  • August 2010
  • April 2010
  • February 2010
  • October 2009
  • July 2009
  • March 2009
  • December 2008
  • October 2008
  • September 2008
  • July 2008
  • March 2008
  • January 2008
  • December 2007
  • November 2006
  • September 2006
  • August 2006
  • July 2006
  • June 2006
  • April 2006
  • March 2006
  • February 2006
  • December 2005
  • October 2005
  • June 2005
  • May 2005
  • April 2005
  • March 2005
  • February 2005
  • January 2005
  • December 2004
  • November 2004
  • October 2004
  • September 2004
  • August 2004
  • July 2004
  • June 2004
  • May 2004
  • April 2004
  • March 2004
  • February 2004
  • January 2004
  • December 2003
  • November 2003
  • October 2003
  • August 2003
  • July 2003
  • June 2003

Leave a Reply

You must be logged in to post a comment.