Aprenda usar o Debian testing hibrido contrib non-free.

Nessa matéria irei abordar o uso do Debian testing, híbrido com o unstable e o experimental, tendo assim um sistema Rolling Release, além de Upgrade e Downgrade de pacotes.
Matéria exclusiva para entusiastas, não garanto estabilidade para maquinas de produção, apesar de eu usar para esse fim também.





OBS: Isso não deve ser feito no Debian Stable, pelo fato de ter grande chance de quebrar o sistema e por não fazer sentido instalar o Stable e tornar ele instável aos padrões Debian.


O Repositório.


O repositório será "main contrib non-free", com isso você ira ter a disposição todos os pacotes Debian livres e proprietários, além disso ele será híbrido com unstable e experimental, para que você tenha a disposição alguns dos programas em suas versões mais atuais.

Sources.list

Para alterar a sua sources.list, abra o terminal e de os comandos abaixo.

su

nano /etc/apt/sources.list

Apague toda a sources.list aberta no nano e, copie e cole nela as linhas verde abaixo.
Salve com Ctrl + o tecle enter e feche com Ctrl + x

##Debian Testing
deb 
http://deb.debian.org/debian/ testing main contrib non-free

deb-src http://deb.debian.org/debian/ testing main contrib non-free

deb 
http://deb.debian.org/debian/ testing-updates main contrib non-free

deb-src http://deb.debian.org/debian/ testing-updates main contrib non-free


##Debian Unstable
deb 
http://deb.debian.org/debian/ unstable main contrib non-free


##Debian Experimental
deb 
http://deb.debian.org/debian/ experimental main contrib non-free






Apt.conf

De o comando abaixo no terminal.

nano /etc/apt/apt.conf
Copie e cole a linha azul abaixo no nano aberto no terminal.
Salve com Ctrl + o tecle enter e feche com Ctrl + x


APT::Default-Release "testing";




Preferences

De o comando abaixo no terminal.

nano /etc/apt/preferences
Copie e cole as linhas vermelha abaixo no nano aberto no terminal.
Salve com Ctrl + o tecle enter e feche com Ctrl + x


Package: *
Pin: release a=testing
Pin-Priority:500

Package: *
Pin: release a=unstable
Pin-Priority: 50

Package: *
Pin: release a=experimental
Pin-Priority: 50


De o comando abaixo no terminal para atualizar o apt.

apt-get update

Atualizar o sistema.


De o comando abaixo no terminal.

apt full-upgrade

Pronto seu sistema é Debian testing hibrido.

Instalação de programas


Para instalar programas você pode usar o terminal ou algum gerenciador de pacotes, para a instalação de programas do testing.
Para poder instalar pacotes do unstable e experimental, você deve usar o terminal.

Exemplos de instalação de um programa na 3 opções que você tem agora.

Repositório Testing.

apt-get install iceweasel

Repositório Unstable.

apt-get install -t unstable iceweasel

Repositório Experimental.

apt-get install -t experimental iceweasel

Note que para a instalação dos pacotes testing não especificamos a versão do sistema e o apt ira automaticamente usar os espelhos testing.
Diferente disso no Unstable e Experimental, foi especificada a versão do repositório com o -t versão

-t unstable
-t experimental

Portanto toda vez que for instalar algum programa que não seja do testing especifique a versão
-t versão

Usem com moderação os repositórios Unstable e Experimental, abaixo alguns exemplos que que recomendo para cada um deles.

Unstable (Sid)

kernel
ambiente gráfico (pode precisar de dependências do Experimental)
Programas
Ferramentas

Experimental

Programas


Downgrade de pacotes.



Se por algum motivo você instalou um pacote do Experimental e não gostou da versão, pode voltar para uma outra versão, exemplo voltar para o testing.
Instalou o Iceweasel do Experimental ( Mozilla Iceweasel 37.0.2 )

su
apt-cache showpkg iceweasel
No final da saída do terminal vai ter a versão do testing

Provides:
37.0.2-1 - www-browser gnome-www-browser
31.6.0esr-1 - www-browser gnome-www-browser
Reverse Provides:
Para fazer a reversão é como no comando abaixo.

apt-get install iceweasel=31.6.0esr-1
A versão obtida com o apt-cache deve ser acrescentada do sinal de = logo após o nome do pacote.

Veja abaixo que o pacote de linguagem sera removido, instale ele ao final do downgrade.

root@lobo:/home/lobo# apt-get install iceweasel=31.6.0esr-1
Lendo listas de pacotes... Pronto
Construindo árvore de dependências      
Lendo informação de estado... Pronto
Pacotes sugeridos:
  fonts-stix otf-stix fonts-oflb-asana-math fonts-mathjax mozplugger
Os pacotes a seguir serão REMOVIDOS:
  iceweasel-l10n-pt-br
Os pacotes a seguir serão REVERTIDOS:
  iceweasel
