Ir ao conteúdo
  • Cadastre-se
Zeca Pagodinho

Arch Linux - gerenciar arquivos RPM e DEB

Recommended Posts

Buenas pessoal!

 

Sou usuário Linux desde 2005 de forma ininterrupta, iniciando com o velho Kurumin, passando pelo Debian, Ubuntu, Mandrake/Mandriva e finalmente o Gentoo. Essa última tinha sido a minha distribuição preferida desde aquela época (por incrível que pareça, me adaptei melhor com a mais complicada de todas!), mas atualmente tenho observado muitos bugs no sistema. Novas atualizações geram grandes dores de cabeça, impossível recompilar alguns pacotes, erros de difícil resolução ou que demoram muito tempo para serem corrigidos pelos responsáveis.

 

Decidi então trocar, respirar novos ares. Com a influência do amigo @ilkyest, que conheço do Folding@Home aqui do Fórum Clube do Hardware, resolvi testar o Arch Linux e a primeira impressão é boa. Fácil de instalar, sem muitos problemas com configurações extensas, porém diferente do Gentoo. Agora estou com um probleminha, por isso vim até aqui criar esse tópico e solicitar a ajuda daqueles que puderem informar um meio de solucionar essa questão.

 

Trata-se do seguinte: quero instalar o cliente do Folding@Home em meu novo sistema, porém não encontrei o dito pacote entre aqueles disponíveis nos repositórios padrão da distribuição. Procurei por "folding", "fah", "fahclient", entre outras formas de especificar o pacote em questão e nada. Então a solução é baixar as fontes do site de Stanford e instalar diretamente na máquina. Como bem dito, este é o Arch Linux, com sistema de empacotamento e instalação diferentes daqueles disponibilizados por Stanford. Lá está disponíveis dois tipos de pacotes: RPM e DEB. No Gentoo eu baixava, geralmente, os pacotes RPM e abria-os com qualquer leitor de arquivos compactados, como o File Roller ou o Ark. Bastava instalar os programas correspondentes na linha de comando e depois os front ends que citei abriam e descompactavam os arquivos para o lugar onde a gente quisesse por. No Arch Linux isso não aconteceu. Até procurei pelos pacotes de RPM e DEB, mas não os achei. Fiquei com as mãos atadas... alguém sabe outra forma de leitura, descompactação e cópia dos arquivos necessários para instalação do software disponibilizado através desse tipo de arquivos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Zeca Pagodinho

 

Vamos lá meu caro... assim

 

normalmente, tudo o que precisa ser compilado está no aur.

https://aur.archlinux.org/

 

ali tem pacotes mantidos pela comunidade, que tem de estar "nos standards do AUR"

 

Contributed PKGBUILDs must conform to the Arch Packaging Standards otherwise they will be deleted!

 

Se porventura não abrir o AUR, suba o mtu da tua rede para acima de 1300

 

 

ip link set "tua rede" mtu 1492

 

vamos ao dito cujo?

https://aur.archlinux.org/packages/?O=0&C=0&SeB=nd&K=folding&outdated=&SB=n&SO=a&PP=50&do_Search=Go

 

aqui aparece um monte de coisa....

 

aqui está o nosso cliente

https://aur.archlinux.org/packages/foldingathome/

 

 

Como funciona agora? à direita em "download tarball" e veja o que baixa.

 

basicamente um arquivo tar, e dentro dele um "pkgbuild".

 

descompacte esse arquivo, entre dentro da pasta e digite "makepkg" na linha de comando, começa, o make, a compilar o pacote

 

como assim?

 

esse é o conteudo do pkgbuild do folding at home

