48
Utilizando o Autor: Sérgio H. Berlotto Jr. 1º Edição A simple, lightweight linux distribution. TM TM no Desktop Ano: 2011

Livro Do Archlinux

Embed Size (px)

Citation preview

  • Utilizando o

    Autor: Srgio H. Berlotto Jr.

    1 Edio

    A simple, lightweight linux distribution.TM

    TM

    no DesktopAno: 2011

  • UTILIZANDO O ARCHLINUX NO DESKTOPSrgio Berlotto

  • iDedicatriaDedico este livro e agradeo a minha esposa e ao meu filho, por me darem sempre alegrias e serem abase de muitos aprendizados, e a comunidade Open Source, principalmente ao Archlinux-BR, que meacolheu e me ajudou sempre quando necessrio.

  • ii

    ndicePrefcio ................................................................................................................................................ iii1. Introduo ......................................................................................................................................... 1

    1.1. Conhecendo o Arch Linux .................................................................................................... 11.2. Instalao e Configurao ..................................................................................................... 5

    2. Gerenciamento de Pacotes .............................................................................................................. 102.1. Pacman ................................................................................................................................. 102.2. Interfaces Grficas para o Pacman ...................................................................................... 102.3. Repositrios ......................................................................................................................... 122.4. Como criar um pacote para o Arch Linux .......................................................................... 152.5. Como enviar pacotes para o AUR ....................................................................................... 21

    3. ABS/AUR ....................................................................................................................................... 233.1. Arch Build System (ABS) ................................................................................................... 233.2. ArchLinux User Repository (AUR) .................................................................................... 233.3. Trusted Users ....................................................................................................................... 253.4. Compilando atravs do ABS ............................................................................................... 25

    4. Mais informaes e contribuies .................................................................................................. 284.1. Projetos Relacionados .......................................................................................................... 28

    5. Perguntas Frequentes ...................................................................................................................... 306. Listagem de comandos teis de modo geral para o ArchLinux ..................................................... 327. Instalao e configurao de programas ........................................................................................ 34

    7.1. Como instalar ambiente grfico base .................................................................................. 347.2. Como instalar um ambiente GNOME ................................................................................. 367.3. Como instalar um ambiente KDE 4 .................................................................................... 377.4. Como instalar um ambiente XFCE ..................................................................................... 377.5. Como instalar o SOM .......................................................................................................... 38

    8. Como compilar o kernel do Jeito Arch 1 ....................................................................................... 408.1. Kernels diferenciados ........................................................................................................... 408.2. Dicas de Performance .......................................................................................................... 41

    Consideraes Finais ........................................................................................................................... 43

  • iii

    PrefcioConhea tudo sobre o ArchLinux!

    Este livro destinado a pessoas que gostem de se aventurar em novos mundos e que gostemprincipalmente de Software Livre.

    Neste livro, eu irei lhes mostrar e falar bastante sobre a distribuio linux conhecida como ArchLinux. Voc, leitor, conhecer desde a histria inicial da distribuio, todas as suas caractersticase artimanhas de utilizao, desde a instalao bsica at a instalao de programas, ambientes detrabalho, 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 umadistribuio Arch Linux.

    Licena:

    Esta obra est licenciada sob "Creative Atribuio-Compartilhamento pela mesma Licena 3.0 BrasilCommons". 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.

    Linguagem: Portugus do Brasil (pt_BR)

    Site Oficial do Livro:

    No site http://archlinuxbook.wordpress.com, voc pode encontrar a verso mais atualizada e maioresinformaes sobre esta obra.

    Data: Novembro / 2010

    Sobre o Autor:

    Srgio H. Berlotto Jr, gacho, nasceu em Janeiro de 1981, desenvolvedor desde 1999, e linuxerdeste meados de 2003. A partir de 2009, conheceu o ArchLinux, que, desde ento, tornou-se suadistribuio oficial e de uso dirio, com a qual adquiriu muito conhecimento sobre este ambiente ecriou um apego pela filosofia da distribuio.

    Site: http://berlotto.blog.br

    E-Mail: [email protected] [mailto:[email protected]]

  • 1Captulo 1. IntroduoEste livro foi criado para servir de base a todos aqueles que queiram utilizar a distribuio ArchLinux 1 em seu computador de casa ou do escritrio. Eu falo, explico e mostro vrios tpicos e vriosaspectos desta distribuio, explicando os caminhos mais fceis e/ou interessantes para a instalao eutilizao desta distro que vem crescendo dia a dia.

    Este livro algo como um manual misturado com um guia de usurio!

    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 mnimonecessrio 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 qualquerusurio 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 Linuxfuncionando, com seus programas mais utilizados, com estabilidade e sabendo tambm onde buscaras informaes necessrias para as adversidades do dia-a-dia, que por sinal, no so muitas, masexistem !

    1.1. Conhecendo o Arch Linux1.1.1. Histria e Conceito

    O Arch Linux uma distribuio GNU/Linux 2 que foi criada em 2002, por Judd Vinet, que em 2007repassou a liderana do projeto a Aaron Griffin.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 emakepkg ).

    O conceito do Arch o velho conhecido KISS (Keep it Simple Stupid), ou seja, mantenha tudo o maissimples 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 paracustomizar nossa instalao conforme queremos. Mas no se assuste! No temos janelas bonitinhasde configurao e wizards para instalaes, porm temos a simplicidade nos arquivos de configuraoe algumas interfaces de auxlio diretas, e prticas, via terminal. Quem tem medo da "tela preta" doLinux no deve se aventurar por aqui, mas nunca tarde para aprender! Por isto, sempre se enfatizaque: 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

    1Site Oficial do projeto ArchLinux [http://www.archlinux.org]2GNU o nome do projeto e propriedade da Free Software Foundation, e Linux nome do kernel do sistema, criado por LinusTorvalds

  • Introduo

    2

    gerenciamento de pacotes do Arch. Que nos trs muita organizao e menos trabalho para criar,gerenciar e instalar os pacotes no ambiente.

    "The Arch Way"Como sabemos, e vemos escrito em vrios sites, e, vrios usurios comentam tambm que: o ArchLinux segue a linha da simplicidade. Mas como isto ? Vamos ver abaixo alguns itens que estodescritos no artigo "The Arch Way", encontrado no prprio site internacional da distro, e a voc vaientender melhor tudo que est sendo falado, e poder, com mais sabedoria, decidir se esta a melhordistribuio para voc!

    SimplicidadeO Arch completamente voltado a simplicidade. Mas esta afirmao pode te levar a vrios pontosde 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, ficandoassim com a sua cara, com seu jeito. A simplicidade do Arch traz consigo muitas facilidades, que setornam o grande trunfo da distribuio, e voc consegue ver isto logo de cara, com pouco tempo deuso.

    O Arch mantm um sistema GNU/Linux com suas facilidades e dificuldades da mesma forma emque so encontradas, porm organizadas e transparentes. Esconder as complexidades de um sistemaresulta geralmente em um sistema muito mais complexo, e isto evitado. Resumindo: o Arch umadistribuio elegante e minimalista!

    Correo de Cdigo sobre conveninciaO Arch Linux precede sobre a elegncia do design, bem como a clareza, cdigo simples, ao invs dearranjos desnecessrios, automao, eye candy ou "newbie-friendliness". Os patches do software somantidos a um mnimo absoluto de preferncia, nunca. A implementao simples sempre umtrunfo da interface de usurio simples.

    Simplicidade de implementao, elegncia de cdigo, e minimalismo sero sempre as prioridadesregentes do desenvolvimento do Arch.

    Conceitos, designs e funcionalidades so geradas e implementadas pelo uso dos princpios do ArchWay como um guia, ao invs de influncias externas. A equipe de desenvolvimento decidida no seuempenho e dedicao a filosofia do Arch Way. Se voc compartilha essa viso, voc bem-vindo eincentivado a usar o Arch.

    Centrado no UsurioDiferentemente 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 devista diferente, apesar de soar levemente parecido.

  • Introduo

    3

    O Arch direciona-se a, e, acomoda competentes usurios de GNU/Linux dando-lhes o controlecompleto e a total responsabilidade sobre o sistema. E este modo user-centric de ser, implica emobrigatoriamente em um modo do-it-yourself ( faa voc mesmo ) de ser do usurio. Ao invs desolicitar um assistncia paga, ou solicitar novas features aos desenvolvedores, voc induzido acriar, e a resolver a maioria dos problemas sozinho ou com a ajuda da comunidade, que tem timadocumentao e canais de comunicao, como o frum, wiki e lista de discusso.

    Tanto isto verdade que o Arch tem uma espcie de repositrio especial para guardar os pacotesgerados pelos usurios normais, que so aqueles que no so desenvolvedores oficiais nem TrustedUsers. Isto ajuda muito no desenvolvimento da distribuio, pois como diz o ditado: 2 cabeaspensam mais do que 1! E assim, vrias ideias e inovaes em programas e bibliotecas so adicionadasaos repositrios oficiais vindas das vrias contribuies disponibilizadas.

    AberturaA abertura vai de mos dadas com a simplicidade, e tambm um dos princpios orientadores dodesenvolvimento do Arch Linux.

    O Arch Linux utiliza ferramentas simples, que so selecionadas ou construdas com a abertura dosfontes 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 paracontrolar. O princpio da abertura estende-se aos membros da comunidade. Os usurios do Arch Linuxso conhecidos por serem abertos a ajudar e aconselhar, bem como com contribuies de pacotes paraa comunidade mantenedora do Arch User Repository (AUR).

    LiberdadeA liberdade que se fala neste ponto, no somente a liberdade de escolha de pacotes, mas tambm aliberdade que o usurio tem na hora de "formar" seu sistema. O Arch do usurio pode ser o que elequiser, 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, escolherentre pacotes livres e/ou proprietrios, pode definir quais softwares rodaro no sistema, quais serviosestaro 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 osistema.

    O ArchLinux o que voc faz! Criador do projeto ArchLinux Judd Vinet

    1.1.2. InicializaoO 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 ? Qualo sistema de inicializao que tem na outros distros ? Como funciona ? Tentarei explicar comofuncionam da melhor forma possvel, para que voc possa conhecer e ter, daqui para frente, algumaideia de como dar manuteno em um ambiente destes. Ento, vamos l!

  • Introduo

    4

    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 executadoslogo que o boot da bios acontece.

    Ambos, System V e BSD-Like fazem isto, mas qual a diferena entre os dois sistemas ? A diferenaentre os dois sistemas de inicializao est na sua estrutura.

    System VO 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 noexiste obrigatoriedade na sua utilizao.

    Por exemplo, em um sistema Debian temos a configurao do init no arquivo /etc/inittab. Nosdiretrios /etc/init.d/rcN.d ficam localizados links simblicos para os scripts que esto fisicamentegravados em /etc/init.d/, onde este "N" do "rcN.d" indica o nmero do runlevel em que o scriptou 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 distribuiesque 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 acada situao.

    BSD LikeJ o modo BSD de inicializao, tem como caracterstica a simplificao das configuraes, ondetodo 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 modosde 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, podemostambm 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.

    Alguns desenvolvedores ( e utilizadores tambm ) acham que o System V mais complicado deconfigurar, porm muito flexvel, e que o BSD Like bastante simples, e de fcil aprendizado, masbem menos flexvel.

  • Introduo

    5

    1.2. Instalao e Configurao1.2.1. Instalando o ArchLinux

    Agora que temos j algum conhecimento sobre como funciona e o que o ArchLinux, vamos colocara mo na massa e instal-lo. Uma dica minha : caso voc no esteja muito familiarizado com oambiente do Arch e quer testar qualquer coisa, instale-o em uma Virtual Machine, assim voc podefazer e perder e refazer quantas vezes for necessrio.

    A instalao comea com o download da ISO.

    Acesse: http://www.archlinux.org/download e baixe a iso que diz "netinstall", que traz somente onecessrio para rodar o ambiente de instalao, em mais ou menos 160MB. Neste ponto tem doisdetalhes importantes:

    1. Arquitetura: voc deve baixar a iso que traz no nome do arquivo o nome da sua arquitetura: i686 oux86_64.

    2. Imagem Hbrida: Tem outra ISO que contm uma imagem hbrida do Arch, ou seja, ela contmambas arquiteturas e pode ser gravada tanto em CDs como em pendrives, assim nos facilitandomuito a vida quando queremos principalmente instalar vrias mquinas.

    Bom, vamos ento a nossa instalao!

    Esta a tela de inicializao da instalao do Arch.

    1. Escolha "Boot Arch Linux"

    2. Deixa carregar o sistema e insira o usurio "root", sem senha.

    3. Execute "km" , que configurador do teclado, escolha "i386/qwerty/br-abnt2.map.gz", e nasegunda opo pode clicar em "skip".

  • Introduo

    6

    4. Agora iniciaremos a instalao, execute /arch/setup

    5. Clique "Ok" na tela de boas vindas.

    6. Os menus desta instalao devem ser executados todos praticamente, e na ordem em que aparecamna tela.

    a. Select Source

    i. Selecione a fonte dos arquivos de instalao, e se voc escolher "net" ele solicitar que vocconfigure a rede. DHCP Geralmente resolve nosso problema. Ou ento voc pode tambmconfigurar 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

    i. Selecione a sua regio "Americas#Sao_Paulo".

    ii. Sete a hora, ou diga que vai ser atualizado pela hora UTC (melhor opo)c. Prepare Hard Drives (Particionamento)

    i. Podemos escolher por particionar automaticamente, onde ele decide o que melhor e nospergunta somente alguns tamanhos.

    ii. Ou podemos escolher particionar manualmente e depois configurar os pontos de montagem,onde define-se onde est o "/", o "/home", o "/boot", "swap", etc

    d. Select Packages

    i. Aqui ele mostrar alguns pacotes que esto disponveis, e muitos j marcados. Eu aconselhoa no desmarcar nenhum caso voc no saiba exatamente o que est fazendo, e marcar pelomenos o pacote "sudo" a mais, pois vai utiliz-lo em vrios momentos. *Dica kiss*: Nomarque pacotes que voc acha que pode utilizar mais tarde! Isto acaba instalando libs eprogramas desnecessrios, e no queremos isto.

    e. Install packages

    i. Aqui sero verificados e instalados os pacotes escolhidos no passo anterior. Aguardeterminar

    f. Configure System Este o passo mais importante, mas nem por isto o mais difcil! Veja abaixoos itens que devem, no mnimo, ser verificados, pois nem todos necessitam de alterao, pelomenos no neste momento, e os que no foram citados na lista abaixo, podem, caso necessrio,ser editados depois, em casos mais especiais.

    i. /etc/rc.conf Este o arquivo de configurao do sistema, o mais importante. Veja ositens que necessitam ser verificados e alterados se necessrio, devem ficar com valores aquicitados/explicados:

    LOCALE=pt_BR.utf8

  • Introduo

    7

    HARDWARECLOCK= Este item deve estar correto conforme configuradoanteriormente

    TIMEZONE= Este item deve estar correto conforme configurado anteriormente

    KEYMAP="br-abnt2"

    HOSTNAME=NomeDaMaquina Escolha um nome para seu host e coloque-o aqui

    eth0="dhcp" Informaes sobre a rede. O mais fcil deixar como "dhcp", isto se vocest em uma rede que contenha um servidor DHCP, mas voc pode definir seu ip fixotambm, como por exemplo "eth0="eth0 192.168.0.2 netmask 255.255.255.0 broadcast192.168.255.255"".

    lo="localhost 127.0.0.1" este item deve ser acrescentado

    INTERFACES(lo eth0) estas so as configuraes de rede, definidas acima, que estarodisponveis e sero conectadas.

    DAEMONS A lista dos servios que sero iniciados com o sistema. No coloque nadaagora, 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. Podecolocar 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 respectivosIps. Acrescente as que necessitar, e se necessitar.

    v. /etc/locale.gen : Edite este e descomente aqueles que forem iguais ao LOCALE informadono /etc/rc.conf, no caso "pt_BR.UTF8"

    vi. /etc/pacman.conf : A configurao do nosso gerenciador de pacotes, o PACMAN,descomente as linhas "ShowSize" e "TotalDownload".

    vii./etc/pacman.d/mirrorlist : Configurar os repositrios que devem estar j habilitados: core,extra e community . Aqui voc escolhe quais mirrors de rede estaro disponveis para buscaros pacotes. Descomente os brasileiros, que tem ".br" no nome por exemplo. aconselhadoque no utilize o archlinux.org por estar geralmente com muito trfego.

    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 paraexecutar um reboot para iniciar no novo sistema!

    Parabns ! Voc um novo ArchLinux User!!!

  • Introduo

    8

    1.2.2. Ps instalaoAgora, faremos alguns ajustes para o correto/melhor funcionamento da maioria das coisas que mais seutiliza no nosso ambiente:

    Um detalhe, esta seo uma lista de tarefas e dicas do que fazer depois da instalao, para guiar ousurio. Tarefas mais simples contero seus comandos aqui mesmo, listados no livro, e tarefas maiscomplicadas, que no estiverem contidas neste livro, estaro seguidas pelos seus links do wiki. Ok !

    Atualizar os repositrios e o sistema:

    Primeiro teste sua conexo

    # ping -c 3 www.google.com

    # pacman -Syu

    Pacman colorido

    Com estes comandos, os resultados do pacman ficam mais agradveis no terminal

    # pacman -S pacman-color

    Editar o arquivo ~/.bashrc e acrescentar:

    alias pacman="pacman-color"

    Execute a verificao dos mirrors para melhor performance do pacman

    cd /etc/pacman.dcp mirrorlist mirrorlist.backup//Edite o mirrorslist.backup e descomente todos os mirrors que so//mais prximos geograficamente a vocnano mirrorlist.backuprankmirrors -n 6 mirrorlist.backup > mirrorlistpacman -Syy

    Crie do seu Usurio

    adduser meulogin

    Dica de Segurana

    Sempre crie um usurio comum para voc utilizar, importante isto! NUNCA UTILIZEO SISTEMA, DIA-A-DIA, COM UM USURIO ADMINISTRADOR, EM NENHUMSISTEMA OPERACIONAL!

    Colocar o usurio em vrios grupos pertinentes

    # gpasswd -a seulogin audio,lp,optical,storage,network# gpasswd -a seulogin video,wheel,games,power,scanner

    Instale o yaourt : ferramenta para trabalhar com os pacotes ao AUR mais facilmente (itemSeo 3.2.1, Yaourt)

  • Introduo

    9

    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)

    Instale mais algumas fontes

    pacman -S xorg ttf-dejavu ttf-bitstream-vera ttf-ms-fonts

    Acesso a cmeras digitais

    Instalar o libgphoto

    # pacman -S libgphoto2

    Adicionar o usurio no grupo camera:

    # gpasswd -a seulogin camera

    Instale um ambiente grfico mais aprimorado, caso goste. Link: https://wiki.archlinux.org/index.php/Compiz

    Instale codecs de mdia, para tocar msica e vdeos. Link: https://wiki.archlinux.org/index.php/Codecs

    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 as libs necessrias para rodar DVDs. Link: https://wiki.archlinux.org/index.php/DVD

    Instale os (des)compactadores:# pacman -S tar unrar unace unzip zip bzip2 gzip p7zip

    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 serinteressantes 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

  • 10

    Captulo 2. Gerenciamento de Pacotes2.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 est na sua verso 3.4.0, lanada em Junho de 2010.

    Ele gerencia os pacotes em formato binrio, ou seja, os executveis j compilados, de formainteligente e fcil de se utilizar, e estes binrios so gerados com ABS (Arch Built System). O pacmanfunciona baseado em um arquivo de configuraes, que contm alm de algumas diretivas para seufuncionamento, a lista de repositrios habilitados, que informam onde esto hospedados os pacotesque sero utilizados no sistema.

    O pacman tem uma forma padro de funcionamento, porm encontramos algumas maneiras demelhorar sua performance.

    Uma das caractersticas do pacman que ele guarda suas informaes em uma base de dados localpara 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, umdeles o pt-pacman-cage, que faz com que o arquivo da base de dados local estaja localizado em umlocal 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 downloaddos 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 aperformance dos mesmos.

    E com o programa "rankmirror", teremos uma organizao dos repositrios, que sero organizadosconforme a melhor avaliao da velocidade de download. Assim ajudando a melhorar ainda mais odownload.

    2.2. Interfaces Grficas para o PacmanO pacman conta com algumas interfaces grficas, tambm. Elas originalmente no fazem parte dopacote padro da ferramenta, mas ajudam a quem gosta de trabalhar com elas.

    Eis alguns exemplos:

    GtkPacman

  • Gerenciamento de Pacotes

    11

    O GtkPacman bem simples mas eficiente, faz procuras de pacotes, mostra informaes de pacotes elistagem 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 projetoChakra 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 criadoem C utilizando a LibNotify. Roda tanto para o KDE quando para o Gnome. http://www.nongnu.org/archup/

  • Gerenciamento de Pacotes

    12

    Alunn

    O Alunn outro programa que simplesmente fica verificando o status dos pacotes no seu sistema eavisa 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 debiblioteca grfica e organizao. Voc pode saber mais no wiki oficial https://wiki.archlinux.org/index.php/Pacman_GUI_Frontends .

    2.3. RepositriosGeralmente estamos acostumados a ver sempre um formato de repositrios parecidos com o doDebian, onde temos o repositrio da verso, e dentro dele a separao de stable, com os pacotesestveis, unstable com os pacotes ainda instveis, testing para os pacotes que esto sendo testados, eoutros as vezes. Porm no Arch diferente. J que no temos uma verso da distro, por ser "RollingRelease", todos os pacotes funcionam em todas as instalaes, ou seja, no temos a separao deverso. 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.

    Os repositrios no Arch esto separados na seguinte forma:

    corePacotes principais da distribuio e alguns opcionais

    extraPacotes extras da distribuio que no esto no core

  • Gerenciamento de Pacotes

    13

    unstablePacotes experimentais e instveis

    testingPacotes que so candidatos aos repositrios core, extra e unstable

    releasePacotes histricos, no para uso regular

    communityPacotes que do AUR que so mantidos pelos TUs e tem votos suficientes para entrar nesterepositrio

    unsupportedEste 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/ougrupos de usurios que contm os mais diversos pacotes, como por exemplo :

    archlinuxbrRepositorio Brasileiro

    archlinuxfrRepositrio Francs

    archgamesRepositrio 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 .

    2.3.1. Servidores Espelho (Mirror)Para cada repositrio que temos habilitado, podemos ter mais de um servidor habilitado. Ou seja, umamquina que disponibiliza os pacotes binrios para o pacman pode conter mais do que um repositrio,por exemplo extra e core. Veja exemplo abaixo:Configurao simples do pacman.conf:

    [core]Server=http://archlinux.c3sl.ufpr.br/core/os/i686

    Configurao dinmica:

    [core]Include=/etc/pacman.d/mirrorlist

    E um exemplo do arquivo mirrorlist, gerado pela ferramenta citada logo abaixo:

    #### Arch Linux repository mirrorlist## Sorted by mirror score from mirror status page

  • Gerenciamento de Pacotes

    14

    ## Generated on 2010-11-23

    ## Score: 5.4, BrazilServer = http://archlinux.c3sl.ufpr.br/$repo/os/$arch## Score: 6.8, BrazilServer = http://www.las.ic.unicamp.br/pub/archlinux/$repo/os/$arch## Score: 7.8, BrazilServer = ftp://archlinux.c3sl.ufpr.br/archlinux/$repo/os/$arch## Score: 9.1, BrazilServer = http://pet.inf.ufsc.br/mirrors/archlinux/$repo/os/$arch## Score: 10.6, BrazilServer = ftp://ftp.las.ic.unicamp.br/pub/archlinux/$repo/os/$arch

    O que ganho com isto ? Ganho em atualizao, pois um pacote de por ventura no estiver aindaatualizado em um servidor A, pode estar atualizado no servidor B. Ganho em disponibilidade, pois umpacote 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 dosarquivos 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 paraeste arquivo. Porm, o mtodo mais interessante de ajustar a nossa lista de servidores utilizandoa 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 casoBrazil), o protocolo (pode deixar os dois, http e ftp, marcados), a verso do protocolo ip que desejae marque "Use mirror status" para que seja gerada uma lista ordenada pelo tempo de resposta dosservidores.

    Gerada a lista, copie-a e grave sobre o arquivo /etc/pacman.d/mirrorlist e assim voc ter uma listaorganizada da melhor forma possvel.

    Alm de que, podemos tambm acompanhar os resultados de estatsticas geradas periodicamentesobre a lista de mirrors oficial em http://www.archlinux.org/mirrors/status/ .

    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 compacotes mais instveis ou de teste, gerando erros inesperados, a no ser que voc esteja querendoajudar no teste dos pacotes, para reportar os bugs quando necessrio, o que muito bom para osdesenvolvedores se seus pacotes forem testados na maioria de computadores possvel.

    Ordem dos Repositrios

    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 quetemos o gnome 2.28 no core e o 2.30 no testing, se voc tem os dois repositrios habilitados no seupacman.conf, mas o core na frente, e solicitar a instalao do gnome ele vai instalar o 2.28, porm sevoc inverter a ordem dos repositrios, ele ir instalar o 2.30. Sendo assim, voc at pode habilitar otesting como o ltimo repositrio da sua lista, e quando necessitar instalar uma verso de pacote queesteja l, pode instal-lo especificando o repositrio no comando : pacman -S testing/gnome .

  • Gerenciamento de Pacotes

    15

    Alguns comandos teis do Pacman

    Procurar por pacotes: pacman -Ss

    Instalar pacote: pacman -S

    Remover pacote: pacman -R

    Remover pacote e suar dependncias: pacman -Rs

    Remover pacote e suas configuraes: pacman -Rn

    Atualizar o sistema: pacman -Syu

    Lista de pacotes instalados no sistema: pacman -Q

    Lista de pacotes rfos: pacman -Qtd

    Estatsticas

    A pouco tempo atrs foi liberada uma ferramenta para a comunidade ArchLinux que ajuda muito otrabalho dos lderes e TU do projeto: pkgstatsBom, seu nome diz tudo: estatsticas de pacotes. Simples assim! Esta ferramenta envia todos osdados referentes aos seus pacotes e repositrios utilizados, para o servidor do Arch, onde estes, soconsolidados e atualizados de tempos em tempos.

    Veja voc mesmo quais pacotes de repos so mais ou menos utilizados e outras informaes que vocpossa concluir como um bom investigador: https://www.archlinux.de/?page=PackageStatistics

    E neste link ( https://www.archlinux.de/?page=FunStatistics ) tem algumas estatsticas em modoresumido e mais claras !

    Para ajudar com estes dados basta voc instalar o programinha pkgstats, que encontra-se norepositrio extra. Depois s executar !

    2.4. Como criar um pacote para o ArchLinux

    O pacman trabalha com arquivos binrios para instalar os programas, mas para gerar um binrioprecisamos primeiro criar um pacote. Qualquer usurio de Arch pode montar um pacote destes.Montar o pacote nada mais do que: informar ao sistema como montar este pacote, especificandotodos os passos e arquivos necessrios para que um programa possa executar corretamente, umPKGBUILD.

    Tah, mas como fazemos isto ?

    O mestre aqui o PKGBUILD! Este o cara! nele que inserimos todas as informaes para agerao. Quando voc executa o comando makepkg, ele ir procurar por um arquivo PKGBUILDno diretrio atual, e compilar o cdigo fonte do programa de acordo com as instrues contidasneste arquivo. O pacote binrio gerado ter o seu nome no formato: nomedopacote-verso-release-

  • Gerenciamento de Pacotes

    16

    arquitetura.pkg.tar.gz, o qual poderemos instalar depois com o comando pacman -U nomedopacote-verso-release-arquitetura.pkg.tar.gz.

    Uma observao interessante: aqui que se aplica a afirmao: O ArchLinux utiliza um sistema degerao ports-like. Ento vamos utilizar a rvore de trabalho do ABS (Arch Build System), que ficaem /var/abs/local.

    Ento vamos l! Utilizaremos aqui, como exemplo somente, o pacote "nginx"1.

    Primeiro necessitamos instalar todas as ferramentas necessrias para o desenvolvimento do nossopacote, executem o comando abaixo:

    pacman -S base-devel

    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 ainstalao do seu programa est funcionando.

    Por exemplo, execute:

    ./configuremakemake install

    Funcionou ? Beleza! Ento criem um diretrio com o nome do seu pacote em /var/abs/local, porexemplo

    mkdir /var/abs/local/nginxcd /var/abs/local/nginx

    Ento agora vamos criar o nosso arquivo PKGBUILD. Ele um simples arquivo de texto, pormformatado de maneira que a ferramenta o entenda e gere nosso pacote correto. Para comear um novoPKGBUILD, 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'.

    # Maintainer: Your Name pkgname=NAMEpkgver=VERSIONpkgrel=1pkgdesc=""arch=()url=""license=('GPL')groups=()depends=()makedepends=()optdepends=()

    1Nginx no um programa criado pelo autor deste livro, foi somente utilizado como exemplo

  • Gerenciamento de Pacotes

    17

    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"

    make DESTDIR="$pkgdir/" install}

    Vamos ver os detalhes deste arquivo PKGBUILD:

    pgknameO nome do pacote. Alfanumrico somente. Letras devem ser em minsculo.

    pkgverA verso do pacote. Deve ser a mesma verso do software em questo. Pode conter letras enmeros. Hfem no permitido, se caso necessrio, deve ser trocado por underline.

    pkgrelO nmero do release deste pacote exclusivo para o ArchLinux

    pkgdescDescrio do pacote. Pode conter at 80 caracteres somente. Por conveno no deve conter onome do pacote novamente.

    archUma lista das arquiteturas suportadas pelo programa. Ex: arch=(i686 x86_64)

    urlA url do site oficial do programa

    licenseA licena pela qual o software distribudo

    groupsA qual grupos de pacotes este pacote pertence. Por exemplo o kdebase

    dependsLista de pacotes de devem ser instalados antes de instalar este pacote. No necessrio listar aquipacotes 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.

  • Gerenciamento de Pacotes

    18

    makedependsLista 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

    optdependsLista de pacotes que no so obrigatrias para o funcionamento do programa, mas podemadicionar funcionalidades caso instaladas

    providesUma lista de pacotes dos quais este pacote prover funcionalidades. Ex: Se voc criou uma versodo qt, chamdo qt-foobar liste aqui o pacote: qt

    conflictsLista de pacotes que podem causar problemas caso estejam instalados simultaneamente

    replacesLista de pacotes obsoletos, aos quais este pacote ser utilizado no lugar.Ex: Lista ethereal para opacote wireshark

    backupLista de arquivos que deve ser salvos como .pacsave para que no sejam perdidos naremoo. Comumente utilizado para pacotes que alteram configuraes no /etc

    optionsUma lista de opes que permite alterar alguns itens do comportamento padro do comandomakepkg:

    strip: Retira smbolos dos binrios

    docs: Salva o diretrio /docs

    libtool: Deixa as libtool (arquivos .la) no pacote

    emptydirs: Deixa os diretrios vazios no pacote

    zipman: Comprime as pginas man e info com gzip

    ccache: Permite utilizao de ccache durante a gerao

    distcc: Permite utilizao de distcc durante a gerao

    makeflags: Permite o uso de makeflags especficas do usurio

    force: Fora ao pacote ser atualizado pelo sistema de atualizao do pacman.

    installO 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 encontradoem /usr/share/pacman/proto.install), vejam: pre_install: Executa antes dos arquivos serem extrados. Recebe o nmero da nova verso.

  • Gerenciamento de Pacotes

    19

    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 eo nmero da antiga verso.

    post_upgrade: Executa depois dos arquivos serem extrados. Recebe o nmero da nova versoe 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 antigaverso.

    sourceLista de arquivos que sero necessrios para a gerao. Deve conter a localizao dos arquivos, ena maioria dos casos um endereo HTTP:// ou FTP://. As variveis pkgname e pkgver podem serutilizadas aqui.

    noextractLista de arquivos, dentro dos pacotes em source, que no devem ser extrados

    md5sumsLista das somas MD5 respectivos aos arquivos informados no source, que serviro paracomparao aps o download

    sha256sums, sha384sums, sha512sumsLista de somas SHA-2 com 256, 384 e 512 bytes. Alternativas ao MD5sum.

    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/geraodo seu programa. Sendo que todo o resultado desta operao ser empacotado automaticamentedepois. Nela utilizamos comandos comuns do shell bash, temos disponveis as variveis $srcdir quecontm o caminho onde est o PKGBUILD e todas as outras variveis que foram definidas acima, nasmeta-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 vocvai utilizar os mesmos comandos utilizados para compilar o programa manualmente. Na maioria doscasos voc vai utilizar algo como: ./configure; make, apesar de existirem centenas de variaespara compilar os programas, como por exemplo ant build, ou outro comando qualquer paracompilar 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 pelopacman devem utilizar o diretrio /usr. Deixe o diretrio /usr/local para os pacotes gerados einstalados manualmente.

    Funo package

  • Gerenciamento de Pacotes

    20

    A parte final do empacotamento colocar os arquivos compilados em um diretrio onde o makepkgpossa peg-los para empacotar: o diretrio pkg.

    Este diretrio simplesmente um ambiente fakeroot, ele deve basicamente imitar o seu filesystem rootpara o procedimento de instalao do programa. Quaisquer arquivos que devam ser instalados/copiadsem 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 acompilao do programa. Isto facilita bastante, alm de no gastar tempo em vo, quando queremosalterar somente algo que no interfira na compilao do mesmo, como por exemplo as dependnciasdo 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 omakepkg, 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 mensagensao usurio, utilizamos o arquivo .install. Lembre-se que definimos qual o arquivo .install naconfigurao "install" definida acima.

    Importante

    Para gerar um pacote que seja bem aceito na distribuio, temos que seguir algumasregrinhas:

    Os pacotes NUNCA devem ser instalados em /usr/local

    No crie novas variveis nos scripts do PKGBUILD, pois podem gerar erros e conflitos durante oprocesso. 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 umavarivel de ambiente chamada PACKAGER.

    TODAS as mensagens importantes devem ser mostradas utilizando o arquivo .install .

    Quaisquer dependncias que no sejam obrigatrias para o funcionamento do programa ou tenhamfunes gerais, devem ser includas no optdepends

    Quando criar a descrio do pacote, no repita o nome do programa. Ex, ao invs disto: "Nginx um servidor web", use isto: "Servidor web"

    Tente deixar as linhas do PKGBUILD com menos de 100 caracteres.

    Quando possvel, removas as linhas vazias ou com variveis sem valor.

    Preserve a ordem dos campos do PKGBUILD

    Veja as regras completas em: https://wiki.archlinux.org/index.php/Arch_Packaging_Standards

  • Gerenciamento de Pacotes

    21

    Ok, agora vamos ter que testar o nosso pacote n ! Para isto basta rodar o comando makepkg nodiretrio onde se encontra o PKGBUILD criado, no nosso caso em /var/abs/local/nginx (seguindo onosso 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 queavaliar 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 -Unginx-0.9.pkg.tar.xz.

    Agora, para completar o servio temos duas ferramentas que podem nos auxiliar em verificaes dosnossos pacotes:

    ldd : Mostra quais as dependncias das bibliotecas compartilhadas de executveis.

    namcap : uma ferramenta mais completa, que verifica as dependncias, os binrios e o cdigofonte dos pacotes, procurando por erros que possam danificar ou agredir o seu sistema, almde 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 quevoc criou um pacote do seu programa !!!

    Mas como ? Vamos envi-lo ao AUR (ArchLinux User Repository).

    2.5. Como enviar pacotes para o AURDepois de ter criado seu pacote, testado, e tudo mais, ento poders envi-lo ao repositrio de pacotesde usurios do Arch Linux, o AUR.

    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, etcNada binrio deve ser enviado, somente arquivos fonte.

    Para isto, execute o comando makepkg --source, assim o pacote correto para o envio ao AUR sercriado.

    Antes de enviar seu pacote verifique alguns itens:

    Verifique os repositrios que contm pacotes binrios (core, extra, community,etc). Se encontraro pacote l NO envie-o ao AUR. Caso tenha algum problema, abre um bug no bugtrack doArch.

    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.

    Verifique sempre, e de novo, e com ateno os padres de empacotamento do Arch Linux (https://wiki.archlinux.org/index.php/Arch_Packaging_Standards ), isto essencial para o sucessoe bom funcionamento da distribuio.

  • Gerenciamento de Pacotes

    22

    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 epara que algum faa uma verificao antes de enviar definitivamente.

    Saiba se este pacote realmente interessante! muito especializado ? Muitas pessoas gostaro dever este pacote disponvel ? Quanto mais melhor

    Obtenha experincia antes de enviar o pacote fazendo vrias compilaes para conhecer bem osmtodos e depois sim envie seu pacote.

    Se voc enviar um o arquivo "meupacote.tar.gz" contendo um arquivo "meupacote", vocreceber um erro "Could not change to directory /home/aur/unsupported/meupacote/meupacote".Para resolver este problema, renomeie o arquivo para meupacote.rc, por exemplo, e depois nainstalao voc pode renome-lo para "meupacote" novamente.

    Ento vamos l, verificado tudo, faa ( ou crie ) o login no site do AUR ( http://aur.archlinux.org/ ) eclique no menu enviar, como ilustrado na imagem abaixo.

    Depois selecione a categoria, informe o caminho do arquivo compactado e clique em "Enviar".

    Feito o envio, parabns !

    AjudinhaCaso voc no queira ( ou no possa ) utilizar a interface web para enviar o pacote, utilizeum dos dois programas que tem para auxiliar nesta tarefa: auruploader ou burp ( procureno AUR )

  • 23

    Captulo 3. ABS/AUR3.1. Arch Build System (ABS)

    (ou somente ABS), assim chamado o sistema de gerao de pacotes que o ArchLinux utiliza. OABS, 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 umdiretrio para efetuar este processo, como no port, o ABS utiliza-se de um arquivo chamadoPKGBUILD, 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 ferramentade auxlio para os que queiram ajustar ou manipular ainda mais seu sistema, customizando, baixando ecompilando vrios programas conforme suas necessidades.

    3.2. ArchLinux User Repository (AUR)(ou somente AUR) um repositrio de PKGBUILDS mantido pela comunidade. Ou seja, soinformaes de compilao para os mais diversificados programas que no esto no repositrio oficialdo Arch. Por exemplo, temos o pacote "firefox-nightly", que referencia a gerao diria do Firefox, eobviamente, no estar no repositrio oficial, justamente por ser um build de desenvolvimento. Masalgum dedicado, foi l e criou o arquivo PKGBUILD, direcionado a este software, e o adicionou noAUR, disponibilizando-o para que ns, pudssemos baixar o arquivo e compil-lo para nosso sistemafacilmente.

    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 certezaj passou por este mesmo problema.YAOURT e aurget so duas ferramentas que interagem com o AUR, funcionalidade que o Pacmanno faz, pois este destinado somente aos pacotes binrios, por isto a necessidade de se utilizar umaferramente diferente.

    A diferena bsica entre aurget e YAOURT que um um script BASH e o outro um programacompilado. Ambos fazem bem o seu papel, porm o yaourt est mais bem difundido e a maiscompleta 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 nopacote 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 oAUR, basta dar uma procurada na lista de programas do AUR mesmo, via web.

    3.2.1. YaourtVamos instalar o yaourt para trabalhar com os pacotes do AUR ?

    Adicione o seguinte repositrio no seu arquivo "pacman.conf", atentando para a sua arquitetura

  • ABS/AUR

    24

    [archlinuxfr]#Server = http://repo.archlinux.fr/i686#ou#Server = http://repo.archlinux.fr/x86_64

    Agora basta atualizar e instalar facilmente com o pacman:

    $ sudo pacman -Sy yaourt

    Ento estamos prontos para utilizar o yaourt para nossos exemplos:

    Observao Importante: Sempre utilize o yaourt como usurio normal, nunca como root, evitandoassim, que qualquer script malicioso tenha acesso total ao seu sistema. E caso voc tenha dvida sobreo que est ocorrendo ou vai ocorrer, abra o arquivo PKGBUILD do pacote para averiguar, para quemconhece Bash simples descobrir o que a instalao do pacote faz. Certo !

    Ento t, vamos l:

    yaourt Procurar por um pacote

    yaourt -S Instalar pacote

    yaourt -Syu --devel --aurAtualizao do sistema de dos pacotes instalados pelo aur

    Com isto, voc j poder se virar e utilizar os pacotes criados pelos usurios, e assim usufruir muitodo seu Arch.

    Uma nota pessoal

    Em praticamente 3 anos de utilizao do Arch, se necessitei instalar 4 ou 5 pacotes queno estivessem disponveis no AUR, foi muito. O resto TUDO eu encontro por l! S paravocs terem uma ideia do poder do AUR e seus usurios.

    Veja mais em: http://archlinux.fr/yaourt-en

    3.2.2. Enviar Pacotes para o AURMas eu posso enviar pacotes para o AUR ? SIM !! Obviamente que SIM ! Pois o AUR umrepositrio de PKGBUILDS feito pela comunidade de usurios! Porm, no ache que simplesmenteenviar qualquer coisa, os pacotes para serem bem aceitos tanto pelos usurios do Arch quando pelosTU, para possivelmente chegarem ao repositrio [comunity] devem ser pacotes confiveis, semtruques, sem vrus e que sigam os padres de construo! Assim voc ser um timo contribuidor!

    Enviar o seu PKGBUILD para o AUR, tambm conhecido como [unsuported], simples, veja ainstruo completa no item Seo 2.5, Como enviar pacotes para o AUR.

    3.2.3. Votao de PacotesOs pacotes que esto no AUR no so considerados pacotes ainda, eles so apenas PKGBUILDS.Estes pacotes so criados pelos usurios que no so TUs (Trusted Users Veja no prximo item

  • ABS/AUR

    25

    quem so os TUs) e disponibilizados para que todos que utilizem o ArchLinux possam instal-los eutiliz-los com facilidade. Porm cada pacote disponvel no AUR pode um dia vir a ser adotado porum TU e adicionado aos repositrios oficiais da distro. E para que isto seja possvel, eles levam emconsiderao o nmero de votos!

    A votao simples, uma eleio de pacotes: os que foram mais votados porque mais usurios queutilizaram o pacote gostaram dele, e deram-no seu voto de confiana, seu voto de OK! Votando vocdiz 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 adotadospor um TU e seus binrios includos no repositrio community.

    Mas como eu fao para votar em um pacote ?

    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 doescolhido, e, logo abaixo das informaes do pacote, voc ver um boto "Votar", clicando nesteboto voc ter votado no seu pacote favorito!

    Porm, outro modo de votar por um script chamado "aurvote". Ele tem seu PKGBUILD disponvelno AUR tambm. Portanto baixe-o e instale normalmente. Ento para votar com ele basta o seguintecomando:

    $ aurvote --vote

    Ok ! Pacote votado, e voc j um contribuidor do ArchLinux !

    3.3. Trusted UsersTRUSTED!

    A denominao j diz tudo: Usurios de Confiana, ou, Usurios Confiveis! So pessoas dacomunidade, em torno do Arch, que ganharam a confiana de todo o time. Voc no compra umlugar de TU, ou, faz uma prova e vira TU, no uma certificao, mas sim, um reconhecimento pelotrabalho bem feito.

    Mas porqu?

    Justamente por que para se tornar um TU voc precisa ser indicado pelas pessoas da comunidade paratal funo, e ento o time dos atuais TUs ir votar, de forma democrtica, se quer ou no voc comoTU!

    Mas o que faz um TU?

    Os TUs so responsveis pela boa organizao e funcionamento do AUR. Eles que averiguam se umpacote enviado para o AUR, contm cdigos maliciosos, e gerenciam os pacotes para que, atravs dasregras definidas, entrem ou no no repositrio [community], o qual responsabilidade dos mesmosTUs, fora que, eles tambm tem direito de voto em questes administrativas do projeto.

    3.4. Compilando atravs do ABSO ABS o nosso amigo! Ele facilita e muito a criao e instalao de pacotes, pelos cdigos fonte, nonosso sistema. No utiliz-lo perder tempo com tarefas padro.

  • ABS/AUR

    26

    Vamos ver ?

    O ABS utilizado para

    Compilar ou recompilar um pacote por quaisquer razes

    Criar e instalar novos pacotes atravs dos fontes se estes no estiverem disponveis no AUR.

    Customizar pacotes conforme suas necessidades

    Recompilar todo o seu sistema, utilizando suas flags de compilao, "a la FreeBSD"

    Gerar e instalar seu prprio kernel

    Gerar e instalar mdulos no seu kernel customizado ( ou no )

    Facilmente compilar e instalar um pacote do AUR mais novo, beta ou em desenvolvimentosimplesmente editando o nmero da verso no PKGBUILD.

    Vamos disponibilizar o ambiente do ABS para trabalhar:

    # pacman -S abs base-devel

    Vai ser criada uma rvore de diretrios em /var/abs, e ela tem a mesma estrutura do banco de dados depacotes, contendo somente os arquivo PKGBUILD e no os arquivos fontes. Estes sero baixados nahora da compilao, da URL definida no PKGBUILD.

    Algo assim:

    /var

    /abs

    /

    /

    / /PKGBUILD

    Para sincronizar um pacote local com o remoto, utilize o comando:

    # abs /

    Download da rvore

    O primeiro download feito pelo ABS o maior, sendo que ele baixa tudo. Porm aindaassim 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.

    Em /etc/makepkg.conf voc poder editar as variveis de ambiente e flags de compilao desejadase conforme seu sistema, caso queira. As otimizaes para arquiteturas i686 e x86_64 j esto okpara processadores monoprocessados ( apenas 1 core ), as configuraes padro iro funcionarcorretamente em processadores SMP (multiprocessados), porm iro compilar com somente 1 core.

  • ABS/AUR

    27

    O indicado para efetuar compilaes e modificaes que voc crie um diretrio s seu para fazeristo, pois quando for sincronizada a rvore padro (/var/abs) todas as alteraes sero perdidas.Ento faa um dos dois itens abaixo:

    Criar o diretrio em $HOME/abs

    Criar o diretorio em /var/abs/$USER e dar permisses totais para $USER.

    Agora, o PKGBUILD do pacote desejado de /var/abs para seu diretrio:# cp -R /var/abs////PKGBUILD /path/to/my/abs/

    depois edite o PKGBUILD para alterar algo desejado, compile e instale:# cd /path/to/my/abs/# vim PKGBUILD# makepkg -s# pacm -U meu_pacote_gerado_i686_.pkg.tar.xz

    Pronto!

    Mas fica ai a dvida de alguns:

    Mas eu no posso fazer o download direto do PKGBUILD, com o wget por exemplo, e somentealterar o que quero e e efetuar a mesma compilao ?

    Sim, pode, porm tendo a rvore do ABS localmente temos algumas vantagens:

    Podemos efetuar compilaes desconectados da internet ( obviamente se tivermos os arquivosfonte )

    Podemos mais facilmente alterar e recompilar qualquer pacote, mesmo dos repositrios core eextra por exemplo.

    Necessitaremos dela para efetuar uma recompilao geral do sistema.

    Makepkg.conf

    Voc pode encontrar no Wiki do Arch Linux maiores informaes sobre as diretivas decompilao, e alm disto, pode acrescentar seu conhecimento para melhorar ainda mais acompilao e/ou utilizao de um pacote.

    Tudo?

    Se voc for mais atrevido, e gosta de situaes perigosas e desafiadoras, voc pode utilizaro script pacbuilder [https://wiki.archlinux.org/index.php/Pacbuilder] tanto para recompilaralgum programa especfico, ou, os programas de um repositrio especfico ou at TODO osistema!

  • 28

    Captulo 4. Mais informaes econtribuies4.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 usuriosprogramadores que criam algumas facilidades para os usurios mais novatos, que tambm tem direitode 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 utilizaopara vrias pessoas e divulgam ainda mais a distro.

    Vamos conhecer agora, alguns destes projetos que trazem diversidade e conhecimento para ns, edepois, mostrarei onde encontrar mais projetos relacionados:Archbang

    O ArchBang um projeto de LiveCD, que roda um ambiente ArchLinux completo, leve, comOpenBox window manager, servindo tanto para rodar e instalar em seu desktop como num sistemaportvel, como um pendrive.

    Site: http://archbang.org/

    Godane ArchIso-live

    Este projeto do mesmo gnero do ArchBang, porm utiliza o Gnome como ambiente de desktopmanager. 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 paradesktop, todo encima do ArchLinux, porm utilizando o belssimo ambiente KDE4. Porm esteprojeto prov tambm algumas ferramentas a mais como o Tribe, um instalador grfico bem bonitoe facilitado, o CInstall, que o gerenciador de pacotes alm do LiveScripts2 que um grupo deferramentas para (re)criao de ambientes live como CD e Pendrives.

    1O Jeito Arch - Link [https://wiki.archlinux.org/index.php/The_Arch_Way_%28Portugu%C3%AAs%29]

  • Mais informaes e contribuies

    29

    Site: http://chakra-project.orgArchAudio

    ArchAudio um projeto relacionado ao ArchLinux voltado gravao, mixagem, masterizao,design de som e programao DSP. Ele disponibiliza os repositrios com todos os programas eferramentas relacionadas e necessrias para estas atividades.

    Site: http://archaudio.org/

    ArchServer

    Um Arch Linux com atualizaes mais controladas e diferentes mirrors de atualizao, para ambientesde servidor.

    Site: http://www.archserver.org/

    CTKArch

    uma distribuio minimalista, onde o seu criador selecionou alguns pacotes simples e teis para umuso rpido. um liveCD que pode ser instalado ou no em seu disco rgido. Ele pode ser gravador emum 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_ProjectsIsto tudo, sem contar ainda os projetos que so enviados ao AUR. Este sim o verdadeiro bero deinovaes e criatividade da comunidade Arch. Nele encontramos praticamente tudo que precisamospara nosso ambiente. Pacotes so inseridos e atualizados todos os dias. Ento, nunca deixe de verificarno AUR se o software que voc quer existe l, provavelmente sim! E seno tiver ? Empacote oprograma 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/

  • 30

    Captulo 5. Perguntas FrequentesEsta parte reproduzir (em traduo livre) algumas das perguntas respondidas no FAQ oficial do sitedo Arch, principalmente sobre algum ponto que possa no ter sido abordado ou ter ficado to claroneste livro.

    5.1. P: Porque eu iria querer utilizar o Arch ?

    R: Se, depois de voc ler sobre a filosofia do Arch, desejar fazer voc mesmo, e quiser umasimples, elegante, altamente customizvel e genrica distribuio GNU/Linux voc um novousurio Arch.

    5.2. P: Porque eu no quero utilizar o Arch ?

    1. Se voc no concordar com a Filosofia 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 i6864. Voc quer e tem uma firme posio sobre uma distro que fornea apenas softwares que

    sejam open-source tal como definido na GNU5. 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.6. "you do not want a bleeding edge, rolling release GNU/Linux distribution."

    7. Voc est contente com o seu sistema operacional atual

    8. Voc est procurando um sistema operacional que seja direcionado a outros usurios5.3. P: Em qual distribuio o Arch baseado ?

    R: O Arch foi desenvolvido independente, criado a partir do zero e no baseado em nenhumaoutra distribuio. Antes de criar o Arch, Judd admirava e utilizava o CRUX, uma bela eminimalista distro criada por Per Lidn. Originalmente inspirado em ideias do Crux, o Archfoi criado do zero, e o pacman foi codificado em linguagem C.

    5.4. P: O Arch direcionado a ser utilizado como servidor, desktop ou estao de trabalho ?

    R: O Arch no direcionado para qualquer tipo de uso especfico. No entanto, direcionadopara um tipo de usurio. Arch feito para que usurios mais experientes e que gostemdo "faa-voc-mesmo", explorando muito e moldando o sistema para suas necessidadesespecficas. Arch pode ser utilizado para praticamente qualquer finalidade, e claro, o http://archlinux.org roda sobre um Arch!

    5.5. P: Quando vai sair a prxima verso do Arch?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-

  • Perguntas Frequentes

    31

    release" deixa seu Arch sempre atualizado com um simples comando. Por este motivo, versesno so to importantes no Arch, pois no sistema rolling-release cria-se novas verses dospacotes 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 estaratualizado por completo, e idntico ao de uma nova instalao. E por isto tambm, voc noprecisa ficar aguardando novas verses do sistema para ter novas features, pois assim que saira verso do pacote, basta executar o comando "pacman -Syu" para t-las disponvel.

    5.6. P: O Arch Linux uma distribuio estvel? Vo ter muitas quebras?

    R: O Arch Linux to estvel quanto voc o faz! Voc que faz o sistema, voc o cria encimade uma base simples e voc controla os upgrades do seu sistema. O usurio totalmenteresponsvel pela estabilidade do ambiente, onde quem decide quando vai atualizar o sistema,quais repositrios ir utiizar, quais pacotes ir instalar, etc.

    5.7. P: Porque o pacman no tem uma interface visual oficial ?

    R: Por favor leia o "O Jeito Arch" 1. A resposta basicamente que o time de desenvolvimentodo Arch no ir desenvolver uma. Sinta-se a vontade para utilizar uma das interfaces criadaspelos usurios.

  • 32

    Captulo 6. Listagem de comandos teisde modo geral para o ArchLinux

    pacman

    Atualizar sistema: pacman -Syu

    Atualizar listas de programas: pacman -Sy

    Procurar pacote: pacman -Ss

    Instalar pacote: pacman -S

    Remover pacote: pacman -R

  • Listagem de comandos teis demodo geral para o ArchLinux

    33

    parar servio: /etc/rc.d/ stop

    abs

    sincronizar rvore: abs

    sincronizar pacote: abs /

    compilar um pacote com PKGBUILD: makepkg

    rankmirror

    efetuar a verificao dos mirrors mais rpidos :

    mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bkp

    rankmirrors -n 10 /etc/pacman.d/mirrorlist.org > /etc/pacman.d/mirrorlist

    pacman -Syy

  • 34

    Captulo 7. Instalao e configurao deprogramas

    Nesta parte do livro voc vai ver como instalar algumas partes do sistema, como o sistema grficobase, ambientes grficos e o sistema de som. Assim, voc poder partir para a utilizao do sistema eseguir configurando-o conforme gosta.

    Dica

    Todos os comandos para instalao devem ser executados como root ou atravs do sudo, ano ser que seja solicitado outro usurio.

    7.1. Como instalar ambiente grfico baseO ambiente grfico base o software no qual os gerenciadores grficos como Kde ou Gnome vo seapoiar para funcionar corretamente, ele conhecido como X Window System ou simplesmente Xorg( http://www.x.org ). um software open-source e mantido pela X.Org Foundation. Ento, antes deinstalar qualquer gerenciador de desktop, necessitamos instalar este.

    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 ainstalao do seu driver de vdeo compatvel com sua placa 3D.

    7.1.1. Instalao do driver NVidiaBasicamente a instalao do driver da Nvidia no difcil, salvo algumas placas com caractersticasdiferentes que talvez no se adaptem a verso do driver corrente.

    Voc somente necessita prestar ateno na verso da sua placa para instalar o driver apropriado:

    Para placas mais atuais, com GPU depois das GF e FX instale:

    # pacman -S nvidia nvidia-utils

    Para placas mais antigas, do modelo FX:

    # pacman -S nvidia-173xx nvidia-173xx-utils

    E para as placas antes dos modelos GForce 4 instale:

    # pacman -S nvidia-96xx nvidia-96xx-utils

    Isto porque os drivers da Nvidia no carregam as compatibilidades de placas mais antigas nas versesmais novas!

    O passo seguinte a configurao do arquivo xorg.conf, que diz ao Xorg como deve funcionar, mastemos uma ferramenta de ajuda para isto, que vem no pacote da Nvidia: nvidia-xconfig

  • Instalao e configuraode programas

    35

    Antes de executar este comando ( ou outro qualquer que altere algum arquivo ) semprefaa um backup, pois poder assim voltar qualquer alterao feita.

    Ento, execute o nvidia-xconfig, ele ir detectar o hardware existente na mquina e ir alterar oarquivo /etc/X11/xorg.conf conforme necessrio para o bom funcionamento da placa no ambientegrfico.

    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 umaolhada no wiki: https://wiki.archlinux.org/index.php/Nvidia

    Na instalao do driver, ser compilado e instalado o mdulo do kernel referente, ento aconselhovoc a reiniciar o computador antes de iniciar uma sesso grfica.

    7.1.2. Instalao do driver ATI CatalystO driver da ATI tem um repositrio ( no oficial ) criado para manter maior compatibilidade entre odriver e as ltimas verses do kernel, e at mesmo porque a instalao manual deste bem chatinha.Detalhe importante: este driver funciona para as placas acima da verso R6xx somente, placas maisantigas que isto devem utilizar o driver xf86-video-ati.

    Ento vamos a instalao do driver:

    Primeiro, adicione o repositrio abaixo no seu /etc/pacman.conf:

    Para ambientes 32bits:

    [catalyst]Server = http://catalyst.apocalypsus.net/repo/catalyst/i686

    Para ambientes 64bits:

    [catalyst]Server = http://catalyst.apocalypsus.net/repo/catalyst/x86_64

    Agora a instalao dos pacotes:

    Atualizar repositrios

    # pacman -Syu

    Instalar o driver

    # pacman -Rd libgl# pacman -Sy catalyst catalyst-utils

    Instalar um xorg que tem alguns patchs de correo para este driver

    # pacman -Rd xorg-server# pacman -S xorg-server-backclear

  • Instalao e configuraode programas

    36

    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 pginado wiki: https://wiki.archlinux.org/index.php/ATI_Catalyst

    7.2. Como instalar um ambiente GNOMEA instalao do Gnome muito simples, o que mais demora mesmo ir ajeitando-o para deix-locomo voc quer, se no for utiliz-lo com a aparncia e programas padro.

    Ento vamos l. Depois de ter instalado o ambiente grfico base vamos instalar o que necessriopara o Gnome funcionar:

    # pacman -S gnome

    Este comando instalar o mnimo necessrio para o Gnome funcionar. Porm queremos mais que omnimo, no ? Ento:

    # pacman -S gnome-extra

    Este pacote, gnome-extra, contm vrios outros recursos do Gnome, que deixaro ele mais completo efuncional ainda.

    Outro pacote interessante de se instalar o gnome-system-tools, que contm ferramentas degerenciamento do computador e do ambiente do Gnome

    # pacman -S gnome-system-tools

    Agora, vamos aprimorar nossa instalao. O Gamin um sistema de monitoramento de arquivos ediretrios, e utilizado pelo Gnome. Sua instalao simples e no necessita configurao alguma.

    # pacman -S gamin

    Obs: Verifique se na linha dos DAEMONS, no /etc/rc.conf se existe dbus ou fam, ento retire-ose aproveite para desinstalar o fam pacman -Rd fam, pois no lugar dele, agora est sendo utilizado oGamin.

    Tambm, vamos editar o arquivo /etc/hosts e verificar se tem a seguinte linha configurada destamaneira, trocando YOURHOSTNAME pelo nome da sua maquina, definida na instalao:

    127.0.0.1 localhost.localdomain localhost YOURHOSTNAME

    Se no tiver esta linha, acrescente-a ou edite-a, deixando igual a esta.

    Agora, vamos instalar o gerenciador de login GDM, ele o responsvel por autenticar os usuriospara 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 editeo arquivo /etc/rc.conf:

  • Instalao e configuraode programas

    37

    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 paramuitas atividades.

    7.3. Como instalar um ambiente KDE 4Para instalar o KDE, na verso 4.5 atualmente, voc deve fazer o seguinte:

    # pacman -S kde phonon-xine

    ou

    # pacman -S kde-meta phonon-xine

    agora, para instalar a linguagem corretamente:

    # pacman -S kde-l10n-pt_br

    O KDE 4 Modular, assim voc pode instalar suas aplicaes preferidas sem ter queinstalar 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 noseja necessria esta instalao# pacman -S kdm

    E ento, adicione o kdm tambm no /etc/rc.conf:DAEMONS=(syslog-ng dbus hal networkmanager alsa crond kdm)

    Ok! Agora voc tem um novo e lindo ambiente KDE rodando e funcional. Configure e estilize-o avontade para ficar do jeito que voc gosta!

    7.4. Como instalar um ambiente XFCEA instalao do Xfce tambm algo bem simples. O Xfce um ambiente bem enxuto e rpido,alm de pequeno em tamanho de pacotes. Com ele podemos ter uma interface grfica muito bonita efuncional em micros mais antigos e/ou com pouco poder de processamento.

    Instalando a base

  • Instalao e configuraode programas

    38

    # pacman -S xfce4

    Instalando alguns itens extras como plugins para o painel

    # pacman -S xfce4-goodies

    Instalando o necessrio para funcionar o som

    # pacman -S gstreamer0.10-base-plugins

    Instalando os cones padro do menu

    # pacman -S gnome-icon-themeou

    # pacman -S tango-icon-theme

    Instalando o daemons necessrios:

    # pacman -S dbus

    Adicione dbus em DAEMONS no /etc/rc.conf

    # pacman -S gamin

    Agora, com seu usurio logado, teste o ambiente:

    $ sudo /etc/rc.d/dbus start$ startxfce4

    Deu tudo certo ? Beleza, ento vamos configurar o seu ~/.xinitrc

    Se voc ainda no criou este arquivo, pode copiar o padro do sistema: cp /etc/skell/.xinitrc ~/

    Agora edite-o (~/.xinitrc) e adicione a linha a seguir:exec ck-launch-session startxfce4

    Ok, seu "startX" jah funciona. Mas agora, vamos instalar o login manager SLiM, ele utiliza o seu jconfigurado ~/.xinitrc:

    # pacman -S slim slim-themes archlinux-themes-slim

    Veja/altere as configuraes do slim em /etc/slim.confEnto adicione o "slim" no final do item DAEMONS no arquivo /etc/rc.conf.

    Pronto! Temos agora um ambiente Xfce leve e funcional.

    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.

    7.5. Como instalar o SOMPrimeiro adicione seu usurio no grupo sound:

  • Instalao e configuraode programas

    39

    # gpasswd -a yourusername audio

    Vamos ver como instalar e configurar do ambiente de SOM PulseAudio.

    Comee pelo bsico:

    # pacman -S pulseaudio

    Instale os front-ends ( GTK ):# pacman -S paprefs pavucontrol

    Ele necessita do dbus para funcionar, ento (instale e) inicie-o :# /etc/rc.d/dbus start

    Feito isto, para o ambiente no grfico inicie o pulse assim:

    $ pulseaudio --start

    Ou em ambiente grfico, assim:

    $ start-pulseaudio-x11

    E para os programas que no suportam o PulseAudio, devemos instalar o backend Alsa:

    # pacman -S pulseaudio-alsa

    Este pacote j contm a configurao necessria para fazer o Pulse funcionar com o Alsa, e se vocest em um ambiente 64 bits, e quer ter som para os programas 32 bits, tenha certeza de ter instaladotambm as libs lib32-libpulse e lib32-alsa-plugins.

    Para funcionar o gstreamer com o pulse, configure-o executando o comando gstreamer-properties eselecionando PulseAudio em ambas as configuraes: Entrada e Sada de udio.Para o Gnome tem ainda o pulseaudio-mixer-applet, que um applet de controle do Pulse. OPulseAudio no compatvel com o KDE3, e para utilizar com o KDE4 faa conforme descrito nestapgina: http://www.pulseaudio.org/wiki/KDE , e tem ainda um plasmoid para controle do Pulse:kdeplasma-addons-applets-veromix.

    Vamos ver como instalar e configurar o ambiente de som ALSA (Advanced Linux SoundArchiteture)

    O ALSA j includo no kernel padro do Arch Linux, no sendo necessria sua instalao.Ento, instale as ferramentas

    # pacman -S alsa-utils alsa-plugins

    Agora, para o Gnome instale o gnome-alsamixer.

  • 40

    Captulo 8. Como compilar o kernel doJeito Arch 1

    Vamos admitir aqui que voc utiliza e quer alterar o kernel padro do Arch e j tem o ambiente doABS configurado, conforme respectivo item deste livro - Seo 3.4, Compilando atravs do ABS.

    Copie os arquivos para seu diretrio de trabalho:

    cp -R /var/abs/core/kernel26/* /path/to/my/abs/kernel26/

    Modifique o PKGBUILD conforme suas necessidades.

    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 demorabastante. Demorar uma hora no raro acontecer. Depois de terminada a instalao, instale seu novokernel

    # pacman -U kernel26-custom_i686.tar.pkg.xz

    Ento atualize o seu bootloader Grub e tudo acabado!

    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).

    8.1. Kernels diferenciadosNo AUR, esto disponveis tambm alguns outros kernels com patch que ajudam em performance e/ou segurana. Abaixo falo um pouco sobre eles:

    Con Kolivas (-ck)

    Este kernel contm os patchs criados por Con Kolivas 1. Estes patchs agregam melhorias noescalonador.

    Real Time (-rt)

    Este kernel contm patchs para atividades de tempo real.

    -grsecurity

    Este kernel contm patchs de segurana

    Tiny Patches

    1Con Kolivas [http://kernel.kolivas.org/]

  • Como compilar okernel do Jeito Arch 1

    41

    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 osantigos 386.

    -fallen

    Este um agrupamento de vrios patchs: -ck , fbsplash, reiser4, suspend2, latest 2.6.x.y patch, ACPIDSDT, squashfs, e Genpatches

    8.2. Dicas de PerformanceO Arch Linux j por padro uma distribuio que trabalha com tima performance, tem todos osseus pacotes compilados e voltados para aquitetura igual ou superior a i686, ou seja, processadorescomo Pentium Pro, Pentium II/III/Celeron, Pentium 4 e Athlon/Duron, no funcionando comprocessadores mais antigos como os 486 e 386, e os K6 que tambm apresentam alguns problemas.Estes processadores i686 processam duas instrues por vez, diferentemente destes mais antigos, ques processam uma instruo por vez.

    Fora este detalhe da compilao, o Arch mantm uma vida simplista e simplificada, onde doisdetalhes saltam aos olhos quando falamos disto: - O Arch no instala nada que voc no saiba: Vocsabe TUDO que roda no seu Arch, ele no vem com nada instalado ou rodando sem que no tenhacido voc mesmo que tenha instalado. - Configurao centralizada: este tambm um ponto bastanteimportante pois agiliza a configurao do ambiente, onde no necessitamos ficar alterando vriosarquivos para configurar a distribuio. Items como rede, linguagem, servios que sobem no boot evrios 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 comseu perfil de utilizador do sistema:

    Ambiente grfico: escolha um ambiente grfico mais leve e que utilize menos memria casonecessite, 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 comsuas caractersticas, e como podemos determinar como nosso disco vai ser particionado e onde cadapartio ser montada podemos fazer um sistema completamente configurado para performance,veja:

    EXT4 - Tem excelente desenpenho no geral, confivel, mas ainda mantm alguns pequenosproblemas com alguns bancos de dados, tem desfragmentao online e suporte a grandesvolumes 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 poucosrecursos de CPU.

    Btrfs - Ainda em desenvolvimento, porm j constatado que tem melhor desempenho que oEXT4, e muitas features para boa performance. Podes utilizar para fazer testes.

  • Como compilar okernel do Jeito Arch 1

    42

    Conhea seu sistema

    Veja a memria utiliza e livre com o comando free -m 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 de40 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, seno estiver instale os drivers da sua placa de vdeo para no denegrir a performance visual doambiente.

    Teste e utilize aplicativos que so mais leves, e as vezes mais simples. Muitas vezes os aplicativosmais simples fazem tudo que os seu equivalentes mais pesados fazem, ento sempre teste as vriasopes 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. Leiasobre eles e veja o que mais se encaixa em suas tarefas.

    Verynice um aplicativo que ajuda na execuo das tarefas no processador, ajustando de formainteligente a prioridade de cada processo.

    Monte o diretrio /tmp na memria RAM ao invs do disco, isto vai ajudar muito, porm vaicomer parte da sua memria. muito bom para quem tem bastante memria disponvel.

    Diretivas de compilao: Ajuste corretamente as configuraes de compilao especficas para seuprocessador, isto ajuda muito na hora de utilizar um programa compilado localmente.

    Se voc compila bastante programas , utilize a ferramenta Ccache.

    Pacman : Ajuste o pacman para trabalhar melhor, tem vrias dicas sobre isto como: pacman-optimize: otimizao da base local do pacman

    pacman-cage: move a base do pacman para um local de disco onde se tem leitura contnua

    melhore o tempo de downloads utilizando o Powerpill ou configurando a opo XferCommand noarquivo /etc/pacman.conf para utilizar o aria2c ou axel

    Atualize a lista de mirrors do pacman para priorizar os mais rpidos em resposta utilizando orankmirror

    E ainda, caso voc necessite de um sistema realmente performtico e quer ir mais a fundonas configuraes, voc pode utilizar as ferramentas de benchmark citadas no wiki: https://wiki.archlinux.org/index.php/Benchmarking .

  • 43

    Consideraes FinaisA pesquisa para a criao deste livro foi extensa. Sendo que encontrei a maioria das informaes que mefaltavam no wiki oficial, porm, vrias dicas e informaes adicionais eu encontrei tambm em algunsblogs 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

    Siteshttp://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://ww