0 pacotes atualizados, 0 pacotes novos instalados, 1 revertidos, 1 a serem removidos e 3 não atualizados.
É preciso baixar 31,2 MB de arquivos.
Depois desta operação, 11,1 MB de espaço em disco serão liberados.
Você quer continuar? [S/n] 


root@lobo:/home/lobo# iceweasel -version
Mozilla Iceweasel 31.6.0
root@lobo:/home/lobo#

Downgrade do sistema.

Para fazer o downgrade de todo o sistema, devemos alterar os arquivos da sessão Sources.list da forma abaixo.
 No terminal de os comandos.

su

nano /etc/apt/sources.list
 
Você deve alterar o testing para stable onde estiver marcado de vermelho.

##Debian Testing
deb 
http://deb.debian.org/debian/ testing main contrib non-free
deb-src http://deb.debian.org/debian/ testing main contrib non-free

deb http://security.debian.org/ testing/updates main contrib non-free
deb-src http://security.debian.org/ testing/updates main contrib non-free

deb 
http://deb.debian.org/debian/ testing-updates main contrib non-free
deb-src http://deb.debian.org/debian/ testing-updates main contrib non-free

##Debian Stable
deb 
http://deb.debian.org/debian/ stable main contrib non-free

##Debian Unstable
deb 
http://deb.debian.org/debian/ unstable main contrib non-free

##Debian Experimental
deb 
http://deb.debian.org/debian/ experimental main contrib non-free

Ficando assim a sua sousces.list.

##Debian Testing
deb http://ftp.us.debian.org/debian/ stable main contrib non-free
deb-src http://ftp.us.debian.org/debian/ stable main contrib non-free

deb http://ftp.us.debian.org/debian/ stable-updates main contrib non-free
deb-src http://ftp.us.debian.org/debian/ stable-updates main contrib non-free

##Debian Stable
deb http://ftp.us.debian.org/debian/ stable main contrib non-free

##Debian Unstable
deb http://ftp.us.debian.org/debian/ unstable main contrib non-free

##Debian Experimental
deb http://ftp.us.debian.org/debian/ experimental main contrib non-free



Salve com Ctrl + o tecle enter e feche com Ctrl + x

Apt.conf

De o comando abaixo no terminal.

nano /etc/apt/apt.conf
Altere o testing para stable

APT::Default-Release "testing";


Ficando assim.

APT::Default-Release "stable";

Salve com Ctrl + o tecle enter e feche com Ctrl + x



Preferences

De o comando abaixo no terminal.

nano /etc/apt/preferences
Altere o testing para 50 e o valor do stable para 500


Package: *
Pin: release a=testing
Pin-Priority:500

Package: *
Pin: release a=stable
Pin-Priority: 50

Package: *
Pin: release a=unstable
Pin-Priority: 50

Package: *
Pin: release a=experimental
Pin-Priority: 50

Ficando assim.

Package: *
Pin: release a=testing
Pin-Priority:50

Package: *
Pin: release a=stable
Pin-Priority: 500

Package: *
Pin: release a=unstable
Pin-Priority: 50

Package: *
Pin: release a=experimental
Pin-Priority: 50


Salve com Ctrl + o tecle enter e feche com Ctrl + x

De o comando abaixo no terminal para atualizar o apt.

apt-get update
De o comando abaixo para fazer o downgrade de versão do sistema.
apt full-upgrade

OBS: alguns pacotes podem não ser revertidos, fique atento a saída de terminal do apt full-upgrade, observe também que quanto mais antiga for a versão stable, mais drástico sera o downgrade e pode até não funcionar como esperado.

Donate - Contribua para a melhoria do nosso trabalho!!