# Contributor: paul2lv [at] gmail dot com# Maintainer: pkgname=foldingathomepkgver=7.4.4pkgrel=1pkgdesc="Folding@[member="Home"] is a distributed computing project which studies protein folding, misfolding, aggregation, and related diseases."arch=('i686' 'x86_64')url="http://folding.stanford.edu/"license=('CUSTOM')depends=('glibc')optdepends=('opencl-nvidia: for folding with an nVidia GPU')replaces=('foldingathome-v7')conflicts=('foldingathome-v7')install=foldingathome.install# Moronic serverDLAGENTS=("https::/usr/bin/curl -k -o %o %u")[ "$CARCH" = "i686" ] &&_source_arch="32bit"[ "$CARCH" = "x86_64" ] && _source_arch="64bit"if [ "$CARCH" = "i686" ]; then    source=(https://fah-web.stanford.edu/file-releases/public/release/fahclient/debian-testing-32bit/v7.4/fahclient_7.4.4-32bit-release.tar.bz2 foldingathome.service)    md5sums=('cfc23aeb72efed82289b53a055618dfc' 'dd55dbae3fbe56f90bed0e40f2b0de3c')     elif [ "$CARCH" = "x86_64" ]; then    source=(https://fah-web.stanford.edu/file-releases/public/release/fahclient/debian-testing-64bit/v7.4/fahclient_7.4.4-64bit-release.tar.bz2 foldingathome.service)    md5sums=('3a068d236d3a508a2a98a4a161fa14e2' 'dd55dbae3fbe56f90bed0e40f2b0de3c')fipackage() {  cd ${srcdir}  install -D -c -m755 fahclient_${pkgver}-${_source_arch}-release/FAHClient ${pkgdir}/opt/fah/FAHClient  install -D -c -m755 fahclient_${pkgver}-${_source_arch}-release/FAHCoreWrapper ${pkgdir}/opt/fah/FAHCoreWrapper  install -D -c -m755 fahclient_${pkgver}-${_source_arch}-release/sample-config.xml ${pkgdir}/opt/fah/sample-config.xml  chmod 755 ${pkgdir}/opt/fah/FAHClient  chmod 755 ${pkgdir}/opt/fah/FAHCoreWrapper  install -D -m644 fahclient_${pkgver}-${_source_arch}-release/copyright ${pkgdir}/usr/share/licenses/${pkgname}/copyright  install -D -m644 fahclient_${pkgver}-${_source_arch}-release/README ${pkgdir}/opt/fah/README  install -D -m644 fahclient_${pkgver}-${_source_arch}-release/ChangeLog ${pkgdir}/opt/fah/ChangeLog  install -D -m644 ${srcdir}/foldingathome.service ${pkgdir}/etc/systemd/system/foldingathome.service

este é o jeito arch de compilar pacotes!!!!!!!

 

 

no caso específico do folding at home, eu não instalo pelo AUR

 

eu uso o método 'instalação no osso"

http://forum.clubedohardware.com.br/topic/1025749-folding-2013-instalando-o-fh-em-linux-cliente-736-incluindo-linux-sem-suporte/?p=5640386

 

porque via aur, será instalado como serviço, exigindo logar como root no CLI e depois ativar ele manualmente (eu deixo manual). Com o método no osso, eu compilo o fahcontrol pelo AUR, instalo ele, e rodo o folding pelo "método osso" e voilá

 

Todos os pacotes do arch, que não oficiais, são via AUR. existe vários programas para instalar as coisas usando o AUR, inclusive o próprio yaourt. Eu uso ele, mas a comunidade não recomenda

 

A comunidade recomenda usar o makepkg

 

não rode o makepkg como root, não é recomendável, e não irá rodar. MAS NÃO É RECOMENDÁVEL

 

 

==> ERRO: Executar makepkg como root é uma PÉSSIMA ideia e pode causar danos
permanentes e catastróficos para seu sistema. Se você deseja executar
como root, favor use a opção --asroot.
 

 

 

O AUR usa sha256sum e md5sum. As vezes, o pessoal sequer deu o pacote como "out-of-date" e ele não funciona mais. Acontece muito com kernel, quando um patch novo é lançado, mas não foi atualizado, ou foi atualizado, mas não o checksum.

 

Com o "pkgbuild" você sabe "como funciona". Se quiser estudar, ou ainda, pode editar tranquilamente

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Zeca Pagodinho

 

Vamos lá meu caro... assim

 

normalmente, tudo o que precisa ser compilado está no aur.

https://aur.archlinux.org/

 

ali tem pacotes mantidos pela comunidade, que tem de estar "nos standards do AUR"

 

Se porventura não abrir o AUR, suba o mtu da tua rede para acima de 1300

 

 

vamos ao dito cujo?

https://aur.archlinux.org/packages/?O=0&C=0&SeB=nd&K=folding&outdated=&SB=n&SO=a&PP=50&do_Search=Go

 

aqui aparece um monte de coisa....

 

aqui está o nosso cliente

https://aur.archlinux.org/packages/foldingathome/

 

 

Como funciona agora? à direita em "download tarball" e veja o que baixa.

 

basicamente um arquivo tar, e dentro dele um "pkgbuild".

 

descompacte esse arquivo, entre dentro da pasta e digite "makepkg" na linha de comando, começa, o make, a compilar o pacote

 

como assim?

 

esse é o conteudo do pkgbuild do folding at home

# Contributor: paul2lv [at] gmail dot com# Maintainer: pkgname=foldingathomepkgver=7.4.4pkgrel=1pkgdesc="Folding@[member="Home"] is a distributed computing project which studies protein folding, misfolding, aggregation, and related diseases."arch=('i686' 'x86_64')url="http://folding.stanford.edu/"license=('CUSTOM')depends=('glibc')optdepends=('opencl-nvidia: for folding with an nVidia GPU')replaces=('foldingathome-v7')conflicts=('foldingathome-v7')install=foldingathome.install# Moronic serverDLAGENTS=("https::/usr/bin/curl -k -o %o %u")[ "$CARCH" = "i686" ] &&_source_arch="32bit"[ "$CARCH" = "x86_64" ] && _source_arch="64bit"if [ "$CARCH" = "i686" ]; then    source=(https://fah-web.stanford.edu/file-releases/public/release/fahclient/debian-testing-32bit/v7.4/fahclient_7.4.4-32bit-release.tar.bz2 foldingathome.service)    md5sums=('cfc23aeb72efed82289b53a055618dfc' 'dd55dbae3fbe56f90bed0e40f2b0de3c')     elif [ "$CARCH" = "x86_64" ]; then    source=(https://fah-web.stanford.edu/file-releases/public/release/fahclient/debian-testing-64bit/v7.4/fahclient_7.4.4-64bit-release.tar.bz2 foldingathome.service)    md5sums=('3a068d236d3a508a2a98a4a161fa14e2' 'dd55dbae3fbe56f90bed0e40f2b0de3c')fipackage() {  cd ${srcdir}  install -D -c -m755 fahclient_${pkgver}-${_source_arch}-release/FAHClient ${pkgdir}/opt/fah/FAHClient  install -D -c -m755 fahclient_${pkgver}-${_source_arch}-release/FAHCoreWrapper ${pkgdir}/opt/fah/FAHCoreWrapper  install -D -c -m755 fahclient_${pkgver}-${_source_arch}-release/sample-config.xml ${pkgdir}/opt/fah/sample-config.xml  chmod 755 ${pkgdir}/opt/fah/FAHClient  chmod 755 ${pkgdir}/opt/fah/FAHCoreWrapper  install -D -m644 fahclient_${pkgver}-${_source_arch}-release/copyright ${pkgdir}/usr/share/licenses/${pkgname}/copyright  install -D -m644 fahclient_${pkgver}-${_source_arch}-release/README ${pkgdir}/opt/fah/README  install -D -m644 fahclient_${pkgver}-${_source_arch}-release/ChangeLog ${pkgdir}/opt/fah/ChangeLog  install -D -m644 ${srcdir}/foldingathome.service ${pkgdir}/etc/systemd/system/foldingathome.service

este é o jeito arch de compilar pacotes!!!!!!!

 

 

no caso específico do folding at home, eu não instalo pelo AUR

 

eu uso o método 'instalação no osso"

http://forum.clubedohardware.com.br/topic/1025749-folding-2013-instalando-o-fh-em-linux-cliente-736-incluindo-linux-sem-suporte/?p=5640386

 

porque via aur, será instalado como serviço, exigindo logar como root no CLI e depois ativar ele manualmente (eu deixo manual). Com o método no osso, eu compilo o fahcontrol pelo AUR, instalo ele, e rodo o folding pelo "método osso" e voilá

 

Todos os pacotes do arch, que não oficiais, são via AUR. existe vários programas para instalar as coisas usando o AUR, inclusive o próprio yaourt. Eu uso ele, mas a comunidade não recomenda

 

A comunidade recomenda usar o makepkg

 

não rode o makepkg como root, não é recomendável, e não irá rodar. MAS NÃO É RECOMENDÁVEL

 

 

 

