<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>parruda.net</title>
	
	<link>http://parruda.net</link>
	<description>Dicas sobre Linux, Redes, Servidores, iPhone, iPad, e o que mais eu puder ajudar</description>
	<lastBuildDate>Mon, 02 Jan 2012 04:11:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/parruda/BmbG" /><feedburner:info uri="parruda/bmbg" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:browserFriendly></feedburner:browserFriendly><item>
		<title>[Shell] Como procurar em um arquivo por “bolo de laranja”, sem gostar de chocolate?</title>
		<link>http://parruda.net/2011/12/14/shell-como-procurar-em-um-arquivo-por-bolo-de-laranja-sem-gostar-de-chocolate/</link>
		<comments>http://parruda.net/2011/12/14/shell-como-procurar-em-um-arquivo-por-bolo-de-laranja-sem-gostar-de-chocolate/#comments</comments>
		<pubDate>Wed, 14 Dec 2011 03:05:35 +0000</pubDate>
		<dc:creator>Paulo Arruda</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[procurar]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[string]]></category>

		<guid isPermaLink="false">http://parruda.net/?p=546</guid>
		<description><![CDATA[O título pode parecer confuso, mas digamos que você queira procurar com o comando grep a string &#8220;bolo de laranja&#8221; no arquivo de receitas da sua mãe, mas você não gosta de bolo de laranja com chocolate (te confundi mais ainda não?), e não quer que sejam exibidos resultados como &#8220;bolo de laranja com chocolate&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>O título pode parecer confuso, mas digamos que você queira procurar com o comando grep a string &#8220;bolo de laranja&#8221; no arquivo de receitas da sua mãe, mas você não gosta de bolo de laranja com chocolate (te confundi mais ainda não?), e não quer que sejam exibidos resultados como &#8220;bolo de laranja com chocolate&#8221; (aaah, agora sim!).</p>
<p>Até pouco tempo atrás, poderíamos fazer assim:</p>
<p><code>grep "bolo de laranja" receitas.txt | grep -v "bolo de laranja com chocolate"</code></p>
<p>É rude, mas funciona.</p>
<p>Ou você pode fazer isso de forma simples e elegante, usando o suporte (experimental) à expressões regulares do PERL:</p>
<p><code>grep -P 'bolo de laranja(?&lt;! com chocolate)' receitas.txt</code></p>
<div id="facebook_like"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fparruda.net%2F2011%2F12%2F14%2Fshell-como-procurar-em-um-arquivo-por-bolo-de-laranja-sem-gostar-de-chocolate%2F&amp;layout=standard&amp;show_faces=true&amp;width=500&amp;action=like&amp;font=segoe+ui&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:80px;" allowTransparency="true"></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://parruda.net/2011/12/14/shell-como-procurar-em-um-arquivo-por-bolo-de-laranja-sem-gostar-de-chocolate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Shell] Escapando a contrabarra no comando sed</title>
		<link>http://parruda.net/2011/12/14/escapando-a-contrabarra-no-comando-sed/</link>
		<comments>http://parruda.net/2011/12/14/escapando-a-contrabarra-no-comando-sed/#comments</comments>
		<pubDate>Wed, 14 Dec 2011 02:49:26 +0000</pubDate>
		<dc:creator>Paulo Arruda</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[contrabarra]]></category>
		<category><![CDATA[escapar]]></category>
		<category><![CDATA[sed]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://parruda.net/?p=549</guid>
		<description><![CDATA[Algumas vezes me deparo com algumas strings chatas de substituir via sed: 39\ha.txt Para substituir o caractere &#8220;\&#8221; por &#8220;:&#8221;, por exemplo, basta fazer isso: echo "39\ha.txt" &#124; sed -e 's@\\@:@g' E diga adeus aos seus problemas]]></description>
			<content:encoded><![CDATA[<p>Algumas vezes me deparo com algumas strings chatas de substituir via sed:</p>
<p><code>39\ha.txt</code></p>
<p>Para substituir o caractere &#8220;\&#8221; por &#8220;:&#8221;, por exemplo, basta fazer isso:</p>
<p><code>echo "39\ha.txt" | sed -e 's@\\@:@g'</code></p>
<p>E diga adeus aos seus problemas <img src='http://parruda.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<div id="facebook_like"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fparruda.net%2F2011%2F12%2F14%2Fescapando-a-contrabarra-no-comando-sed%2F&amp;layout=standard&amp;show_faces=true&amp;width=500&amp;action=like&amp;font=segoe+ui&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:80px;" allowTransparency="true"></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://parruda.net/2011/12/14/escapando-a-contrabarra-no-comando-sed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Ubuntu] Visualizando todas as dependências de um pacote com o apt-rdepends</title>
		<link>http://parruda.net/2011/12/14/ubuntu-visualizando-todas-as-dependencias-de-um-pacote-com-o-apt-rdepends/</link>
		<comments>http://parruda.net/2011/12/14/ubuntu-visualizando-todas-as-dependencias-de-um-pacote-com-o-apt-rdepends/#comments</comments>
		<pubDate>Wed, 14 Dec 2011 02:45:51 +0000</pubDate>
		<dc:creator>Paulo Arruda</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[apt-rdepends]]></category>
		<category><![CDATA[dependencias]]></category>
		<category><![CDATA[pacotes]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[visualizar]]></category>

		<guid isPermaLink="false">http://parruda.net/?p=544</guid>
		<description><![CDATA[Alguma vez você já quis saber de antemão quais são, e quais as versões dos pacotes extras instalados quando você precisou instalar um programa com o apt-get? Aconteceu comigo ontem. Os motivos são vários. Talvez você queira saber se a instalação de um pacote instalará outro que é incompatível com algum software que você possui. [...]]]></description>
			<content:encoded><![CDATA[<p>Alguma vez você já quis saber de antemão quais são, e quais as versões dos pacotes extras instalados quando você precisou instalar um programa com o apt-get?</p>
<p>Aconteceu comigo ontem.</p>
<p>Os motivos são vários. Talvez você queira saber se a instalação de um pacote instalará outro que é incompatível com algum software que você possui.<br />
Existe uma solução: <strong>apt-rdepends</strong></p>
<p>Para instalar:</p>
<p><code>sudo apt-get install apt-rdepends</code></p>
<p>Depois é só executar. Exemplo:</p>
<p><code>sudo apt-rdepends postfix</code></p>
<div id="facebook_like"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fparruda.net%2F2011%2F12%2F14%2Fubuntu-visualizando-todas-as-dependencias-de-um-pacote-com-o-apt-rdepends%2F&amp;layout=standard&amp;show_faces=true&amp;width=500&amp;action=like&amp;font=segoe+ui&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:80px;" allowTransparency="true"></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://parruda.net/2011/12/14/ubuntu-visualizando-todas-as-dependencias-de-um-pacote-com-o-apt-rdepends/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lançado o Zimbra Colaboration Server 7</title>
		<link>http://parruda.net/2011/02/23/lancado-o-zimbra-colaboration-server-7/</link>
		<comments>http://parruda.net/2011/02/23/lancado-o-zimbra-colaboration-server-7/#comments</comments>
		<pubDate>Wed, 23 Feb 2011 18:57:38 +0000</pubDate>
		<dc:creator>Paulo Arruda</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Utilidades]]></category>
		<category><![CDATA[correio colaborativo]]></category>
		<category><![CDATA[zimbra]]></category>

		<guid isPermaLink="false">http://parruda.net/?p=480</guid>
		<description><![CDATA[Foi lançada este mês a versão 7.0.0 do VMware Zimbra Colaboration Server. Para quem não conhece, o Zimbra é uma plataforma colaborativa Cliente-Servidor, com as funcionalidades de Correio, Mensageiro Instantâneo, Contatos, Agenda, Gerenciador de Tarefas e Porta Arquivos, possibilitando a criação de documentos online (parecido com o google docs). Segundo a VMware, o lema desta [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://parruda.net/wp-content/uploads/2011/01/zimbra.png"><img class="size-medium wp-image-414 alignright" title="zimbra" src="http://parruda.net/wp-content/uploads/2011/01/zimbra-300x84.png" alt="" width="300" height="84" /></a>Foi lançada este mês a versão 7.0.0 do VMware Zimbra Colaboration Server. Para quem não conhece, o Zimbra é uma plataforma colaborativa Cliente-Servidor, com as funcionalidades de Correio, Mensageiro Instantâneo, Contatos, Agenda, Gerenciador de Tarefas e Porta Arquivos, possibilitando a criação de documentos online (parecido com o google docs).</p>
<p>Segundo a VMware, o lema desta versão é &#8220;<a href="http://blog.zimbra.com/blog/archives/2011/02/share-more-send-less-with-zimbra-7.html">Compartilhe mais, envie menos</a>&#8220;.</p>
<p>Seguem abaixo algumas das novidades mais interessantes que vieram no Zimbra 7 Open Source:</p>
<h2>Recursos Administrativos</h2>
<p></p>
<ul>
<li>Conta de email para quarentena das mensagens contaminadas por vírus;</li>
<li>Possibilidade de controle do tempo de auto-salvamento de rascunho ao digitar emails;</li>
<li>Maior controle das listas de distribuição: agora é possível determinar quem poderá enviar emails para certas listas de distribuição;</li>
<li>Controle de whitelist/blacklist de SPAM por domínio.</li>
</ul>
<h2>Interface WEB</h2>
<p></p>
<ul>
<li>A aplicação &#8220;Documentos&#8221; foi removida, concentrando tudo no porta-arquivos. Todas as páginas pré existentes em &#8220;Documentos&#8221; serão migradas automaticamente para o porta-arquivos no ato da atualização do sistema, incluindo a estrutura de pastas e os nomes dos arquivos;</li>
<li>Ao digitar um email utilizando o recurso autocompletar, a interface mostrará um botão &#8220;+&#8221; ao lado do email digitado caso o mesmo seja uma lista, possibilitando assim a visualização dos membros desta lista;</li>
<li>Possibilidade de criação de filtros para mensagens enviadas;</li>
<li>Possibilidade de recuperação de mensagens que foram apagadas ou excluídas da lixeira (com a ação esvaziar lixeira). Basta clicar com o botão direito na lixeira e selecionar &#8220;Recuperar itens Deletados&#8221;. Este recurso pode ser habilitado na interface administrativa do Zimbra para cada COS (grupo de usuários);</li>
<li>Ao deletar um evento da agenda, uma janela popup aparecerá caso você deseje apagar todos os itens em série;</li>
<li>Possibilidade de escolha de qual conta de email receberá os lembretes da agenda e das tarefas;</li>
<li>Possibilidade de adicionar múltiplos anexos em uma mensagem de email segurando-se a tecla CTRL;</li>
<li>Possibilidade de anexar emails, contatos e arquivos do Porta-Arquivos em uma mensagem;</li>
<li>Possibilidade de duplicar eventos da agenda;</li>
<li>Porta arquivos com suporte a controle de versão. Usuários podem reverter o arquivo para versões anteriores;</li>
<li>Possibilidade de trava de Porta-Arquivos para que um usuário não apague o trabalho do outro;</li>
<li>Possibilidade de envio programado de emails. Este recurso pode ser definido por COS;</li>
<li>Zimlet LinkedIn, permitindo que um usuário convide outro para participar de sua rede de contatos direto da interface do Zimbra;</li>
<li>Assinaturas podem agora ser configuradas por conta, e os usuários podem configurar diferentes assinaturas em uma mensagem, podendo também escolher um contato a ser anexado de acordo com a assinatura escolhida.</li>
</ul>
<p>Existem muitas outras novidades, que podem ser conferidas nas <a href="http://files2.zimbra.com/website/docs/7.0/Zimbra%20OS%20Release%20Notes%207.0.pdf" target="_blank">Notas da Versão</a> (em inglês).</p>
<div id="facebook_like"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fparruda.net%2F2011%2F02%2F23%2Flancado-o-zimbra-colaboration-server-7%2F&amp;layout=standard&amp;show_faces=true&amp;width=500&amp;action=like&amp;font=segoe+ui&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:80px;" allowTransparency="true"></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://parruda.net/2011/02/23/lancado-o-zimbra-colaboration-server-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Criando um Storage barato com iSCSI no Debian Squeeze</title>
		<link>http://parruda.net/2011/02/04/criando-um-storage-barato-com-iscsi-no-debian-squeeze/</link>
		<comments>http://parruda.net/2011/02/04/criando-um-storage-barato-com-iscsi-no-debian-squeeze/#comments</comments>
		<pubDate>Fri, 04 Feb 2011 13:38:57 +0000</pubDate>
		<dc:creator>Paulo Arruda</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[iscsi]]></category>
		<category><![CDATA[squeeze]]></category>
		<category><![CDATA[storage]]></category>

		<guid isPermaLink="false">http://parruda.net/?p=445</guid>
		<description><![CDATA[O objetivo deste artigo é preparar vocês para os próximos, onde falarei bastante sobre alta disponibilidade (HA) e virtualização de servidores, e utilizarei os conhecimentos aplicados aqui em alguns tutoriais. O lançamento do Debian Squeeze está bem próximo, então já começarei a basear meus artigos nesta versão ok?  Vamos lá! Uma grande dificuldade para quem está [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="alignleft size-medium wp-image-474" title="storage2" src="http://parruda.net/wp-content/uploads/2011/02/storage2-300x193.jpg" alt="" width="300" height="193" />O objetivo deste artigo é preparar vocês para os próximos, onde falarei bastante sobre alta disponibilidade (HA) e virtualização de servidores, e utilizarei os conhecimentos aplicados aqui em alguns tutoriais. O lançamento do Debian Squeeze está bem próximo, então já começarei a basear meus artigos nesta versão ok?  Vamos lá!</p>
<p style="text-align: justify;">Uma grande dificuldade para quem está começando no mundo de infraestrutura é ter a oportunidade de testar seus conhecimentos e fazer experiências utilizando equipamentos caros como um Storage. Mas, felizmente, existe uma forma de criarmos um Storage de baixo custo com aquele computador antigo, de 1GB de RAM, um disco de 1TB e uma placa de rede Gigabit.</p>
<p><span style="text-decoration: underline;">Importante:</span></p>
<p style="text-align: justify;">1) Ao fazer a instalação do Debian Squeeze, certifique-se de deixar uma partição com o maior espaço possível para armazenas os dados, sendo o &#8220;disco&#8221; do Storage que estamos montando. Por exemplo, em um disco de 1TB, utilize 20GB para o sistema e todo o resto em uma partição no fim do disco.</p>
<p style="text-align: justify;">2) Não é possível montar o mesmo disco iSCSI em mais de um servidor e acessá-lo simultaneamente. Logo, se você planeja conectar vários servidores no nosso Storage, sugiro que divida o espaço livre de armazenamento de acordo com o número de computadores que utilizarão o Storage, em partições lógicas ou utilizando LVM, adaptando os nomes dos dispositivos no procedimento deste tutorial.</p>
<p>3) Para fins didáticos, vou utilizar a partição <em>/dev/sda3</em> como disco do Storage.</p>
<p>Vamos começar instalando os pacotes necessários:</p>
<p><code>apt-get install iscsitarget</code></p>
<p style="text-align: justify;">No momento da criação deste post, não encontrei o pacote <em>iscsitarget-module</em> nos repositórios oficiais do Squeeze, logo, vamos compilar o módulo iSCSI utilizando o module assistant:</p>
<p><code>apt-get install ﻿iscsitarget-source module-assistant<br />
m-a a-i iscsitarget</code></p>
<p>Se tudo correr bem, você será capaz de carregar o módulo com o comando:</p>
<p><code>modprobe iscsi_trgt﻿</code></p>
<p style="text-align: justify;">O serviço <em>iscsitarget</em> vem desabilitado por padrão. Para habilitá-lo, edite o arquivo ﻿﻿<em>/etc/default/iscsitarget</em> e troque false por true:</p>
<p style="text-align: justify;"><code>ISCSITARGET_ENABLE=true</code></p>
<p style="text-align: justify;">Agora vamos criar o target editando o arquivo <em>/etc/iet/ietd.conf</em>. Este arquivo armazena as informações dos discos que serão exportados via iSCSI.</p>
<p style="text-align: justify;">O arquivo original vem com muita coisa comentada, o que pode dificultar seu entendimento. Vamos renomeá-lo e criar um novo.</p>
<p style="text-align: justify;"><code>mv /etc/iet/ietd.conf /etc/iet/ietd.conf.original</code></p>
<p>Crie o arquivo <em>/etc/iet/ietd.conf</em> com o conteúdo abaixo:</p>
<p><code>Target storage.2011-02.lan.dominio:disco1<br />
User<br />
Lun 0 Path=/dev/sda3,Type=fileio</code></p>
<p style="text-align: justify;">O padrão iSCSI define que o &#8220;Target name&#8221; (o que vem logo depois da palavra Target) deve ser um nome único, seguindo a seguinte sintaxe:</p>
<p><code>nomeUnico.yyyy-mm.&lt;nome.de.domínio.ao.contrário&gt;[:NomeParaOdisco]</code></p>
<p>onde <em>yyyy</em> é o ano de criação do disco e <em>mm</em> é o mês.</p>
<p style="text-align: justify;">Por padrão, o <em>iscsitarget</em> do Debian Squeeze aceita conexões provenientes de qualquer endereço IP, conforme visto na última linha do arquivo <em>/etc/iet/initiators.allow</em>. O ideal seria modificar, liberando apenas os IPs que vão ter acesso ao Storage. Basta trocar a linha &#8220;<code>ALL ALL</code>&#8221; por:</p>
<p><code>ALL x.x.x.x</code></p>
<p style="text-align: justify;">trocando &#8220;<code>x.x.x.x</code>&#8221; pelo IP da máquina que terá acesso ao Storage.</p>
<p style="text-align: justify;">Como o objetivo deste tutorial é ensinar a tecnologia, vamos deixar a configuração do arquivo <em>initiators.allow</em> em &#8220;<code>ALL ALL</code>&#8221; mesmo. Mas tome o cuidado de modificar esta configuração após seus testes com o iSCSI.</p>
<p style="text-align: justify;">Existem outras formas de configurar este arquivo, por exemplo dando acesso a apenas um dispositivo para um certo IP, ou liberando toda uma rede para acessar o Storage. Para maiores informações, consulte a documentação que se encontra dentro do próprio arquivo <em>/etc/iet/initiators.allow</em>.</p>
<p style="text-align: justify;">Finalizando, vamos reiniciar o serviço!</p>
<p><code>/etc/init.d/iscsitarget restart</code></p>
<p>Conferindo se ele está de pé:</p>
<p><code>netstat -natupe | grep ietd<br />
tcp  0  0 0.0.0.0:3260  0.0.0.0:*  OUÇA  0  31684  11709/ietd<br />
tcp6 0  0 :::3260       :::*       OUÇA  0  31685  11709/ietd</code></p>
<p style="text-align: justify;">E assim termina nosso tutorial! Em breve publicarei um artigo ensinando a conectar um servidor Linux ao dispositivo criado por nós neste tutorial!</p>
<p>Dúvidas, comentários ou sugestões, serão bem vindas <img src='http://parruda.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div id="facebook_like"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fparruda.net%2F2011%2F02%2F04%2Fcriando-um-storage-barato-com-iscsi-no-debian-squeeze%2F&amp;layout=standard&amp;show_faces=true&amp;width=500&amp;action=like&amp;font=segoe+ui&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:80px;" allowTransparency="true"></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://parruda.net/2011/02/04/criando-um-storage-barato-com-iscsi-no-debian-squeeze/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Como restringir alguns usuários do Zimbra a enviar e/ou receber emails apenas para domínios específicos [ATUALIZADO]</title>
		<link>http://parruda.net/2011/02/02/como-restringir-alguns-usuarios-do-zimbra-a-enviar-eou-receber-emails-apenas-para-dominios-especificos/</link>
		<comments>http://parruda.net/2011/02/02/como-restringir-alguns-usuarios-do-zimbra-a-enviar-eou-receber-emails-apenas-para-dominios-especificos/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 17:00:07 +0000</pubDate>
		<dc:creator>Paulo Arruda</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[envio]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[recebimento]]></category>
		<category><![CDATA[restringir]]></category>
		<category><![CDATA[restringir domínios]]></category>
		<category><![CDATA[restringir usuários]]></category>
		<category><![CDATA[zimbra]]></category>

		<guid isPermaLink="false">http://parruda.net/?p=30</guid>
		<description><![CDATA[ATUALIZADO: Este tutorial foi atualizado e testado para a versão 6.xx do Zimbra. Certa vez um cliente me pediu para restringir apenas alguns usuários do Zimbra a enviar e receber emails apenas para o domínio do correio da empresa. Fuçando na internet, não achei uma documentação que explicasse como fazer ambas as restrições, apenas cada [...]]]></description>
			<content:encoded><![CDATA[<p><strong>ATUALIZADO</strong>: Este tutorial foi atualizado e testado para a versão 6.xx do Zimbra.</p>
<p>Certa vez um cliente me pediu para restringir apenas alguns usuários do Zimbra a enviar e receber emails apenas para o domínio do correio da empresa. Fuçando na internet, não achei uma documentação que explicasse como fazer ambas as restrições, apenas cada uma separadamente.<br />
Infelizmente, as inúmeras soluções existentes no Wiki do Zimbra não coexistem em paz. Fui procurar ajuda na documentação oficial do Postfix. Resolvi meu problema e vou postar aqui como.</p>
<p>Este tutorial é baseado no Zimbra Colaboration Suite 6 Open Source.</p>
<p><strong>Obs</strong>.: Tudo é feito com o usuário ROOT.</p>
<p>Edite o arquivo <em>/opt/zimbra/postfix/conf/main.cf</em> e mude a linha que começa com &#8220;smtpd_recipient_restrictions&#8221; para:</p>
<p><code>smtpd_recipient_restrictions = check_recipient_access hash:/opt/zimbra/conf/receber, reject_non_fqdn_recipient, permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, reject_unlisted_recipient, reject_invalid_hostname, reject_non_fqdn_sender, permit</code></p>
<p>Agora, adicione as seguintes linhas ao final do mesmo arquivo:</p>
<p><code>smtpd_sender_restrictions = check_sender_access hash:/opt/zimbra/conf/enviar<br />
restringe_recebimento = check_sender_access hash:/opt/zimbra/conf/dominios, reject<br />
restringe_envio = check_recipient_access hash:/opt/zimbra/conf/dominios, reject<br />
smtpd_restriction_classes = restringe_envio,restringe_recebimento</code></p>
<p>Edite o arquivo /opt/zimbra/conf/﻿﻿﻿postfix_recipient_restrictions.cf e adicione a linha abaixo <strong>no início do arquivo</strong>:</p>
<p><code>check_recipient_access hash:/opt/zimbra/conf/receber</code></p>
<p>Crie os arquivos <em>enviar</em>, <em>receber</em> e <em>domínios</em>:</p>
<p><code>touch /opt/zimbra/conf/{enviar,receber,dominios}<br />
chown zimbra.zimbra /opt/zimbra/conf/{enviar,receber,dominios}</code></p>
<p>Crie o script <em>/opt/zimbra/conf/atualizar.sh</em> com o seguinte conteúdo:</p>
<p><code>#!/bin/bash<br />
POSTMAP="/opt/zimbra/postfix/sbin/postmap"<br />
cd /opt/zimbra/conf<br />
echo &gt; enviar<br />
echo &gt; receber<br />
echo &gt; dominios<br />
for i in $(cat emails_enviar.txt| grep -v "^#")<br />
do<br />
echo $i restringe_envio &gt;&gt; enviar<br />
done<br />
for i in $(cat emails_receber.txt| grep -v "^#")<br />
do<br />
echo $i restringe_recebimento &gt;&gt; receber<br />
done<br />
for i in $(cat dominios.txt| grep -v "^#")<br />
do<br />
echo $i OK &gt;&gt; dominios<br />
done<br />
$POSTMAP dominios<br />
$POSTMAP enviar<br />
$POSTMAP receber<br />
chown zimbra. enviar* receber* dominios* emails*<br />
su - zimbra -c "zmmtactl stop"<br />
su - zimbra -c "zmmtactl start"</code></p>
<p>E torne-o executável:</p>
<p><code>chmod +x /opt/zimbra/conf/atualizar.sh</code></p>
<p>Agora vamos criar os arquivos que você irá editar toda vez que quiser incluir ou excluir contas restritas e domínios para os quais estas contas restritas poderão interagir recebendo/enviando emails:</p>
<p><span style="color: #ff0000;">ATENÇÃO: os arquivos abaixo NÃO podem ficar vazios.</span></p>
<p>Crie o arquivo <em>/opt/zimbra/conf/dominios.txt.</em> Neste arquivo você deve colocar os domínios para os quais as contas restritas podem enviar ou receber emails. Exemplo:</p>
<p><code>suaempresa1.com.br<br />
suaempresa2.com.br</code></p>
<p>Crie o arquivo <em>/opt/zimbra/conf/emails_enviar.txt</em>. Neste arquivo você deve colocar a lista das contas que só podem enviar emails para os domínios contidos em /opt/zimbra/conf/dominios.txt. Separe cada usuário por linha, respeitando a sintaxe do arquivo. Exemplo:</p>
<p><code>rh@suaempresa1.com.br<br />
fulano@suaempresa1.com.br<br />
beltrano@suaempresa2.com.br</code></p>
<p>Por fim, crie o arquivo <em>/opt/zimbra/conf/emails_receber.txt</em>. Neste arquivo, coloque a lista das contas que só podem receber emails dos domínios contidos em <em>/opt/zimbra/conf/dominios.txt</em>. Separe cada usuário por linha, respeitando a sintaxe do arquivo. Exemplo:</p>
<p><code>rh@suaempresa1.com.br<br />
fulano@suaempresa1.com.br<br />
beltrano@suaempresa2.com.br</code></p>
<p>Ao final de tudo pronto, rode como ROOT o script criado anteriormente:</p>
<p><code>/opt/zimbra/conf/atualizar.sh</code></p>
<p>Espero ter ajudado <img src='http://parruda.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div id="facebook_like"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fparruda.net%2F2011%2F02%2F02%2Fcomo-restringir-alguns-usuarios-do-zimbra-a-enviar-eou-receber-emails-apenas-para-dominios-especificos%2F&amp;layout=standard&amp;show_faces=true&amp;width=500&amp;action=like&amp;font=segoe+ui&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:80px;" allowTransparency="true"></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://parruda.net/2011/02/02/como-restringir-alguns-usuarios-do-zimbra-a-enviar-eou-receber-emails-apenas-para-dominios-especificos/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Qual Linux estou usando?</title>
		<link>http://parruda.net/2009/07/20/qual-linux-estou-usando/</link>
		<comments>http://parruda.net/2009/07/20/qual-linux-estou-usando/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 02:50:52 +0000</pubDate>
		<dc:creator>Paulo Arruda</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[descobrir]]></category>
		<category><![CDATA[distribuição]]></category>
		<category><![CDATA[estou]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[qual]]></category>
		<category><![CDATA[usando]]></category>
		<category><![CDATA[versão]]></category>

		<guid isPermaLink="false">http://parruda.net/?p=164</guid>
		<description><![CDATA[Hoje fui contratado para reconfigurar um Apache. Problema de virtual host. Mas quando caí no shell, a primeira coisa que me perguntei foi: onde está o httpd.conf? Isso depende da distribuição, se ele foi instalado através de um gerenciador de pacotes. Pra descobrir qual distribuição estamos usando é bem facil: # cat /etc/*release # cat [...]]]></description>
			<content:encoded><![CDATA[<p>Hoje fui contratado para reconfigurar um Apache. Problema de virtual host. Mas quando caí no shell, a primeira coisa que me perguntei foi: onde está o httpd.conf? Isso depende da distribuição, se ele foi instalado através de um gerenciador de pacotes. Pra descobrir qual distribuição estamos usando é bem facil:</p>
<p><code># cat /etc/*release<br />
# cat /etc/motd<br />
# cat /etc/issue<br />
# uname -a</code></p>
<p>Esses 4 comandos vão te dar uma pista bem próxima, senão exata, de qual distribuição estamos falando. <img src='http://parruda.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Eu sei que a dica é simples, mas é o tipo de coisa tão simples que a gente nunca se preocupa em aprender!</p>
<div id="facebook_like"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fparruda.net%2F2009%2F07%2F20%2Fqual-linux-estou-usando%2F&amp;layout=standard&amp;show_faces=true&amp;width=500&amp;action=like&amp;font=segoe+ui&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:80px;" allowTransparency="true"></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://parruda.net/2009/07/20/qual-linux-estou-usando/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tutorial: Acessando remotamente via VNC um computador com linux que está protegido por um firewall que não é controlado por você</title>
		<link>http://parruda.net/2009/07/14/tutorial-acessando-remotamente-via-vnc-um-computador-com-linux-que-esta-protegido-por-um-firewall-que-nao-e-controlado-por-voce-usando-tunel-ssh/</link>
		<comments>http://parruda.net/2009/07/14/tutorial-acessando-remotamente-via-vnc-um-computador-com-linux-que-esta-protegido-por-um-firewall-que-nao-e-controlado-por-voce-usando-tunel-ssh/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 19:48:34 +0000</pubDate>
		<dc:creator>Paulo Arruda</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[acessar vnc atrás de firewall]]></category>
		<category><![CDATA[túnel ssh]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vinagre]]></category>
		<category><![CDATA[vnc]]></category>

		<guid isPermaLink="false">http://parruda.net/?p=75</guid>
		<description><![CDATA[Sim, eu tenho controle sobre o firewall da minha empresa. Mas a questão é: e se eu não tivesse? E se eu fosse um funcionário de outro departamento senão o de informática e precisasse terminar um serviço de casa? Se minha estação de trabalho fosse Windows seria fácil. A solução seria usar o LogmeIn. Mas [...]]]></description>
			<content:encoded><![CDATA[<p>Sim, eu tenho controle sobre o firewall da minha empresa. Mas a questão é: e se eu não tivesse? E se eu fosse um funcionário de outro departamento senão o de informática e precisasse terminar um serviço de casa? Se minha estação de trabalho fosse Windows <span style="text-decoration: line-through;">seria fácil</span>. A solução seria usar o <a href="http://www.logmein.com" target="_blank">LogmeIn</a>. Mas FELIZMENTE, é Ubuntu. Então vamos lá.</p>
<h2>Ingredientes</h2>
<p><strong>1.</strong> PC no trabalho, com o Ubuntu e o compartilhamento de Área de Trabalho ativado:</p>
<p><em>Sistema &gt; Preferencias &gt; Área de Trabalho Remota</em></p>
<p>Deixe como na figura abaixo, setando sua própria senha, é claro:</p>
<div id="attachment_79" class="wp-caption alignnone" style="width: 465px"><img class="size-full wp-image-79" title="Preferências da Área de Trabalho Remota" src="http://parruda.net/wp-content/uploads/2009/07/screenshot_002.jpeg" alt="Preferências da Área de Trabalho Remota" width="455" height="418" /><p class="wp-caption-text">Não esqueça de setar uma senha!</p></div>
<p><strong>2.</strong> PC da minha casa, com Ubuntu e os pacotes openssh-server e xtightvncviewer instalados</p>
<p>Como root, instale os pacotes:</p>
<p><code>apt-get install openssh-server xtightvncviewer</code></p>
<h2>Procedimento</h2>
<p>A mágica funciona assim: você faz uma conexão ssh para o PC da sua casa. Com alguns parâmetros passados na linha de comando do ssh, você consegue fazer com que o ssh-server da sua casa fique escutando em uma determinada porta XXXX com o IP 127.0.0.1, e todo tráfego para o IP 127.0.0.1 na porta XXXX no PC da sua casa será direcionado pelo túnel ssh que liga o PC da sua casa ao PC do seu trabalho (em uma porta específica).</p>
<p>Pareceu complicado? Vamos ver na prática!</p>
<p><strong>1.</strong> Do PC do seu trabalho, execute o comando:</p>
<p><code>ssh -C -N -R 5905:localhost:5900 seuusuario@ip.da.sua.casa</code></p>
<p>E misteriosamente, nada acontece&#8230; o prompt fica piscando&#8230;</p>
<p>A explicação:</p>
<p>-C <em>Ativa a compressão dos dados trafegados pela conexão do ssh</em></p>
<p>-N <em>Faz com que nenhum comando seja executado ao estabelecer a conexão. Ou seja, você não vai cair num shell na sua casa</em></p>
<p>-R 5905:localhost:5900 <em>Aqui está a mágica. Esta opção diz que todo tráfego realizado em direção ao PC da sua casa, na porta 5905, será redirecionado pelo túnel para o PC do seu trabalho, na porta 5900 (porta padrão do VNC)</em></p>
<p><strong>Obs</strong>.: Por default, o openssh-server da sua casa vai ficar escutando na porta que você indicou apenas na interface de loopback (127.0.0.1 ou localhost)</p>
<p><strong>2.</strong> Agora vá pra casa! Quando chegar lá, presumindo que você também instalou o xtightvncviewer como eu escrevi, rode o comando:</p>
<p><code>xtightvncviewer -encodings tight -quality 7 -compresslevel 9 -depth 8 localhost::5905</code></p>
<p>Digite a senha que você setou nas Preferências da Área de Trabalho Remota e&#8230; Voilá!</p>
<div id="facebook_like"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fparruda.net%2F2009%2F07%2F14%2Ftutorial-acessando-remotamente-via-vnc-um-computador-com-linux-que-esta-protegido-por-um-firewall-que-nao-e-controlado-por-voce-usando-tunel-ssh%2F&amp;layout=standard&amp;show_faces=true&amp;width=500&amp;action=like&amp;font=segoe+ui&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:80px;" allowTransparency="true"></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://parruda.net/2009/07/14/tutorial-acessando-remotamente-via-vnc-um-computador-com-linux-que-esta-protegido-por-um-firewall-que-nao-e-controlado-por-voce-usando-tunel-ssh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux: Os 15 comandos que os iniciantes precisam saber</title>
		<link>http://parruda.net/2009/07/13/linux-os-15-comandos-que-os-iniciantes-precisam-saber/</link>
		<comments>http://parruda.net/2009/07/13/linux-os-15-comandos-que-os-iniciantes-precisam-saber/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 19:03:06 +0000</pubDate>
		<dc:creator>Paulo Arruda</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[cat]]></category>
		<category><![CDATA[chown]]></category>
		<category><![CDATA[comandos do linux]]></category>
		<category><![CDATA[cp]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[Iniciante]]></category>
		<category><![CDATA[ls]]></category>
		<category><![CDATA[mv]]></category>
		<category><![CDATA[rm]]></category>
		<category><![CDATA[shutdown]]></category>
		<category><![CDATA[su]]></category>
		<category><![CDATA[sudo]]></category>
		<category><![CDATA[top]]></category>
		<category><![CDATA[touch]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://parruda.net/?p=64</guid>
		<description><![CDATA[1. Super usuário &#8211; sudo e su Uma das características principais de segurança do linux é seu sistema de permissão, que restringe bastante quem pode fazer o que. Muitos comandos e operações só estão disponíveis para o usuário root. Se você obter uma resposta como &#8220;permissão negada&#8221; ao tentar fazer alguma coisa através da linha [...]]]></description>
			<content:encoded><![CDATA[<p><strong>1. Super usuário &#8211; sudo e su</strong></p>
<p>Uma das características principais de segurança do linux é seu sistema de permissão, que restringe bastante quem pode fazer o que. Muitos comandos e operações só estão disponíveis para o usuário root. Se você obter uma resposta como &#8220;permissão negada&#8221; ao tentar fazer alguma coisa através da linha de comando, você precisa deixar o sistema saber que você tem permissão para fazê-lo, se tornando o super usuário (você vai precisar entrar com a senha de root).</p>
<p>Existem 2 maneiras distintas de se fazer isso. A primeira é o <em>sudo</em>, que permite um usuário a rodar certos comandos pré-definidos com permissões de super usuário. Isso é útil se, por exemplo, você quer que um usuário seja capaz de instalar um programa, mas não tenha a permissão de realizar qualquer outra tarefa de super usuário. Ter acesso ilimitado como root pode permitir que um usuário danifique o sistema se ele não souber o que está fazendo.<br />
O comando sudo só funciona para executar 1 comando de cada vez, da seguinte forma:</p>
<blockquote><p>sudo comando-para-executar</p></blockquote>
<p>Ex.: editando um arquivo de configuração do sistema</p>
<blockquote><p>sudo vim /etc/fstab</p></blockquote>
<p>O sistema vai pedir a sua senha. A senha que você vai digitar fica invisível, logo, não se desespere se o que você estiver digitando não aparecer. Por default, o comando sudo será bastante limitado à quais comandos são permitidos.</p>
<p>A outra maneira, que eu uso a todo momento, é o comando <em>su</em>. Este comando vai criar uma sessão como root no console atual, dando a você permissões ilimitadas sobre o sistema. Use este comando com muito cuidado!<br />
O seu uso é muito simples. Tudo o que você precisa fazer é digitar su e apertar ENTER.</p>
<blockquote><p>su</p></blockquote>
<p>Quando você acabar de realizar todas as tarefas como root, digite <em>exit</em> para finalizar a sessão.</p>
<p><strong>2. Mudando de diretório &#8211; cd</strong></p>
<p>Navegar pelos seus arquivos utilizando comandos pode parecer meio complicado, mas é bem fácil, uma vez que você se acostuma com isso. Esse comando, assim como alguns próximos neste artigo, vai permitir que você navegue pelo seu HD através do console sem perder muito tempo.</p>
<p>Para mudar de diretório você deve usar o comando <em>cd</em>, que significa Change Directory.<br />
Ex.:</p>
<blockquote><p>cd /home</p>
<p>cd /etc</p>
<p>cd /var/log</p>
<p>cd .. <em>Este comando vai te levar para 1 diretório acima do atual</em></p></blockquote>
<p><strong>3. Listando arquivos e diretórios &#8211; ls</strong></p>
<p>É claro que o maior propósito de se navegar pelo seu HD é a possibilidade de ver quais arquivos/diretórios existem. Usando o comando ls você pode ver o conteúdo do diretório atual (ou qualquer caminho especificado, vide exemplo). Existem dezenas de opções úteis no comando <em>ls</em>, o que significa que você pode dizer ao comando como se comportar quando executado, apenas incluindo um pouquinho de informação extra no comando. Exemplos:</p>
<blockquote><p>ls <em>Mostra todos os arquivos/pastas EXCETO as escondidas</em></p>
<p>ls -a <em>Mostra todos os arquivos/pastas, incluindo as escondidas</em></p>
<p>ls -l <em>Lista com mais detalhes</em></p>
<p>ls -s <em>Mostra o tamanho dos arquivos</em></p>
<p>ls -sh <em>Mostra o tamanho dos arquivos numa forma simples de ler</em></p>
<p>ls -lh <em>Combina -l e -sh</em></p>
<p>ls &#8211;help <em>Lista todas as opções disponíveis</em></p></blockquote>
<p><strong>4. Copiando &#8211; cp</strong></p>
<p>O comando <em>cp</em> é usado para copiar um arquivo ou diretório.</p>
<blockquote><p>cp arquivo-origem.txt caminho/de/destino/arquivo.txt</p>
<p>cp -f origem destino <em>Este comando vai forçar sobrescrever no destino sem perguntar.</em></p>
<p>cp -r pasta-de-origem destino <em>Este comando vai copiar um diretório inteiro, assim como seu conteúdo recursivamente.</em></p>
<p>cp &#8211;help <em>Mostra todas as opções disponíveis.</em></p></blockquote>
<p>Lembre-se: Você pode usar mais de uma opção de cada vez. Por exemplo, você pode usar <em>-fr</em> para forçar sobrescrever o destino enquanto faz uma cópia recursiva.</p>
<p><strong>5. Mover &#8211; mv</strong></p>
<p>O comando <em>mv</em> funciona de forma parecida ao comando <em>cp</em>, exceto que ele vai deletar os arquivos de origem uma vez que a duplicação estiver completa.</p>
<blockquote><p>mv arquivo-de-origem.txt caminho/de/destino/arquivo.txt</p>
<p>mv -f origem destino <em>Força sobrescrever sem perguntar.</em></p>
<p>mv -r pasta-de-origem destino <em>Vai mover o diretório e seu conteúdo recursivamente.</em></p>
<p>mv &#8211;help <em>Mostra todas as opções disponíveis.</em></p></blockquote>
<p><strong>6. Deletar &#8211; rm</strong></p>
<p>O comando rm é usado para deletar arquivos e diretórios. Sempre seja cauteloso com este comando, especialmente quando você usar a opção force ou recursive.</p>
<blockquote><p>rm arquivo.txt</p>
<p>rm -f arquivo.txt <em>Força deletar sem pedir confirmação.</em></p>
<p>rm -r diretório <em>Deleta o diretório e seu conteúdo, recursivamente. USE COM ATENÇÃO!</em></p></blockquote>
<p><strong>7. Criar um diretório &#8211; mkdir</strong></p>
<p>Criar um diretório é fácil com o comando <em>mkdir</em>:</p>
<blockquote><p>mkdir nome-do-diretório</p></blockquote>
<p><strong>8. Criar um novo arquivo &#8211; touch</strong></p>
<p>O comando <em>touch</em> vai criar um novo arquivo vazio, ou, se o arquivo já existe, o comando vai atualizar o status acessado/modificado do arquivo.</p>
<blockquote><p>touch nome-do-arquivo</p></blockquote>
<p><strong>9. Editor de Texto &#8211; vim</strong></p>
<p>O editor de text <em>vim</em> é bem rápido e leve, porém, pode ser um pouco complicado aprender seus comandos. Existem diversos sites que explicam seus comandos. Clique <a href="http://scottklarr.com/s/vim-commands" target="_blank">aqui</a> para ver uma lista de sites com informações dobre o Vim.</p>
<p><strong>10. Exibir o conteúdo de um arquivo &#8211; cat</strong></p>
<p>Esse comando é bastante simples, mas muito útil para ver rapidamente o conteúdo de um arquivo sem precisar usam um editor.</p>
<blockquote><p>cat nome-do-arquivo</p></blockquote>
<p><strong>11. Buscando strings &#8211; grep</strong></p>
<p>O comando <em>grep</em> é um pouco mais complexo, mas faz por merecer estar na lista dos 15 principais comandos do linux que você tem que aprender com seu coração! O comando grep vai procurar um arquivo, texto ou qualquer outra entrada e retornar quaisquer linhas que contenham a string que vc especificar. Digamos que você precisa procurar dentro de um arquivo de log por todos os erros que tenham a ver com o mysql. Ao invés de ter que ler todo o arquivo para achar as linhas que você precisa, o grep faz isso por você!</p>
<blockquote><p>grep &#8216;mysql&#8217; arquivo-de-log.log</p>
<p>grep -i &#8216;string&#8217; arquivo <em>Busca a string &#8216;string&#8217; sem se importar com maiúsculas/minúsculas.</em></p>
<p>grep &#8216;string&#8217; arquivo1 arquivo2 arquivo3 <em>Procura em vários arquivos</em></p>
<p>comando | grep &#8216;string&#8217; <em>Procura a a string &#8220;string&#8221; na saída de texto retornada pelo comando &#8220;comando&#8221;.</em></p>
<p>grep &#8211;help <em>Lista todas as opções disponíveis. E são muitas&#8230;</em></p></blockquote>
<p><strong>12. Permissões de arquivos &#8211; chmod</strong></p>
<p>Algumas vezes você precisa mudar as permissões de um arquivo para que outros usuários e grupos possam ler, escrever ou executar-lo. Existem 2 comandos que servem para isso. O primeiro é o <em>chown</em>, que muda o dono/grupo do arquivo.</p>
<blockquote><p>chown novo-usuarios arquivo</p></blockquote>
<p>O segundo comando é o <em>chmod</em>, que permite que você modifique as permissões do arquivo. Exemplos simples:</p>
<blockquote><p>chmod +x arquivo</p>
<p>chmod 755 arquivo</p></blockquote>
<p>Para mais informações sobre como usar o comando chmod para mudar permissões específicas baseadas em usuários e grupos, veja este artigo do <a href="http://en.wikipedia.org/wiki/Chmod" target="_blank">Wikipédia sobre o chmod</a>.</p>
<p><strong>13. Tabela de processos &#8211; top</strong></p>
<p>O comando <em>top</em> é muito útil. Ele vai mostrar os processos que mais consomem recursos, assim como algumas informações como o uso de CPU, uptime, usuários e uso de memória.</p>
<p><strong>14. Ligar/Desligar &#8211; shutdown</strong></p>
<blockquote><p>shutdown now <em>Desliga o sistema imediatamente.</em></p>
<p>shutdown -t 10 <em>Desliga o sistema em 10 segundos.</em></p>
<p>shutdown -r now <em>Reinicia o computador.</em></p></blockquote>
<p><strong>15. Iniciando e parando serviços</strong></p>
<p>Este comando permite que você inicie, pare ou reinicie serviços do sistema.</p>
<blockquote><p>/etc/init.d/nome-do-serviço [start|stop|restart]</p></blockquote>
<p>Ex:</p>
<blockquote><p>/etc/init.d/httpd start</p>
<p>/etc/init.d/mysql stop</p></blockquote>
<div id="facebook_like"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fparruda.net%2F2009%2F07%2F13%2Flinux-os-15-comandos-que-os-iniciantes-precisam-saber%2F&amp;layout=standard&amp;show_faces=true&amp;width=500&amp;action=like&amp;font=segoe+ui&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:80px;" allowTransparency="true"></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://parruda.net/2009/07/13/linux-os-15-comandos-que-os-iniciantes-precisam-saber/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Virtualização com XEN no Debian Etch</title>
		<link>http://parruda.net/2008/07/19/virtualizacao-com-xen-no-debian-etch/</link>
		<comments>http://parruda.net/2008/07/19/virtualizacao-com-xen-no-debian-etch/#comments</comments>
		<pubDate>Sat, 19 Jul 2008 20:57:41 +0000</pubDate>
		<dc:creator>Paulo Arruda</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[xen debian etch virtualização maquina virtual hyperviso]]></category>

		<guid isPermaLink="false">http://parruda.net/?p=12</guid>
		<description><![CDATA[O objetivo deste tutorial é mostrar as instruções passo a passo para instalar o XEN em um Debian Etch pré instalado (sistema básico) e com os repositórios corretamente configurados. Todos os programas utilizados se encontram no repositório do Etch, logo, não será feito uso de arquivos externos, tão pouco será necessário compilar alguma coisa. Antes [...]]]></description>
			<content:encoded><![CDATA[<p>O objetivo deste tutorial é mostrar as instruções passo a passo para instalar o XEN em um Debian Etch pré instalado (sistema básico) e com os repositórios corretamente configurados. Todos os programas utilizados se encontram no repositório do Etch, logo, não será feito uso de arquivos externos, tão pouco será necessário compilar alguma coisa.</p>
<p>Antes de começarmos, vamos a algumas definições utilizadas neste tutorial:</p>
<p><strong>Dom0</strong> -&gt; Máquina hospedeira (host), onde será instalado o Xen Hypervisor</p>
<p><strong>DomU</strong> -&gt; Máquinas virtuais, abreviando Unprivileged Domain</p>
<p><strong>LVM</strong> -&gt; Acrônimo para a expressão inglesa <em><strong>Logical Volume Management</strong></em> para designar um padrão de gerenciamento de partições em disco IDE/SCSI/FC. Foi desenvolvido inicialmente pela IBM, seguindo-se outras empresa e instituições, como HP e a <span class="mw-redirect">Open Group</span>.</p>
<p>Ao contrário do método tradicional de particionamento, a implementação <strong>LVM</strong> cria um grande disco virtual, que pode inclusive ter mais de um dispositivo de armazenamento, e <em>divide</em> em <em>partições virtuais</em>. A grande vantagem é permitir o redimensionamento das áreas de modo dinâmico, ou seja, com o sistema operacional sendo utilizado. <em>(fonte Wikipédia <a href="http://pt.wikipedia.org/wiki/LVM" target="_blank">http://pt.wikipedia.org/wiki/LVM</a>)</em></p>
<ol>
<li style="font-weight: bold;">INSTALAÇÃO</li>
</ol>
<p>Depois de se logar em um console (modo texto) como ROOT, vamos começar com o Kernel, libc e todas as ferramentas necessárias para o funcionamento do XEN:</p>
<blockquote><p>lab04est011:~# apt-get install linux-image-2.6-xen-vserver-686 xen-hypervisor-3.0.3-1-i386-pae xen-tools xen-linux-system-2.6.18-4-xen-vserver-686 linux-headers-2.6-xen-vserver-686 libc6-xen bridge-utils lvm2</p></blockquote>
<p>Agora já temos o XEN Hypervisor instalado, assim como o seu Kernel &#8220;patcheado&#8221;.</p>
<p>Antes de dar o boot no novo Kernel é necessário alterar algumas configurações em /etc/xen/xend-config.sxp para que a rede  das máquinas virtuais funcionem em modo bridge</p>
<blockquote><p>lab04est011:~# vim /etc/xen/xend-config.sxp</p></blockquote>
<p>Altere a linha</p>
<blockquote><p>(network-script network-dummy)</p></blockquote>
<p>para</p>
<blockquote><p>(network-script network-bridge)</p></blockquote>
<p>Agora vamos reiniciar o sistema pelo Kernel do XEN.</p>
<blockquote><p>lab04est011:~# reboot</p></blockquote>
<p>Dentro do novo sistema, vamos conferir como ficaram as interfaces de rede pelo comando <em>ifconfig</em>:</p>
<blockquote><p>lab04est011:~# ifconfig<br />
eth0       Encapsulamento do Link: Ethernet  Endereço de HW 00:E0:7D:FB:DA:26<br />
inet end.: 172.16.1.66  Bcast:172.16.1.255  Masc:255.255.255.0<br />
endereço inet6: fe80::2e0:7dff:fefb:da26/64 Escopo:Link<br />
UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1<br />
RX packets:345 errors:0 dropped:0 overruns:0 frame:0<br />
TX packets:111 errors:0 dropped:0 overruns:0 carrier:0<br />
colisões:0 txqueuelen:0<br />
RX bytes:37628 (36.7 KiB)  TX bytes:15052 (14.6 KiB)</p>
<p>lo         Encapsulamento do Link: Loopback Local<br />
inet end.: 127.0.0.1  Masc:255.0.0.0<br />
endereço inet6: ::1/128 Escopo:Máquina<br />
UP LOOPBACKRUNNING  MTU:16436  Métrica:1<br />
RX packets:8 errors:0 dropped:0 overruns:0 frame:0<br />
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0<br />
colisões:0 txqueuelen:0<br />
RX bytes:560 (560.0 b)  TX bytes:560 (560.0 b)</p>
<p>peth0      Encapsulamento do Link: Ethernet  Endereço de HW FE:FF:FF:FF:FF:FF<br />
endereço inet6: fe80::fcff:ffff:feff:ffff/64 Escopo:Link<br />
UP BROADCASTRUNNING NOARP  MTU:1500  Métrica:1<br />
RX packets:492 errors:0 dropped:0 overruns:0 frame:0<br />
TX packets:122 errors:0 dropped:0 overruns:0 carrier:0<br />
colisões:0 txqueuelen:1000<br />
RX bytes:47544 (46.4 KiB)  TX bytes:16658 (16.2 KiB)<br />
IRQ:19 Endereço de E/S:0xe400</p>
<p>vif0.0     Encapsulamento do Link: Ethernet  Endereço de HW FE:FF:FF:FF:FF:FF<br />
endereço inet6: fe80::fcff:ffff:feff:ffff/64 Escopo:Link<br />
UP BROADCASTRUNNING NOARP  MTU:1500  Métrica:1<br />
RX packets:111 errors:0 dropped:0 overruns:0 frame:0<br />
TX packets:345 errors:0 dropped:0 overruns:0 carrier:0<br />
colisões:0 txqueuelen:0<br />
RX bytes:15052 (14.6 KiB)  TX bytes:37628 (36.7 KiB)</p>
<p>xenbr0     Encapsulamento do Link: Ethernet  Endereço de HW FE:FF:FF:FF:FF:FF<br />
endereço inet6: fe80::200:ff:fe00:0/64 Escopo:Link<br />
UP BROADCASTRUNNING NOARP  MTU:1500  Métrica:1<br />
RX packets:202 errors:0 dropped:0 overruns:0 frame:0<br />
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0<br />
colisões:0 txqueuelen:0<br />
RX bytes:20653 (20.1 KiB)  TX bytes:0 (0.0 b)</p>
<p>lab04est011:~#</p></blockquote>
<p>peth0 -&gt; interface utilizada para fazer o bridge entre as interfaces virtuais e a interface real</p>
<p>vif0.0 -&gt; interfacel utilizada para que o Dom0 se comunque com a rede.</p>
<p>xenbr0 -&gt; bridge que contém peth0 e vifX.Y</p>
<p>Cada interface de rede de cada máquina virtual criada terá uma interface correspondente no Dom0, chamada de vifX.Y, onde X representa o domínio e Y o número da placa de rede da máquina virtual. Resumindo, a primeira interface de rede da terceira máquina virtual se chamaria vif2.0 no Dom0. A segunda interface de rede da primeira máquina virtual se chamaria vif1.1 no Dom0. E por aí vai&#8230; lembre-se que a contagem começa com 0 (zero).</p>
<ul>
<li><strong>CRIANDO O SISTEMA BASE (MODELO)</strong></li>
</ul>
<p>Vamos gerar um sistema base do Debian e usá-lo como modelo para esta e futuras máquinas virtuais que venham a ser criadas. Para fazer isso, utilizamos a ferramenta <em>debootstrap</em>.</p>
<p>O <em>debootstrap</em> cria  uma instalação do Debian (apenas sistema base) em um diretório. Vamos criar uma pasta para receber este sistema base.</p>
<blockquote><p>lab04est011:~# mkdir base</p></blockquote>
<p>O debootstrap precisa de uma fonte para baixar os arquivos do sistema básico do debian. Podemos usar o próprio CD1 de instalação do Debian, ou até mesmo um repositório online. Neste tutorial vamos utilizar o CD1 do Debian.</p>
<p>Insira o CD1 do Debian Etch na unidade de cdrom e monte-o em /mnt:</p>
<blockquote><p>lab04est011:~# mount /dev/cdrom /mnt</p></blockquote>
<p>Agora vamos criar o sistema base na pasta &#8220;base&#8221;. Esta operação pode demorar um pouco:</p>
<blockquote><p>lab04est011:~# debootstrap etch base file:/mnt</p></blockquote>
<p>E desmontamos o cdrom</p>
<blockquote><p>lab04est011:~# umount /dev/cdrom</p></blockquote>
<p>Precisamos configurar alguns arquivos da base que não veem configurados pelo debootstrap. Vamos utilizar os arquivos do Dom0, copiando-os para a base e alterá-los quando necessário, na hora de copiar a base para a partição da máquina virtual:</p>
<blockquote><p>lab04est011:~# cp /etc/fstab base/etc</p>
<p>lab04est011:~# cp /etc/hosts base/etc</p>
<p>lab04est011:~# cp /etc/apt/* base/etc/apt/</p>
<p>lab04est011:~# cp /etc/network/interfaces base/etc/network/</p></blockquote>
<p>É preciso copiar os módulos do Kernel do XEN para o sistema base:</p>
<blockquote><p>lab04est011:~# cp -arpv /lib/modules/2.6.18-6-xen-vserver-686 base/lib/modules/</p></blockquote>
<ul>
<li><strong>CRIANDO AS MÁQUINAS VIRTUAIS</strong></li>
</ul>
<p>O primeiro passo é criar os volumes lógicos que vão abrigar as máquinas virtuais. Desmonte a partição que vai receber os volumes lógicos, caso ela esteja montada. Neste exemplo é /dev/hda3.</p>
<blockquote><p>lab04est011:~# umount /dev/hda3</p></blockquote>
<p><em>Obs.: Não podemos esquecer de remover eventuais entradas desta pastição no arquivo /etc/fstab !</em></p>
<p>Preparando a partição para receber os volumes lógicos:</p>
<blockquote><p>lab04est011:~# pvcreate /dev/hda3</p></blockquote>
<p>Criando o grupo lógico chamado VM:</p>
<blockquote><p>lab04est011:~# vgcreate vm /dev/hda3</p></blockquote>
<p>Agora vamos criar as partições que vão abrigar nossa primeira máquina virtual (vou chamá-la de VM1). Por questões didáticas de simplificação, criarei a máquina virtual utilizando todos os arquivos em uma única partição. Logo, teremos apenas duas partições: / e SWAP.</p>
<p>Criando a partição &#8220;/&#8221; com 2Gb em /dev/vm/vm1.raiz:</p>
<blockquote><p>lab04est011:~# lvcreate -L2G -n vm1.raiz vm</p></blockquote>
<p>Criando a partição SWAP, com 512Mb em /dev/vm/vm1.swap:</p>
<blockquote><p>lab04est011:~# lvcreate -L512M -n vm1.swap vm</p></blockquote>
<p>Criando o sistema de arquivos EXT3 na partição &#8220;/&#8221;:</p>
<blockquote><p>lab04est011:~# mkfs.ext3 /dev/vm/vm1.raiz</p></blockquote>
<p>Setando a partição /dev/vm/vm1.swap como swapspace:</p>
<blockquote><p>lab04est011:~# mkswap /dev/vm/vm1.swap</p></blockquote>
<p>Agora vamos montar a partição raiz da máquina virtual em /mnt</p>
<blockquote><p>lab04est011:~# mount /dev/vm/vm1.raiz /mnt</p></blockquote>
<p>E copiar o sistema base para a partição</p>
<blockquote><p>lab04est011:~# cp -arpv base/* /mnt/</p></blockquote>
<p>Precisamos configurar alguns arquivos na máquina virtual. Mas antes, vamos dar um chroot em /mnt</p>
<blockquote><p>lab04est011:~# chroot /mnt</p></blockquote>
<p>Agora vamos atualizar o sistema</p>
<blockquote><p>lab04est011:~# apt-get update</p>
<p>lab04est011:~# apt-get upgrade</p></blockquote>
<p>Instalar o pacote libc6-xen, que resolve o bug das mensagens do kernel</p>
<blockquote><p>lab04est011:~# apt-get install libc6-xen</p></blockquote>
<p>Agora vamos configurar o /etc/fstab</p>
<blockquote><p>lab04est011:~# vim /etc/fstab</p></blockquote>
<blockquote><p># /etc/fstab: static file system information.<br />
#<br />
# &lt;file system&gt; &lt;mount point&gt;   &lt;type&gt;  &lt;options&gt;       &lt;dump&gt;  &lt;pass&gt;<br />
proc            /proc           proc    defaults        0       0<br />
/dev/hda2       /               ext3    defaults,errors=remount-ro 0       1<br />
/dev/hda1       none            swap    sw              0       0<br />
/dev/hdb        /media/cdrom0   udf,iso9660 user,noauto     0       0<br />
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0</p></blockquote>
<p>Este é o arquivo é uma cópia do /etc/fstab do Dom0, lembra? Precisámos editá-lo para que se adeque à realidade da nossa máquina virtual, que possui apenas 2 partições (raiz e swap). Altere o arquivo para que ele fique como o abaixo:</p>
<blockquote><p># /etc/fstab: static file system information.<br />
#<br />
# &lt;file system&gt; &lt;mount point&gt;   &lt;type&gt;  &lt;options&gt;       &lt;dump&gt;  &lt;pass&gt;<br />
proc            /proc           proc    defaults        0       0<br />
/dev/hda2       /               ext3    defaults,errors=remount-ro 0       1<br />
/dev/hda1       none            swap    sw              0       0</p></blockquote>
<p>Porque escolhemos /dev/hda1 para swap e /dev/hda2 para raiz?? As partições criadas não eram /dev/vm/vm1.raiz e /dev/vm/vm1.swap???</p>
<p>Calma&#8230; isso será explicado no passo de criação do arquivo de inicialização da máquina virtual.</p>
<p>Agora vamos configurar a interface de rede da máquina virtual. edite o arquivo /etc/network/interfaces</p>
<blockquote><p>lab04est011:~# vim /etc/network/interfaces</p></blockquote>
<blockquote><p># This file describes the network interfaces available on your system<br />
# and how to activate them. For more information, see interfaces(5).</p>
<p># The loopback network interface<br />
auto lo<br />
iface lo inet loopback</p>
<p># The primary network interface<br />
auto eth0<br />
iface eth0 inet dhcp</p></blockquote>
<p>Neste tutorial utilizaremos um IP atribuído por um servidor DHCP. Neste caso, a configuração acima está adequada. No caso de usarmos IP fixo, devemos configurar este arquivo conforme abaixo:</p>
<blockquote><p># This file describes the network interfaces available on your system<br />
# and how to activate them. For more information, see interfaces(5).</p>
<p># The loopback network interface<br />
auto lo<br />
iface lo inet loopback</p>
<p># The primary network interface<br />
auto eth0<br />
iface eth0 inet static<br />
address xxx.xxx.xxx.xxx # ip desejado<br />
netmask xxx.xxx.xxx.xxx # máscara de rede<br />
gateway xxx.xxx.xxx.xxx # ip do gateway</p></blockquote>
<p>No caso de IP fixo, não podemos esquecer de configurar o arquivo /etc/resolv.conf</p>
<blockquote><p>lab04est011:~# echo nameserver xxx.xxx.xxx.xxx &gt; /etc/resolv.conf</p></blockquote>
<p>Onde xxx.xxx.xxx.xxx é o IP do servidor DNS.</p>
<p>Agora vamos configurar o arquivo /etc/hosts</p>
<blockquote><p>lab04est011:~# vim /etc/hosts</p></blockquote>
<blockquote><p>127.0.0.1       localhost<br />
127.0.1.1       lab04est011.local     lab04est011</p>
<p># The following lines are desirable for IPv6 capable hosts<br />
::1     ip6-localhost ip6-loopback<br />
fe00::0 ip6-localnet<br />
ff00::0 ip6-mcastprefix<br />
ff02::1 ip6-allnodes<br />
ff02::2 ip6-allrouters<br />
ff02::3 ip6-allhosts</p></blockquote>
<p>Altere-o para que fique como abaixo:</p>
<blockquote><p>127.0.0.1       localhost<br />
127.0.1.1       vm1</p>
<p># The following lines are desirable for IPv6 capable hosts<br />
::1     ip6-localhost ip6-loopback<br />
fe00::0 ip6-localnet<br />
ff00::0 ip6-mcastprefix<br />
ff02::1 ip6-allnodes<br />
ff02::2 ip6-allrouters<br />
ff02::3 ip6-allhosts</p></blockquote>
<p>E por último, vamos definir o hostname com o comando</p>
<blockquote><p>lab04est011:~# echo vm1 &gt; /etc/hostname</p></blockquote>
<p>E configurar o locales</p>
<blockquote><p>lab04est011:~# apt-get install locales</p>
<p>lab04est011:~# dpkg-reconfigure locales</p></blockquote>
<p>Selecione os locales que desejar. Neste caso utilizaremos os listados abaixo por questão de compatibilidade:</p>
<blockquote><p>[*] pt_BR ISO-8859-1</p>
<p>[*] pt_BR.UTF-8 UTF-8</p></blockquote>
<p>Depois escolha como padrão &#8220;pt_BR.UTF-8&#8243;.</p>
<p>Agora saímos do ambiente chroot e desmontamos a partição /dev/vm/vm1.raiz</p>
<blockquote><p>lab04est011:~# exit</p>
<p>lab04est011:~# umount /dev/vm/vm1.raiz</p></blockquote>
<p>Vamos agora criar o script de inicialização da máquina virtual.</p>
<p>Os scripts devem ficar na pasta /etc/xen. Vamos criar um para a nossa &#8220;vm1&#8243;</p>
<blockquote><p>lab04est011:~# vim /etc/xen/vm1</p></blockquote>
<blockquote><p>name = &#8220;vm1&#8243;<br />
kernel = &#8220;/boot/vmlinuz-2.6.18-6-xen-vserver-686&#8243;<br />
ramdisk = &#8220;/boot/initrd.img-2.6.18-6-xen-vserver-686&#8243;<br />
memory = 128<br />
root = &#8220;/dev/hda2 ro&#8221;<br />
disk = [ 'phy:/dev/vm/vm1.raiz,hda2,w', 'phy:/dev/vm/vm1.swap,hda1,w' ]<br />
vif = [ 'mac=00:00:00:00:00:01' ]</p></blockquote>
<p>E finalmente chegou o momento de ligarmos a máquina virtual.</p>
<p>lab04est011:~# xm create -c vm1</p>
<p>Entre com o usuário root. O sistema não vai pedir senha porque a mesma ainda nao foi criada, então criá-la:</p>
<blockquote><p>vm1:~# passwd</p></blockquote>
<p>E converter o passwd para shadow</p>
<blockquote><p>vm1:~# pwconv</p></blockquote>
<p>E pronto!</p>
<p>Para sair do console da máquina virtual, use a sequência de teclas CTRL+].</p>
<p>Para que a máquina virtual inicia automaticamente a cada boot do Dom0, crie a pasta /etc/xen/auto</p>
<blockquote><p>lab04est011:~# mkdir /etc/xen/auto</p></blockquote>
<p>E crie links simbólicos apontando para o script de inicialização da máquina:</p>
<blockquote><p>lab04est011:~# ln -s /etc/xen/vm1 /etc/xen/auto/vm1</p></blockquote>
<ul>
<li><strong>ADMINISTRAÇÃO DAS MÁQUINAS VIRTUAIS</strong></li>
</ul>
<p>Abaixo segue uma lista com alguns comandos para administrar as máquinas virtuais:</p>
<p>Desligando uma máquina virtual:</p>
<blockquote><p>lab04est011:~# xm shutdown -H vm1</p></blockquote>
<p>Reiniciando uma máquina virtual:</p>
<blockquote><p>lab04est011:~# xm reboot vm1</p></blockquote>
<p>Desligando abruptamente uma máquina virtual:</p>
<blockquote><p>lab04est011:~# xm destroy vm1</p></blockquote>
<p><em><strong>ATENÇÃO</strong>: Este comando é equivalente ao desligamento abrupto de uma máquina real (ex faltar luz). Só utilize-o em casos extremos, por exemplo, perda de controle da máquina virtual. O uso deste comando poderá causar danos como o corrompimento do filesystem e a perda de dados.</em></p>
<p>Listando as máquinas virtuais que estão ligadas:</p>
<blockquote><p>lab04est011:~# xm list</p></blockquote>
<p><strong> </strong>Ao listar as máquinas, poderão aparecer algumas letras que indicam o estado das<br />
mesmas. As principais são:<br />
­ r (running): indica que a máquina está executando alguma tarefa;<br />
­ b (blocked): indica um bloqueio de atividade, geralmente causado por espera para acesso a<br />
dispositivos;<br />
­ p (paused): indica que a VM sofreu pausa (veja a seguir como estabelecer pausa na<br />
execução);<br />
­ s (shutdown): indica que a máquina está em processo de shutdown;<br />
­ c (crashed): indica que máquina sofreu um &#8220;crash&#8221;. Essa situação deve ser do conhecimento<br />
do hypervisor para que o estado &#8220;c&#8221; seja listado;<br />
­ d (dying): indica que a máquina está saindo do ar mas ainda não terminou por algum motivo<br />
temporário. Esse estado geralmente ocorre durate shutdown ou crash da máquina.</p>
<p>Um TOP do sistema e das máquinas virtuais:</p>
<blockquote><p>lab04est011:~# xm top</p></blockquote>
<p>Pausar uma máquina virtual:</p>
<blockquote><p>lab04est011:~# xm pause vm1</p></blockquote>
<p>Tirar a pausa:</p>
<blockquote><p>lab04est011:~# xm unpause vm1</p></blockquote>
<p>Mudar a quantidade de memória da máquina virtual em &#8220;tempo de execução&#8221;:</p>
<blockquote><p>lab04est011:~# xm mem-set vm1 512</p></blockquote>
<p>Para maiores informações, e mais comandos, consulte a documentação do XEN, ou digite:</p>
<blockquote><p>lab04est011:~# man xm</p></blockquote>
<ul>
<li><strong>COMANDOS ÚTEIS PARA MANIPULAR VOLUMES LÓGICOS</strong></li>
</ul>
<p>Listar volumes físicos:</p>
<blockquote><p>lab04est011:~# pvs</p></blockquote>
<p>Remover volumes físicos</p>
<blockquote><p>lab04est011:~# pvremove /dev/hda3</p></blockquote>
<p>Listar os grupos e as suas informações:</p>
<blockquote><p>lab04est011:~# vgs</p></blockquote>
<p>Remover um grupo de volumes:</p>
<blockquote><p>lab04est011:~# vgremove vm</p></blockquote>
<p>Listar os volumes lógicos definidos:</p>
<blockquote><p>lab04est011:~# lvs</p></blockquote>
<p>Remover um volume lógico:</p>
<blockquote><p>lab04est011:~# lvremove /dev/vm/vm1.raiz</p></blockquote>
<p>Renomear um volume lógico:</p>
<blockquote><p>lab04est011:~# lvrename /dev/vm/vm1.taiz /dev/vm/vm2.raiz</p></blockquote>
<p>Redimensionar um volume lógico:</p>
<blockquote><p>lab04est011:~# lvresize -L -5G /dev/vm/vm1.raiz</p></blockquote>
<p><em>Obs: Ao redimensionar um volume lógico, parte do sistema de arquivos (caso exista) será perdido. Se não houver dados ou sistema de arquivos, bastará formatar o volume lógico (mkfs.ext3 /dev/vm/vm1.raiz, por exemplo). Caso haja dados, a primeira opção será fazer um backup dos mesmos para um posterior retorno. A segunda opção será redimensionar o sistema de arquivos. Para cada tipo de sistema de arquivos haverá um comando próprio para esta ação. É importante ressaltar que o redimensionamento do sistema de arquivos também poderá causar perda de dados.</em></p>
<div id="facebook_like"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fparruda.net%2F2008%2F07%2F19%2Fvirtualizacao-com-xen-no-debian-etch%2F&amp;layout=standard&amp;show_faces=true&amp;width=500&amp;action=like&amp;font=segoe+ui&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:80px;" allowTransparency="true"></iframe></div>]]></content:encoded>
			<wfw:commentRss>http://parruda.net/2008/07/19/virtualizacao-com-xen-no-debian-etch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

