Crear particiones de más de 2TB en Ubuntu Linux

4/11/2010

Para los que ya tenemos discos o mejor dicho, arreglos de discos mayores a 2TB seguramente nos hemos dado cuenta de mala forma que fdisk no permite la creación de particiones mayores a 2TB.

Al crear una partición de 4 TB por ejemplo, fdisk nos regresa una partición de tan solo 2TB, la solución es simple, pero la logre encontrar después de un rato de investigación, se debe instalar “parted” y con el crear las particiones.

$ apt-get update && apt-get install parted

Después se invoca de la siguiente forma (donde sdb es nuestro disco duro a particionar):

$ parted /dev/sdb

Ahora estamos dentro de la interfaz dinámica de parted:

GNU Parted 2.2

Using /dev/sdx

Welcome to GNU Parted!
Type ‘help’ to view a list of commands.

(parted)

Ahora crearemos el disklabel:



# mklabel gpt

Después con esta instrucción armamos una partición de 4TB

# mkpart primary 1 4000G



Salvamos los cambios:


# quit



Ahora, crearemos el sistema de ficheros, o “formato” en el ejemplo usaremos EXT4



$ mkfs.ext4 /dev/sdb1



Por último, crearemos una etiqueta, ya que en lo personal prefiero montar unidades por medio de etiquetas en lugar de dispositivos, por ejemplo en lugar de usar /dev/sdbX, me gusta LABEL=”disco1″, ya que si por alguna razón, no conectamos los discos en el mismo orden todo se vuelve un caos.

$ e2label /dev/sdb1 nombrededisco



Eso es todo!

No Comments

Dividir resultado de query MySQL por bloques con PHP

22/12/2009

Qué pasa si tienes un query que te arrojara cierta cantidad de filas, y necesitas dividirlas en bloques de “X” cantidad. Esto, en mi caso lo utilice para hacer un slider con JQuery, para se precisos con el plugin de Cycle.

Se asume que ya tienen establecida una conexión con la base de datos, así que solo pondré el código desde el query. Una vez que lean lo siguiente, será muy fácil entenderlo, si tienen dudas por favor comenten.

$query = "SELECT * FROM tabla";
$result = mysql_query($query, $con) or die(mysql_error());
// aqui decidimos el tamaño de los bloques
$divider = 4;

if($result){
	$i=0;
	while ($row = mysql_fetch_assoc($result)) {
		if($i%$divider==0){
//aquí escribimos el principio de el bloque
			echo('<div>'."\n");
			echo('<ul>'."\n");
		}
		$i++;
//aquí escribimos el codigo que queremos repetir por la cantidad de elementos dentro del bloque, en este caso 4
		echo("<li>".strtoupper($row['name'])."</li>\n");

		if($i%$divider==0){
//aquí escribimos el cierre de el bloque
			echo('</ul>'."\n");
			echo('</div>'."\n");
		}
	}
}

Como se puede leer, el ejemplo es muy sencillo, pero nos puede servir para infinidad de cosas.

No Comments

Configurar un Servidor FTP en Ubuntu (ProFTPd)

10/12/2009

La conectividad en estos días, es la necesidad  de muchos administradores de sistemas y de usuarios avanzados, por lo que hoy, veremos cómo hacer funcionar un servidor FTP en nuestras cajas con Ubuntu.

El primer paso, es actualizar nuestra paquetería para después instalar lo que necesitamos.

$ apt-get update && apt-get upgrade
$ apt-get install proftpd ucf

Ahora editaremos el fichero de configuración de nuestro servidor FTP, en este caso, el ProFTPd.

$ vim /etc/proftpd/proftpd.conf

Durante la instalación del servidor, nos preguntara como lo queremos ejecutar, seleccionamos “Standalone”.

Tenemos que modificar estas líneas únicamente para un funcionamiento simple pero efectivo y dejarlas de la siguiente manera:

ServerName                    "Mi Servidor"
ServerType                     standalone
DefaultRoot                     ~
MaxInstances                  30

