repacman - reempacote um programa no Arch Linux

Publicado por edps em 20/05/2010

[ Hits: 6.673 ]

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

QMPlay2 no Devuan, Debian e derivados

Xfce 4.8 no Debian Squeeze

Instalando e alterando o tema do Plymouth no Debian

Fontes para Conky

Kernel 3.19.3-smp no Slackware Current

Leitura recomendada

Instalando Mint Stick no Debian 11

Como atualizar o Oh My ZSH quando dá erro na ação

Instalar Skype no Ubuntu Linux 8.04

Debugando a ACLs do Squid

Blog e repositório de pacotes deb para amd64

  

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