Archivos en la Categoría: linux

Centos 6.0 utilizar ipv4

Centos 6.0 por defecto utiliza ipv6, si bien actualmente los nuevos dispositivos lo soportan pueden existir varios razones por las que es necesario mantener el soporte ipv4.

Este caso aplica para cualquier interfaz de red que haya instalada en el sistema, en mi caso eth0 es el nombre de dispositivo que voy a utilizar para este ejemplo ya que es lo más común que puede encontrarse.

Desinstalar NetworkManager
# yum remove NetworkManager

Editar el archivo de configuración de la interfaz de red. Es necesario cambiar eth0 por la interfaz correspondiente.
# vi /etc/sysconfig/network-scripts/ifcfg-eth0

  • Es necesario cambiar el valor de onboot de NO a YES.
  • También hay que cambiar NMcontrolled de YES a NO.
  • Guardar los cambios y salir.

Editar el archivo de configuración de red
# vi /etc/sysconfig/network

  • Si no existe la linea FORWARD_IPV4 se agrega.
  • Debe quedar de la siguiente manera: FORWARD_IPV4 = YES
  • Guardar los cambios y salir.

Reiniciar los servicios de red
# service network restart

Paso necesario para que el servicio inicie cuando inicia el sistema
# chkconfig network on

Si es necesario configurar manualmente los datos de la placa de red como ip, puerta de enlace o dns está disponible el comando
# system-config-network

De esta manera debería estar funcionando correctamente ipv4 en nuestro sistema.

Centos 5.5 Raid con Mdadm escanear disco duro

Sistema operativo: Centos 5.5
Distro Live: Fedora 14

Mdadm nos permite realizar un Raid por software, éste sistema es un poco más lento que un raid por hardware ya que consume recursos del procesador para mantener el raid en funcionamiento. Tiene también algunas ventajas, como cuando la mother de la máquina en la cual queremos utilizar raid no dispone de una controladora raid, requisito necesario para armar un raid por hardware. O simplemente para abaratar costos.

Igual que cuando tenemos un único disco funcionando, podemos encontrarnos con errores de lectura, escritura o incoherencias, ésto puede suceder porque tenemos sectores defectuosos. La herramienta de escaneo y recuperación de discos se llama e2fsck y no se debe correr con el sistema funcionando, por lo que debemos utilizar una distribución Live.

En mi caso inicié con Fedora 14, una vez cargado el sistema en una terminal liste mis particiones con:
# fdisk -l

En mi caso los discos se llaman /dev/sda y /dev/sdb y tengo dos volúmenes en raid

/dev/sda1 con /dev/sdb1 y es el sistema
/dev/sda2 con /dev/sdb2 y es la partición donde se guardan los datos.
/dev/md0 es el primer raid
/dev/md1 es el segundo raid

El siguiente paso entonces es chequear cada partición:
e2fsck -f -p /dev/sda1

Lo siguiente que obtenemos es el siguiente error si nuestro sistema live está en español:

e2fsck: Dispositivo o recurso ocupado mientras se intentaba abrir /dev/sda1

¿Sistema de ficheros montado o abierto en exclusiva por otro programa?

O de esta manera si nuestro sistema live está en ingles:

e2fsck:Device or resource busy while trying to open /dev/sda1

Filesystem mounted or opened exclusively by another program?

La razón de porque pasa esto es la misma por la cual no podíamos escanear es busca de errores nuestro disco con el sistema funcionando, nuestro raid está en funcionamiento. Por más que estemos corriendo una distro live, incluso si utilizaramos el comando mount para ver que hay montado no veríamos nuestras particiones como montadas.

Esto en realidad tiene sentido, si tuviéramos un raid por hardware sin importar que sistema estemos utilizando siempre veríamos un único disco, al cargar el live éste lee los archivos de configuración del raid y los levanta, de manera que vemos los discos como los veíamos en nuestro sistema original y en caso de necesitar montarlo montaríamos el raid y no un único disco.

Sabiendo esto, entonces la solución es sencilla, debemos detener el raid:
mdadm --stop /dev/md0