Comentários

  1. ola lobo, uma dúvida meio boba, eu não troquei toda a sources.list como esta ai pois queria apenas o debian testing para ter os programas e o gnome shell atualizados, então eu deixei meu sources.list assim

    #

    # deb cdrom:[Debian GNU/Linux 8 _Jessie_ - Official Snapshot amd64 LIVE/INSTALL Binary 20150606-15:28]/ jessie main

    deb cdrom:[Debian GNU/Linux 8 _Jessie_ - Official Snapshot amd64 LIVE/INSTALL Binary 20150606-15:28]/ jessie main

    deb http://security.debian.org/ jessie/updates main
    deb-src http://security.debian.org/ jessie/updates main

    deb http://ftp.br.debian.org/debian testing main contrib non-free
    deb-src http://ftp.br.debian.org/debian testing main contrib non-free

    deb http://security.debian.org/ testing/updates main contrib non-free
    deb-src http://security.debian.org/ testing/updates main contrib non-free

    deb http://ftp.br.debian.org/debian/ testing-updates main contrib non-free
    deb-src http://ftp.br.debian.org/debian/ testing-updates main contrib non-free

    #Multimedia
    deb http://www.deb-multimedia.org jessie main non-free
    deb-src http://www.deb-multimedia.org jessie main non-free

    #BackPorts
    deb http://http.debian.net/debian/ jessie-backports main contrib non-free
    deb http://packages.linuxmint.com/ debian main upstream import

    pode dar algum xabú ? pode dar algum conflito entre estavel e testing ? ou deixa assim que esta certo ?

    ResponderExcluir
    Respostas
    1. Não misture Jessie com testing, isso vai quebrar

      Excluir
    2. Quando o Stretch virar estável terei que remover o unstable e experimental?

      Excluir
  2. Olá Ricardo tudo bem?

    Li na wiki do Debian que os valores do apt-pinning deveriam estar entre 500 e 1000.

    Veja em https://wiki.debian.org/DebianTesting na seção "best pratices for testing users".

    Abraço, obrigado por esse extremamente útil artigo.

    ResponderExcluir
    Respostas
    1. lembre que a wiki é baseada em padrões, teoria. Mas muitas vezes na pratica a teoria é outra. O que aqui está é o que tem menos chances de dar problemas, testado por mim durante os últimos 10 anos, é um padrão criado seguindo relados de vários membros e meus. Mas nada impede de vc seguir a wiki, mas tome cuidado para não fazer salada de frutas ao pinar, a experiencia pode não ser boa.

      Excluir
  3. Uma duvida que surgiu agora com o lançamento do Debian 10, estava utilizando o testing hibrido seguindo sua dica, e agora o que é feito? ele passa a ser o stable ou tem como continuar com a próxima versão do testing automaticamente?

    ResponderExcluir
    Respostas
    1. Se seguiu a minha matéria seu sistema sera eternamente testing, tecnicamente hoje vc já está no desenvolvimento do Debian 11 :)

      Excluir
    2. Imaginei, segui a risca a dica a um ano atras, porem hoje ao realizar update no Debian vem a seguinte mensagem:

      The repository 'http://security.debian.org testing/updates Release' does not have a Release file.
      N: Updating from such a repository can't be done securely, and is therefore disabled by default.
      N: See apt-secure(8) manpage for repository creation and user configuration details.

      e quando dou um cat /etc/debian_version continua como 10.0, seria normal?

      Excluir
    3. Obtive o mesmo problema. Consegui "resolver" ao comentar as linha que tinham security.debian. Via na documentação ao semelhante.

      Excluir
    4. Os repositórios estão sendo reorganizados, ou mudanças devido o novo leader. Testing só estabiliza depois de uns 30 dias do lançamento da stable.

      Excluir
    5. Também tive esse "problema", mas imaginei que fosse algo de organização com a liberação do Testing mesmo.

      Excluir
  4. Estou revendo o tutorial enquanto instalo uma maquina virtual para testes e reparei que, minha maquina principal esta com o testing hibrido a cerca de 1 ano e na época nesse tutorial você indicava inserir o repositório stable na sourcelist para pacotes que não estivessem nos demais repositórios, notei que você removeu esse repositório, o mesmo causou algum problema? devo remover da maquina principal também?

    ResponderExcluir
  5. Lobo, fiz o downgrade do sistema depois de ter deixado meu sistema híbrido conforme seu tutorial, deixando minha sources.list assim:

    ##Debian Testing
    deb http://ftp.us.debian.org/debian/ stable main contrib non-free
    deb-src http://ftp.us.debian.org/debian/ stable main contrib non-free

    deb http://ftp.us.debian.org/debian/ stable-updates main contrib non-free
    deb-src http://ftp.us.debian.org/debian/ stable-updates main contrib non-free

    ##Debian Stable
    deb http://ftp.us.debian.org/debian/ stable main contrib non-free

    ##Debian Unstable
    deb http://ftp.us.debian.org/debian/ unstable main contrib non-free

    ##Debian Experimental
    deb http://ftp.us.debian.org/debian/ experimental main contrib non-free

    No entanto, ao atualizar o sistema acusa que há repositórios duplicados, este no caso:

    deb http://ftp.us.debian.org/debian/ stable main contrib non-free

    Então apaguei as linhas abaixo e atualizou e funcionou o apt full-upgrade:

    ##Debian Stable
    deb http://ftp.us.debian.org/debian/ stable main contrib non-free

    Acha que pode dar algum problema?

    ResponderExcluir
    Respostas
    1. A quantidade de pacotes alterados só podem levar a problemas

      Excluir
  6. Até hoje ajudando o pessoal. Meus parabéns!
    Instalei o code::blocks do repo unstable e mantive toda a base do Debian testing intacta. O que é simplesmente fantástico! O único detalhe é que deixei comentado a linha do experimental no /etc/sources.list, mas como o sudo apt full-upgrade não pediu pra atualizar nada pois o default é o testing, como indicado no artigo, acredito que mudaria pouca coisa ou nada. Prudência nunca é demais
    Enfim obrigado

    ResponderExcluir
    Respostas
    1. Valeu mano, queria instalar o COdeBlocks de maneira nativa (repo) numa distribuição Linux, a maioria só achava em flatpak, acho que voltarei mesmo ao Debian Testing.

      Excluir

Postar um comentário

olá, seja bem vindo ao Linux Dicas e suporte !!

Você precisa ver isso

Todos os arquivos do blog

Mostrar mais