segunda-feira, 16 de novembro de 2009

Python 3 no Funtoo Linux

Se você precisa ou está afim de testar o Python 3 e utiliza a distribuição Funtoo, o procedimento não é tão difícil, basta apenas usar o comando ebuild ao invés do emerge (que protege o usuário de fazer o que não deve).

Aproveitando-se dessa liberdade basta apenas ter sua árvore do portage sincronizada (emerge --sync) e localizar o arquivo "ebuild" do python 3 em /usr/portage/dev-lang/python/python-3.x.x.ebuild (no meu caso /usr/portage/dev-lang/python/python-3.1.1-r1.ebuild) e executá-lo com:

# ebuild /usr/portage/dev-lang/python/python-3.x.x.ebuild merge

Depois "ative" o perfil do python3 com:

# eselect python set python3.x (no meu caso python3.1)

Pronto! Já pode escrever seus programas com as APIs do python3! Mas como a maioria dos módulos do python2 ainda não foram portados para a versão 3, um:

# python-updater

"Quebraria" a compilação.

Lembrando que o portage é escrito em python e ainda não está pronto para o python3, mas é bom já estarmos preparados pois esta nova versão pretende superar bastante as espectativas.

terça-feira, 20 de outubro de 2009

Guia rápido de instalação do Funtoo

Este guia procura mostrar da melhor maneira como devemos proceder para instalar o Funtoo Linux (uma espécie de Gentoo "melhorado"), lembrando que para isto devemos conhecer o básico sobre uma instalação do Gentoo Linux. Este guia deve ser utilizado paralelamente com o manual do Gentoo Linux.

A árvore portage do Funtoo Linux é baseada em git e oferece também uma plataforma instável, bem como uma plataforma estável. Nossos desenvolvedores têm foco nas arquiteturas x86 e amd64.

Estágios (stages) do Funtoo Linux podem ser obtidos a partir do servidor instável (http://dev.funtoo.org/linux/~funtoo) ou do estável (http://dev.funtoo.org/linux/funtoo). Também provemos um repositório de imagens (snapshots) do portage em http://dev.funtoo.org/linux/~funtoo/snapshots, que são comuns para ambos os portes do Funtoo Linux, x86 ou amd64.
Estável    Instável     Processador 32/64
amd64 ~amd64 Generic Intel or AMD 64-bit Processor 64-bit
core2 ~core2 Intel Core 2 Series, i5, i7 or i9 Processor 64-bit
N/A ~core2_32 Intel Core 2 Series, i5, i7 or i9 Processor 32-bit
opteron ~opteron AMD Athlon 64, Opteron or Phenom Processor 64-bit
N/A ~opteron_32 AMD Athlon 64, Opteron or Phenom Processor 32-bit
x86 ~x86 Generic x86 processor (intel 80486+) 32-bit
i686 ~i686 Generic P6-class (Pentium Pro/Pentium II compat.) 32-bit
N/A ~athlon-xp Athlon XP or Athlon 64-based CPU (32-bit mode) 32-bit
N/A ~pentium4 Intel Pentium 4 Processor 32-bit

Nos diretórios de cada porte você verá imagens de estágios (stage tarballs) com subdiretórios openvz e vserver. Tais diretórios contém exemplos (templates) OpenVZ e Linux Vserver (imagens virtuais) que foram construídas a partir do diretório de estágio3 "stage3 tarball".

Você também perceberá que alguns diretórios contém imagens de stage1, stage2 e stage3 (estágios 1, 2 e 3), enquanto outros diretórios contém apenas stage1 ou stage2. Abaixo estão as várias permutações de quais estágios você poderá encontrar em cada diretório de porte e o que significam:
Portes                                         Estágios incluídos
Base total subarquitetura (x86 and amd64) stage1, stage2, stage3
"Renovada" subarquitetura (qualquer) stage3

Algumas vezes você verá um diretório de porte em que a única imagem seja stage3. Nesse caso nós não reconstruímos totalmente a imagem de stage, ao invés utilizamos um modo "recente" de compilação, que simplesmente renova uma imagem prévia (stage), diferentemente de uma atualização profunda (deep emerge update). Esta é uma função especial do Metro que nós utilizamos periodicamente para ter certeza que esta mesma funcione. :)

