repacman - reempacote um programa no Arch Linux
Dica publicada em Linux / Software
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:
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!
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
[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!
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