ubuntu

Sáb, 03/06/2010 - 23:50

Click'n'load en ubuntu con firefox

Click'N'Load es un plugin de JDownloader para descargar varios enlaces a la vez con Jdownloader utilizando Linksave (para encriptar los enlaces) y los contenedores dlc. Una descripción más detallada de Click'N'Load sería la siguiente:

Click'N'Load permite optimizar la usabilidad de Linksave.in al usar JDownloader. Hasta ahora había que descargar un contenedor DLC y abrirlo manualmente. Ahora esto sucede automáticamente. Después de abrir la carpeta Linksave.in se verá un botón Click'N'Load que al pulsarlo, JDownloader abrirá automáticamente todos los enlaces y los mostrará en el recolector de enlaces.

Para usarlo en linux y en firefox tenemos que añadir unas cuantas variables en al configuración de firefox. Para añadir estas variables tenemos que escribir en la barra de direcciones de firefox about:config. Nos dirá que es una zona peligrosa, le decimos que tendremos cuidado. Botón derecho Nuevo y luego a Cadena o Lógico (dependiendo de si el valor que le vamos a poner es una cadena o un booleano). Entonces metemos las siguientes variables y cerramos la pestaña.

network.protocol-handler.app.jd = PATH_TO_SCRIPT/jd.sh
network.protocol-handler.external.jd = true
network.protocol-handler.app.jdlist = PATH_TO_SCRIPT/jd.sh
network.protocol-handler.external.jdlist = true
network.protocol-handler.app.ccf = PATH_TO_SCRIPT/jd.sh
network.protocol-handler.external.ccf = true
network.protocol-handler.app.rsdf = PATH_TO_SCRIPT/jd.sh
network.protocol-handler.external.rsdf = true
network.protocol-handler.app.dlc = PATH_TO_SCRIPT/jd.sh
network.protocol-handler.external.dlc = true

Sáb, 01/30/2010 - 01:01

 mysql

1. Introducción

MySQL es un sistema de gestión de base de datos relacional, multihilo y multiusuario.

2. Instalación y desinstalación

2.1. En linux

2.1.1. Desde los repositorios

2.1.1.1. Instalación

Para instalar mysql desde los repositorios tendremos que instalar los siguientes paquetes ejecutando las siguientes ordenes o instalandolos con nuestro gestor de paquetes gráfico.

El paquete mysql-server es el servidor:

    >> sudo aptitude install mysql-server

Si vamos a usar php5 con mysql tendremos que instalar el paquete php5-mysql que es la extensión que comunica mysql con php5:

    >> sudo aptitude install php5-mysql

También instalaremos el paquete libapache2-mod-auth-mysql que es la extensión que comunica apache con mysql:

    >> sudo aptitude install libapache2-mod-auth-mysql

2.1.1.2. Desinstalación

Si lo hemos desinstalado desde los repositorios, para desinstalarlo tenemos que quitar los paquetes indicados anteriormente:

 >> sudo aptitude purge mysql-server libapache2-mod-auth-mysql php5-mysql

2.1.2. Desde el código fuente

2.1.2.1. Instalación

Los pasos a seguir para compilar, instalar y configurar mysql son:

  1. Crear un usuario y un grupo que se llamen mysql
  2. Descomprimir y compilarlo
  3. Usar un fichero de configuración por defecto
  4. Poner como propietario de los ficheros instalados al usuario y grupo creados para ello
  5. Ejecutar el script mysql_install_db indicándole el usuario que tendrá que usar (mysql)
  6. Poner como propietario de los ficheros instalados al root menos los de la carpeta var

Hacemos los pasos:

    >> groupadd  mysql
    >> useradd -g mysql mysql
    >> gzip -d mysql-5.0.37.tar.gz
    >> tar -xvf mysql-5.0.37.tar
    >> cd mysql-5.0.37
    >> ./configure --prefix=/usr/local/mysql
    >> make
    >> sudo make install
    >> sudo cp support-files/my-medium.cnf /etc/my.cnf
    >> cd /usr/local/mysql
    >> sudo chown -R mysql .
    >> sudo chgrp -R mysql .
    >> sudo bin/mysql_install_db --user=mysql
    >> sudo chown -R root .
    >> sudo chown -R mysql var
    >> sudo bin/mysqld_safe --user=mysql &

2.1.2.2. Desinstalación

Desde la carpeta que hemos descomprimido antes, tendremos que ejecutar el siguiente comando:

    >> sudo make uninstall

3. Configuración

3.1. Conexion remota

Para que mysql acepte peticiones desde otras máquinas tendremos que ir al fichero my.conf y buscar la línea bind-address para sustituir 127.0.0.1 por la ip de la máquina donde hemos instalado mysql. Por ejemplo si lo hemos instalado en una máquina de ip 65.234.132.253 tendremos que editar la línea para dejarla así:

  bind-address = 65.234.132.253

Para poder conectarnos con root a mysql desde otro ordenador tendremos que ejecutar las siguientes ordenes:

  >> mysql -u root -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 33
    Server version: 5.0.75-0ubuntu10.2 (Ubuntu)

    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

  mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'CONTRASEÑA_ROOT' WITH GRANT OPTION;
    Query OK, 0 rows affected (0.02 sec)
  mysql> FLUSH PRIVILEGES;
    Query OK, 0 rows affected (0.00 sec)

3.2. Usuario y contraseña por defecto

Por defecto el usuario es root y no tiene contraseña.

3.3. Cambiar la contraseña del root

Para cambiar la contraseña de root (por ejemplo a clave04root):

    >> /usr/local/mysql/bin/mysqladmin -u root password 'clave04root'

3.4. Archivo de configuración

El archivo de configuración puede estar en las siguientes rutas:

    /etc/mysql/my.cnf

3.5. Backup sin interrumpir

http://www.howtoforge.com/back_up_mysql_dbs_without_interruptions

 

OTRA de BACKUP http://www.trensim.com/javierav/archives/70

