ReceTasEusk61-70
HomePage | Zer da e-ghost? | Proiektuak | GhostWiki | Erremintak | Dokumentuak | Errezetak | Ghosteka | Ikastaroak | Estabaidak | Bilerak | Estekak | Prentsa | Kontaktua | Umorea | GhostLog | Ikasgaien Alternatibak | Gazteleraz
Contenido
Amamaren errezetak (61tik a 70ra)
- Atal honetan mundu guztiak dakizkien baina inork gogoratzen ez dituen ohiko trikimailu horiek ikusi ahal izango ditugu. Errezeta bat gehitu nahi baduzu, informa zaitez gure posta zerrendan nola egiten den. Nola egiten den jadanik jakinez gero, gehitu ezazu errezeta berria hemen.
- Errezetak, 1etik 10era
- Errezetak, 11tik 20ra
- Errezetak, 21etik 30era
- Errezetak, 31tik 40ra
- Errezetak, 41etik 50era
- Errezetak, 51tik 60ra
- Errezetak, 61etik 70era
- Errezetak, 71tik 80ra
Errezetak, 61etik 70era
#67._Errezeta
'Izenburua:' Renovar a mano el certificado SSL autofirmado de Apache.
'Egilea:' Pablo Garaizar, del debian-apache-ssl-howto.
Es fácil, siguiendo estos pasos:
1) Creamos una nueva clave para el certificado y la protegemos:
cd /etc/apache-ssl openssl genrsa -out txipinet.com.key 1024 chmod 600 txipinet.com.key
2) Creamos el certificado, indicando el número de días en el que expirará (3650 = 10 años):
openssl req -new -key txipinet.com.key -out txipinet.com.csr openssl x509 -req -days 3650 -in txipinet.com.csr -signkey txipinet.com.key -out txipinet.com.crt
3) Cambiamos el certificado antiguo por el nuevo, y reiniciamos apache:
mv apache.pem apache.pem.old cp txipinet.com.key apache.pem cat txipinet.com.crt >> apache.pem chmod 600 apache.pem /etc/init.d/apache-ssl restart
#66._Errezeta
'Izenburua:' Abrir una URL en una nueva pestaña de Mozilla Firefox, desde consola
'Egilea:' Alvaro Uría
Si queremos abrir desde consola una URL , y más concretamente en una pestaña del Mozilla Firefox que tenemos ya abierto, ejecutaremos:
~$ firefox -remote "openURL("http://www.e-ghost.deusto.es/",new-tab)"
Esta opción ( new-tab ) está disponible en Firefox a partir de las versiones 1.0.1 y 1.1
Un ejemplo rápido: abriendo todas las URLs que tenemos en los bookmarks.
#====/bin/sh==== dir=`ls ~/.mozilla/firefox/default.*/bookmarks.html` for a in $(lynx -dump file://$dir | sed -e 's/ +[[[0-9]]+. (http.+)/1/' | grep ^http) do firefox -remote "openURL("$a",new-tab)" || echo $a FALLÓ done
#65._Errezeta
'Izenburua:' Listar un directorio ordenado por tamaño
'Egilea:' Alvaro Uría
Muchos de nosotros conocemos el comando sort, pero al igual que otros comandos como cut, tr, grep, sed, etc. no lo explotamos demasiado. Justo justo, lo utilizamos para ordenadar por la primera columna. Pues bien, para ordenar por tamaño de ficheros, utilizaremos el siguiente comando:
~$ ls -l | sort +4n
Tenemos que recordar que se empieza a contar por la columna 0 (la primera de todas). Así que el tamaño de fichero, que corresponde con la 5ª columna, será la número 4.
Si queremos, además, decirle un segundo orden a seguir, por ejemplo, el nombre de los ficheros, haremos,
~$ ls -l | sort +4n +7
Puesto que la 8ª columna contiene los nombres de ficheros, y se númera como 7.
Si queremos ordenarlo de mayor a menor tamaño, tendremos que invertir la salida del resultado, y por tanto, utilizaremos el flag -r aplicado a los comandos anteriores. Es decir,
~$ ls -l | sort +4nr
#64._Errezeta
'Izenburua:' Como guardar un flujo multimedia (streaming) en disco
'Egilea:' Pablo Garaizar Sagarminaga
Cuando queremos grabarnos alguna charla/programa/video del neng que solo emiten en streaming o a través de un applet que nos redirige a una mms://recurso, podemos hacerlo así:
mplayer mms://server/video.wmv -dumpfile video.raw -dumpstream
#63._Errezeta
'Izenburua:' Instalar Java en Ubuntu (Debian)
'Egilea:' Eagle
Objetivo: Lograr una satisfactoria instalación de Java(TM) 2 SDK, que incluye la Virtual Machine.
'Como y donde lograr los programas necesarios:'
- Visitaremos http://java.sun.com/downloads/ y seleccionaremos Java 2 Platform, Standard Edition (J2SE) y una vez en esa página la opción J2SE 1.4.2 (o superior si la hubiera). Si hemos seguido bien los pasos llegaremos a una nueva página donde elegiremos el enlace Download J2SE SDK for Other Platforms que nos llevará a una última página donde, ahora ya sí, podremos descargar el programa (previo paso de aceptar la licencia, uf...). Elegiremos self-extracting file (j2sdk-142_07-linux-i586.bin, 34.72 MB) o superior si lo hubiera.
- Instalaremos los paquetes java-common y equivs. Podemos usar el Synaptic Package Manager que nos simplificará notablemente nuestra tarea. Es imprescindible que hayamos habilitado todos los servidores de apt-get. . Esto se realiza modificando el archivo /etc/apt/sources.list cuyo contenido es (en Ubuntu):
deb cdrom:Ubuntu 4.10 Warty Warthog - Preview i386 Binary-1 (20041020)/ unstable main restricted deb http://archive.ubuntu.com/ubuntu warty main restricted deb-src http://archive.ubuntu.com/ubuntu warty main restricted ## Uncomment the following two lines to add software from the 'universe' ## repository. ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## universe WILL NOT receive any review or updates from the Ubuntu security ## team. ##deb http://archive.ubuntu.com/ubuntu warty universe ##deb-src http://archive.ubuntu.com/ubuntu warty universe deb http://security.ubuntu.com/ubuntu warty-security main restricted deb-src http://security.ubuntu.com/ubuntu warty-security main restricted Hemos de modificar las líneas ##deb http://archive.ubuntu.com/ubuntu warty universe ##deb-src http://archive.ubuntu.com/ubuntu warty universe Dejándolas tal que así deb http://archive.ubuntu.com/ubuntu warty universe deb-src http://archive.ubuntu.com/ubuntu warty universe Guardamos los cambios y listos. Una vez instalado equivs podéis dejar el archivo como estaba.
'Proceso de instalación:'
- Creamos una carpeta temporal en /var/install/java
- Copiamos el archivo j2sdk-142_07-linux-i586.bin (o superior) a ésta carpeta
- Le damos atributos de ejecutable con:
chmod a+x j2sdk-142_07-linux-i586.bin
- Ejecutamos el programa:
./j2sdk-142_07-linux-i586.bin
- Leemos (karkarkar) la licencia y la aceptamos. Esto creará una carpeta llamada j2sdk1.4.2_07.
- -Moveremos esta carpeta a /usr/local/lib
- Crearemos un link que nos permitirá acceder más fácilmente:
ln -s /usr/local/lib/j2sdk1.4.2_07 /usr/local/lib/jdk
Hasta aquí fácil, ahora llega la madre del cordero:
- Como Ubuntu (Debian) no tiene instalador de paquetes para Sun's J2SE tenemos que crear unos paquetes engañosos para que el sistema reconozca Java.
- Creamos otra carpeta temporal:
cd /var/install/java mkdir pkg
- Copiaremos unos archivos que se instalaron junto a java-common para crear los paquetes mencionados anteriormente:
cp /usr/share/doc/java-common/dummy-packages/*.control /var/install/java/pkg
- Utilizamos equivs para la creación:
equivs-build java1-runtime-dummy.control equivs-build java2-compiler-dummy.control equivs-build java2-runtime-dummy.control equivs-build java-compiler-dummy.control equivs-build java-virtual-machine-dummy.control
Nótese que los nombres pueden variar ligeramente de una instalación a otra (consultar los archivos copiados a var/install/java/pkg). También es importante que observemos las indicaciones del sistema ya que podrían surgir errores debido a que el orden citado arriba no sea el adecuado a su máquina (contratiempo menor y de fácil solución con el método prueba error).
- Instalamos uno a uno todos los paquetes creados con el comando:
dpkg -i nombrePaqueteCreado.deb
Ya casi hemos terminado, sólo nos falta hacer los enlaces para que todo funcione:
- Ejecutar los siguientes comandos:
update-alternatives --verbose --install /usr/bin/java java /usr/local/lib/jdk/bin/java 500 update-alternatives --verbose --install --slave /usr/share/man/man1/java.1 java.1 /usr/local/lib/jdk/man/man1/java.1
- Verificamos todo con la orden:
java -version Y el sistema nos contestará con algo similar a: java version "1.4.2_07" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_07-b05) Java HotSpot(TM) Client VM (build 1.4.2_07-b05, mixed mode)
- Ahora podemos eliminar la carpeta temporal que usamos para la instalación (/var/install/java)
On egin diezaizuela========
'Revisión por Maski:'
java-package es un paquete de Debian que sirve para crear un paquete .deb a partir de los binarios de instalación. Basicamente sigue los pasos de Eagle pero de forma automática. Funciona con los Java Runtime Environments (JRE) y Java Development Kits (JDK) siguientes:
- Sun Microsystems(TM) 1.4 y 1.5 Standard Edition
- IBM(TM) 1.3 y 1.4 Standard Edition
- Blackdown Java-Linux 1.3 y 1.4 Standard Edition
Por tanto la instalación podría simplificarse a lo siguiente:
- Instalar el paquete java-package y sus dependencias
# apt-get install java-package
- Descargar el binario autoextraíble para Linux de la web de Sun (http://java.sun.com/downloads/), por ejemplo jdk-150_03-linux-i586.bin
- Ejecutar como usuario normal lo siguiente:
$ fakeroot make-jpkg jdk-150_03-linux-i586.bin
- Instalar el paquete .deb que se crea:
# dpkg -i sun-j2sdk1.51.5.0+update03i386.deb
Eso es todo. Si alguien tiene que hacer alguna corrección, no tiene más que editar el wiki.
#62._Errezeta
'Izenburua:' Configurar una tarjeta de red Wi-fi Intel(R)/Wireless 2100 (muchos portátiles centrino)
'Egilea:' Cymo
Esta tarjeta es la que tienen la mayoría de los centrino antiguos (primera generación) y funcionan para 802.11b (11Mbps) Mi portátil en concreto es un Compaq presario x1005 (por si a alguien le sirve, que no es para fardar).
Intel no ha liberado las especificaciones hard de la tarjeta y "dicen" estar desarrollando un driver... Je je je.
Estos pasos son los que he seguido bajo Debian 3 testing (es decir, sarge), con kernel 2.6.3. El driver está hecho por voluntarios, se llama IPW2100, y no está soportado dentro del kernel (al menos, no que yo sepa).
'0ºRequisitos:'
- Kernel 2.6 La serie 2.4 ya no están soportados por el driver (versiones antiguas, sí. En todo caso, buscan voluntarios para hacer backports : )
- Saber recompilar el kernel (y querer hacerlo).
'1º Instalar las fuentes del driver y el hotplug:'
# apt-get install ipw2100-source hotplug
Esto además instalará otro paquete, module-assistant, que nos vendrá bien luego. También hay que instalar el hotplug que necesitaremos luego.
Si no tenemos debian, o no queremos usar apt-get ¿? podemos descargar el driver desde la página:http://ipw2100.sourceforge.net/
'2º Comprobaciones de campo' Es necesario tener sysfs montado para que esto funcione. Puedes comprobarlo
# cat /etc/fstab | grep sysfs
Deberías tener una línea como esta:
none /sys sysfs defaults 0 0
'3º Recompilar el kernel'
Hay una receta (la número 13) que explica como hacerlo. Debería cambiarla porque los núcleos 2.6 son un poco distintos, pero... :P
Quizá no tengas que recompilar TODO el kernel si ya tenías las opciones que comentaremos activadas o, al menos las que no tienes, las puedes poner como módulos. Eso es cosa tuya. Yo lo pongo "para todo el mundo".
Recompilaremos el kernel, pero asegurándonos de activar todo esto primero:
Hay que activar el soporte para módulos. Existe una forma de empotrar el código del módulo dentro del kernel, de modo que se configure como una opción más del mismo. Yo no me he metido en esos fregados, si alguien se anima, puede mirar el documento en el que se basa esta receta, que allí lo mencionan: http://ipw2100.sourceforge.net/INSTALL
Para activar el soporte para módulos:
Loadable module support --> Enable loadable module support
Hay que activar el soporte para wireless. En mi kernel está en:
Device Drivers--> Networking Support Wireless Lan (non-hamradio) --> Wireless LAN drivers (non-hamradio) & Wireless Extensions
Si eres friki, puedes comprobarlo/modificarlo en el fichero .config, el "tag" es: CONFIGNETRADIO=y
Deberíamos activar la api criptográfica, puesto que los drivers querrán tirar de ella:
Cryptographic Options --> ARC4 cipher algorithm (CONFIGCRYPTOARC4) Library routines --> CRC32 (CONFIG_CRC32)
Si además queremos WPA:
Cryptographic Options --> Michael MIC (CONFIGCRYPTOMICHAEL_MIC) AES (CONFIGCRYPTOAES_586)
Los drivers de la tarjeta necesitan cargar en la misma, el firmware o código. Tranquilo, que no vas a romper nada, esto es lo "normal": se cargan en la tarjeta siempre. Pero al apagar el ordenador, se va dicho firmware. No es permanente. Luego diremos como se hace esto, de momento... hay que añadir soporte para hotplug en el kernel:
Device Drivers -> Generic Driver Options -> Hotplug firmware loading support
Vale, ahora toca recompilar el kernel.
/usr/src/linux# make
Probablemente quieras poner el nuevo kernel, con algo como esto (depende de si usas lilo o grub, o de donde guardes el kernel, etc...)
/usr/src/linux# cp arch/i386/boot/bzImage /vmlinuz lilo
'4º: Bajar el firmware y configurarlo '
Lo tenéis en: http://ipw2100.sourceforge.net/firmware.php Debéis tener una tarjeta Intel bla bla bla para poder descargarlo, y aceptar el acuerdo de licencia y bla bla bla. Si has llegado hasta aqui, podrás soportar una restricción más :(
Vale, con eso os bajáis un ficherito muy majo, algo como "ipw2100-fw-1.3.tgz". Hay que descomprimirlo en el directorio de firmware de hotplug (acordaos que hablamos de él antes). La ruta será normalmente esta:
/usr/lib/hotplug/firmware/
Para corroborarlo, podéis mirar el fichero
#less /etc/hotplug/firmware.agent
Cuando lo tengas claro:
/usr/lib/hotplug/firmware# tar zxvfp RUTAipw2100-fw-1.3.tgz
Donde "RUTA" es la ruta donde está el fichero de marras que os habéis descargado.
'5º: Compilar e instalar el nuevo módulo '
# cd /usr/src usr/src# tar zxvfp ipw2100-source.tar.gz
Nota: z = descomprimir gzip x = extraer v = verbose f = de un fichero p = permisos
Ahora la compilación en si:
usr/src# module-assistant ipw2100
Este mágico programa compila e instala el módulo, el solito.
Nota: a mi me dio un error al compilar la versión 1.0.5 que es la que traía Debian (fichero ipw2100.c, línea 183, algo de una constante string...). En la página antes comentada, se puede descargar la 1.1.0, que está marcada como "estable". Debian sid, ahora mismo, trae esa versión... :P
Para solucionar el problema de compilación hice lo siguiente:
'Solo si te da el mismo error que a mi :P '
/usr/src# mv ipw2100-source.tar.gz ipw2100-source.tar.gz.ceguera
Para que el module-assistant no me la liase Editar el fichero
/usr/modules/ipw2100/driver/ipw2100.c
Comentar la línea 183:
//MODULEVERSION(DRVVERSION);
Al parecer mi compilador no sabía que macro era MODULE_VERSION... ¿?
' Fin de como corregí el error que me dio'
'6º: Probar el driver: '
Crear las dependencias por si acaso
# depmod -a
'NOTA IMPORTANTE:' El nombre del dispositivo wireless no es wlan0, sino eth1 (suponiendo que ya tengas en eth0 la ethernet... :P)
Por ejemplo yo he añadido a /etc/network/interfaces
auto eth1 iface eth1 inet static address 192.168.2.101 netmask 255.255.255.0 broadcast 192.168.2.255 gateway 192.168.2.1
Reiniciar (por el tema del kernel, y tal)
# reboot
En principio se habrá cargado solito, si no:
# modprobe ipw2100
Probar con un ping
# ping 192.168.2.1 (o lo que sea)
#61._Errezeta
'Izenburua:' Crear una lista de correo con una cuenta POP o IMAP.
'Egilea:' Rubén Gómez (Yuki)
Llevaba bastante tiempo queriendo hacer una lista de correo para los amigos, ya que si queriamos mandar un mail a tod@s teníamos que escribir todas las cuentas, no olvidarnos de nadie y era un poco lio. Por lo que decidí investigar en cómo hacer una lista de correo facil y sencilla XD
'Nota:'
- Yo he usado los paquetes de Debian Testing, por lo que si los compilais tendreis que mirar bien el configure.
- A partir de ahora "yuki" será el nombre de usuario que ejecutará todo esto.
'Nota para gmail:'
Si usamos gmail tendremos que configurar la cuenta para que se pueda usar POP3 para coger los mails. Vamos a Settings -> Forwarding and POP -> Enable POP for all mail, y en "2. When messages are accessed with POP" ponemos "archive Gmail's copy" o "trash Gmail's copy" (la otra opción no vale).
'Qué necesitamos?'
- Una cuenta de correo en algún servidor donde poder acceder por POP3 o IMAP (mis ejemplos serán con una cuenta de euskaltel y las tán conocidas gmail)
- Exim : Servidor SMTP (An MTA (Mail Transport Agent))
- Fetchmail : Para coger el correo del servidor. (SSL enabled POP3, APOP, IMAP mail gatherer/forwarder)
- Fetchmail-ssl : Para que fetchmail use SSL.
- Fetchmailconf : Para configurar fetchmail facilmente :D
- Procmail : Para procesar los correos que nos llegan. (Versatile e-mail processor)
'Qué vamos a hacer?'
Voy a explicar por encima cómo funcionan los emails en GNU/Linux (se aceptan correcciones ;-) Cuando cogemos un mail desde una cuenta de POP3 con fetchmail se lo pasa generalmente a /usr/sbin/sendmail, que en nuestro caso es Exim, para que este lo deje en /var/mail/yuki. Antes de que los deje, es el momento en que aprovecharemos para filtrar los mails con el propio Exim (si, Exim tiene posibilidad de filtrar los mails :-o). Algunos los dejaremos en ~/Mails/guardar , y otros se pasarán a procmail. Los que se pasen a procmail serán distribuidos de nuevo. Aprobechando el filtro de Exim lo que hacemos es no tener que pasar todos los mails a Procmail, por lo que puede ser más rapido, y no complicarnos con las reglas de filtrado de Procmail.
'Empezamos: '
'1)'Empezaremos con la configuración del Exim. Como root editamos /etc/exim/exim.conf y cambiamos la variable qualify_domain para que sea de este estilo
qualify_domain = euskalnet.net
Con ello hacemos que los mails que salgan del ordenador lleven este dominio en vez de "yuki@hostname". (puede que haya otra manera de hacerlo, pero no lo sé :p)
'2)'Exim mira la configuración que tenemos en ~/.forward para ver qué tiene que hacer con los mails. Pondremos lo siguiente en este fichero:
# Exim filter if error_message then finish endif if $headerto: contains "micorreo@gmail.com" then pipe "$home/.lista_correo.sh" else save /home/yuki/Mails/guardar endif
Importante la primera linea "# Exim filter", que sirve para que Exim lo reconozca. Luego lo que hace es comprobar si el "To:" del mail contiene "micorreo@gmail.com". Si es así se ejecutará /home/yuki/.listacorreo.sh, y si no se guardará en /home/yuki/Mails/guardar.
'3)'~/.lista_correo.sh es un shell script que contiene
#====/bin/bash==== formail -i "Mail-Followup-To: micorreo@gmail.com" | formail -i "Reply-to: micorreo@gmail.com" | procmail ~/.procmail-mi_correo
Lo que hace es añadirle al mail que se le pase la cabecera "Mail-Followup-To" y "Reply-to", para que al responder el mail lo responda a la lista y no a la persona que lo ha mandado. Y despues se le pasará a procmail, que será ejecutado con el fichero de configuración ~/.procmail-mi_correo.
'4)'El fichero ~/.procmailrc-mi_correo contiene lo siguiente
:0c ==== merry@hobitton.com==== :0c ==== pippin@hobitton.com==== :0c ==== sam@hobitton.com==== :0 ==== bilbo@hobitton.com====
Que lo que hace es mandar una copia del mail (por eso la 'c') a cada cuenta de correo que hemos puesto.
'5)'El fichero de configuración de fetchmail para que recoja los mails del servidor de correo. El fichero es ~/.fetchmailrc
set logfile "/home/yuki/.fetchmail.log" # fichero de log set postmaster "yuki" set daemon 300 #para que se compruebe el correo cada 5 minutos #ejemplo para gmail poll pop.gmail.com with proto POP3 port 995 user 'mi_correo@gmail.com' there with password 'password' options fetchall ssl #ejemplo para euskaltel poll correo.euskaltel.es with proto IMAP user 'mi_correo' there with password 'password'
La opción "daemon" es para que se ejecute como demonio cada 5 minutos, y "postmaster" es para enviar un mail con los fallos al usuario especificado.
'6)'Y por último, ejecutamos fetchmail:
yuki@okinawa:~$ fetchmail