Archivo

Archivo para la categoría ‘Linux’

Video OpenSuse Compiz-Fusion

Domingo, 4 de Noviembre de 2007 admin Sin comentarios

Categories: Linux Tags:

Como y qué instalar en su nuevo sistema Linux Mandrake

Viernes, 2 de Noviembre de 2007 admin Sin comentarios

Básicamente, en linux hay dos maneras de instalar un programa.
Una manera es bajar de internet el código fuente del programa y compilarlo, es decir, transformar el código fuente, legible por un humano; a código binario, que no lo es. Esta manera funciona en cualquier sistema Linux e incluso, a veces, en otros sistemas como los BSDs , Unixes o incluso en Mac Os X y Windows (con bastante trabajo, pero funcionan).
La otra manera es a través de archivos ya compilados. En esta categoría entran los debs (paquetes para Debian GNU/Linux y derivados, como Lindows, Libranet, etc.), los rpms (paquetes para distribuciones como Red Hat, SuSE, Mandrake Linux, etc.). Voy a dedicarme a los rpms, que conozco, y en todo caso, si me ayudan, incluiré algo sobre los debs.

 

El infierno de las dependencias

En todos los casos, algunos más, otros menos, podemos tener el siguiente problema: nos bajamos el programa X. Vamos a instalarlo con los procedimientos que explico abajo, pero nos hace saber de maneras más o menos ruidosas "Falta el archivo Y para funcionar". Eso hace que tengamos que buscar Y por la red, tratar de instalarlo, etc. En algunos casos desesperantes, podemos llegar a que los paquetes tienen dependencias recursivamente enlazadas, es decir que, por ejemplo, el paquete Z, del que depende Y, depende a su vez de que exista el paquete X… ¡Pero X necesita Y!

¿Qué hacer? Lo veremos abajo. ¿Por qué pasa esto? Porque, a diferencia de Windows, donde cada aplicación escribe el registro de windows como quiere y sobreescribe archivos de sistema como se le canta, por si acaso no estaban instaladas, o eran versiones más viejas, creando problemas de inestabilidad, cuelgues, etc. (ustedes recordarán, creo); en Linux esto no es posible por la estructura de seguridad del sistema.

Por eso, tenemos dos opciones: instalar los paquetes con dependencias enlazadas estáticamente o dinámicamente. Estáticamente quiere decir que el paquete "programa-X.rpm" tiene todas las librerías y archivos necesarios para funcionar como binarios, se instala en un directorio aparte y listo. Dinámicamente quiere decir que el programa confía en que nuestro sistema tendrá instalado un cierto número de archivos.

Esto es lo que lleva al problema que menciono arriba. Dirán entonces "¿Por qué no usar directamente paquetes estáticos?" La respuesta es que, por ahora, es un gasto de ancho de banda considerable (los paquetes enlazados estáticamente son mucho más voluminosos que los dinámicos) y de performance: ocupan más espacio en memoria.
Si eso no es problema para ustedes, adelante. Otro problema que pueden tener es que un paquete "dinámico" que quieren instalar esté compilado con una versión del compilador distinta a la que se usó para construir su sistema. Eso hace que los dos sean incompatibles si el programa tiene que usar librerías compartidas…

Archivos Fuente

