Mostrando entradas con la etiqueta Ubuntu Linux. Mostrar todas las entradas
Mostrando entradas con la etiqueta Ubuntu Linux. Mostrar todas las entradas

sábado, 14 de julio de 2007

Instalar VMware server en Ubuntu Feisty

Me ha costado, pero al final me ha salido.

He usado estas dos direcciones:
1. http://ubuntuforums.org/showthread.php?t=338305&page=2&highlight=vmware+feisty

2. http://ubuntuforums.org/showthread.php?t=493367

El resumen:

Paso 1: Instalar los módulos necesarios

sudo apt-get install vmware-server-kernel-modules vmware-tools-kernel-modules xinetd


Paso 2: Descargar una versión de vmware server de http://www.vmware.com/download/server/

Paso 3: Descomprimir el fichero descargado:

tar -xzvf VMware-server-1.0.1-29996.tar.gz


Paso 4: Instalación fallida (necesario)
Las opciones por defecto están bien... basta pulsar mucho "enter", "q" cuando te muestre la licencia y "yes" cuando te pregunte si la aceptas

cd vmware-server-distrib/
./vmware-install.pl


Paso 5: "Parchear" /usr/bin/vmware-config.pl y /etc/init.d/vmware

sudo sed -i -e "s/\/sbin\/insmod -s -f \"\/lib\/modules\/\`uname -r\`\/misc\/\$1.o\"/modprobe -s -f \$1/" /etc/init.d/vmware
sudo sed -i -e "s/sub configure_module {/sub configure_module {\n return 'yes';/" /usr/bin/vmware-config.pl


Paso 6: Reconfigurar vmware

sudo vmware-config.pl


Paso 7: Serial number
Al final del paso anterior nos solicita un serial number. VMware los da gratuitamente en http://register.vmware.com/content/registration.html

Paso 8: A correr
En el menú Aplicaciones -> Herramientas de sistema aparece el "VMware Server Console"; nos conectamos al servidor local y ala, ya está.

miércoles, 7 de febrero de 2007

Compilando el kernel en Ubuntu Linux

Magnífica guía rápida (¡a la primera! ¡no tengo nada que añadir, quitar o cometar!):

lunes, 5 de febrero de 2007

Instalando el lector de tarjetas inteligentes LTC31 en Ubuntu linux

Quiero instalar un lector de tarjetas inteligentes LTC31 en cuya caja se afirma que es compatible con Linux (sin más). Existen dos versiones de éste lector, yo tengo la más antigua (se supone que con la nueva no hay que hacer todo lo que cuento a continuación).

Siguiendo las instrucciones de instalación para linux me encuentro que sólo funciona para kernels 2.4; si tienes un 2.6 tienes que aplicar un parche al código del kernel y recompilarlo. Ya empezamos.

El parche hay que solicitárselo al departamento técnico. Yo ya lo he solicitado, pero no se han puesto en contacto conmigo ni para decirme que habían recibido mi solicitud. Buscando por ahí me he encontrado el parche para la versión 2.6.11 pero yo tengo la 2.6.17 (y subiendo). Al intentar aplicar el parche, cómo no, me sale un error.

El siguiente paso fué intentar aplicar el parche manualmente. El fichero a editar era drivers/usb/host/uhci-hcd.c y tras mucho buscar no encontré dónde aplicar el parche. Al final lo encontré, en otro fichero: drivers/usb/host/uhci-q.c. Supongo que el fichero uhci-hcd.c ha sido divido dos o más partes, y éste trozo de código ha acabado en éste fichero.

El código que hay que cambiar es éste:
/* Can't have low-speed bulk transfers */
if (urb->dev->speed == USB_SPEED_LOW)
return -EINVAL;

por éste otro:
ret = uhci_submit_common(uhci, urb, eurb, uhci->skel_bulk_qh);
if (ret == -EINPROGRESS)
uhci_inc_fsbr(uhci, urb);
Por supuesto, ésto lo he visto en el parche para la 2.6.11. Ahora toca recompilar el kernel y probar... ERROR. No podía ser tan fácil. Tras toquetear un poco la función la dejé así:
int ret;

/* Inicio parche LTC31 */
qh->skel = uhci->skel_bulk_qh;
ret = uhci_submit_common(uhci, urb, qh);
if (ret == -EINPROGRESS)
uhci_inc_fsbr(uhci, urb);
/* Fin parche LTC31 */

//qh->skel = uhci->skel_bulk_qh;
// ret = uhci_submit_common(uhci, urb, qh);
if (ret == 0)
uhci_inc_fsbr(uhci, urb);
return ret;
y... ¡me ha compilado! Ahora a ver si funciona.

Pues va a ser que si. Al elegir en el Grub arrancar con el kernel recién generado ha funcionado el lector de tarjetas.

sábado, 3 de febrero de 2007

Configurando el firewal ipchains con webmin

Configurando el firewall ipchains con webmin:

  1. Nos aseguramos de que ipchains está instalado con "sudo apt-get install ipchains"
  2. Accedemos a la dirección del webmin a través de un navegador, p.ej. https://servidor:10000/
  3. Vamos a red -> cortafuegos linux
  4. Elegimos "bloquear trafico de red en la interfaz externa" y "habilitar firewall al arrancar" y pulsamos "configurar firewall"
  5. Denegar conexiones entrantes por defecto: En la sección "paquetes entrantes" pulsamos "añadir", que nos lleva a pantalla "Añadir regla" de "paquetes entrantes"
    1. En "Rule comment" ponemos "Por defecto"
    2. En "Acción a ejecutar" elegimos "denegar"
    3. Pulsamos el botón "Crear"
  6. Para abrir puertos (por ejemplo para el webmin), hay que añadir otra regla en "paquetes entrantes"
    1. En "Rule comment" ponemos un comentario (p.ej. "webmin")
    2. En "Acción a ejecutar" elegimos "aceptar"
    3. En "Protocolo red" elegimos "igual a" y el protocolo del servicio a admitir (en este caso "TCP")
    4. En "Puerto TCP o UDP destino" elegimos "igual a" y escribimos el puerto de destino (en este caso 10000)
    5. Si queremos restringir el acceso a dicho puerto a una IP o subred determinada, en el campo "IP o red de origen" elegimos "igual a" y la IP o red (p.ej. 192.168.1.0/24)
    6. Pulsamos el botón "crear"
    7. Pulsando el icono de la flecha hacia arriba en la regla recién creada, la subimos por encima de creada anteriormente (denegar entrantes por defecto)
  7. Una vez hayamos terminado de configrar el cortafuegos, pulsamos el botón "aplicar configuración"
  8. Si queremos abrir puertos por linea de comandos, podemos usar: "/sbin/ipchains -A input -p $protocol --dport $port -s $localaddress -j ACCEPT" cambiando
    1. $protocol por el protocolo "tcp" o "udp"
    2. $port por el puerto de destino (o puertos), p.ej. 3306 para mysql, 80 para apache, 8080 para tomcat, ...
    3. $localaddress por la dirección IP (o subred), p.ej. 192.168.1.0/24
  9. Si queremos denegar conexiones entrantes a un puerto desde un interfaz determinado por linea de comandos, podemos usar "/sbin/ipchains -A input -p $protocol --dport $port -i $interfaz -j DENY" cambiando
    1. $protocol y $port como en el punto 8
    2. $interfaz por el interfaz a restringir (p.ej. eth0, wlan0, etc...)

Instalando Webmin en Ubuntu Linux

Descargamos el paquete de webmin:
wget http://downloads.sourceforge.net/webadmin/webmin_1.320_all.deb
Y lo instalamos:
sudo dpkg -i webmin_1.320_all.deb
sudo apt-get -f install

El segundo comando es para instalar las dependencias que queden pendientes. Si se han instalado paquetes que faltaban, reiniciamos webmin:
sudo /etc/init.d/webmin restart
Y ya podemos probarlo: https://servidor:10000.

Para ponerlo en castellano, iremos a webmin -> webmin configuration -> languaje, elegiremos "spanish" y pulsaremos el botón "change language".

Configurando la red en Ubuntu Linux

Si se dispone de entorno gráfico, se puede ejecutar la herramienta para la administración de la red (Sistema -> Administración -> Red).

Si no se dispone de él, habrá que modificar manualmente los ficheros de configuración de la red:
  • /etc/network/interfaces: Configuración de cada interfaz (tarjeta) de red, p.ej.
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
network 192.168.1.0
gateway 192.168.1.1
# las opciones dns no cuentan si está instalado el paquete resovl (ver resolv.conf)
dns-nameservers 192.168.1.1
  • /etc/hosts: contiene una tabla de direcciones ip - nombre máquina
  • /etc/hostname: contiene el nombre de la máquina
  • /etc/resolv.conf: contiene la lista de servidores DNS

Después de modificar alguno de éstos ficheros, para recargar la configuración habrá que ejecutar:
sudo /etc/init.d/networking restart

Actualizando los paquetes de Ubuntu Linux

Lo primero es comprobar que tenemos conexión a la red y si no la tenemos, configurarla.

Ubuntu trae incorporado un gestor de paquetes llamado "apt-get". Éste gestor permite instalar paquetes y mantenerlos actualizados descargándoselos de los repositorios (que pueden estar en cualquier sistema de ficheros: un CD, en la red, ...).

Para actualizar los paquetes instalados ejecutamos:

sudo apt-get update
sudo apt-get upgrade