Con esto podemos ahora si escanear cada partición y no recibir el error anterior. Hay que tener en cuenta que en caso de tener más de un raid como se da en mi caso, es necesario detener cada uno de ellos.

Editores PHP para Linux

Buscando un editor de PHP que disponga de algunas características esenciales para mi gusto como coloreado de sintaxis, autocompletado de código, gestión de proyectos, chequeo de sintaxis y bastante importante que sea gratuito. Después de muchas pruebas me quedé con los siguientes 3 que pongo a continuación:

Eclipse Uno de los primeros que probé, no es el que utilizo actualmente pero siempre lo tengo instalado por si lo llegara a necesitar, es bastante pesado y requiere de Java para funcionar. Es muy completo y tiene versiones tanto para 32 o 64 bits, funciona tanto para Windows como para Linux.

Aptana Está basado en Eclipse y dice ser incluso más completo. Me pareció más pesado que Eclipse y trae la desventaja que también requiere de Java para funcionar.

Komodo Edit Llevo un tiempo utilizando este, tiene versiones 32 y 64 bits y la diferencia principal con los anteriores que está escrito en Phyton lo que lo hace mucho más veloz que los anteriores editores.

Otros editores de son más livianos y por más que tengan funciones más reducidas no dejan de cumplir con su propósito son:

Quanta Plus
Bluefish

Instalar Frostwire en Debian 64 bits

No se encuentra disponible para su instalación desde los repositorios oficiales de la distribución, por lo que no es posible instalarlo utilizando apt-get o aptitude. Sin embargo en la página de Frostwire se encuentra disponible para descargar el paquete pre compilado para Debian en un .deb.

Básicamente entonces tenemos dos maneras de instar dicho paquete, por un lado bajando el .deb desde la página oficial o por otro lado agregar los repositorios de Frostwire, lo que requiere de conocimientos un poco más avanzados.
Cabe destacar que para instalar en Debian 64 bits es necesario agregar si o si el repositorio ya que en la página oficial esta solo disponible para su descarga la arquitectura i386

Método 1 – Instalación desde la página oficial

Descargar el .deb

http://www.frostwire.com/download/?os=ubuntu&

En una terminal y como root situarse en el directorio donde se descargó el paquete, e instalarlo con el siguiente comando.

# dpkg -i frostwire-4.21.1.i586.deb

Si todo sale bien ya quedó instalado y listo para utilizarse.

Método 2 – Agregar repositorios

Editar el archivo de configuración de repositorios

# vim /etc/apt/sources.list

Agregar al final las siguientes lineas, guardar y cerrar

deb http://apt.debianchile.org/frostwire squeeze main
#deb-src http://apt.debianchile.org/frostwire squeeze main

Agregar las claves para los repositorios

# gpg --keyserver hkp://pgp.mit.edu --recv-keys EFD17969

# gpg --export EFD17969 | apt-key add -

Actualizar los repositorios

# apt-get update

Instalar Frostwire

# apt-get install frostwire

Si todo sale bien ya quedó instalado y listo para utilizarse.

Fuente | http://apt.debianchile.org/frostwire/

Debian Php Apache Mysql Phpmyadmin Ftp

Si bien no es muy complicado instalar los componentes para dejar funcionando un servidor web casero, las guías que hay no son muy actuales y el nombre de algunos de los paquetes necesarios cambiaron o cambian según el tipo de distribución base que se esté utilizando.

El sistema es Debian Squeeze con los siguientes repositorios

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

deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free

Instalación de Apache
# apt-get install apache2

Instalación de Php5 con componentes necesarios para la integración con otros servicios
# apt-get install php5 libapache2-mod-php5 php5-common php5-mysql

Instalación de Mysql con componentes necesarios para la integración con otros servicios
# apt-get install mysql-common mysql-client mysql-server

Instalación de PhpMyadmin
# apt-get install phpmyadmin

Con estos pasos ya están corriendo los servicios básicos, para probarlo primero es necesario reiniciar Apache
# /etc/init.d/apache2 restart

Probar Apache
En el navegador teclear

