repacman - reempacote um programa no Arch Linux

Publicado por edps em 20/05/2010

[ Hits: 6.527 ]

Blog: https://edpsblog.wordpress.com/

 


repacman - reempacote um programa no Arch Linux



Esse Arch Linux cada vez me surpreendendo mais. No Debian, quando preciso instalar um pacote de uma máquina em outra, e não consta no repositório oficial por estar desatualizado ou por outro motivo, faço uso do dpkg-repack para reempacotar o programa que preciso.

No Arch Linux, onde as atualizações são frequentes, isso também é passível de acontecer. Para que não fiquemos na mão foi criado o programa "repacman". Curioso que sou, ao adicionar o repositório onde encontra-se o yaourt dei uma checada no que ele disponibilizava e achei esta ferramenta bacana.

Para instalar o repacman adicionamos o repositório abaixo no arquivo /etc/pacman.conf:

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

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

E instalamos com:

sudo pacman -S repacman

Ou faremos à maneira clássica:

wget -c http://aur.archlinux.org/packages/repacman/repacman.tar.gz
tar -zxvf repacman.tar.gz
$ cd repacman/
$ sudo makepkg --asroot
$ sudo pacman -U repacman-0.98-1-any.pkg.tar.xz


Utilização:

A sintaxe é pra lá de simples, basta como usuário normal digitar:

repacman nome-do-pacote

Não é tão poderoso quanto o dpkg-repack, onde posso inserir vários pacotes num só comando, mas quebra um galhão.

Um abraço a todos!

Outras dicas deste autor

sources.list complementar para o Debian Squeeze

Xfce 4.8 no Debian Squeeze

Estilos de Bash Prompts

Adicionando temas no Ubuntu Lucid Lynx

XFCE 4.12 no Slackware Current

Leitura recomendada

Instalando Adobe Flash Player no Mozilla ou em outro navegador

Problemas com scripts no GIMP na versão 2.3/futura 2.4

Puxando a sardinha para o Xubuntu

Repositórios extras para Ubuntu 20.10 e distribuições derivadas desta versão

Nagios - Script de instalação para Debian

  

Comentários
[1] Comentário enviado por removido em 20/05/2010 - 19:04h

CORREÇÃO A COMENTÁRIO NA DICA:

Corrigindo o comentário: " Não é tão poderoso quanto o dpkg-repack, onde posso inserir vários pacotes num só comando, ... "

Retifico, dizendo que não só é possível como é muito prático, crie um script com o seguinte conteúdo

Nota 1: no script toda a instalação será reempacotada e todos os arquivos gerados terão o formato .tar.gz, para reinstalar use:

sudo pacman -U nome-do-pacote.tar.gz ou
sudo pacman -U *.tar.gz ### [ainda não testado]

Nota 2: os comentários são opcionais no script, remova-os se desejar.

#!/bin/bash

echo ""
echo "reempacotando os pacotes instalados no Arch Linux"
echo ""

sleep 2

echo "criarei uma pasta chamada repacman no seu diretório $HOME"
echo ""
sleep 2
echo "será gerado um arquivo chamado packages.lst dentro da pasta citada"
echo ""
sleep 2
echo "usarei o xargs e redirecionarei para o repacman!"
echo ""
sleep 2

mkdir repacman
cd repacman/
sudo pacman -Qq > packages.lst && cat $HOME/repacman/packages.lst | xargs -l1 repacman

echo "removerei agora o arquivo packages.lst"
echo ""
sleep 2

rm -f $HOME/repacman/packages.lst

echo "concluído!"
echo ""

exit 0

[2] Comentário enviado por Nilodanx52 em 21/05/2010 - 00:07h

muitooo show cara!!! parebéns!!! num vi isso aki hehe se soubece eu ja teria feito milagres no pc dos outros!!!! aoksaopskokp e tbm usarei o script do caro brother edps pra mandar ver no provavel arch's que instalarei nos pc's daki da cidade kkkkk isso ae viva o linux!!!!

[3] Comentário enviado por landex em 10/06/2010 - 13:32h

Bem legal está dica. Muito Boa...

[4] Comentário enviado por removido em 08/11/2011 - 22:20h

Modifiquei um pouco o script acima, separando os pacotes externos dos pacotes dos repositórios Arch:

#!/bin/bash

echo ""
echo "reempacotamento de pacotes no Arch Linux"
echo ""

sleep 2

echo "criarei um diretório chamada repacman em seu diretório $HOME"
echo ""
sleep 2
echo "dentro deste diretórios serão criados dois subdiretórios (external e repo)"
echo ""
sleep 2
echo "nos quais os arquivos de controle dos nomes dos pacotes serão salvos"
echo ""
sleep 2
echo "a seguir o reempacotamento será iniciado..."
echo ""
sleep 2

mkdir -p repacman/external
mkdir -p repacman/repo
cd repacman/external/
sudo pacman -Qmq > ext-packs.lst && cat $HOME/repacman/external/ext-packs.lst | xargs -l1 repacman
cd ..
cd repo/
sudo pacman -Qq > packages.lst && cat $HOME/repacman/repo/packages.lst | xargs -l1 repacman


echo "removerei agora os arquivos ext-packs.lst e packages.lst"
echo ""
sleep 2

rm -f $HOME/repacman/external/ext-packs.lst
rm -f $HOME/repacman/repo/packages.lst

echo "concluído!"
echo ""

exit 0



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts