Aviso

Por favor, leia as regras do fórum antes de usá-lo.

#1 17/05/2007 17:05:42

leoarcher
Admin do fórum
De: Arapiraca - AL
Registrado em: 13/07/2006
Posts: 981
Website

Conhecendo o Pacman

Esse é um assunto um tanto delicado, por que alguns gostam de source ou binários, apartir de um gerenciador de pacotes. E outros gostam de tratar na mão os 2.

Minha opinião é a seguinte: Apartir do momento em que você aprende a compilar e tratar os pacotes na mão, existe a evolução de criar o pacote para a sua distribuição preferida, para ter um maior controle sobre o que tem instalado. Se tem gerenciador de pacotes ou não, ai já é outra história.

No caso so Slackware se pelo menos ele tivesse algo para baixar APENAS os sources e apartir dai fosse só você, garanto de seria muito melhor. Gentoo o Portage é excelente. Debian apt-get só me trouxe problemas.

big_smile

Aqui nessa parte, vou tentar mostrar um pouco do gerenciador de pacotes do Arch Linux, o pacman. Poderia tá iniciando falando do init, o que agradaria muitas pessoas. Porém existem algumas pessoas que estão começando a testar o Arch e a primeira coisa a se usar é o pacman, pois a instalação do Arch é muito parecida com a do Gentoo em modo texto, onde você só tem a base do sistema (um sistema altamente funcional, apenas em modo texto), tendo que baixar os "extras" que a galera mais usa.

Então vamos lá.

O nome pacman vem de: PACkage MANager, tendo uma analogia com o jogo pacman, o famoso come-come. O que acho muito interessante e atrativo.

No pacman temos dois tratamentos de pacotes, uma com pacotes e binários e o outro com sources. Porém vou falar só dos binários nesse texto.

O conjuto de comando que englobam o pacman são:

pacman: gerenciador que "todo mundo" conhece;
abs: "gerenciador de pacotes" para sources;
makepkg: auxilia o abs na criação dos pacotes para serem instalados com o pacman;
makeworld: reconstroi a distribuição apartir do abs (nunca testei esse comando, mas sem dúvidas é uma ótima opção para os malucos de plantão);
rankmirrors: para selecionar os mirrors mais rápidos (só apartir na versão 3.0.0, eu acho big_smile).

Esses são os principais, tendo mais 8 comandos. Vamos se conscentrar nesses (por enquanto).

De inicio vamos entender o arquivo de configuração e onde se encontram os arquivos pros mirrors.

pacman.conf:

#
# /etc/pacman.conf
#
# NOTE: If you find a mirror that is geographically close to you, please
#       move it to the top of the server list, so pacman will choose it
#       first.
#
# To re-sort your mirror lists by ping/traceroute results, use the
# /usr/bin/sortmirrors script.  It requires the "netselect" package.
#

# See the pacman manpage for option directives

#
# GENERAL OPTIONS
#
[options]
LogFile     = /var/log/pacman.log
NoUpgrade   = /etc/passwd /etc/group /etc/shadow /etc/sudoers
NoUpgrade   = /etc/fstab /etc/raidtab /etc/ld.so.conf
NoUpgrade   = /etc/rc.conf /etc/rc.local
NoUpgrade   = /etc/modprobe.conf /etc/modules.conf
NoUpgrade   = /etc/lilo.conf /boot/grub/menu.lst
HoldPkg     = pacman glibc
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u

#
# REPOSITORIES
#   - can be defined here or included from another file
#   - pacman will search repositories in the order defined here.
#   - local/custom mirrors can be added here or in separate files
# 

[current]
# Add your preferred servers here, they will be used first
Include = /etc/pacman.d/current

[extra]
# Add your preferred servers here, they will be used first
Include = /etc/pacman.d/extra

[community]
# Add your preferred servers here, they will be used first
Include = /etc/pacman.d/community

[testing]
Server = ftp://ftp.archlinux.org/testing/os/i686

[unstable]
# Add your preferred servers here, they will be used first
Include = /etc/pacman.d/unstable

# An example of a custom package repository.  See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#Server = file:///home/custompkgs

Dividiremos o pacman.conf em 2 partes: Opções gerais e Repositórios.

1- Opções Gerais:

Encontramos algumas opções para tratamento dos pacotes. Vou citar as principais e mais utilizadas.