BACKUP A MAIL http://www.dbrunas.com.ar/article.php/20070306060303695

3.6. Hacer una copia de seguridad

Creamos un arhivo dbbackupdaily.sh y le ponemos el siguiente contenido:

 #!/bin/sh
 #created by Alexander Sea
 #Daily Backup
 #version 1.0
 DIR="path-of-your-backup-folder"
 datestr=$(date +%m-%d-%Y)
 uname="your-mysql-user-name"
 passwd="your-password"

 ##mysql databases
 mysqldump --user=$uname --password=$passwd --opt yourDB1 > $DIR/$datestr-yourMySQLDB1.sql
 mysqldump --user=$uname --password=$passwd --opt yourDB2 > $DIR/$datestr-yourMySQLDB2.sql
 mysqldump --user=$uname --password=$passwd --opt yourDB3 > $DIR/$datestr-yourMySQLDB3.sql
 
 ##postgresql databases
 pg_dump -U postgres yourPGDB > $DIR/$datestr-yourPGDB.sql
 ## END OF THE SCRIPT

Lo añadimos al cron para que lo ejecute diariamente:

  10 1 * * 1-5 sh /DBbackup.sh

3. $ crontab cronweekdays.txt

4. To view the list of cron jobs:

  >> crontab -l
Dom, 01/10/2010 - 19:13

Apache

1. Introducción

Apache es un servidor web.

2. Instalación

Para instalarlo tendremos que instalar el paquete apache2 desde nuestro gestor de paquetes gráfico favorito o ejecutando la siguiente orden:

>> sudo aptitude install apache2

3. Uso

  • Si lo hemos instalado como servicio:

    >> sudo /etc/init.d/apache2 start
    >> sudo /etc/init.d/apache2 stop
    >> sudo /etc/init.d/apache2 restart
  • Si no lo hemos instalado como servicio (standalone):

    >> /usr/local/apache2/bin/apachectl start
    >> /usr/local/apache2/bin/apachectl restart
    >> /usr/local/apache2/bin/apachectl stop

4. Configuración

4.1. El fichero de configuración

El fichero de configuración se llama httpd.conf y esta en la siguiente ruta:

    Desde las fuentes     /usr/local/apache2/conf/httpd.conf
    Desde el repositorio /etc/apache2/httpd.conf

4.2. Directorio raiz por defecto

    Desde las fuentes    /usr/local/apache2/htdocs
    Desde el repositorio /var/www/

4.3. Cambiar el directorio de las páginas web

Modificar en el fichero de configuración /usr/local/apache2/conf/httpd.conf la variable DocumentRoot con la ruta nueva:

    DocumentRoot "/media/windows/WEB"

4.4. Seguridad

  • La variable ServerTokens nos permite decidir que información dice el servidor. ServerTokens por defecto tiene el valor Full, por seguridad es decir cuanto menos información. Un ejemplo de los valores de esta variable y de sus salidas serian los siguientes:
  Prod: Apache
  Major: Apache/2
  Minor: Apache/2.0
  Minimal: Apache/2.0.55
  OS: Apache/2.0.55 (Debian)
  Full: Apache/2.0.55 (Debian) PHP/5.1.2-1+b1 mod_ssl/2.0.55 OpenSSL/0.9.8b

Por lo que editaremos el fichero /etc/apache2/apache2.conf y pondremos la variable ServerTokens con el valor Prod:

  ServerTokens Prod
  • La variable ServerSignature permite la configuración del pie de página que aparece en ciertos mensajes generados por el servidor (mensajes de error, salida de mod_info , etc.). Si se utiliza ServerSignature On, se añade una línea con el número de versión de Apache, el nombre del servidor ServerName, y el email del responsable ServerAdmin. Por ejemplo:
  Not Found
  
  The requested URL /docu/proyecto_web/img34.png was not found on this server.
  
  Apache/2.2.3 (Debian) DAV/2 SVN/1.4.2 mod_fastcgi/2.4.2 PHP/5.2.0-8+etch7 mod_ssl/2.2.3 OpenSSL/0.9.8c Server at www.realidadfutura.com Port 80

Por lo tanto la pondremos en Off. Editaremos el fichero /etc/apache2/apache2.conf y pondremos la variable ServerSignature en Off:

  ServerSignature Off
  • Por seguridad es conveniente deshabilitar el método TRACE y dejar solo los que voy a necesitar GET,HEAD, POST y OPTIONS. Esto habra que indicarselo en cada VirtualHost gracias a la variable TraceEnable. Por ejemplo, para deshabilitarlo en el VirtualHost por defecto iremos al archivo /etc/apache2/sites-available/default y dentro de la etiqueta VirtualHost pondremos la variable TraceEnable en Off:
  TraceEnable off

4.5. Impedir que ciertas IPs accedan a una carpeta del servidor

Crear o modificar un archivo de nombre .htaccess en la carpeta e introducirle el siguiente contenido:

    Order Deny,Allow
    Allow from 155.210.155.169
    Deny from all

Para hacerlo de esta forma necesitaremos que este activa la opción AllowOverride de usar archivos .htaccess a un valor distinto a None

4.6. Impedir que otras webs usen nuestras imagenes

A veces otras webs pueden usar imagenes nuestras subidas en nuestro servidor (consumiendo nuestro respectivo ancho de banda). Para evitar esto tendremos que crear o editar el archivo .htaccess en la carpeta principal de nuestra página web y añadir las siguientes líneas:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://tu-dominio.com [NC]
RewriteCond %{HTTP_REFERER} !^http://www.tu-dominio.com [NC]
RewriteRule .*\.(gif|jpg|swf|png|jpeg)$ - [NC,F]

Si ademas queremos que cuando usen una imagen nuestra, les aparezca otra, solo tendremos que cambiar la úlñtima línea por esta otra:

RewriteRule .*\.(gif|jpg|swf|png|jpeg)$ imagen_ladron.jpg [L]