Note também que um repositório de imagens Portage do Funtoo (Funtoo Portage snapshot repository - http://dev.funtoo.org/linux/~funtoo/snapshots) está disponível - ambos os portes estável (stable) ou instável (unstable) utilizam as mesmas imagens portage (portage snapshots).

IMPORTANTE: As imagens portage do Funtoo (Funtoo Portage Snapshot tarballs) são maiores que as do Gentoo, pois as nossas possuem informação de histórico do git bem como todos os arquivos padrão do portage. Isso significa que nossas imagens portage também são repositórios git completamente funcionais.

Você usa a imagem portage do Funtoo da mesma maneira que uma imagem portage padrão do Gentoo (Gentoo Portage snapshot tarball) - durante o processo de instalação, você deve extrair o conteúdo da imagem para /usr (/mnt/gentoo/usr no liveCD) para que o diretório /usr/portage seja criado. Esteja certo de que não exista um diretório /usr/portage antes da instalação - se existe, faça isso primeiramente:

# mv /usr/portage /usr/portage.old

Visão geral da instalação

Aqui está uma visão geral básica do processo de instalação.
  1. Baixar e inicializar um LiveCD de sua preferência;
  2. Criar e montar um sistema de arquivos compatível em /mnt/gentoo como o descrito no manual do Gentoo;
  3. Baixar e extrair a imagem de estágio do Funtoo (Funtoo stage tarball) de sua preferência em /mnt/gentoo/usr;
  4. Preparar e entrar no novo ambiente "chroot", como descrito no manual do Gentoo;
  5. Selecionar a plataforma funtoo.org da árvore do portage executando o comando git checkout funtoo.org no diretório /usr/portage;
  6. Compilar e instalar um kernel como descrito no manual do Gentoo;
  7. Realizar configurações adicionais - alguns passos são diferentes devido ao nosso uso do OpenRC. Detalhes dessa diferenças serão mostrados abaixo;
  8. Instalar o GRUB como descrito no manual do Gentoo;
  9. Inicializar sua nova instalação do Funtoo!

As seções seguintes explicarão todos os passos específicos do Funtoo, bem como os passos que diferem da instalação padrão do Gentoo.

LiveCD

O Funtoo não provê um LiveCD oficial, mas existem vários muito bons que podem ser escolhidos livremente. Uma boa opção é o cd de instalação mínima do Gentoo (Gentoo Minimal Install CD). O cd de recuperação de sistemas baseado em Gentoo (Gentoo-based System Rescue CD) também é uma excelente escolha, por conter muitas ferramentas e utilitários e também suportar as arquiteturas 32 e 64 bits.

IMPORTANTE: O cd de recuperação de sistemas (Gentoo-based System Rescue CD) suporta tanto máquinas 32 quanto 64 bits, mas seu padrão é para 32 bits. Se você está realizando uma instalação para 64 bits, esteja certo de que escolheu manualmente o kernel para 64 bits na tela de inicialização quando estiver iniciando o LiveCD.

Portage

Árvore portage do funtoo.

A maneira mais fácil de obter a árvore portage do Funtoo é obter a imagem do portage mais recente no repositório de imagens do portage. Então extraí-la dentro do ambiente "chroot" no diretório /usr para criar /usr/portage:

# cd /mnt/gentoo/usr
# tar xf /path/to/downloaded/portage-2009.01.19.tar.bz2


Assim que fizer isso, você precisará "ativar" a árvore portage selecionando a plataforma funtoo.org . Por padrão a plataforma "principal" é ativada. Isso economiza espaço armazenando a árvore dentro de uma imagem (tarball), mas esta plataforma contém os arquivos README e LICENSE. Para ativar a plataforma funtoo.org, faça o seguinte:

# cd portage
# git checkout funtoo.org

Checking out files: 100% (85007/85007), done.
Switched to branch "funtoo.org"

Agora você poderá ver milhares de ebuilds gloriosas dentro de sua árvore portage :). Rode:

# emerge --sync

Isso irá atualizar sua árvore portage, e também atualizará o cache do portage (portage cache) para que o emerge rode com desempenho total!

NOTA: Também é possível obter uma árvore portage a partir do GitHub diretamente utilizando o comando "git clone [uri]". Nós não recomendamos esse método para criar sua árvore inicial, pois demanda banda excessiva do GitHub e também é mais lento pra você. Por isso recomendamos as instruções acima deixando o "emerge --sync" obter as "atualizações" (ao invés da árvore inteira) a partir do GitHub.

Portage 2.2_rc18 ou mais atual está preparado para o git. Se você está utilizando o Portage 2.2_rc18 ou mais atual, pode tranquilamente utilizar o comando "emerge --sync" para atualizar uma árvore portage existente:

# emerge --sync
>>> Starting git pull in /usr/portage...
Already up-to-date.
>>> Git pull in /usr/portage successful