Hay que poner "sudo" para ejecutar los comandos como "administrador". El primero de ellos actualiza la lista de paquetes (últimas versiones disponibles de cada paquete instalado, p.ej.) y el segundo actualiza los paquetes que lo necesiten.

Los repositorios disponibles se pueden ver y editar en el fichero "/etc/apt/sources.list". Yo suelo desactivar los repositorios del CD (activados por defecto en Ubuntu Server) y activar los los componentes "restricted", "multiverse" y "universe". Después de modifcar el fichero "sources.list" hay que ejecutar el comando
sudo apt-get update
Mi sources.list "básico" (fuentes main, restricted, universe y multiverse):
deb http://es.archive.ubuntu.com/ubuntu/ edgy main restricted universe multiverse
deb-src http://es.archive.ubuntu.com/ubuntu/ edgy main restricted
universe multiverse

deb http://es.archive.ubuntu.com/ubuntu/ edgy-updates main restricted
universe multiverse
deb-src http://es.archive.ubuntu.com/ubuntu/ edgy-updates main restricted universe multiverse

deb http://es.archive.ubuntu.com/ubuntu/ edgy-backports main restricted universe multiverse
deb-src http://es.archive.ubuntu.com/ubuntu/ edgy-backports main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu edgy-security main restricted
universe multiverse
deb-src http://security.ubuntu.com/ubuntu edgy-security main restricted universe multiverse

Instalando Ubuntu Linux 6.10

Empezaremos por las características de mi servidor:

Pentium III a 800 Mhz
500 Mb de RAM
1 disco duro de 80 Gb
1 disco duro de 10 Gb "enracado" en una vahía PCI extraíble

Primer paso: Descargar la imagen del CD elegido (yo descargué Ubuntu Server 6.10 que permite instalar un entorno LAMP y no incluye por defecto entorno gráfico (las X) ) y grabarlo en CD.

Segundo paso: Arrancar desde el CD

Tercer paso: El menú de arranque del CD
Nada más arrancar, sale un menú que ofrece cinco acciones (instalar, comprobar el CD, recuperar un sistema roto, probar la memoria o arrancar desde disco).

Este menú aparece en inglés pero pulstado F2 podemos elegir el idioma (español), con F3 el teclado(spain), con F4 la resolución del monitor (yo elegí 1024 x 768 x 32 pero esto depende del monitor que estés usando; en uno antiguo, prueba con VGA o 800 x 600 x 16).

Una vez elegido el idioma, el teclado y el monitor, comenzamos la instalación.

Cuarto paso: El proceso de instalación
El sistema comienza a cargarse en memoria y a detectar los dispositivos del ordenador. Si detecta alguna tarjeta de red, intentará configurarla automáticamente. En mi caso, al no tener el DHCP habilitado, tuve que configurarla manualmente, para lo cual sólo he tenido que contestar a 4 preguntas (dirección IP, máscara de red, pasarela o puerta de enlace (gateway) y servidor DNS).

Después de configurar la red, hay que darle un nombre a la máquina. Yo elegí "servidor".

Continua el proceso de instalación detectando dispositivos. El siguiente paso es configurar los discos. Para usar un linux es recomendable dedicarle al menos dos particiones; una será para para montar el sistema de ficheros raíz (root) y la otra para la memoria virtual. Para la memoria virtual se recomienda una partición de el doble de tamaño que la memoria RAM.

Yo hice una de 79 Gb en el primer disco (hda) en ext3, activada la "marca de arranque" y "/" como punto de montaje, y otra de 1 Gb de intercambio (swap). La partición en el segundo disco (hdb) la dejé como estaba (con otro sistema operativo instalado) y con el punto de montaje "/media/enracado". Después de eso, el proceso de instalación continúa creando los sistemas de ficheros elegidos.

Una vez creados los sistemas de ficheros, hay que elegir la zona horaria y los datos de un nuevo usuario (nombre, usuario o login y contraseña o password).

Entonces empieza la copia de archivos.

Una vez copiados todos los paquetes básicos, pregunta si elegir un servidor DNS y/o un servidor LAMP. Yo no elegí ninguno de los dos, prefiero instalarlos después.

El proceso continúa configurando y copiando archivos automáticamente. Si detecta algún otro sistema operativo instalado en la máquina, preguntará si deseas instalar GRUB para elegir cual arrancar. Yo lo suelo instalar porque también permite arrancar diferentes kernels.

Tiempo total: media hora. Hay que tener en cuenta que lo instalé desde un lector de CDs 2x.

Quinto paso: Arrancar el sistema
Una vez instalado, quitamos el CD y reiniciamos el ordenador.

Si hemos intalado GRUB nos aparecerá un menú para elegir qué kernel/sistema operativo arrancaro.

Para acceder a la consola de comandos nos pedirá usuario y contraseña.