Explicación breve de las opciones anteriores:
ServerName = El nombre que mostrara nuestro servidor
ServerType = Standalone, aquí solo verificamos que sea un Standalone, ya que lo especificamos desde la instalación.
DefaultRoot= ~ Esto es, que los usuarios del sistema que tengan derecho a login solo podrán navegar en su Home

Ahora, reiniciamos nuestro servicio:

$ /etc/init.d/proftpd restart
No Comments

Tutorial sobre dhtmlScheduler, un calendario en Ajax

18/09/2009

Por alguna razón necesitaba encontrar un calendario que me permitiera agregar eventos al vuelo y que algunas personas pudieran tener acceso a el. Quería encontrar algo dinámico (Ajax) y que tuviera el potencial para funcionar dentro de  una intranet que estoy armando en PHP y MySQL. Esto, es para que no me complicara insertando las tablas, sesiones etc en mi proyecto actual.

El resultado de la búsqueda fue dhtmlxScheduler, una app en dhtml que tiene la posibilidad de almacenar los datos de nuestras citas en una base de datos MySQL, PostgreSQL y algunas más.

Lo primero, como siempre, es descargar la aplicación que necesitamos de aquí.

**Este tutorial asume algunas cosas:

  • Tenemos un servidor Web previamente configurado (LAMP) o hosteamos en algún lugar.
  • El servidor ejemplo se llamara como siempre “Localhost”.
  • Las contraseñas e información de base de datos MySQL son muestra, tendremos que ajustar a nuestras necesidades.
  • Tenemos conocimientos de PHP, MySQL, Javascript y HTML y CSS.

Una ves descargada y descomprimida en algún directorio de nuestro disco duro (en el tutorial será nuestro home), copiaremos solamente los siguientes ficheros y directorios al directorio destino, es decir, donde vivirá nuestro calendario en el servidor Web.

  • $HOME/dhtmlxScheduler/codebase > todo el directorio
  • $HOME/dhtmlxScheduler/samples/common/config.php
  • $HOME/dhtmlxScheduler/samples/initialization_loading/php/events.php

Ahora, ya en el directorio que hemos creado para la aplicación, vamos a dar vida a un index.php en el que agregaremos el código contenido en el siguiente archivo:

index.txt

Con lo que en el explorador, debemos ver algo así:

calendario

Ahora, echemos un vistazo a como debería de estar organizado nuestro directorio de calendario en el servidor:

calendario-dir

Si hasta ahora va todo correcto (si vieron el calendario en el explorador, no se preocupen por el mensaje de error sobre el XML, ya que aun no llegamos a esa parte), Ahora editaremos lo mas fácil, que es el config.php y pondremos los valores que se adapten a nuestras configuraciones.

<?php
 $server = "localhost";
 $user    = "miusuario";
 $pass    = "mipasswd";
 $db_name= "miDB";
?>

Ahora crearemos un fichero llamado vaciado.sql en donde agregaremos lo siguiente:

DROP TABLE IF EXISTS `events`;
SET @saved_cs_client     = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `events` (
 `event_id` int(11) NOT NULL AUTO_INCREMENT,
 `event_name` varchar(127) NOT NULL,
 `start_date` datetime NOT NULL,
 `end_date` datetime NOT NULL,
 `details` text NOT NULL,
 PRIMARY KEY (`event_id`)
) ENGINE=MyISAM AUTO_INCREMENT=85 DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;

Inmediatamente después, importaremos ese archivo a MySQL, ya sea con PhpMyAdmin o mediante la linea de comandos.

Finalmente, editaremos el fichero events.php donde ajustaremos las rutas a los archivos que necesita el calendario para trabajar correctamente:

<?php
 include ('codebase/connector/scheduler_connector.php');
 include ('config.php');

 $res=mysql_connect($server, $user, $pass);
 mysql_select_db($db_name);

 $scheduler = new schedulerConnector($res);
 $scheduler->enable_log("log.txt",true);
 $scheduler->render_table("events","event_id","start_date,end_date,event_name,details");