Siendo imagen_ladron.jpg la imagen que queremos que les salga.

4.7. Security enhanced linux

Aveces podemos encontrarnos con el siguiente problema en el apache (aunque tengamos los permisos bien):

  Permission denied: access to /index.html denied

Esto puede deberse a que algunos linux (similares a Red Hat, por ejemplo en Centos 5) implementan últimamente un sistema de seguridad llamado Security-Enhanced Linux.

Security-Enhanced Linux (o SELinux) es una arquitectura de seguridad integrada en el kernel 2.6.x usando los módulos de seguridad linux (o linux security modules, LSM). Este es un proyecto de la Agencia de Seguridad Nacional (NSA) de los Estados Unidos y de la comunidad SELinux. La integración de SELinux en Red Hat Enterprise Linux fue un esfuerzo conjunto entre al NSA y Red Hat

4.7.1. Usarlo

Por ejemplo: si queremos darle permisos al apache para que pueda acceder a una carpeta TU_CARPETA. Primero veremos que no tiene los permisos para que pueda ser accedida por el apache con la siguiente orden:

  >> ls -Z TU_CARPETA
    drwxr-xr-x  root root system_u:object_r:home_root_t    TU_CARPETA

Entonces le daremos los permisos con la siguiente orden:

  >> chcon -R -h -t httpd_sys_content_t TU_CARPETA

Por último comprobaremos que ya tiene los permisos:

  >> ls -Z TU_CARPETA
    drwxrwxrwx  root root root:object_r:httpd_sys_content_t TU_CARPETA

4.7.2. Deshabilitarlo

Para saber si lo tenemos activado tendremos que ejecutar la siguiente orden (si esta off, significa que no esta activado lo que lo deshabilita, lo que quiere decir que esta activado):

  >> getsebool -a | grep httpd
    allow_httpd_anon_write --> off
    allow_httpd_bugzilla_script_anon_write --> off
    allow_httpd_mod_auth_pam --> off
    allow_httpd_nagios_script_anon_write --> off
    allow_httpd_squid_script_anon_write --> off
    allow_httpd_sys_script_anon_write --> off
    httpd_builtin_scripting --> on
    httpd_can_network_connect --> off
    httpd_can_network_connect_db --> off
    httpd_can_network_relay --> off
    httpd_disable_trans --> off
    httpd_enable_cgi --> on
    httpd_enable_ftp_server --> off
    httpd_enable_homedirs --> on
    httpd_rotatelogs_disable_trans --> off
    httpd_ssi_exec --> off
    httpd_suexec_disable_trans --> off
    httpd_tty_comm --> on
    httpd_unified --> on

Activamos la opción de deshabilitar y comprobamos que se ha activado:

  >> setsebool -P httpd_disable_trans 1
  >> getsebool -a | grep httpd
    allow_httpd_anon_write --> off
    allow_httpd_bugzilla_script_anon_write --> off
    allow_httpd_mod_auth_pam --> off
    allow_httpd_nagios_script_anon_write --> off
    allow_httpd_squid_script_anon_write --> off
    allow_httpd_sys_script_anon_write --> off
    httpd_builtin_scripting --> on
    httpd_can_network_connect --> off
    httpd_can_network_connect_db --> off
    httpd_can_network_relay --> off
    httpd_disable_trans --> on
    httpd_enable_cgi --> on
    httpd_enable_ftp_server --> off
    httpd_enable_homedirs --> on
    httpd_rotatelogs_disable_trans --> off
    httpd_ssi_exec --> off
    httpd_suexec_disable_trans --> off
    httpd_tty_comm --> on
    httpd_unified --> on

Por último reiniciamos el apache para que tenga efecto:

  >> sudo /etc/init.d/apache2 restart
    Parando apache2:                                             [  OK  ]
    Iniciando apache2:                                           [  OK  ]

5. Problemas

5.1. External APR-util

 Puede ser que apache nos de un erro como el siguiente:

    configure: error: Cannot use an external APR-util with the bundled APR

5.1.1. Solución

Para solucionar este error, tendremos que instalar el paquete libaprutil1-dev:

    >> sudo aptitude install  libaprutil1-dev

 

Dom, 01/10/2010 - 17:58

Escritorio remoto en Ubuntu con Freenx

 

1. Introducción

En Ubuntu hay muchas maneras de conectarnos por escritorio remoto. La que mas me gusta es con freenx (mas seguro que con VNC y mucho mas rápido). En este articulo veremos como instalarlo, configurarlo y usarlo.

2. Instalación

Tendremos que instalar dos partes. En el ordenador al que nos queremos conectar, tendremos que instalarle el servidor freenx. En el ordenador desde el que nos conectaremos al otro ordenador, tendremos que instalar el cliente nxclient.

2.1. Instalar el servidor

Lo primero que necesitaremos es tener un repositorio que tenga el paquete freenx-server. Si no tenéis ninguno podéis usar este:

  deb http://ppa.launchpad.net/freenx-team/ubuntu TU_DISTRO main
  deb-src http://ppa.launchpad.net/freenx-team/ubuntu TU_DISTRO main

Dependiendo de vuestra versión de ubuntu cambiareis TU_DISTRO por una de las siguientes que corresponda a vuestra distribución:

  • feisty
  • gutsy
  • hardy
  • intrepid
  • jaunty
  • karmic

Una vez lo tengamos en nuestro repositorio procederemos a instalarlo con las siguientes ordenes:

  >> sudo aptitude update
  >> sudo aptitude upgrade
  >> sudo aptitude install freenx-server

Ahora tendremos que decidir que usuarios tendrán permisos para poder acceder por terminal server. Para añadir un usuario de nick TU_USUARIO tendremos que ejecutar la siguiente orden:

  >> sudo /usr/bin/nxserver --useradd TU_USUARIO --system --administrator

 

2.2. Instalar el cliente