LogFile: onde será gerado os logs de instalação remoção, atulização ou qualquer outra coisa com os pacotes utilizando o pacman.

NoUpgrade: aqui você coloca o caminho para o arquivo que você modificou ou acha que é perigoso uma atulização colocando todo o caminho. Se você tiver mais de um arquivo, para separa-los utilize "espaço" para tal.

NoUpgrade = /etc/fstab

HoldPkg: é mais uma questão de segurança na hora de remover um pacote. Se você quer remover o pacman e ele tiver setado nessa opção lhe será perguntando se realmente você quer fazer isso.

XferCommand: é muito utilizado para forçar o pacman a usar o wget.

Outras Opções que não vem por padrão e que são interessantes.

IgnorePkg: você colocando o nome correto do pacote, ele não será atualizado. Um exemplo seria o kernel:

IgnorePkg = kernel26

ProxyServer: Essa opção é para quem está em algum lugar onde se utilize proxy. Sintaxe:

ProxyServer = <host|ip>[:porta]

2- Repositórios:

Os repostórios do Arch Linux são: Current, Extra, Community, Testing e Unstable.

Current e Extra são os padrões.
Community são os pacotes dos usuários que foram votados testados e aprovados apartir do AUR (Arch User Repository) http://aur.archlinux.org , sendo os mesmos verificados por vários usuários. Uma explicação mais detalhada do AUR será colocada aqui.

Testing e Unstable repositório apenas recomendado para os desenvolvedores e para usuários mais ousados. Primeiros os pacotes são colocados no Unstable, passando para o Testing e por fim chegando ao extra ou current.

Por padrão a ordem deles no pacman.conf são:

[testing]
[current]
[extra]
[unstable]
[community]

Mas como o pacman trabalha com hierarquia, o mais coerente e mais adequado é colocar os repositorio como na configuracao que foi mostrada acima:

[current]
[extra]
[community]
[testing]
[unstable]

Deixando descomentado todos os repositórios, assim se você precisar de algo que se encontre no extra e no testing ao mesmo tempo, e o pacote que voce quer, se estiver no testing e não for instalado, poderemos usar:

# pacman -S testing/pacote

Não prejudicando o seu sistema, em possiveis atualizações.
Ai você se pergunta, mas se por ventura eu quiser voltar para a versão antiga (downgrade)?

Você deverá ter esse pacote em cache e fazer: (SEMPRE VERIFICANDO A VERSÃO DO PACOTE)

# cd /var/cache/pacman/pkg
# pacman -U pacote.pkg.tar.gz

Assim, você terá um downgrade! big_smile

E onde eu encontro os arquivos com os mirrors?
Resposta: /etc/pacman.d

Lá você vai encontrar os arquivos diacordo com o nome dos repositórios.

[leandro@archlinux ~]$ ls /etc/pacman.d/
community      current      extra      release      testing         unstable
[leandro@archlinux ~]$

Cada arquivo contém os endereço dos respectivos mirrors relacionados aos repositórios!

Para verificar qual mirror está mais rápido faça:

$ cd /etc/pacman.d
$ rankmirrors

Espere alguns segundos ou minutos, vai depender das respostas dos mirros e você terá o resultado em ordem decrescente.

Essa parte do pacman.conf e do pacman.d finaliza por aqui, e agora veremos alguns comandos básicos de utilização do pacman.

COMANDOS BÁSICOS:

# pacman -S pacote = instala um pacote e/ou atualiza o pacote
# pacman -Sy = vai sincronizar com os repositórios e verificar o que foi atualizado
# pacman -Syu = atualiza a distribuição
$ pacman -Ss pacote = procura por um pacote
# pacman -Sw pacote = irá apenas fazer o download do pacote
$ pacman -Si pacote = pega as informações de um pacote não instalado
$ pacman -Qi pacote = pega as informacoes do pacote já instalado
$ pacman -Q = mostra todos os pacotes instalados
$ pacman -Ql pacote = mostra todos os arquivos pertencentes ao pacote
# pacman -A pacote.pkg.tar.gz = adiona um pacote baixado de algum lugar ou criado com o abs
# pacman -U pacote.pkg.tar.gz = adiona ou atualiza um pacote baixado de algum lugar ou criado com o abs
$ pacman -Qu = mostra os pacotes que serão atualizados (APENAS APARTIR DO pacman3)
# pacman -Se pacote = instala apenas as dependências
$ pacman -Qo arquivo = mostra a qual pacote aquele arquivo pertence
# pacman -R pacote = remove um pacote.
# pacman -Rncs pacote = remove um pacote e todos os seus arquivos de configuração, suas dependencias e arquivos de backup serao apagados ou criados se o mesmo for verificado na base de dado dos pacotes e sera renomeado com a extensão .pacsave
#pacman -Sc = remove do cache os pacotes antigos
# pacman -Scc = limpa o cache, removendo todos os pacotes existentes no /var/cache/pacman/pkg/

