valshk

El blog que pusimos porque no alcanzamos a pagar el hosting.

Archivo del autor

Problema con conexión PPPoE después de actualizar [Archlinux]

leave a comment »

Hoy hice una actualización de mi home server y, después de reinicar, la conexión PPPoE dejó de funcionar. Al intentar levantar el servicio mandaba el mensaje: «Timeout waiting for PADO packets». Encontré la solución en los foros de archlinux. Parece que es un problema de plugin. Basta con editar el archivo /etc/ppp/pppoe.conf y cambiar la opción LINUX_PLUGIN por:

LINUX_PLUGIN=/usr/lib/pppd/2.4.5/rp-pppoe.so

Después de este cambio, no tuve problemas.

Actualización 02 de Septiembre:

Después de otra actualización, el problema volvió. Y se solucionó cuando dejé la línea LINUX_PLUGIN como estaba, es decir:

LINUX_PLUGIN=

Muy extraño…

Written by sk

12 agosto 2012 at 4:14 pm

Publicado en linux

Tagged with , ,

#ACTA – Una breve explicación

with one comment

Internet es lo que se conoce como una red de conmutación de paquetes. Supongamos que tenemos un archivo y queremos transmitirlo del punto A al punto B. Lo que se hace es dividir el archivo en varios paquetes y transmitirlos uno por uno. Para ponerlo en los términos más simples, usaremos el siguiente esquema:

Equipo A ↔ Encaminador (Infraestructura del proveedor de acceso a Internet) ↔ Equipo B

El dispositivo que pongo en medio es una representación de toda la red que le pertenece a las empresas que nos dan servicio de acceso a Internet. En el caso de México, Telmex es el más común. En realidad estaríamos hablando de millones de servidores conectados por metros y metros de algún tipo de cableado. El trabajo de esa infraestructura es «encaminar» los paquetes. Esto funciona de la siguiente manera:

Encaminamiento

Primero, el equipo A divide el archivo en paquetes. En este ejemplo diremos que son tres paquetes. En cada uno pone como destinatario al equipo B.

Equipo A (Divide el archivo en los paquetes 1, 2 y 3 dirigidos a la computadora B) → Encaminador (Infraestructura de proveedores de Internet) → Equipo B

A continuación toma el primer paquete y lo pone dentro de una caja. Esta caja tiene como destinatario el encaminador.

Equipo A (Pone el paquete 1 en una caja dirigida al encaminador.) → Encaminador (Infraestructura de proveedores de Internet) → Equipo B

A continuación el equipo A envía esa caja. El encaminador recibe la caja ya que va dirigida él. La abre para ver su contenido y encuentra el paquete y se da cuenta de que va dirigido al equipo B.

Equipo A → Encaminador (Abre la caja y encuentra un paquete dirigido a la Computadora B) → Equipo B

Él conoce al equipo B y sabe que entonces tiene que hacerle llegar el paquete. Mete el paquete en una nueva caja que esta vez va dirigida al Equipo B y la envía.

Equipo A → Encaminador (Infraestructura de proveedores de Internet) [Mete el paquete en una nueva caja que manda a la Equipo B] → Equipo B

El equipo B recibe esta segunda caja, se da cuenta de que va dirigida a él, así que la abre y encuentra el paquete que también va dirigido hacia él. Esto se repetirá para los paquetes 2 y 3. Cuando el equipo B tenga todos los paquetes, entonces tendrá el archivo completo.

El equipo B recibe el paquete.

Esta es una explicación muy – pero muy – simplificada. El acto de abrir cajas y meter los paquetes en nuevas cajas se repetirá muchas más veces. Tantas como nodos en la infraestructura del proveedor de Internet existan entre el remitente y el destinatario. el encaminador no lee la información dentro del paquete, sólo revisa el destinatario y, a menos que sea él mismo, lo tiene que enviar al siguiente nodo.

¿Dónde entra ACTA?

ACTA entra justamente en la infraestructura de las empresas que nos dan acceso a la red; el «encaminador» en el ejemplo anterior. Lo que han sugerido los actores detrás de propuestas como SOPA, PIPA y ACTA es que los proveedores de acceso a Internet tienen el deber de revisar que sus clientes no estén incurriendo en delitos contra la propiedad intelectual. Si en ejemplo anterior el destinatario fuera YouTube y el archivo un video; entonces el encaminador tendría que abrir los paquetes (que no están destinados hacia él) para revisar que no se nos haya ocurrido subir el capitulo de una serie protegida por copyright. No hay otra manera. Así como uno no puede saber qué dice una carta sin tener que abrir el sobre y leerla, el proveedor de acceso a Internet tendría que abrir todos – absolutamente todos – los paquetes.