Para instalar el cliente tendremos que ir a la web http://www.nomachine.com e ir a la sección de descargas y seleccionar el programa NX Client y para que Sistema Operativo lo necesitamos (Windows o Linux), y si es para linux elegiremos después la versión para Ubuntu NX Client DEB for Linux.

Después de bajarlo lo instalaremos. Para instalarlo en Ubuntu desde consola tendremos que ejecutar la siguiente orden:

  >> sudo dpkg -i nxclient_3.2.0-9_i386.deb

3. Configuración

3.1. Establecer el puerto donde sshd esta escuchando

Freenx una sshd para establecer las conexiones con más seguridad. Por ello tiene que saber en que puerto esta escuchando sshd. Por defecto piensa que está en el 22, pero si esta en otro puerto, tendremos que indicarselo. Para ello tendremos que editar el fichero /etc/nxserver/node.conf y descomentaremos la variable SSHD_PORT y le pondremos el valor de nuestro puerto.

Por ejemplo, si nuestro servidor sshd esta escuchando en el puerto 4022, tendremos que dejar la línea así:

SSHD_PORT=4444
Dom, 01/10/2010 - 01:23

Ver las temperaturas en ubuntu con lm-sensors

Introducción

Para ver las temperaturas de la placa base, procesator, etc, en un ubuntu, disponemos de un programa llamado lm-sensors.

Instalación

Para instalar el programa lm-sensors tendremos que instalar el paquete de nombre lm-sensors desde nuestro gestor de paquetes gráfico favorito o ejecutando el siguiente comando:

    >> sudo aptitude install lm-sensors

Ejecución

Una vez lo tengamos ya instado, podemos ver las temperaturas ejecutando el siguiente comando:

    >> sensors
   
      it8712-isa-0290
      Adapter: ISA adapter
      VCore 1: +1.34 V (min = +0.00 V, max = +4.08 V)
      VCore 2: +2.58 V (min = +0.00 V, max = +4.08 V)
      +3.3V: +3.38 V (min = +0.00 V, max = +4.08 V)
      +5V: +3.79 V (min = +0.00 V, max = +6.85 V)
      +12V: +11.90 V (min = +0.00 V, max = +16.32 V)
      -12V: -8.22 V (min = -27.36 V, max = +3.93 V)
      -5V: -4.29 V (min = -13.64 V, max = +4.03 V)
      Stdby: +4.41 V (min = +0.00 V, max = +6.85 V)
      VBat: +4.08 V
      fan1: 2556 RPM (min = 0 RPM, div = 8)
      fan2: 0 RPM (min = 0 RPM, div = 8)
      fan3: 0 RPM (min = 0 RPM, div = 8)
      M/B Temp: +25°C (low = +127°C, high = +127°C) sensor = thermistor
      CPU Temp: +39°C (low = +127°C, high = +127°C) sensor = thermistor
      Temp3: +71°C (low = +127°C, high = +127°C) sensor = thermistor

Configuración

  • El archivo de configuración
    /etc/sensors.conf
  • Detectar los sensores que tenemos:
    >> sudo sensors-detect

Ejemplo

Por ejemplo, para la placa Gigabyte GA-K8NF-9 (rev1):

Ejecutamos >> sudo sensors-detect y nos dice que tenemos los siguientes sensores:

    To make the sensors modules behave correctly, add these lines to
    /etc/modules:
    
    #----cut here----
    # I2C adapter drivers
    i2c-nforce2
    # Chip drivers
    eeprom
    # Warning: the required module k8temp is not currently installed
    # on your system. For status of 2.6 kernel ports check
    # http://www.lm-sensors.org/wiki/Devices. If driver is built
    # into the kernel, or unavailable, comment out the following line.
    pca9540
    k8temp
    it87
    #----cut here----

Probamos si tenemos los modulos que nos dice:

    >> sudo modprobe i2c-nforce2
    >> sudo modprobe eeprom
    >> sudo modprobe pca9540
    >> sudo modprobe k8temp
    >> sudo modprobe it87
    >> sudo depmod -a

Entonces probamos si funciona:

    >> sensors
    
    k8temp-pci-00c3
    Adapter: PCI adapter
    Core0 Temp:
                 +49°C
    
    it8712-isa-0290
    Adapter: ISA adapter
    VCore 1:   +1.36 V  (min =  +0.00 V, max =  +4.08 V)
    VCore 2:   +2.58 V  (min =  +0.00 V, max =  +4.08 V)
    +3.3V:     +3.36 V  (min =  +0.00 V, max =  +4.08 V)
    +5V:       +5.24 V  (min =  +0.00 V, max =  +6.85 V)
    +12V:     +11.97 V  (min =  +0.00 V, max = +16.32 V)
    -12V:     -11.16 V  (min = -27.36 V, max =  +3.93 V)
    -5V:       -1.59 V  (min = -13.64 V, max =  +4.03 V)
    Stdby:     +4.09 V  (min =  +0.00 V, max =  +6.85 V)
    VBat:      +4.08 V
    fan1:     2766 RPM  (min =    0 RPM, div = 8)
    fan3:        0 RPM  (min =    0 RPM, div = 8)
    M/B Temp:    +25°C  (low  =  +127°C, high =  +127°C)   sensor = thermistor
    CPU Temp:    +46°C  (low  =  +127°C, high =  +127°C)   sensor = thermistor
    Temp3:       +72°C  (low  =  +127°C, high =  +127°C)   sensor = thermistor

Si todo ha funcionado tenemos que ir al archivo /etc/modules y añadimos los sensores que no han dado error con modprobe:

    i2c-nforce2
    eeprom
    k8temp
    it87 
Vie, 01/08/2010 - 20:47

Abrir puertos en virtualbox

Abrir puertos