?>

Eso es todo, ahora visitamos el calendario con nuestro navegador y podremos agregar citas y eventos dando doble click sobre el día que deseamos, solo es necesario poner nombre y ajustar la hora de comienzo y termino.

43 Comments

Tutorial: Instalar Flock en Ubuntu

23/05/2008

Flock definitivamente es un navegador que esta dando de que hablar, ya que utiliza el mismo motor Gecko que Firefox, ademas de ser diseñado para bloggers, por eso su slogan de “Navegador Social“. Además tiene soporte para plugins y algunos para Firefox funcionan en el.

Lo primero es descargar el paquete mas nuevo, no les recomiendo descargar el de GetDeb, ya que no es la versión mas nueva, mejor descargaremos el tar.gz del sitio oficial, en este momento la versión 1.14

Descargar Flock

Ahora, necesitamos descomprimir el tar.gz preferentemente en nuestro /home/usuario para poder acceder a el con mayor facilidad. Pero antes debemos instalar un paquete necesario (en caso de no tenerlo actualmente)

$ sudo apt-get install libstdc++5

$ tar -zxvf flock-1.1.4.es-AR.linux-i686.tar.gz

cd flock/

./flock

Al ejecutar el comando anterior, nos aparecerá la pantalla de configuración de Flock, en donde se nos pregunta si deseamos importar alguna configuración de Firefox, respondemos segun nuestras necesidades.

Por ultimo, crearemos una entrada en el menu de Gnome.

Damos click con el botón derecho en el menú y seleccionamos “Editar los menús” y navegamos hasta Internet, ahora le damos click a agregar elemento y llenaremos los campos con la información requerida.

En este ultimo pondremos:

  • Nombre: Flock
  • Comando: Examinar y buscamos el directorio de flock que debe de ser /home/usuario/flock y seleccionamos el fichero “flock
  • Comentario: el Navegador Social (opcional)
  • Damos click en aceptar.

 

5 Comments

Tutorial: VirtualBox con USBs en Ubuntu

30/04/2008

El siguiente tutorial sirve para configurar correctamente VirtualBox PULE en Hardy con funcionalidad para los puertos USB en el sistema operativo huésped. Además de poder compartir archivos con nuestra red local y algún directorio en nuestro sistema anfitrión.

Sistema Operativo Anfitrión: Ubuntu 8.04 Hardy Heron

Sistema Operativo Huésped: Windows XP SP2

Lo primero que haremos, sera descargar la versión de VirtualBox Pule desde la pagina de Sun, ojo, no importa que diga que es para Gutsy Gibbon, funcionara correctamente. Para los que no tienen tiempo de buscar, aquí les dejo el enlace.

Ya con este paquete en nuestro poder, abrimos nuestra consola o para los mas nuevos, le dan doble click desde el lugar donde lo descargaron.

$ sudo dpkg -i virtualbox_1.5.6-28266_Ubuntu_gutsy_i386.deb

Mostrara una serie de pantallas como las siguientes:

En la primera, seleccionaremos la opción de “Si”

En la segunda, elegiremos: “Aceptar”

Igualmente para la tercera Opción: “Aceptar”

Y por ultimo, elegimos “Si” para que compile el modulo que necesitaremos.

Después de esto, necesitaremos hacer un par de cosas mas, la primera, sera agregar a nuestro usuario al grupo de VirtualBox, para hacerlo podemos elegir cualquier editor de texto y con sudo editar el archivo /etc/group

$ sudo vim /etc/group

y en donde encontremos vboxusers:x:124: agregaremos nuestro usuario al final de esta forma (si el numero 124 no aparece igual y ustedes tienen otro, no se preocupen haganlo igual):

vboxusers:x:124:zilus

Ahora, haremos lo necesario para que funcionen nuestros puertos USB:

$ sudo vim /etc/init.d/mountdevsubfs.sh

Y editaremos las siguientes lineas:

# Magic to make /proc/bus/usb work
#
#mkdir -p /dev/bus/usb/.usbfs
#domount usbfs “” /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
#ln -s .usbfs/devices /dev/bus/usb/devices
#mount –rbind /dev/bus/usb /proc/bus/usb

Las dejaremos de esta forma:

# Magic to make /proc/bus/usb work
#
mkdir -p /dev/bus/usb/.usbfs
domount usbfs “” /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
ln -s .usbfs/devices /dev/bus/usb/devices
mount –rbind /dev/bus/usb /proc/bus/usb

Ahora necesitamos cambiar algunos permisos de las reglas de montado, lo lograremos editando el siguiente fichero:

$ sudo vim /etc/udev/rules.d/40-permissions.rules

Y buscamos la siguiente linea:

ATTRS{idVendor}==”0403″, ATTRS{idProduct}==”6001″, \
, MODE=”0660″, GROUP=”dialout”

Para dejarla de la siguiente forma:

ATTRS{idVendor}==”0403″, ATTRS{idProduct}==”6001″, \
,GROUP=”vboxusers”, MODE=”0664“, GROUP=”dialout”

Por ultimo Reiniciamos el sistema para que todo funcione correctamente y voila!! tenemos VirtualBox en Hardy con funcionalidad para USB, ahora solo les falta crear la maquina virtual e instalar algún otro sistema operativo.

5 Comments

Tutorial: BCM43xx en Ubuntu

28/04/2008

Desafortunadamente, mi tarjeta inalámbrica no funciono “out of the box” (Con solo al instalación de Ubuntu), no se porque fue.

Síntomas: Bajo Sistema > Administracion > Controladores de software aparecía el modelo de mi wifi, pero al querer habilitarlo, me pedía reiniciar y nada pasaba. así que investigando un poco llegue a la solución.

Es muy simple en si, tan simple que no entiendo porque no funciona a la primera, pero pues que le podemos hacer, nuestra labor como usuarios de Ubuntu, es informar a la comunidad sobre cosas que arreglamos y descubrimos, así que ahí les va la solución.

sudo apt-get remove –purge b43-fwcutter

sudo apt-get install b43-fwcutter

Eso es Todo!!!

No Comments

Tutorial: Problemas de Audio en Ubuntu, Una sola aplicacion con sonido

28/04/2008

Si recientemente instalaron Ubuntu 8.04 “Hardy Heron” y notaron que solo algunas aplicaciones tenían sonido, o mejor dicho, que solo una aplicación tenia la capacidad de accesar a la tarjeta de sonido a la ves, aquí les tengo la solución.

El problema: PulseAudio, es un servidor de sonido creado por la gente de Ubuntu y de Fedora, la intensión es crear un servidor centralizado, para que en el futuro, todas la aplicaciones tengan forzosamente que pasar por ahí, para evitar los pasados lios que se generaban con las configuraciones de audio, es una gran idea, pero por el momento muchas aplicaciones todavía no soportan esta nueva exigencia. Además de esto, el modulo de ALSA incluido con el kernel de fabrica en Hardy no funciona correctamente. A continuación la solución a ambos problemas:

Primero arreglaremos el problema con ALSA, para lo que reconstruiremos de forma simple y automatizada este modulo, ya que haciéndolo manual se pierde un poco la limpieza de nuestra instalación:

sudo apt-get install module-assistant

sudo m-a update

sudo m-a prepare

sudo m-a a-i alsa

Este ultimo paso tomara mas tiempo que los anteriores y veremos algo como esto en nuestra consola:

Reiniciamos para no meternos manualmente con modprobe/rmmod.

Ahora, para evita que las aplicaciones pasen por PulseAudio, iremos a Sistema > Preferencias > Sonido y seleccionaremos todas las opciones a que utilicen ALSA, deberia de quedar algo así:

Si queremos, al seleccionar cada opción, podemos presionar el botón de “Probar” para asegurarnos que todo anda bien.

9 Comments