Acho que é isso ai, qualquer dúvida estou por aqui, é só perguntar.
Se encontrar mais alguma coisa adiciono aqui ou coloco em um próximo post Conhecendo Arch Linux.

[]'s

Arch Linux Brasil.

[leandro@archlinux ~]$ cat /etc/arch-release
Arch Linux (Duke) 2007.05

(esse eu criei) big_smile


Se copiarem, forneçam a fonte de origem. Se alguma resposta te ajudou a solucionar o problema, por favor edite o título do tópico e adicione "[Resolvido]" a ele (sem as aspas). Obrigado!

[img]http://www.asa-arapiraca.com.br/imagens/asa_tempo.jpg[/img]

Offline

#2 15/06/2007 14:42:10

FabioArch
Ah, Arch Linux!
Registrado em: 27/08/2006
Posts: 10

Re: Conhecendo o Pacman

bem legal seu tutorial big_smile mais deixa de falar mal do apt seu porra big_smile

Offline

#3 24/02/2008 09:53:26

ganso
ABS e AUR ?
Registrado em: 21/01/2008
Posts: 91

Re: Conhecendo o Pacman

Excelente matéria cara!

Offline

#4 24/02/2008 12:39:44

corvolino
Admin do fórum
De: Bahia
Registrado em: 19/08/2007
Posts: 1.131
Website

Re: Conhecendo o Pacman

boaaaa! (;


corvolino ~  archlinux i686

* http://corvolinopunk.wordpress.com  / corvolino@jabber.org

Offline

#5 01/08/2008 15:43:27

RickMura
Arch Linux na veia
De: S.B.Campo-SP
Registrado em: 08/01/2008
Posts: 215

Re: Conhecendo o Pacman

Bacana mesmo, mas tenho uma duvida, no caso de um pacman -Ss eu poderia usar caracteres chaves? por exemplo:
pacman -Ss *nvidia*

Abraco,
Mura

Offline

#6 01/08/2008 18:29:52

thotypous
Moderador
Registrado em: 21/05/2008
Posts: 650

Re: Conhecendo o Pacman

RickMura escreveu

Bacana mesmo, mas tenho uma duvida, no caso de um pacman -Ss eu poderia usar caracteres chaves? por exemplo:
pacman -Ss *nvidia*

Pode usar expressões regulares:

pacman -Ss '.*nvidia.*'

Offline

#7 01/08/2008 19:56:37

heldersr
Come tacos todo dia!
Registrado em: 08/04/2008
Posts: 315

Re: Conhecendo o Pacman

Apesar que nesse caso do nvidia não faz sentido já que usando pacman -Ss nvidia ele vai procurar por tudo que tenha a palavra.  Agora a questão do uso de expressões regulares sempre é ótimo, já que pode ocorrer algum caso que seja necessário uma busca diferenciada.

Offline

#8 01/08/2008 20:25:30

Clecio
ABS e AUR ?
De: Goiânia
Registrado em: 19/06/2008
Posts: 51
Website

Re: Conhecendo o Pacman

Muito bom mesmo big_smile


http://cleciooliveira.com/blog/

[img]http://img181.imageshack.us/img181/6712/powerarchqp4.th.jpg[/img][img]http://img181.imageshack.us/img181/2429/getfirefoxyc9.jpg[/img]

Offline

#9 12/10/2009 20:35:08

bino28
Pacman pacman pacman
De: Espírito Santo, Brasil
Registrado em: 27/08/2009
Posts: 187
Website

Re: Conhecendo o Pacman

Excelente!

[]'s


http://www.tux-es.org
http://www.binoinformatica.com
[img]http://i45.photobucket.com/albums/f83/bino28/Archlinux/archuser.png[/img]
Sistema: ArchLinux x86_64  +  Kernel-2.6.34-ARCH  +  Ambiente Gráfico KDE

Offline

Rodapé

Este fórum usa FluxBB