Para las instalaciones, lo normal es la secuencia siguiente:

  1. descargar el programa a un directorio adecuado (recomiendo crearse uno tipo /home[usuario]/fuentes/
    1. Descomprimir usando tar -zxvf archivo.tgz , o
    2. tar -zxvf archivo.tar.gz , o
    3. tar -jxvf archivo.tar.bz2 dependiendo de lo que hayan bajado
  2. cd /programa descomprimido
    Recuerden leer lo que dicen los archivos README e INSTALL, si existen, en este directorio.
    Llevan la información concreta sobre este procedimiento, las dependencias, etc.
    El procedimiento común es el que muestro, pero puede variar.
  3. ./configure
  4. make
  5. su -c make install (escriban el password de root)

Ya deberían poder usar su programa desde la terminal. RPMs

El sistema de instalación RPM se pensó como una manera de facilitar las cosas al usuario. Actualmente se usa en muchas distribuciones, y tiene "metaherramientas" como urpmi que lo usan para hacer las cosas todavía más simples. Sólo deberían usar el comando rpm como último recurso.

Empecemos por lo sencillo: Queremos instalar el nuevo programa, Paquete-X.
El primer paso es usar el instalador gráfico de nuestra distribución (el Centro de Control de Mandrake, por ejemplo) para ver si no está en nuestros CDs. Supongo que pueden buscar el instalador en sus menúes, ¿no? Podríamos también configurar ese instalador para que pueda bajar actualizaciones de internet automáticamente. Lo haremos abajo.
La manera de hacer esto desde consola (como usuario root) es usar urpmi paquete-x . Si el paquete existe en su base de datos, les pedirá los discos (o querrá que se conecten, ver abajo) e instalará lo necesario.

Paso dos: no está en los discos. Los sitios más populares de búsqueda de soft para Linux son Sourceforge [sourceforge.net], Freshmeat [freshmeat.net] y Rpmfind [rpmfind.net].
Lo encontramos en Internet, como paquete-x.1.rpm(Traten de no bajar paquetes .src.rpm, salvo que sea lo único que encuentran, y quieren tener su sistema más limpio que con un .tgz): son rpms de archivos fuente.
Lo bajamos a un directorio, y abrimos una terminal con el usuario root (a menos que hayan tocado algo, el sistema sólo permite instalar programas con rpm al administrador del sistema, e'cir, el usuario root). Desde esa terminal, vayan a ese directorio y usen el comando urpmi: urpmi ./paquete-x.1.rpm . Eso debería instalarlo correctamente, resolviendo (en la medida de lo posible, es decir, de lo que esté en la base de datos de su sistema), las dependencias.

Urpmi puede usar tanto CDs como un directorio de su sistema, un directorio ftp de web, un directorio de red, un sitio http… La configuración se hace bastante fácilmente con el modo gráfico. Basta marcar qué es lo que vamos a agregar, la dirección, y la dirección relativa de ubicación de un archivo con extensión .cz. Relativa quiere decir que si ese archivo (que contiene una lista de paquetes, y qué es cada uno) está en ese directorio, basta poner el nombre del archivo (ej, synthesis.hdlist.cz) o en todo caso poner ./ antes del nombre. Si está un directorio antes, sería ../synthesis.hdlist.cz , y así.
Para eliminar archivos, usen urpme paquete-x (sin .rpm al final).
Para ver si un determinado archivo está instalado, usen urpmf archivo .
Las diversas opciones de urpmi y compañía las obtendrán con man urpmi. Se pueden hacer cosas muy interesantes.

Si quieren más dificultad, usen el comando rpm -ivh archivo.rpm (si es un archivo .src.rpm tiene los fuentes dentro, y hay que compilarlo, usando una opción particular de rpm que veremos más abajo).
Si ese comando devuelve errores de tipo "ese paquete ya existe" prueben usando rpm -Uvh archivo.rpm .

Qué instalar

Bueno, no porque seamos los maestros agregando fuentes y tengamos una conexión UltraDSL, tenemos que instalar absolutamente todo lo que se nos cruce. Esencialmente, en Mandrake los repositorios tienen un directorio "Cooker" que es el equivalente de "Debian-Unstable". Son paquetes no testeados totalmente, que pueden por eso tener sus problemas. Si quieren o necesitan un sistema estable, traten de no instalar de estos directorios. Si su chiche está ahí, bueno, prueben.

Los principales directorios de rpms para Mandrake son Texstar [ibiblio.org], PLF [plf.time4t.net], y los directorios ftp de los mirrors de Mandrake (Contribs [mandrake.redbox.cz]), además de Cooker [mandrake.redbox.cz].Basta buscar en esos directorios hasta encontrar los rpms de su distro y las hdlists (usen i586 para Mandrake 9.0 o 9.1, y cuidado porque las aplicaciones vienen compiladas con una nueva versión de gcc que las hace más rápidas y compactas, pero que crea problemas en sistemas con Mandrake 8.2 o anteriores (en realidad, no andan). En general, paquetes que no sean oficiales (en este caso, el ejemplo serían los rpms de TexStar vs los de Mandrake) pueden ser más problemáticos, plantear problemas. En realidad, TexStar en particular es muy confiable, pero…

Instalando rpms de fuentes (archivos .src.rpm)

Gracias a la ayuda de los artículos de la documentación de Mandrake, y a un par de usuarios del foro MandrakeUsers [mandrakeusers.org], logré entender este tema. Espero que lo haya entendido tan bien como para que ustedes también lo hagan.

En resumen, el proceso es el siguiente:

  1. Bajar el paquete fuente: paquete-x.src.rpm
  2. hacer que rpmbuild compile el paquete
  3. instalarlo con urpmi
  4. disfrutar el programa compilado especialmente para nuestra PCrda.

Como root, desde una consola o terminal, usamos el comando siguiente:
rpmbuild –rebuild –target=$HOSTTYPE ruta al paquete/paquete-x.src.rpm
eso graba el rpm terminado en /usr/src/RPMS/i586/paquete-xalgo.rpm . El "algo" son las tres primeras letras de su nombre de usuario (si compilan como usuario y no como root), o lo que decida el sistema en el otro caso.
Una vez lista la compilación, vamos a /usr/src/RPMS/i586 o la dirección que corresponda a su arquitectura de PC (una mandrake 8.2 supongo que irá a i386, por ejemplo). Allí, instalamos con
urpmi paquete-xalgo.rpm
y listo! ¿No era tan difícil, no?

Instalar srpms (source rpms) como usuario común y no como root es más seguro. Para poder hacerlo, tendremos que hacer lo siguiente.

  1. Crear un "árbol RPM" similar al que se encuentra en /usr/src/RPM :
    cd ~
    find /usr/src/RPM -type d -exec sh -c 'mkdir -p ${0##*/src/}' '{}' ;
  2. crear un directorio tmp para las compilaciones:
    mkdir -p RPM/tmp
  3. Hay que decirle al sistema que en lugar de usar la configuración normal de rpmbuild vamos a usar una propia. Bajen este archivo, y guárdenlo en su directorio personal (en mi caso, /home/adriano) y editen los campos de la derecha que no estén comentados. Por ejemplo:
    # Deberías configurar estos vos mismo. Los defaults muestran mi sistema. %_my_homedir /home/adriano # Directorio de binarios del usuario # %_my_rpmdir %{_my_homedir}/rpm %_my_rpmdir /home/adriano/RPM # Nombre del usuario %_my_name Adriano Varoli Piazza Acá pueden ver mis seteos. Las líneas que empiezan con # son comentarios, no hace falta modificarlas.
  4. ¡Listo! Ya pueden compilar sus rpms en su propio directorio, con
    rpmbuild –rebuild –target $HOSTTYPE ~/tmp/paquete-x-version.src.rpm
  5. Eso deja, luego de la compilación, y si tenían las dependencias necesarias (Controlen antes, claro) el paquete-x-version.rpm en el directorio ~/RPM/RPMS/i586/ (para máquinas pentium, claro).
  6. Ahora podemos (como root, claro) instalar el paquete usando urpmi.

Debs

Esta sección depende de la generosidad del público usuario de Debian. Espero sus colaboraciones.

Categories: Linux Tags:

ROUTE (network)

Viernes, 2 de Noviembre de 2007 admin Sin comentarios

ROUTE: Define las rutas estáticas a otra máquinas ó redes, a través de interfaces que hayan sido definidos con ifconfig.

ej.: route add 10.0.0.9 netmask 255.0.0.0 reject

Tablas de enrutamiento:


Destination

Gateway

Getmask

Flags

Metric

Ref

Usel

Iface

195.195.0.3

195.195.0.100

*

U

O

2

38

Eth0

Destination.: Indica la dirección IP de sistema de destino del paquete IP.

Gateway.: Indica el equipo al cual debe de enviar el sistema en que se encuentra el usuario dicho paquete IP para que llegue al sistema destino. Si este campo se encuentra con un *, indica que ambos equipos, el del usuario y el sistema destino, se encuentran conectados directamente y que por lo tanto, no necesitan de sistmas intermediarios para conectarse.

Genmask.: Se utiliza para definir la generalidad de una ruta, ayudando de esta manera a determinar la mejor ruta.

Flags.: Indica el tipo de ruta a seguir así este campo puede tomar los siguientes valores generales

H=sistema

U=arriba

D=ruta dinámica

G=pasarela

M=modificada

Metric.: Indica el coste de la ruta a seguir.

Ref.: Indica el número de rutas en la red que dependen de esta ruta, debido a que utilizan como paso para llegar a los host/servidores de destino.

Use.: Las veces que se ha consultado la tabla de enrutamiento

Iface.: La interfaz de red a la cual la ruta suministra paquetes

Categories: Linux Tags:

Reinstalar LiLo o Grub (gestor de arranque)

Viernes, 2 de Noviembre de 2007 admin Sin comentarios

Pues yo lo que quiero en realidad es reinstalar LILO en el arranque del disco duro hda, alguno sabe como?

Tomado de: Red Hat Linux 8.0: Manual oficial de personalización de Red Hat Linux

Capítulo 29. Actualización del Kernel
Configuración del gestor de arranque
El paquete kernel de RPM configura el gestor de arranque, ya sea GRUB o LILO para arrancar el nuevo kernel
si se ha instalado el gestor de arranque.
Sin embargo, no configura el gestor de arranque para arrancar el nuevo kernel de manera predeterminada
Es una buena idea confirmar que el gestor de arranque se ha configurado correctamente. Esto es un paso
crucial. Si el gestor de arranque están configurado de forma incorrecta, no podrán arrancar el sistema. Si esto ocurre,
arranque el sistema con el disquete de arranque que creó anteriormente e intente configurar de nuevo el gestor de arranque

GRUB

Si selecciona GRUB como gestor de arranque, asegúrese que el fichero /boot/grub/grub.conf
contenga la sección title con la misma versión del paquete kernel que acaba de instalar
(lo mismo para los paquetes kernel-smp y/o):

# NOTICE: You have a /boot partition. This means that
# all kernel paths are relative to /boot/
default=0
timeout=30
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Linux (2.4.18-7.95)
root (hd0,0)
kernel /vmlinuz-2.4.18-7.95 ro root=/dev/hda3
initrd /initrd-2.4.18-7.95.img

Si ha creado una partición separada para /boot, el camino al kernel y la imagen initrd será relativo a la partición /boot
Para configurar GRUB para arrancar el nuevo kernel de manera predeterminada, cambie el valor de la variable default
en el número de la sección de título que contiene el nuevo kernel. El número empieza por 0. Por ejemplo, si el nuevo
kernel es la sección del segundo título, establezca la variable default en 1
Puede empezar a probar su nuevo kernel reiniciando su ordenador y viendo los mensajes para asegurarse que su
hardware es detectado adecuadamente

LILO

Si ha seleccionado LILO como gestor de arranque, asegúrese que el fichero /etc/lilo.conf contenga la
sección image con la misma versión del paquete kernel que ha instalado:

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
message=/boot/message
linear
default=linux

image=/boot/vmlinuz-2.4.18-7.95
label=linux
initrd=initrd-2.4.18-7.95.img
read-only
root=/dev/hda5

El paquete RPM kernel activa los cambios con el comando /sbin/lilo

 

Categories: Linux Tags:

Pequeña introducción a iptables + ejemplos variados.

Viernes, 2 de Noviembre de 2007 admin Sin comentarios

Pequeña introducción a iptables + ejemplos variados.

Del Dept.tutorial-relampago-de-la-pradera.
Iptables es una aplicación en linea de comandos que gestiona el filtrado de paquetes en sistemas Linux (kernels 2.4.x), en base a las reglas que hayamos definido. Iptables es mucho más potente que su antecesor Ipchains (kernels 2.2.x).
La estructura de Iptables es básicamente una cola : cuando un paquete llega, este es validado contra cada una de las reglas del firewall, en el momento que alguna regla casa (match) , se ejecuta la acción que haya sido definida en la regla (descartar el paquete, acceptarlo, enrutarlo, etc).
La estructura de un comando iptables es la siguiente :
iptables -t [tabla] -[AIRDLFZNXP] [regla] [criterio] -j [acción]
Vamos a ver que es cada cosa :


-t [tabla] Esta parte del comando especifica cual es la tabla en la que queremos añadir la regla. Existen 2 tipos de tablas válidas : nat y filter, siendo filter la tabla por defecto si es omitida parte en el comando. Nat se refiere a las conexiones que serán modificadas por el firewall, como por ejemplo, enmascarar conexiones, realizar redirecciones de puertos, etc. Filter es la tabla donde se añaden las relacionadas con el filtrado.
-[AIRDLFZNXP] [regla] Hay 4 opciones básicas con las que se puede jugar en esta apartado del comando. Estas opciones básicas son las siguientes :

  • A es para añadir (Append) una regla. Reglas válidas son INPUT, FORWARD y OUTPUT.
  • L es para listar las reglas.
  • F es para borrar todas las reglas o en el caso de INPUT, FORWARD o OUTPUT seán dados como argumento se borraran las reglas asociadas solo a esa clase.
  • P establece la politica por defecto del firewall. Por defecto es aceptar todas las conexiones.
  • [criterio] Aqui es donde se especificarán las características del tipo de paquete que casará con esta regla. Para establecer reglas sencillas (reglas stateless), podemos operar con las siguientes opciones : -s (ip/red fuente), -d (ip/red destino), –sport (puerto fuente), –dport (puerto destino), y -p (protocolo). Un ejemplo de comando de la sintaxis de un ocmando iptables sencillo podría ser este (la parte en que se define el criterio de la regla está en negrita) :

    iptables -A FORWARD -p [protocolo] -s [ip/red fuente] –sport [puerto fuente] -d [ip/red destino] –dport [puerto destino] -j DROP

    -j [action] Aqui establecemos que es lo que hay que hacer con el paquete. Las posibles opciones son : ACCEPT, REJECT, DROP, REDIRECT, LOG (existén más, pero estas son las básicas).

    ACCEPT aceptará el paquete.
    REJECT o DROP lo desecharán, la direncia entre ellos reside en que DROP descartará el paquete silenciosamente y REJECT emitirá un paquete ICMP Port Unreachable, indicando que está cerrado.
    REDIRECT redirigirá el paquete a donde se indique en el criterio del comando y por último…
    LOG lo logeará para su posterior análisis.

    Iptables es muy flexible y puede hacer cualquier cosa que se os ocurra a los paquetes que pasan por la red, man iptables y http://www.netfilter.org/ os informarán de todo lo que hay que saber.

    Para finalizar el tutorial-relampago, vamos a ver unos ejemplos y lo que hacen, que muchas veces aclaran más las cosas que la pura documentacion ;-) .

    Comando iptables -A INPUT -p tcp -i eth0 –dport 80 -j DROP
    Descripción Cerrar conexiones entrantes desde eth0 y hacia el puerto (local) 80 (HTTP)
    Comando iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/255.255.255.0 -j MASQUERADE
    Descripción Enmascarar por las conexiones procedentes de la red 10.0.0.0 como si lo hicieran desde la ip configurada en la interfaz eth0. (típica regla en un router linux compartiendo la conexión eth0 con la red local conectada a eth1).
    Una regla equivalente a esta puede ser esta (si atacamos por SNAT en lugar de MASQUERADE):

    iptables -t nat -A POSTROUTING -o eth0 -j SNAT –to ip-de-eth0

    Comando iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j REDIRECT –to-port 3128
    Descripción Redireccionar al puerto 3128 (proxy) todos los paquetes que entran por eth1 y con destino puerto 80 (HTTP), de esta manera conseguimos un proxy transparente.
    Comandos iptables -A INPUT -p tcp -i eth0 -m state –state NEW,ESTABLISHED,RELATED –dport 22 -j ACCEPT
    iptables -A INPUT -p all -i eth0 -m state –state NEW,INVALID -j DROP
    Descripción Detener todas las conexiones entrantes desde la interfaz eth0 menos la conexiones al servicio ssh. La primera regla deja pasar los paquetes al 22 y la segunda cierra todo lo demas. Sin embargo todas las conexiones que se realizen desde la máquina (como navegar, consultar correo, etc) estarán permitidas por que no son conexiones iniciadas desde "fuera". Con ipchains este tipo de reglas (reglas de inspección de estado, statefull) no existían.
    Comandos iptables -A OUTPUT -i eth0 -p icmp –icmp-type 8 -j DROP
    iptables -A FORWARD -i eth0 -p icmp –icmp-type 8 -j DROP
    Descripción Deshabilitar los paquetes ICMP entrantes de tipo echo (8) para el firewall (regla INPUT) y la red protegida (regla FORWARD).
    Comandos iptables -A INPUT -i eth0 -f -m length –length 0:40 -j DROP
    iptables -A FORWARD -i eth0 -f -m length 0:40 -j DROP
    Descripción Denegar paquetes fragmentados por debajo de 40 bytes. Tanto para conexiones que dirigidas al firewall (regla INPUT) como las que pasan a traves de él (regla FORWARD). Esta regla evita ataques del tipo "Tiny Fragment Attack"

    Autoría: LINUCA -Asociación de Usuarios GNU/Linux en Cantabria.-

    Categories: Linux Tags:

    SquirrelMail: un potente webmail (servidor)

    Viernes, 2 de Noviembre de 2007 admin Sin comentarios

    SquirrelMail es un webmail muy interesante por su facilidad de instalación, simpleza y por la gran cantidad de características que ofrece gracias a su arquitectura de plug-ins.

    SquirrelMail es un webmail con un montón de ventajas:

    • Tiene un montón de funciones interesantes. No tiene nada que envidiar a muchos clientes de correo. Además está escrito en PHP4 y es GPL, por lo que podeis ampliarlo, modificarlo fácilmente y es totalmente gratis. Gracias a la arquitectura de plug-ins podreis añadir otros plug-ins para incluir nuevas funciones.
    • Es muchísimo más estable que bastantes clientes de correo (sobretodo si lo comparais con el Mozilla).
    • Acceso a vuestro correo desde cualquier sitio, basta cualquier ordenador con conexión a Internet y un navegador.
    • Podeis acceder a vuestro correo de forma segura (a través de SSL).

    Las características más interesantes de este webmail son:

    • Gestión de carpetas.
    • Internacionalización.
    • Libro de direcciones personal y acceso a otros servicios de LDAP (muy útil si teneis LDAP montado en una organización). Permite hacer búsquedas de direcciones.
    • Gestión de attachments.
    • Servicio de búsqueda en emails.
    • No necesita ninguna base de datos para funcionar (al contrario que muchos otros webmails que necesitan MySQL o PostgreSQL).
    • Interfaz de usuario fácil y potente.
    • Arquitectura de plug-ins.
    • Múltiples temas (colorines).
    • Configuración de las vistas de mensajes: número de mensajes visibles en pantalla, campos visibles, orden, cada cuanto tiempo comprueba si hay nuevos mensajes, etc.

    Y si añadimos plug-ins ya es una pasada:

    • Posibilidad de añadir direccions de correo de emails entrantes o contenidas en un email a nuestro libro de direcciones de forma automática.
    • Autocompletado de direcciones de correo cuando se escribe un email.
    • Una imprescindible: enseñar fortunes.
    • Envio de páginas HTML comprimidas (en caso de ficheros largos).
    • Reloj.
    • Filtros de mensajes según direcciones de correo o subject.
    • Filtrado de spamming.
    • Descarga de correo de múltiples cuentas POP.
    • Utilidad de corrección de correos en cualquier idioma. Esto me dejó con la boca abierta.
    • Traducción de correos a diferentes lenguas. Y esto ya no te cuento.

    En fin, que me bajé todos los plug-ins el primer dia y me he instalado unos 19, aunque hay bastantes más. Además los plugins son muy faciles de instalar. Requerimientos Los requerimientos básicos para instalarlo son:

    • PHP4. No hace falta tener instalada la libreria IMAP de PHP.
    • Servidor Web. Yo lo he probado con Apache 1.3.19.
    • Servidor IMAP. Yo lo he probado con Cyrus IMAP.

    Nota: también se pueden usar múltiples cuentas POP con un plug-in pero necesitareis un servidor IMAP para autenticar el usuario. Aunque seguramente sería posible hacer algún plug-in o extensión para que funcione también con un servidor POP. Instalación y Configuración Suponiendo que vuestra instalación de Apache, PHP4 y IMAP ya funciona correctamente :) la instalación no puede ser más sencilla, os bajais la última versión, yo probé la versión de desarrollo 1.1.1 y de momento no he detectado ni un solo bug, y la poneis en un directorio que puede acceder vuestro servidor Web. Además se necesitan dos directorios más, uno para datos y otro para guardar temporalmente los attachments, que necesitan permisos especiales para mayor seguridad. Para más detalles, mirad el fichero INSTALL que es muy corto.

    Luego configurais Apache si es necesario, si quereis usar por ejemplo virtual hosting o acceso a través de SSL.

    Para configurarlo (servidor IMAP, parámetros por defecto, etc) se puede usar un sencillo script en perl, que tiene varios menus. O también lo podeis configurar a mano editando un fichero con variables PHP.

    Si conoceis algún otro webmail mejor que este comunicadmelo, pero lo veo difícil. Por si quereis buscarlo aquí os paso un inventario de webmails , en la que podeis encontrar hasta 43 webmails. Otros webmails que he provado son: Basilix, IMP, Postaci, 6xmailer, popper, NOCC.

    –Mateu–

    E-mail del autor: mbatle _ARROBA_ mbatle.com
    Podrás encontrar este artículo e información adicional en: http://bulma.net/body.phtml?nIdNoticia=634

    Página web oficial : http://www.squirrelmail.org/

    Categories: Linux Tags:

    urpmi en Mandrake -¿Como? (Instalación de paquetes)

    Viernes, 2 de Noviembre de 2007 admin Sin comentarios

    . Pregunta: Soy usuario de Mandrake, y busco alguna forma de instalar un programa sin tener que estar continuamente buscando las dependencias en Internet.
    . Respuesta: Tal vez, la tarea más dura de instalar un programa sea instalar sus dependencias, aunque resulte algo paradógico.

    Muchas aplicaciones requieren otras librerías o archivos para funcionar, y a su vez estas librerías dependen de otras para poder instalarse.
    Para solucionar este problema, en la distribución Mandrake disponemos una administración de paquetes RPM que nos pueden solucionar en gran medida el tema de las dependencias. Este programa se llama URPMI, y funciona de la siguiente manera:
    El programa localiza el paquete a instalar, y a su vez sus dependencias. Todo ello a través de las fuentes que le indiquemos.
    Las fuentes o repositorios pueden ser de dos tipos:
    – Externas: La web o FTP.
    – Internas: Nuestro disco duro, o CDROM.
    Toda la información de los paquetes que recopila de las fuentes se almacena en una base de datos que después podremos consultar.
    Hay que señalar, que el repositorio, además de tener los archivos RPM, debe disponer de un archivo llamado "hdlist.cz" o "synthesis.hdlist.cz", donde se informa sobre los paquetes que contiene el repositorio, sus dependencias, descripción de cada paquete, etc.

    He aquí una lista con los comandos del programa URPMI:
    urpmi: Obtiene e instala paquetes.
    urpme: Desinstala los paquetes.
    urpmq: Realiza búsquedas en la base de datos.
    urpmf: Realiza una búsqueda de archivos dentro de los paquetes RPM.
    urpmi.addmedia: Añade una fuente o repositorio.
    urpmi.removemedia: Borra un repositorio.
    urpmi.update: Actualiza un repositorio.

    Para finalizar, añadiremos algún repositorio. La función que utilizaremos será "urpmi.addmedia", cuya forma de introducirse debe ser la siguiente (sin almoadilla al principio):
    # urpmi.addmedia "Nombre de la fuente" http://host/camino with camino/de/listarpm/hdlist.cz ó synthesis.hdlist.cz
    "Nombre de la fuente": Será el nombre del repositorio. No importa aquí lo que pongamos.
    "host": Nombre del servidor http.
    "camino": Ruta hasta llegar a los paquetes RPM.
    "with": Esto lo dejamos como está.
    "camino/de/listarpm/hdlist.cz ó synthesis.hdlist.cz": Camino que hay que seguir para llegar a los archivos "hdlist.cz" o "synthesis.hdlist.cz". En este caso se encuentran en la carpeta "/listarpm".
    Si tenemos el CD3 de Mandrake podremos añadir nuestro primer repositorio:
    # urpmi.addmedia "CD3 Mandrake Linux" removable://mnt/cdrom/Mandrake/RPMS2/ with synthesis.hdlist13rpms.cz
    Si tenemos conexión a Internet podremos añadir un repositorio FTP, que dispone de muchísimos paquetes:
    # urpmi.addmedia "Rediris" ftp://ftp.rediris.es/pub/linux/distributions/mandrake/9.0/contrib/RPMS/ with synthesis.hdlist2.cz

    Si nos hemos equivocado con cualquier repositorio, podremos borrarlo y volver a ponerlo bien con este comando:
    # urpmi.removemedia "Nombre repositorio/fuente"
    Ejemplo: # urpmi.removemedia "Rediris"

    Después de este paso actualizaremos la base de datos de los repositorios:
    # urpmi.update -a

    ¡Y a instalar se dijo! Vamos a instalar MPlayer, magnífico reproductor de vídeo:
    # urpmi mplayer

    Automáticamente instalará todas las dependencias, y ya podrás instalar muchos programas sin preocuparte de nada.

    Por cierto, si te hartas de MPlayer (que no creo), puedes desinstalarlo así:
    # urpme "Paquete a desinstalar"
    Ejemplo: # urpme "mplayer"

    Espero que os haya servido de gran ayuda :)

    Autor: El Menda
    E-mail: byelmenda@hotmail.com

    Se me ocurrió que podríamos añadir sitios FTP extra. Aportaré dos:
    #urpmi.addmedia "Sunet" ftp://ftp.sunet.se/pub/Linux/distributions/mandrake/updates/9.0/RPMS with ../base/hdlist.cz
    #urpmi.addmedia "Gatech" ftp://ftp-linux.cc.gatech.edu/pub/mandrake/9.0/x86_64/Mandrake/RPMS with ../base/hdlist.cz

    Categories: Linux Tags:

    Viendo DivX con Mplayer en Linux

    Viernes, 2 de Noviembre de 2007 admin Sin comentarios

    Viendo DivX con Mplayer

    Mucha gente, ha preguntado siempre lo mismo , "¿ Como puedo ver DivX en Linux ?", eso es lo que vamos a tratar , en nuestro caso reproduciremos con mplayer , un reproductor que sin duda, (si no es el mejor uno de los mejores), brilla por su rapidez y su estabilidad.
    Cosas que nos hacen falta :

    Mplayer ( podéis obtenerlo de http://mplayerhq.hu/ )
    Win32 Codecs ( podeis obtenerlos de http://mplayerhq.hu/ , también )
    Codecs DivX para Linux ( obtenerlos de http://www.divx.com/ )

    Hay 2 motivos , por los que no existen , paquetes precompilados de Mplayer , (exceptuando algunos RPMS) , mplayer es un programa muy especifico , que se compila ajustándose a los requerimientos de la maquina donde va a ser empleado , cosas importantes , podría ser , si la maquina posee MMX , etc … . Por eso , el autor , de Mplayer no distribuye binarios desde el sitio oficial, aunque si sois avispados , podéis encontrar algunos en RPMFIND (rpmfind.net), aunque no recomiendo , totalmente eso , así que no seáis vagos y a compilar .

    - Instalando Win32 Codecs

    Este paquete provee librerías binarias , sobre los codecs mas usuales a la hora de reproducir video , como habéis visto el tamaño del archivo es un poco grande , aprox +/- 4 mb . Como ya he dicho antes , son librerías binarias , es decir no hemos de compilar , debemos de colocar el archivo que hemos bajado en en /usr/src .

    Cuando ya lo tengamos colocado , lo descomprimimos (has observado que es bz2) del siguiente modo :

    # bunzip2 w32codec-0.60.tar.bz2
    ( el nombre del archivo puede variar según versiones)
    # tar -xf w32codec-0.60.tar

    (nota : el # , es el prompt de root , al igual que $ , es el de usuario )

    Ahora podemos , observar que se ha creado un nuevo directorio llamado w32codec-0.60 .
    ( el nombre del directorio puede variar segun versiones)
    Nos introduciremos en el , con el comando cd , del siguiente modo :

    # cd w32codec-0.60

    Ahora crearemos un directorio , donde las librerias , residiran en nuestro sistema , un buen lugar para colocarla , seria
    por ejemplo , /usr/bin/win32 , o /usr/bin/codecs , los las coloqué en este ultimo , es cuestión de gustos.
    Creemos el directorio , que hemos elegido :

    # mkdir /usr/lib/codecs
    ( repito , a gusto personal )
    ( Ahora vamos a copiar los codecs a la carpeta recien creada , si recordamos un paso atras , ya estamos ,
    en la carpeta de los codecs )
    # cp * /usr/lib/codecs
    (Voila! Los tenemos copiados).

    Ya nos hemos despachado esto , ahora vamos , con DivX.

    - Instalando DivX

    Descarguemos el paquete , en cualquier directorio , y descomprimimos como ya sabemos.

    # tar -zxvf divx-2002XXX.tar.gz
    ( el nombre del archivo variara según la versión )

    Ahora entramos en el directorio recién creado :

    # cd divx-2002XXX

    Y allí , siendo root , tecleamos .

    # sh install.sh

    Ya tenemos instalado DivX , ahora , pasaremos a compilar mplayer.

    - Compilando Mplayer

    Podemos usar mplayer , para reproducir , nuestros videos favoritos , aunque tambien podemos usar DivXplayer (vease divx.com) aunque yo prefiero este ultimo ,el hecho de instalar el codec de divx , es por si queremos usar otro reproductor que no sea mplayer :) , creo que mplayer, no depende directamente de los codecs de DivX , por que en el paquete de win32 codecs , trae los suyos , propios , vamos pero no está de más , si me equivoco que alguien me corrija.

    Observad :
    filip@prophecy:/usr/lib/codecs$ ls -l | grep divx
    -rw-r–r– 1 root root 520192 Jul 22 00:31 divx.dll
    -rw-r–r– 1 root root 239616 Jul 22 00:31 divx_c32.ax
    -rw-r–r– 1 root root 287744 Jul 22 00:31 divxa32.acm
    -rw-r–r– 1 root root 412160 Jul 22 00:31 divxc32.dll
    -rw-r–r– 1 root root 434176 Jul 22 00:31 divxdec.ax
    filip@prophecy:/usr/lib/codecs$

    Vayamos al grano , tenemos ya las fuentes descargadas de mplayer ,y colocadas en /usr/src , ¿ verdad ? , si no es asi, colócalas , como supongo que ya sabrás hacer [omito este paso].

    Ahora, descomprimelas .

    # bunzip2 MPlayer-0.90pre5.tar.bz2
    ( descomprimamos el bz2 )
    ( el nombre del fichero puede variar según versiones , bla bla bla! ! ! )
    # tar -xf MPlayer-0.90pre5.tar
    ( ahora expandimos el tar ) ( el nombre del fichero puede variar segun versiones , bla bla bla! ! ! )

    Ya las tenemos descomprimidas , entremos en el directorio que ha creado :

    # cd MPlayer-0.90pre5
    ( el directorio puede variar según versiones , bla bla bla! ! ! )

    Ejecutemos el configure , del siguiente modo .

    # ./configure –with-win32libdir=/usr/lib/codecs –enable-gui
    ( si colocasteis los codecs , en otro directorio , es el momento de cambiar el path que va despues del = )
    ( si no quieres construir mplayer con gui(graphic user interface) , simplemente , omite la ultima opcion )
    ( ojo a la gente que tenga red hat 7.1 , etc … , revisad vuestro GCC ,y leed la documentación que trae mplayer en DOCS/ , no estoy seguro que si añadiendo la opcion –disable-gcc-checking , se puede omitir el error del configure , repito no estoy seguro , en mi debian SID compiló perfecto . )

    Ahora , que ya hemos pasado el configure con exito , pasemos a compilarlo .

    # make

    [.....] Despues de un rato [depende de procesadores y tal].

    Pasemos a distribuir los binarios , por nuestro sistema .

    # make install

    Ya hemos finalizado la instalacion de Mplayer!!!!!!.

    - ¿ Y si queremos ver un video ?

    Es sencillo , llamamos a mplayer del siguiente modo :

    mplayer -vo x11 pelicula.extension

    ( podemos cambiar la flag , de -vo , si queremos , verlo por otra "OUTPUT" , depende si le has dado soporte a OpenGL , etc… )
    ( Para mas informacion ,teclea mplayer –help )

    - Despedida .

    Hasta aquí ha llegado , mi segundo articulo para onlytools.org , espero que los mas y menos avispados , podais ver vuestros videos o pelis , en vuestros pc con Linux , saludos para todos .
    Si tienes alguna duda , puedes contactar conmigo , de 3 formas diferentes .

    - Email Philippma@terra.es>
    Foro de onlytools.org
    – irc ( irc.terra.es , mi nick es Philip , suelo estar en #linux , #linus , #programacion )

    Muchas gracias por tu atencion! .
    Autor: Philip

    Categories: Linux Tags:

    Permisos en Linux (Nivel Básico)

    Viernes, 2 de Noviembre de 2007 admin Sin comentarios

    Permisos en Linux

    Para quien ha usado Windows 9X/ME, esto puede ser un poco complicado. En Windows puedes copiar, mover, borrar, renombrar y sobre escribir cualquier archivo en cualquier momento. Esto es muy diferente en Linux y puede ser un poco difícil de entender y de manejar al principio, pero una vez que se ha entendido es muy sencillo y sobre todo útil, por que gracias a éstos permisos no hay virus que puedan hacer daño al sistema.

    ¿Y qué son los permisos?

    Todo archivo y directorio en Linux tiene permisos establecidos que determinan que y quien puede o no hacer alguna acción con el archivo o directorio. Estas acciones son: leer, escribir y ejecutar.

    Los permisos son la base principal en la seguridad en Linux y es una de las características que ayudan a que Linux sea casi inmune a los Virus de computadora. Te preguntaras ¿porqué? por que un virus debe escribir sobre un archivo para poder infectarlo y ejecutarse de alguna manera para poder infectar mas archivos. Con el sistema de permisos, los virus no pueden infectar cualquier archivo como lo hacen en Windows, si el usuario no tiene permisos, el virus simplemente no puede infectar los archivos y por tanto no puede reproducirse.

    ¿Dónde están los permisos?

    Los permisos se registran en el sistema de archivos, es decir cada archivo tiene su tabla de permisos y los puedes ver con el comando ls -l

    luis@kamaleon $ ls -l
    -rw-r–r– 1 luis usuario 587 may 23 17:17 README
    -rwxr-x— 1 luis usuario 1508208 jun 18 14:07 Xvnc*
    drwxr-xr-x 2 alberto usuario 8192 abr 30 08:43 install/

    Para entender los permisos debes conocer como se establecen, esto se puede hacer de tres maneras:
    para el Propietario (owner),
    para el Grupo (group) del usuario al que pertenece el propietario.
    para los Otros usuarios (Others),

    Y los permisos son lectura(r), escritura(w) y ejecución(x).

    Los permisos son las letras y guiones que están a la izquierda, el ejemplo muestra los permisos de dos archivos y un directorio (install) este se identifica porque la primera letra es una "d", cuando es un archivo es un guión "-".

    Las siguientes tres letras son los permisos del propietario (owner), luego las tres del grupo (group) y por último las de otros usuarios (others).

    Así, los permisos para el archivo README son:

    -rw-r–r– 1 luis usuario 587 may 23 17:17 README

    rw- Propietario .- puede leer y escribir en el archivo.
    r– Grupo .- los usuarios del mismo grupo que el propietario pueden leerlo.
    r– Otros .- usuario que no son del grupo, pueden leerlo.

    Veamos el otro archivo de ejemplo:

    -rwxr-x— 1 luis usuario 1508208 jun 18 14:07 Xvnc*

    rwx Propietario .- puede leer, escribir y ejecutar el archivo.
    r-x Gurpo .- pueden leerlo y ejecutarlo.
    — Otros .- no lo pueden leer, ni escribir, ni ejecutar.

    Cambiando los permisos

    Para determinar los permisos de un archivo o directorio se utiliza el comando chmod, este comando puede utilizar dos métodos para establecerlos pero utilizaremos el más sencillo llamado Absoluto. Este asigna un valor a cada permiso:

    4 r-lectura
    2 w-escritura
    1 x-ejecución

    Dependiendo los permisos que se quieran asignar se sumaran los valores y se utilizará un valor del 0 al 7 para cada modo (propietario, grupo, otros). Por ejemplo si se quiere cambiar los permisos del archivo README dándole permisos de lectura y escritura al propietario y al grupo, pero solo lectura a Otros, se haría de la siguiente manera:

    luis@kamaleon $ ls -l README
    -rw-r–r– 1 luis usuario 587 may 23 17:17 README

    r w x r w x r w x
    Permisos Actuales 4+2+0 4+0+0 4+0+0
    6 4 4

     

    r w x r w x r w x
    Cambiar a: 4+2+0 4+2+0 4+0+0
    6 6 4

    luis@kamaleon $ chmod 664 README

    luis@kamaleon $ ls -l README
    -rw-rw-r– 1 luis usuario 587 may 23 17:17 README

    Ahora demos permisos de lectura y ejecución a Otros en el Archivo Xvnc

    luis@kamaleon $ ls -l Xvnc
    -rwxr-x— 1 luis usuario 1508208 jun 18 14:07 Xvnc*

    r w x r w x r w x
    Permisos Actuales 4+2+1 4+0+1 0+0+0
    7 5 0

     

    r w x r w x r w x
    Cambiar a: 4+2+1 4+0+1 4+0+1
    7 5 5

    luis@kamaleon $ chmod 755 Xvnc

    luis@kamaleon $ ls -l Xvnc
    -rwxr-xr-x 1 luis usuario 1508208 jun 18 14:07 Xvnc*

    Por último aquí esta una tabla que permite saber rápidamente que valor asignar como permiso a cualquiera de los tres modos.

    Val. Permisos
    0
    1 –x
    2 -w-
    3 -wx
    4 r–
    5 r-x
    6 rw-
    7 rwx

    Espero que te sean muy útiles. Disfruta Linux! :)

    Categories: Linux Tags:

    Ejecuta tus programas windows en Linux con WINE (Emulador Windows)

    Viernes, 2 de Noviembre de 2007 admin Sin comentarios

    Wine permite ejecutar aplicaciones windows, en sistemas linux, a través de una serie de librerias, funciones , API's y programas desarrollados desde cero. Es decir, que no necesitas tener instalado ese inestable, inseguro, problemático y caro sistema operativo …

    Hay mucha gente opina que es un tonteria usar el WINE; puesto que lo que hay que hacer es desarrollar aplicaciones nativas para linux y dejarse de emuladores, la respuesta es contundente: El primer paso es la posibilidad de que se ejecuten las aplicaciones, luego cuando se popularicen (y crezca la demanda), ya se encargan los propios fabricantes de realizar la versión nativa del software. Es lo que ha pasado con la suite Hancom Office, Magic, etc…

    Características de WINE:

    Soporte para la ejecución de programas DOS, Win 3.x y Win9x/NT/Win2000. (la mayoría de los controles Win32 están soportados).
    Uso opcional de DLL externas a Wine (p.e. las DLL originales del Windows).
    Gráficos a traves del X11 (lo que posibilitat la ejecución remota a través de servidores X), consola en modo texto.
    Bastante avanzado soporte del DirectX para juegos.
    Muy buen soporte del sonido y de dispositivos de entrada.
    Impresión: soporte de drivers nativos Win16 y soporte interno PostScript.
    Modems y dispositivos serie soportados.
    Winsock TCP/IP.
    Interfaz ASPI (SCSI): soporte de escanners, grabadoras de CD's , …
    Unicode, soporte de idiomas
    Depurador y registro configurable de mensajes
    Desktop-in-a-box or mixable windows

    Voy a explicar brevemente como realizar una instalación y configuración desde cero del Wine al mismo tiempo que os muestro un ejemplo práctico de su uso: la ejecución del programa de envío de mensajes cortos a móviles winsms de Azrael. (en espera de la versión nativa en Kylix del mismo ;-)

    Lo primero que tenemos que hacer es bajarnos la última versión del wine, podemos bajarnos el codigo fuente, o un paquete binario según nuestra distribución, yo voy a explicar el proceso en el caso de que optemos por la instalación a partir del código fuente.

    Para hacerlo, primeramente nos pasaremos por Wine Development HQ: http://www.winehq.com/, desde nos llevará a la dirección donde descargar la última versión liberada, por ejemplo, http://www.ibiblio.org/pub/Linux/ALPHA/wine/development/Wine-20020122.tar.gz

    Una vez descomprimido de la forma usual:

    tar zxvf Wine-20020122.tar.gz

    Nos creará un directorio, con el código fuente, listo para ser compilado, aunque antes tendremos que ejecutar el script configure
    $ cd wine-20020122
    $ ./configure

    Puede ocurrir, como en este caso que nos falte alguna libreria, como en este ejemplo:
    *** Note: You have cups runtime libraries, but no development
    *** libraries. Install the cups-devel package or whichever package
    *** contains cups.h to enable CUPS support in WINE.

    *** Note: Your system appears to have the FreeType 2 runtime libraries
    *** installed, but 'freetype-config' is not in your PATH. Install the
    *** freetype-devel package (or its equivalent on your distribution) to
    *** enable Wine to use TrueType fonts.

    En este caso no está informado que como no tenemos instaladas las librerias de desarrollo del CUPS ni del paquete freetype-devel, no tendremos soporte para ambas en Wine, aunque eso no impedirá la correcta compilación del mismo.
    Si todo ha ido bien, ahora si que podemos empezar a compilar:

    $ make depend && make

    Ahora como root, tendremos que realizar la instalación de nuestro recien compilado Wine:
    # make install

    Una vez instalado, el siguiente paso es la configuración del Wine, esta se basa en un fichero de texto, que se encuentra el directorio home del usuario, dentro de .wine. Lo mejor es copiar el que viene de ejemplo y luego modificarlo para adaptarlo a nuestro sistema.

    $ mkdir ~/.wine/
    cp documentation/samples/config ~/.wine/config

    Aquí os dejo los cambios que he realizado a ~/.wine/config para adaptarlo a mis necesidades:

    [Drive A]
    "Path" = "/floppy" <—
    "Type" = "floppy"
    "Label" = "Floppy"
    "Serial" = "87654321"
    "Device" = "/dev/fd0"

    [Drive C]
    "Path" = "/wine/c" <—-
    "Type" = "hd"
    "Label" = "MS-DOS"
    "Filesystem" = "win95"

    Lo que indica que la disquetera está en el directorio /floppy, tal y como se puede comprobar con:
    $ grep fd0 /etc/fstab
    /dev/fd0 /floppy auto noauto,user 0 0

    En cambio para la unidad principal de Wine, la típica unidad c: del winbugs, he creado el directorio /wine/c. Una vez en ejecución, este directorio y todo lo que tengamos en él, se comportara como si fuera realmente la unidad c:.
    De forma que cuando en el fichero ~/.wine/config tenemos algo como:
    [wine]
    "Windows" = "c:windows"
    "System" = "c:windowssystem"

    Realmente en mi máquina y con esta configuración se encuentra en /wine/c/windows/ y /wine/c/windows/system/.

    Por lo tanto necesitaremos crear cierta estructura en nuestro directorio /wine/c:

    cd /wine/c
    mkdir -p windows/system
    mkdir -p windows/Start Menu/Programs

    El campo "Type", puede tomar los siguientes valores: hd (disco duro o un directorio), cdrom (CD-ROM), floppy (disquetera) y network (Red).

    Una vez correctamente configurado, le siguiente paso será crear el tristemente famoso registro de winbugs, ejecutando:

    programs/regapi/regapi setValue < winedefault.reg

    Si no tenemos el programa regapi, lo que tendremos que hacer es compilarlo de la siguiente forma:
    $ cd programs/regapi
    $ make
    $ l regapi
    $ regapi -> ../../wine
    $ cd ../../
    $ programs/regapi/regapi setValue < winedefault.reg

    Esto lo que hace es crear el necesario registro directorio .wine del usuario en cuestión, tal y como podemos ver:
    $ l ~/.wine/system.reg
    -rw-r–r– 1 carlos users 16048 ene 26 16:15
    /home/carlos/.wine/system.reg

    Para verificar que todo funciona y esta correctamente configurado, podemos copiar el binario de la calculadora de windows y ver si realmente funciona o no:

    $ cp /mnt/dos/windows/calc.exe /wine/c/windows/
    $ wine calc
    o
    $ wine "c:windowscalc.exe"

    Por último, vamos a utilizar el Wine para ejecutar el excelente programa de envío de mensajes SMS a móviles desarrollado por Azrael; http://www.winsms.org en nuestro querido Linuz. Lo primero será bajarnos el winsms de la página web, por ejemplo del mirror gentileza de NetVicious: http://webs.ono.com/NetVicious/ayudasms.zip.

    Ahora lo descomprimimos y lo copiamos, por ejemplo a /wine/c/windows (que esta incluido en el Path, de forma que podemos ejecutarlo simplemente tecleando wine azrasms.exe

    $ unzip ayudasms.zip
    $ cp azrasms.exe /wine/c/azrasms.exe
    $ wine azrasms.exe

    Agradecer a Azrael, a NetVicious y todos los que han colaborado en este gran programa, que ahora también podemos disfrutar los usuarios de Linux gracias al proyecto WINE. :-)
    Azrael, ¿como vas con el Kylix? ;-)

    Enlaces relacionados:

    WINE: The Open Source Way to Run Windows Application. http://www.unixreview.com/documents/s=1781/urm0112j/0112j.htm
    Can WINE Ferment Move to Linux? (artículo en Wired): http://www.wired.com/news/business/0,1367,49719,00.html
    WinEnLinux by hackman: http://members.tripod.com/~rebeli0n/tec/winenlinux.txt
    Wine User Guide en formato pdf: ftp://ftp.ibiblio.org/pub/Linux/ALPHA/wine/development/wine-doc.pdf.gz
    WineX. Soporte del DirectX en Wine: http://www.transgaming.com/
    CodeWeavers: http://www.codeweavers.com/
    WinSMS de Azrael: http://www.winsms.org/

    Categories: Linux Tags: