sábado, 27 de agosto de 2016

Adicionando repositórios PPA no Debian 8 Jessie


Para fazer uso dos respositórios PPA no Debian, é bem simples. Inicialmente iremos adicionar um script nos nossos binários que irá 'emular' o comportamento do add-repository nativo do Ubuntu.

Esse script já era bem antigo na internet, porém eu tomei a liberdade de pegar uma dessas 'versões de fórum e dar uma customizada. Essa versão pode ser encontrada no meu Github. Vou mostrar como fazer manualmente, pra você ter a certeza do que está acontecendo, e depois um simple install que eu fiz pra automatizar esse trabalho.

Github do projeto: https://github.com/msfidelis/PPA-Repository-Debian

Instalando o script manualmente

Abaixo temos o script que vai fazer essa conversão pra gente. Basta copiá-lo e colar num arquivo chamado add-apt-repository.sh
 #!/bin/bash  
   
 if [ $# -eq 1 ]   
     NM=`uname -a && date`  
     NAME=`echo $NM | md5sum | cut -f1 -d" "`  
 then  
     ppa_name=`echo "$1" | cut -d":" -f2 -s`  
   
 if [ -z "$ppa_name" ]  
 then  
     echo "PPA name not found"  
     echo "Utility to add PPA repositories in your debian machine"  
     echo "$0 ppa:user/ppa-name"  
 else  
     echo "$ppa_name"  
     echo "deb http://ppa.launchpad.net/$ppa_name/ubuntu lucid main" >> /etc/apt/sources.list  
     apt-get update >> /dev/null 2> /tmp/${NAME}_apt_add_key.txt  
     key=`cat /tmp/${NAME}_apt_add_key.txt | cut -d":" -f6 | cut -d" " -f3`  
     apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $key  
     rm -rf /tmp/${NAME}_apt_add_key.txt  
 fi  
 else  
     echo "Utility to add PPA repositories in your debian machine"  
     echo "$0 ppa:user/ppa-name"  
 fi  
   

Após copiar criar o arquivo, vamos dar permissão para o mesmo e colocá-lo dentro da pasta /usr/sbin com o nome de add-apt-repository
 # chmod +x add-apt-repository.sh   
 # mv add-apt-repository.sh /usr/sbin/add-apt-repository  

Instalando o script via pacote do Github 

Coloquei todo esse conteúdo no Git com um script mais simples ainda de instalação. Coisa bem besta mesmo, mas que automatiza um certo tempo aí. Primeiramente vamos fazer o clone do projeto e em seguida rodar o script install.sh dentro dele. Ele vai automatizar todo esse processo manual pra gente.
 # git clone https://github.com/msfidelis/PPA-Repository-Debian.git  
 # cd PPA-Repository-Debian/  
 # chmod +x install.sh  
 # ./install.sh  


Adicionando repositórios PPA 

O script basicamente abstrai o nome do repositório informado e adiciona ele no sources.list da maquina. Nada de especial, então basicamente precisamos informar eles da mesma forma que fazemos no Ubuntu.
 # sudo add-apt-repository ppa:ppa-name  

Espero ter ajudado :)




SOBRE O AUTOR

Matheus Fidelis

http://msfidelis.github.io/

Power Ranger, Piloto de Helicópteros e Astronauta da NASA. Desenvolvedor Web PHP com foco em Backend e POO, Linux SysAdmin DevOps e Entusiasta Python. Criou esse site pra contribuir com a comunidade com coisas que aprende dentro de um setor maluco de TI :)

3 comentários:

  1. Caro amigo não deveria ser apt-add-repository ? no seu esta trocado.

    ResponderExcluir
  2. Também me retorna esse erro

    $ sudo apt-add-repository ppa:dolphin-emu/ppa
    dolphin-emu/ppa
    Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.DDMZnkoLbn --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-jessie-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-jessie-security-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-jessie-stable.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-squeeze-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-squeeze-stable.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-wheezy-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-wheezy-stable.gpg --keyserver keyserver.ubuntu.com --recv-keys

    ResponderExcluir

 
Nanoshots | Open Source Security, Linux e Tutoriais © 2015 - Designed by Templateism.com