<?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>Da Correia Fotorreceptora &#187; anedota</title>
	<atom:link href="http://andreum.blog.br/pt/tag/anedota/feed/" rel="self" type="application/rss+xml" />
	<link>http://andreum.blog.br/pt</link>
	<description>Sem tagline agora</description>
	<lastBuildDate>Wed, 22 Oct 2008 22:17:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Uma aventura em bash</title>
		<link>http://andreum.blog.br/pt/2008/02/10/uma-aventura-em-bash/</link>
		<comments>http://andreum.blog.br/pt/2008/02/10/uma-aventura-em-bash/#comments</comments>
		<pubDate>Sun, 10 Feb 2008 20:19:31 +0000</pubDate>
		<dc:creator>andre</dc:creator>
				<category><![CDATA[lang:pt]]></category>
		<category><![CDATA[anedota]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[calvin]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[scp]]></category>
		<category><![CDATA[spiff]]></category>
		<category><![CDATA[sysadm]]></category>
		<category><![CDATA[tecnologia]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[W.A.S.T.E]]></category>

		<guid isPermaLink="false">http://andreum.blog.br/pt/2008/02/10/uma-aventura-em-bash/</guid>
		<description><![CDATA[Em uma lista de discussão da qual eu participo, cujo nome não deve ser mencionado nunca, as pessoas começaram a discutir bobagens feitas em servidores Unix, e eu pude contar uma história que aconteceu comigo em 1998. Se você é um administrador Unix ou, em especial Linux, você provavelmente vai achar interessante. Caso contrário, você [...]]]></description>
			<content:encoded><![CDATA[<p>Em uma lista de discussão da qual eu participo, cujo nome não deve ser mencionado nunca, as pessoas começaram a discutir bobagens feitas em servidores Unix, e eu pude contar uma história que aconteceu comigo em 1998. Se você é um administrador Unix ou, em especial Linux, você provavelmente vai achar interessante. Caso contrário, você vai achar ainda mais chato que os posts habituais.</p>
<p>Eu estava conectado em um servidor Linux remoto, resolvendo um problema grave e urgente nos servidores SMTP de um cliente, um grande grupo editorial e de mídia cujo nome todos conhecem. Isso era resultado de um trabalho de consultoria.</p>
<p>Eu editei um script para mover alguns arquivos de diretório, e esse script moveu o diretório /bin para algum lugar desconhecido.</p>
<p>O que aconteceu foi mais ou menos o seguinte:<br />
<code><br />
# [cria]<br />
# [roda]<br />
... script demora demais<br />
^C<br />
# ls<br />
ls: command not found<br />
# cd /bin<br />
/bin: no such file or directory<br />
# mkdir /bin<br />
mkdir: command not found<br />
</code></p>
<p>&#8230; desespero, diversas tentativas de recuperar o diretório /bin, medo, etc&#8230;</p>
<p>Daí eu me toquei: eu estou em uma máquina Linux, com exatamente a mesma distribuição e versão. A máquina remota aceita login como root. Tudo que eu preciso fazer é copiar o meu diretório /bin para a máquina remota usando o scp. Então eu tento:</p>
<p><code>local$ scp -pr /bin root@remote:/bin<br />
Password:<br />
/bin/bash: command not found</code></p>
<p>Lógico, duh! Então eu fiquei esperto:</p>
<p><code># which perl<br />
/usr/bin/perl<br />
# perl -e 'mkdir "/bin"'<br />
#<br />
</code></p>
<p>Isso! Agora eu só precisava novamente do bash, que eu sabia que ainda existia na máquina, porque, afinal de contas, eu estava com uma instância aberta. Então eu fiz o seguinte:</p>
<p><code># perl &gt; /bin/cat</code><br />
<code><br />
while(&lt;&gt;) {<br />
print<br />
}<br />
^D<br />
#!/usr/bin/perl<br />
while(&lt;&gt;) {<br />
print<br />
}<br />
^D<br />
# perl -e 'chmod "/bin/cat", 0777'<br />
# cat /proc/self/exe &gt; /bin/bash<br />
# perl -e 'chmod "/bin/bash", 0777'<br />
</code></p>
<p>E então eu tinha um bash funcionando! Então eu rodei o scp novamente e funcionou direitinho. Claro que cada passo me tomou bastante tempo, porque eu tive de testar cada comando e cada tecla, porque se eu perdesse esse shell, eu não teria nenhuma saída. Eu não falei das outras tentativas, como enviar via ftp, rsync, encontrar o diretório para onde eu tinha movido o /bin, rodar vi, find, etc, etc, etc. No total, devem ter sido uns 30 minutos, ou talvez mais, ou menos, não sei. O tempo estava andando de forma estranha naquela tarde. Nas festas certas é uma história popular. A sensação no final foi <a href="http://www.appleplumber.com/spacemanspiff/School/Entries/2006/5/24_Light_Speed%21.html" title="Spaceman Spiff saves the day">esta</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://andreum.blog.br/pt/2008/02/10/uma-aventura-em-bash/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