http://localhost

Debería mostrar una página con el texto “It works!”.

Probar Php
# vim /var/www/php.php

Colocamos Phpinfo, guardamos y cerramos
En el navegador teclear

http://localhost/php.php

Debería mostrar una página con información sobre la versión de Php que se encuentra corriendo.

Instalación de un servidor Ftp

Cabe aclarar que la intención es usar estos servicios en un entorno de prueba o de desarrollo donde la seguridad que se maneja es mínima o ninguna. La intención es tener los recursos disponibles para probar sitios web mientras son desarrollados. Como detalle en esta guía no se explica como abrir puertos en el router para que el sitio alojado en nuestro servidor puede ser consultado desde afuera. El servidor que vamos a utilizar es Vsftpd.

Instalación de Vsftpd
# apt-get install vsftpd

Configuracion de Vsftpd
# vim /etc/vsftpd.conf

Las siguientes lineas deben estar descomentadas (sacarles el “#”) y con los siguientes valores:

listen=YES
local_enable=YES
write_enable=YES
local_umask=022

Es necesario también agregar al final del archivo la siguiente linea.

local_root=/var/www

Esto lo que hace es cambiar el directorio por defecto una vez que estamos conectados, al directorio /var/www. Este directorio es desde donde el servidor Apache toma los scripts.

Reiniciar el servicio Vsftpd
# /etc/init.d/vsftpd restart

Con esta configuración básica, los archivos que subamos a nuestro servidor ftp pueden ser ejecutados por nuestro servidor Apache,

En el sistema (el que está corriendo el servidor Ftp) es necesario que estén creados los usuarios con los cuales nos vamos a conectar, para este caso asumimos que existe el usuario “usuario1” con la contraseña “usuario1”. El usuario Root no puede loguearse por Ftp.

Desde el equipo cliente:

De no disponer de un cliente ftp, podemos instalar uno muy poderoso que trabaja a través de una terminal, su nombre es Lftp.

Instalación de Lftp
# apt-get install lftp

Ingresamos desde una terminal a nuestro servidor ftp, para el ejemplo tomamos que la ip del servidor es 192.168.1.2
lftp -u usuario1 192.168.1.2

Se nos va a solicitar la clave para el usuario “usuario1”, en nuestro ejemplo la contraseña es “usuario1”.

Algunos comandos que podemos utilizar:

ls Para que nos muestre los archivos y directorios junto con sus permisos.
pwd Para que nos muestre en que directorio estamos parado
cd Para subir de directorio
cd .. Para bajar de directorio
mget Para traer un archivo desde el servidor a la ubicación donde estamos posicionados en nuestro equipo
mput Para subir un archivo desde la ubicación en la que estamos posicionados al servidor
lcd Podemos cambiar el directorio en el cual estamos posicionados en nuestro equipo sin necesidad de cerra la sesión Ftp.

Cada vez que modificamos algo en el archivo vftpd.conf es necesario reiniciar el servicio para que este tome la nueva configuración. También es necesario cerrar la sesión Ftp si estuviéramos conectados y volvernos a conectar.

Debian 64 bits instalar Firefox

Si bien el proceso de instalación de Firefox en Debian ahora que no se encuentra en repositorios no es complicado, pueden surgir problemas varios, sobre todo porque algunas de las librerías que se necesitan para el correcto funcionamiento son para 64 bits y Firefox es 32 bits.
Desde la instalación de Debian contamos con el navegador IceWeasel que es un fork de Mozilla Firefox, brinda todas las mismas funciones, contiene mejoras de seguridad adicionales y es Software Libre.

Si todavía prefieres instalar Firefox este es el procedimiento:

1- Descargar Firefox de la página oficial

http://www.mozilla-europe.org/es/firefox/

2- Descromprimir

$ tar -xvf firefox-3.6.12.tar.bz2

3- Loguearse como root en una terminal

4- Copiar el directorio Firefox a /opt
Para el ejemplo se toma que el directorio Firefox se encuentra dentro del directorio “Descargas” ya que esta es la ubicación predeterminada si fue descargado con IceWeasel.
En lugar de “usuario” debe colocarse el nombre de usuario que se esté utilizando.

cp -R /home/usuario/Descargas/firefox /opt

5- Es necesario asignar permisos al directorio copiado
Se agrega al grupo del usuario como grupo perteneciente al directorio

chgrp -R usuario /opt/firefox

Se le dan permisos totales al grupo

chmod -R 775 /opt/firefox

6- Crear link simbólico
Click derecho sobre el escritorio, crear un lanzador.
Nombre: Firefox
Comando: /opt/firefox/firefox
Icono: Se encuentra en /opt/firefox/icons

7- Probar iniciar Firefox

8- En caso de que no abra
En caso que al intentar abrir el programa este no abriera y no mostrara ningún error, podemos intentar abrirlo desde una terminal y lograríamos ver el error

$ sh /opt/firefox/firefox

El error puede ser el siguiente

firefox-bin: error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory

Es necesario instalar las siguientes librerías

# apt-get install ia32-libs ia32-libs-gtk

Ahora Firefox debería abrir sin problemas, no se puede tener abierto IceWeasel y Firefox al mismo tiempo, pero si es posible alternarlos.

Resumen:
1- Descargar Firefox
2- Descomprimir y copiar al directorio /opt
3- Asignar permisos
4- Crear link simbólico
5- Probar
6- Si falla, ver el error e instalar las librerías necesarias

Emesene – Instalar corrector ortográfico

Las pruebas fueron realizadas en Debian Lenny con los repositorios Sid.

Emesene es un cliente de mensajería instantánea de código abierto, multiplataforma, que además de muchas otras funciones, tiene soporte para plugins. entre estos plugins tenemos la posibilidad de utilizar un corrector ortográfico en tiempo real.

Para ver los complementos disponibles, una vez iniciado Emesene, en el menú Opciones, Complementos, en nuestro caso es el plugin “Corrector ortográfico” que por defecto está desmarcado. Al intentar habilitarlo puede mostrarse el siguiente error:

Necesita instalar gtkspell (python-gnome2-extras) para usar el complemento Corrector ortográfico

El paquete necesario es python-gtkspell y podemos instalarlo ejecutando el siguiente comando en una terminal como root:

# apt-get install python-gtkspell

Luego de reiniciar Emesene, es posible que el plugin esté habilitado, pero al abrir una ventana de conversación nos muestre el siguiente error:

Error applying Spell to input (enchant error for language: ) Plugin disabled

Esto sucede porque intenta utilizar el idioma por defecto que es el Ingles. Para resolver este problema hay que indicarle cual es el idioma a utilizar, para eso en una terminal, logueado como usuario común (no root), ejecutamos el siguiente comando:

$ nautilus ~/.config/emesene1.0/

Esto nos llevará al directorio de configuración de Emesene, ahí vamos a encontrar un directorio con el nombre: usuario_dominio_com, a modo de ejemplo podríamos ver usuario_hotmail_com, ingresamos a este directorio, y creamos un nuevo archivo de texto con el nombre Spell.conf, abrimos el archivo e ingresamos el siguiente texto lang=es, guardamos los cambios y cerramos. Con esto le hemos indicado cual es el idioma que queremos utilizar.

Todavía nos hace falta un paso más, que es el de instalar el archivo de idioma necesario para que el plugin funcione con el idioma antes indicado. En una terminal ejecutamos el siguiente comando como root:

# apt-get install aspell-es

Luego de reiniciar Emesene y corroborar que efectivamente tenemos el plugin habilitado, abrimos una venta de conversación y probamos que efectivamente nuestro corrector ortográfico corrige en tiempo real.

Resumen:
1- Habilitar complemento
2- Instalar paquete python-gtkspell
3- Crear archivo de configuración (Spell.conf)
4- Instalar idioma (aspell-es)
5- Reiniciar y probar.

Debian Lenny – Driver Nvidia

Actualicé al kernel 2.6.30 y como era de esperarse mi driver de Nvidia ya no funcionaba, En el xorg.conf tenia una linea definida para que cargue el módulo, al no existir dicho módulo mi entorno gráfico no iniciaba.

La linea que definía esto es:

Driver “nvidia”

En caso de querer iniciar entorno gráfico es necesario modificar la anterior linea por:

Driver “vesa”

Paquete necesario para luego instalar el driver:

aptitude install module-assistant

Descargar el driver de Nvidia de:

http://www.nvidia.es/Download/index.aspx?lang=es

Una vez descargado el driver es necesario ir a una terminal gráfica con ctrl + alt + f1.

Loguearse como root, y navegar hasta la carpeta donde se instaló el driver.

Respaldar el archivo de configuración de las X:

cp /etc/X11/xorg.conf /etc/X11/bck-xorg.conf

Matar la interfaz gráfica:

/etc/init.d/gdm stop

En caso de usar Kde:

/etc/init.d/kdm stop

Ejecutar el script:

sh NVIDIA-Linux-x86-190.53-pkg1.run

Iniciar interfaz gráfica:

/etc/init.d/gdm start

En caso de usar Kde:

/etc/init.d/kdm start

Con esto debería quedar andando el driver de video Nvidia.

Debian Lenny – Actualizar kernel

Debian al intentar ser una distribución lo más estable posible tiene la contradicción que los paquetes no son los últimos, sino que generalmente son versiones anteriores mucho más probadas. Este es el caso de por ejemplo el reproductor Vlc, en los repositorios por defecto de Lenny está la versión 0.8.x, mientras que la última versión es la 1.0.3. Esto también pasa con el kernel Linux, la versión instalada por defecto es la 2.6.26, mientras que la versión actual es la 2.6.32.

Aclarar que Linux solo es el kernel, por lo que una actualización solo cambiaría la base del sistema, pero no se perderían ni datos, ni programas instalados. Al iniciar el sistema aparecerán varias opciones, diferenciándose por la versión del kernel. Es el kernel quien administra los drivers, por lo que módulos compilados antes, o drivers pueden perderse.

Para saber la versión del kernel:

$ uname -r

Actualizar kernel:
Básicamente hay dos formas de actualizar el kernel, utilizar uno precompilado desde los repositorios, o bajar y compilar el kernel propio.

La ventaja de compilar un kernel propio es que se puede utilizar la última versión, donde también soporta más hardware, y trae los últimos cambios implementados. También al compilar en base al hardware del pc se evita estar cargando módulos innecesarios que relentecen el sistema.
Como desventaja trae que lleva tiempo, y en caso de fallar hay que comenzar de cero todo de nuevo.

Un kernel precompilado tiene la ventaja que solo hay que ejecutar un comando y el sistema solo lo descargará e instalará, y puede ser utilizado en el próximo reinicio. Este kernel está presente en los repositorios de la distribución que se esté utilizando.
Como desventaja trae que el kernel está compilado para detectar la mayor cantidad de hardware posible, esto hace que sea más lento que uno compilado a mano, pero asegura una mayor detección.

El caso es que Debian en sus repositorios no dispone de una versión más nueva del kernel por los motivos antes dichos. Por lo que una actualización requiere de pasos extras. Yo por ejemplo quiero el soporte ext4 y otros cambios, pero no deseo compilar a mano, por lo que voy a utilizar uno precompilado.

Editar el archivo de repositorios:

# vim /etc/apt/sources.list

Comentar todos los repositorios de la versión actual poniendo un # antes de cada linea.

Squeeze de Debian.

deb http://http.us.debian.org/debian/ testing non-free contrib main
deb http://security.debian.org/ testing/updates main contrib

Actualizar los repositorios:

# apt-get update

Buscar los kernels disponibles:

# apt-cache search linux-image

Muestra una lista con opciones similares a las siguientes:

linux-image-2.6.30-2-486 – Linux 2.6.30 image on x86
linux-image-2.6.30-2-686 – Linux 2.6.30 image on PPro/Celeron/PII/PIII/P4

Instalar el que sea más acorde a la versión del sistema, en mi caso 686.

# apt-get install linux-image-2.6.30-2-686

Reiniciar e iniciar con la nueva versión del kernel.

Tal vez tu driver de Nvidia ya no funcione

Nota: Conviene dejar los repositorios como estaban antes de ser modificados.

Debian Xorg.conf Out of range

Una vez instado Debian, luego de reiniciar, me encuentro con mi primer error, un cuadro en pantalla diciendo Out of range.

Hice una copia del xorg.conf actual por las dudas:

# cp /etc/X11/xorg.conf /etc/x11/actual-xorg.conf

Corrí el siguiente comando para crear una configuración básica del xorg.conf con el cual a mucha gente le anduvo pero no a mi:

# dpkg-reconfigure xserver-xorg

Probé el archivo generado:

# Xorg -config xorg.conf.new

Pero todavía no funcionaba.

Navegando por varios lugares fueron varias las cosas que conseguí:
Por un lado una modificación en el grub (Solo valido para sistemas con arranque grub o grub2).

# vim /boot/grub/menu.lst

Así es como quedó la linea modificada (solo se modifica ro vga=773)

kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/sda4 ro vga=773

Reinicié el sistema, pero todavía no era suficiente para que funcionara.

Copié el xorg.conf.new creado nuevo a la ubicación por defecto:

# cp /root/xorg.conf.new /etc/X11/xorg.conf

Para saber que tipo de tarjeta de video tengo:

# lspci |grep VGA

Esto fue lo que me devolvió:

VGA compatible controller: nVidia Corporation GeForce 7050

Googleando encontré que el driver que debía usar era “nv” o “nvidia”.

Abrí el archivo para modificarlo:

# vim /etc/X11/xorg.conf

Configuración de teclado, la configuración definida acá, es la que aplica cuando se está utilizando el entorno gráfico. Puede suceder que en la consola se esté utilizando el Español, pero al no estar definido, cuando inicie el entorno gráfico por defecto utilice el Ingles.

Section “InputDevice”
Identifier “Keyboard0″
Driver “kbd”
Option “XkbRules” “xorg”
Option “XkbModel” “pc105″
Option “XkbLayout” “es”
EndSection

Como los mouse son bastante más estándares, no necesité modificar este aspecto.

Configuración del monitor, lo que hay que saber en este aspecto es que tasa de refresco soporta, puede ser un rango, o un valor especifico.

Section “Monitor”
Identifier “Monitor0”
Option “DPMS”
HorizSync 60-70
VertRefresh 60-75
EndSection

Configuración de la tarjeta de video:

Section “Device”
Identifier “Card0”
Driver “vesa”
BusID “PCI:0:16:0”
EndSection

* En la sección “Driver” puse “vesa” ya que el kernel no trae el modulo de “nvidia” o “nv”, y se obtiene un error de que no encuentra el dispositivo. Vesa es un driver más genérico.

Configuración de resolución, de haber varios módulos como en este caso, va saltando de uno en uno hasta encontrar uno que ande, si en el modulo hay definidas varias resoluciones, utiliza la primera que encuentra, salvo que no funcione, en ese caso utiliza la siguiente.

Section “Screen”
Identifier “Default Screen”
Device “Configured Video Device”
Monitor “Configured Monitor”
DefaultDepth 24
Subsection “Display”
Depth 1
Modes “1024×768” “800×600” “640×480”
EndSubsection
Subsection “Display”
Depth 4
Modes “1024×768” “800×600” “640×480”
EndSubsection
Subsection “Display”
Depth 8
Modes “1024×768” “800×600” “640×480”
EndSubsection
Subsection “Display”
Depth 15
Modes “1024×768” “800×600” “640×480”
EndSubsection
Subsection “Display”
Depth 16
Modes “1024×768” “800×600”
EndSubsection
Subsection “Display”
Depth 24
Modes “1024×768”
EndSubsection
EndSection

* Depth es la profundidad de color.

Luego de echo esto, es necesario reiniciar el gestor de entrada para que tome los cambios.

En caso de Gdm:
/etc/init.d/gdm restart

En caso de Kdm:
/etc/init.d/kdm restart

Ahora si funcionó.