El proveedor de acceso a Internet tendría que revisar cada paquete.

El proveedor tendría que ampliar su infraestructura para tener el poder informático de revisar todos los paquetes sin que notemos lentitud en el servicio; y no creo que eso salga del bolsillo del empresario – no sería un buen hombre de negocios -. Pero vamos a pasar esto por alto.

Transferir material protegido por derechos de autor no es lo único que ACTA considera como delito. Publicar un enlace a material protegido te haría igual de culpable. Si por accidente compartes en una red social un enlace a material protegido, la red social en cuestión tendría la obligación de reportarte. Imagina que tu hijo está dando sus primeros pasos sobre la red. Aún no entiende sobre licencias o copyright, pero sí puede poner una imagen de algún personaje de caricatura. Pues si esa imagen está protegida por derechos de autor, podrías perder tu acceso a Internet, recibir una multa o incluso terminar en la cárcel.

ACTA define de manera muy ambigua lo que es propiedad intelectual. Y las normas varían mucho de país en país. Hay un millón de cosas que se pueden «patentar».  Algún gobierno podría jugar con las leyes de propiedad intelectual para «proteger» algún oscuro tema que no quiera que el pueblo conozca. Administraciones más corruptas podrían simplemente exigir a las empresas que usen este sistema de vigilancia para censurar descaradamente.

¿Cuál es el problema con propuestas como ACTA? Pues el problema es que tratan a todos los usuarios – a todos nosotros – como potenciales criminales, y asumen que por eso deben monitorear todo lo que hacemos. Nada les gustaría más que poder decidir qué está bien y qué está mal en Internet, pero las empresas no se apegan a un código de ética o a algún sistema moral, sino a sus ganancias. Eso es lo que está mal: quieren apoderarse de Internet.

Written by sk

13 julio 2012 at 11:35 pm

Publicado en Internet

Tagged with

Haciendo un Home Server

with 2 comments

Llevaba mucho tiempo queriendo hacer un home server. Hay una buena cantidad de tareas que se les puede asignar en el ámbito doméstico. Mi objetivo principal era reemplazar el módem ADSL/Router que Telmex distribuye con su servicio Prodigy Infinitum. Quería un router más personalizable y con más potencia para soportar, por ejemplo, servicios de streaming dentro de la LAN al mismo tiempo que el ancho de banda está ocupado por descargas. El router de Telmex que tenía antes se saturaba en ese tipo de escenarios.

El nombre del servidor es Vishnu. LT Phantom lo escogió haciendo referencia al episodio dieciséis de la sexta temporada de Los Simpsons, Bart contra Australia, en el que se ve a la deidad en el centro de la tierra ajustando distintas válvulas con sus seis brazos.

En este post explicaré de manera poco detallada el proceso que seguí para montar mi home server. He de mencionar que aún no he terminado de implementar todos los servicios que quiero, y no sé si algún día terminaré. Por esto, también menciono algunos de los planes e ideas para servicios que aún están en el horno.

Hardware

La PC que usé solía ser mi computadora principal, había cumplido su misión y no tenía nada que hacer. Le retiré dos unidades ópticas, una tarjeta de gráficos AGP y me quedé con lo siguiente:

  • AMD Athlon™ 64 Processor 3000+ a 1999.642MHz
  • Memoria: 445608 kB
  • Disco duro: 120.0 GB
Motherboard, procesador, disco duro y fuente de poder en el gabinete.

El equipo después de quitar lo que no necesitaría y antes de agregar los adaptadores de red.

Para desempeñar la tarea de router agregué un par de cosas más:

  • Tarjeta PCI Fast Ethernet. Para tener un segundo puerto ethernet. Cualquiera compatible con linux.
  • Tarjeta PCI Wi-Fi: No sólo compatible con linux, sino capaz de funcionar en modo Master.

Hay muchas cosas que considerar en cuanto a los componentes tomando en cuenta que el equipo estará encendido las veinticuatro horas. Queremos que gaste poca energía o que al menos no se queme por el uso. Cada pieza debe tener información sobre su consumo que servirá para hacer una estimación del consumo general.

Algo útil es indicarle al BIOS que queremos que arranque el equipo «a la menor provocación». Si el equipo se apaga por algún tipo de falla eléctrica, el BIOS sabrá que tiene que arrancar todo nuevamente cuando la energía se restablezca. La opción se llama «AC Back Function», «AC Power Loss Restart» o algo parecido, depende del BIOS (más información sobre las opciones del BIOS).

