Feb 26 2010

fstab en Linux (Ubuntu)

Jonathan Andres Calderón Roa

El archivo en fstab(File system table) en ubuntu y linux en general, es un fichero de configuración del sistema que encontramos en el directorio /etc y que contiene las particiones y unidades disponibles que serán montadas siempre que se inicia el sistema operativo. Vemos entonces que las lineas que encontramos en éste fichero tienen la siguiente estructura:

<unidad> <lugar de montaje> <sistema de archivos> <opciones> <dump-freq> 
<pass-num>

Bien entonces :

Unidad : se encuentra en /dev y según sea una partición (sd0) otro disco(hd0) o diskette (fd) o algún otro disco físico.

Lugar de montaje: hace referencia al disco o lugar donde sera montada nuestra unidad fisica, debemos crear una carpeta donde montarla, para éste efecto se usan mucho carpetas dentro del directorio /media o /mnt.

Sistema de archivos: Es la estructura de la información guardada en una unidad,la que después es interpretada por un gestor de archivos. Entre los más conocidos y usados tenemos:

XT4 - actual sistema de archivos de Linux, de altísimo desempeño y seguridad

EXT3 - Sistema de archivos de Linux que permite registros (anterior)

NTFS - Sistema de archivos de windows para particiones grandes (actual)

VFAT - Sistema de windos usados desde el 95 al me, conocido como FAT32, usado también en las USB.

NFS - Sistema usado por SUN o Solaris

ISO9660 - Sistema usado en los CD y DVD

JFS - Sistema de archivos de IBM que usa registros

SWAP - Sistema de memoria de intercambio usado en Linux

XFS - Sistema usado por Silicon Graphics

UFS - Sistema usado por BSD

Opciones:

  • async - Escritura asincronica de datos
  • auto - Se monta automáticamente
  • Defaults - Los parámetros por defecto del montaje, auto,async,dev,exec,nouser,rw,suid
  • dev - Dispositivo local al sistema
  • exec - Si tiene programas ejecutables
  • gid - Un identificador de grupo definido
  • noauto - No se monta automáticamente, se usa en medios extraíbles
  • nouser - Solo puede ser montado por root
  • owner - El usuario que monte el sistema es el asignado como propietario
  • ro - solo lectura
  • rw - lectura y escritura
  • suid - Nos permite usar los bits setuid,
  • sync - Escritura sincronica
  • uid - Establecer el identificador del usuario del sistema de archivos
  • umask - permite colocar una mascara para que otros usuario puedan o no acceder a el sistema montado

Dump :Es el comando que se usa para hacer respaldos solo puede ser 0 o 1, si es cero no hace respaldos y si es uno se realiza con el comando dump.

revisión : es un bit que nos permite decidir si el dispositivo será revisado al momento de hacer fsck, al igual que el anterior cero no lo hace y uno lo hace.

De ésta forma podremos administrar mejor  las unidades de nuestro sistema en Linux, para montar por ejemplo unidades lógicas de windows siempre que se inicie el sistema, que fue en ultimas lo que me llevo a interesarme en el tema e investigar sobre el mismo.


Feb 3 2010

Subir imagenes con jQuery Uploader

Jonathan Andres Calderón Roa

Hace poco tuve la necesidad de subir imagenes en un proyecto usando ajax, pero después de mucho consultar me di cuenta que no es posible subir archivos a mi servidor usando directamente ajax por cuestiones de seguridad, Luego encontré éste plúgin basado en Jquery,  Ajax Upload que me permite de una forma sencilla subir archivos al server sin necesidad de recargar toda la página nuevamente. Internamente el plúgin usa un iframe para ello.  Lo primero que debemos hacer es descargar el plugin.

Después de añadir jQuery y el plugin a nuestra página

<script language="javascript" src="Scripts/AjaxUpload.2.0.min.js"></script>

<script language="javascript" src="Scripts/jQuery.js"></script>

creamos un div en el lugar donde queramos colocar el boton “Subir imagen” o cómo sea que necesitemos llamarlo.

<div id="upload_button">Upload</div>

Ahora colocamos este script al final

<script language="javascript">

$(document).ready(function(){

	var button = $('#upload_button'), interval;

	new AjaxUpload('#upload_button', {

        action: '../Back_end/upload.php',

		onSubmit : function(file , ext){

		if (! (ext && /^(jpg|png|jpeg|gif)$/.test(ext))){

			// extensiones permitidas

			alert('Error: Solo se permiten imagenes');

			// cancela upload

			return false;

		} else {

			button.text('Uploading');

			this.disable();

		}

		},

		onComplete: function(file, response){

			button.text('Upload');

			// enable upload button

			this.enable();			

			// Agrega archivo a la lista

			$('#photo').html('<img src="../img/logos/'+file+'">');

			$('#Mylogo').val(file);

		}	

	});

});

</script>

En la linea #5 a “Action” le decimos donde quedara nuestro “upload.php” que también lo encontramos en el paquete.
En la linea #7 le especificamos permitir únicamente archivos con extensiones jpg png jpeg y gif.

Éste es el archivo upload.php

<?php

$uploaddir = '../img/logos/';

$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {

  echo "success";

} else {

  echo "error";

}

?>

En la primera linea le decimos donde queremos que se guarden nuestras imagenes