O AUR usa sha256sum e md5sum. As vezes, o pessoal sequer deu o pacote como "out-of-date" e ele não funciona mais. Acontece muito com kernel, quando um patch novo é lançado, mas não foi atualizado, ou foi atualizado, mas não o checksum.

 

Com o "pkgbuild" você sabe "como funciona". Se quiser estudar, ou ainda, pode editar tranquilamente

 

@ilkyest, obrigado pelo pronto atendimento.

 

Ok, acho que com os dados repassados posso instalar tranquilamente. Depois faço os passos indicados e vou aos "finalmentes". Só te pergunto o seguinte: eu estava procurando uma forma de instalar usando o pacman, mas não encontrei. Eu tinha visto este repositório ao tentar localizar informações através do Google e achei semelhante à homepage que o Gentoo mantém com as ebuilds (semelhante às pkgbuilds do Arch e manejadas pelo Portage) e informações de versão desses scripts, por isso nem me fixei muito. Depois verifiquei o que dizia a Wiki do Arch sobre o pacman e modo de manejá-lo. Fiquei sabendo dos mirrors, da configuração do pacman através do /etc/pacman.conf, mas nada de como integrar esses repositórios externos ao gerenciador de pacotes pacman. E digo repositórios externos porque não apareceu na minha lista de programas disponíveis o Folding@Home, claramente disponível no AUR que você mostrou.

 

Em suma: o Arch te dá opção de instalar alguns programas diretamente pelo pacman e outros só da forma oferecida pela tua explicação?

 

A segunda questão é sobre o método "no osso". É assim que eu fazia para instalar no Gentoo, ainda com alguns links simbólicos a serem integrados para o sistema usar a versão corrente do Python, mas não vem ao caso. Vejo que estás usando o KDE. Acho o KDE bastante completo, porém gostei mais do Gnome 3 e é essa a minha sessão no momento. Não quero instalar muitos pacotes do KDE só por causa do Ark, o qual creio que dê acesso aos arquivos .DEB e .RPM, mas o fato é que no Gnome não estou tendo acesso a esses tipos de arquivos. Devo procurar e instalar as dependências do File Roller diretamento do repositório AUR, como informado para o caso do Folding@Home?

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Zeca Pagodinho

 

Como eu te falei, o pacman está nos oficiais, o AUR não.... assim, tem como habilitar que o pacman busque do aur, mas te confesso que das vezes que tentei não consegui.

 

Quando eu quero, eu uso o yaourt cujo uso é bem parecido com o pacman, mas claro, não usa-se o yaourt em root.

 

O Pacman, se tu instalou em 64bit, tu podes habilitar o multilib, que ainda compila para 64 caso o pacote seja 32.

 

Tu podes compilar no osso, mas com o makepkg fica muito fácil, e podes ver que o folding usa pacote rpm para fazer a compilação. Eu sempre uso o makepkg para kerneis inclusive

 

Uma coisa que te dou de dica: se tu fizeres kerneis, no comando que chama o make nconfig eu sempre altero para "xconfig".

 

quando usei o xconfig normalmente, sempre faltou biblioteca, e simplesmente alterando n por X funcionou em todas as vezes

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

==> ERRO: Não foi possível encontrar o executável strip necessário para remoção símbolos de objetos.

 

Esse é o erro ao tentar rodar o makepkg, então não consegui instalar usando esse método. Não encontrei também qual é o software relacionado a esse arquivo.

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

Problema já resolvido, conforme informações obtidas desse link. O único porém é que acaba instalando uma carrada de arquivos desnecessariamente, já que ele não indica qual é o pacote específico que contém o executável strip. Acho que é do make, mas é só um palpite.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Zeca Pagodinho

 

se não me falha a memória, apenas o base-devel

 

não

https://bbs.archlinux.org/viewtopic.php?id=120913

 

binutils

 

mas... instale o base-devel, que vem junto o binutils

https://wiki.archlinux.org/index.php/Makepkg#Usage

 

veja aqui:

https://www.archlinux.org/packages/core/x86_64/binutils/

 

 

Aqui: uma dica

 

# pacman -S pkgfile

 

 

# pkgfile --update

 

 

$ pkgfile strip
 

e voilá... eis as bibliotecas que disponibilizam o dito cujo

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
pkgfile strip

 

corresponderia ao comando

 

equery belongs strip

 

no Gentoo ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×