YoDa Tux

Lo hice y lo entendí

El blog de Vicente Navarro Jover
29 Jul

pump no funciona con los Zyxel Prestige 660HW-61

¿Tienes un router ADSL Zyxel Prestige 660HW-61? ¿Cuando arrancas con Knoppix (o con distribuciones derivadas de Knoppix) no eres capaz de obtener una dirección IP por DHCP?

No te vuelvas loco… El cliente de DHCP pump, que es el que lleva por defecto Knoppix, no es capaz de obtener una IP por DHCP de un 660HW-61 (al menos no el mío con firmware V3.40(PT.0)b46 de Telefónica). Hay incluso un bug de Debian abierto que expone el problema: Bug#362207: pump does not get IP address from Zyxel Prestige 660HW-61.

Como hay varios clientes de DHCP para Linux:

# apt-cache search "dhcp client"
dhcdbd - D-Bus interface to the ISC DHCP client
dhcp-client - DHCP Client
dhcp3-client - DHCP Client
dhcpcd - DHCP client for automatically configuring IPv4 networking
pump - BOOTP and DHCP client for automatic IP configuration
resolvconf - nameserver information handler
udhcpc - very small DHCP client

la solución es usar uno de los otros, siendo el dhcp3-client el que instala Debian por defecto y funciona bien con este router.

Si estamos con Knoppix o con algún otro LiveCD, como no podemos instalar un cliente diferente, tendremos que asignar la IP manualmente tras eliminar todos los pump que puedan estar corriendo con un “killall -9 pump” seguido de un “ps -ef | grep pump“. El pump puede tardar un poco en morir, así que esperamos a que lo haga y a que no salga en la lista del ps. A continuación, si nuestro interfaz ethernet es el eth0, nuestro router tiene la IP 192.168.1.1/24 y la dirección que queremos asignarle al sistema es la 192.168.1.40, para especificar la IP, añadir la IP del servidor de nombres (en este caso el propio router) y añadir la ruta por defecto haremos:

# ifconfig eth0 192.168.1.40 netmask 255.255.255.0 up

# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:16:D4:C3:D2:F2
          inet addr:192.168.1.40  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:28 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:4248 (4.1 KiB)  TX bytes:2128 (2.0 KiB)
          Interrupt:16 

# echo 'nameserver 192.168.1.1' >> /etc/resolv.conf

# cat /etc/resolv.conf
# Insert nameservers here
# nameserver 127.0.0.1
nameserver 192.168.1.1

# route add default gw 192.168.1.1

# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
29 Jul

Cambiar la fuente del CMD de Windows

Ya son cuatro las entradas anteriores dedicadas al Cygwin. Esta no es exactamente la quinta, ya que vamos a contar algo genérico de Windows, pero sí es algo que es mucho más útil cuando usamos Cygwin que cuando no lo usamos, ya que en realidad el CMD de Windows normalmente no se usa más que para escribir un par de comandos, entre otras cosas porque Windows no da facilidades para trabajar en la consola.

Por defecto, el CMD sólo nos permite usar dos fuentes: Raster Fonts (fuentes bitmap con la apariencia de la fuente VGA de la consola de los PCs) y la fuente True Type Lucida Console.

cmd properties

Sigue leyendo »

28 Jul

Terminales para Cygwin. Notas sobre Terminfo y Termcap.

Llevamos varias entradas ya hablando del Cywin. En la de Instalar un Cygwin portable en una memoria USB comentaba que el Cygwin se usa normalment en una ventana de CMD de Windows. El tipo de terminal que usa Cygwin cuando funciona dentro de un CMD es cygwin:

vnavarro@DARKSTAR ~
$echo $TERM
cygwin

Cada tipo de terminal supone una forma diferente de hacer scrolling, de mover las líneas por la pantalla, los retornos de carro y de línea, de borrar el carácter anterior, de limpiar la pantalla, de conocer el número de líneas y columnas, de cómo usar colores y si se pueden usar, etc. Para la mayoría de aplicaciones de línea de comandos típicas de UNIX (por ejemplo, ls, awk, sed, grep, cat, mv, cp), todas estas especificaciones son indiferentes: Ellas toman la información que necesitan de sus argumentos de la línea de comandos o de la entrada estándar y sacan los resultados a través de la salida estándar y del código de error. Pueden incluso funcionar sin un terminal. Sin embargo, hay muchas otras aplicaciones que tienen que conocer muy bien cómo mover y posicionar texto por el terminal, como por ejemplo el vim, el mc, o el top.

Para que las aplicaciones que lo necesiten puedan interactuar con los múltiples tipos diferentes de terminales, las aplicaciones pueden usar, bien la librería Termcap, bien la librería ncurses junto con la base de datos de terminales Terminfo.

El Terminfo almacena la información de todos los tipos de terminal en /usr/share/terminfo. Dentro de ese directorio, por ejemplo el fichero c/cygwin almacena la información sobre el tipo de terminal que por defecto usa el Cygwin en el CMD de Windows, y el fichero v/vt100 almacena el tipo de terminal más común y más emulado.

El Termcap también tiene su (mucho más pequeña) base de datos de terminales centralizada en un fichero único, el /etc/termcap. Podemos usar herramientas como el infocmp -C o el captoinfo (herramientas incluidas en el ncurses) para pasar la configuración para un tipo de terminal de un formato al otro.

