Archivo categoría Linux

Habilitando el ecualizador en Amarok

Amarok - Equalizer issue

Si de casualidad intentan configurar el ecualizador en Amarok y le sale el mensaje mostrado arriba, basta con instalar el backend phonom de gstreamer:

# aptitude install phonon-backend-gstreamer

Luego de esto podrán usar el ecualizador como se muestra en esta otra imagen:

Amarok - Equalizer solved

También podrán aplicarse los ajustes predeterminados de acuerdo al género que se desee escuchar o modificar manualmente los valores a voluntad.

,

No hay Comentarios

Cómo correr aplicaciones Android desde la tarjeta SD

Link2SD

Una de las limitantes que tienen algunos teléfonos es el espacio disponible para instalar aplicaciones (por ejemplo el Samsung Galaxy Ace 5830 es una pesadilla) por lo que en algún momento uno debe desinstalar aplicaciones para hacerle espacio a otra aplicaciones. Pero aun y cuando uno pueda jugar con esto siempre puede darse el caso en que el teléfono se quede sin espacio ya que las aplicaciones también pueden guardar datos en la memoria interna del teléfono.

Para solucionar este problema existen una aplicación que permite mover aplicaciones a la tarjeta SD que estaré explicando en este artículo.

Requisitos

  • Tener una partición extra en la tarjeta SD.
  • Tener el teléfono rooteado. Para el Samsung Galaxy Ace 5830 pueden seguir estos paso.

Particionando la tarjeta SD

Para crear la partición adicional es recomendable copiar los datos que se tienen en un directorio del PC (por si acaso) y redimensionar la partición para hacer espacio a la nueva partición, y luego crear la partición adicional. En Linux se puede particionar la larjeta SD con GParted. A continuación muestro cómo quedó particionada mi tarjeta de 4 GB:

Gparted Sandisk phone

Como puede observarse la partición adicional está en ext2 y es de 512 MB. Como nota aparte, no vale la pena crear la partición adicional como ext3 o ext4 porque el journal no tiene sentido y podría poner las aplicaciones algo más lentas.

Instalación y uso  de Link2SD

Una vez particionada la tarjeta SD  se debe colocar nuevamente al teléfono. Luego se debe ingresar a Play de Google e instalar la aplicación Link2SD en el teléfono. Cuando haya terminado la instalación ejecute la aplicación. Inmediatamente solicitará permiso de superusuario (Por esta razóno el teléfono debe estar rooteado) como se muestra a continuación:

LINK2SD - SuperUsuario

 Luego aparecerá la siguiente pantalla preguntando por el tipo de sistema de archivos, a lo cual responderemos que es del tipo ext2:

Link2SD - Filesystem

 Una vez que se indique el tipo de partición la aplicación creará los enlaces necesario a los scripts y pedirá reiniar el teléfono, al aceptar el teléfono se reiniciará y la segunda partición estará lista para ser reconocida.

Link2SD - Reboot

Cuando el teléfono se haya encendido nuevamente y la tarjeta SD se haya escaneado ejecute nuevamente la aplicación para empezar a mover las aplicaciones a la tarjeta SD. Para ello, filtre las aplicaciones que están instaladas en la memoria interna del teléfono, como se muestra a continuación:

Link2SD - Internal apps

Para mover una aplicació a la SD, selecciónela y precione el botón Mover a la tarjeta SD como se muestra en la siguiente imagen:

Links2SD - Moving an app

Enlazando aplicaciones

En vez de solo mover las aplicaciones Link2SD tiene una forma alternativa de mover y enlazar las aplicaciones a la segunda partición de la tarjeta SD. Mover las aplicaciones a la SD solo copia parte de la aplicación y no todos los componentes a la primera partición FAT, no a la segunda partición ext2 que se creó. Entonces para aprovechar realmente el espacio de esta segunda partición se deben enlazar las aplicaciones, como se muestra en la siguiente imagen:

Link2SD - Crear Enlace

También se puede configurar para que automáticamente se cree un enlace al descargar e instalar una aplicación, para ello se debe ejecutar Link2SD y seleccionar Ajustes para escoger la opción “Enlace automático”, como se muestra a continuación:

Link2SD - Enace automático

Antes y después