Diseño de la red

Aquí fue donde me encontré con mi primer problema. Si el objetivo era reemplazar el router que me dio mi ISP, mi red debería haber quedado de la siguiente manera:

Internet → Vishnu → {LAN}

Este sería el diseño ideal para la LAN.

Pero esto requería una pieza de hardware: un modem ADSL. Los hay USB y PCI; y dado que mucha gente reporta que el primero consume muchos recursos (lo cual es un poco obvio), la idea era encontrar la tarjeta. Lamentablemente es una pieza un poco rara. Encontré una por unos $200USD y había un sujeto que aseguraba conseguirme otra por $70USD. La diferencia de precios me hizo dudar que la segunda se tratara de la tarjeta que necesitaba. Además no encontré suficiente información sobre qué marcas y modelos funcionan en linux y no tendría sentido buscar una tarjeta en específico y gastar tanto dinero si la tecnología podría cambiar pronto (o eso espero).

Lo que tuve que hacer fue sí usar el router del ISP pero en modo bridge. El aparato se comporta únicamente como nodo entre la interfaz ethernet de Vishnu y el servidor ADSL de mi ISP. Eso quiere decir que la red quedaría así:

Internet → Router (Modo bridge) → Vishnu → {LAN}

Diseño de la LAN con el router del ISP en modo bridge para el enlace ADSL hacia Internet.

Cada equipo de la LAN se conectaría a vishnu a través de ethernet o wi-fi, y lo ideal sería que fuese directamente. Una solución sería usar un switch con entradas ethernet y antena wifi pero muchos de estos aparatos son en realidad routers que ya incluyen cosas como servidor DHCP y no existe (o al menos no encontré) uno que sólo fuera sólo switch.

Así que, para los equipos que se conectarían vía ethernet, tuve que agregar un Fast Ethernet Switch. El switch necesita alimentación para funcionar. Pero esos enormes enchufes no hacen otra cosa más que convertir corriente continua en corriente directa y ya hay un componente en una PC que hace eso, la fuente de poder.

Así que hice un convertidor molex de cuatro pines a plug redondo AC para alimentar el switch con los 5v que necesita directamente de la fuente de poder de Vishnu. Así se evita conectar ese cable tan molesto.

Adaptador de molex de cuatro pines a plug redondo AC.

Convertidor Molex de cuatro pines a plug redondo AC que conecta al switch con la fuente de poder y así evitar manejar más cables.

Sin embargo, había ahora otro nodo en la red. Para los equipos conectados vía ethernet, la arquitectura sería la siguiente:

Internet → Router (Modo bridge) → Vishnu → Switch → {LAN (Ethernet)}

Fue necesario agregar un Switch para los equipos que se conectarían vía Ethernet.

Vishnu tenía que ser también un punto de acceso Wi-Fi. Eso quiere decir que tenía que tener un adaptador inalámbrico que no sólo fuera compatible con linux sino que también funcionara en modo master. El sitio linuxwireless.org tiene una lista de las tarjetas y drivers y el estado de su compatibilidad con linux.

Lo importante es fijarse en el chipset. Por ejemlo; yo escogí la Lynksys WMP54G que tenía varias versiones. La que escogí, la 4.1, viene con el chipset Ralink RT61 que, hasta hace poco, es posible usar en modo master. Si no recuerdo mal, las versiones 3 y menores no pueden usarse en modo master; el chipset es distinto y su driver no soporta la función. Así que es importante investigar antes de hacer una compra.

Un adaptador Fast Ethernet y uno Wi-Fi.

Coloqué una tarjeta Ethernet que va a un switch y una tarjeta Wi-Fi que funciona como access point.

El diseño final de mi LAN quedó de la siguiente manera:

Internet → Router (Modo bridge) → Vishnu → Switch / Antena WiFi → {Equipos finales}

Diseño final para la LAN.

No es el diseño que quería, pero es el mejor dado que pretendía gastar poco y usar lo mejor posible el equipo que tenía a la mano.

Software

Decidir qué SO tendría Vishnu me tomó mucho tiempo. Existen cientos de distribuciones Linux o BSD para gateways. Yo estaba buscando algo familiar; apt, por ejemplo. Así que hice un poco de investigación e intenté probar las más populares.

Untangle

Untangle es una compañía que ofrece un gateway para pequeños negocios, entidades educativas y organizaciones sin ánimo de lucro. Su modelo se basa en vender licencias para módulos que se agregan sobre el servidor (que por si solo es gratuito); como un antivirus de red, compartir impresoras y cosas así.

… no lo usé porque:

No me agradó tener que instalar todo a través de la interfaz web; lo que a su vez limitaba la gama de programas a instalar. Funciona muy bien para lugares donde se necesita tener el programa funcionando sin importar cuál sea exactamente.

Zentyal

Zentyal, basado en Ubuntu, es un paquete de aplicaciones de red. Su configuración permite montar diversos tipos de servidores. Por ejemplo; se puede montar un gateway Zentyal que sirva Internet a dos redes locales ajenas, en una de ellas puede haber otro servidor Zentyal que comparta impresoras, tenga el servidor de correo y el servidor web mientras que en la otra red, un tercer servidor Zentyal se encargue de VoIP. Es muy potente.

… no lo usé porque:

Toda esa potencia tiene un precio. En mi equipo se ejecutaba terriblemente lento. Al igual que Untangle, uno se ve obligado a instalar módulos enteros que instalan algunos paquetes que posiblemente nunca sean usados.

Ubuntu Server

La versión para servidores de la popular distribución linux. Esto ya se parecía mucho a lo que estaba buscando. Hay que configurar a mano todo lo que Zentyal y Untangle hacen por uno. Si uno está familiarizado con esta distribución, se le puede sacar mucho a los repositorios de Canonical.

… no lo usé porque:

Me gusta tener todo actualizado. Suponiendo que sólo instale versiones LTS, tendría que reinstalar el sistema cada dos años. Eso quiere decir que tendría que volver a configurar todo en cada reinstalación o tener bien planeadas las particiones. Realmente no es mucho problema, pero preferí evitarlo.

Archlinux

La distribución bajo la filosofía KISS; esencialmente: los asistentes, GUIs y cualquier agregado sólo complican todo. Para implementar cualquier cosa hay que editar directamente los archivos de configuración. Además no se liberan versiones sino que hay una sola rama y simplemente van actualizando los paquetes. Después de una instalación, no debería tener que reinstalarse el sistema a menos que se trate de alguna falla o pérdida mayor.

¡… el ganador! :

Arch es una distribución que me gusta mucho y tal vez debí decidirme por ella desde un principio. La única desventaja que podría verle sería que es un poco más complicado de manejar que otras distros. Sin embargo, la documentación es muy buena y – principalmente – nada se compara a tener control total sobre cada aspecto.

Instalando Archlinux.

Instalando Archlinux.

El wiki de arch tiene un artículo especificamente para montar un Router que fue el que seguí. Incluso hice algunas aportaciones una vez que terminé.

Servicios

No voy a explicar cómo se implementa cada servicio, ya que para eso está la documentación de Arch. Sólo explicaré un poco qué es cada uno y el motivo por el que lo incluí, aunque sí pongo un link a la documentación.

Hay que mencionar algo muy importante. Técnicamente, no hay nada que impida que un equipo que pueda funcionar como router también proporcione otros servicios ajenos al encaminamiento de red, como servidor de impresoras, por ejemplo. Sin embargo no es recomendable por motivos de seguridad, por ejemplo; Digamos que se tiene un firewall impenetrable, y se agrega una página web. Podría ser que el servidor HTTP tenga un agujero de seguridad que permita a un atacante tomar control del sistema. En tal caso no importó que tan perfecto era el firewall, el sistema quedó comprometido.

Con lo anterior quiero decir que lo que hice con Vishnu tiene un nivel de riesgo considerable a pesar de que procuro no abrir muchos servicios hacia el exterior y cifro todos los que pueda dentro de un túnel SSH. La seguridad de una red es un tema enorme y complejo; no basta con saber instalar las cosas – eso es trivial – también es necesario entender como funciona todo lo que existe detrás para tener una idea de qué hay que proteger y cómo diagnosticar problemas.

Router

Un Router es en realidad un conjunto de varios servicios, típicamente: DHCP, Firewall, DNS.

Un servidor DHCP administra los integrantes de una red. Al conectar un router con un equipo, el servidor DHCP le hace llegar todos los datos para que pueda formar parte de la red y le asigna una IP con la que él y el resto de los miembros pueden identificar dicho equipo.

Un servidor DNS es un componente muy importante en Internet. Esencialmente se encargan de recordar que IP tiene cierto nombre de dominio. En el caso del router, se encarga de que los equipos de la LAN puedan ser identificados con un nombre. Es más sencillo recordar milaptop que 192.168.250.31 para identificar una laptop en la LAN.

El Firewall es un concepto muy conocido. Internet es una jungla llena de todo tipo de terribles peligros, pero para eso existe el Firewall, que se encarga de mantenerlos fuera de nuestra LAN y dejar pasar sólo lo que queremos.

Punto de acceso Wi-Fi, el término es bastante claro. Para permitir a equipos unirse a la LAN vía Wi-Fi se deben configurar cosas como, el tipo de clave/cifrado, protocolos de comunicación e intercambio de llaves… Hoy en día todos tenemos al menos un equipo con la posibilidad de conectarse vía Wi-Fi.

Hacer un Router era mi objetivo principal y estos son los servicios básicos que debería de tener para cumplir las necesidades básicas.

Servidor de Impresoras

Un servidor de impresoras permite a más de un equipo hacer uso de alguna impresora conectada a él. En mi caso es un servicio importante ya que mi familia imprime bastante. Inicialmente cofiguraba mi computadora principal, que está encendida casi todo el día, como servidor de impresora; pero si me encontraba jugando (para lo cual tengo que pasarme a windows) entonces no había servicio; y más de una vez ocurrió que tuve que dejar un juego para que alguien pudiera hacer uso de la impresora. Con Vishnu como servidor de impresoras el servicio siempre está disponible.

Web Cache

Un cache web es un servicio transparente presente en la red que se encarga de guardar copias de los recursos web más solicitados desde la LAN. Teniendo una copia local de un sitio, no tendría que volver a solicitarse la información al servidor web cuando la página se visite por segunda vez. La transferencia desde el cache web al cliente que solicita la información es más rápida y no ocupa ancho de banda del enlace hacia Internet. Esto reduce la congestión un poco y reduce la latencia en general.

Incluí este servicio para agilizar un poco el tráfico web, y digo «un poco» porque no todos visitamos exactamente los mismos sitios y además cada vez son más los que usan HTTPS, y este tipo de tráfico no puede ser cacheado. Sin embargo pueden hacerse cosas más inteligentes, como por ejemplo; tener copias locales de actualizaciones de sistema que más de un equipo en la LAN necesitará instalar. Una vez descargadas por primera vez, el resto de los equipos obtendrán las actualizaciones a la velocidad de la LAN y no a la del ancho de banda del ISP; es decir, más rápido.

Gestor de Descargas

Este es más un uso obvio que un servicio.

Empecemos con BitTorrent. Muchos clientes torrent incluyen una interfaz web. Está pensada justamente para hacer administración remota de tus descargas. Transmission debe ser el cliente BitTorrent más limpio de todos, y su interfaz web funciona perfectamente.

Ahora son más comunes los gestores de descarga directa. JDownloader es el programa más popular en esta categoría, sin embargo requiere un entorno gráfico para su instalación y uso. Además, su interfaz web es aún muy austera; hace tiempo intenté ver si podría aportarle algo pero el solo hecho de ver código Java me provoca terribles arqueadas. Por fortuna me encontré con pyLoad, que me perece que tiene un diseño infinitamente superior. Su interfaz web es lo suficientemente madura para cubrir mis exigencias y soporta los servidores más populares.

NAS

Network-attached storage. Algún tipo de dispositivo de almacenamiento al cual se tenga acceso desde distintos tipos de clientes en la red. Puede ser una partición, el disco duro completo, una unidad lectora… y las aplicaciones pueden ser muy variadas — virtualmente, cualquier cosa que se nos ocurra que requiera almacenamiento –.

Otras Ideas

El principal problema de hacer un router a partir de una vieja PC es que el hardware no está pensado para esta tarea, por lo que tenemos un equipo que consume más energía y ocupa más espacio que cualquier router comercial. Me gustaría encontrarme con alguna Motherboard basada en ARM que pueda personalizar de la misma manera que hice con Vishnu. Eso seguramente me permitiría hacer un servidor más pequeño y de menor consumo. Sin embargo, parece que la tendencia es flashear routers comerciales.

Necesitaré agregar discos duros a Vishnu para empezar a formar unidades de almacenamiento en red para hacer más cómoda la transferencia de información en la LAN. Pero eso aumentará el consumo de energía. Aún estoy analizando las opciones.

De contar con más recursos, separaría las responsabilidades de Vishnu en varios servidores; algunos de ellos serían virtuales. Creo que lo ideal sería tener mi soñado equipo ARM como router y un equipo que ejecute distintos servidores virtuales para los demás servicios.

Written by sk

8 julio 2012 at 1:50 am

Publicado en linux

Trabajando en máquinas virtuales sin que parezca que están ahí

leave a comment »

Estoy llevando un curso de Sistemas Operativos para el que uso ciertas herramientas — un emulador de PC y gcc — el problema es que, debido al código del SO que estamos modificando, necesito usar una versión anterior del kernel de linux, una versión anterior de gcc y mapear algunas rutas. Es posible hacer todo eso en cualquier sabor de linux, por supuesto, ¿pero quién quiere hacer tanto alboroto en su sistema sólo por un par de programas? Podríamos instalar, en otra partición del DD, otro sistema destinado a la tarea en cuestión, pero eso requeriría que /boot esté en su propia partición para que el GRUB se configure adecuadamente, sin mencionar que no tendríamos acceso a toda la información de nuestro sistema habitual.

La solución que escogí, como ya se imaginarán, fue usar una máquina virtual. ¿Suena incómodo usar una sesión de VirtualBox para programar? Lo es, pero para eso existe la posibilidad de ejecutar máquinas virtuales en modo headless. Para entrar al sistema virtualizado uso SSH, para lo que hay que configurar la interfaz NAT virtual en modo bridged o host only. Yo usé el segundo porque no requiero que el sistema tenga acceso Internet y puedo entrar a él aunque el sistema anfitrión no esté en ninguna red ya que usa un servidor DHCP virtual para formar una LAN virtual entre el sistema anfitrión y los sistemas virtualizados. Finalmente, agregué como carpeta compartida todo el espacio en el que tengo que programar — que a su vez está dentro de mis archivos de Dropbox –. Así puedo programar desde el sistema anfitrión como lo haría normalmente y las pruebas las ejecuto en una sesión SSH. Así, sólo uso dos terminales; la de VIM y la de SSH.

Hice lo mismo cuando llevé un curso de Redes de Computadoras, pero ocurrieron cosas más interesantes. Tenía un sistema Debian virtualizado que configuré como Router. Lo que requirió dos NATs virtuales en modo bridge; uno puenteado con la interfaz wifi — para acceder a Internet — y el segundo puenteado con la interfaz ethernet, para conectar a los clientes DHCP — con cable UTP cruzado o un switch –. Cuando conectaba otro equipo con el cable de red, este buscaba y encontraba el router virtual — el sistema debian — y se conectaba a él como era de esperarse; pero en ese momento el sistema anfitrión también se conectaba, a través de su interfaz ethernet, como cliente del router virtual.

Las aplicaciones más comunes de máquinas virtuales headless son en servidores de máquinas virtuales. En un servidor con VirtualBox podríamos instalar una máquina virtual para que sea un servidor de impresoras, una segunda máquina virtual como servidor web, una más como servidor de algún videojuego y lo que se nos ocurra — estamos limitados por la capacidad del servidor anfitrión, claro está –. No sólo ayuda a tener una infraestructura más ordenada, sino que agrega seguridad: si un servicio tiene una vulnerabilidad, sólo ese servidor está comprometido — aunque por otro lado, si alguien se apodera del servidor de máquinas virtuales, se lo lleva todo –.

Written by sk

14 marzo 2012 at 3:36 pm

Publicado en linux

Tagged with , ,

Archlinux cumple 10 años

leave a comment »

Archlinux

Hoy Archlinux está celebrando una década de existencia. Para quién no sepa qué es Arch, lo que hay que saber es que es una distribución linux bajo la filosofía KISS (Keep It Simple, Stupid), lo que quiere decir que Arch evita usar asistentes gráficos de configuración/instalación. En la distribución se mantiene lo que es necesario y nada más. Todas las aplicaciones son configuradas editando directamente sus archivos de opciones.

No logro recordar cuando fue la primera vez que escuché sobre Arch, pero recuerdo que al entender que no era tan simple como otras distribuciones, me dije: «Algún día seré usuario de Archlinux». Más tarde entendería — cuando me animé a instalarla en mi desktop — que es verdad que no es una distribución para principiantes, pero no es tan difícil como podría suponerse en un principio. La documentación es de las mejores que he visto y le respalda una gran comunidad — siempre que he hecho alguna pregunta en los foros, me han ayudado –.

Disfruto mucho usando esta distribución. No la empleo en mi desktop o lap pero sí en mi home server y estoy muy feliz con el desempeño. También existe una versión  para arquitectura ARM que espero que gane popularidad con la Raspberry Pi.

Espero que archlinux mantenga el paso que lleva y brinde muchos más años a todos sus usuarios.

Written by sk

12 marzo 2012 at 1:53 pm

Publicado en linux

Tagged with ,

Instalar SAMSUNG ML-2240 en linux y compartir en red.

leave a comment »