Sigue leyendo »

20 Jul

Servicios en Cygwin (syslogd, sshd, telnetd, ftpd, nfsd, etc.)

En entradas anteriores hemos tratado diversos temas sobre la utilización del Cygwin, centrándonos mucho en la consola del Cygwin y en su portabilidad. Pero una de las cosas más importantes de los sistemas UNIX son sus servidores/servicios/demonios que trabajan en segundo plano sin aparecer para nada en la consola. Los más típicos son los de red, aunque hay muchos otros. En Cygwin también podemos usarlos, y opcionalmente podemos usar la infraestructura de Windows para convertirlos en servicios de Windows, de forma que podamos controlarlos usando el panel de Servicios, algo muy conveniente.

Para poder usar servicios de red, es muy importante tener en cuenta que la configuración por defecto del Firewall de Windows no nos permitirá su uso, de modo que en todo momento tenemos que tener en cuenta la necesidad de configurar correctamente este Firewall o cualquier otro Firewall Personal que podamos tener instalado.

También es muy importante, si queremos crear servicios de Windows, haber hecho la instalación para todos los usuarios, no sólo para el actual:

Cygwin - Instalación para todos los usuarios

Además, los usuarios de Windows 2003 tendrán que tener alguna precaución adicional, ya que como dice el manual de Cygwin en la importante sección NT security and usage of ntsec:

On NT and Windows 2000 the SYSTEM user has these privileges and can run services such as sshd. However, on Windows 2003 SYSTEM lacks the Create a token object right, so it is necessary to create a special user with all the necessary rights, as well as Logon as a service, to run such services. For security reasons this user should be denied the rights to logon interactively or over the network.

En esta entrada vamos a tratar los siguientes servicios:

Sigue leyendo »

18 Jul

Trabajando con Cygwin

Cualquiera que se sienta confortable trabajando con una shell de Linux podrá comenzar a trabajar desde el primer momento con Cygwin sin absolutamente ninguna dificultad.

Sin embargo, el Cygwin tiene algunas peculiaridades debidas a su naturaleza Windowsera que conviene que conozcamos para poder sacar el máximo rendimiento de este excelente proyecto. Vamos a verlas:

Sigue leyendo »

06 Jul

Instalar un Cygwin portable en una memoria USB

Para aquellos que no lo conozcan, el Cygwin es un oasis en el desierto del Windows, un destello de luz entre sus tinieblas… Poético, ¿verdad? Bueno, ahora en serio, el Cygwin son dos cosas:

  • Una librería dll (cygwin1.dll) que proporciona una capa de emulación de POSIX a las aplicaciones que hagan uso de ella.
  • Una muy importante colección de herramientas migradas de Linux fácilmente usando la librería anterior.
Logo de Cygwin

Con Cygwin tenemos en un entorno unificado la mayoría de las aplicaciones de consola de Linux y, además, como lleva también una implementación del X.org (Cygwin/X), también muchas aplicaciones gráficas. Hay incluso GNOME sobre Cygwin (CyGNOME) y KDE sobre cygwin.

Para dar una idea de lo que lleva cygwin, podemos citar algunos de los programas que lleva la distribución estándar: gcc, bash, sed, awk, bzip2, wget, apache, ssh, sshd, perl, vim, emacs, latex, pine, netcat, rsync, rpm, dpkg, mc, cpio, curl, gv, fvwm, twm, xfig, xterm… Cygwin Package List.

Sigue leyendo »

05 Jul

Arrancar Linux, Windows y MS-DOS de una memoria USB

Ahora que tenemos toda la información necesaria en entradas previas:

podemos comenzar a trabajar en confeccionar una memoria USB con varios sistemas operativos unidos con el GRUB. La tarea consiste en ordenar todo lo que hemos hecho en entradas anteriores de forma coherente para acabar con todo junto, pero no revuelto, en la misma memoria USB.

Nos vamos a encontrar con un inconveniente muy importante: El BartPE necesita una partición FAT16 para arrancar de USB, no le sirve una FAT32. Por un lado, el tamaño máximo de partición de FAT16 es de 2GB (con un escandaloso tamaño de clúster de 32Kb), con lo que no podríamos ponerlo en memorias USB más grande. Por otro lado, he descubierto que hay muchos más problemas para arrancar MS-DOS desde USB usando FAT16 que usando FAT32, especialmente si usamos el comando ms-sys.

Sigue leyendo »

03 Jul

Sobre el BartPE. Arrancar Windows/BartPE desde una memoria USB.

Mientras que hay infinidad de LiveCDs y CDs de rescate de sistemas operativos UNIX, no abundan en absoluto los de Windows, ya que Microsoft da pocas facilidades para crearlos, aunque sí ofrece una posibilidad, gracias a su Windows Preinstallation Environment (WinPE). Con esta herramienta, diversos fabricantes de software han creado interesantes CDs bootables como el del Symantec Ghost o el del ERD Commander (un producto de Winternals, empresa comprada por Microsoft, que nos permitía editar passwords de Windows, entre otras útiles funcionalidades).

ERD Commander 2005

Sigue leyendo »

Tema LHYLE08, creado por Vicente Navarro a partir del tema Fluid Index de 2yi