Você não está autenticado.

Anúncio

Arch Linux Brasil está precisando de sua colaboração para realizar o pagamento do domínio e do host, para colaborar, realizar doações via paypal.

Para mais informações: contato at archlinux-br.org.

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

leoarcher
Admin
De: Arapiraca - AL
Registrado: 13/07/2006
Mensagens: 1.250
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.

[[email protected] ~]$ ls /etc/pacman.d/
community      current      extra      release      testing         unstable
[[email protected] ~]$

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.

[[email protected] ~]$ 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!

asa_tempo.jpg

Offline

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

FabioArch
Membro
Registrado: 27/08/2006
Mensagens: 12

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 10:53:26

ganso
Membro
Registrado: 21/01/2008
Mensagens: 91

Re: Conhecendo o Pacman

Excelente matéria cara!

Offline

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

corvolino
Admin
De: Bahia
Registrado: 19/08/2007
Mensagens: 1.659
Website

Re: Conhecendo o Pacman

boaaaa! (;


corvolino ~  archlinux i686

* http://corvolinopunk.wordpress.com  / @corvolinopunk

Offline

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

RickMura
Membro
De: S.B.Campo-SP
Registrado: 08/01/2008
Mensagens: 216
Website

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 19:29:52

thotypous
Membro
Registrado: 21/05/2008
Mensagens: 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 20:56:37

heldersr
Membro
Registrado: 08/04/2008
Mensagens: 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 21:25:30

Clecio
Membro
De: Goiânia
Registrado: 20/06/2008
Mensagens: 216
Website

Re: Conhecendo o Pacman

Muito bom mesmo big_smile

Offline

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

bino28
Membro
Registrado: 27/08/2009
Mensagens: 253

Re: Conhecendo o Pacman

Excelente!

[]'s

Offline

#10 02/02/2012 12:35:06

wf.Sam
Membro
Registrado: 29/08/2011
Mensagens: 68

Re: Conhecendo o Pacman

foi uma ótima leitura, já uso o arch a um tempo e ainda não tinha parado pra conhecer mais sobre pacman.
ótimo post! vlw leoarcher

Offline

Rodapé do site