Puede darse el caso de que nos encontremos con la necesidad de tener que acceder a un puerto de nuestra máquina virtual desde el exterior (Por ejemplo, si queremos acceder por ssh a la máquina virtual el puerto 22 tendrá que ser accesible desde el exterior). Para configurar esto no hay de momento forma de hacerlo con la interfaz gráfica de Virtualbox, pero se puede hacer por línea de comandos. Para abrir un puerto al exterior de una máquina virtual (Por ejemplo de nombre windows) tendremos que crear una regla (Por ejemplo, de nombre apache) para abrir un puerto de la máquina virtual (Por ejemplo el 80) para un protocolo (Por ejemplo, TCP) en un puerto de la máquina donde esta instalado el virtualbox (Por ejemplo, el 20080). De esta manera cuando accedamos al puerto que le indiquemos de la máquina que tiene instalado el VirtualBox, estaremos accediendo al puerto indicado de la maquina virtual.

Para hacer esto tendremos que apagar la máquina virtual (apagarlo, no pausarlo). Después ejecutaremos las siguientes ordenes:

  >> VBoxManage setextradata "windows" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/Protocol" TCP
  >> VBoxManage setextradata "windows" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/GuestPort" 80
  >> VBoxManage setextradata "windows" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/HostPort" 20080

Si nos fijamos en cada línea, veremos que ponemos pcnet. Esto es el dispositivo de red que esta usando la máquina virtual para emular una tarjeta de red del tipo que le hemos dicho en la configuración. Dependiendo de un tipo u otro, tendremos que poner una cadena u otra. Los posibles tipos que hay son los siguientes:

  • Intel Network Adapter: e1000
  • PCNet: pcnet
  • ...

Para comprobar que se ha introducido bien podemos listar todas propiedades de la maquina virtual (Por ejemplo para la máquina de nombre windows):

  >> VBoxManage getextradata windows enumerate
    VirtualBox Command Line Management Interface Version 1.5.6_OSE
    (C) 2005-2008 innotek GmbH
    All rights reserved.
    
    Key: GUI/LastWindowPostion, Value: 425,339,644,531,max
    Key: GUI/Fullscreen, Value: off
    Key: GUI/Seamless, Value: off
    Key: GUI/AutoresizeGuest, Value: on
    Key: GUI/LastCloseAction, Value: save
    Key: VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/Protocol, Value: TCP
    Key: VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/GuestPort, Value: 80
    Key: VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/HostPort, Value: 20080

Como podemos observar aparecen las propiedades que hemos introducido.

Problemas

Error get MAC

Al encender la máquina virtual después de haber abierto puertos, nos indica este error:

Configuration error: Failed to get the "MAC" value.
VBox status code: -2103 (VERR_CFGM_VALUE_NOT_FOUND).

Solución

Este error aparece cuando abrimos los puertos indicando una tarjeta de red que no es la que le hemos indicado en la configuración a la máquina (pcnet, e1000, ...). Para solucionarlo tendremos que cambiar la tarjeta de red en la configuración de la máquina virtual por la correspondiente que hayamos puesto al abrir el puerto. O sino borrar los datos del puerto abierto y volverlo a poner para la tarjeta de red correcta. (Para mas información leer la guia de esta página)

Fuente

Sáb, 01/02/2010 - 14:56

 Programas recomendados

Introducción

Aquí recopilaré la lista de programas que yo me instalo siempre en mi linux y recomiendo usar. Con el tiempo pueden cambiar por lo que lo mantendré actualizado. Los agrupare por categorías. Aquí los tenéis:

Programas

Actualizado a día 11-02-2010

Internet

  • Cliente de mensajería instantánea: Pidgin
    • Plugin de twitter: pidgin-mbpurple
    • Plugin de facebook: pidgin-facebookchat
  • Navegador web: Firefox
    • Extensión para ver tus favoritos de delicious: Delicious Bookmarks
    • Extensión para usar sesiones: Session Manager
    • Extensión para no mostrar los archivos flash si no le decimos explicitamente: Flashblock
    • Extensión para sincronizar las pestañas entre varios ordenadores: Weave Sync
  • Cliente de correo electrónico: Evolution
  • Cliente de ftp: Filezilla
  • Cliente de descargas de archivos megaupload, rapidshare, ... : Tucan
  • Cliente de Bittorrent: Transmission
  • Cliente de emule: mldonkey con su cliente sancho
  • Cliente de freenx (escritorio remoto en linux): nxclient

Imagen

  • Editor de imágenes: Gimp
    • Plugin save-to-web (incluido en el paquete gimp-plugin-registry)

Sonido

  • Reproductor de música: (aun por decidir)
  • Editor de tags de mp3: easytag

Video

  • Reproductor de videos: Totem
  • Editor de video: Avidemux
  • Información de archivos de video: MediaInfo
  • Visor de television TDT: Kaffeine
  • Codecs:
    • Para ver dvds encriptados: libdvdcss2
    • Formatos no nativos para linux: w32codecs o w64codecs (dependiendo de tu version de linux)
    • Demás codecs: gstreamer0.10-plugins-bad, gstreamer0.10-plugins-bad-multiverse, gstreamer0.10-plugins-ugly, gstreamer0.10-plugins-ugly-multiverse, gstreamer0.10-ffmpeg

Programación

  • Entorno de programación: eclipse

Utilidades

  • Grabador de CD-DVD: Nero
  • Visor de tamaño de carpetas gráfico:  Fileligh
  • Máquinas virtuales: VirtualBox
  • Editor de particiones: Gparted
  • Visor de archivos comprimidos: file-roller
    • Para leer y crear archivos rar: rar
  • Partir o unir archivos: Dalle
  • Escaner de virus: clamav y su interfaz clamtk
  • Cliente de ldap: lat
  • Escaneo de vulnerabilidades: nessus

Ofimática

  • Editor de texto: OpenOffice
  • Hojas de calculo: OpenOffice
  • Editor de presentaciones: OpenOffice

Bases de datos

  • Administrar mysql: mysql-admin y mysql-query-browser
  • Administrar postgresql: pgadmin3
  • Cliente de oracle: sqldeveloper (bajar el rpm y convertirlo con alien)