Portage 2.2_rc18+ atualizará apenas árvores baseadas em git. Portage não cria árvores baseadas em git automaticamente para você. Você precisa fazer isso manualmente extraindo uma imagem baseada em git (git-based snapshot tarball) ou usando git clone.

IMPORTANTE: Como o portage 2.2_rc20+, "emerge --sync" é agora um método altamente recomendado de atualizar sua árvore portage baseada em git. Executar "emerge --sync" irá atualizar sua árvore portage baseada em git e se certificará que o cache de metadados (metadata cache) estará propriamente atualizado. Se você utiliza git pull manualmente, é recomendado que você execute "emerge --sync" após para que o cache do portage também seja atualizado e este seja executado em sua performance total.

Diferenças do manual do Gentoo

Módulos:

O manual do Gentoo explica que os módulos devem estar em /etc/modules.autoload.d/kernel-2.6. Com Funtoo, OpepnRC carrega módulos a partir de /etc/conf.d/modules utilizando-se a linha abaixo:

modules_2_6="lista de módulos"

Com Funtoo, defina argumentos como abaixo:

module_module-name_args_2_6="módulo arg=valor"

Rede:

Funtoo Linux usa um sistema de configuração de redes mais leve. Para mais informações sobre as mudanças consulte o Guia de Configuração de Redes Funtoo Linux (em inglês apenas, por enquanto).

Informação do sistema:

OpenRC usa /etc/conf.d/hwclock ao invés de /etc/conf.d/clock.

Ferramentas de rede:

Não há necessidade de instalação do cliente DHCP, já que o dhcpcd está incluído na stage3 do Funtoo. Iproute2 também é incluído por padrão.

Sobre o autor

Daniel Robbins é o fundador da comunidade Gentoo Linux e criador do sistema operacional Gentoo Linux. Daniel reside no Novo México (New Mexico) com sua mulher e duas adoráveis filhas, e também é fundador e líder do Funtoo. Daniel tem também escrito muitos artigos técnicos para a IBM DeveloperWorks, Intel Developer Services e C/C++ Users Journal. E ahn... Daniel tem um blog: http://blog.funtoo.org/

quarta-feira, 27 de maio de 2009

Linux não convence ninguém

Muita gente me pergunta todos os dias, Still, por que usar linux? Quando eu respondo: Me diga você! Todos me olham estranho... Como se eu tivesse alguma obrigação em saber por que alguem deve usar o sistema operacional que eu uso... Se você perguntasse para o Linus Torvalds, certamente ele daria a mesma resposta: "Quem deve saber isso é você meu jovem!" seriam as palavras do gênio finlandês. O sistema operacional Linux não foi criado com o intuito de concorrer com nenhum outro, ele foi criado por um jovem estudante de Ciências da Computação mais como um passatempo do que para ser comercializado. Mas indo diretamente ao ponto, a grande vantagem do Linux é que é preciso um conhecimento mais aprofundado de seu funcionamento, o que leva o usuário a ter uma maior consciência do que está fazendo do que um usuário de windows. Tenho certeza de que qualquer senhora de 70 anos (digo essa idade pelo fato de que tais pessoas não tem tanta afinidade com microcomputadores quanto os indivíduos da nossa geração, que já nascem praticamente na frente de um computador) tem habilidade suficiente para utilizar o windows, no entanto ela não terá a pericia necessária para resolver um eventual problema (mesmo que esse seja simples). Quando eu vou indicar o Linux para alguém sempre pergunto para que propósito ele irá usar o sistema, porque dependendo do seu modo de uso ele se torna o sistema adequado ao seu usuário, o que o torna um sistema flexível. O Linux não precisa ser inserido no mercado, o mercado está se dobrando ao Linux. Você não precisa ser convencido a usar Linux. Você tem que se convencer é de que o monopólio da microsoft (que hoje em dia já não é mais tão monopólio assim :D ) é algo nocivo aos estudantes e iniciantes nessa área tão fascinante que é a informática. Você precisa se convencer de que não é escravo de um sistema que te diz o que fazer, enquanto pode usar um sistema em que é você quem diz o que ele deve fazer. O Linux é para quem se interessa por ele, quem quer se libertar. Não adianta abrir a jaula se o leão não quer sair, morreu por dentro, perdeu a vontade de lutar... A porta está aberta bem na sua frente! Você decide sair ou não. Não eu. O Linux é assim. Para quem quer ser livre!

quarta-feira, 11 de março de 2009

Bem-vindos!

É com grande satisfação que anuncio o início do espaço "gentoobrasil" aqui no blogspot. Um grande abraço à todos, que possamos multiplicar cada vez mais o conhecimento entre nós e aproveitem!