Después de mover las aplicaciones a la segunda partición de la tarjeta SD, aquí les dejo dos imágenes que muestran el antes y el después del espacio en mi teléfono:

Lnik2SD - Before Link2SD - After

Como puede apreciarse en la segunda imagen, quedan libres 141 MB. Otro dato curioso y que de muestra que Link2SD está funcionado es que se están usando 40 MB, pero solo la aplicación Angry Birds Stars War ocupa 44 MB!!

Referencias

4 Comentarios

Cómo crear un mirror de Debian y Ubuntu con debmirror

Debmirror

A continuación explico cómo configurar un mirror de Debian y Ubuntu, en un servidor de Debian. Los pasos explicados a continuación se pueden conseguir en otro sitios, salvo la parte de importación de las llaves de los repositorios. Por ejemplo, en los tutoriales de Ubuntu explican cómo instalar las llaves suponiendo que el servidor donde se va a hacer el mirror corre Ubuntu, pero y si es un servidor con Debian?

Instalación de debmirror

Como mencioné, usé debmirror para hacer el mirror de ambas distribuciones. Existen otros, como por ejemplo apt-cacher, pero se escogió debmirror porque en esencia se necesita hacer mirror de todo los repositorios de Ubuntu y Debian. Entonces, para instalar debmiror basta con escribir lo siguiente como root:

aptitude install debmirror

Instalación de las llaves

Luego se deben instalar la llaves (keyrings) de los repositorios. Como se quiere hacer un mirror tanto de Debian como de Ubuntu, bajaremos los paquetes e importaremos las llaves para cada distro:

Debian

Para instalar las llaves de los repositorios de Debian se debe bajar el paquete debian-archive-keyrings mas reciente, por ejemplo de testing:

# wget http://ftp.us.debian.org/debian/pool/main/d/debian-archive-keyring/debian-archive-keyring_2012.4_all.deb

Luego se procede a extraer el contenido del paquete en el directorio home de root:

# dpkg-deb -x debian-archive-keyring_2012.4_all.deb ~

Ahora se debe importar las llaves:

# gpg --no-default-keyring --keyring /home/repo/keyrings/debian/trustedkeys.gpg --import /root/usr/share/keyrings/debian-archive-keyring.gpg
 gpg: keyring `/home/repo/keyrings/debian/trustedkeys.gpg' created
 gpg: key B98321F9: public key "Squeeze Stable Release Key " imported
 gpg: key 473041FA: public key "Debian Archive Automatic Signing Key (6.0/squeeze) " imported
 gpg: key 65FFB764: public key "Wheezy Stable Release Key " imported
 gpg: key 46925553: public key "Debian Archive Automatic Signing Key (7.0/wheezy) " imported
 gpg: Total number processed: 4
 gpg: imported: 4 (RSA: 4)
 gpg: no ultimately trusted keys found

Ubuntu

Para Ubuntu se debe hacer algo similar. Se debe bajar el paquete ubuntu-keyring mas reciente. Para la fecha tomé uno de los repositorios de quantal:

# wget http://pa.archive.ubuntu.com/ubuntu/pool/main/u/ubuntu-keyring/ubuntu-keyring_2012.05.19_all.deb

Luego se procede a extraer el contenido del paquete en el directorio home de root e importar las llaves:

# dpkg-deb -x ubuntu-keyring_2012.05.19_all.deb ~
# gpg --no-default-keyring --keyring /home/repo/keyrings/ubuntu/trustedkeys.gpg --import /root/usr/share/keyrings/ubuntu-archive-keyring.gpg
gpg: keyring `/home/repo/Ubuntu/mirrorkeyring/trustedkeys.gpg' created
 gpg: key 437D05B5: public key "Ubuntu Archive Automatic Signing Key " imported
 gpg: key FBB75451: public key "Ubuntu CD Image Automatic Signing Key " imported
 gpg: key C0B21F32: public key "Ubuntu Archive Automatic Signing Key (2012) " imported
 gpg: key EFE21092: public key "Ubuntu CD Image Automatic Signing Key (2012) " imported
 gpg: Total number processed: 4
 gpg: imported: 4 (RSA: 2)
 gpg: no ultimately trusted keys found

El script de debmirror

Para Ubuntu

El script como tal es una adaptación de la documentación que se consigue en Ubuntu, el cual se puede guardar en el archivo /home/repo/scripts/debian.sh con la siguiente información:

#!/bin/sh
# Don't touch the user's keyring, have our own instead
export GNUPGHOME=/home/repo/keyrings/ubuntu

# Architecture. For Ubuntu can be i386, powerpc or amd64.
arch=i386,amd64

# Minimum Ubuntu system requires main, restricted
# Section (One of the following - main/restricted/universe/multiverse).
section=main,multiverse,universe,restricted

# Release of the system (Quantal, Precise, etc)
release=quantal,quantal-security,quantal-updates,quantal-backports,precise,precise-security,precise-updates,precise-backports

# Server name, minus the protocol and the path at the end
server=us.archive.ubuntu.com

# Path from the main server, so http://my.web.server/$dir, Server dependant
inPath=/ubuntu

# Protocol to use for transfer (http, ftp, hftp, rsync)
proto=http

# Directory to store the mirror in
outPath=/home/repo/mirrors/ubuntu

# Start script

debmirror       -a $arch \
                --no-source \
                --md5sums \
                --progress \
                --passive \
                --verbose \
                -s $section \
                -h $server \
                -d $release \
                -r $inPath \
                -e $proto \

Para Debian

Para Debian cambiarían los valores, y en esencia en el archivo archivo /home/repo/scripts/debian.sh pondríamos algo como esto:

#!/bin/sh

# Don't touch the user's keyring, have our own instead
export GNUPGHOME=/home/repo/keyrings/debian

# Architecture (i386, powerpc, amd64, etc.)
arch=i386,amd64

# Section (main,contrib,non-free)
section=main,contrib,non-free

# Release of the system (squeeze,lenny,stable,testing,etc)
release=squeeze

# Server name, minus the protocol and the path at the end
server=ftp.us.debian.org

# Path from the main server, so http://my.web.server/$dir, Server dependant
inPath=/debian

# Protocol to use for transfer (http, ftp, hftp, rsync)
proto=http

# Directory to store the mirror in
outPath=/home/repo/mirrors/debian

# Start script

debmirror       -a $arch \
                --no-source \
		--md5sums \
		--progress \
		--passive \
		--verbose \
                -s $section \
                -h $server \
                -d $release \
                -r $inPath \
                -e $proto \
                $outPath

Nota: Para ambos casos se debe dar permisología de ejecución a los scripts, se debe probar la conexión a los servidores seleccionados, y que habrá suficiente espacio para alojar dichos repositorios.

Tarea programada (crontab)

Una vez que se tienen los scripts, se puede configurar una tarea programada para que la sincronización del mirror se haga a un tiempo determinado. Por ejemplo, para que se ejecute diariamente a las 12 de la media noche podemos colocar esto en el /etc/crontab:

0 0 * * *    root    /home/repo/scripts/debian.sh
0 0 * * *    root    /home/repo/scripts/ubuntu.sh

Publicación de los mirrror

Para publicar los mirror vía http se puede instalar un servidor web, como Apache:

aptitude install apache2

Por omisión en Debian, Apache  tiene el directorio /var/www/ como la raíz. Entonces para configurar los mirrors basta con crear los enlaces simbólicos apuntando a este directorio:

# ln -s /home/repo/mirrors/ubuntu /var/www/
# ln -s /home/repo/mirrors/debian /var/www/

Configuración de los clientes

Para configurar los clientes habría que editar el archivo de configuración /etc/apt/sources.list, según sea la versión de Linux que se esté usando en el cliente:

Para Ubuntu

Para Ubuntu precise (12.04) se debería tener algo como esto en el /etc/apt/sources.list:

deb http://192.168.1.1/ubuntu/ precise main restricted universe multiverse
deb http://192.168.1.1/ubuntu/ precise-updates main restricted universe multiverse
deb http://192.168.1.1/ubuntu/ precise-backports main restricted universe multiverse
deb http://192.168.1.1/ubuntu/ precise-security main restricted universe multiverse

En este caso la dirección IP 192.168.1.1 corresponde al servidor que aloja los repositorios, los cuales se publicaron vía http con Apache. Se debe cambiar por la IP del servidor que se esté configurando o una entrada de DNS válida que lo identifique.

Para Debian

Para Debian Squeeze se debe escribir lo siguiente en el /etc/apt/sources.list:

deb http://192.168.1.1/debian squeeze main contrib non-free
deb http://192.168.1.1/debian-security squeeze/updates main contrib non-free

Para ambos casos, luego se debe actualizar la lista de paquetes:

aptitude update

Una vez que se hayan actualizado el listado de paquetes ya se podrá instalar y actualizar aplicaciones desde estos repositorios.

, ,

13 Comentarios

Tarjeta gráfica ATI Radeon HD 7340M en Debian

ATI RADEON not working

Instalé Debian testing en mi Sony VAIO SVE-111 por sugerencia/regaño de mi amigo Roberto De Oliveira (@robertocdoa) ya que me estaba quejando de lo lento que se portaba Ubuntu en mi máquina, aparte de que la apariencia de Ubuntu dejó de gustarme hace rato.

Si bien la instalación fue rápida, luego de concluir y reiniciar la máquina nuevamente, al arrancar solo se veían una imagen distorsionada como se puede apreciar en la foto superior. Inmediatamente supuse que era un problema con el driver de video. Como no podía acceder ni siquiera a la consola de texto con el driver genérico  tuve que recurrir al viejo truco de acceder a una consola de texto desde el boot loader, como se muestra a continuación:

Grub_init_bash

Esto permite cargar Bash en vez del arranque normal del sistema con init. Una vez que pude acceder al sistema tuve que remontar la partición raíz como lectura y escritura haciendo:

# mount -o remount,rw /

Aproveché para ver que el modelo exacto de mi tarjeta gráfica usé lspci como se muestra a continuación:

# lspci 
00:00.0 Host bridge: Advanced Micro Devices [AMD] Family 14h Processor Root Complex
00:01.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Device 9808
00:01.1 Audio device: Advanced Micro Devices [AMD] nee ATI Wrestler HDMI Audio [Radeon HD 6250/6310]
00:04.0 PCI bridge: Advanced Micro Devices [AMD] Family 14h Processor Root Port
...

Hice una búsqueda sobre el driver para Debian de mi tarjeta gráfica y sugerían que usara la versión no libre que se encuentra en los repositorios non-free y contrib, por lo que debía agregarlos en en el archivo /etc/apt/source.list:

deb http://ftp.us.debian.org/debian squeeze main contrib non-free

Una vez hecho el cambio, procedía a actualizar e instalar el driver propietario de mi tarjeta gráfica:

# aptitude update
# aptitude install fglrx-control fglrx-driver

Instalar el driver no basta, se debe configurar también el archivo /etc/X11/xorg.conf para agregar las opciones de la tarjeta gráfica. Para este caso lo mejor es usar el utilitario que viene con el driver para generar este archivo. Para ello basta con ejecutar la siguiente orden:

# aticonfig --initial

Luego de esto pude usar el ambiente gráfico al reiniciar la PC, incluso con Gnome-Shell como puede verse ne la siguiente imagen:

ATI RADEON Working

Problemas con el TouchPad

Anteriormente había comentado cómo configurar el touchpad para esta máquina, pero esta configuración la hice en una máquina con Ubuntu. Con este driver la misma configuración en el archivo /etc/X11/xorg.conf no funciona, pero probando con la orden synclient me percaté que sí tomaba los parámetros, entonces simplemte convertí la configuración en el siguiente script:

#!/bin/sh
synclient LockedDrags=false
synclient VertEdgeScroll=1
synclient HorizEdgeScroll=false
synclient TapButton1=1 # Left click
synclient LTCornerButton=2 # Two-buttons click
synclient MaxDoubleTapTime=120
synclient TapButton2=3 # Right click
synclient EmulateTwoFingerMinZ=20
synclient EmulateTwoFingerMinW=5
synclient AreaBottomEdge=4500

Este script lo nombre synaptics.sh, y le habilité el permiso de ejecución:

 chmod +x synaptics.sh

Luego desde la opción Startup Programs de Gnome-Shell se configura para que se ejecute cuando inicie Gnome. Este programa de configuración se puede lanzar escribiendo en Gnome-Shell “Startup”, como se muestra a continuación:

Startup programs link on Gnome-Shell

Luego basta con agregar el script (hacer clic en el botón Add)  como se muestra en la siguiente imagen:

Gnome - Startup programs

Después de esto tendrás la configuración como expliqué en mi otro artículo, donde se incluía “botones” especiales y un menú contextual al usar el clic con de dos dedos.

Referencias

, ,

2 Comentarios

Configuración de Linphone en Linux

Linphone

En la empresa donde laboro hay una centralita con Asterisk y como el número de teléfonos físicos disponibles es limitado decidí usar un softphone, en este caso Linphone. A continuación se explican los pasos para instalar y configurar Linphone con un servidor SIP:

Instalación en Debian

En Debian se debe instalar el siguiente paquete:

aptitude install linphone

En distribuciones derivadas como Ubuntu o Mint debe verificarse el nombre del paquete.

Instalación en Red Hat

En el caso de que se esté usando  Red Hat entonces  se debe instalar Linphone de la siguiente manera:

yum install linphone

Nuevamente, para distribuciones derivadas como Fedora o CentOS se debe validar el nombre del paquete. También se debe tener el repositorio adecuado que provea Linphone (recordar que Red Hat está orientado a servidores).

Configuración

Para la configuración se debe lanzar la aplicación e ir a Options > Preferences > Manage SIP Accounts. Debe aparecer una pantalla similar a la siguiente:

Settings

Se debe agregar un cuenta en el apartado Proxy accounts, pulsando el botón Add, con lo que se mostrará la siguiente ventana:

SIP Account

Aquí solo se debe especificar la cuenta de usuario o identidad SIP y el proxy SIP. Para la identidad se debe seguir el formato usuario@dominio. En el ejemplo 5256 corresponde al usuario (extensión) y 10.0.3.10 es el servidor SIP. Por otro lado, la dirección del proxy SIP en este caso es 10.0.3.10.

Una vez hechos los cambios pulsar OK en esta ventana, y Done en la anterior.

Funcionamiento

Ahora la aplicación se debe autenticar contra el servidor, solicitando el nombre de usuario y contraseña como se muestra a continuación:

SIP Authentication

Después de proporcionar la cuenta, en la pantalla principal de la aplicación debe aparecer esta información reflejada en My Current Identity:

My current Identity

Hacer una llamada

Para hacer una llamada basta con colocar el número de la extención en el recuadro mostrado a continuación y pulsar el botón verde:

Calling

2 Comentarios

Configuración del touchpad para Sony VAIO SVE-111 en Linux

Sony VAIO SVE-111 touchpad

Similar a cuando compré la notebook Lenovo IdeaPad S10-3 ahora que tengo una Sony VAIO SVE-111 decidí configurar el touchpad para aprovechar el espacio, y en la medida de lo posible evitar usar los botones derechos e izquierdo, de forma de evitar el desgaste de los mismo. Aquí dejo la configuración que usé para el archivo /etc/X11/xorg.conf:

Section "InputDevice"
 Identifier    "Synaptics Touchpad"
 Driver    "synaptics"
 Option    "Protocol" "auto-dev"
 Option    "CorePointer"
 Option    "LockedDrags" "false"
 Option    "VertEdgeScroll" "true"
 Option    "HorizEdgeScroll" "false"
 Option    "TapButton1" "1"        # Left click
 Option    "LTCornerButton" "2"        # Two-buttons click
 Option    "MaxDoubleTapTime" "120"
 Option    "TapButton2" "3"        # Right click
 Option    "EmulateTwoFingerMinZ" "20"
 Option    "EmulateTwoFingerMinW" "5"
 Option    "AreaBottomEdge" "4900"
EndSection

Los parámetros de interés son:

Parámetro Descripción
TapButton1 Cual botón es reportado en un toque de un solo dedo (no en esquina)
LTCornerButton Cual botón es reportado en la esquina superior izquierda.
TapButton2 Cual botón es reportado en un toque de dos dedos (no en esquina)
EmulateTwoFingerMinZ Esto configura el umbral Z de presión para emular la pulsación dos dedos.
EmulateTwoFingerMinW Esto configura el ancho del dedo para emular la pulsación de dos dedos.
AreaBottomEdge Ignorar los movimientos, desplazamientos y toques que ocurra por debajo de este borde.