Juegos

  •  

Xbox360

Dom, 10/25/2009 - 18:58

Crear y reparar archivos comprimidos con volumenes de recuperacion rev

Introducción

Hoy os vamos a explicar otra manera de recuperar archivos rar dañados comprimidos en volumenes. Hace unos días os explicamos como hacerlo usando archivos par2 y hoy os vamos a explicar como hacerlo con volúmenes de recuperación (extensión rev).

Los volúmenes de recuperación o fichero .rev son ficheros especiales que pueden ser creados por WinRAR y que permiten reconstruir volúmenes ausentes o dañados. Solo pueden usarse con archivos multivolumen.

Creación de los ficheros de recuperación

Vamos a crear 10 archivos de recuperación a partir del fichero comprimido en volumenes. Para ello le pasaremos el parámetro rv seguido del numero de ficheros que queremos crear (en nuestro caso 10) y luego pondremos el nombre del primer fichero del volumen (en nuestro caso prueba.part01.rar)

>> rar rv10 prueba.part01.rar
 
RAR 3.80   Copyright (c) 1993-2008 Alexander Roshal   16 Sep 2008
Shareware version         Type RAR -? for help
 
Creating prueba.part01.rev
Creating prueba.part02.rev
Creating prueba.part03.rev
Creating prueba.part04.rev
Creating prueba.part05.rev
Creating prueba.part06.rev
Creating prueba.part07.rev
Creating prueba.part08.rev
Creating prueba.part09.rev
Creating prueba.part10.rev 100%
Done

Recuperación de un archivo dañado

Imaginemos que tenemos un archivo rar comprimido en volúmenes pero que nos faltan dos de esos volúmenes. Si tenemos los archivos de revisión (extensión rev) podremos intentar recuperar los archivos perdidos con ellos. Para ello tendremos que poner el parámetro rc seguido del nombre del primer archivo del volumen (en nuestro caso prueba.part01.rar)

>> rar rc prueba.part01.rar
  
RAR 3.80   Copyright (c) 1993-2008 Alexander Roshal   16 Sep 2008
Shareware version         Type RAR -? for help
 
Calculating control sums of all volumes.
5 recovery volumes found
Cannot find volume prueba.part12.rar
Cannot find volume prueba.part71.rar
2 volumes missing
Reconstructing... 100%
Done

Como podemos ver se han podido recuperar.

Mié, 10/14/2009 - 21:14

recuperar archivos multivolumen rar con archivos par2 

Introducción

A veces puedes encontrarte con archivos comprimidos en varios volúmenes (prueba.part001.rar, prueba.part002.rar, prueba.part003.rar, ...). Puede darse el caso de que un archivo de este volumen no lo tengas o este corrupto (dañado). Hoy en día podemos disponer de herramientas que nos permitan descomprimir el contenido comprimido aun teniendo este problema (siempre que se haya comprimido creando unos archivos necesarios) si hay suficiente información para ello en el volumen.

Los ficheros Par2 pueden ser utilizados para reparar ficheros comprimidos dañados. Pero para ello se habrán tenido que crear al hacer el archivo comprimido. El proceso analiza los bloques de cada fichero rar y publica si esta completo, incompleto o perdido. Cada fichero par2 se puede utilizar para arreglar cierto número de bloques. Todo lo que necesitas es tener la suficiente cantidad de ficheros par2 que puedan arreglar los bloques perdidos para poder repararlos. Puedes reparar cualquier fichero rar dañado con cualquier fichero par2.

Lo primero que tendremos que hacer es instalar el programa:

>> sudo apt-get install par2

Creación de los ficheros par2

Si vamos a comprimir algo en varios archivos rar, podemos crear los  archivos par2 para que cuando lo queramos descomprimir y no tengamos alguno de los  archivos o que alguno de los archivos se haya dañado con el tiempo o al transprotarlo. Como ejemplo, vamos a crear una lista de archivos comprimidos. Por ejemplo vamos a comprimir el fichero prueba.avi con una compresión del 1 en archivos de 5 megas:

>> rar a prueba.rar -v5m -m1 prueba.avi
  ...
>> ls
  prueba.avi         prueba.part02.rar  prueba.part04.rar  prueba.part06.rar  prueba.part08.rar  prueba.part10.rar
  prueba.part01.rar  prueba.part03.rar  prueba.part05.rar  prueba.part07.rar  prueba.part09.rar

Ahora vamos a crear 4 archivos par2 de nombre prueba y con un 10% de redundancia:

>> par2create -r10 -n4 prueba prueba.part*.rar
   ...  
   Block size: 25012
   Source file count: 10
   Source block count: 2004
   Redundancy: 10%
   Recovery block count: 200
   Recovery file count: 4
  
   Opening: prueba.part01.rar
   ...
   Opening: prueba.part10.rar
   Computing Reed Solomon matrix.
   Constructing: done.
   Wrote 5002400 bytes to disk
   Writing recovery packets
   Writing verification packets
   Done

Ya tenemos creados los archivos par2, lo comprobamos:

>> ls
   prueba.avi   prueba.part01.rar  prueba.part03.rar  prueba.part05.rar  prueba.part07.rar 
   prueba.part09.rar  prueba.vol000+16.par2  prueba.vol048+64.par2   prueba.par2
   prueba.part02.rar  prueba.part04.rar  prueba.part06.rar  prueba.part08.rar  prueba.part10.rar 
   prueba.vol016+32.par2  prueba.vol112+88.par2

Recuperación con ficheros par2

Si queremos descomprimir un archivo comprimido en varios archivos rar pero no tenemos todos los archivos o alguno de estos esta dañado, podemos hacerlo si tenemos los archivos par2. Vamos a ver un ejemplo de uso si un archivo troceado en trozos con archivos PAR2 y que le falta 1 archivo (prueba.part019.rar). Estos son los archivos que tenemos:

>> ls
  prueba.md5
  prueba.par2
  prueba.part001.rar
  ...
  prueba.part018.rar
  prueba.part020.rar
  ...
  prueba.part030.rar
  prueba.vol000_50.PAR2
  prueba.vol050_50.PAR2
  prueba.vol100_50.PAR2

Ahora vamos a ejecutar el programa par2 para que compruebe cuantos archivos faltan o estan dañados y si tiene los suficientes bloques para recuperarlos:

 >> par2repair prueba.par2
   par2cmdline version 0.4, Copyright (C) 2003 Peter Brian Clements.
  
   par2cmdline comes with ABSOLUTELY NO WARRANTY.
  
   This is free software, and you are welcome to redistribute it and/or modify
   it under the terms of the GNU General Public License as published by the
   Free Software Foundation; either version 2 of the License, or (at your
   option) any later version. See COPYING for details.
  
   Loading "prueba.par2".
   Loaded 370 new packets
   Loading "prueba.vol100_50.PAR2".
   Loaded 50 new packets including 50 recovery blocks
   Loading "prueba.vol000_50.PAR2".
   Loaded 50 new packets including 50 recovery blocks
   Loading "prueba.vol050_50.PAR2".
   Loaded 50 new packets including 50 recovery blocks

   There are 30 recoverable files and 0 other files.
   The block size used was 2000000 bytes.
   There are a total of 1529 data blocks.
   The total size of the data files is 19021486678 bytes.
   
   Verifying source files:
   
   Target: "prueba.part001.rar" - found.
   ...
   Target: "prueba.part058.rar" - found.
   Target: "prueba.part059.rar" - missing.
   Target: "prueba.part060.rar" - found.
   ...
   Target: "prueba.part130.rar" - found.
   
   Scanning extra files:
   
   Repair is required.
   1 file(s) are missing.
   30 file(s) are ok.
   You have 1495 out of 1529 data blocks available.
   You have 150 recovery blocks available.
   Repair is possible.
   You have an excess of 116 recovery blocks.
   34 recovery blocks will be used to repair.

   Computing Reed Solomon matrix.
   Constructing: done.
   Solving: done.

   Wrote 16776448 bytes to disk
   ...
   Wrote 13108224 bytes to disk

   Verifying repaired files:

   Target: "prueba.part019.rar" - found.

   Repair complete.

Como podemos ver había suficientes bloques para recuperar el archivo perdido y lo ha recuperado.

Dom, 10/04/2009 - 23:57

 raid 1 en linux con ubuntu

1. Introducción

En linux existe un programa para hacer raid por software. Este se llama mdadm. En esta guia explicaré como hacer un raid 1 con dos particiones del mismo tamaño.

2. Hacer un raid

Lo primero será tener instalado mdadm, que es el programa que hará el raid por software. Instalamos el programa mdadm con la siguiente orden:

>> sudo aptitude install mdadm

Por ejemplo, tenemos una partición con datos (/dev/sda5) y queremos hacer un raid 1 con otra partición que tenemos sin datos (/dev/sdb1). Lo primero será desmontar las dos particiones:

>> sudo umount /dev/sda5
>> sudo umount /dev/sdb1

Comprobamos que las dos particiones tienen el mismo tamaño:

>> sudo fdisk -l
...
/dev/sda5            5227       35741   245111706   83  Linux
...
/dev/sdb1               1       30515   245111706   83  Linux
...

Ahora vamos a crear el raid con la partición que no tiene los datos originales (acordaros que si creáis varios raid, tendréis que poner un nombre a cada uno: /dev/md0, /dev/md1, ...):

>> sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 missing
  mdadm: /dev/sda5 appears to contain an ext2fs file system
      size=245111704K  mtime=Sun Jun 21 13:01:34 2009
  Continue creating array? y
  mdadm: array /dev/md0 started.

Ahora formateamos la partición del raid. Por ejemplo, para crear un sistema de ficheros de linux lo haremos con la siguiente orden (podemos formatearlo con lo que queramos: ntfs, fat32, ext4, ...):

>> sudo mkfs -t ext4 /dev/md0

Ya tenemos el raid creado con la partición sin datos. Ahora vamos a pasar los datos, de la partición que los contiene, al raid. Para hacerlo, primero tendremos que montar las particiones:

>> sudo mount /dev/sda5 /media/datos
>> sudo mount /dev/md0 /media/raid

Ahora copiaremos todos los datos de /media/datos a /media/raid (no hay que copiar las carpetas del sistema de archivos como lost+found).

Una vez hemos llegado aquí, ya tendremos el raid creado con los datos dentro, pero solo con 1 disco. Ahora añadiremos  al raid la partición que tenía los datos (/dev/sda5) para que se reconstruya con los datos del raid:

>> sudo mdadm --manage /dev/md0 --add /dev/sda5
  mdadm: added /dev/sdb1

Se empecará a copiar la información de la partición primaria en la que hemos añadido ahora. Para ver como va el proceso podremos ejecutar el siguiente comando para ver el % que lleva: 

>> cat /proc/mdstat
  Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
  md0 : active raid1 sdb1[2] sda5[0]
        245111616 blocks [2/1] [U_]
        [>....................]  recovery =  0.3% (857600/245111616) finish=66.4min speed=61257K/sec

O tambien podemos ver el proceso de reconstrucción con este otro comando:

>> sudo mdadm --detail /dev/md0
/dev/md0:
...
    Update Time : Sun Jun 21 15:38:24 2009
          State : clean, degraded, recovering
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1
 
 Rebuild Status : 13% complete
...
    Number   Major   Minor   RaidDevice State
       0       8        5        0      active sync   /dev/sda5
       2       8       17        1      spare rebuilding   /dev/sdb1

Esperaremos hasta que desaparezca esta línea. Una vez acabado este proceso, iremos al fichero /etc/mdadm/mdadm.conf y añadiremos la línea en la que indicamos las particiones queu forman el raid, quedando el fichero de la siguiente forma:

...
# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
DEVICE partitions
# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes
# automatically tag new arrays as belonging to the local system
HOMEHOST <system>
# instruct the monitoring daemon where to send mail alerts
MAILADDR root
# definitions of existing MD arrays
# This file was auto-generated on Thu, 21 May 2009 21:47:53 +0200
# by mkconf $Id$
ARRAY        /dev/md0 devices=/dev/sda5,/dev/sdb1

Una vez que ya tenemos creado dispositivo raid, vamos a ponerla en el /etc/fstab para que el ordenador la monte cada vez qeu se encienda. Lo primero que tenemos que saber es el UUID de nuestra particion raid. Para ello tendremos que ejecutar la siguiente orden (por ejemplo pasa saber el UUID del dispositivo md0):

>> sudo vol_id -u /dev/md0
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

(* En versiones ams nuevas de ubuntu podemos usar >> sudo blkid)

Una vez tenemos el UUID vamos a editar el fichero /etc/fstab, comentaremos las líneas en las que aparezcan los dispositivos que forman parte del raid (en nuestro caso /dev/sdb1 y /dev/sda5) si es que estan en el fichero (igual aparecen por su UUID, podeis saber cual es con la orden sudo vol_id -u /dev/XXX) y añadiremos la línea del nuevo dispositivo:

# /dev/sda5
#UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX       /media/SIN_RAID1        ext3    relatime        0       2
# /dev/sdb1
#UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX       /media/SIN_RAID2        ext3    relatime        0       2
# /dev/md0
UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX    /media/CON_RAID    ext3    relatime    0    2

3. Quitar un raid

Lo primero que tendremos que saber es que particiones forman el raid. Por ejemplo, si queremos desacer el raid /dev/md1, tendremos que ejecutar el siguiente comando para saber las particiones que lo forman:

>> sudo mdadm --detail /dev/md1
/dev/md1:
...   
Number Major Minor RaidDevice State
0 8 6 0 active sync /dev/sda6
1 8 34 1 active sync /dev/sdc2

Como podemos ver, el raid esta formado por las particiones /dev/sda6 y /dev/sdc2. Una vez sabemos esto pararemos el raid y lo desmontamos con las siguientes ordenes:

>> mdadm --stop /dev/md1
>> sudo umount /dev/md1

Ahora limpiaremos las dos particiones de la configuración del raid con las siguientes ordenes:

>> mdadm --zero-superblock /dev/sda6
>> mdadm --zero-superblock /dev/sdc2

Y por último tendremos que ir al fichero /etc/mdadm/mdadm.conf y tendremos que quitar la línea correspondiente a el raid, en nuestro caso la siguiente:

ARRAY /dev/md1 devices=/dev/sda6,/dev/sdc2

Con esto ya habremos quitado el raid /dev/md1.

4. Comprobar el estado de un raid

Si lo que queremos es comprobar el estado de un raid, tendremos que ejecutar el siguiente comando. Por ejemplo para comprobar el estado del rad /dev/md0:

>> sudo mdadm --detail /dev/md0
/dev/md1:
        Version : 00.90
  Creation Time : Thu Jul  2 22:46:31 2009
     Raid Level : raid1
     Array Size : 271610816 (259.03 GiB 278.13 GB)
  Used Dev Size : 271610816 (259.03 GiB 278.13 GB)
  Raid Devices : 2
  Total Devices : 2
  Preferred Minor : 1
  Persistence : Superblock is persistent
 
    Update Time : Fri Jul  3 00:07:06 2009
          State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
 
           UUID : 8fe624fd:cef7961e:ce24d2e1:c686696d (local to host pcpedro)
         Events : 0.14
  
   Number   Major   Minor   RaidDevice State
       0       8        6        0      active sync   /dev/sda6
       1       8       34        1      active sync   /dev/sdc2

5. Problemas

5.1. Unexpected inconsistency

Al encender el ordenador, cuando esta cargando ubuntu se para el proceso y saca el siguiente mensaje:

Log of fsck -C3 -R -A -a
Sat Sep 19 13:01:06 2009
 
fsck 1.41.4 (27-Jan-2009)
D: The filesystem size (according to the superblock) is 61277926 blocks
The physical size of the device is 61277904 blocks
Either the superblock or the partition table is likely to be corrupt!
 
D: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
    (i.e., without -a or -p options)
 
fsck died with exit status 4
Sat Sep 19 13:01:07 2009
----------------

Se queda parado en la consola y tengo que poner exit para que siga la carga de ubuntu.

5.1.1. Solución

Este problema me apareció cuando metí al raid un sistema de ficheros ya creado para no tener qeu mover los datos que contenía. Y para solucionarlo, tuve que seguir estos pasos:

  • Quitar el raid (según indico en este artículo).
  • Volverlo ha hacer mediendo al raid una partición vacía.
  • Formatear el raid.
  • Copiar los datos en el raid.
  • Y por último meter la otra particion por el raid.

5.2. Has no superblock

A veces, cuando intentas activar un raid, puede aparecer el siguiente error:

>> sudo mdadm -A /dev/md1
mdadm: /dev/sdd2 has no superblock - assembly aborted

Miramos primero que raids tenemos activados:

>> cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md1 : inactive sda7[1](S)
      271610816 blocks
       
md_d1 : inactive sdd3[0](S)
      271610816 blocks

unused devices: <none>

5.2.1. Solución

Como podemos ver, hay un dispositivo que se ha creado con una de las particiones del raid md1, por eso no deja activarlo. Para solucionarlo tendremos que parar los dos raid (el que no nos funciona y el desconocido) y luego activaremos y montaremos el nuestro:

>> sudo mdadm --stop /dev/md_d1
mdadm: stopped /dev/md_d1
>> sudo mdadm --stop /dev/md1
mdadm: stopped /dev/md1
>> sudo mdadm -A /dev/md1
mdadm: /dev/md1 has been started with 2 drives.
>> sudo mount /dev/md1