Escolar Documentos
Profissional Documentos
Cultura Documentos
Arch PDF
Arch PDF
Utilizando o
TM
no Desktop
Autor: Srgio H. Berlotto Jr. Ano: 2011
UTILIZANDO O ARCHLINUX NO DESKTOP
Srgio Berlotto
Dedicatria
Dedico este livro e agradeo a minha esposa e ao meu filho, por me darem sempre alegrias e serem a
base de muitos aprendizados, e a comunidade Open Source, principalmente ao Archlinux-BR, que me
acolheu e me ajudou sempre quando necessrio.
i
ndice
Prefcio ................................................................................................................................................ iii
1. Introduo ......................................................................................................................................... 1
1.1. Conhecendo o Arch Linux .................................................................................................... 1
1.2. Instalao e Configurao ..................................................................................................... 5
2. Gerenciamento de Pacotes .............................................................................................................. 10
2.1. Pacman ................................................................................................................................. 10
2.2. Interfaces Grficas para o Pacman ...................................................................................... 10
2.3. Repositrios ......................................................................................................................... 12
2.4. Como criar um pacote para o Arch Linux .......................................................................... 15
2.5. Como enviar pacotes para o AUR ....................................................................................... 21
3. ABS/AUR ....................................................................................................................................... 23
3.1. Arch Build System (ABS) ................................................................................................... 23
3.2. ArchLinux User Repository (AUR) .................................................................................... 23
3.3. Trusted Users ....................................................................................................................... 25
3.4. Compilando atravs do ABS ............................................................................................... 25
4. Mais informaes e contribuies .................................................................................................. 28
4.1. Projetos Relacionados .......................................................................................................... 28
5. Perguntas Frequentes ...................................................................................................................... 30
6. Listagem de comandos teis de modo geral para o ArchLinux ..................................................... 32
7. Instalao e configurao de programas ........................................................................................ 34
7.1. Como instalar ambiente grfico base .................................................................................. 34
7.2. Como instalar um ambiente GNOME ................................................................................. 36
7.3. Como instalar um ambiente KDE 4 .................................................................................... 37
7.4. Como instalar um ambiente XFCE ..................................................................................... 37
7.5. Como instalar o SOM .......................................................................................................... 38
8. Como compilar o kernel do Jeito Arch 1 ....................................................................................... 40
8.1. Kernels diferenciados ........................................................................................................... 40
8.2. Dicas de Performance .......................................................................................................... 41
Consideraes Finais ........................................................................................................................... 43
ii
Prefcio
Conhea tudo sobre o ArchLinux!
Este livro destinado a pessoas que gostem de se aventurar em novos mundos e que gostem
principalmente de Software Livre.
Neste livro, eu irei lhes mostrar e falar bastante sobre a distribuio linux conhecida como Arch
Linux. Voc, leitor, conhecer desde a histria inicial da distribuio, todas as suas caractersticas
e artimanhas de utilizao, desde a instalao bsica at a instalao de programas, ambientes de
trabalho, kernels diferenciados, compilao de cdigo e gerao de pacotes.
Lendo este livro at o fim, com certeza voc estar apto a instalar, manter e utilizar no dia-a-dia uma
distribuio Arch Linux.
Licena:
Esta obra est licenciada sob "Creative Atribuio-Compartilhamento pela mesma Licena 3.0 Brasil
Commons". Para mais detalhes visite o site http://creativecommons.org/licenses/by-sa/3.0/br/ .
Verso do Livro:
1.0
Ferramentas:
Este livro foi escrito utilizando as ferramentas: asciidoc, gedit e Arch Linux.
Sobre o Autor:
Srgio H. Berlotto Jr, gacho, nasceu em Janeiro de 1981, desenvolvedor desde 1999, e linuxer
deste meados de 2003. A partir de 2009, conheceu o ArchLinux, que, desde ento, tornou-se sua
distribuio oficial e de uso dirio, com a qual adquiriu muito conhecimento sobre este ambiente e
criou um apego pela filosofia da distribuio.
Site: http://berlotto.blog.br
iii
Captulo 1. Introduo
Este livro foi criado para servir de base a todos aqueles que queiram utilizar a distribuio Arch
Linux 1 em seu computador de casa ou do escritrio. Eu falo, explico e mostro vrios tpicos e vrios
aspectos desta distribuio, explicando os caminhos mais fceis e/ou interessantes para a instalao e
utilizao desta distro que vem crescendo dia a dia.
Neste livro mostraremos tambm alguns pontos importantes do Arch Linux, arquivos de configurao,
como manter a estabilidade, alguns drivers de vdeo, som e gerenciador de janelas, que o mnimo
necessrio para voc ter um ambiente desktop inicial para trabalho e diverso.
Este livro voltado aos usurios do Brasil (pt_BR), porm pode servir como base para qualquer
usurio instalar e manter o ArchLinux em qualquer outra linguagem tambm, alterando poucos itens.
Depois de ler este livro, voc estar apto a manter corretamente sua distribuio Arch Linux
funcionando, com seus programas mais utilizados, com estabilidade e sabendo tambm onde buscar
as informaes necessrias para as adversidades do dia-a-dia, que por sinal, no so muitas, mas
existem !
Ela uma distribuio minimalista, criada do zero, concebida a partir das ideias do antigo Crux,
porm com um robusto gerenciamento de pacotes e resoluo de dependncias entre eles ( pacman e
makepkg ).
O conceito do Arch o velho conhecido KISS (Keep it Simple Stupid), ou seja, mantenha tudo o mais
simples possvel.
A distribuio mantm a cultura minimalista e simplificada. Com a sua instalao "no vem nada",
ou seja, quando baixamos a imagem ISO para instal-lo, instalamos somente o sistema bsico,
com a velha conhecida linha de comando. E a partir da que colocamos a mo na massa para
customizar nossa instalao conforme queremos. Mas no se assuste! No temos janelas bonitinhas
de configurao e wizards para instalaes, porm temos a simplicidade nos arquivos de configurao
e algumas interfaces de auxlio diretas, e prticas, via terminal. Quem tem medo da "tela preta" do
Linux no deve se aventurar por aqui, mas nunca tarde para aprender! Por isto, sempre se enfatiza
que: O Arch Linux uma distribuio para usurios avanados e no para iniciantes!
Muitos usurios de linux comparam o Arch com o Slack, pois os dois tm a filosofia da simplicidade,
porm a grande diferena ( pelo menos a mais comentada ) que existe entre as duas distros o
1
Site Oficial do projeto ArchLinux [http://www.archlinux.org]
2
GNU o nome do projeto e propriedade da Free Software Foundation, e Linux nome do kernel do sistema, criado por Linus
Torvalds
1
Introduo
gerenciamento de pacotes do Arch. Que nos trs muita organizao e menos trabalho para criar,
gerenciar e instalar os pacotes no ambiente.
Simplicidade
O Arch completamente voltado a simplicidade. Mas esta afirmao pode te levar a vrios pontos
de vista, ento entenda: simplicidade no Arch definida como "sem acrscimos desnecessrios,
modificaes ou complicaes".
No Arch, o usurio pode moldar o sistema completamente de acordo com suas necessidades, ficando
assim com a sua cara, com seu jeito. A simplicidade do Arch traz consigo muitas facilidades, que se
tornam o grande trunfo da distribuio, e voc consegue ver isto logo de cara, com pouco tempo de
uso.
O Arch mantm um sistema GNU/Linux com suas facilidades e dificuldades da mesma forma em
que so encontradas, porm organizadas e transparentes. Esconder as complexidades de um sistema
resulta geralmente em um sistema muito mais complexo, e isto evitado. Resumindo: o Arch uma
distribuio elegante e minimalista!
Conceitos, designs e funcionalidades so geradas e implementadas pelo uso dos princpios do Arch
Way como um guia, ao invs de influncias externas. A equipe de desenvolvimento decidida no seu
empenho e dedicao a filosofia do Arch Way. Se voc compartilha essa viso, voc bem-vindo e
incentivado a usar o Arch.
Centrado no Usurio
Diferentemente de muitas distros que so "user-friendly", ou seja, amigvel, confortvel ao usurio,
"facilitando" a utilizao do sistema com muitas features e alteraes, o Arch "user-centric",
direcionado ao usurio. O usurio do arch o centro das atenes, ele quem manda. um ponto de
vista diferente, apesar de soar levemente parecido.
2
Introduo
Tanto isto verdade que o Arch tem uma espcie de repositrio especial para guardar os pacotes
gerados pelos usurios normais, que so aqueles que no so desenvolvedores oficiais nem Trusted
Users. Isto ajuda muito no desenvolvimento da distribuio, pois como diz o ditado: 2 cabeas
pensam mais do que 1! E assim, vrias ideias e inovaes em programas e bibliotecas so adicionadas
aos repositrios oficiais vindas das vrias contribuies disponibilizadas.
Abertura
A abertura vai de mos dadas com a simplicidade, e tambm um dos princpios orientadores do
desenvolvimento do Arch Linux.
O Arch Linux utiliza ferramentas simples, que so selecionadas ou construdas com a abertura dos
fontes e sua sada em mente.
A natureza aberta do Arch Linux tambm implica numa curva de aprendizagem bastante acentuada,
mas os usurios experientes tendem a encontrar outros sistemas fechados mais inconvenientes para
controlar. O princpio da abertura estende-se aos membros da comunidade. Os usurios do Arch Linux
so conhecidos por serem abertos a ajudar e aconselhar, bem como com contribuies de pacotes para
a comunidade mantenedora do Arch User Repository (AUR).
Liberdade
A liberdade que se fala neste ponto, no somente a liberdade de escolha de pacotes, mas tambm a
liberdade que o usurio tem na hora de "formar" seu sistema. O Arch do usurio pode ser o que ele
quiser, seja qual for a direo escolhida. Voc nunca ser obrigado a nada utilizando o Arch. Tudo
feito na maior transparncia e simplicidade. O usurio pode escolher em fazer tudo na mo, escolher
entre pacotes livres e/ou proprietrios, pode definir quais softwares rodaro no sistema, quais servios
estaro no ar e quais no estaro. o usurio quem escolhe !
Ao manter o sistema simples, o Arch Linux fornece a liberdade para fazer qualquer escolha sobre o
sistema.
1.1.2. Inicializao
O Arch Linux utiliza um sistema de inicializao identificado como "BSD Like Init Scripts",
diferentemente de vrias outras distros que temos disponveis. Mas o que significa isto ? Qual
o sistema de inicializao que tem na outros distros ? Como funciona ? Tentarei explicar como
funcionam da melhor forma possvel, para que voc possa conhecer e ter, daqui para frente, alguma
ideia de como dar manuteno em um ambiente destes. Ento, vamos l!
3
Introduo
Todos sabemos que os init scripts, em um sistema unix like servem para inicializar o sistema de fato,
ou seja, chamam os scripts e daemons de cada servio conforme esto configurados, e so executados
logo que o boot da bios acontece.
Ambos, System V e BSD-Like fazem isto, mas qual a diferena entre os dois sistemas ? A diferena
entre os dois sistemas de inicializao est na sua estrutura.
System V
O System V tem uma estrutura baseada em runlevels. Ele executa os daemons conforme cada runlevel
atingido no sistema. Geralmente temos de 6 a 7 runlevels na maioria dos sistemas unix-like, e no
existe obrigatoriedade na sua utilizao.
Por exemplo, em um sistema Debian temos a configurao do init no arquivo /etc/inittab. Nos
diretrios /etc/init.d/rcN.d ficam localizados links simblicos para os scripts que esto fisicamente
gravados em /etc/init.d/, onde este "N" do "rcN.d" indica o nmero do runlevel em que o script
ou daemon ser executado. E, nesta mesma organizao de um Debian Linux, temos 7 runlevels,
conforme a lista abaixo:
0 = pra o sistema
1 = modo monousurio
2 a 5 = modos multiusurio
6 = reinicializao do sistema
Este um timo exemplo de um sistema que uiliza o modo System V, e entre as outras distribuies
que tambm utilizam o System V como modo de inicializao, ( por exemplo Red Hat e Suse)
podemos ter pequenas alteraes, principalmente na definio dos runlevels, para que se adaptem a
cada situao.
BSD Like
J o modo BSD de inicializao, tem como caracterstica a simplificao das configuraes, onde
todo o processo baseado em um arquivo, o /etc/rc.conf, e os scripts esto em apenas um diretrio,
o /erc/rc.d, sendo que no temos a utilizao dos runlevels neste caso, mas sim apenas dois modos
de trabalho: Monousurio ou Multiusurio. Ento, se voc quer inicializar algum servio no sistema,
basta adicion-lo no arquivo /etc/rc.conf, ou ainda em alguns sistemas BSDs, no arquivo /etc/
rc.conf.local .
Dois grandes exemplos de como um linux com sistema de inicializao BSD Like funciona so:
ArchLinux e Slakware. No Arch, exatamente como mencionado acima. A inicializao do sistema
baseada no arquivo /etc/rc.conf. Alm dos daemons que inicializaro ao iniciar o sistema, podemos
tambm configurar relgio, linguagem, teclado, lvm, hostname e rede. Todos os scripts de daemons
( ou servios ) esto localizados em /etc/rc.d/ e podem ser chamados manualmente com os parmetros
"start" e "stop", alm de outros especficos de cada servio, conforme a nossa necessidade.
4
Introduo
Acesse: http://www.archlinux.org/download e baixe a iso que diz "netinstall", que traz somente o
necessrio para rodar o ambiente de instalao, em mais ou menos 160MB. Neste ponto tem dois
detalhes importantes:
1. Arquitetura: voc deve baixar a iso que traz no nome do arquivo o nome da sua arquitetura: i686 ou
x86_64.
2. Imagem Hbrida: Tem outra ISO que contm uma imagem hbrida do Arch, ou seja, ela contm
ambas arquiteturas e pode ser gravada tanto em CDs como em pendrives, assim nos facilitando
muito a vida quando queremos principalmente instalar vrias mquinas.
5
Introduo
6. Os menus desta instalao devem ser executados todos praticamente, e na ordem em que aparecam
na tela.
a. Select Source
i. Selecione a fonte dos arquivos de instalao, e se voc escolher "net" ele solicitar que voc
configure a rede. DHCP Geralmente resolve nosso problema. Ou ento voc pode tambm
configurar sua rede de IP Fixo.
ii. Agora, selecione o mirror para baixar os arquivos, pode ser qualquer um que termine com
".br"
b. Set Clock
ii. Sete a hora, ou diga que vai ser atualizado pela hora UTC (melhor opo)
i. Podemos escolher por particionar automaticamente, onde ele decide o que melhor e nos
pergunta somente alguns tamanhos.
d. Select Packages
i. Aqui ele mostrar alguns pacotes que esto disponveis, e muitos j marcados. Eu aconselho
a no desmarcar nenhum caso voc no saiba exatamente o que est fazendo, e marcar pelo
menos o pacote "sudo" a mais, pois vai utiliz-lo em vrios momentos. *Dica kiss*: No
marque pacotes que voc acha que pode utilizar mais tarde! Isto acaba instalando libs e
programas desnecessrios, e no queremos isto.
e. Install packages
f. Configure System Este o passo mais importante, mas nem por isto o mais difcil! Veja abaixo
os itens que devem, no mnimo, ser verificados, pois nem todos necessitam de alterao, pelo
menos no neste momento, e os que no foram citados na lista abaixo, podem, caso necessrio,
ser editados depois, em casos mais especiais.
LOCALE=pt_BR.utf8
6
Introduo
KEYMAP="br-abnt2"
eth0="dhcp" Informaes sobre a rede. O mais fcil deixar como "dhcp", isto se voc
est em uma rede que contenha um servidor DHCP, mas voc pode definir seu ip fixo
tambm, como por exemplo "eth0="eth0 192.168.0.2 netmask 255.255.255.0 broadcast
192.168.255.255"".
DAEMONS A lista dos servios que sero iniciados com o sistema. No coloque nada
agora, somente depois conforme for sendo necessrio ao utilizar o sistema.
ii. /etc/fstab : Confira aqui os pontos de montagem do sistema, e pode acrescentar alguma outra,
caso queira.
iii. /etc/resolv.conf : Ajustes os IPs dos servidores de DNS que sero utilizados por voc. Pode
colocar aqui os do Google ou do OpenDNS por exemplo.
iv. /etc/hosts : neste arquivo que voc define os nomes de mquinas na rede e seus respectivos
Ips. Acrescente as que necessitar, e se necessitar.
v. /etc/locale.gen : Edite este e descomente aqueles que forem iguais ao LOCALE informado
no /etc/rc.conf, no caso "pt_BR.UTF8"
g. Install Bootloader
i. Aqui vamos instalar o grub, voc ser questionado por onde deve instalar o bootloader.
h. Exit Install
i. Nem preciso falar nada sobre este passo. Ok ! Sada e depois disto ele indica a voc para
executar um reboot para iniciar no novo sistema!
7
Introduo
1.2.2. Ps instalao
Agora, faremos alguns ajustes para o correto/melhor funcionamento da maioria das coisas que mais se
utiliza no nosso ambiente:
Um detalhe, esta seo uma lista de tarefas e dicas do que fazer depois da instalao, para guiar o
usurio. Tarefas mais simples contero seus comandos aqui mesmo, listados no livro, e tarefas mais
complicadas, que no estiverem contidas neste livro, estaro seguidas pelos seus links do wiki. Ok !
# pacman -Syu
Pacman colorido
cd /etc/pacman.d
cp mirrorlist mirrorlist.backup
//Edite o mirrorslist.backup e descomente todos os mirrors que so
//mais prximos geograficamente a voc
nano mirrorlist.backup
rankmirrors -n 6 mirrorlist.backup > mirrorlist
pacman -Syy
adduser meulogin
Dica de Segurana
Sempre crie um usurio comum para voc utilizar, importante isto! NUNCA UTILIZE
O SISTEMA, DIA-A-DIA, COM UM USURIO ADMINISTRADOR, EM NENHUM
SISTEMA OPERACIONAL!
Instale o yaourt : ferramenta para trabalhar com os pacotes ao AUR mais facilmente (item
Seo 3.2.1, Yaourt)
8
Introduo
Instale o driver de Vdeo correto (itens Seo 7.1.1, Instalao do driver NVidia e Seo 7.1.2,
Instalao do driver ATI Catalyst)
Instale seu ambiente grfico predileto (itens Seo 7.2, Como instalar um ambiente GNOME,
Seo 7.3, Como instalar um ambiente KDE 4 e Seo 7.4, Como instalar um ambiente XFCE)
Instalar o libgphoto
# pacman -S libgphoto2
Instale o browser que mais gosta e os seus plugins para Flash e Java. Links:
https://wiki.archlinux.org/index.php/Chrome
https://wiki.archlinux.org/index.php/Firefox
https://wiki.archlinux.org/index.php/Browser_Plugins
Instale os (des)compactadores:
Instale o Acrobat Reader para ver seus PDFs (Este est presente no repositrio archlinuxfr)
# pacman -S acroread
Instale agora outros programas que, mesmo que no tenham sido citados aqui podem ser
interessantes para voc, ou deixe isto para depois e v instalando conforme a necessidade de uso.
Segue o link para uma lista dos programas mais comuns: https://wiki.archlinux.org/index.php/
Common_Applications
9
Captulo 2. Gerenciamento de Pacotes
2.1. Pacman
Assim como vrias distribuies, o Arch tem seu prprio sistema de pacotes, e o gerenciador
chamado de "pacman". Simples, fcil e muito funcional! Aqui, tem um pequeno, mas importante,
detalhe: todos os pacotes do Arch so compilados para processadores a partir de i686 ( 32 e 64 bits ),
ou seja, processadores antigos no funcionaro com esta distro.
O pacman tem uma forma padro de funcionamento, porm encontramos algumas maneiras de
melhorar sua performance.
Uma das caractersticas do pacman que ele guarda suas informaes em uma base de dados local
para seu controle. E com o comando pacman-optimize && sync voc consegue otimizar esta base,
fazendo com que ele a acesse de forma otimizada e mais gil.
Outra ferramenta interessante o pacote: pactools. Ele contm alguns programinhas interessantes, um
deles o pt-pacman-cage, que faz com que o arquivo da base de dados local estaja localizado em um
local no HD que seja contnuo, diminuindo assim a tempo de acesso a este.
Outra forma ainda de tentar aumentar a performance do pacman, melhorar a velocidade download
dos pacotes. No arquivo de configurao ( /etc/pacman.conf ) temos a propriedade "XferCommand"
onde podemos alter-la para utilizar diferentes ferramentas para efetuar o download de cada pacote.
Podemos configurar por exemplo o aria2c, o wget, o script pacget, etc. E tem tambm o powerpill,
que um programa paralelo ao pacman, que utiliza o aria2c para fazer os downloads, aumentando a
performance dos mesmos.
E com o programa "rankmirror", teremos uma organizao dos repositrios, que sero organizados
conforme a melhor avaliao da velocidade de download. Assim ajudando a melhorar ainda mais o
download.
GtkPacman
10
Gerenciamento de Pacotes
O GtkPacman bem simples mas eficiente, faz procuras de pacotes, mostra informaes de pacotes e
listagem dos repositrios tambm. Alm de, claro, instalar, remover e atualizar pacotes.
Shaman
O Shaman uma ferramenta que tem a mesma funo do GtkPacman, porm parte do projeto
Chakra e utiliza a biblioteca Qt e, alm disto, integrada ao ABS, buscando pacotes do AUR tambm.
Archup
O Archup um pequeno aplicativo de verificao de atualizaes de pacotes para o Arch. Ele criado
em C utilizando a LibNotify. Roda tanto para o KDE quando para o Gnome. http://www.nongnu.org/
archup/
11
Gerenciamento de Pacotes
Alunn
O Alunn outro programa que simplesmente fica verificando o status dos pacotes no seu sistema e
avisa quando tem atualizaes disponveis, com uma mensagem na bandeja do sistema.
E alm destas citadas tem outras tambm que efetuam tarefas parecidas com algumas variaes de
biblioteca grfica e organizao. Voc pode saber mais no wiki oficial https://wiki.archlinux.org/
index.php/Pacman_GUI_Frontends .
2.3. Repositrios
Geralmente estamos acostumados a ver sempre um formato de repositrios parecidos com o do
Debian, onde temos o repositrio da verso, e dentro dele a separao de stable, com os pacotes
estveis, unstable com os pacotes ainda instveis, testing para os pacotes que esto sendo testados, e
outros as vezes. Porm no Arch diferente. J que no temos uma verso da distro, por ser "Rolling
Release", todos os pacotes funcionam em todas as instalaes, ou seja, no temos a separao de
verso. Assim, um pacote do gnome 2.30, por exemplo, serve tanto para uma nova instalao do Arch,
bem como para uma instalao feita a muito tempo atrs.
core
Pacotes principais da distribuio e alguns opcionais
extra
Pacotes extras da distribuio que no esto no core
12
Gerenciamento de Pacotes
unstable
Pacotes experimentais e instveis
testing
Pacotes que so candidatos aos repositrios core, extra e unstable
release
Pacotes histricos, no para uso regular
community
Pacotes que do AUR que so mantidos pelos TUs e tem votos suficientes para entrar neste
repositrio
unsupported
Este no contem pacotes binrios, mas PKGBUILDs que so submetidos por usurios regulares
Tem tambm alguns repositrios no oficiais que so mantidos por alguns usurios, empresas e/ou
grupos de usurios que contm os mais diversos pacotes, como por exemplo :
archlinuxbr
Repositorio Brasileiro
archlinuxfr
Repositrio Francs
archgames
Repositrio de jogos
entre outros
Existe uma lista completa de repositrios no oficiais que pode ser encontrada em: http://
wiki.archlinux.org/index.php/Unofficial_User_Repositories .
Configurao dinmica:
[core]
Include=/etc/pacman.d/mirrorlist
13
Gerenciamento de Pacotes
## Generated on 2010-11-23
O que ganho com isto ? Ganho em atualizao, pois um pacote de por ventura no estiver ainda
atualizado em um servidor A, pode estar atualizado no servidor B. Ganho em disponibilidade, pois um
pacote pode ainda no existir em um servidor A mas existir no servidor B. Ganho em performance,
pois temos como ver quais so os servidores mais rpidos, em questo de resposta e download dos
arquivos e deix-los como primeiros na lista. O padro da distribuio j conter um arquivo /
etc/pacman.d/mirrorlist contendo muitos servidores espelho, e o pacman.conf j apontando para
este arquivo. Porm, o mtodo mais interessante de ajustar a nossa lista de servidores utilizando
a ferramenta online, no site do ArchLinux.org, chamada "mirrorlist" ( http://www.archlinux.org/
mirrorlist/ ).
Mirrorlist
Acessando a ferramenta, fcil entender como funciona, basta selecionar o pas (no nosso caso
Brazil), o protocolo (pode deixar os dois, http e ftp, marcados), a verso do protocolo ip que deseja
e marque "Use mirror status" para que seja gerada uma lista ordenada pelo tempo de resposta dos
servidores.
Gerada a lista, copie-a e grave sobre o arquivo /etc/pacman.d/mirrorlist e assim voc ter uma lista
organizada da melhor forma possvel.
Estabilidade
O que geralmente acontece, principalmente para se manter uma instalao bem estvel do Arch
habilitar somente os repositrios core e extra, e as vezes o community. Assim no ficamos com
pacotes mais instveis ou de teste, gerando erros inesperados, a no ser que voc esteja querendo
ajudar no teste dos pacotes, para reportar os bugs quando necessrio, o que muito bom para os
desenvolvedores se seus pacotes forem testados na maioria de computadores possvel.
Outro detalhe que a ordem em que os repositrios aparecem no pacman.conf muito relevante, pois,
o pacman instalada sempre o pacote do primeiro repositrio que o contenha, ou seja, digamos que
temos o gnome 2.28 no core e o 2.30 no testing, se voc tem os dois repositrios habilitados no seu
pacman.conf, mas o core na frente, e solicitar a instalao do gnome ele vai instalar o 2.28, porm se
voc inverter a ordem dos repositrios, ele ir instalar o 2.30. Sendo assim, voc at pode habilitar o
testing como o ltimo repositrio da sua lista, e quando necessitar instalar uma verso de pacote que
esteja l, pode instal-lo especificando o repositrio no comando : pacman -S testing/gnome .
14
Gerenciamento de Pacotes
Estatsticas
A pouco tempo atrs foi liberada uma ferramenta para a comunidade ArchLinux que ajuda muito o
trabalho dos lderes e TU do projeto: pkgstats
Bom, seu nome diz tudo: estatsticas de pacotes. Simples assim! Esta ferramenta envia todos os
dados referentes aos seus pacotes e repositrios utilizados, para o servidor do Arch, onde estes, so
consolidados e atualizados de tempos em tempos.
Veja voc mesmo quais pacotes de repos so mais ou menos utilizados e outras informaes que voc
possa concluir como um bom investigador: https://www.archlinux.de/?page=PackageStatistics
Para ajudar com estes dados basta voc instalar o programinha pkgstats, que encontra-se no
repositrio extra. Depois s executar !
O mestre aqui o PKGBUILD! Este o cara! nele que inserimos todas as informaes para a
gerao. Quando voc executa o comando makepkg, ele ir procurar por um arquivo PKGBUILD
no diretrio atual, e compilar o cdigo fonte do programa de acordo com as instrues contidas
neste arquivo. O pacote binrio gerado ter o seu nome no formato: nomedopacote-verso-release-
15
Gerenciamento de Pacotes
Uma observao interessante: aqui que se aplica a afirmao: O ArchLinux utiliza um sistema de
gerao ports-like. Ento vamos utilizar a rvore de trabalho do ABS (Arch Build System), que fica
em /var/abs/local.
Alm de, claro, tudo que for necessrio para poder compilar e testar nosso programa.
Pronto! Estamos com as ferramentas devidamente instaladas! :-) Agora voc deve testar se a
instalao do seu programa est funcionando.
Funcionou ? Beleza! Ento criem um diretrio com o nome do seu pacote em /var/abs/local, por
exemplo
mkdir /var/abs/local/nginx
cd /var/abs/local/nginx
Ento agora vamos criar o nosso arquivo PKGBUILD. Ele um simples arquivo de texto, porm
formatado de maneira que a ferramenta o entenda e gere nosso pacote correto. Para comear um novo
PKGBUILD, voc pode utilizar um prottipo que tem disponvel no sistema j: /usr/share/pacman/
PKGBUILD.proto
Veja-o abaixo:
# This is an example PKGBUILD file. Use this as a start to creating your own,
# and remove these comments. For more information, see 'man PKGBUILD'.
# NOTE: Please fill out the license field for your package! If it is unknown,
# then please put 'unknown'.
1
Nginx no um programa criado pelo autor deste livro, foi somente utilizado como exemplo
16
Gerenciamento de Pacotes
provides=()
conflicts=()
replaces=()
backup=()
options=()
install=
changelog=
source=($pkgname-$pkgver.tar.gz)
noextract=()
md5sums=() #generate with 'makepkg -g'
build() {
cd "$srcdir/$pkgname-$pkgver"
./configure --prefix=/usr
make
}
package() {
cd "$srcdir/$pkgname-$pkgver"
pgkname
O nome do pacote. Alfanumrico somente. Letras devem ser em minsculo.
pkgver
A verso do pacote. Deve ser a mesma verso do software em questo. Pode conter letras e
nmeros. Hfem no permitido, se caso necessrio, deve ser trocado por underline.
pkgrel
O nmero do release deste pacote exclusivo para o ArchLinux
pkgdesc
Descrio do pacote. Pode conter at 80 caracteres somente. Por conveno no deve conter o
nome do pacote novamente.
arch
Uma lista das arquiteturas suportadas pelo programa. Ex: arch=(i686 x86_64)
url
A url do site oficial do programa
license
A licena pela qual o software distribudo
groups
A qual grupos de pacotes este pacote pertence. Por exemplo o kdebase
depends
Lista de pacotes de devem ser instalados antes de instalar este pacote. No necessrio listar aqui
pacotes que j sejam dependncias das atuais dependncias. Ex: gtk2 depende de glib2 e glibc,
porm s liste aqui glib2, pois glibc j dependncia de glib2.
17
Gerenciamento de Pacotes
makedepends
Lista de pacotes que so necessrio para a gerao do pacote, mas no para a utilizao do mesmo.
Itens de base-devel no necessitam ser listados aqui
optdepends
Lista de pacotes que no so obrigatrias para o funcionamento do programa, mas podem
adicionar funcionalidades caso instaladas
provides
Uma lista de pacotes dos quais este pacote prover funcionalidades. Ex: Se voc criou uma verso
do qt, chamdo qt-foobar liste aqui o pacote: qt
conflicts
Lista de pacotes que podem causar problemas caso estejam instalados simultaneamente
replaces
Lista de pacotes obsoletos, aos quais este pacote ser utilizado no lugar.Ex: Lista ethereal para o
pacote wireshark
backup
Lista de arquivos que deve ser salvos como <arquivo>.pacsave para que no sejam perdidos na
remoo. Comumente utilizado para pacotes que alteram configuraes no /etc
options
Uma lista de opes que permite alterar alguns itens do comportamento padro do comando
makepkg:
install
O nome do script de instalao (.install) que deve ser executado. Este deve ser includo no pacote.
O pacman tem a habilidade de executar scripts especficos dependendo da operao executada,
estes procedimentos so definidos como funes (Um prottipo deste arquivo pode ser encontrado
em /usr/share/pacman/proto.install), vejam:
pre_install: Executa antes dos arquivos serem extrados. Recebe o nmero da nova verso.
18
Gerenciamento de Pacotes
post_install: Executa depois dos arquivos serem extrados. Recebe o nmero da nova verso.
pre_upgrade: Executa antes dos arquivos serem extrados. Recebe o nmero da nova verso e
o nmero da antiga verso.
post_upgrade: Executa depois dos arquivos serem extrados. Recebe o nmero da nova verso
e o nmero da antiga verso.
pre_remove: Executa antes dos arquivos serem removidos. Recebe o nmero da antiga verso.
post_remove: Executa depois dos arquivos serem removidos. Recebe o nmero da antiga
verso.
source
Lista de arquivos que sero necessrios para a gerao. Deve conter a localizao dos arquivos, e
na maioria dos casos um endereo HTTP:// ou FTP://. As variveis pkgname e pkgver podem ser
utilizadas aqui.
noextract
Lista de arquivos, dentro dos pacotes em source, que no devem ser extrados
md5sums
Lista das somas MD5 respectivos aos arquivos informados no source, que serviro para
comparao aps o download
Ok, agora que j conhecemos as opes do nosso pacote, que chamamos de meta-configuraes,
vamos passar para o prximo passo. Temos que construir a funo "build()" dentro do PKGBUILD.
Funo build
Esta funo no faz nada mais do que executar todos os passos necessrios para a compilao/gerao
do seu programa. Sendo que todo o resultado desta operao ser empacotado automaticamente
depois. Nela utilizamos comandos comuns do shell bash, temos disponveis as variveis $srcdir que
contm o caminho onde est o PKGBUILD e todas as outras variveis que foram definidas acima, nas
meta-configuraes do PKGBUILD.
O primeiro passo entrar no diretrio criado pela descompresso dos fontes "$srcdir/$pkgname-
$pkgver". Assim saberemos onde estamos, e devemos trabalhar com caminhos relativos. Agora voc
vai utilizar os mesmos comandos utilizados para compilar o programa manualmente. Na maioria dos
casos voc vai utilizar algo como: ./configure; make, apesar de existirem centenas de variaes
para compilar os programas, como por exemplo ant build, ou outro comando qualquer para
compilar os fontes do seu programa. A funo build automatiza tudo o que voc faz manualmente,
em um ambiente fakeroot. Se o software que voc est compilando utiliza-se do script configure
uma boa prtica utilizar --prefix=/usr neste comando, pois todos os pacotes gerenciados pelo
pacman devem utilizar o diretrio /usr. Deixe o diretrio /usr/local para os pacotes gerados e
instalados manualmente.
Funo package
19
Gerenciamento de Pacotes
Este diretrio simplesmente um ambiente fakeroot, ele deve basicamente imitar o seu filesystem root
para o procedimento de instalao do programa. Quaisquer arquivos que devam ser instalados/copiads
em um diretrio do seu filesystem devem estar no diretrio pkg na mesma estrutura de diretrios
O comando makepkg --repackage roda somente a funo package, sem executar novamente a
compilao do programa. Isto facilita bastante, alm de no gastar tempo em vo, quando queremos
alterar somente algo que no interfira na compilao do mesmo, como por exemplo as dependncias
do pacote.
Dica
O comando makepkg, e tambm a funo build(), devem funcionar de maneira no-
interativa. Utilitrios ou scripts interativos executados na funo build() podem quebrar o
makepkg, principalmente se ele for chamado com a opo build-logging habilitada (-l).
Agora, se for necessrio executar algum passos aps o processo de instalao, ou mostrar mensagens
ao usurio, utilizamos o arquivo .install. Lembre-se que definimos qual o arquivo .install na
configurao "install" definida acima.
Importante
Para gerar um pacote que seja bem aceito na distribuio, temos que seguir algumas
regrinhas:
No crie novas variveis nos scripts do PKGBUILD, pois podem gerar erros e conflitos durante o
processo. Caso seja extremamente necessrio, crie-a prefixada com um underline
A varivel packager do meta-file pode ser customizada alterando-a no arquivo ou ento com uma
varivel de ambiente chamada PACKAGER.
Quando criar a descrio do pacote, no repita o nome do programa. Ex, ao invs disto: "Nginx
um servidor web", use isto: "Servidor web"
20
Gerenciamento de Pacotes
Ok, agora vamos ter que testar o nosso pacote n ! Para isto basta rodar o comando makepkg no
diretrio onde se encontra o PKGBUILD criado, no nosso caso em /var/abs/local/nginx (seguindo o
nosso exemplo!). Se estiver tudo correto, ser criado um pacote, com seu nome no formato $pkgname-
$pkgver.pkg.tar.xz, porm, se der algum erro, ser mostrado uma mensagem de erro. Da voc ter que
avaliar o que aconteceu, se faltou algum passo para a gerao, se informou algum parmetro errado,
ou se faltou alguma biblioteca, ou se criou alguma inconsistncia no PKGBIUILD mesmo. Avalie,
arrume, e volte a executar o makepkg at que d tudo certo, ok !
O pacote gerado pode ser instalado com o comando pacman -U, por exemplo: pacman -U
nginx-0.9.pkg.tar.xz.
Agora, para completar o servio temos duas ferramentas que podem nos auxiliar em verificaes dos
nossos pacotes:
namcap : uma ferramenta mais completa, que verifica as dependncias, os binrios e o cdigo
fonte dos pacotes, procurando por erros que possam danificar ou agredir o seu sistema, alm
de alguns erros que possam existir nos arquivos PKGBUILD. Veja mais sobre ele aqui: https://
wiki.archlinux.org/index.php/Namcap
Depois de gerar este pacote, e de ele funcionar, o que devemos fazer com ele ? Guardar em um CD ?
Colocar no pendrive ? No mesmo! Vamos compartilh-lo com a comunidade! No foi para isto que
voc criou um pacote do seu programa !!!
Para fazer isto crie um pacote com tudo necessrio, do diretrio no formato do ABS, por exemplo: /
var/abs/meupacote, contendo o arquivo PKGBUILD, os arquivos .install, quaisquer patchs, etc
Nada binrio deve ser enviado, somente arquivos fonte.
Para isto, execute o comando makepkg --source, assim o pacote correto para o envio ao AUR ser
criado.
Verifique os repositrios que contm pacotes binrios (core, extra, community,etc). Se encontrar
o pacote l NO envie-o ao AUR. Caso tenha algum problema, abre um bug no bugtrack do
Arch.
Verifique se o pacote est presente e sendo mantido por algum no AUR mesmo. Caso positivo,
envie sugestes pelo sistema de comentrio. E se estiver orfo, possivel adot-la.
21
Gerenciamento de Pacotes
Pacotes com binrios ou muito ruins sero excludas sem aviso prvio.
Se voc tem dvidas sobre seu pacote, utilize a lista de discusso ou o frum para pedir ajuda e
para que algum faa uma verificao antes de enviar definitivamente.
Saiba se este pacote realmente interessante! muito especializado ? Muitas pessoas gostaro de
ver este pacote disponvel ? Quanto mais melhor
Obtenha experincia antes de enviar o pacote fazendo vrias compilaes para conhecer bem os
mtodos e depois sim envie seu pacote.
Ento vamos l, verificado tudo, faa ( ou crie ) o login no site do AUR ( http://aur.archlinux.org/ ) e
clique no menu enviar, como ilustrado na imagem abaixo.
Ajudinha
Caso voc no queira ( ou no possa ) utilizar a interface web para enviar o pacote, utilize
um dos dois programas que tem para auxiliar nesta tarefa: auruploader ou burp ( procure
no AUR )
22
Captulo 3. ABS/AUR
3.1. Arch Build System (ABS)
(ou somente ABS), assim chamado o sistema de gerao de pacotes que o ArchLinux utiliza. O
ABS, um sistema ports-like, ou seja, parecido com o sistema "ports" de gerao de pacotes,
utilizado nos sistemas BSD. Com ele possvel que o cdigo fonte do referido pacote seja baixado,
desempacotado, compilado e instalado automaticamente. Porm, ao invs de utilizar apenas um
diretrio para efetuar este processo, como no port, o ABS utiliza-se de um arquivo chamado
PKGBUILD, que contm todas as informaes para poder baixar/compilar/instalar o tal pacote.
Quem utiliza o Arch no tem a obrigao de conhecer nem utilizar o ABS. Pois ele uma ferramenta
de auxlio para os que queiram ajustar ou manipular ainda mais seu sistema, customizando, baixando e
compilando vrios programas conforme suas necessidades.
T, mas a voc pensa assim: - Poxa, legal isto, mas d um trabalho pegar um pacote deste AUR,
no ! At posso dizer que no algo trivial, s que como sempre na informtica, algum com certeza
j passou por este mesmo problema.
YAOURT e aurget so duas ferramentas que interagem com o AUR, funcionalidade que o Pacman
no faz, pois este destinado somente aos pacotes binrios, por isto a necessidade de se utilizar uma
ferramente diferente.
A diferena bsica entre aurget e YAOURT que um um script BASH e o outro um programa
compilado. Ambos fazem bem o seu papel, porm o yaourt est mais bem difundido e a mais
completa delas, na minha opinio, fazendo inclusive validao de dependncias e conflitos.
Se voc tiver o programa "aurvote" instalado, o yaourt automaticamente verifica se voc j votou no
pacote instalado, e se no votou o questiona para votar (Veja mais adiante sobre Votao de Pacotes).
Vale lembrar tambm que, alm destes dois programas, tem outras opes para se trabalhar com o
AUR, basta dar uma procurada na lista de programas do AUR mesmo, via web.
3.2.1. Yaourt
Vamos instalar o yaourt para trabalhar com os pacotes do AUR ?
Adicione o seguinte repositrio no seu arquivo "pacman.conf", atentando para a sua arquitetura
23
ABS/AUR
[archlinuxfr]
#Server = http://repo.archlinux.fr/i686
#ou
#Server = http://repo.archlinux.fr/x86_64
Observao Importante: Sempre utilize o yaourt como usurio normal, nunca como root, evitando
assim, que qualquer script malicioso tenha acesso total ao seu sistema. E caso voc tenha dvida sobre
o que est ocorrendo ou vai ocorrer, abra o arquivo PKGBUILD do pacote para averiguar, para quem
conhece Bash simples descobrir o que a instalao do pacote faz. Certo !
Ento t, vamos l:
yaourt <pacote>
Procurar por um pacote
yaourt -S <pacote>
Instalar pacote
Com isto, voc j poder se virar e utilizar os pacotes criados pelos usurios, e assim usufruir muito
do seu Arch.
Enviar o seu PKGBUILD para o AUR, tambm conhecido como [unsuported], simples, veja a
instruo completa no item Seo 2.5, Como enviar pacotes para o AUR.
24
ABS/AUR
quem so os TUs) e disponibilizados para que todos que utilizem o ArchLinux possam instal-los e
utiliz-los com facilidade. Porm cada pacote disponvel no AUR pode um dia vir a ser adotado por
um TU e adicionado aos repositrios oficiais da distro. E para que isto seja possvel, eles levam em
considerao o nmero de votos!
A votao simples, uma eleio de pacotes: os que foram mais votados porque mais usurios que
utilizaram o pacote gostaram dele, e deram-no seu voto de confiana, seu voto de OK! Votando voc
diz que gostaria que este pacote esteja disponvel no repositrio oficial, e assim, instalvel via pacman.
Mas existe uma regra bsica: somente pacotes que recebem 25 votos ou mais, podero ser adotados
por um TU e seus binrios includos no repositrio community.
O modo principal para votao de pacotes pela web. Voc vai at o endereo http://
aur.archlinux.org/packages.php, efetua o login, busca pelo pacote desejado, clica sobre o nome do
escolhido, e, logo abaixo das informaes do pacote, voc ver um boto "Votar", clicando neste
boto voc ter votado no seu pacote favorito!
Porm, outro modo de votar por um script chamado "aurvote". Ele tem seu PKGBUILD disponvel
no AUR tambm. Portanto baixe-o e instale normalmente. Ento para votar com ele basta o seguinte
comando:
$ aurvote --vote <pacote>
Mas porqu?
Justamente por que para se tornar um TU voc precisa ser indicado pelas pessoas da comunidade para
tal funo, e ento o time dos atuais TUs ir votar, de forma democrtica, se quer ou no voc como
TU!
Os TUs so responsveis pela boa organizao e funcionamento do AUR. Eles que averiguam se um
pacote enviado para o AUR, contm cdigos maliciosos, e gerenciam os pacotes para que, atravs das
regras definidas, entrem ou no no repositrio [community], o qual responsabilidade dos mesmos
TUs, fora que, eles tambm tem direito de voto em questes administrativas do projeto.
25
ABS/AUR
Vamos ver ?
Criar e instalar novos pacotes atravs dos fontes se estes no estiverem disponveis no AUR.
Recompilar todo o seu sistema, utilizando suas flags de compilao, "a la FreeBSD"
Vai ser criada uma rvore de diretrios em /var/abs, e ela tem a mesma estrutura do banco de dados de
pacotes, contendo somente os arquivo PKGBUILD e no os arquivos fontes. Estes sero baixados na
hora da compilao, da URL definida no PKGBUILD.
Algo assim:
/var
/abs
/<branch>
/<categoria>
/<nome_do_pacote> /PKGBUILD
Download da rvore
O primeiro download feito pelo ABS o maior, sendo que ele baixa tudo. Porm ainda
assim no algo inconcebvel, gira, atualmente, em torno de 16 a 20 MB de download,
todo o contedo somente texto e ainda assim compactado na fonte.
O indicado para efetuar compilaes e modificaes que voc crie um diretrio s seu para fazer
isto, pois quando for sincronizada a rvore padro (/var/abs) todas as alteraes sero perdidas.
Ento faa um dos dois itens abaixo:
Pronto!
Podemos mais facilmente alterar e recompilar qualquer pacote, mesmo dos repositrios core e
extra por exemplo.
Makepkg.conf
Voc pode encontrar no Wiki do Arch Linux maiores informaes sobre as diretivas de
compilao, e alm disto, pode acrescentar seu conhecimento para melhorar ainda mais a
compilao e/ou utilizao de um pacote.
Tudo?
Se voc for mais atrevido, e gosta de situaes perigosas e desafiadoras, voc pode utilizar
o script pacbuilder [https://wiki.archlinux.org/index.php/Pacbuilder] tanto para recompilar
algum programa especfico, ou, os programas de um repositrio especfico ou at TODO o
sistema!
27
Captulo 4. Mais informaes e
contribuies
4.1. Projetos Relacionados
O projeto ArchLinux tem suas regras e condutas bem definidas, basta ler o artigo "O Jeito Arch"
1
. E a que mais se ressalta a simplicidade. S que isto no agrada a todos, pois nem todos veem
simplicidade do modo que o Arch v!
Geralmente os usurios de computador, seja de qual sistema operacional for, veem simplicidade como
"no ter que utilizar o terminal de comando", "ter programas que auxiliam na configurao de tudo",
"tarefas automatizadas e automticas", "ambientes completamente auto-configurveis", e por a vai.
Mas no arch no bem assim, simplicidade aqui transparncia, boa documentao, fcil acesso,
no esconder o que tem por trs das operaes.
Mas como o Arch tambm um projeto open-source, como a maioria das distros, tem alguns usurios
programadores que criam algumas facilidades para os usurios mais novatos, que tambm tem direito
de aprender o Jeito Arch de Ser 1, mas mais devagar, no to bruscamente ! hehe :-)
E estes projetos do uma contribuio enorme ao ArchLinux, uma vez que aprimoram a sua utilizao
para vrias pessoas e divulgam ainda mais a distro.
Vamos conhecer agora, alguns destes projetos que trazem diversidade e conhecimento para ns, e
depois, mostrarei onde encontrar mais projetos relacionados:
Archbang
O ArchBang um projeto de LiveCD, que roda um ambiente ArchLinux completo, leve, com
OpenBox window manager, servindo tanto para rodar e instalar em seu desktop como num sistema
portvel, como um pendrive.
Site: http://archbang.org/
Godane ArchIso-live
Este projeto do mesmo gnero do ArchBang, porm utiliza o Gnome como ambiente de desktop
manager. Tem um bom movimento, gerando praticamente 1 release do livecd por ms.
Site: http://godane.wordpress.com/
Chakra
Com a mesma inteno de ambos j citados, o projeto Chakra prov um ambiente completo para
desktop, todo encima do ArchLinux, porm utilizando o belssimo ambiente KDE4. Porm este
projeto prov tambm algumas ferramentas a mais como o Tribe, um instalador grfico bem bonito
e facilitado, o CInstall, que o gerenciador de pacotes alm do LiveScripts2 que um grupo de
ferramentas para (re)criao de ambientes live como CD e Pendrives.
1
O Jeito Arch - Link [https://wiki.archlinux.org/index.php/The_Arch_Way_%28Portugu%C3%AAs%29]
28
Mais informaes e contribuies
Site: http://chakra-project.org
ArchAudio
Site: http://archaudio.org/
ArchServer
Um Arch Linux com atualizaes mais controladas e diferentes mirrors de atualizao, para ambientes
de servidor.
Site: http://www.archserver.org/
CTKArch
uma distribuio minimalista, onde o seu criador selecionou alguns pacotes simples e teis para um
uso rpido. um liveCD que pode ser instalado ou no em seu disco rgido. Ele pode ser gravador em
um carto de memria/pendrive/cd. Utiliza os mirrors oficiais do Arch Linux.
Site: http://ctkarch.org/
E para encontrar mais projetos relacionados ao ArchLinux voc pode acessar esta pgina: https://
wiki.archlinux.org/index.php/Related_Projects
Isto tudo, sem contar ainda os projetos que so enviados ao AUR. Este sim o verdadeiro bero de
inovaes e criatividade da comunidade Arch. Nele encontramos praticamente tudo que precisamos
para nosso ambiente. Pacotes so inseridos e atualizados todos os dias. Ento, nunca deixe de verificar
no AUR se o software que voc quer existe l, provavelmente sim! E seno tiver ? Empacote o
programa e envie-o para l ! Contribua voc tambm!
Rolling Release
Rolling Release uma plataforma de compartilhamento de informaes que interessam aos archers.
uma eZine muito interessante, porm em Ingls. O endereo do site : http://rollingrelease.com/
29
Captulo 5. Perguntas Frequentes
Esta parte reproduzir (em traduo livre) algumas das perguntas respondidas no FAQ oficial do site
do Arch, principalmente sobre algum ponto que possa no ter sido abordado ou ter ficado to claro
neste livro.
R: Se, depois de voc ler sobre a filosofia do Arch, desejar fazer voc mesmo, e quiser uma
simples, elegante, altamente customizvel e genrica distribuio GNU/Linux voc um novo
usurio Arch.
2. Voc no tem tempo, habilidade ou vontade de fazer voc mesmo uma distribuio GNU/
Linux
3. Voc quer suporte a uma arquitetura que seja mais antiga que x86_64 e i686
4. Voc quer e tem uma firme posio sobre uma distro que fornea apenas softwares que
sejam open-source tal como definido na GNU
5. Voc quer um sistema operacional que seja auto-configurvel, e trata por padro um
conjunto completo de softwares e ambiente de trabalho na mdia de instalao.
8. Voc est procurando um sistema operacional que seja direcionado a outros usurios
5.4. P: O Arch direcionado a ser utilizado como servidor, desktop ou estao de trabalho ?
R: As verses do ArchLinux so meramente uma "foto" dos pacotes contidos nos repositrios,
combinadas com vrias modificaes e caractersticas do instalador. O modelo "rolling-
30
Perguntas Frequentes
release" deixa seu Arch sempre atualizado com um simples comando. Por este motivo, verses
no so to importantes no Arch, pois no sistema rolling-release cria-se novas verses dos
pacotes to logo suas atualizaes sejam liberadas. Se voc quer a ltima verso do Arch,
voc no precisa reinstalar nada, basta rodar o comando "pacman -Syu" e seu sistema estar
atualizado por completo, e idntico ao de uma nova instalao. E por isto tambm, voc no
precisa ficar aguardando novas verses do sistema para ter novas features, pois assim que sair
a verso do pacote, basta executar o comando "pacman -Syu" para t-las disponvel.
R: O Arch Linux to estvel quanto voc o faz! Voc que faz o sistema, voc o cria encima
de uma base simples e voc controla os upgrades do seu sistema. O usurio totalmente
responsvel pela estabilidade do ambiente, onde quem decide quando vai atualizar o sistema,
quais repositrios ir utiizar, quais pacotes ir instalar, etc.
R: Por favor leia o "O Jeito Arch" 1. A resposta basicamente que o time de desenvolvimento
do Arch no ir desenvolver uma. Sinta-se a vontade para utilizar uma das interfaces criadas
pelos usurios.
31
Captulo 6. Listagem de comandos teis
de modo geral para o ArchLinux
pacman
yaourt
aurvote
votar em um pacote:
servios
32
Listagem de comandos teis de
modo geral para o ArchLinux
parar servio: /etc/rc.d/<nome> stop
abs
rankmirror
mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bkp
pacman -Syy
33
Captulo 7. Instalao e configurao de
programas
Nesta parte do livro voc vai ver como instalar algumas partes do sistema, como o sistema grfico
base, ambientes grficos e o sistema de som. Assim, voc poder partir para a utilizao do sistema e
seguir configurando-o conforme gosta.
Dica
Todos os comandos para instalao devem ser executados como root ou atravs do sudo, a
no ser que seja solicitado outro usurio.
Para instalar execute o seguinte comando no terminal, como root ou com sudo:
# pacman -S xorg
Feito isto, poderemos passar para a instalao do gerenciador de desktop desejado, ou para a
instalao do seu driver de vdeo compatvel com sua placa 3D.
Voc somente necessita prestar ateno na verso da sua placa para instalar o driver apropriado:
Isto porque os drivers da Nvidia no carregam as compatibilidades de placas mais antigas nas verses
mais novas!
O passo seguinte a configurao do arquivo xorg.conf, que diz ao Xorg como deve funcionar, mas
temos uma ferramenta de ajuda para isto, que vem no pacote da Nvidia: nvidia-xconfig
34
Instalao e configurao
de programas
Antes de executar este comando ( ou outro qualquer que altere algum arquivo ) sempre
faa um backup, pois poder assim voltar qualquer alterao feita.
Caso voc tenha mltiplos monitores conectados a placa, execute o nvidia-xconfig conforme abaixo:
# nvidia-xconfig --twinview
Fora isto, caso tenha ainda algum problema para executar o ambiente grfico com sua Nvidia, d uma
olhada no wiki: https://wiki.archlinux.org/index.php/Nvidia
Na instalao do driver, ser compilado e instalado o mdulo do kernel referente, ento aconselho
voc a reiniciar o computador antes de iniciar uma sesso grfica.
Atualizar repositrios
# pacman -Syu
Instalar o driver
Instalar um xorg que tem alguns patchs de correo para este driver
35
Instalao e configurao
de programas
Alterar o /etc/X11/xorg.conf com a configurao correta e automtica
# aticonfig --initial
E, tambm, caso tenha algum problema maior e no conseguir subir o X d uma olhadinha na pgina
do wiki: https://wiki.archlinux.org/index.php/ATI_Catalyst
Ento vamos l. Depois de ter instalado o ambiente grfico base vamos instalar o que necessrio
para o Gnome funcionar:
# pacman -S gnome
Este comando instalar o mnimo necessrio para o Gnome funcionar. Porm queremos mais que o
mnimo, no ? Ento:
# pacman -S gnome-extra
Este pacote, gnome-extra, contm vrios outros recursos do Gnome, que deixaro ele mais completo e
funcional ainda.
Obs: Verifique se na linha dos DAEMONS, no /etc/rc.conf se existe dbus ou fam, ento retire-os
e aproveite para desinstalar o fam pacman -Rd fam, pois no lugar dele, agora est sendo utilizado o
Gamin.
Tambm, vamos editar o arquivo /etc/hosts e verificar se tem a seguinte linha configurada desta
maneira, trocando YOURHOSTNAME pelo nome da sua maquina, definida na instalao:
127.0.0.1 localhost.localdomain localhost YOURHOSTNAME
Agora, vamos instalar o gerenciador de login GDM, ele o responsvel por autenticar os usurios
para a utilizao do ambiente:
# pacman -S gdm
Ento, ser necessrio coloc-lo tambm na lista dos daemons que iniciam na inicializao do sistema,
para que assim no seja necessrio executar nada manualmente quando iniciar a mquina, ento edite
o arquivo /etc/rc.conf:
36
Instalao e configurao
de programas
DAEMONS=(syslog-ng network crond gdm)
E, ainda neste arquivo, adicione ( caso no exista ) a interface lo ao lado da(s) sua(s) interface(s)
configuradas. Ficando mais ou menos assim:
lo="lo 127.0.0.1"
eth0="..."
INTERFACES=(lo eth0)
Ento, com isto temos o gerenciador de desktop Gnome rodando perfeitamente, e funcional para
muitas atividades.
ou
# pacman -S kde-meta phonon-xine
O KDE 4 Modular, assim voc pode instalar suas aplicaes preferidas sem ter que
instalar um monte de outras libs
Ento, adicione o Dbus e o Hal na lista de daemons do /etc/rc.conf, ficando mais ou menos assim:
DAEMONS=(syslog-ng dbus hal networkmanager alsa crond)
Agora, instale o KDM (lembrando que se voc tem outro gerenciador de login j instalado, talvez no
seja necessria esta instalao
# pacman -S kdm
Ok! Agora voc tem um novo e lindo ambiente KDE rodando e funcional. Configure e estilize-o a
vontade para ficar do jeito que voc gosta!
Instalando a base
37
Instalao e configurao
de programas
# pacman -S xfce4
# pacman -S xfce4-goodies
# pacman -S gstreamer0.10-base-plugins
# pacman -S gnome-icon-theme
ou
# pacman -S tango-icon-theme
# pacman -S dbus
Se voc ainda no criou este arquivo, pode copiar o padro do sistema: cp /etc/skell/.xinitrc ~/
Ok, seu "startX" jah funciona. Mas agora, vamos instalar o login manager SLiM, ele utiliza o seu j
configurado ~/.xinitrc:
# pacman -S slim slim-themes archlinux-themes-slim
Login manager
Como gerenciador de login para o Xfce voc pode utilizar o GDM tambm, porm,
aconselho a utilizar o SLiM que mais prtico e rpido.
38
Instalao e configurao
de programas
# gpasswd -a yourusername audio
Este pacote j contm a configurao necessria para fazer o Pulse funcionar com o Alsa, e se voc
est em um ambiente 64 bits, e quer ter som para os programas 32 bits, tenha certeza de ter instalado
tambm as libs lib32-libpulse e lib32-alsa-plugins.
Vamos ver como instalar e configurar o ambiente de som ALSA (Advanced Linux Sound
Architeture)
O ALSA j includo no kernel padro do Arch Linux, no sendo necessria sua instalao.
39
Captulo 8. Como compilar o kernel do
1
Jeito Arch
Vamos admitir aqui que voc utiliza e quer alterar o kernel padro do Arch e j tem o ambiente do
ABS configurado, conforme respectivo item deste livro - Seo 3.4, Compilando atravs do ABS.
Descomente a linha atual do pkgname e descomente a linha abaixo, onde diz "kernel26-custom",
trocando o "-custom" pelo que lhe convier.
Claro que voc quer alterar as configuraes do kernel, ento descomente a linha do make
[menuconfig|nconfig|xconfig|etc] que achar mais apropriada.
Agora compile o kernel com o comando makepkg. Pode ir tomar um caf que este processo demora
bastante. Demorar uma hora no raro acontecer. Depois de terminada a instalao, instale seu novo
kernel
# pacman -U kernel26-custom_i686.tar.pkg.xz
PS: No esquea que tem vrios kernels diferenciados no AUR antes de meter a mo na massa, heim !
hehe (Veja o item Seo 8.1, Kernels diferenciados deste livro).
Este kernel contm os patchs criados por Con Kolivas 1. Estes patchs agregam melhorias no
escalonador.
-grsecurity
Tiny Patches
1
Con Kolivas [http://kernel.kolivas.org/]
40
Como compilar o
kernel do Jeito Arch 1
Estes patches so direcionados a melhorar o uso de memria e diminuir o footprint de disco.
Direcionado a desenvolvedores de sistemas embarcados e/ou mquina com menos poder, como os
antigos 386.
-fallen
Este um agrupamento de vrios patchs: -ck , fbsplash, reiser4, suspend2, latest 2.6.x.y patch, ACPI
DSDT, squashfs, e Genpatches
Fora este detalhe da compilao, o Arch mantm uma vida simplista e simplificada, onde dois
detalhes saltam aos olhos quando falamos disto: - O Arch no instala nada que voc no saiba: Voc
sabe TUDO que roda no seu Arch, ele no vem com nada instalado ou rodando sem que no tenha
cido voc mesmo que tenha instalado. - Configurao centralizada: este tambm um ponto bastante
importante pois agiliza a configurao do ambiente, onde no necessitamos ficar alterando vrios
arquivos para configurar a distribuio. Items como rede, linguagem, servios que sobem no boot e
vrios outros so configurados no arquivo /etc/rc.conf.
Mas mesmo assim h como manter seu ambiente de uma forma que ele trabalhe mais e mais rpido ?
Abaixo listo algumas dicas para que voc possa se guiar e aplicar aquelas que mais se encaixam com
seu perfil de utilizador do sistema:
Ambiente grfico: escolha um ambiente grfico mais leve e que utilize menos memria caso
necessite, podemos citar aqui o Lxde e o Xfce por exemplo.
Sistema de arquivos: para o linux existem vrios sistemas de arquivos disponveis, e cada um com
suas caractersticas, e como podemos determinar como nosso disco vai ser particionado e onde cada
partio ser montada podemos fazer um sistema completamente configurado para performance,
veja:
EXT4 - Tem excelente desenpenho no geral, confivel, mas ainda mantm alguns pequenos
problemas com alguns bancos de dados, tem desfragmentao online e suporte a grandes
volumes e nmero de diretrios.
ReiserFS - tima performance para arquivos pequenos, bem indicado para o /var.
XFS - tima performance para grandes arquivos, e baixa performance com arquivos pequenos.
tima performance com os comandos de formatao, montagem e o fsck e utiliza poucos
recursos de CPU.
Btrfs - Ainda em desenvolvimento, porm j constatado que tem melhor desempenho que o
EXT4, e muitas features para boa performance. Podes utilizar para fazer testes.
41
Como compilar o
kernel do Jeito Arch 1
Conhea seu sistema
Como est seu disco? Com o comando hdparm -t /dev/harddrive voc ver o tempo exato de
leituras do seu HD, no exatamente um banchmark, mas so consideradas boas no mnimo de
40 MB/s.
Veja o que mais consome CPU com o comando top ou um mais visualmente agradvel, o htop.
De repente podem haver programas ou daemons rodando sem necessidade.
Tens uma placa 3D ? Veja se est configurado corretamente, glxinfo | grep direct, se
no estiver instale os drivers da sua placa de vdeo para no denegrir a performance visual do
ambiente.
Teste e utilize aplicativos que so mais leves, e as vezes mais simples. Muitas vezes os aplicativos
mais simples fazem tudo que os seu equivalentes mais pesados fazem, ento sempre teste as vrias
opes at chegar ao que mais lhe agrada.
Utilize um kernel mais performtico. No AUR, como vimos em outro tpico deste livro (Seo 8.1,
Kernels diferenciados), temos vrias opes de kernels mais performticos do que o padro. Leia
sobre eles e veja o que mais se encaixa em suas tarefas.
Verynice um aplicativo que ajuda na execuo das tarefas no processador, ajustando de forma
inteligente a prioridade de cada processo.
Monte o diretrio /tmp na memria RAM ao invs do disco, isto vai ajudar muito, porm vai
comer parte da sua memria. muito bom para quem tem bastante memria disponvel.
Pacman : Ajuste o pacman para trabalhar melhor, tem vrias dicas sobre isto como:
pacman-cage: move a base do pacman para um local de disco onde se tem leitura contnua
Atualize a lista de mirrors do pacman para priorizar os mais rpidos em resposta utilizando o
rankmirror
E ainda, caso voc necessite de um sistema realmente performtico e quer ir mais a fundo
nas configuraes, voc pode utilizar as ferramentas de benchmark citadas no wiki: https://
wiki.archlinux.org/index.php/Benchmarking .
42
Consideraes Finais
A pesquisa para a criao deste livro foi extensa. Sendo que encontrei a maioria das informaes que me
faltavam no wiki oficial, porm, vrias dicas e informaes adicionais eu encontrei tambm em alguns
blogs e principalmente no frum brasileiro, alm da Wikipedia.
Desde j, agradeo a todos por terem disponibilizado tais informaes e tutoriais, que com certeza,
engrandecem a comunidade.
Locais de pesquisa
Sites
http://www.archlinux.org/
http://www.archlinux-br.org/
http://wiki.archlinux-br.org/
http://wiki.archlinux.org/
http://pt.wikipedia.org/
http://memphyx.wordpress.com/
http://www.guiadopc.com.br/
http://www.guiadohardware.net/
http://jpl.com.br/art01.php
http://www.smithux.com/
43