<?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>Freedom Interface &#187; Dicas</title>
	<atom:link href="http://www.freedominterface.org/category/linux/dicas/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.freedominterface.org</link>
	<description>Pensamentos livres</description>
	<lastBuildDate>Thu, 27 Oct 2011 11:04:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Log channels Asterisk</title>
		<link>http://www.freedominterface.org/2011/10/27/log-channels-asterisk/</link>
		<comments>http://www.freedominterface.org/2011/10/27/log-channels-asterisk/#comments</comments>
		<pubDate>Thu, 27 Oct 2011 11:04:50 +0000</pubDate>
		<dc:creator>Eduardo Ramos</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[dicas]]></category>

		<guid isPermaLink="false">http://www.freedominterface.org/?p=578</guid>
		<description><![CDATA[No asterisk, além dos logs padrão, é possível definir seus próprios logs. Para isto, basta criar um novo log channel dentro do arquivo logger.conf. Veja o exemplo: Acrescente o a seguinte linha no arquivo logger.conf  na seção logfiles: Na console do asterisk, digite: Pronto, um novo arquivo de log está sendo gerado na pasta de [...]]]></description>
			<content:encoded><![CDATA[<p>No asterisk, além dos logs padrão, é possível definir seus próprios logs. Para isto, basta criar um novo log channel dentro do arquivo logger.conf. Veja o exemplo:</p>
<p>Acrescente o a seguinte linha no arquivo logger.conf  na seção logfiles:</p>
<pre class="brush: plain; title: ; notranslate">

test =&gt; notice,warning
</pre>
<p>Na console do asterisk, digite:</p>
<pre class="brush: plain; title: ; notranslate">

pbx*CLI&gt; logger reload
</pre>
<p>Pronto, um novo arquivo de log está sendo gerado na pasta de logs do asterisk com as informações de notice e warning.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freedominterface.org/2011/10/27/log-channels-asterisk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>procps-dev</title>
		<link>http://www.freedominterface.org/2011/03/09/procps-dev/</link>
		<comments>http://www.freedominterface.org/2011/03/09/procps-dev/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 19:12:55 +0000</pubDate>
		<dc:creator>Eduardo Ramos</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[slackware]]></category>
		<category><![CDATA[utilidades]]></category>
		<category><![CDATA[dicas]]></category>
		<category><![CDATA[shell script]]></category>

		<guid isPermaLink="false">http://www.freedominterface.org/?p=556</guid>
		<description><![CDATA[Essa semana precisei implementar uma função da biblioteca libproc para que meu programa só permitisse uma instância. O problema é que eu precisava dos headers do pacote procps, mas por padrão o Slackware não instala. Por isso, precisei fazer manualmente, baixar o pacote, desempacotar e copiar para a pasta de headers. Não sei se futuramente [...]]]></description>
			<content:encoded><![CDATA[<p>Essa semana precisei implementar uma função da biblioteca libproc para que meu programa só permitisse uma instância. O problema é que eu precisava dos headers do pacote procps, mas por padrão o Slackware não instala.</p>
<p>Por isso, precisei fazer manualmente, baixar o pacote, desempacotar e copiar para a pasta de headers. Não sei se futuramente esses valiosos arquivos serão inclusos no pacote oficial, mas de qualquer maneira, eu criei um SlackBuild que possa ajudar quem está na mesma que eu.</p>
<pre class="brush: bash; title: ; notranslate">
#!/bin/bash
MIRROR=${MIRROR:-http://ftp.belnet.be/packages/slackware/slackware_source/}
VERSION=${VERSION:-3.2.7}
ARCH=noarch
BUILD=${BUILD:-2duderamos}
CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-procps-dev

rm -rf $PKG
rm -rf $TMP/procps-$VERSION
if [ ! -f procps-${VERSION}.tar.gz ];then
  wget &quot;${MIRROR}/a/procps/procps-${VERSION}.tar.gz&quot; || exit 1
fi

cd $TMP

tar xzvf $CWD/procps-$VERSION.tar.gz || exit 1

mkdir -p $PKG/install
mkdir -p $PKG/usr/include/procps
mkdir -p $PKG/lib

cd $TMP/procps-$VERSION
cp proc/*.h $PKG/usr/include/procps
cat $CWD/slack-desc &gt; $PKG/install/slack-desc
cat $CWD/doinst.sh &gt; $PKG/install/doinst.sh

cd $PKG

makepkg -l y -c n $TMP/procps-dev-$VERSION-$ARCH-$BUILD.txz

rm -rf $TMP/procps-$VERSION.tar.gz
rm -rf $TMP/procps-$VERSION
rm -rf $PKG
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.freedominterface.org/2011/03/09/procps-dev/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Youtube URL offset</title>
		<link>http://www.freedominterface.org/2011/02/11/youtube-url-offset/</link>
		<comments>http://www.freedominterface.org/2011/02/11/youtube-url-offset/#comments</comments>
		<pubDate>Fri, 11 Feb 2011 16:42:17 +0000</pubDate>
		<dc:creator>Eduardo Ramos</dc:creator>
				<category><![CDATA[curiosidade]]></category>
		<category><![CDATA[Dicas]]></category>
		<category><![CDATA[vídeos]]></category>
		<category><![CDATA[dicas]]></category>

		<guid isPermaLink="false">http://www.freedominterface.org/?p=532</guid>
		<description><![CDATA[Hoje, por acaso, acabei descobrindo uma coisa muito interessante no Youtube. É possível abrir um vídeo não só pelo início, mas por qualquer parte dele. Não sei se ficou claro, mas segue a dica: http://www.youtube.com/watch?v=[video id]#at=[tempo de offset em segundos] Exemplo: http://www.youtube.com/watch?v=EShea9vWFtI#at=30 Vai começar o vídeo METNAL &#8211; Perfect Strangers (Deep Purple Cover) &#8211; Curitiba a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.youtube.com"><img class="alignleft" src="http://www.treinaweb.com.br/blog/wp-content/uploads/2010/09/youtube.jpg" alt="Youtube" width="115" height="90" /></a>Hoje, por acaso, acabei descobrindo uma coisa muito interessante no Youtube. É possível abrir um vídeo não só pelo início, mas por qualquer parte dele.</p>
<p>Não sei se ficou claro, mas segue a dica:</p>
<p>http://www.youtube.com/watch?v=<strong>[video id]</strong>#at=<strong>[tempo de offset em segundos]</strong></p>
<p>Exemplo:</p>
<p><a href="http://www.youtube.com/watch?v=EShea9vWFtI#at=30">http://www.youtube.com/watch?v=EShea9vWFtI#at=30</a></p>
<p>Vai começar o vídeo <strong>METNAL &#8211; Perfect Strangers (Deep Purple Cover) &#8211; Curitiba</strong> a partir de <strong>30</strong> segundos do início.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freedominterface.org/2011/02/11/youtube-url-offset/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Repositório local Slackware</title>
		<link>http://www.freedominterface.org/2010/11/24/repositorio-local-slackware/</link>
		<comments>http://www.freedominterface.org/2010/11/24/repositorio-local-slackware/#comments</comments>
		<pubDate>Wed, 24 Nov 2010 19:52:48 +0000</pubDate>
		<dc:creator>Eduardo Ramos</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[slackware]]></category>
		<category><![CDATA[dicas]]></category>

		<guid isPermaLink="false">http://www.freedominterface.org/?p=444</guid>
		<description><![CDATA[Que usuário Slackware nunca pensou em criar em sua rede um repositório local dos pacotes current? Bem&#8230; eu já. Como tenho vários servidores Slackware em minha rede, seria muito mais fácil puxar tudo de uma vez e manter sincronizado a cada período. Pesquisando na Internet como eu poderia fazer isso, encontrei a solução implementada por [...]]]></description>
			<content:encoded><![CDATA[<p>Que usuário Slackware nunca pensou em criar em sua rede um repositório<img class="alignright size-thumbnail wp-image-445" title="Pacotes" src="http://www.freedominterface.org/wp-content/uploads/2010/11/image_preview-150x150.png" alt="" width="150" height="150" /> local dos pacotes current? Bem&#8230; eu já. Como tenho vários servidores Slackware em minha rede, seria muito mais fácil puxar tudo de uma vez e manter sincronizado a cada período.</p>
<p>Pesquisando na Internet como eu poderia fazer isso, encontrei a solução implementada por Eric Hameleers em seu <a href="http://alien.slackbook.org/blog/local-slackware-mirror/" target="_blank">blog</a>. Logo baixei e fiz funcionar. Pronto, agora só me falta configurar o slackpkg de todos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freedominterface.org/2010/11/24/repositorio-local-slackware/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linkfailover 1.0 testado e aprovado</title>
		<link>http://www.freedominterface.org/2010/11/23/linkfailover-1-0-testado-e-aprovado/</link>
		<comments>http://www.freedominterface.org/2010/11/23/linkfailover-1-0-testado-e-aprovado/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 18:38:24 +0000</pubDate>
		<dc:creator>Eduardo Ramos</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[redes]]></category>
		<category><![CDATA[servidores]]></category>
		<category><![CDATA[c programming]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[dicas]]></category>

		<guid isPermaLink="false">http://www.freedominterface.org/?p=429</guid>
		<description><![CDATA[Hoje finalmente consegui implantar uma solução para falha de links no meu Linux. O linkfailover assume um gateway como sendo primário e uma lista de outros alternativos. Caso o primário falhe, ele busca na lista de alternativos um que esteja disponível para assumir a saída de pacotes. Acredito que existam outras implementações para essa solução, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.freedominterface.org/wp-content/uploads/2010/11/bifurcacao1.jpg"><img class="alignleft size-thumbnail wp-image-430" style="margin: 5px;" title="Bifurcação" src="http://www.freedominterface.org/wp-content/uploads/2010/11/bifurcacao1-150x150.jpg" alt="" width="150" height="150" /></a>Hoje finalmente consegui implantar uma solução para falha de links no meu Linux. O linkfailover assume um gateway como sendo primário e uma lista de outros alternativos. Caso o primário falhe, ele busca na lista de alternativos um que esteja disponível para assumir a saída de pacotes. Acredito que existam outras implementações para essa solução, mas esta foi a que casou perfeitamente com a minha necessidade. Faça o download <a href="http://www.freedominterface.org/projetos/linkfailover">aqui</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freedominterface.org/2010/11/23/linkfailover-1-0-testado-e-aprovado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Montar partição de VM em host</title>
		<link>http://www.freedominterface.org/2010/10/26/montar-particao-de-vm-em-host/</link>
		<comments>http://www.freedominterface.org/2010/10/26/montar-particao-de-vm-em-host/#comments</comments>
		<pubDate>Tue, 26 Oct 2010 20:02:17 +0000</pubDate>
		<dc:creator>Eduardo Ramos</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[utilidades]]></category>
		<category><![CDATA[virtualização]]></category>
		<category><![CDATA[dicas]]></category>

		<guid isPermaLink="false">http://www.freedominterface.org/?p=407</guid>
		<description><![CDATA[Há momentos em que é necessário trabalhar com um disco ou partição de um servidor Linux sem que ele seja usado no boot. Normalmente em PCs usamos um disco de boot que nos entrega um shell para darmos comandos. Geralmente isto é feito para depuração de problemas na partição. Em máquinas virtuais baseadas no KVM, [...]]]></description>
			<content:encoded><![CDATA[<p>Há momentos em que é necessário trabalhar com um disco ou partição de um servidor Linux sem que ele seja usado no boot. Normalmente em PCs usamos um disco de boot que nos entrega um shell para darmos comandos. Geralmente isto é feito para depuração de problemas na partição.</p>
<p>Em máquinas virtuais baseadas no KVM, é possível montar uma partição de uma máquina virtual no servidor hospedeiro. Para isto, basta usar o módulo Network block driver (nbd). Para habilitar, verifique se sua configuração do kernel contém &#8220;CONFIG_BLK_DEV_NBD=m&#8221; ou &#8220;CONFIG_BLK_DEV_NBD=y&#8221;. Caso seja um módulo, basta carregá-lo com o modprobe.</p>
<pre class="brush: bash; title: ; notranslate">modprobe nbd max_part=63</pre>
<p>Mais informações, use: modinfo nbd.</p>
<p>No pacote do qemu-kvm, vem uma ferramenta chamada qemu-nbd. Com ela, basta conectar algum dos arquivos de bloco nbd à imagem do disco virtual. No meu caso:</p>
<pre class="brush: bash; title: ; notranslate">qemu-nbd -c /dev/nbd0 /dev/logical/dns2</pre>
<p>.</p>
<p>Ele critou outros arquivos de blocos, representando todas as partições do meu disco virtual: /dev/nbd0p1, /dev/nbd0p2 e /dev/nbd0p3. Com isto, basta eu montar este bloco a alguma pasta do sistema, como no exemplo:</p>
<pre class="brush: bash; title: ; notranslate">mount /dev/nbd0p1 /mnt/tmp</pre>
<p>Vale lembrar que o hospedeiro precisa ter suporte ao sistema de arquivos da partição que será montada.</p>
<p>Para desconectar, é preciso desmontar as partições montadas anteriormente e desconectar o dispositivo.</p>
<pre class="brush: bash; title: ; notranslate">qemu-nbd -d /dev/nbd0</pre>
<p>Mais informações use &#8220;qemu-nbd -h&#8221; ou &#8220;man qemu-nbd&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freedominterface.org/2010/10/26/montar-particao-de-vm-em-host/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>KVM+libvirt em hugepages</title>
		<link>http://www.freedominterface.org/2010/09/27/kvmlibvirt-em-hugepages/</link>
		<comments>http://www.freedominterface.org/2010/09/27/kvmlibvirt-em-hugepages/#comments</comments>
		<pubDate>Mon, 27 Sep 2010 17:39:53 +0000</pubDate>
		<dc:creator>Eduardo Ramos</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[virtualização]]></category>
		<category><![CDATA[dicas]]></category>

		<guid isPermaLink="false">http://www.freedominterface.org/?p=359</guid>
		<description><![CDATA[O uso de hugepages em domínios KVM no libvirt é muito simples, e pode ser aplicada tanto em VMs já instaladas como em novas. Na definição do domínio, certifique que haja a seguinte estrutura: Para não haver problemas, certifique também que há páginas suficientes para hospedar a quantidade de memória do domínio. Lembrando que em [...]]]></description>
			<content:encoded><![CDATA[<p>O uso de hugepages em domínios KVM no libvirt é muito simples, e pode ser aplicada tanto em VMs já instaladas como em novas. Na definição do domínio, certifique que haja a seguinte estrutura:</p>
<pre class="brush: xml; title: ; notranslate">
...
&lt;memoryBacking&gt;
&lt;hugepages/&gt;
&lt;/memoryBacking&gt;
...
</pre>
<p>Para não haver problemas, certifique também que há páginas suficientes para hospedar a quantidade de memória do domínio. Lembrando que em um sistema x86 32 bit e 64 bit, ocupam 4096KB e 2048KB respectivamente. Sendo assim, um domínio de 256MB deverá ter disponível 64 páginas para um processador 32 bit e 128 páginas para um 64 bit.</p>
<p>Para descobrir quanto há de páginas disponíveis, verifique o arquivo /proc/meminfo:</p>
<p>[ćode lang="bash"]grep -i huge /proc/meminfo[/code]</p>
<p>O libvirt também tem que estar preparado para gerenciar domínios com hugepages. Para ativar este recurso, o arquivo /etc/libvirt/qemu.conf deverá conter a seguinte opção, sendo /dev/hugepages o caminho para acesso à hugepages (como mencionado no <a href="http://www.freedominterface.org/2010/09/27/hugepages/" target="_blank">post anterior</a>):</p>
<pre class="brush: plain; title: ; notranslate">hugetlbfs_mount = &quot;/dev/hugepages&quot;</pre>
<p>Feito isto, basta reinicializar o libvirtd para que as configurações tomei efeito e inicializar o domínio configurado. Verifique o uso das hugepages para confirmar seu uso.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freedominterface.org/2010/09/27/kvmlibvirt-em-hugepages/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>hugepages</title>
		<link>http://www.freedominterface.org/2010/09/27/hugepages/</link>
		<comments>http://www.freedominterface.org/2010/09/27/hugepages/#comments</comments>
		<pubDate>Mon, 27 Sep 2010 17:12:26 +0000</pubDate>
		<dc:creator>Eduardo Ramos</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[virtualização]]></category>
		<category><![CDATA[dicas]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[libvirt]]></category>

		<guid isPermaLink="false">http://www.freedominterface.org/?p=363</guid>
		<description><![CDATA[Estudando o sistema de gerenciamento de memória do Linux, encontrei um recurso interessante para uso mais eficiente de memória. Para ficar claro, explicarei brevemente como funciona o gerenciamento de memória do Linux. Paginação O Linux, na sua inicialização, verifica a quantidade de memória disponível e mapeia o endereçamento. Isto é feito pela MMU (Memory Management [...]]]></description>
			<content:encoded><![CDATA[<div>
<p><img class="alignleft size-thumbnail wp-image-382" title="775-pages" src="http://www.freedominterface.org/wp-content/uploads/2010/09/775-pages-150x150.jpg" alt="" width="150" height="150" />Estudando o sistema de gerenciamento de memória do Linux, encontrei um recurso interessante para uso mais eficiente de memória.</p>
</div>
<div>
<p>Para ficar claro, explicarei brevemente como funciona o gerenciamento de memória do Linux.</p>
</div>
<div>
<h3>Paginação</h3>
<p>O Linux, na sua inicialização, verifica a quantidade de memória disponível e mapeia o endereçamento. Isto é feito pela MMU (Memory Management Unit) que atribui endereços virtuais para melhor gerenciamento. Assim é possível uso de swaping e transparência para os processos. Mais detalhes serão abordados em outro post.</p>
<p>Quando um processo faz uma requisição de memória ao Linux, este aloca o espaço solicitado em forma de páginas. As páginas, numa rápida analogia, é o mesmo que os blocos nas partições. Eles tem um cabeçalho e a área de dados propriamente dita. As páginas, em arquitetura x86, têm o tamanho de 4KB. Isto indica que quando precisamos de 12KB, o sistema aloca 3 páginas e entrega ao processo.</p>
<h3>Hugepages</h3>
<p>Este é um método bacana de estender as páginas para um tamanho maior. Como vimos, o Linux entrega páginas de tamanho fixo, e isso pode gerar um certo desperdício. Vejo isso em dois aspectos: overhead e uso real não múltiplo de 4.</p>
<p>Caso eu queira 10KB de memória, o sistema me entregará o maior múltiplo imediato para mim, ou seja, 12KB. Ou então, mesmo que eu use exatamente um múltiplo de 4, ao requisitar 120MB, terei 30720 páginas. Isso significa 30720 cabeçalhos, que mesmo que pequenos, representam uma perda.</p>
<p>Hugepages permite uso de páginas de 4MB em sistemas x86 de 32 bit e 2MB de 64bit. Assim, há um uso mais eficiente da memória quando é necessário um grande volume de memória. Outra característica também é que esse tipo de páginas não pode ser movida para a área swap.</p>
<h3>Ativação e uso</h3>
<p>Para tirar proveito desse tipo de paginação, é preciso que o kernel esteja preparado antes. Para isso, certifique que seu kernel tenha as seguintes opções ativadas:</p>
<pre class="brush: plain; title: ; notranslate">
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
</pre>
<p>Através do &#8216;make menuconfig&#8217; vá em File Systems -&gt; Pseudo filesystems -&gt; HugeTLB file system support.</p>
<p>Depois de compilado e instalado o kernel, verifique se foi devidamente ativado:</p>
<pre class="brush: bash; title: ; notranslate">
grep -i huge /proc/meminfo
HugePages_Total:     0
HugePages_Free:      0
HugePages_Rsvd:      0
HugePages_Surp:      0
Hugepagesize:       2048 kB
</pre>
<p>Se apareceu algo parecido com isso, agora só falta alocar as páginas. Para isto, é necessário que haja espaço contíguo disponível para a quantidade que será alocada. Desta forma, é mais interessante alocar logo na inicialização do sistema. Para isto, acrescente a seguinte linha no arquivo /etc/sysctl.conf:</p>
<pre class="brush: plain; title: ; notranslate">
vm.nr_hugepages=256
</pre>
<p>Isto dirá ao kernel na inicialização alocar 256 páginas de tamanho 2048KB (no meu sistema 64 bit), Assim totalizando 512MB (256 * 2048KB = 512MB). Para tomar efeito, será preciso reinicializar o sistema.</p>
<p>Depois de reinicializado, certifique que tudo correu bem:</p>
<pre class="brush: bash; title: ; notranslate">
grep -i huge /proc/meminfo
HugePages_Total: 256
HugePages_Free: 256
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
</pre>
<p>Veja que nenhuma página foi usada. Um processo que queira fazer isto, deverá requisitar explicitamente por hugepages. Para criar uma interface de acesso, é preciso montar uma pseudo partição hugetlb. Acrescente no seu fstab:</p>
<pre class="brush: plain; title: ; notranslate">hugetlbfs        /dev/hugepages   hugetlbfs   defaults         0   0</pre>
<p>Como o diretório /dev/hugepages não existe, é preciso criá-lo também antes de montar.</p>
<p>Uma boa aplicação para isto são máquinas virtuais baseadas em KVM, como descreverá o <a href="http://www.freedominterface.org/2010/09/27/kvmlibvirt-em-hugepages/" target="_blank">próximo post</a>.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.freedominterface.org/2010/09/27/hugepages/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Converter discos virtuais</title>
		<link>http://www.freedominterface.org/2010/09/22/converter-discos-virtuais/</link>
		<comments>http://www.freedominterface.org/2010/09/22/converter-discos-virtuais/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 20:21:33 +0000</pubDate>
		<dc:creator>Eduardo Ramos</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[virtualização]]></category>
		<category><![CDATA[dicas]]></category>

		<guid isPermaLink="false">http://www.freedominterface.org/?p=352</guid>
		<description><![CDATA[Há uma diversidade de hypervisiors no mercado, e com isso, há também uma diversidade de formatos de discos virtuais (vdi, vmdk, qcow, raw&#8230;) e muitas precisamos portar uma para a outra. Uma forma prática e fácil de converter imagens é usando o qemu-img. Este utilitário acompanha o pacote qemu-kvm, que pode ser baixado e usado [...]]]></description>
			<content:encoded><![CDATA[<p>Há uma diversidade de hypervisiors no mercado, e com isso, há também uma diversidade de formatos de discos virtuais (vdi, vmdk, qcow, raw&#8230;) e muitas precisamos portar uma para a outra.</p>
<p>Uma forma prática e fácil de converter imagens é usando o <strong>qemu-img</strong>. Este utilitário acompanha o pacote <a href="http://www.linux-kvm.org/page/Main_Page" target="_blank">qemu-kvm</a>, que pode ser baixado e usado livremente. Veja alguns exemplos para converter discos:</p>
<p>vdi -&gt; qcow</p>
<pre class="brush: bash; title: ; notranslate">qemu-img convert -f vdi -O qcow origem.img destino.img</pre>
<p>vmdk -&gt; qcow</p>
<pre class="brush: bash; title: ; notranslate">qemu-img convert -f vmdk -O qcow origem.img destino.img</pre>
<p>vmdk -&gt; vdi</p>
<pre class="brush: bash; title: ; notranslate">qemu-img convert -f vmdk -O vdi origem.img destino.img</pre>
<p>qcow -&gt; raw</p>
<pre class="brush: bash; title: ; notranslate">qemu-img convert -f qcow -O raw origem.img destino.img</pre>
<p>raw -&gt; qcow2</p>
<pre class="brush: bash; title: ; notranslate">qemu-img convert -f raw -O qcow2 origem.img destino.img</pre>
<p>qcow2 -&gt; volume lógico (já citado em &#8220;<a href="http://www.freedominterface.org/2010/07/07/libvirt-e-lvm2/" target="_blank">Convertendo arquivos de imagens em volumes lógicos</a>&#8220;)</p>
<pre class="brush: bash; title: ; notranslate">qemu-img convert -f qcow2 -O host_device origem.img /dev/logical/destino</pre>
<p>No final de contas, essa brincadeira pode ser feita entre todos estes formatos: cow qcow vdi vmdk cloop dmg bochs vpc vvfat qcow2 parallels nbd host_cdrom host_floppy host_device raw tftp ftps ftp https http</p>
<p>Mais informações sempre podem ser encontradas no manual.</p>
<pre class="brush: bash; title: ; notranslate">man qemu-img</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.freedominterface.org/2010/09/22/converter-discos-virtuais/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VirtualBox e usb</title>
		<link>http://www.freedominterface.org/2010/08/12/virtualbox-e-usb/</link>
		<comments>http://www.freedominterface.org/2010/08/12/virtualbox-e-usb/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 15:24:22 +0000</pubDate>
		<dc:creator>Eduardo Ramos</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[utilidades]]></category>
		<category><![CDATA[virtualização]]></category>
		<category><![CDATA[dicas]]></category>

		<guid isPermaLink="false">http://www.freedominterface.org/?p=319</guid>
		<description><![CDATA[O VirtualBox tem um recurso de acesso à dispositivos USB da máquina host, mas nem sempre é fácil usá-lo. No meu caso, o host é um Slackware 13.1 Linux. O problema é de permissão e simples de se resolver. No início, quando o sistema de arquivos USB (usbfs) é montado, ele normalmente coloca tudo para [...]]]></description>
			<content:encoded><![CDATA[<p>O VirtualBox tem um recurso de acesso à dispositivos USB da máquina host, mas nem sempre é fácil usá-lo. No meu caso, o host é um Slackware 13.1 Linux. O problema é de permissão e simples de se resolver. No início, quando o sistema de arquivos USB (usbfs) é montado, ele normalmente coloca tudo para apenas o root ter controle. A mágica está em alterar isto, usando o grupo plugdev, que no Slackware é usado para dispositivos removíveis.<br />
Primeiramente seu usuário deve estar no grupo. Adicione o usuário que vai usar o VirtualBox no grupo com o seguinte comando, no meu caso, usuário eduardo:</p>
<pre class="brush: bash; title: ; notranslate">usermod -a -G plugdev eduardo</pre>
<p>Agora basta uma alteração no fstab. Acrescente a seguinte linha:</p>
<pre class="brush: plain; title: ; notranslate">usbfs            /proc/bus/usb    usbfs       devgid=83,devmode=660 0 0</pre>
<p>Isso fará com que o sistema no início monte o usbfs sendo do grupo do plugdev também, e dando permissão de leitura e escrita para seus membros.</p>
<p>Para resolver isso rapidamente sem reinicializar o sistema, use o seguinte:</p>
<pre class="brush: bash; title: ; notranslate">mount -o remount,devgid=83,devmode=660 /proc/bus/usb</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.freedominterface.org/2010/08/12/virtualbox-e-usb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

