<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hiparco &#187; GNU/Linux</title>
	<atom:link href="http://guimi.net/blogs/hiparco/category/gnulinux/feed/" rel="self" type="application/rss+xml" />
	<link>http://guimi.net/blogs/hiparco</link>
	<description>Recetas y trucos de Linux e informática en general</description>
	<lastBuildDate>Mon, 23 Jan 2012 13:42:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Instalación de firmware en Debian</title>
		<link>http://guimi.net/blogs/hiparco/instalacion-de-firmware-en-debian/</link>
		<comments>http://guimi.net/blogs/hiparco/instalacion-de-firmware-en-debian/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 12:18:50 +0000</pubDate>
		<dc:creator>Güimi</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://guimi.net/blogs/hiparco/?p=719</guid>
		<description><![CDATA[[Este apartado es un resumen de una entrada de Raphael Hertzog. Si el artículo todavía está disponible recomiendo ir al original.]
Una duda habitual al instalar un GNU/Linux es el tipo de procesador del que se dispone. En un PC con linux (por ejemplo arrancando con un Live-CD) podemos hacer:
$ grep &#8220;^flags&#8221; /proc/cpuinfo &#124; grep -q [...]]]></description>
			<content:encoded><![CDATA[<p>[Este apartado es un resumen de una <a href="http://raphaelhertzog.com/2011/03/14/missing-firmware-in-debian-learn-how-to-deal-with-the-problem/">entrada</a> de <a href="http://raphaelhertzog.com">Raphael Hertzog</a>. Si el artículo todavía está disponible recomiendo ir al original.]</p>
<p>Una duda habitual al instalar un GNU/Linux es el tipo de procesador del que se dispone. En un PC con linux (por ejemplo arrancando con un Live-CD) podemos hacer:<br />
<font class="comando">$ grep &#8220;^flags&#8221; /proc/cpuinfo | grep -q &#8221; lm &#8221; &#038;&#038; echo &#8220;amd64&#8243; || echo &#8220;i386&#8243;</font></p>
<p>Puede ocurrir que al instalar Debian un equipo, una parte del hardware no funcione correctamente por falta del correspondiente firmware (o el uso de uno que no es totalmente adecuado). Una opción es obtener de Raphael Hertzog un <a href="http://raphaelhertzog.com/products/debian-cd-dvd/">disco de Debian con firmware</a>.</p>
<p>Otra opción es realizar una instalación básica de Debian y posteriormente verificar el firmware necesario e instalarlo.<br />
Si es necesario, pueden bajarse paquetes desde otro equipo desde la <a href="http://www.debian.org/distrib/packages">web de Debian</a>.<br />
Después se instala con <font class="comando"># dpkg -i <em>paquete</em></font></p>
<p>Si el equipo necesita algún firmware, durante la instalación, al actualizar el kernel o al hacer un update-initramfs aparecerán mensajes diciendo:<br />
&#8220;<em>may require additional firmware</em>&#8221; o &#8220;<em>Failed to load firmware</em>&#8221; o &#8220;<em>Possible missing firmware</em>&#8220;.<br />
Podemos buscar más mensajes mediante:<br />
<font class="comando"># dmesg | grep firmware</font><br />
<font class="comando"># grep firmware /var/log/installer/*</font></p>
<p>Por ejemplo podemos encontrar:</p>
<pre class="codigo">e100: eth0: e100_request_firmware: Failed to load firmware "e100/d101m_ucode.bin": -2</pre>
<p>El firmware que requiere el módulo e100 es:<br />
<font class="comando">$ modinfo -F firmware /lib/modules/2.6.32-5-amd64/kernel/drivers/net/e100.ko</font></p>
<pre class="codigo">e100/d102e_ucode.bin
e100/d101s_ucode.bin
e100/d101m_ucode.bin</pre>
<p>Lo mejor es regenerar la imagen de inicio:<br />
<font class="comando"># update-initramfs</font></p>
<pre class="codigo">update-initramfs: Generating /boot/initrd.img-2.6.32-5-amd64
W: Possible missing firmware /lib/firmware/e100/d102e_ucode.bin for module e100
W: Possible missing firmware /lib/firmware/e100/d101s_ucode.bin for module e100
W: Possible missing firmware /lib/firmware/e100/d101m_ucode.bin for module e100</pre>
<p>Una vez visto el firmware que nos falta averiguamos dónde obtenerlo y lo instalamos:<br />
<font class="comando">$ apt-cache search d101m_ucode.bin</font></p>
<pre class="codigo">firmware-linux-nonfree - Binary firmware for various drivers in the Linux kernel</pre>
<p><font class="comando"># aptitude install firmware-linux-nonfree</font></p>
<p>Para ver todos los paquetes de firmware disponibles:<br />
<font class="comando">$ aptitude search firmware</font></p>
<p>El firmware se instala en:</p>
<ul>
<li>/lib/firmware/$(uname -r)</p>
<li>/lib/firmware
<li>/usr/local/lib/firmware
<li>/usr/lib/hotplug/firmware
</ul>
]]></content:encoded>
			<wfw:commentRss>http://guimi.net/blogs/hiparco/instalacion-de-firmware-en-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuración de sudo</title>
		<link>http://guimi.net/blogs/hiparco/configuracion-de-sudo/</link>
		<comments>http://guimi.net/blogs/hiparco/configuracion-de-sudo/#comments</comments>
		<pubDate>Thu, 23 Jun 2011 11:01:42 +0000</pubDate>
		<dc:creator>Güimi</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>

		<guid isPermaLink="false">http://guimi.net/blogs/hiparco/?p=644</guid>
		<description><![CDATA[Autorizamos algunos usuarios a realizar tareas administrativas
# vi /etc/sudoers
# DEFAULTS
# env_reset : resetea las variables de entorno antes de ejecutar
# insults : cuando te equivocas de contrase&#241;a
#+    te "insulta" ir&#243;nicamente
# timestamp_timeout=5 : una vez pones la contrase&#241;a correctamente,
#+    no te la vuelve a pedir en 5 minutos (0 : [...]]]></description>
			<content:encoded><![CDATA[<p>Autorizamos algunos usuarios a realizar tareas administrativas<br />
<font class="comando"># vi /etc/sudoers</font></p>
<pre class="codigo"># DEFAULTS
# env_reset : resetea las variables de entorno antes de ejecutar
# insults : cuando te equivocas de contrase&ntilde;a
#+    te "insulta" ir&oacute;nicamente
# timestamp_timeout=5 : una vez pones la contrase&ntilde;a correctamente,
#+    no te la vuelve a pedir en 5 minutos (0 : pedir siempre)
# lecture=once : solo te avisa sobre la responsabilidad una vez por sesi&oacute;n
# passwd_tries=2 : permite 2 intentos para la contrase&ntilde;a
# rootpw : pide la clave de root en vez de la del usuario

Defaults env_reset, insults, timestamp_timeout=5, lecture=once, passwd_tries=2

# User alias specification
User_Alias ADMINS=guimi

# Cmnd alias specification
Cmnd_Alias APT = /usr/bin/apt-get, /usr/bin/dpkg, /usr/bin/aptitude
Cmnd_Alias APAGADO = /sbin/shutdown, /sbin/halt, /sbin/reboot
Cmnd_Alias RED = /usr/bin/kismet, /sbin/iwlist, /sbin/ifuop, /sbin/ifdown, /sbin/wpa_cli
Cmnd_Alias PROPIOS = /root/bin/SCRIPT1

# User privilege specification
root	ALL=(ALL) ALL
# Si el usuario admin esta en el grupo 'sudo' no le pedira clave
admin	ALL=(ALL) ALL

# Indicamos expresamente que no solicite clave para estos comandos
ADMINS ALL= NOPASSWD: APT
ADMINS ALL= NOPASSWD: APAGADO
ADMINS ALL= NOPASSWD: RED
ADMINS ALL= NOPASSWD: PROPIOS
</pre>
<p><span class="keywords">sudo</span></p>
]]></content:encoded>
			<wfw:commentRss>http://guimi.net/blogs/hiparco/configuracion-de-sudo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Algunos paquetes interesantes en GNU/Linux</title>
		<link>http://guimi.net/blogs/hiparco/algunos-paquetes-interesantes-en-gnulinux/</link>
		<comments>http://guimi.net/blogs/hiparco/algunos-paquetes-interesantes-en-gnulinux/#comments</comments>
		<pubDate>Tue, 21 Jun 2011 12:06:10 +0000</pubDate>
		<dc:creator>Güimi</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Software Libre]]></category>

		<guid isPermaLink="false">http://guimi.net/blogs/hiparco/?p=620</guid>
		<description><![CDATA[Todos los paquetes están disponibles en las principales distribuciones.


Servicios


apache2
Servidor web


cups-pdf
A&#241;ade una impresora virtual CUPS que genera PDFs


mysql-server
Servidor de bases de datos


openssh-server
Servidor de ssh


openntpd
Sincronizacion de reloj (servicio inseguro)


phpmyadmin
Gestor PHP de MySQL


sane-utils xsane
Herramientas para esc&#225;neres


vnc4server
Servidor de vnc (X remoto)


Sistema y herramientas de l&#237;nea de comandos


linux-image-686-bigmem
N&#250;cleo compilado para usar mucha RAM (>2GB).


linux-headers-`uname -r`
Las cabeceras del n&#250;cleo. Necesarias para [...]]]></description>
			<content:encoded><![CDATA[<p>Todos los paquetes están disponibles en las principales distribuciones.</p>
<table border="1" align="center">
<tr>
<td colspan="2" bgcolor="#9FC7E7"><b>Servicios</b></td>
</tr>
<tr>
<td width="30%">apache2</td>
<td width="70%">Servidor web</td>
</tr>
<tr>
<td>cups-pdf</td>
<td>A&ntilde;ade una impresora virtual CUPS que genera PDFs</td>
</tr>
<tr>
<td>mysql-server</td>
<td>Servidor de bases de datos</td>
</tr>
<tr>
<td>openssh-server</td>
<td>Servidor de ssh</td>
</tr>
<tr>
<td>openntpd</td>
<td>Sincronizacion de reloj (servicio inseguro)</td>
</tr>
<tr>
<td>phpmyadmin</td>
<td>Gestor PHP de MySQL</td>
</tr>
<tr>
<td>sane-utils xsane</td>
<td>Herramientas para esc&aacute;neres</td>
</tr>
<tr>
<td>vnc4server</td>
<td>Servidor de vnc (X remoto)</td>
</tr>
<tr>
<td colspan="2" bgcolor="#9FC7E7"><b>Sistema y herramientas de l&iacute;nea de comandos</b></td>
</tr>
<tr>
<td>linux-image-686-bigmem</td>
<td>N&uacute;cleo compilado para usar mucha RAM (>2GB).</td>
</tr>
<tr>
<td>linux-headers-`uname -r`</td>
<td>Las cabeceras del n&uacute;cleo. Necesarias para compilar m&oacute;dulos.</td>
</tr>
<tr>
<td>build-essential</td>
<td>Paquete b&aacute;sico para compilar.</td>
</tr>
<tr>
<td>acct</td>
<td>Grupo de herramientas para &#8220;auditar&#8221; login, procesos y comandos</td>
</tr>
<tr>
<td>apt-file</td>
<td>El poder de APT orientado a los ficheros de los paquetes</td>
</tr>
<tr>
<td>dosfstools</td>
<td>Utilidades para manejar FAT</td>
</tr>
<tr>
<td>less</td>
<td>Paginador</td>
</tr>
<tr>
<td>lshw lsof usbutils</td>
<td>Listan el HW, los ficheros abiertos, los dispositivos pci y los dispositivos usb</td>
</tr>
<tr>
<td>lynx w3mlinks2</td>
<td>Navegadores en consola</td>
</tr>
<tr>
<td>mc</td>
<td>Midnight Commander. Gestor de ficheros para l&iacute;nea de comandos con muchas posibilidades</td>
</tr>
<tr>
<td>module-assistant modconf</td>
<td>Configuradores (opcionales) de m&oacute;dulos</td>
</tr>
<tr>
<td>ip nmap nbtscan fping</td>
<td>Herramientas / Analizadores de redes</td>
</tr>
<tr>
<td>iftop</td>
<td>Monitoriza el uso de interfaces de red.</td>
</tr>
<tr>
<td>renameutils</td>
<td>Utilidades de renombrado masivo. Incluye qmv, imv y qcp</td>
</tr>
<tr>
<td>screen</td>
<td>Multiplexor de terminales (Gestor de conexiones)</td>
</tr>
<tr>
<td>testdisk</td>
<td>Verificador de discos</td>
</tr>
<tr>
<td>tofrodos convmv</td>
<td>Conversores. Por ejemplo:<br />
									<font class="comando">$ convmv -f iso-8859-15 -t UTF-8 -r * &#8211;notest</font><br />
									Eso convertiria el nombre del fichero. Para convertir el contenido hay que usar iconv (viene en libc6):<br />
									<font class="comando">$ iconv fichero.in -f iso-8859-15 -t utf-8 -o fichero.out</font></td>
</tr>
<tr>
<td>unrar-free</td>
<td>Descompresor de rar</td>
</tr>
<tr>
<td>vim</td>
<td>Vi IMproved</td>
</tr>
<tr>
<td>watch</td>
<td>Ejecuta repetidamente un comando. Por ejemplo watch cat /proc/mdstat permite seguir la sincronizacion de un RAID.</td>
</tr>
<tr>
<td>zgv fbi</td>
<td>Visores de imagenes en framebuffer</td>
</tr>
<tr>
<td>cowsay fortunes-es</td>
<td>Citadores, a combinar con <a href="http://www.guimi.net/datos/tec-docs/scripts/fortunecow.sh">fortunecow.sh</a></td>
</tr>
<tr>
<td>vrms</td>
<td>Muestra los paquetes no libres instalados en el sistema</td>
</tr>
<tr>
<td>imagemagick</td>
<td><a href="http://guimi.net/blogs/hiparco/trabajar-con-imagenes-desde-el-prompt/">Manipulaci&oacute;n de im&aacute;genes desde la l&iacute;nea de comandos</a></td>
</tr>
<tr>
<td>pdftk</td>
<td><a href="http://guimi.net/blogs/hiparco/trabajar-con-pdfs-desde-el-prompt/">Manipulaci&oacute;n de PDFs desde la l&iacute;nea de comandos</a></td>
</tr>
<tr>
<td>console-data console-tools</td>
<td>Permiten ajustar los par&aacute;metros de la consola</td>
</tr>
<tr>
<td>Otras herramientas simples de hack como arping, bmon, icmpinfonetstat-nat, cutter, sacnlogd, MTR, bing</td>
<td>Un articulillo sobre <a href="http://www.epzylon.com.ar/index.php?entry=entry061207-095853" class="externo">herramientas simples de hack</a> en epzylon</td>
</tr>
<tr>
<td colspan="2" bgcolor="#9FC7E7"><b>Herramientas de Escritorio</b></td>
</tr>
<tr>
<td>alacarte</td>
<td>Editor de men&uacute;s de Gnome</td>
</tr>
<tr>
<td>gdm-themes</td>
<td>Temas de entrada del gestor de inicio de Gnome</td>
</tr>
<tr>
<td>gnome-audio</td>
<td>Sonidos de Gnome</td>
</tr>
<tr>
<td>gnomebaker k3b</td>
<td>Grabadores de CD/DVD</td>
</tr>
<tr>
<td>gftp</td>
<td>Cliente FTP</td>
</tr>
<tr>
<td>gsfonts-other ttf-freefont</td>
<td>Fuentes para GUI</td>
</tr>
<tr>
<td>gthumb</td>
<td>Visor de imagenes mejor que el que viene por defecto en Gnome</td>
</tr>
<tr>
<td>gtodo</td>
<td>Sencillo gestor de tareas</td>
</tr>
<tr>
<td>iceweasel iceweasel-gnome-support iceweasel-l10n-es-es</td>
<td>Navegador web</td>
</tr>
<tr>
<td>icedove icedove-gnome-support icedove-l10n-es-es iceowl iceowl-extension</td>
<td>Cliente de correo-e y calendario</td>
</tr>
<tr>
<td>openoffice.org openoffice.org-l10n-es openoffice.org-help-es openoffice.org-gtk openoffice.org-kde</td>
<td>Paquete ofim&aacute;tico en espa&ntilde;ol</td>
</tr>
<tr>
<td>xplanet xplanet-images</td>
<td>Genera imagenes del sistema solar. Incluye salvapantallas.<br />
											xplanet -vroot -wait 1 -timewarp 90000 -label -origin moon</td>
</tr>
<tr>
<td colspan="2" bgcolor="#9FC7E7"><b>Herramientas multimedia</b></td>
</tr>
<tr>
<td>amarok</td>
<td>EL reproductor de m&uacute;sica</td>
</tr>
<tr>
<td>BIG (blender, inkscape, gimp (+plugin <a href="http://www.shallowsky.com/software/pandora/" class="externo">pandora</a>))</td>
<td>Dise&ntilde;o gr&aacute;fico.</td>
</tr>
<tr>
<td>liblame0 gstreamer0.10-lame</td>
<td>Librerias MP3</td>
</tr>
<tr>
<td>lsdvd</td>
<td>Describe un dvd</td>
</tr>
<tr>
<td>kino</td>
<td>Permite pasar videos de una c&aacute;mara al ordenador.</td>
</tr>
<tr>
<td>dvdstyler</td>
<td>Permite crear DVDs</td>
</tr>
<tr>
<td>k9copy</td>
<td>Copias de DVD de video</td>
</tr>
<tr>
<td>soundconverter flac lame mp3splt audacity</td>
<td>Herramientas de audio</td>
</tr>
<tr>
<td>tagtool id3ed</td>
<td>Gestion de etiquetas ID3 (mp3) (grafico y comando)</td>
</tr>
<tr>
<td>xine-ui mplayer libdvdcss w32codecs/w64codecs transcode avidemux subtitleeditor lsdvd <a href="http://guimi.net/blogs/hiparco/uso-de-mencoder/">mencoder</a></td>
<td>Herramientas de video</td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://guimi.net/blogs/hiparco/algunos-paquetes-interesantes-en-gnulinux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configurar juego de caracteres (charset) en LAMP (Linux, Apache, MySQL, PHP)</title>
		<link>http://guimi.net/blogs/hiparco/configurar-juego-de-caracteres-charset-en-lamp-linux-apache-mysql-php/</link>
		<comments>http://guimi.net/blogs/hiparco/configurar-juego-de-caracteres-charset-en-lamp-linux-apache-mysql-php/#comments</comments>
		<pubDate>Mon, 20 Jun 2011 09:00:11 +0000</pubDate>
		<dc:creator>Güimi</dc:creator>
				<category><![CDATA[BBDD]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Redes]]></category>
		<category><![CDATA[Software Libre]]></category>

		<guid isPermaLink="false">http://guimi.net/blogs/hiparco/?p=614</guid>
		<description><![CDATA[Instalamos los paquetes necesarios:
# aptitude install apache2 mysql-server php5
Modificamos la configuraci&#243;n de apache:
# vi /etc/apache2/conf.d/charset
...
AddDefaultCharset       UTF-8
...


Modificamos la configuraci&#243;n de PHP:
# vi /etc/php5/apache2/php.ini
...
default_charset = "utf8"
...

En la cabecera de las p&#225;ginas indicar:
...
&#60;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&#62;
...

Y en los scripts PHP de conexi&#243;n:
...
$sql_script("SET NAMES 'utf8'");
...


Modificamos la configuraci&#243;n de MySQL:
# vi /etc/mysql/my.cnf
...
language  [...]]]></description>
			<content:encoded><![CDATA[<p>Instalamos los paquetes necesarios:<br />
<font class="comando"># aptitude install apache2 mysql-server php5<br /></font><br />
Modificamos la configuraci&oacute;n de apache:<br />
<font class="comando"># vi /etc/apache2/conf.d/charset<br /></font></p>
<pre class="codigo">...
AddDefaultCharset       UTF-8
...
</pre>
<p>
Modificamos la configuraci&oacute;n de PHP:<br />
<font class="comando"># vi /etc/php5/apache2/php.ini<br /></font></p>
<pre class="codigo">...
default_charset = "utf8"
...
</pre>
<p>En la cabecera de las p&aacute;ginas indicar:</p>
<pre class="codigo">...
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
...
</pre>
<p>Y en los scripts PHP de conexi&oacute;n:</p>
<pre class="codigo">...
$sql_script("SET NAMES 'utf8'");
...
</pre>
<p>
Modificamos la configuraci&oacute;n de MySQL:<br />
<font class="comando"># vi /etc/mysql/my.cnf<br /></font></p>
<pre class="codigo">...
language    = /usr/share/mysql/spanish
...
</pre>
<p>
Y reiniciamos los servicios:<br />
<font class="comando"># /etc/init.d/apache2 restart<br />
# /etc/init.d/mysql restart<br /></font><br />
</p>
<p>En caso de tener una BB.DD. en otra codificaci&oacute;n como iso-8859-1, conviene exportarla a un fichero de texto, convertir el fichero con &#8220;<font class="comando">iconv bbdd.sql -f iso-8859-15 -t utf-8 -o bbdd_utf8.sql</font>&#8221; y volver a importarla.</p>
<p><span class="keywords"><b>juego de caracteres, charset, Linux, Apache, MySQL, PHP</b></span></p>
]]></content:encoded>
			<wfw:commentRss>http://guimi.net/blogs/hiparco/configurar-juego-de-caracteres-charset-en-lamp-linux-apache-mysql-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DNIe en Debian GNU/Linux Squeeze</title>
		<link>http://guimi.net/blogs/hiparco/dnie-en-debian-gnulinux-squeeze/</link>
		<comments>http://guimi.net/blogs/hiparco/dnie-en-debian-gnulinux-squeeze/#comments</comments>
		<pubDate>Tue, 14 Jun 2011 10:36:07 +0000</pubDate>
		<dc:creator>Güimi</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[seguridad]]></category>

		<guid isPermaLink="false">http://guimi.net/blogs/hiparco/?p=585</guid>
		<description><![CDATA[Este artículo muestra cómo instalar el DNIe en Debian GNU/Linux Squeeze.
Para instalar el DNIe en Debian Lenny y en Ubuntu Karmic Koala visitar el siguiente artículo: DNIe en GNU/Linux.
Una vez instalado un lector de DNI-e, también nos sirve para utilizar tarjetas criptográficas CardOs M4 como las que utiliza por ejemplo la Comunidad Valenciana a través [...]]]></description>
			<content:encoded><![CDATA[<p>Este artículo muestra cómo instalar el DNIe en <a href="http://www.debian.org" class="externo">Debian GNU/Linux Squeeze</a>.</p>
<p>Para instalar el DNIe en <a href="http://www.debian.org" class="externo">Debian Lenny</a> y en <a href="http://www.ubuntu.com" class="externo">Ubuntu Karmic Koala</a> visitar el siguiente artículo: <a href="http://guimi.net/blogs/hiparco/dnie-en-gnulinux/">DNIe en GNU/Linux</a>.</p>
<p>Una vez instalado un lector de DNI-e, también nos sirve para <a href="http://guimi.net/blogs/hiparco/tarjeta-cardos-m4-en-gnulinux/">utilizar tarjetas criptográficas CardOs M4</a> como las que utiliza por ejemplo la Comunidad Valenciana a través de la <a href="http://www.accv.es/" class="externo">ACCV</a>.</p>
<p>El DNI electónico o DNIe se puede hacer funcionar en GNU/Linux, tanto <b>para identificarse</b> en webs como <strong>para firmar documentos</strong> todo con <b>plena validez legal</b>. El problema es que a la hora de hacer los drivers hubo varias chapuzas, problemas con las licencias libres, utilización de librerías incorrectas&#8230; Así que para instalarlo en Debian Squeeze hace falta utilizar un poco de magia ;-) Que es un modo más bonito de decir que hay que parchear la instalación para que funcionen los paquetes.</p>
<p><center><img src="/imgs/blog/dnie/logo-dni-electronico.jpg" alt="DNIe" /> <img src="/imgs/blog/dnie/DNIe_75.png" alt="DNIe" /></center><br />
No hay que olvidar que el DNIe tiene sus limitaciones y pegas de seguridad. (Para los &#8220;paranoicos&#8221; se recomienda utilizar el DNIe únicamente desde sistemas de solo lectura como un CD con <a href="http://www.knoppix.net" class="externo">Knoppix</a>).<br />
Tampoco hay que olvidar que una firma &#8220;normal&#8221; es mucho más facil de falsificar que una firma electrónica, pese a que ninguna sea totalmente segura.<br />
&nbsp;<br />
Las siguientes instrucciones se han probado en <a href="http://www.debian.org" class="externo">Debian Squeeze</a> con un lector <a href="http://c3po.es/ltc31.html" class="externo">C3PO LTC31</a> (de venta en las oficinas de correos por 19,90 &euro;), con un &#8220;<a href="http://www.bit4id.com/" class="externo">miniLector Bit4id</a>&#8221; del <a href="http://www.planavanza.es/" class="externo">plan avanza2</a> (es un <a href="http://www.acs.com.hk/index.php?pid=product&#038;id=ACR38" class="externo">Advanced Card Systems ACR38-U</a> pero con una caja blanca) y con un lector <a href="http://www.hidglobal.com/prod_detail.php?prod_id=186">Omnikey 3021</a>.<br />
<center><img src="/imgs/blog/dnie/C3PO_LTC31.jpg" alt="C3PO_LTC31" /> <img src="/imgs/blog/dnie/ACS_ACR38-U.jpg" alt="ACS_ACR38-U" /> <img src="/imgs/blog/dnie/omnikey_3021.jpg" alt="Omnikey 3021" /></center><br />
&nbsp;</p>
<h2>INSTALACIÓN DEL LECTOR</h2>
<p>Básicamente <b>vamos a instalar los paquetes de Debian Lenny en nuestro Squeeze</b>.</p>
<pre class="codigo">$ wget http://www.dnielectronico.es/descargas/PKCS11_para_Sistemas_Unix/1.4.6.Debian_Lenny_32/Debian_Lenny_opensc-dnie_1.4.6-2_i386.deb.tar</pre>
<p>Para hacerlos funcionar necesitaremos un par de librerías del repositorio de Lenny:</p>
<pre class="codigo">$ wget http://ftp.es.debian.org/debian/pool/main/libt/libtool/libltdl3_1.5.26-4+lenny1_i386.deb
$ wget http://ftp.es.debian.org/debian/pool/main/o/openct/libopenct1_0.6.14-3_i386.deb</pre>
<p>Instalamos los paquetes:</p>
<pre class="codigo">$ tar xvf Debian_Lenny_opensc-dnie_1.4.6-2_i386.deb.tar
libopensc2_0.11.7-7_i386.deb
opensc-dnie_1.4.6-2_i386.deb
opensc_0.11.7-7_i386.deb
# dpkg -i libltdl3_1.5.26-4+lenny1_i386.deb
# dpkg -i libopenct1_0.6.14-3_i386.deb
# dpkg -i libopensc2_0.11.7-7_i386.deb
# dpkg -i opensc_0.11.7-7_i386.deb
# aptitude install pinentry-gtk2
# dpkg -i opensc-dnie_1.4.6-2_i386.deb
<font class="comentario"># Bloqueamos los paquetes
#+ para que no se actualicen, ya que los de la distribución son
#+ más modernos pero el DNIe no funciona con ellos</font>
# aptitude hold libltdl3 libopenct1 libopensc2 opensc opensc-dnie
</pre>
<p>&nbsp;<br />
Nos indica que hemos de registrar el módulo PKCS#11 en iceweasel/firefox utilizando el enlace que nos crea en el menú principal del escritorio en &#8220;<i>Oficina-> Registrar módulo DNIe PKCS#11</i>&#8220;.<br />
Indicamos que confiamos en la nueva Autoridad Certificadora (CA) para las tres posibilidades.<br />
&nbsp;<br />
Podemos comprobar si el sistema reconoce correctamente el lector con el comando &#8220;pcsc_scan&#8221; y probando a introducir y sacar el DNIe (u otras tarjetas similares):</p>
<pre class="codigo"># aptitude install pcscd pcsc-tools
$ pcsc_scan
PC/SC device scanner
[...]
Reader 0: ACS ACR 38U-CCID 00 00
  Card state: <b>Card inserted</b>,
[...]
Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
	<b>DNI electronico (Spanish electronic ID card)</b>
	http://www.dnielectronico.es

 Reader 0: ACS ACR 38U-CCID 00 00
  Card state: <b>Card removed</b>,
</pre>
<p>&nbsp;<br />
Otras pruebas que podemos hacer son (estas con una tarjeta CardOs M4):</p>
<pre class="codigo">$ opensc-tool -l
Readers known about:
Nr.    Driver     Name
0      pcsc       C3PO LTC31 (00426664) 00 00
$ opensc-tool -a
Using reader with a card: C3PO LTC31 (00426664) 00 00
3b:f2:98:00:ff:c1:10:31:fe:55:c8:04:12
$ opensc-tool -n
Using reader with a card: C3PO LTC31 (00426664) 00 00
CardOS M4
</pre>
<p>&nbsp;<br />
Para que funcione bien iceweasel/firefox y detecte el módulo sin problemas es necesario reiniciar el navegador.<br />
&nbsp;<br />
&nbsp;</p>
<h2>USO Y DISFRUTE</h2>
<p>Lo primero que hay que saber es que en el DNIe tenemos a nuestra disposición dos certificados, uno para identificarnos (certificado de autenticación) y otro para firmar (certificado de firma), lo que son los dos principales usos del DNIe.</p>
<p>También es importante saber que cada aplicación que utiliza el DNIe establece una &#8220;sesión&#8221; con el lector de tarjetas y que no puede haber dos sesiones abiertas a la vez. Es decir <b>no podemos usar el DNIe en dos aplicaciones a la vez</b>. Sin embargo muchas aplicaciones no indican adecuadamente esta circunstancia y simplemente parece que no funcionan.<br />
Así por ejemplo si iniciamos sesión en iceweasel/firefox para acceder a una web, no podemos firmar un archivo pdf con sinadura hasta cerrar sesión. Y al revés, tras firmar un fichero con sinadura no nos deja validarnos con iceweasel.<br />
Ante la duda <u>basta con extraer y volver a introducir el DNIe en el lector para asegurarse que está disponible el acceso</u>.<br />
&nbsp;<br />
Un último recordatorio, si se introduce el PIN del DNIe erróneamente tres veces seguidas, éste se bloquea. Así que al hacer pruebas con los programas y sus configuraciones hay que tener cuidado. A mí se me bloqueó haciendo pruebas con Sinadura (para desbloquearlo hay que pasar 5 minutos por una comisaria), así que después cada vez que hacía una prueba con un programa si no funcionaba perfectamente iniciaba sesión en iceweasel/firefox.<br />
&nbsp;</p>
<h3>Identificarse en sitios web con iceweasel/firefox</h3>
<p>El DNIe se puede utilizar al navegar para identificarse en un sitio web. Así por ejemplo si nos identificamos en la web de la <a href="http://www.seg-social.es" class="externo">seguridad social</a> podremos descargarnos al instante nuestra vida laboral.</p>
<p>Primero debemos asegurarnos que hemos registrado en iceweasel/firefox el módulo de DNIe PKCS#11 (usando el menú principal del escritorio en &#8220;<i>Oficina-> Registrar módulo DNIe PKCS#11</i>&#8220;).<br />
En caso contrario podemos registrarlo a mano desde &#8220;<i>Editar -> Preferencias -> Avanzado -> Cifrado -> Dispositivos de seguridad</i>&#8220;. Seleccionamos &#8220;Cargar&#8221;, indicamos un nombre, por ejemplo &#8220;DNIe &#8211; OpenSC PKCS#11&#8243;, y la ruta del módulo &#8220;/usr/lib/opensc-pkcs11.so&#8221;.<br />
<img src="/imgs/blog/dnie/Dispositivos_Seguridad.png" alt="DNIe" /><br />
&nbsp;<br />
Si la instalación ha sido correcta y tenemos el lector conectado con un DNIe introducido, nos habilitará la opción &#8220;Iniciar sesión&#8221; (¡bien!). Si iniciamos sesión nos pedirá el PIN, pero antes es mejor reiniciar el navegador para que nos pida instalar el certificado de la DGP (<a href="http://www.policia.es/" class="externo">Dirección General de la Policia</a>).<br />
&nbsp;<br />
<b>Comprobaciones</b><br />
Podemos probar nuestro DNIe en el navegador en la <a href="http://www.dnielectronico.es/como_utilizar_el_dnie/verificar.html" class="externo">página de verificación del portal oficial</a> (el enlace para la verificación está al final de esa página).</p>
<p>Si todo ha ido bien el navegador nos pide nuestro PIN para iniciar sesión (si no lo hemos introducido antes):<br />
<img src="/imgs/blog/dnie/DNIe-PIN.png" alt="PIN DNIe" /></p>
<p>Cuando conectamos con una web en la que debemos identificarnos nos pregunta cuál de los dos certificados (el de firma o el de autenticación) queremos utilizar. Para identificarnos usamos el de autenticación.<br />
<img src="/imgs/blog/dnie/certificado.png" alt="Certificado DNIe" /></p>
<p>Si el navegador nos indica:</p>
<blockquote><p>El otro extremo de la conexión SSL no puede verificar su certificado.<br />
(Código de error: ssl_error_bad_cert_alert)</p></blockquote>
<p>Es porque no hemos iniciado sesión correctamente (hemos fallado el PIN 3 veces, no lo hemos puesto, no está bien instalado el lector&#8230;).<br />
&nbsp;<br />
Lo recomendado es &#8220;Iniciar sesión&#8221; en el navegador solo cuando se necesita y &#8220;Terminar sesión&#8221; lo antes posible. Si visitamos una página que requiere certificado sin haber iniciado sesión, el navegador nos solicitará el PIN automáticamente, pero para cerrar sesión hay que ir &#8220;a mano&#8221; a la opción &#8220;<i>Dispositivos de seguridad</i>&#8221; del menú.<br />
&nbsp;</p>
<h3>Firmar archivos PDF con Sinadura</h3>
<p>Otro uso interesante del DNIe es firmar un archivo PDF. Esta firma tiene plena validez legal. Es decir, hasta ahora había que hacer un documento, imprimirlo y después firmarlo a mano. Ahora podemos hacer un documento, guardarlo como PDF (por ejemplo con <a href="http://es.openoffice.org/" class="externo">OpenOffice Writer</a>) y después firmarlo con nuestro DNIe.<br />
Hay que insistir en que tiene <b>plena validez legal</b>. Sirve para hacer contratos, compra ventas, reclamaciones&#8230;</p>
<p>Primero <a href="http://www.sinadura.net/downloads?p_p_id=20&#038;p_p_lifecycle=0&#038;p_p_state=maximized&#038;p_p_mode=view&#038;_20_struts_action=%2Fdocument_library%2Fview&#038;_20_folderId=70681" class="externo">descargamos Sinadura</a>, en mi caso he descargado la versión 2.0.0 para GNU/Linux de 32 bits.</p>
<p>Su instalación es muy sencilla, basta con hacer:</p>
<pre class="codigo">$ java -jar  sinadura-2.0.0-unix32-installer.jar</pre>
<p>y seguir el típico asistente de &#8220;siguiente&#8221;, &#8220;siguiente&#8221;, &#8220;siguiente&#8221;&#8230;</p>
<p>Para configurarlo vamos a &#8220;<i>Sinadura -> Preferencias -> Certificados</i>&#8220;, y elegir &#8220;<i>Tarjeta Criptográfica</i>&#8220;.<br />
También recomiendo ir a &#8220;<i>Sinadura -> Preferencias -> Firma</i>&#8221; y seleccionar otra imagen ya que la que viene por omisión (el logo de Sinadura) apenas permite leer el texto insertado. Yo me he creado una <a href="/imgs/blog/dnie/DNIe-150.png">imagen muy clarita del DNIe en grises</a>.<br />
&nbsp;</p>
<p>Utilizamos el botón &#8220;<i>Añadir documentos</i>&#8221; para seleccionar el documento pdf a firmar, en mi caso &#8220;prueba.pdf&#8221; y pulsamos &#8220;<i>Firmar</i>&#8220;.<br />
<img src="/imgs/blog/dnie/Sinadura-principal.png" alt="DNIe" /></p>
<p>El programa carga el certificado (la primera vez tarda un poco, si se cuelga probablemente sea por el problema de las sesiones que comentabamos al principio) y después nos pide el PIN del DNIe.<br />
<img src="/imgs/blog/dnie/Sinadura-Clave.png" alt="DNIe" /></p>
<p>Después elegimos el certificado a utilizar, en este caso el certificado de firma:<br />
<img src="/imgs/blog/dnie/Sinadura-Certificado.png" alt="DNIe" /></p>
<p>Nos solicita una confirmación:<br />
<img src="/imgs/blog/dnie/Sinadura-firma.png" alt="DNIe" /></p>
<p>Y ya está. Podemos verificar cualquier documento firmado también desde Sinadura. Primero lo seleccionamos y después utilizamos el botón &#8220;<i>Validar</i>&#8221;<br />
<img src="/imgs/blog/dnie/Sinadura-principal.png" alt="DNIe" /><br />
&nbsp;</p>
<h3>Más posibilidades</h3>
<p>Una de las posibilidades que la gente busca es firmar y/o cifrar correos electrónicos con el DNIe.<br />
Hay que decir que técnicamente se puede pero que su validez legal es cuanto menos dudosa, y como lo que se busca con el DNIe es tener validez legal no es muy práctico. Siempre se puede enviar un correo-e &#8220;normal&#8221; con un pdf firmado como adjunto, por ejemplo un contrato.</p>
<p>Esto es porque técnicamente para firmar y/o cifrar basta con tener un par de claves pública/privada, pero el estándar internacional PKI requiere, para firmar un correo-e, que el certificado de la clave indique una dirección de correo-e, que será la única que se &#8220;certificará&#8221;. Sin embargo en el DNIe no se indica ninguna dirección de correo-e, por lo que no se puede utilizar las firmas del DNIe para este fin.<br />
Lo más recomendado es firmar y cifrar con claves <a href="http://www.gnupg.org/" class="externo">GPG</a>, u obtener firmas de la <a href="http://www.fnmt.es/" class="externo">FNMT</a>, que sí están preparadas para este propósito.<br />
En todo caso hay buenas y sencillas guías en internet sobre cómo conseguir, técnicamente, firmar correos-e con el DNIe (<a href="http://www.securitybydefault.com/2008/07/gmail-dni-e.html" class="externo">GMail+DNIe</a>; <a href="http://www.securitybydefault.com/2008/12/thunderbird-dni-e.html" class="externo">Thunderbird+DNIe</a>).</p>
<p>Para consultar otras posibilidades tenemos <a href="http://www.google.es" class="externo">el oráculo</a>, la página de <a href="http://www.dnielectronico.es/servicios_disponibles/index.html" class="externo">Servicios Disponibles</a> o la web <a href="http://www.kriptopolis.org/autenticacion-login-con-el-dni-electronico-en-debian-etch-gnu-linux" class="externo">Kriptopolis</a>.<br />
&nbsp;<br />
&nbsp;<br />
<!-- wget http://v5.guadalinex.org/guadalinex-lobo/pool/main/o/opensc-dnie/opensc-dnie_1.4.0-5_i386.deb --></p>
<div class="keywords"><b>dnie, dni electrónico, linux, debian, squeeze, C3PO LTC31, miniLector Bit4id, ACS ACR38-U</b></div>
]]></content:encoded>
			<wfw:commentRss>http://guimi.net/blogs/hiparco/dnie-en-debian-gnulinux-squeeze/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Red con IP estática</title>
		<link>http://guimi.net/blogs/hiparco/red-con-ip-estatica/</link>
		<comments>http://guimi.net/blogs/hiparco/red-con-ip-estatica/#comments</comments>
		<pubDate>Tue, 17 May 2011 18:15:12 +0000</pubDate>
		<dc:creator>Güimi</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Prompt]]></category>
		<category><![CDATA[Redes]]></category>

		<guid isPermaLink="false">http://guimi.net/blogs/hiparco/?p=583</guid>
		<description><![CDATA[Cada día hay más automatismos&#8230; y ya casi se nos olvida como hacer las cosas por nosotros mismos.
Para configurar una IP estática hacemos lo que indica el manual de Debian:
Primero configuramos la interfaz (en el ejemplo eth0 con la IP 192.168.11.100).
# vi /etc/network/interfaces
allow-hotplug eth0
iface eth0 inet static
 address 192.168.11.100
 netmask 255.255.255.0
 broadcast 192.168.11.255
 gateway 192.168.11.1
 [...]]]></description>
			<content:encoded><![CDATA[<p>Cada día hay más automatismos&#8230; y ya casi se nos olvida como hacer las cosas por nosotros mismos.<br />
Para configurar una IP estática hacemos lo que indica el <a href="http://www.debian.org/doc/manuals/reference/ch05.en.html#_the_network_interface_with_the_static_ip">manual de Debian</a>:<br />
Primero configuramos la interfaz (en el ejemplo eth0 con la IP 192.168.11.100).<br />
<font class="comando"># vi /etc/network/interfaces</font><br />
<font class="codigo">allow-hotplug eth0<br />
iface eth0 inet static<br />
 address 192.168.11.100<br />
 netmask 255.255.255.0<br />
 broadcast 192.168.11.255<br />
 gateway 192.168.11.1<br />
 dns-domain lan<br />
 dns-nameservers 192.168.11.1<br />
</font> </p>
<p>Después los DNSs, si no está instalado resolvconf, basta con:<br />
<font class="comando"># vi /etc/resolv.conf</font><br />
<font class="codigo">domain localdomain<br />
search localdomain<br />
nameserver 192.168.1.1<br />
</font> </p>
<p>Si está instalado resolvconf (y ante la duda no está de más):<br />
<font class="comando"># vi /etc/resolvconf/resolv.conf.d/base</font><br />
<font class="codigo">nameserver 192.168.1.1<br />
</font> </p>
<p>Tumbamos y levantamos la interfaz&#8230;<br />
<font class="comando"># ifdown eth0<br />
# ifup eth0</font></p>
<p>¡Y ya está!</p>
<div class="keywords">static ip, ip estática, red estática</div>
]]></content:encoded>
			<wfw:commentRss>http://guimi.net/blogs/hiparco/red-con-ip-estatica/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script para procesar fotos</title>
		<link>http://guimi.net/blogs/hiparco/script-para-procesar-fotos/</link>
		<comments>http://guimi.net/blogs/hiparco/script-para-procesar-fotos/#comments</comments>
		<pubDate>Tue, 03 May 2011 20:20:46 +0000</pubDate>
		<dc:creator>Güimi</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[Prompt]]></category>

		<guid isPermaLink="false">http://guimi.net/blogs/hiparco/?p=578</guid>
		<description><![CDATA[Tras varios apuntes sobre como trabajar con fotos, pongo aquí el script completo que yo utilizo:
#!/bin/bash
#
# procesa_fotos.sh
# Por Guimi 2009/08 - http://www.guimi.net
#

####################################
#### ERRORES
E_NOPARAM=64        # Bad number of params

##########################
# PARAMETROS
DIR="./procesadas"

mkdir $DIR

echo "Renombrando videos..."
# Los ficheros .mov son peliculas que tienen asociado
#+ un fichero .jpg con el mismo nombre
for x [...]]]></description>
			<content:encoded><![CDATA[<p>Tras varios apuntes sobre como <a href="http://guimi.net/blogs/hiparco/category/multimedia/">trabajar con fotos</a>, pongo aquí el script completo que yo utilizo:</p>
<pre class="codigo"><font class="comentario">#!/bin/bash
#
# procesa_fotos.sh
# Por Guimi 2009/08 - http://www.guimi.net
#

####################################
#### ERRORES</font>
E_NOPARAM=64        # Bad number of params

<font class="comentario">##########################
# PARAMETROS</font>
DIR="./procesadas"

mkdir $DIR

echo "Renombrando videos..."
<font class="comentario"># Los ficheros .mov son peliculas que tienen asociado
#+ un fichero .jpg con el mismo nombre</font>
for x in `ls *.mov 2> /dev/null`
do
	<font class="comentario"># Primero hemos de tomar el nombre sin la extension</font>
	longitud_fichero=${#x}
	longitud_nombre=$(($longitud_fichero-4))
	nombre_fichero=${x:0:$longitud_nombre}

	<font class="comentario"># Comprobamos si existe el mismo fichero con extension jpg
	# En algunas camaras se llama .thm pero NO tiene cabecera exif</font>
	if [ -f $nombre_fichero.jpg ]
	then
		<font class="comentario"># Tomamos la fecha, hora, minuto y segundo de la cabecera exif</font>
		momento=`exif -t 0x9003 -m $nombre_fichero.jpg`
		nuevo_nombre="${momento:0:4}${momento:5:2}${momento:8:2}-${momento:11:2}${momento:14:2}${momento:17:2}"

		<font class="comentario"># Renombramos el fichero mov</font>
		cp $x $DIR/$nuevo_nombre.mov
	fi
done

echo "Renombrando fotos..."
<font class="comentario"># Copiamos las fotos al directorio de trabajo</font>
cp *.jpg $DIR
<font class="comentario"># Nos movemos al directorio de trabajo</font>
cd $DIR
<font class="comentario"># Renombramos ficheros y los rotamos si es menester</font>
jhead -autorot -n%Y%m%d-%H%M%S *.jpg > /dev/null
<font class="comentario">#jhead -n%Y%m%d-%H%M%S *.jpg</font>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://guimi.net/blogs/hiparco/script-para-procesar-fotos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recuperar fotos borradas</title>
		<link>http://guimi.net/blogs/hiparco/recuperar-fotos-borradas/</link>
		<comments>http://guimi.net/blogs/hiparco/recuperar-fotos-borradas/#comments</comments>
		<pubDate>Tue, 11 Jan 2011 14:46:28 +0000</pubDate>
		<dc:creator>Güimi</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[seguridad]]></category>

		<guid isPermaLink="false">http://guimi.net/blogs/hiparco/?p=547</guid>
		<description><![CDATA[Me ha ocurrido ya un par de veces que algún amigo me llama diciendo &#8220;he borrado sin querer las fotos de mi cámara ¿puedes hacer algo?&#8221;.
Y como la respuesta es sí, aquí dejo los pasos básicos.
Lo primero es no tocar más la tarjeta donde se han borrado las fotos. No probar a hacer nuevas fotos, [...]]]></description>
			<content:encoded><![CDATA[<p>Me ha ocurrido ya un par de veces que algún amigo me llama diciendo &#8220;he borrado sin querer las fotos de mi cámara ¿puedes hacer algo?&#8221;.<br />
Y como la respuesta es sí, aquí dejo los pasos básicos.</p>
<p>Lo primero es no tocar más la tarjeta donde se han borrado las fotos. No probar a hacer nuevas fotos, por ejemplo.<br />
Después introducimos la tarjeta en nuestro lector. Si tenemos en marcha un sistema gráfico lo normal es que automáticamente monte la tarjeta y nos ofrezca ver/importar fotos o algo así.<br />
Averiguamos el dispositivo asignado a la tarjeta:<br />
<font class="comando">$ mount</font></p>
<pre class="codigo">[...]
/dev/sdb1 on /media/KODAK type vfat (rw,nosuid,nodev,uhelper=hal,shortname=lower,uid=1000)</pre>
<p>Otra opción es:<br />
<font class="comando">$ dmesg | tail</font></p>
<p>Instalamos <a href="http://www.cgsecurity.org/wiki/TestDisk">testdisk</a>, una magnífica herramienta de recuperación de datos:<br />
<font class="comando"># aptitude install testdisk</font><br />
y lanzamos &#8216;photorec&#8217; como superusuario:<br />
<font class="comando"># photorec</font><br />
Este programa nos lleva paso a paso a recuperar fotos, vídeos y demás.<br />
- primero pregunta por el dispositivo desde el que recuperar fotos, en el ejemplo /dev/sdb.<br />
- después pregunta el tipo de tabla de particiones: para las tarjetas de memoria o lápices USB normales &#8220;Intel&#8221;<br />
- después elegimos la partición (generalmente solo hay una) en el ejemplo &#8220;1&#8243;<br />
- después pregunta por el tipo de partición que había cuando borramos: generalmente &#8220;Other&#8221;<br />
- después pregunta si deseamos buscar por toda la partición o solo por el espacio libre: yo recomiendo &#8220;Whole&#8221;<br />
- por último pregunta en qué directorio queremos recuperar las fotos (NO debe estar en el mismo dispositivo del que estamos recuperando archivos)<br />
con eso photorec empieza a recuperar archivos.</p>
<p>Dependiendo de la capacidad de la tarjeta y de los archivos a recuperar puede invertir más o menos tiempo, pero lo bueno es que va indicando el progreso de trabajo para poder ir viendo cómo va y cuánto le queda.</p>
<p><span class="keywords"><b>undelete, recuperar archivos borrados, photorec, testdisk</b></span></p>
]]></content:encoded>
			<wfw:commentRss>http://guimi.net/blogs/hiparco/recuperar-fotos-borradas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tarjeta CardOS M4 en GNU/Linux</title>
		<link>http://guimi.net/blogs/hiparco/tarjeta-cardos-m4-en-gnulinux/</link>
		<comments>http://guimi.net/blogs/hiparco/tarjeta-cardos-m4-en-gnulinux/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 20:34:12 +0000</pubDate>
		<dc:creator>Güimi</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[seguridad]]></category>

		<guid isPermaLink="false">http://guimi.net/blogs/hiparco/?p=508</guid>
		<description><![CDATA[Las tarjetas CardOS M4 son tarjetas criptográficas fabricadas por Siemens y emitidas, entre otros, por la Comunidad Valenciana (a través de la ACCV) y la Junta de Andalucía.
Para utilizarlas hace falta tener un lector de tarjetas instalado, por ejemplo el lector del DNI-e.
Además hace falta tener instalado el controlador de la tarjeta para que el [...]]]></description>
			<content:encoded><![CDATA[<p>Las tarjetas CardOS M4 son tarjetas criptográficas fabricadas por Siemens y emitidas, entre otros, por la Comunidad Valenciana (a través de la <a href="http://www.accv.es/">ACCV</a>) y la Junta de Andalucía.</p>
<p>Para utilizarlas hace falta tener un lector de tarjetas instalado, por ejemplo <a href="http://guimi.net/blogs/hiparco/dnie-en-gnulinux/">el lector del DNI-e</a>.</p>
<p>Además hace falta tener instalado el controlador de la tarjeta para que el lector sepa trabajar con ella. Y aquí viene el problema, porque el driver que hay tiene restricciones de distribución, además de ser viejo y estar desactualizado.<br />
Al final se puede hacer funcionar con unos pocos pasos&#8230; el problema es averiguarlos. Tras mucho buscar, un <a href="http://andalinux.wordpress.com/2009/12/01/instalar-tarjeta-siemens-cardos-m4-01a-sle66cx322p-en-firefox-linux/">post de Andalinux</a> me dió las pistas correctas. Este post se debe a aquel (y copia descaradamente algunas partes).</p>
<p><strong>¿Dónde obtener los drivers (sólo binarios) para la tarjeta?</strong><br />
Pues aunque cuesta encontrarlos en Internet (por las restricciones de distribución impuestas por Siemens) hay varias formas de conseguirlos:</p>
<ol>
<li>En el cdrom de los lectores Omnikey 3121 y 3021.</li>
<li>En la web de la <a href="http://www.accv.es/cd/CD-Siemens.rar">Autoritat de Certificatió</a> de la Comunitat Valenciana.</li>
<li>En el paquete <a href="http://ftp.cica.es/Guadalinex/guadalinex_edu/pool/main/g/guadalinex-hipath-sicurity-card-api/">HiPath SIcurity CardOS smart cards API</a> que aparece en los repositorios de Guadalinex.</li>
</ol>
<p><strong>¿Cómo instalar los drivers?</strong><br />
Yo he utilizado el paquete de Guadalinex, por lo que basta un:</p>
<div class="codigo">sudo dpkg -i guadalinex-hipath-sicurity-card-api_3.1-2_i386.deb</div>
<p>En teoría ahora bastaría con cargar el módulo en Firefox, pero no os molestéis, no va a funcionar.</p>
<p>¿Y qué tripa se le ha roto al módulo? Preguntemos:</p>
<div class="codigo">ldd /usr/local/lib/libsiecap11.so</div>
<pre class="codigo">	linux-gate.so.1 =>  (0xb7794000)
	libz.so.1 => /lib/libz.so.1 (0xb76f1000)
	libsiecap15.so => /usr/local/lib/libsiecap15.so (0xb76c8000)
	[...]
	<strong>libpcsclite.so.0 => not found</strong>
	[...]
</pre>
<p>¡Ahí está!</p>
<p>Sin embargo tampoco nos basta con instalar esa librería (igual incluso ya está instalada):</p>
<div class="codigo">sudo aptitude install libpcsclite1</div>
<p>Porque el problema es que el paquete no instala la librería dónde la busca el módulo.<br />
¡Marchando un enlace simbólico!</p>
<div class="codigo">sudo ln -s /lib/libpcsclite.so.1.0.0 /usr/lib/libpcsclite.so.0</div>
<p>Y ahora sí podemos cargar en Firefox el módulo &#8220;/usr/local/lib/libsiecap11.so&#8221; que nos leerá la tarjeta.</p>
<p>Para más detalles sobre cómo instalar el módulo en Firefox se puede consultar la <a href="http://guimi.net/blogs/hiparco/dnie-en-gnulinux/">instalación del DNI-e</a>.</p>
<p><span class="keywords"><b>CardOS M4, Siemens, DNIe</b></span></p>
]]></content:encoded>
			<wfw:commentRss>http://guimi.net/blogs/hiparco/tarjeta-cardos-m4-en-gnulinux/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>tsclient y rdesktop &#8220;recv:Connection Reset by Peer&#8221;</title>
		<link>http://guimi.net/blogs/hiparco/tsclient-y-rdeskto-recvconnection-reset-by-peer/</link>
		<comments>http://guimi.net/blogs/hiparco/tsclient-y-rdeskto-recvconnection-reset-by-peer/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 12:37:22 +0000</pubDate>
		<dc:creator>Güimi</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Software Libre]]></category>

		<guid isPermaLink="false">http://guimi.net/blogs/hiparco/?p=504</guid>
		<description><![CDATA[El cliente de Terminal Services más utilizado en GNU/Linux es tsclient.
Este programa es solo un &#8220;front-end&#8221; o interfaz gráfica de otros programas.
Para conectar con un servidor Windows de Terminal Services utiliza rdesktop.
Puede ocurrir que tras llevar un tiempo funcionando un día deje de funcionar y arroje el siguiente error:
recv:Connection Reset by Peer
Hay que tener en [...]]]></description>
			<content:encoded><![CDATA[<p>El cliente de Terminal Services más utilizado en GNU/Linux es tsclient.<br />
Este programa es solo un &#8220;front-end&#8221; o interfaz gráfica de otros programas.</p>
<p>Para conectar con un servidor Windows de Terminal Services utiliza rdesktop.</p>
<p>Puede ocurrir que tras llevar un tiempo funcionando un día deje de funcionar y arroje el siguiente error:<br />
<font class="codigo">recv:Connection Reset by Peer</font></p>
<p>Hay que tener en cuenta que generalmente antes del error indica:<br />
<font class="codigo">Autoselected keyboard map xx</font><br />
Esto es solo una indicación de que se ha seleccionado el teclado, pero no tiene nada que ver con el error.</p>
<p>El error que nos ocupa puede deberse a varias cosas, pero básicamente indica que el servidor ha rechazado la conexión.<br />
Para conocer la causa de este rechazo hay que acudir al visualizador de eventos del servidor, ya que no es el cliente el que no ha podido conectar.</p>
<p>En todo caso la causa más habitual es que la licencia otorgada al cliente ha caducado (en principio dura 90 días).<br />
Desinstalar tsclient (y rdesktop) no sirve de mucho, ni siquiera purgando y borrando los directorios de configuración (.tsclient y .rdesktop).</p>
<p>La solución pasa por decirle al servidor que somos otro cliente diferente y que nos otorgue una nueva licencia.<br />
Con rdesktop se puede hacer con el parámetro -n <nombre_equipo>. Con tsclient se puede indicar en una casilla al efecto que aparece en la pestaña principal (&#8221;General&#8221;) y se llama &#8220;Nombre del ordenador Cliente&#8221; (o similar según la traducción).</p>
<p>Otro error común, pero totalmente diferente del que nos ocupa en este artículo, tiene que ver con el sonido (basta ir a &#8220;Recursos locales&#8221; y marcar &#8220;No reproducir&#8221; en &#8220;Sonido del ordenador remoto&#8221;).</p>
<p><span class="keywords"><b>terminal server, tsclient, rdesktop</b></span></p>
]]></content:encoded>
			<wfw:commentRss>http://guimi.net/blogs/hiparco/tsclient-y-rdeskto-recvconnection-reset-by-peer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