Depurando los valores

Puede que el ancho de tus dedos sea mayor o menor al mio, por lo que la debes ajustar la variable EmulateTwoFingerMinW. De igual forma si estás configurando otro touchpad con características similares debes definir un valor distinto para la variable AreaBottomEdge. Para hacer pruebas y evitar tener que reiniciar X, puedes usar la orden  synclient.

Para camiar el valor de una variable debes usar synclient de la siguiente forma:

synclient AreaBottomEdge=4500

Luego para consultar todos los valores actuales puedes escribir lo siguiente:

synclient -l | less

Por último puedes ver cómo cambian los valores en “caliente” a medida que vas tocando el tocuhpad. Para esto debes tener configurada la siguiente opción en el archivo /ect/X11/xorg.conf:

Option "SHMConfig" "true"

Luego podrás ver los cambios haciendo:

synclient -m 10

Referencia: man synaptics

9 Comentarios

Repositorios para VirtualBox 4.2.x

VirtualBox 4.2.x

Con la salida de VirtualBox 4.2.x aproveché de actualizar los repositorios de una de las máquinas del trabajo, la cual corre Ubuntu 12.04. Para hacer esto basta con colocar lo siguiente en el archivo /etc/apt/sources.list:

deb http://download.virtualbox.org/virtualbox/debian precise contrib

Después de este cambio debes refrescar el listado de paquetes y actualizar VirtualBox:

aptitude update
aptitude install virtualbox-4.2

Repositorios en Debian

Para Debian testing (wheezy) y stable  (Squeeze) se deben colocar las siguientes líneas:

deb http://download.virtualbox.org/virtualbox/debian wheezy contrib
deb http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free

Configuración en apt-cacher

Si seguiste la receta de apt-cacher y VirtualBox de este mismo blog, te informo que basta con modificar el /etc/apt/sources.list en los clientes como se explica arriba, es decir, el servidor de apt-cacher no sufre cambios.

Referencia: Download VirtualBox for Linux Hosts

,

4 Comentarios

Cómo poner una contraseña cifrada a grub2

grub2-passwd

Una de las cosas de las que carecía grub 2 respecto a grub 1 era la posibilidad de asignar una contraseña, de forma que no cualquiera pudiese editar el menú del gestor de arranque para, por ejemplo, pasar parámetros adicionales de arranque al kernel, cambiar el nivel de arranque o aun peor, cambiar la contraseña de root. Revisando recientemente me vi que ya es posible hacer esto, y veremos cómo hacerlo a continuación

Protección con contraseña

Para proteger la edición de grub 2 se debe asignar un super usuario y una contraseña, de preferencia cifrada. Para hacer esto primero se debe generar un hash con la frase deseada, usando la orden grub-mkpasswd-pbkdf2, como se muestra en la imagen anterior. Una vez generado el hash se debe proceder a editar el archivo /etc/grub.d/00_header, colocando lo siguiente al final:

cat << EOF
set superusers="lgallard"
 password_pbkdf2 lgallard grub.pbkdf2.sha512.10000.9BF88302B67DCCB25A7B939F5171B36D04AE7B8C1E1FF90511204DC08CCA98E9E9E9332B32E6908D1DF983A42603ACA1E2E8411B0407762C3A1839F707BF34E8.343BD210589487FBAEA3DA4889053206380B9590505F926764ED028FDB38EFD87C76505C9ABC6FA191CEE4AB3C407988C73AA773C46FC2A9A49D1078F222E5D9
 EOF

En este caso, el super usuario es lgallard, y el hash es el es que se generó anteriormente.  Luego de editar este archivo se deben aplicar los cambios usando la siguiente orden:

update-grub2

Ahora tu gestor de arrnaque con Grub 2 está protegido con contraseña!

Referencia: Grub 2 Password Protection

No hay Comentarios

Instalación de los Guests Additions de VirtualBox en CentOS

VirtualBox CentOS
Si por alguna razón requieren instalar CentOS en una máquina virtual en VirtualBox y quiere aprovechar las características adicionales de los Guest Additions (drivers de red y gráficos, para por ejemplo tener pantalla completa e integración de teclado) pueden seguir estos pasos para instalarlos:

  • En la máquina virtual con CentOS instalar los paquetes necesarios para compilar los Guest Additions:
yum install kernel-headers kernel-devel
yum groupinstall "Development Tools"

Esto tardará algo ya que se bajará muchos paquetes.

  • Desde el menú de VirtualBox seleccionar Instalar Guest Additions.

VirtualBox Guest Additions CentOS

En la máquina virtual se creará un enlace en el escritorio para montar la unidad de CD. Al darle al botón derecho seleccione Montar. Una vez montado ir al direcotrio:

cd /media/VBOXADDITIONS_4.1.20_80170/

Desde allí ejecutar el binario para Linux para la instalación:

./VBoxLinuxAdditions.run

Una vez finalizado ya se tendrá instalado los Guest Additions de VirtualBox en CentOS!

Instalación en Red Hat

Los pasos explicados previamente también son válidos para Red Hat, solo se debe tener configurado un repositorio desde donde se instalaran los paquetes o grupos de paquetes.

,

2 Comentarios

Cómo reducir un disco en VirtualBox

Shrink disk on VirtualBox - Big disk

Antes que nada debo decir que el título del artículo es algo engañoso, realmente debería decir algo como “Copiando el contenido de un disco grande en uno más pequeño en VirtualBox usando rsync”, pero dado que mi problema surgió de esa necesidad me pareció conveniente dejarlo como está.

El problema

Necesitaba una imagen con Clonezilla de una máquina virtual con un disco de 600 GB, como se muestra en la imagen de arriba, pero el disco de destino era de 200 GB. Clonezilla no es capaz de modificar la información física del disco, y en VirtualBox no encontré forma de reducir el disco físicamente aunque de los 600 GB solo se usara alrededor de 15 GB. Si bien se puede crear la imagen con Clonezilla a partir de las particiones, al restaurar de igual forma se reconocía que el sistema origen tenía un disco de 600 GB y el de destino era de 200 GB. Por otro lado, el sistema operativo (CentOS 6.0) tenía LVM, por lo que hacer la restauración a partir de particiones no resolvía el problema.

La Solución

Como la imagen generada con Clonezilla fue hecha a partir de un disco de 600 GB, se me ocurrió hacer un disco más pequeño de 200 GB e instalar el sistema operativo allí para luego copiar los archivos necesarios desde el disco original de 600 GB a este nuevo disco. Entonces, en la máquina virtual procedía a crear un disco de 200 GB dinámico:

Shrink disk on VirtualBox - Adding small disk

Luego procedí a quitar el disco de 600 GB (en el ejemplo, Cento OS Server.dvi), dejando el disco de 200 GB (SmallDisk.dvi). Después instalé CentOS como se haría habitualmente. Es bueno revisar la instalación, es decir, que la máquina virtual en el disco de 200 GB inicia normalmente.

Una vez verificado el sistema operativo en el disco de 200 GB, se debe apagar la máquina virtual y agregar el disco de 600 GB nuevamente, pero como un disco primario (colocar SATA Port 0 en vez de SATA Port 1). El disco pequeño debe se debe configurar como secundario seleccionando SATA Port 1, como se muestra en la figura de arriba. Luego se inicia la máquina virtual, y como root se monta el disco de 200 GB:

mount /dev/mapper/VolGroup-lv_root /mnt/lvm2/root/

Y ahora se procede  a copiar el contenido del disco grande en el disco pequeño:

rsync -arpz --progress --numeric-ids --exclude=/dev --exclude=/proc --exclude=/tmp --exclude=/boot --exclude=/home --exclude=/etc/fstab  --exclude=/mnt --exclude=/sys / /mnt/lvm2/root/

Es importante excluir los directorio /dev, /proc, /sys, /tmp, /boot, /home, /mnt y el archivo /etc/fstab, ya que no queremos que esa información se replique en el disco pequeño (por ejemplo, no queremos copiar el gestor de arranque del disco grande en el disco pequeño).

Una vez copiados los archivos, puede apagarse la máquina virtual y quitar el disco grande, dejando el disco pequeño en SATA Port 0.

Por último, si bien es cierto que usé  CentOS, también es válido para otras distribuciones como Debian y derivados.

No hay Comentarios