En esta entrada muestro como tengo instalada la impresora láser SAMSUNG ML-2240 en linux y cómo compartirla con otros sistemas linux y windows. Presumo que este proceso puede aplicarse a otras impresoras de esta línea de SAMSUNG o incluso a cualquier impresora que distribuya lo necesario en su disco de instalación. Primero, saber que no usé el programa de instalación que distribuye SAMSUNG porque agrega una interfaz muy rara – además de que requiere un entorno gráfico y yo la tengo instalada en un headless. Aún así, la instalación no es complicada.

Configurando CUPS para compartir la impresora

Si no vas a compartir la impresora, puedes saltar a la siguiente sección.

Usamos, por supuesto, CUPS como servidor de impresión. En sistemas basados en Ubuntu, ya viene instalado. En Archlinux hay un problema de compatibilidad con el módulo usblp. Para solucionar esto, lo que mejor funciona es instalar la versión de CUPS del AUR en lugar de la versión regular.

Tenemos que ir a la interfaz web de CUPS visitando desde un navegador web: https://127.0.0.1:631/ (o la IP de la PC donde estés instalando tu impresora después de habilitar la administración remota de CUPS). Ir a la sección «Administración» y ahí seleccionar la casilla «Compartir impresoras conectadas a este sistema». Si no quieres usar la web de configuración, desde gnome puedes ir al asistente de impresoras y en menú Servidor > Configuración encontrarás la misma opción. Con esto estaremos compartiendo cualquier impresora instalada en CUPS. Si en cambio sólo quieres compartir una de las impresoras, podemos indicarlo en el momento de instalarla.

Instalando la impresora

Primero insertamos nuestro disco de instalación o descargamos el controlador unificado para Linux del sitio de SAMSUNG. La estructura de archivos del CD y la del paquete descargado es prácticamente la misma. Necesitamos copiar el filter para CUPS a nuestro sistema. Así que, desde una terminal navegamos hasta nuestro CD o a donde descomprimimos el ZIP y desde ahí, para sistemas de 32 bits, introducimos:

$ sudo cp Linux/i386/at_root/usr/lib/cups/filter/rastertosamsungspl /usr/lib/cups/filter

Para sistemas de 64 bits el archivo está en:

$ sudo cp Linux/x86_64/at_root/usr/lib64/cups/filter/rastertosamsungspl /usr/lib/cups/filter

Y luego necesitamos cambiar los permisos:

$ sudo chmod 755 /usr/lib/cups/filter/rastertosamsungspl

Ahora tenemos que ubicar otro archivo, el archivo .ppd de la impresora. Se encuentra en:

Linux/noarch/at_opt/share/ppd/ML-2240spl2.ppd

Puedes copiarlo a otro lado, como tu escritorio, para acceder a él fácilmente para el siguiente paso.

Ahora hay que conectar la impresora, encenderla e iniciar el proceso de instalación. Puede ser desde la interfaz web de CUPS o el asistente de impresión de nuestro escritorio; lo importante es que, en el momento en el que nos pregunte por el controlador, indiquemos el archivo .ppd que ubicamos antes. Tampoco hay que olvidar indicarle que comparta la impresora en caso de que queramos hacerlo y no hallamos seleccionado la opción general.

Proporcionando el controlador de la impresora en el asistente de Gnome.

Hecho esto, la impresora ya está instalada. Puedes hacer una impresión de prueba para comprobar que todo está bien.

Acceder a la impresora desde otro equipo …

… con Linux

En linux es bastante sencillo empezar a usar impresoras compartidas, sólo tenemos que tener instalado CUPS. Vamos a la PC desde donde queremos acceder a la impresora, abrimos el navegador web y accedemos a https://127.0.0.1:631/. En la sección Administración debemos habilitar la opción «Mostrar impresoras compartidas por otros sistemas». Después de guardar los cambios, detectará la impresora en sólo unos segundos y ya podremos usarla.

Si no quieres usar la interfaz web, en el administrador de impresión de Gnome, en el menú Servidor > Configuración, también está la opción.

CUPS es un sistema desarrollado por Apple, así que sospecho que para Mac (y en realidad para cualquier unix-like que tenga CUPS) debería ser parecido.

… con Windows

En windows van a hacer falta más pasos. Primero que nada, necesitamos el programa de instalación para Windows del CD o podemos también descargarlo. Ejecutamos el programa y seguimos el proceso. Habrá una ventana que nos pedirá conectar la impresora; no hace falta, damos «Siguiente» y aparecerá un cuadro de dialogo al que hay que contestarle «No» para continuar la instalación sin la impresora conectada. Cuando el programa de instalación halla terminado, hay que ir al panel de control a la función «Agregar una impresora», Agregar una impresora de red.

En mi caso, el asistente nunca ha podido encontrar la impresora automáticamente. Hay que indicar la URL de la impresora, que debe ser algo del estilo:

http://servidor:631/printers/Impresora

Hay que sustituir por el nombre o IP del servidor de impresión y el nombre de la impresora. Para conseguir esta URL más fácil, puedes visitar la interfaz web de CUPS dónde tienes instalada la impresora, ir a la sección Impresoras y dar clic en la impresora que quieres instalar y estarás en la dirección que tienes que usar. En mi caso es:

http://impresion:631/printers/Samsung-ML-2240

Al dar clic en Siguiente, pedirá indicar el controlador para la impresora, que ya instalamos. Terminado este proceso, ya deberíamos poder usar la impresora desde Windows.

Problemas

En Windows XP nunca he tenido problemas para acceder a la impresora de esta manera. Windows 7, por otro lado, parece tener un problema. Creo que agregar algunos parámetros a la configuración de samba ayuda, pero en Windows 7 Starter aparentemente no funciona para nada. Aunque no he experimentado mucho porque en realidad nunca uso Windows.

Written by sk

7 agosto 2011 at 4:32 pm

Publicado en linux

Tagged with ,

Nokia & Microsoft

leave a comment »

Delegate. The OS still sucks, but this time is not their fault.

Nokia anunció que se aliaría con Microsoft, seguro lo escucharon por ahí. Así podrán poner el sistema operativo de Redmond en los smartphones de Keilaniemi. Y me molestó bastante. Así que usé ese coraje para hacer algo creativo.

Es que es sólo ver a Steve Ballmer y me pongo de un ogro…

Written by sk

22 febrero 2011 at 2:24 am

Publicado en Uncategorized

2^n-Bits

with one comment

VALSHK tiene un nuevo proyecto. Esta vez se trata de un sencillo blog, el tema, videojuegos. 2n-Bits es el nombre de este blog que estará bajo la dirección de LT Phantom.

Visita aquí, 2n-Bits

Written by sk

26 enero 2010 at 1:30 am

Publicado en Uncategorized

¿Cuál editor WYSIWYG?: Comunidad de Artistas

leave a comment »

WYSIWYG significa Whay you see, is what you get. Un editor de texto WYSIWYG es una aplicación que nos permite dar formato a un texto tal y como se verá. Es decir, no hay que escribir código HTML, por ejemplo, guardarlo y luego abrir el archivo en otro lado para verlo ya con el formato. Es, por decirlo de una manera, en tiempo real. A grandes rasgos, es un editor que tiene todos los botones y herramientas para insertar titulos, colores, tipos…. en el texto y ver en ese mismo momento como se verán.

En este momento veo dos posibles editores que se usarían en la Comunidad de Artistas. Una es CKEditor, que es algo así como una evolución del que usábamos en la vieja versión del sitio. El otro es TinyMCE, que es muy popular – se supone que productos de WordPress, Microsoft, Joomla, Oracle… lo usan-

Por cuestiones técnicas – que si quieren, explico – parece que me sería más sencillo usar el segundo, TinyMCE. pero a mi me gusta un poco más el primero, CKEditor. Por favor visiten los links y juegen un poco con la demostración de cada uno y díganos cuál les gustó más. Si conocen algún otro editor que les parezca mejor, por favor que nos lo muestre.

Written by sk

23 diciembre 2009 at 3:47 am

Publicado en comunidad de artistas

¿Cuáles deben ser los marcadores sociales para la Comunidad de Artistas?

with one comment

Los marcadores sociales (social bookmarking) consiste en compartir y clasificar páginas web a través de redes sociales que se presten o sitios especializados. Es decir, si nos encontramos una página con algo muy interesante, además del clásico «mandar por mail a un amigo», podemos compartirlo con nuestros contactos en Facebook, Twitter, hi5… para que todos nuestros conocidos puedan verlo también.

Esta es una función que debe estar en la comunidad de artistas. Así, si cualquiera, no sólo usuarios registrados, encuentran fascinante una obra, podrán marcarla en alguna red social para que aún más personas vean esa publicación.

Los marcadores sociales que indudablemente deben estar son:

Otros marcadores tentativos son:

  • MySpace
  • Furl
  • Newsvine (creo que también es sólo en Inglés)
  • Technorati (creo que también es sólo en Inglés)
  • Barrapunto (sólo español)
  • Slashdot (creo que también es sólo en Inglés)
  • Meneame (sólo español)

¿Serán suficientes? ¿Ustedes cuales usan?

Written by sk

20 diciembre 2009 at 8:35 pm

Publicado en Uncategorized