<?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>/sbin/lsmod - Módulos para seu cérebro &#187; linux</title>
	<atom:link href="http://www.lsmod.net/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lsmod.net</link>
	<description></description>
	<lastBuildDate>Mon, 16 Jan 2012 13:12:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Conectando seu Xoom em redes Ad-Hoc</title>
		<link>http://www.lsmod.net/conectando-seu-xoom-em-redes-ad-hoc/</link>
		<comments>http://www.lsmod.net/conectando-seu-xoom-em-redes-ad-hoc/#comments</comments>
		<pubDate>Tue, 20 Sep 2011 18:04:38 +0000</pubDate>
		<dc:creator>Jeremias Zerbini</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[atrix]]></category>
		<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[gingerbread]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[motorola]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[xoom]]></category>

		<guid isPermaLink="false">http://www.lsmod.net/?p=706</guid>
		<description><![CDATA[Pequeno guia explicando como conectar seu Motorola Xoom em redes Ad-hoc (como por exemplo do Wifi Tether)]]></description>
			<content:encoded><![CDATA[<p>Se você possui um tablet, certamente ficou em dúvida se comprava a versão com 3g + Wifi, ou a mais barata, com apenas Wifi.<br />
Alguns compradores decidiram que a versão com apenas wifi era o bastante, afinal, possuíam um smartphone com a opção de transformá-lo em um mini roteador wifi, que usa o 3g disponível no celular para fornecer conexão à outros dispositivos, tablets inclusos.</p>
<p>Eu estou no grupo acima: Atualmente usando um Motorola Atrix com um plano 3g <del>horrível</del> da Vivo, e um Xoom para navegar onde tenho sinal de wireless disponível. Em alguns casos, onde era necessário acessar a internet do tablet e não havia um sinal público ou privado disponíveis, eu sacava meu smart do bolso, ativava o tethering e voilá, estava conectado em ambos.</p>
<p>Nos últimos dias, porém, instalei o Gingerbread no Atrix (assunto para um outro artigo, a ser publicado em alguns dias) e o aplicativo nativo de tethering deixou de funcionar adequadamente. É um bug conhecido do pessoal, e deve ser resolvido em breve, mas como frequentemente eu necessitava dessa solução, fui atrás de algo pronto.</p>
<p>Aliás, a falta de suporte à redes Ad-hoc não é uma falha do Xoom apenas. Se você possui outra marca de tablet rodando Android, a solução para este problema pode ser similar. Deixe seu comentário que investigo e tento ajudá-lo.</p>
<p>O <a href="http://code.google.com/p/android-wifi-tether">Android Wifi Tether</a>, software livre hospedado no Google Code, certamente é conhecido por uma boa parcela dos usuários Android. E não é sem razão, ele é ótimo para o que se propõe, exceto por este &#8220;pequeno&#8221; detalhe: Não possui modo infraestrutura, trabalhando apenas em adhoc. E é aí que começou meu problema, já que uma boa parcela de dispositivos móveis hoje em dia ainda não oferecem suporte a este tipo de conexão.</p>
<p>Sem mais delongas, para seguir adiante, você irá precisar de:</p>
<ul>
<li>Um tablet xoom com o ClockworkMod instalado e root liberado,</li>
<li><a href="http://forum.xda-developers.com/attachment.php?attachmentid=613312&amp;d=1306950297">Este mod (Ad-hoc network flash-signed.zip)</a>, hospedado nos fórums do XDA.</li>
</ul>
<p>Instruções:</p>
<ul>
<li>Copie o arquivo Ad-hoc network flash-signed.zip, de apenas 300kb para seu cartão de memória, ou memória interna do tablet.</li>
<li>Abra o ROM Manager, selecione a opção &#8220;Reiniciar para a recuperação&#8221;, que é o texto traduzido de &#8220;Reboot in Recovery mode&#8221;. Seu xoom irá reiniciar e entrará na tela de recovery.</li>
<li>Dica para os novatos: No recovery, a navegação é feita por meio dos botões de volume + e volume -. Para selecionar uma opção, pressione o botão power uma vez.</li>
<li>Dentro da tela de recovery, selecione a opção &#8220;Install zip from sdcard&#8221;, e em seguida a opção &#8220;choose zip from sdcard&#8221;.</li>
<li>Selecione o mod que você baixou e transferir para o Xoom, confirme a instalação.</li>
<li>Volte para o menu principal e reboote seu tablet.</li>
</ul>
<p>Prontinho, tudo feito. A partir de agora, você poderá conectar tanto em redes no modo Infraestrutura, quanto em redes configuradas para Ad-hoc, como as fornecidas pelo Android Wifi Tether.</p>
<p>Abraço a todos.</p>
<img src="http://www.lsmod.net/?ak_action=api_record_view&id=706&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.lsmod.net/conectando-seu-xoom-em-redes-ad-hoc/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Auditoria de redes corporativas</title>
		<link>http://www.lsmod.net/auditoria-de-redes-corporativas/</link>
		<comments>http://www.lsmod.net/auditoria-de-redes-corporativas/#comments</comments>
		<pubDate>Wed, 22 Jun 2011 20:02:19 +0000</pubDate>
		<dc:creator>Jeremias Zerbini</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Segurança]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[auditoria]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[login script]]></category>
		<category><![CDATA[openaudit]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[samba]]></category>

		<guid isPermaLink="false">http://www.lsmod.net/?p=578</guid>
		<description><![CDATA[Aprenda a fazer inventário e auditoria da sua rede corporativa usando apenas Software Livre com o OpenAudit.]]></description>
			<content:encoded><![CDATA[<p>[adsenseaqui]</p>
<p>Se você é administrador de alguma rede corporativa, já deve ter sentido a necessidade, ou pelo menos curiosidade de saber o que está instalado nos desktops do pessoal.</p>
<p>Já desejou fazer reboot remoto, saber o número serial das instalações de softwares comuns no ambiente, ter um inventário completo de todas as máquinas do seu ambiente, e muitos outros detalhes ?</p>
<p>Bem, apresento-lhes o Open-Audit: Uma ferramenta de código livre para inventário e auditoria de dispositivos de rede, como estações de trabalho, servidores web, servidores de banco de dados, emissões de relatórios diversos e muito, muito mais.</p>
<p>A partir do OpenAudit pode-se, por exemplo, emitir relatório de uso de todos os discos rígidos de sua empresa, todas as impressoras instaladas nos computadores, lista de computadores com antivirus desatualizados, etc.</p>
<p>Parece bom, não é ? Tudo isso via web, sem necessidade de instalação de software extra, disponivel para qualquer computador que tenha um navegador recente como Firefox ou Chrome.</p>
<p>Outra idéia bacana que os desenvolvedores tiveram é que não é necessário instalar nada nas estações de trabalho. Todas as opções semelhantes que consultei envolviam a instalação de um <em>daemon</em> nos clientes da rede para que fosse possível fazer a coleta dos dados.<br />
&#8220;Mas como é possível então?&#8221; &#8211; vocês me perguntam. A resposta é simples, um script VBS vinculado aos scripts de logon dos usuários coleta todas as informações necessárias e envia para o servidor web em que o OpenAudit está rodando via POST. Inteligente, não ?</p>
<p>Algumas screenshots interessantes:</p>

<a href='http://www.lsmod.net/auditoria-de-redes-corporativas/harddrives/' title='harddrives'><img width="150" height="150" src="http://www.lsmod.net/wp-content/uploads/harddrives-150x150.jpg" class="attachment-thumbnail" alt="harddrives" title="harddrives" /></a>
<a href='http://www.lsmod.net/auditoria-de-redes-corporativas/nmap_disc/' title='nmap_disc'><img width="150" height="150" src="http://www.lsmod.net/wp-content/uploads/nmap_disc-150x150.jpg" class="attachment-thumbnail" alt="nmap_disc" title="nmap_disc" /></a>
<a href='http://www.lsmod.net/auditoria-de-redes-corporativas/overview/' title='overview'><img width="150" height="150" src="http://www.lsmod.net/wp-content/uploads/overview-150x150.jpg" class="attachment-thumbnail" alt="overview" title="overview" /></a>
<a href='http://www.lsmod.net/auditoria-de-redes-corporativas/todossistemas/' title='todossistemas'><img width="150" height="150" src="http://www.lsmod.net/wp-content/uploads/todossistemas-150x150.jpg" class="attachment-thumbnail" alt="todossistemas" title="todossistemas" /></a>
<a href='http://www.lsmod.net/auditoria-de-redes-corporativas/todossoftwares/' title='todossoftwares'><img width="150" height="150" src="http://www.lsmod.net/wp-content/uploads/todossoftwares-150x150.jpg" class="attachment-thumbnail" alt="todossoftwares" title="todossoftwares" /></a>
<a href='http://www.lsmod.net/auditoria-de-redes-corporativas/banner/' title='banner'><img width="150" height="150" src="http://www.lsmod.net/wp-content/uploads/banner-150x150.png" class="attachment-thumbnail" alt="banner" title="banner" /></a>

<p><a href="http://www.open-audit.org/" target="_blank">Página do projeto</a> &#8211; <a href="http://www.open-audit.org/phpBB3/viewforum.php?f=6" target="_blank">FAQ Oficial</a> &#8211; <a href="http://www.open-audit.org/phpBB3/index.php" target="_blank">Fórum da comunidade</a></p>
<p>Eu montei o esquema direto no Samba que uso como substituto ao Windows. Joguei os scripts no share netlogon, de uma forma que, quando os usuários fazem login no meu domínio, o script é chamado automaticamente e transparentemente, eles sequer tomam conhecimento de que algo está &#8220;acontecendo&#8221;.</p>
<p>Arquivo login.bat, que serve apenas para chamar o script VBS que irá rodar as rotinas de auditoria:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p578code1'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p5781"><td class="code" id="p578code1"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">@</span><span style="color: #7a0874; font-weight: bold;">echo</span> off
cscript \\SERVIDOR\netlogon\login.vbs</pre></td></tr></table></div>

<p>Arquivo login.vbs:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p578code2'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p5782"><td class="code" id="p578code2"><pre class="bash" style="font-family:monospace;">Set WshShell = WScript.CreateObject<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">&quot;WScript.Shell&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
obj = WshShell.Run<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">&quot;\\SERVIDOR<span style="color: #000099; font-weight: bold;">\n</span>etlogon\openaudit\audit.vbs&quot;</span>, <span style="color: #000000;">0</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #000000; font-weight: bold;">set</span> WshShell = Nothing</pre></td></tr></table></div>

<p>É necessário alterar os scripts do OpenAudit de acordo com as suas necessidades, obviamente.</p>
<p>Se tiverem dúvidas na implementação, postem nos comentários. Levei um tempo pra entender como funcionava a coisa toda, mas no fim das contas é tudo bastante simples.</p>
<p>Um abraço.</p>
<img src="http://www.lsmod.net/?ak_action=api_record_view&id=578&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.lsmod.net/auditoria-de-redes-corporativas/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Acesso SSH via chaves públicas/privadas</title>
		<link>http://www.lsmod.net/acesso-ssh-via-chaves-publicasprivadas/</link>
		<comments>http://www.lsmod.net/acesso-ssh-via-chaves-publicasprivadas/#comments</comments>
		<pubDate>Thu, 19 May 2011 22:21:00 +0000</pubDate>
		<dc:creator>Jeremias Zerbini</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Posix]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[crontab]]></category>
		<category><![CDATA[dsa]]></category>
		<category><![CDATA[keygen]]></category>
		<category><![CDATA[keys]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[rsa]]></category>
		<category><![CDATA[scp]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://www.lsmod.net/?p=566</guid>
		<description><![CDATA[Frequentemente precisamos acessar diversos servidores diferentes, usando SSH como transporte. Existem casos onde é necessário zelar de atualizações e patches de centenas, ou até milhares de servidores. Digitar senha a cada tentativa de conexão pode se tornar um pesadelo se forem definidas políticas de troca de senha na empresa. Como simplificar o acesso a estes [...]]]></description>
			<content:encoded><![CDATA[<p>Frequentemente precisamos acessar diversos servidores diferentes, usando SSH como transporte. Existem casos onde é necessário zelar de atualizações e patches de centenas, ou até milhares de servidores.</p>
<p>Digitar senha a cada tentativa de conexão pode se tornar um pesadelo se forem definidas políticas de troca de senha na empresa. Como simplificar o acesso a estes equipamentos ?</p>
<p>Bem, existe uma forma segura e prática: Usar chaves criptografadas. Com elas, no momento em que você perguntar ao servidor de destino se &#8220;pode se conectar&#8221;, ele irá conferir a chave pública já presente nele e irá autorizar (ou não) você a logar-se automaticamente.</p>
<p>Mãos à massa: Em primeiro lugar, vamos criar as chaves. Você guardará a cópia privada em seu computador (nunca a distribua!) e enviará a pública para os servidores que desejar. Rode o seguinte comando:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p566code6'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p5666"><td class="code" id="p566code6"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ssh-keygen</span> <span style="color: #660033;">-t</span> dsa</pre></td></tr></table></div>

<p>Os diálogos a seguir irão aparecer. Nas três perguntas que ele te apresentar, não preencha nada, simplesmente deixe em branco e pressione [enter].</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p566code7'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p5667"><td class="code" id="p566code7"><pre class="bash" style="font-family:monospace;">Generating public<span style="color: #000000; font-weight: bold;">/</span>private dsa key pair.
Enter <span style="color: #c20cb9; font-weight: bold;">file</span> <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #c20cb9; font-weight: bold;">which</span> to save the key <span style="color: #7a0874; font-weight: bold;">&#40;</span>~<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span>id_dsa<span style="color: #7a0874; font-weight: bold;">&#41;</span>: <span style="color: #7a0874; font-weight: bold;">&#40;</span>deixe em branco<span style="color: #7a0874; font-weight: bold;">&#41;</span>
Enter passphrase <span style="color: #7a0874; font-weight: bold;">&#40;</span>empty <span style="color: #000000; font-weight: bold;">for</span> no passphrase<span style="color: #7a0874; font-weight: bold;">&#41;</span>: <span style="color: #7a0874; font-weight: bold;">&#40;</span>deixe em branch<span style="color: #7a0874; font-weight: bold;">&#41;</span>
Enter same passphrase again: <span style="color: #7a0874; font-weight: bold;">&#40;</span>deice em branco<span style="color: #7a0874; font-weight: bold;">&#41;</span>
Your identification has been saved <span style="color: #000000; font-weight: bold;">in</span> ~<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span>id_dsa
Your public key has been saved <span style="color: #000000; font-weight: bold;">in</span> ~<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span>id_dsa.pub
The key fingerprint is:</pre></td></tr></table></div>

<p>Pronto, agora só nos resta enviar a chave pública a todos os destinos que desejarmos !<br />
Em distribuições Linux, você pode usar o comando <strong>ssh-copy-id</strong>, porém no OSX (e possivelmente Solaris, HP-UX e AIX) não temos essa opção por padrão.<br />
Podemos então copiar manualmente o conteúdo da chave (presente em ~/.ssh/id_dsa.pub) para o arquivo ~/.ssh/authorized_keys do servidor.</p>
<p>O seguinte script é uma cópia do ssh-copy-id presente num servidor CentOS que eu tinha em mãos:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p566code8'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p5668"><td class="code" id="p566code8"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Shell script to install your identity.pub on a remote machine</span>
<span style="color: #666666; font-style: italic;"># Takes the remote machine name as an argument.</span>
<span style="color: #666666; font-style: italic;"># Obviously, the remote machine must accept password authentication,</span>
<span style="color: #666666; font-style: italic;"># or one of the other keys in your ssh-agent, for this to work.</span>
&nbsp;
<span style="color: #007800;">ID_FILE</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">${HOME}</span>/.ssh/identity.pub&quot;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;-i&quot;</span> = <span style="color: #ff0000;">&quot;$1&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
  <span style="color: #7a0874; font-weight: bold;">shift</span>
  <span style="color: #666666; font-style: italic;"># check if we have 2 parameters left, if so the first is the new ID file</span>
  <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot;$2&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #c20cb9; font-weight: bold;">expr</span> <span style="color: #ff0000;">&quot;$1&quot;</span> : <span style="color: #ff0000;">&quot;.*\.pub&quot;</span> ; <span style="color: #000000; font-weight: bold;">then</span>
      <span style="color: #007800;">ID_FILE</span>=<span style="color: #ff0000;">&quot;$1&quot;</span>
    <span style="color: #000000; font-weight: bold;">else</span>
      <span style="color: #007800;">ID_FILE</span>=<span style="color: #ff0000;">&quot;$1.pub&quot;</span>
    <span style="color: #000000; font-weight: bold;">fi</span>
    <span style="color: #7a0874; font-weight: bold;">shift</span>         <span style="color: #666666; font-style: italic;"># and this should leave $1 as the target name</span>
  <span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #000000; font-weight: bold;">else</span>
  <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> x<span style="color: #007800;">$SSH_AUTH_SOCK</span> <span style="color: #000000; font-weight: bold;">!</span>= x <span style="color: #7a0874; font-weight: bold;">&#93;</span> ; <span style="color: #000000; font-weight: bold;">then</span>
    <span style="color: #007800;">GET_ID</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$GET_ID</span> ssh-add -L&quot;</span>
  <span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-z</span> <span style="color: #ff0000;">&quot;<span style="color: #780078;">`eval $GET_ID`</span>&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000; font-weight: bold;">&amp;</span>amp; <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-r</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${ID_FILE}</span>&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> ; <span style="color: #000000; font-weight: bold;">then</span>
  <span style="color: #007800;">GET_ID</span>=<span style="color: #ff0000;">&quot;cat <span style="color: #007800;">${ID_FILE}</span>&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-z</span> <span style="color: #ff0000;">&quot;<span style="color: #780078;">`eval $GET_ID`</span>&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
  <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;$0: ERROR: No identities found&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">2</span>
  <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">1</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;$#&quot;</span> <span style="color: #660033;">-lt</span> <span style="color: #000000;">1</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;$1&quot;</span> = <span style="color: #ff0000;">&quot;-h&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;$1&quot;</span> = <span style="color: #ff0000;">&quot;--help&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
  <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Usage: $0 [-i [identity_file]] [user@]machine&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">2</span>
  <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">1</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#123;</span> <span style="color: #7a0874; font-weight: bold;">eval</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$GET_ID</span>&quot;</span> ; <span style="color: #7a0874; font-weight: bold;">&#125;</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">ssh</span> <span style="color: #007800;">$1</span> <span style="color: #ff0000;">&quot;umask 077; test -d .ssh || mkdir .ssh ; cat &amp;gt;&amp;gt; .ssh/authorized_keys&quot;</span> <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">1</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #000000; font-weight: bold;">&amp;</span>lt;</pre></td></tr></table></div>

<p>Agora é só testar ! Tente conectar-se diretamente, ele não deverá solicitar senha daqui em diante, para o seu usuário.</p>
<p>Em alguns poucos casos, pode ser que ainda esteja pedindo senha. Esta é uma dúvida bastante frequente nos usuários, e a solução é bastante simples: Confira se, no servidor de destino, a pasta <strong>~/.ssh</strong> possui chmod <span style="color: #ff0000;"><strong>700</strong></span>.</p>
<p> <img src='http://www.lsmod.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Abraços!</p>
<img src="http://www.lsmod.net/?ak_action=api_record_view&id=566&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.lsmod.net/acesso-ssh-via-chaves-publicasprivadas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hands-on: Motorola Atrix</title>
		<link>http://www.lsmod.net/hands-on-motorola-atrix/</link>
		<comments>http://www.lsmod.net/hands-on-motorola-atrix/#comments</comments>
		<pubDate>Tue, 19 Apr 2011 17:42:20 +0000</pubDate>
		<dc:creator>Jeremias Zerbini</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Destaque]]></category>
		<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[atrix]]></category>
		<category><![CDATA[gingerbread]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[motorola]]></category>

		<guid isPermaLink="false">http://www.lsmod.net/?p=489</guid>
		<description><![CDATA[Como todos (ou pelo menos os antenados em novidades tecnológicas) já sabem, a Motorola trouxe ao Brasil o Atrix, lançado nos EUA em Março. Levando em conta o atraso, ou simplesmente desprezo que normalmente acontece com fabricantes como a HTC, a Motorola fez um ótimo serviço em termos de rapidez. Antes de mais nada, vamos [...]]]></description>
			<content:encoded><![CDATA[<p>Como todos (ou pelo menos os antenados em novidades tecnológicas) já sabem, a Motorola trouxe ao Brasil o Atrix, lançado nos EUA em Março. Levando em conta o atraso, ou simplesmente desprezo que normalmente acontece com fabricantes como a HTC, a Motorola fez um ótimo serviço em termos de rapidez.</p>
<p>Antes de mais nada, vamos às especificações técnicas deste ótimo aparelho:<br />

<table id="wp-table-reloaded-id-2-no-1" class="wp-table-reloaded wp-table-reloaded-id-2">
<thead>
	<tr class="row-1 odd">
		<th class="column-1">Geral</th><th class="column-2"></th>
	</tr>
</thead>
<tbody>
	<tr class="row-2 even">
		<td class="column-1">Tipo de produto</td><td class="column-2">Smartphone</td>
	</tr>
	<tr class="row-3 odd">
		<td class="column-1">Experiência</td><td class="column-2">Prosumer messaging</td>
	</tr>
	<tr class="row-4 even">
		<td class="column-1">Formato</td><td class="column-2">Touch tablet</td>
	</tr>
	<tr class="row-5 odd">
		<td class="column-1">Sistema operacional</td><td class="column-2">Android v2.2.1</td>
	</tr>
	<tr class="row-6 even">
		<td class="column-1">Teclado físico</td><td class="column-2">Não</td>
	</tr>
	<tr class="row-7 odd">
		<td class="column-1">Touch Screen</td><td class="column-2">Capacitiva</td>
	</tr>
	<tr class="row-8 even">
		<td class="column-1">Controle adicional de navegação</td><td class="column-2">Não</td>
	</tr>
	<tr class="row-9 odd">
		<td class="column-1"></td><td class="column-2"></td>
	</tr>
	<tr class="row-10 even">
		<td class="column-1">Display</td><td class="column-2"></td>
	</tr>
	<tr class="row-11 odd">
		<td class="column-1">Tamanho</td><td class="column-2">4 polegadas</td>
	</tr>
	<tr class="row-12 even">
		<td class="column-1">Resolução</td><td class="column-2">qHD (540 x 960)</td>
	</tr>
	<tr class="row-13 odd">
		<td class="column-1">Densidade de pixel</td><td class="column-2">Alta 240 dpi)</td>
	</tr>
	<tr class="row-14 even">
		<td class="column-1"></td><td class="column-2"></td>
	</tr>
	<tr class="row-15 odd">
		<td class="column-1">Conectividade</td><td class="column-2"></td>
	</tr>
	<tr class="row-16 even">
		<td class="column-1">WAN: Bandas de voz</td><td class="column-2">GSM 850/900/1800/1900,</td>
	</tr>
	<tr class="row-17 odd">
		<td class="column-1"></td><td class="column-2">W-CDMA 850/1900/2100</td>
	</tr>
	<tr class="row-18 even">
		<td class="column-1">WAN: Data</td><td class="column-2">HSDPA, HSUPA</td>
	</tr>
	<tr class="row-19 odd">
		<td class="column-1">LAN Wireless</td><td class="column-2">802.11b/g/n</td>
	</tr>
	<tr class="row-20 even">
		<td class="column-1">Bluetooth</td><td class="column-2">Class 2, v2.1 + EDR</td>
	</tr>
	<tr class="row-21 odd">
		<td class="column-1">USB</td><td class="column-2">USB 2.0 High Speed</td>
	</tr>
	<tr class="row-22 even">
		<td class="column-1">Saída de aúdio/vídeo</td><td class="column-2">HDMI 1.3a</td>
	</tr>
	<tr class="row-23 odd">
		<td class="column-1"></td><td class="column-2"></td>
	</tr>
	<tr class="row-24 even">
		<td class="column-1">Câmera</td><td class="column-2"></td>
	</tr>
	<tr class="row-25 odd">
		<td class="column-1">Resolução</td><td class="column-2">5 megapixels (2592 x 1936)</td>
	</tr>
	<tr class="row-26 even">
		<td class="column-1">Resolução da câmera frontal</td><td class="column-2">0.3 megapixels (640 x 480)</td>
	</tr>
	<tr class="row-27 odd">
		<td class="column-1">Foco</td><td class="column-2">Auto</td>
	</tr>
	<tr class="row-28 even">
		<td class="column-1">Flash</td><td class="column-2">Dual LED</td>
	</tr>
	<tr class="row-29 odd">
		<td class="column-1">Formato de captura</td><td class="column-2">JPEG w/EXIF 2.2</td>
	</tr>
	<tr class="row-30 even">
		<td class="column-1">Características adicionais</td><td class="column-2">Color effects, Scenes, White balance</td>
	</tr>
	<tr class="row-31 odd">
		<td class="column-1"></td><td class="column-2"></td>
	</tr>
	<tr class="row-32 even">
		<td class="column-1">Media</td><td class="column-2"></td>
	</tr>
	<tr class="row-33 odd">
		<td class="column-1">Gravação</td><td class="column-2">720p HD (1280 x 720)</td>
	</tr>
	<tr class="row-34 even">
		<td class="column-1">Velocidade de gravação</td><td class="column-2">30 fps</td>
	</tr>
	<tr class="row-35 odd">
		<td class="column-1">Playback</td><td class="column-2">720p HD (1280 x 720)</td>
	</tr>
	<tr class="row-36 even">
		<td class="column-1">Velocidade de playback</td><td class="column-2">30 fps</td>
	</tr>
	<tr class="row-37 odd">
		<td class="column-1">Formatos de streaming</td><td class="column-2">AAC, AAC+, AMR-NB, H.263, H.264, MPEG-4</td>
	</tr>
	<tr class="row-38 even">
		<td class="column-1">Loudspeaker</td><td class="column-2">Mono</td>
	</tr>
	<tr class="row-39 odd">
		<td class="column-1"></td><td class="column-2"></td>
	</tr>
	<tr class="row-40 even">
		<td class="column-1">Processador e memória</td><td class="column-2"></td>
	</tr>
	<tr class="row-41 odd">
		<td class="column-1">Processador</td><td class="column-2">NVIDIA Tegra 2 AP20H Dual Core</td>
	</tr>
	<tr class="row-42 even">
		<td class="column-1">Velocidade</td><td class="column-2">1 GHz</td>
	</tr>
	<tr class="row-43 odd">
		<td class="column-1">RAM</td><td class="column-2">1 GB</td>
	</tr>
	<tr class="row-44 even">
		<td class="column-1">Cartão de memória</td><td class="column-2">microSDHC</td>
	</tr>
	<tr class="row-45 odd">
		<td class="column-1">Máximo do cartão</td><td class="column-2">32 GB</td>
	</tr>
	<tr class="row-46 even">
		<td class="column-1"></td><td class="column-2"></td>
	</tr>
	<tr class="row-47 odd">
		<td class="column-1">Sensores</td><td class="column-2"></td>
	</tr>
	<tr class="row-48 even">
		<td class="column-1">Acelerômetro</td><td class="column-2">Sim</td>
	</tr>
	<tr class="row-49 odd">
		<td class="column-1">Magnetômetro</td><td class="column-2">Sim</td>
	</tr>
	<tr class="row-50 even">
		<td class="column-1">Proximidade</td><td class="column-2">Sim</td>
	</tr>
	<tr class="row-51 odd">
		<td class="column-1">Luz ambiente</td><td class="column-2">Sim</td>
	</tr>
	<tr class="row-52 even">
		<td class="column-1">Gisroscópio</td><td class="column-2">Não</td>
	</tr>
	<tr class="row-53 odd">
		<td class="column-1">Barômetro</td><td class="column-2">Não</td>
	</tr>
	<tr class="row-54 even">
		<td class="column-1"></td><td class="column-2"></td>
	</tr>
	<tr class="row-55 odd">
		<td class="column-1">Características adicionais</td><td class="column-2"></td>
	</tr>
	<tr class="row-56 even">
		<td class="column-1">Navegador</td><td class="column-2">Android WebKit</td>
	</tr>
	<tr class="row-57 odd">
		<td class="column-1">Adobe Flash</td><td class="column-2">Adobe Flash Player</td>
	</tr>
	<tr class="row-58 even">
		<td class="column-1">Serviços de localização</td><td class="column-2">Assisted GPS, E-Compass</td>
	</tr>
	<tr class="row-59 odd">
		<td class="column-1">Luz de notificação</td><td class="column-2">Tricolor</td>
	</tr>
	<tr class="row-60 even">
		<td class="column-1">Vibração</td><td class="column-2">Sim</td>
	</tr>
</tbody>
</table>
</p>
<p>.</p>
<p>Fui usuário da primeira versão do Milestone, que já era um dispositivo muito bom, bastante responsivo e competente. Depois dele, acabei pegando um iPhone 4 na esperança de me acostumar <span id="more-489"></span>- já havia sido dono de um iPhone 3g e acabei não gostando &#8211; O resultado porém não foi diferente, não consigo me acostumar com a falta de liberdade e dependência excessiva ao iTunes.</p>
<p>Quando descobri, via <a href="http://www.gizmodo.com.br/conteudo/motorola-lanca-atrix-o-smartphone-dos-seus-sonhos-que-vira-ate-laptop/">Gizmodo</a>, este novo aparelho [o Atrix], fiquei instantâneamente apaixonado por ele. Veja este vídeo, e entenda um pouco da minha paixão por ele:</p>
<p><a href="http://www.youtube.com/watch?v=sjZI94VfC1U">http://www.youtube.com/watch?v=sjZI94VfC1U</a></p>
<p>Saiba, em detalhes, porque gostei dele:</p>
<p><strong><span style="color: #0000ff;">Hardware imponente</span></strong><br />
O Atrix possui um processador interno dual core, cada núcleo com 1Ghz. Além disso, possui 1Gb de memória RAM.<br />
Estes são os dois fatores que fazem com que a abertura de aplicativos, visualização de páginas e recurso de multi-tarefas seja impecável.</p>
<p><span style="color: #0000ff;"><strong>Tela grande, com resolução perfeita</strong></span><br />
A tela de 4&#8242; do Atrix pode parecer grande demais para você, mas acredite: Em questão de minutos, terá se acostumado e nunca mais vai querer uma tela menor em sua vida.<br />
Ela é grande o bastante para te deixar boquiaberto, para possibilitar a visualização de muito conteúdo em sites, por exemplo, para fazer inveja aos usuários de iPhone, ou simplesmente para enxergar melhor, com seu número elevado de pixels. Ao mesmo tempo, ela é pequena o bastante para permitir que guardemos o celular no bolso, sem parecer que estamos andando com um tablet, carteira, ou moldura de fotos por aí.</p>
<p><span style="color: #0000ff;"><strong>Sensor de digitais</strong></span><br />
Pode parecer frescura, mas honestamente, isto me fascinou. Quantas mil vezes você foi mostrar algo no seu celular para alguém e precisou digitar a senha para desbloquear, bem debaixo do nariz do cidadão ?<br />
E se, por ventura, aquela senha for usada para outros fins (bancos, por exemplo), como fica ?<br />
Poder apenas deslizar o dedo sobre o sensor e ter o aparelho desbloqueado é um recurso muito útil, prático e bastante seguro.</p>
<p><span style="color: #0000ff;"><strong>Webtop</strong></span><br />
Eu nunca havia ouvido falar no termo em si, mas já havia lido a respeito do conceito. Achei outra sacada fantástica, algo que na minha cabeça ainda levaria alguns anos para ser implementado. E temos duas opções, que explico melhor:</p>
<ul>
<li><span style="color: #ff0000;"><strong>Dock HD</strong></span><br />
O dock HD, que, aliás, é incluso no pacote (quando comprado na Vivo), transforma seu Atrix em um computador de mesa. Ele possui uma saída HDMI que deve ser ligada em TV&#8217;s ou monitores, e três saídas USB, que podem ser usadas para plugar mouse, teclado, pendrives, etc.<br />
Ao escolher a aplicação Webtop na tela do seu Atrix, o dispositivo de saída (provavelmente sua TV) irá mostrar o logotipo da Motorola, indicando o processo de abertura do software. Ao final, temos um desktop completo, com navegador, programas de mensagem instantânea, e acesso, inclusive, à tela do celular, caso precisemos rodar algum aplicativo nele.</li>
<li><span style="color: #ff0000;"><strong>Lapdock</strong></span><br />
Além do dock HD descrito acima, temos uma espécie de &#8220;carcaça de laptop&#8221;. Explico melhor: Um case de plástico, com monitor, teclado e touchpad embutidos, com um slot disponível atrás do primeiro. Nele, você pluga o Atrix, e processo similar ao da Dock acontece: Seu celular vira um laptop instantâneo, com acesso a todos os arquivos que você carrega diariamente consigo em seu cartão SD.</li>
</ul>
<p>É ou não é uma idéia fabulosa ?</p>
<p><span style="color: #0000ff;"><strong>Central de Entretenimento</strong></span><br />
Possivelmente este programa possui algum outro nome do exterior, mas ao menos no meu (levemente customizado pela Vivo) ficou assim.<br />
Trata-se de um programa que transforma seu Atrix em um Media Center, sendo possível assistí-los numa TV ou monitor plugados no celular via HDMI.<br />
Sim, isto significa que você pode baixar aquele vídeo em HD (o Atrix suporta!) e assistir na TV, no conforto da sua cama. E tem mais, caso você use a dock HD, ainda terá de lambuja a facilidade de poder controlar tudo via controle remoto, incluído no pacote.</p>
<p>A Motorola já prometeu a atualização do Android instalado no Atrix para a versão mais recente (Gingerbread), já que ele veio embarcado com o Froyo, razoavelmente desatualizado.</p>
<p>Adquiri o aparelho ontem e, pra ser honesto, estou muito animado com todos os recursos que ele possui, e tem potencial para ainda ter num futuro próximo.</p>
<p>Em breve irei adicionar fotos ao post, e possivelmente um video de demonstração do recurso de Webtop.</p>
<img src="http://www.lsmod.net/?ak_action=api_record_view&id=489&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.lsmod.net/hands-on-motorola-atrix/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>As diferentes formas de matar um programa</title>
		<link>http://www.lsmod.net/as-diferentes-formas-de-matar-um-programa/</link>
		<comments>http://www.lsmod.net/as-diferentes-formas-de-matar-um-programa/#comments</comments>
		<pubDate>Fri, 08 Apr 2011 20:25:22 +0000</pubDate>
		<dc:creator>Jeremias Zerbini</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Posix]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[sighup]]></category>
		<category><![CDATA[sigkill]]></category>
		<category><![CDATA[sigterm]]></category>
		<category><![CDATA[termination signal]]></category>

		<guid isPermaLink="false">http://www.lsmod.net/?p=481</guid>
		<description><![CDATA[Recentemente tive de explicar a um conhecido as diferenças entre matar um programa &#8220;graciosamente&#8221; e forçá-lo imediatamente a parar de funcionar. Pareceu uma guerra interminável. E é compreensível, uma vez que nem todos estão acostumados com a idéia de &#8220;pedir gentilmente&#8221; a um programa que se feche, ainda mais explicitando a forma como isso deve [...]]]></description>
			<content:encoded><![CDATA[<p>Recentemente tive de explicar a um conhecido as diferenças entre matar um programa &#8220;graciosamente&#8221; e forçá-lo imediatamente a parar de funcionar.</p>
<p>Pareceu uma guerra interminável. E é compreensível, uma vez que nem todos estão acostumados com a idéia de &#8220;pedir gentilmente&#8221; a um programa que se feche, ainda mais explicitando a forma como isso deve ser feito. Acredito que principalmente quem nunca desenvolveu algo na vida tem os maiores problemas aceitando esse conceito.</p>
<p>Imagine um (ou vários) processos do Postgres rodando. Você decide que ele é um gargalo no seu sistema, e você quer fechá-lo (crianças, não façam isso em casa&#8230;). Existe uma diferença <span style="color: #0000ff;">brutal</span> entre mandar um <strong>kill -9</strong> (sigkill) e um <strong>kill -3</strong> (sigquit).</p>
<p>Segue abaixo uma tabelinha de diferentes sinais, que eu chupinhei da <a href="http://en.wikipedia.org/wiki/Signal_%28computing%29">Wikipédia</a> e <a href="http://www.gnu.org/s/libc/manual/html_node/Termination-Signals.html">deste outro site</a>:<br />
<strong>
<table id="wp-table-reloaded-id-1-no-1" class="wp-table-reloaded wp-table-reloaded-id-1">
<thead>
	<tr class="row-1 odd">
		<th class="column-1">Sinal</th><th class="column-2">Número correspondente</th><th class="column-3">Descrição</th>
	</tr>
</thead>
<tbody>
	<tr class="row-2 even">
		<td class="column-1">SIGTERM</td><td class="column-2">15</td><td class="column-3">SIGTERM é o sinal padrão, usado para terminar um programa. Usar o comando kill sem especificar o sinal numérico no Linux irá usar SIGTERM por default.</td>
	</tr>
	<tr class="row-3 odd">
		<td class="column-1">SIGINT</td><td class="column-2">2</td><td class="column-3">SIGINT corresponde, no mundo dos mortais, à famosa combinação de Control+C. A aplicação decide, então, o que fazer com o sinal INT que recebeu. Em muitos casos (shell scripts, por exemplo) a aplicação é quebrada imediatamente. Noutros, porém, o tratamento do INT pode ser diferenciado - a aplicação pode decidir fechar suas conexões, por exemplo, antes de ser interrompida.</td>
	</tr>
	<tr class="row-4 even">
		<td class="column-1">SIGQUIT</td><td class="column-2">3</td><td class="column-3">O sinal QUIT é o padrão para fechar aplicações não-responsivas "gentilmente". Ele é mais poderoso que o TERM, que muitas vezes simplesmente é incapaz de matar um processo. Este, porém, permite que o programa emita um core dump de sua operação, tornando possível a detecção de eventuais problemas.</td>
	</tr>
	<tr class="row-5 odd">
		<td class="column-1">SIGKILL</td><td class="column-2">9</td><td class="column-3">KILL é, definitivamente, o mais bruto dos sinais. Ele mata o processo independentemente das suas operações atuais. Não irá esperar por retornos, fechamento de conexões, dump de dados ou qualquer outro output. SIGKILL é usado para matar aplicações completamente não-responsivas, e deve ser usado com cautela, pois pode, no exemplo do banco de dados acima, corromper tabelas, índices, etc.</td>
	</tr>
	<tr class="row-6 even">
		<td class="column-1">SIGHUP</td><td class="column-2">1</td><td class="column-3">HUP é usado para indicar desconexão de terminal, geralmente. Seja por uma queda na internet, ou telefonema, ou qualquer outro tipo de quebra de sinal. HUP é usado, por exemplo, numa sessão SSH com processos pendentes, quando de repente a conexão foi cortada.</td>
	</tr>
</tbody>
</table>
</strong></p>
<p>&nbsp;</p>
<p>A tabela com todos os sinais existentes e seus significados pode ser  encontrada no link para a Wikipedia, porém estes são os mais usados.</p>
<p>Todos devem ser usados de acordo com a situação, e devidamente tratados no código do programa. Dependendo da vontade do programador, pode-se interpretar os sinais para processar uma série de rotinas antes do término real da aplicação, e é importante respeitar o processo, sob pena de eventual perda de dados.<strong><br />
</strong></p>
<img src="http://www.lsmod.net/?ak_action=api_record_view&id=481&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.lsmod.net/as-diferentes-formas-de-matar-um-programa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DD-WRT no seu Router</title>
		<link>http://www.lsmod.net/atualizando-seu-roteador-com-o-dd-wrt/</link>
		<comments>http://www.lsmod.net/atualizando-seu-roteador-com-o-dd-wrt/#comments</comments>
		<pubDate>Fri, 01 Apr 2011 03:56:20 +0000</pubDate>
		<dc:creator>Jeremias Zerbini</dc:creator>
				<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Posix]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[dd-wrt]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[roteador]]></category>
		<category><![CDATA[segurança]]></category>

		<guid isPermaLink="false">http://www.lsmod.net/?p=300</guid>
		<description><![CDATA[Alguns anos atrás eu havia lido uma notícia de que um grupo de usuários havia desenvolvido um firmware novo para muitos modelos de routers, baseado em Linux, com inúmeras opções extras de otimização, assim como alguns hacks e opções novas de controle do router. O DD-WRT. Após descobrir que uma dessas opções era determinar a [...]]]></description>
			<content:encoded><![CDATA[<p>Alguns anos atrás eu havia lido uma notícia de que um grupo de usuários havia desenvolvido um firmware novo para muitos modelos de routers, baseado em Linux, com inúmeras opções extras de otimização, assim como alguns hacks e opções novas de controle do router. <a href="http://www.dd-wrt.com">O DD-WRT.</a></p>
<p>Após descobrir que uma dessas opções era determinar a potência de transmissão das antenas podendo fazer uma espécie de &#8220;overclock&#8221;, resolvi botar a mão na massa e atualizar os meus.</p>
<p>As vantagens que percebi até agora:<br />
- Aumentar a potência do sinal;<br />
- Opções muito mais avançadas e melhoradas na parte de QoS e Port Forwarding;<span id="more-300"></span><br />
- Controle básico de acesso a websites direto no Router (básico, porém melhor que o nativo);<br />
- Bloqueio de alguns serviços P2P;<br />
- Interface gráfica muito mais bonita, detalhada e rica em recursos;<br />
- Rodar Linux no router ! (priceless).</p>
<p>Claro, existem muitas outras opções, mas nelas nem mexi ainda. Minha rede doméstica é bem básica, basicamente configurada para permitir navegação web e alguns serviços de torrent e SSH, viabilizados pela compra do poderoso <a href="http://www.lsmod.net/2011/02/storage-caseiro-com-snakeos-e-ns-k330/">NS-K330</a> que também adquiri recentemente.</p>
<p>O primeiro passo para a instalação do DD-WRT é encontrar, <a href="http://www.dd-wrt.com/site/support/router-database">nesta URL</a>, o firmware que irá substituir o padrão, que veio com o seu roteador. Muitos dispositivos contam com pouca RAM, processador fajuto e/ou de diferentes arquiteturas. Por esta razão, teremos de selecionar <span style="color: #ff0000;"><strong>cuidadosamente</strong></span> a versão usada. Podemos &#8220;brickar&#8221; o aparelho se fizermos besteira na atualização do software.</p>
<p>Em casa tenho dois roteadores Linksys. Um deles é o WRT54G &#8220;modelo 6.0 (número serial começa com CDFD)&#8221;, que será usado neste artigo por ser um modelo bastante comercializado no Brasil ainda nos tempos atuais.<br />
Todos os WRT54G&#8217;s são compatíveis, com exceção ao &#8220;modelo 7.0&#8243;, que possui hardware diferente, com menos RAM. Confira <a href="http://dd-wrt.com/wiki/index.php/Linksys_WRT54G_v7.2_%26_8.0_%26_v8.2">neste endereço</a> como descobrir a versão do seu. Não atualize seu firmware sem <strong>ter certeza</strong> do que está fazendo. Não me responsabilizo por danos aos equipamentos avariados, obviamente.</p>
<p>A grande verdade é que os procedimentos, apesar de um pouco genéricos (muita coisa é igual para todos os roteadores), diferem entre as diferentes marcas, e também diferem dentro da mesma marca, por conta da história de modelos mencionada acima. De novo, os procedimentos aqui descritos são apenas para orientação e exemplo. Eles irão funcionar perfeitamente num roteador IGUAL ao mencionado aqui, mas por favor, para outras marcas/modelos, consulte o site oficial do DD-WRT.</p>
<p>Segue o how-to, finalmente:</p>
<ul>
<li>Baixe o arquivo GV5Flash.zip &#8211; <a href="http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58231">Encontrado aqui</a>.</li>
<li>Leia o seguinte texto: <a href="http://babelfish.yahoo.com/translate_url?doit=done&amp;tt=url&amp;intl=1&amp;fr=bf-home&amp;trurl=http%3A%2F%2Fwww.dd-wrt.com%2FphpBB2%2Fviewtopic.php%3Ft%3D51486&amp;lp=en_pt&amp;btnTrUrl=Translate">Tradução do Babelfish</a> ou <a href="http://www.dd-wrt.com/phpBB2/viewtopic.php?t=51486">original em inglês</a> para melhor orientação.</li>
<li>Fazer um &#8220;hard-reset&#8221; do seu roteador. O procedimento está descrito no link acima, mas aqui vai mais claramente:</li>
</ul>
<ol>
<li>Com o roteador ligado, <strong>aperte o botãozinho</strong> de reset nas costas do dispositivo, e <strong>segure-o</strong> por 30 segundos.</li>
<li>Ao final do tempo, <strong>ainda segurando</strong> o botão de reset, <strong>desplugue</strong> o cabo de força por outros 30 segundos.</li>
<li>Ao final do tempo, <strong>plugue novamente</strong> o cabo de força do roteador. Ao final do processo, você terá segurado o botão de reset, <strong>sem soltar</strong>, por <span style="color: #ff0000;"><strong>90</strong></span> segundos.</li>
</ol>
<ul>
<li>Configure o IP do seu computador para algo como 192.168.1.7. Deixe o IP de final .1 liberado para o roteador. Deixe a sub-mascara em 255.255.255.0. Em seguida, conecte seu computador no roteador diretamente. De preferência, desligue firewalls ou outros programas que possam interferir na operação.</li>
<li>Descompacte o arquivo <strong>Gv5Flash.zip</strong>, baixado no primeiro passo, e jogue seu conteúdo na sua pasta de preferência.</li>
<li>Dentro dele, teremos outro arquivo zip, chamado <strong>vximgtoolgui.zip</strong>. Descompacte-o também. Em seguida, inicie o programa vximgtoolgui.exe, certificando-se de que botão superior contém WRT54G.</li>
<li>No campo descrito &#8220;Desired MAC&#8221; (MAC desejado), preencha com o MAC Address atual do seu roteador. Ele pode ser encontrado na página de administração online do seu dispositivo. Se você não sabe o que é MAC Address, recomendo que pare de tentar seguir este tutorial.</li>
<li>Clique no botão com as reticências próximo a &#8220;output imagem&#8221; (imagem de destino) e salve o arquivo com um nome apropriado, como &#8220;BackupFirmware54g.bin&#8221;, ou algo de sua preferência, na pasta onde estamos alocando os arquivos.</li>
<li>Desplugue o roteador da tomada por 30 segundos. Ligue-o em seguida.</li>
<li>Navegue para 192.168.1.1 (ou o IP determinado por você previamente). Ao invés da tela de manutenção, você deverá agora ver a página normal de administração do roteador. Se por ventura a página de manutenção aparecer, desligue o roteador novamente até que ela desapareça, e a página normal venha a ser exibida.</li>
<li><span style="color: #ff0000;"><strong>Usuário</strong></span> e <span style="color: #3366ff;"><strong>senha</strong></span> para login: <span style="color: #ff0000;"><strong>root</strong></span> / <strong><span style="color: #3366ff;">admin</span></strong></li>
<li>Navegue para Administração -&gt; Firmware Upgrade.</li>
<li>Selecione o arquivo <strong>vxworks_prep_v03.bin</strong>, que está dentro do arquivo ZIP que baixamos na primeira etapa. Confirme a atualização.</li>
<li>Espere por <strong>CINCO MINUTOS completos.</strong> Não toque no roteador neste meio tempo. Vá tomar um café.</li>
<li>Após ter aguardado os CINCO MINUTOS, desligue o roteador da tomada por 30 segundos. Religue-o, e navegue para 192.168.1.1 no seu computador.<br />
Você deverá ser apresentado à tela de manutenção desta vez.</li>
<li>Selecione o arquivo que geramos algumas etapas acima (BackupFirmware54g.bin) e selecione &#8220;Apply&#8221;.</li>
<li>Espere a mensagem de &#8220;Update completed&#8221;. Após a mensagem aparecer, aguarde novamente por CINCO minutos, sem tocar no roteador.</li>
<li>Inicie o tftp.exe (presente também no pacote baixado no início):</li>
</ul>
<ol>
<li>Entre com o IP <span style="color: #ff0000;">192.168.1.1</span> para o campo de <span style="color: #ff0000;">endereço</span>,</li>
<li>Deixe a senha em <span style="color: #ff0000;">branco</span>,</li>
<li>Selecione o firmware <span style="color: #ff0000;">dd-wrt.v24-12548_NEWD_micro.bin</span> (ou substitua pelo nome mais recente do arquivo, se houver),</li>
<li>Configure o campo &#8220;<span style="color: #ff0000;">retries</span>&#8221; para <span style="color: #ff0000;">99</span>,</li>
<li>Refaça o procedimento de <span style="color: #ff0000;">desligar</span> o roteador da tomada por 30 segundos,</li>
<li>Conte até 2,</li>
<li>Aperte &#8220;<span style="color: #ff0000;">update</span>&#8220;.</li>
</ol>
<ul>
<li>Quando você receber uma mensagem de sucesso (SUCCESS em inglês), aguarde por CINCO minutos extras. Após este período, tente acessar o seu roteador pelo navegador, no IP 192.168.1.1.<br />
Caso você não receba a mensagem de sucesso, repita as etapas de 1 a 7 acima (incluindo a etapa anterior, de abrir o tftp.exe, se necessário).</li>
<li>Após ser capaz de acessar o site de gerenciamento, desligue o roteador da tomada por 30 segundos, e religue-o.<br />
Após religá-lo, tente acessar novamente o site. Em caso de sucesso, refaça as etapas do HARD reset:</li>
</ul>
<ol>
<li>Com o roteador ligado, <strong>aperte o botãozinho</strong> de reset nas costas do dispositivo, e <strong>segure-o</strong> por 30 segundos.</li>
<li>Ao final do tempo, <strong>ainda segurando</strong> o botão de reset, <strong>desplugue</strong> o cabo de força por outros 30 segundos.</li>
<li>Ao final do tempo, <strong>plugue novamente</strong> o cabo de força do roteador. Ao final do processo, você terá segurado o botão de reset, <strong>sem soltar</strong>, por <span style="color: #ff0000;"><strong>90</strong></span> segundos.</li>
</ol>
<p>Pronto ! Complicado, mas vale bastante a pena. Você já pode reconfigurar o IP do seu computador para DHCP, se preferir. Navegue pelas opções do DD-WRT, ajuste os campos de usuário e senha do PPPoE e a internet já estará funcionando.</p>
<p>Agora é a hora de brincar nas opções extras ! Recomendo &#8220;twinkar&#8221; a opção de Potência de TX (o tanto de megawatts usados na antena, isso faz o sinal ficar mais forte). Valor mínimo de 1, máximo de 251mW, deixei o meu com 180 e melhorou bastante a conexão aqui em casa.</p>
<p>É isso, tutorial concluído. Como eu já disse mais pra cima, este artigo em específico é para o WRT54G &#8220;modelo 6.0&#8243;. Se você possui um roteador diferente deste, leia atentamente as instruções que podem ser encontradas <a href="http://www.dd-wrt.com/">no site oficial do projeto.</a></p>
<img src="http://www.lsmod.net/?ak_action=api_record_view&id=300&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.lsmod.net/atualizando-seu-roteador-com-o-dd-wrt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nove características do veterano em Unix</title>
		<link>http://www.lsmod.net/nove-caracteristicas-do-veterano-em-unix/</link>
		<comments>http://www.lsmod.net/nove-caracteristicas-do-veterano-em-unix/#comments</comments>
		<pubDate>Wed, 23 Feb 2011 17:39:51 +0000</pubDate>
		<dc:creator>Jeremias Zerbini</dc:creator>
				<category><![CDATA[Humor]]></category>
		<category><![CDATA[Posix]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://www.lsmod.net/?p=456</guid>
		<description><![CDATA[Característica número 1: Não usamos o sudo Da mesma forma como o caps lock desligado é lei para os moderados, sudo é coisa para os tímidos. Se nós precisamos fazer algo como root, nós então usamos su para root, e não esse lance sem sentido de sudo. Mais ainda: Nos sistemas Unix que forçam o [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Característica número 1: Não usamos o <span style="color: #ff0000;">sudo</span></strong><br />
Da mesma forma como o caps lock desligado é lei para os moderados, sudo é coisa para os tímidos. Se nós precisamos fazer algo como root, nós então usamos <span style="color: #0000ff;"><strong>su</strong></span> para root, e não esse lance sem sentido de <span style="color: #0000ff;"><strong>sudo</strong></span>. Mais ainda: Nos sistemas Unix que forçam o uso de sudo para todos os usuários, a primeira coisa que fazemos é <span style="color: #0000ff;"><strong>sudo su -,</strong></span> alteramos a senha de root para que possamos confortávelmente rodar<strong><span style="color: #0000ff;"> su -</span></strong> mais tarde. Usar exclusivamente o sudo é como jogar boliche com as proteções metálicas em uso &#8212; mais seguro, mas também faz você não pensar direito no que está fazendo.</p>
<p><strong>Característica número 2: Nós usamos <span style="color: #ff0000;">vi</span>, não emacs e definitivamente não pico ou nano</strong><br />
Todos sabemos que o emacs é muito querido por uma grande quantidade de administradores Unix, porém também sabemos que ele é o equivalente Unix ao Microsoft Word. <span id="more-456"></span>O vi &#8212; e implicitamente o vim &#8212; é a verdadeira ferramenta para os geeks veteranos em Unix que precisam de agilidade nas suas tarefas, e não querem se preocupar com o monte de coisas estranhas que vêm junto com o Emacs. O Emacs possui um jogo de Tetris embutido, pelo amor de Deus.</p>
<p>Podemos admitir grunhindo que recursos do vim como &#8220;code folding&#8221; e destaque de sintaxe de várias linguagens pode ser considerado &#8220;fofo&#8221; por alguns, mas no final do dia, tarefas de verdade no Unix combinam muito bem com os conceitos de edição modal do vi. Além disso, seu pequeno tamanho e portabilidade universal o transformam na melhor escolha de editor de textos. Obrigado Bill, obrigado Bram.</p>
<p><strong>Característica número 3: Nós empunhamos expressões regulares como armas</strong><br />
Para os leigos, mesmo o mais simples regex pode soar como digitação de bêbado. Para nós, porém, é a mais pura poesia. O poder representado na complexidade da pcre (Perl Compatible Regular Expressions) não pode ser vencido por outra ferramenta alguma.<br />
Se você precisar substituir todos os terceiros caracteres num arquivo de 100.000 linhas, exceto quando ele é sucedido pelo número 4, as expressões regulares não são apenas uma forma de ter o trabalho feito &#8211; elas são a única forma de conseguir isto. Aqueles que se recusam a aprender regex fazem a si mesmos e seus colegas um desserviço diário.<br />
Em todo grupo de usuários Unix de tamanho razoável você irá encontrar um ou dois &#8220;savants&#8221; em regex. Estes pobres coitados vivem recebendo sequencias de strings em seus emails, acompanhados por pedidos de regex para traduzí-las. Usualmente seguidos pela promessa de algumas cervejas, que nunca chegam a ser entregues.</p>
<p><strong>Característica número 4: Somos inerentemente preguiçosos</strong><br />
Quando alguém nos apresenta um problema que envolve muito trabalho manual e repetitivo, nós Unix de antigamente sempre iremos optar por escrever algum trecho de código que dê conta do recado. Isto normalmente toma menos tempo do que a opção manual, mas nem sempre. Porém isto não importa, nós sempre preferimos gastar estes minutos e horas construindo algo que poderá ser utilizado depois, ao invés de simplesmente consertar o problema imediatamente. Normalmente, isto nos rende bons momentos quando nos deparamos com um problema semelhante ao anterior alguns anos depois, e então poderemos simplesmente arrancar algumas centenas de linhas de Perl do nosso home directory, resolver o problema em questão de minutos, e tornar a resolver algum outro código. Ou então podemos jogar Angry Birds por mais tempo.</p>
<p><strong>Característica número 5: Nós preferimos soluções elegantes</strong><br />
Se existem diversas maneiras de consertar um problema ou alcançar uma meta, nós iremos optar por gastar mais tempo desenvolvendo uma solução que resolva o problema e previna que ele torne a acontecer, ao invés de simplesmente puxar o Band-Aid. Isto tem a ver com o fato de odiarmos voltar a um problema que já &#8220;marcamos como resolvido&#8221; em nossos cérebros. A moral da história é que, se podemos resolver um problema de uma vez por todas gastando um pouco mais de tempo hoje, o faremos, para que tenhamos menos dores de cabeça no futuro.</p>
<p><strong>Característica número 6: Nós geralmente assumimos que o problema está com a pessoa que faz a pergunta</strong><br />
Atingir um certo nível de expertise em Unix é ser extremamente confiante nas suas habilidades e conhecimentos. Isto significa que nós nunca pensamos que um problema existe até que possamos vê-lo pessoalmente. Falar para um veterano em Unix que um arquivo &#8220;simplesmente sumiu&#8221; vai resultar em zombaria na certa. <span style="color: #0000ff;"><strong>Prove</strong></span> para ele que aquilo realmente aconteceu, e você irá se deparar com alguém que irá mergulhar no problema incansávelmente, até que uma causa razoável e sua soluções sejam encontradas.<br />
Muitos podem achar que isso é um sinal de arrogância ou prepotência. E é, mas nós temos este direito.</p>
<p><strong>Característica número 7: Nós temos mais em comum com os médicos legistas do que com doutores</strong><br />
Quando lidamos com um problema muito grande, nós iremos gastar muito mais tempo no &#8220;pós-morte&#8221; do que com a solução do problema. A menos que a carga de trabalho absolutamente não nos permita gastar um tempinho com a investigação, nós precisamos saber a causa absoluta do problema. Não existe mágica no mundo do administrador <em>hardcore</em> de Unix; cada situação precisa partir de uma certa lógica e seguí-la nos moldes corretos. Ou seja, existe uma razão para tudo, e nós não vamos deixar pedra sobre pedra até a encontrarmos.</p>
<p>Para nós, é fácil estancar o sangramento mandando um HUP para um processo ou mudando permissões num arquivo ou diretório para 777, mas esta não é nem metade da história. Porque o processo precisou ser reiniciado ? Isto não deveria ser necessário normalmente, e nós precisamos saber o porque das coisas.</p>
<p><strong>Característica número 8: Nós sabemos mais de Windows do que deixamos transparecer</strong><br />
Apesar de não rodarmos Windows nos nossos computadores pessoais, e parecer que não nos importamos nem um pouco com servidores Windows, nós somos geralmente bastante capazes de diagnosticar e consertar problemas neste sistema. Isto porque nós precisamos lidar com estes problemas quando eles ultrapassam os limites e caem no nosso território.<br />
No entanto, nós geralmente não gostamos de demonstrar estas habilidades, porque o Windows não segue os mesmos fundamentos lógicos do Unix, e isto nos incomoda. Vide características 5 e 6 acima.</p>
<p><strong>Característica número 9: Reinicializar o sistema quase nunca é a solução</strong><br />
Servidores Unix não precisam de reboot. A menos que não haja absolutamente nenhuma outra opção, nós preferimos gastar horas e horas consertando um problema com um sistema online e funcional, do que reinicializá-lo. A moral da história é que não existe razão para um reboot a menos que precisamos efetuar mudanças no hardware, ou existe alguma atualização para o kernel que estejamos rodando. Reinicializar o servidor é apenas uma saída temporária para o problema. Se ele aconteceu uma única vez e foi &#8220;consertado&#8221; por um reboot, pode apostar que irá acontecer novamente. Nós preferimos consertá-lo já do que simplesmente puxar a tomada e esperar pela próxima ocorrência.</p>
<p>Se algumas dessas características parecerem anti-sociais ou difíceis de serem entendidas a partir da perspectiva de um leigo, é porque elas são. Onde alguns enxergam métodos super complicados ou intratáveis, nós vemos o caminho certo, oriundo de anos de aprendizado, experiência e, acima de tudo, lógica.</p>
<p>####</p>
<p>Este texto não foi escrito por mim. O original, de autoria de Paul Venezia, <a href="http://www.infoworld.com/print/151276">em inglês, se encontra neste endereço</a>, e honestamente, fica bem mais divertido no idioma original do que traduzido.</p>
<img src="http://www.lsmod.net/?ak_action=api_record_view&id=456&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.lsmod.net/nove-caracteristicas-do-veterano-em-unix/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Storage caseiro com SnakeOS e NS-K330</title>
		<link>http://www.lsmod.net/storage-caseiro-com-snakeos-e-ns-k330/</link>
		<comments>http://www.lsmod.net/storage-caseiro-com-snakeos-e-ns-k330/#comments</comments>
		<pubDate>Mon, 14 Feb 2011 13:55:50 +0000</pubDate>
		<dc:creator>Jeremias Zerbini</dc:creator>
				<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Posix]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[samba]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[torrent]]></category>

		<guid isPermaLink="false">http://www.lsmod.net/?p=407</guid>
		<description><![CDATA[Olá pessoal ! Alguns dias atrás, após 5 longos meses, minha encomenda chegou em casa. Estou falando do NAS chinês NS-K330, que os Correios fizeram o favor de perder na primeira remessa. Nada com o que o DealExtreme não esteja acostumado &#8211; Me enviaram outro assim que reclamei do acontecido. Por sorte eu estava com [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal !</p>
<p>Alguns dias atrás, após 5 longos meses, minha encomenda chegou em casa. Estou falando do <a href="http://www.dealextreme.com/p/standalone-bittorrent-bt-client-usb-nas-ftp-samba-printer-upnp-sharing-network-lan-server-26320">NAS chinês NS-K330</a>, que os Correios fizeram o favor de perder na primeira remessa. Nada com o que o DealExtreme não esteja acostumado &#8211; Me enviaram outro assim que reclamei do acontecido.</p>
<p>Por sorte eu estava com a noite livre, e logo de cara já resolvi o instalar em minha rede.</p>
<p>Para quem não sabe, o NS-K330 é um NAS multifuncional, pelo modesto preço de US$ 39,40, disponível para venda no Deal Extreme. <a href="http://www.dealextreme.com/details.dx/sku.26320" target="_blank">Clique aqui caso resolva comprá-lo</a>.<br />
O NS-K330 não possui um HD interno. Por esse preço também seria pedir demais, né ?<span id="more-407"></span></p>
<p>Ao invés, ele vem com duas portas USB, que você pode usar para plugar impressoras, pendrives e HD&#8217;s externos.<br />
Eu pessoalmente acho isso muito bom, pois podemos trocar as memórias quando lotarem e não estivermos com tempo para esvaziar tudo.</p>
<p>As utilizações desse brinquedinho são várias: Cliente de Bit Torrent (transmission), servidor Samba, FTP, SFTP, SSH, Telnet e HTTP.<br />
Eu o comprei especialmente pelas funções de torrent, mas todas as outras são bastante úteis, e bastante confiáveis. Isto é, claro, se considerarmos que ele possui aproximadamente 10&#215;5 cm de tamanho. É menor do que um smartphone, apesar de ser um pouco mais grosso.</p>
<p>Bom, sem mais delongas, vamos ao batente. O sistema operacional nativo dele é bem ruinzinho &#8211; depoimento de vários conhecidos, e também de outros clientes no site do produto la no DealExtreme. O que fazer então ?</p>
<p>Apresento-lhes o maravilhoso <a href="http://code.google.com/p/snake-os/">SnakeOS</a> !</p>
<p>O SnakeOS nada mais é do que um port do sistema operacional Linux para o hardware do NS-K330. Ele contém mais softwares, mais robustez e muito mais facilidades para os usuários.<br />
Por exemplo, interface web para o client de torrents Transmission, servidores de SSH, Cups, FTP e Samba, todos com configurações Unix-Like, com um uptime impressionante !</p>
<p>A instalação pode ser feita simplesmente baixando a imagem do firmware no site do projeto, e enviando para o nosso NAS caseiro pela interface de administração (caso estivermos instalando a partir do firmware original). Simples assim !<br />
As instruções de como atualizar do SnakeOS para o SnakeOS são igualmente simples, e <a href="http://code.google.com/p/snake-os/wiki/CurrentReleaseNotes">podem ser lidas neste endereço</a>, no wiki do projeto.</p>
<p>Após a instalação do NAS na tomada, plugamos um pendrive e o conectamos no router para começar a brincadeira. Pode-se acessar a interface dele via web, ativar o Transmission e pronto, temos um client acessível de qualquer lugar da nossa rede.<br />
Recomendo também que você <a href="http://www.google.com.br/search?q=dynamic+dns&amp;ie=utf-8&amp;oe=utf-8&amp;aq=t&amp;rls=org.mozilla:pt-BR:official&amp;client=firefox-a">crie uma conta no DynDNS ou No-IP</a>, para que possamos usar a opção do Snake de sincronizar, automaticamente, o IP do nosso brinquedinho com um DNS dinâmico na internet.</p>
<p>Isso mesmo, acessível de qualquer ponto do planeta. E essa é a grande jogada na minha opinião.</p>
<p>Imagine você chegar no escritório de manhã, e de lá mandar o SnakeOS/NS-K330 começar a baixar seu torrent favorito. Ao chegar em casa, você apenas precisa pegar o arquivo direto no Pendrive, ou acessar via Samba/SCP o arquivo, direto do nosso NAS caseiro. Interessante, não ?</p>
<p>Para mim, pelo preço pago, foi uma compra fantástica. Bom, barato e muito interessante.<br />
Algumas fotos, roubadas do site do produto no <a href="http://www.dealextreme.com/">DE</a>:</p>
<div id="attachment_440" class="wp-caption aligncenter" style="width: 610px"><a href="http://www.lsmod.net/wp-content/uploads/sku_26320_8.jpg"><img class="size-full wp-image-440" title="sku_26320_8" src="http://www.lsmod.net/wp-content/uploads/sku_26320_8.jpg" alt="http://www.dealextreme.com/details.dx/sku.26320" width="600" height="600" /></a><p class="wp-caption-text">O kit completo.</p></div>
<div id="attachment_441" class="wp-caption aligncenter" style="width: 610px"><a href="http://www.lsmod.net/wp-content/uploads/sku_26320_4.jpg"><img class="size-full wp-image-441" title="sku_26320_4" src="http://www.lsmod.net/wp-content/uploads/sku_26320_4.jpg" alt="http://www.dealextreme.com/details.dx/sku.26320" width="600" height="600" /></a><p class="wp-caption-text">As duas entradas USB presentes no NAS</p></div>
<div id="attachment_442" class="wp-caption aligncenter" style="width: 610px"><a href="http://www.lsmod.net/wp-content/uploads/sku_26320_3.jpg"><img class="size-full wp-image-442" title="sku_26320_3" src="http://www.lsmod.net/wp-content/uploads/sku_26320_3.jpg" alt="http://www.dealextreme.com/details.dx/sku.26320" width="600" height="600" /></a><p class="wp-caption-text">Interface ethernet, botão de reset, leds indicadores e entrada de linha</p></div>
<p>Espero que assim como eu, todos gostem e se divirtam com o gadget !<br />
Abraço a todos.</p>
<img src="http://www.lsmod.net/?ak_action=api_record_view&id=407&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.lsmod.net/storage-caseiro-com-snakeos-e-ns-k330/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>Instalando o OpenRecovery no Motorola Milestone</title>
		<link>http://www.lsmod.net/instalar-openrecovery-milestone/</link>
		<comments>http://www.lsmod.net/instalar-openrecovery-milestone/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 22:19:50 +0000</pubDate>
		<dc:creator>Jeremias Zerbini</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://www.lsmod.net/?p=370</guid>
		<description><![CDATA[Emputecido com a notícia de que a Motorola não vai disponibilizar o Froyo para clientes da América Latina ? Pois veja aqui uma maneira de ter, de maneira não-oficial, o Froyo instalado em seu Milestone. Em primeiro lugar, vou ensinar como instalar o OpenRecovery, uma ferramenta essencial para completarmos nossa missão. Baixe o programa chamado [...]]]></description>
			<content:encoded><![CDATA[<p>Emputecido com a notícia de que a Motorola <a href="http://br-linux.org/2010/motofail-no-brasil-motorola-milestone-nao-sera-atualizado-para-android-2-2/">não vai disponibilizar o Froyo para clientes da América Latina</a> ?<br />
Pois veja aqui uma maneira de ter, de maneira não-oficial, o Froyo instalado em seu Milestone.</p>
<p>Em primeiro lugar, vou ensinar como instalar o OpenRecovery, uma ferramenta essencial para completarmos nossa missão.<br />
Baixe o programa chamado GOT&#8217;s OpenRecovery, que será usado para aplicar a ROM. Ele pode ser encontrado <a href="http://www.multiupload.com/ORHI6UI34W">aqui</a>.</p>
<p>Para instalar este software, precisamos de um Milestone com root liberado.<br />
<span id="more-370"></span>Eu já postei aqui tutoriais de como <a href="http://www.lsmod.net/2010/05/liberando-root-no-motorola-milestone/">liberar o root no firmware 2.0</a>, e <a href="http://www.lsmod.net/2010/07/liberar-root-no-milestone-firmware-2-1/">também para o 2.1</a>.</p>
<p>Com o arquivo baixado, simplesmente descompacte-o (no meu caso, o arquivo se chama <strong>OR-GOTmod_v1.04a.zip)</strong> na raíz do seu cartão de memória SD.<br />
Isto fará com que você tenha um arquivo <span style="color: #0000ff;">U</span><span style="color: #0000ff;">pdate.zip</span> na raíz, e uma pasta chamada <span style="color: #0000ff;">OpenRecovery</span> no primeiro nível.</p>
<p>Feita a cópia, desligue e ligue seu aparelho. Ao religar, lembre-se de <span style="color: #0000ff;">s</span><span style="color: #0000ff;">egurar a tecla X do teclado físico ou o botão da câmera fotográfica</span> (isso depende do seu firmware e versão de hardware) até aparecer o famoso triângulo.</p>
<p>Quando o triângulo aparecer, pode soltar o botão da câmera. Agora, <span style="color: #0000ff;">pressione, ao mesmo tempo, o &#8220;Volume up&#8221; (botão de aumentar o volume) e o botão da câmera</span>.<br />
Irá aparecer um menu na tela do seu Milestone. Selecione a opção <strong><span style="color: #0000ff;">apply sdcard:update.zip</span></strong></p>
<p>Pronto, temos o OpenRestore no Milestone. Ele vai nos ajudar a aplicar o Froyo, além de nos permitir fazer backups importantíssimos em breve.</p>
<p>Até a próxima !</p>
<img src="http://www.lsmod.net/?ak_action=api_record_view&id=370&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.lsmod.net/instalar-openrecovery-milestone/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Faça seu cron calar a boca (e deixar de entupir sua mailbox)</title>
		<link>http://www.lsmod.net/faca-seu-cron-calar-a-boca-e-deixar-de-entupir-sua-mailbox/</link>
		<comments>http://www.lsmod.net/faca-seu-cron-calar-a-boca-e-deixar-de-entupir-sua-mailbox/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 18:57:31 +0000</pubDate>
		<dc:creator>Jeremias Zerbini</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Posix]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[crontab]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mailer daemon]]></category>

		<guid isPermaLink="false">http://www.lsmod.net/?p=305</guid>
		<description><![CDATA[Se você também se irrita com os trilhões de emails que o Cron eventualmente envia para sua mailbox, faça como muitos: Apenas insira o seguinte trecho após a linha correspondente ao job, no crontab: &#62;/dev/null 2&#62;&#38;1 Ou seja, se o job era: 0-59/5 * * * * root /usr/bin/fetchmail -f /root/.fetchmailrc -a -s -K -F [...]]]></description>
			<content:encoded><![CDATA[<p>Se você também se irrita com os trilhões de emails que o Cron eventualmente envia para sua mailbox, faça como muitos:<br />
Apenas insira o seguinte trecho após a linha correspondente ao job, no crontab:</p>
<p><span style="color: #ff0000;"><strong>&gt;/dev/null 2&gt;&amp;1</strong></span></p>
<p>Ou seja, se o job era:<span id="more-305"></span></p>
<p><strong><span style="color: #0000ff;">0-59/5 * * * * root /usr/bin/fetchmail -f /root/.fetchmailrc -a -s -K -F</span></strong></p>
<p>Ele vai ficar assim:</p>
<p><span style="color: #ff0000;"><strong>0-59/5 * * * * root /usr/bin/fetchmail -f /root/.fetchmailrc -a -s -K -F &gt;/dev/null 2&gt;&amp;1</strong></span></p>
<p>Tadá ! Sem mais aquela enxurrada de emails inúteis na sua caixa.<br />
Claro, faça isso apenas para jobs que não exibem algo de útil no output, como por exemplo erros ao processar algo.</p>
<img src="http://www.lsmod.net/?ak_action=api_record_view&id=305&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.lsmod.net/faca-seu-cron-calar-a-boca-e-deixar-de-entupir-sua-mailbox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  www.lsmod.net/tag/linux/feed/ ) in 0.90771 seconds, on Feb 12th, 2012 at 1:53 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 12th, 2012 at 2:53 pm UTC -->
