Como atualizar o kernel do Debian, dentro dos limites da segurança

Para quem usa o Debian Stable, pode ser chato ter que lidar com um kernel 4.x, na série inicial, enquanto os amigos já estão usando a série 4.x ou, até mesmo a 5.x.
Por outro lado, você também não quer abrir mão da segurança e da estabilidade do seu sistema.

Quem quer usar aplicativos mais atuais, não deveria usar o Debian Stable, que é tem a proposta de oferecer um ambiente seguro e estável para seus usuários.

Nestes casos, é possível que o Debian Testing ou o Debian Unstable ofereça uma relação entre a estabilidade e a atualidade de seus pacotes de softwares mais interessante.
O Ubuntu também é uma boa opção de sistema operacional GNU/Linux com softwares bem atualizados — e é baseado no Debian Testing.
O Debian Testing é conhecido por oferecer um conjunto de softwares mais atuais, sem abrir (muito) mão da estabilidade.
Com o uso dos backports, é possível ter no seu sistema a mesma versão do kernel, que virá embarcada na próxima versão estável do Debian.
Neste texto, vou mostrar como realizar fácil este procedimento.
Se quiser saber mais sobre algum assunto, clique nos links do post. 😉

Como obter a nova versão do kernel

Comece pela instalação dos backports. Uma maneira bem simplificada de fazer isto, segue abaixo:


echo -e "\n\n# Backports repository\ndeb http://http.debian.net/debian stretch-backports main contrib non-free\n" >> /etc/apt/sources.list

No exemplo, demos o comando adequado ao Debian 9 Stretch, lançado em 2017 e com uma expectativa de suporte (já que é LTS) até 2022.
Se ainda tiver dúvidas, leia o post sobre Como instalar os backports no Debian.
Agora sincronize os repositórios:


apt update 

Só pra lembrar, estes procedimentos requerem privilégios administrativos.
Após o update, já é possível ver as novas versões do kernel disponíveis para instalação no seu sistema:


apt search linux-headers

Adeque o comando, abaixo, à sua opção:


apt install linux-image-4.6.0-1-grsec-686-pae linux-headers-4.6.0-1-grsec-686-pae

Fácil, não é?

Como preservar a integridade e a estabilidade da sua instalação Debian.

O Debian é um sistema operacional conhecido por ser robusto e confiável.
Mesmo com a fama de ser estável e rápido, ainda pode ser fácil para usuários (novos ou experientes) estragar tudo — a ponto, às vezes, de que ter reinstalar todo o sistema.
Este post é baseado no documento dontbreakdebian e na minha experiência pessoal.
Debian girl mini
Segue uma lista de erros comuns cometidos por usuários do sistema, que podem levar a quebrar a sua confiabilidade.
Alguns dos procedimentos, relacionados aqui, podem ser feitos com segurança — mas você poderá precisar de alguma experiência extra para saber como resolver as coisas, quando derem errado.
Toque nos links, no decorrer do texto ou ao final, para se aprofundar nos temas abordados.

Alguns erros podem não ter consequências imediatas. Podem, por exemplo, tornar impossível atualizar o seu sistema futuramente — o que vai te obrigar a reinstalá-lo, se quiser realizar as atualizações de software e de segurança.

A importância dos repositórios para a segurança do seu sistema

Esta dica vale para todas as distribuições GNU/Linux.
Se você veio do Ubuntu ou de outra distro, provavelmente já sabe disso.
Em outros sistemas operacionais, existe uma cultura de procurar seus aplicativos de sites na Internet. Este é um péssimo hábito.
No GNU/Linux (vamos incluir o Android neste tópico) os usuários devem fazer o download do repositório central. E cada distro tem seu repositório.
O Debian conta com mais de 40 mil pacotes de softwares em seu repositório central.
Os pacotes incluídos no repositório oficial Debian são conhecidos por funcionar bem e, se estão lá, é por que foram testados.

Sempre que for possível, use apenas aplicativos que você possa instalar a partir do repositório oficial Debian.
Assim, você estará mais seguro contra falhas e possíveis malwares, entre outras contaminações possíveis, a que estão expostos os usuários de outros sistemas, que baixam seus aplicativos de sites não oficiais.

Não crie um FrankenDebian

O termo FrankenDebian é bastante comum, para descrever o resultado de alguns erros cometidos por usuários do canal do Debian Stable.
Para evitar esta situação, não combine o Stable com outras versões do Debian.

Não tente instalar softwares que não estejam disponíveis dentro do repositório do Debian Stable.

É uma má ideia tentar adicionar repositórios de outras versões.
Este erro não trará consequências imediatas, mas poderá impedir que você realize atualizações no futuro.
O que ocorre, é que as versões de cada pacote de software é testada para ser compatível com as versões dos outros aplicativos, que fazem parte da mesma versão de sistema.
Ao instalar um pacote do repositório testing, várias bibliotecas (das quais outros aplicativos, no seu sistema, dependem) podem ser atualizadas como consequência — o que pode acarretar instabilidade.
Isto resulta em um sistema que “não é nem Wheezy, nem Jessie, mas uma mistura quebrada entre os dois”.
Estes são os repositórios que podem “ajudar você” a criar um FrankenDebian, se usados com o Debian Stable:

  1. Debian testing release (na data deste post, chamado de Stretch)
  2. Debian unstable release (Conhecido como sid)
  3. Repositórios do Ubuntu, do Mint ou de outras distribuições derivadas do Debian, não são compatíveis
  4. As famosas PPAs do Ubuntu

frankendebian

Não use os scripts de instalação dos fabricantes de placas gráficas

O Debian já inclui drivers de código aberto e livre, com suporte a maioria das placas gráficas.
Os drivers livres (Free) oferecem a melhor integração entre a GPU e o restante do sistema Debian — e funcionam absolutamente bem para a maioria dos usuários.
Se você realmente precisa usar drivers proprietários, de código fechado, não os baixe diretamente do site do fabricante!
O problema desta abordagem é que o driver baixado só funcionará para versão atual do seu kernel. Na próxima atualização do kernel, o seu driver deixará de funcionar, até que seja manualmente reinstalado.
Felizmente, há um jeito apropriado para instalar drivers de vídeo proprietários, com o uso dos pacotes disponíveis no repositório.

Fazer a instalação de drivers, de acordo com o Debian way, garante que eles funcionem, mesmo após as atualizações do kernel.

Segue os sites explicativos, de cada plataforma de GPU:

  • AtiHowTo — contém instruções para usar os drivers de código livre e aberto para placas de vídeo ATI/AMD.
  • ATIProprietary — contém instruções para instalar drivers AMD/ATI proprietários e de código fechado via Debian way.
  • NvidiaGraphicsDrivers — contém instruções para instalar os drivers proprietários da Nvidia via Debian way.

Cure-se da síndrome de novidade a qualquer custo

A razão pela qual o Debian Stable é tão confiável é o fato de que seu software é submetido a extensas baterias de testes. Os aplicativos são corrigidos (bug-fixed) antes de serem incluídos na distribuição.
Isto significa que as versões mais recentes do software comumente não estão disponíveis nos repositórios Stable — mas isto não significa que os aplicativos estão velhos demais para serem úteis!
Para os casos em que realmente houver recursos novos, dos quais você necessita para realizar o seu trabalho do dia a dia, o Debian provê meios de obter versões mais novas/atualizadas do seu aplicativo.
Antes de tentar instalar alguma versão mais nova de algum programa, de algum lugar diferente do repositório Stable, tenha em mente os seguinte problemas:

  • A simples comparação entre os “números das versões”, não é a melhor forma de se julgar a qualidade dos softwares ou qual deles é o melhor.
  • A última versão do software que você deseja instalar, possivelmente, terá novos bugs.
  • Instalar softwares de fora dos repositórios oficiais, pode deixá-lo de fora das atualizações de segurança.

A melhor forma de obter versões mais novas do seu software favorito é através dos backports. Leia mais sobre o assunto, neste link.
Usuários avançados podem criar seus próprios backports para os últimos lançamentos.
A prática do self-backporting, ou seja, fazer seus próprios backports traz os riscos de que já falamos. Ainda assim, costuma ser uma prática mais segura que as outras formas de instalação.

Se você realmente precisa colocar em risco toda a situação de estabilidade do sistema, por que não considera a possibilidade de migrar para o Debian Testing ou Unstable?
Estes são os caminhos mais lógicos, caso você precise usar versões mais atuais de mais do que 1 ou 2 aplicativos.

debian sid unstable badge

Não use o método make install

Já mostrei o quanto é fácil baixar e compilar código fonte de aplicativos.
O problema deste método de instalação é que nem sempre será fácil remover o aplicativo instalado, posteriormente.
Pelo menos, não será possível removê-los com o apt.
Se você está seguindo instruções de instalação de algum site, verifique se as instruções também cobrem a desinstalação.
Softwares instalados desta forma tẽm as seguintes desvantagens:

  1. Pode não ser possível desinstalar depois.
  2. Pode conflitar com bibliotecas ou programas já presentes no sistema.
  3. Não podem ser atualizados junto com o restante do seu sistema. Ou seja, você precisará verificar por conta própria se há atualizações e fazê-las manualmente.

Como evitar problemas com este método

Esta abordagem, usualmente, envolve os comandos
./configure && make && make install
O script ‘make install’ pode fazer “suposições” inválidas sobre o local onde os binários pós-compilação, bem como seus arquivos associados, devem ficar, no sistema de arquivos.
Pode, também, não saber quais as permissões adequadas para o programa.

Softwares instalados com privilégios excessivos, podem causar erros e perda de dados em seu sistema.

Para evitar estes problemas, quando estiver construindo seus softwares a partir de fontes externas, é uma boa idéia fazer isto sempre como usuário normal. Não use o sudo.
Assim os aplicativos são instalados no seu próprio ‘home’ — onde podem ser executados, sem afetar o restante do sistema.
Quase sempre, é possível passar o parâmetro de instalar o aplicativo final no seu /home usando o script
./configure --prefix ~/.local
Usar a hierarquia de diretórios /usr/local/ para instalar softwares desempacotados é uma boa opção.
Você pode evitar o uso do script ‘make install’ com o uso do CheckInstall — entre outras coisas, ele gera um pacote .deb, que torna a administração do programa mais fácil e segura.
O checkinstall pode ser usado para criar pacotes RPM e compatíveis com o Slackware, também — Leia mais aqui.

Não siga instruções aleatórias cegamente

Muitas instruções, encontradas em sites de tutoriais funcionaram para a pessoa que as está relatando. Procure entender melhor quais as consequências do procedimento, antes de o implementar.
Leia um pouco mais e desconfie de soluções excessivamente fáceis. Leia mais de um tutorial sobre o assunto e compare as diferenças entre eles.
É melhor investir seu tempo aprendendo sobre o procedimento correto do que gastá-lo consertando um sistema quebrado depois.

Não execute comandos no seu sistema, sem entender exatamente o que eles fazem.

Outro cuidado a ter com os tutoriais de blogs e posts em fóruns é com a data da postagem. O que era seguro e funcional, há 2 anos atrás, pode não ser mais agora. Procedimentos executados em uma versão do Debian, podem não ser adequados a outra.
Não tenha preguiça de sempre ler um pouco mais.
powered by Debian badge

Cuidados ao remover aplicativos

É necessário ter alguns cuidados ao remover softwares do seu sistema.
Às vezes, para remover um determinado pacote, o gestor precisa remover outros também.
Isto ocorre quando os pacotes adicionais, dependem daqueles que você está tentando remover.
Nestes casos, o gerenciador de pacotes irá te avisar e exibir uma lista de tudo o que será removido. Ele não seguirá em frente, sem confirmação.

Certifique-se de ler atenciosamente as mensagens do sistema, antes de sair “apertando” Sim ou Não.

Faça anotações

Anotar o que você está fazendo, passo a passo, durante todo o procedimento, pode ajudar a entender exatamente o que deu errado, depois.
Às vezes, ao tentar diferentes abordagens em relação a um problema, fica difícil saber, mais tarde, qual foi a correta.
Anote os ajustes à medida em que os vai fazendo.
Ao alterar arquivos de configurações, use # comentários para tornar mais fácil entender o que foi feito.
Inclua nos comentários, as razões das alterações e a data em que foram realizadas.
Faça backup dos arquivos de configuração, antes de alterá-los.

Seja educado, quando for procurar ajuda de outras pessoas

Quando for pedir ajuda, lembre-se que você está usando o tempo de outras pessoas. O Debian é um projeto voluntário.
As pessoas estarão mais propensas a te ajudar, se você demonstrar interesse e for gentil.
Siga os seguintes conselhos, quando for pedir ajuda:

  • Pesquise, antecipadamente, o problema por conta própria, antes de pedir ajuda.
  • Dẽ detalhes sobre o problema e sobre o que você já tentou fazer. Capriche no português (não obrigue as pessoas a tentar interpretar o que você quer).
  • Não desconte suas frustrações nas pessoas que voluntariamente estão tentando te ajudar.
  • Não espere ser tratado como um bebê. Se você sente que precisa ser guiado passo a passo, isto é sinal de que ainda precisa ler mais sobre o assunto. Neste caso, é polido pedir dicas de documentação a ser lida.
    Volte mais tarde, se ainda não estiver conseguindo resolver.
  • No IRC, evite ficar teclando Enter a cada palavra e aguarde um pouco, para obter respostas.
  • Se for postar código, use o site http://paste.debian.net/.

Por fim, não se esqueça de dar de volta o que recebeu.
Se resolveu o problema, volte para agradecer e contar como resolveu, e contar qual procedimento teve efeito para solucionar a sua situação.

Referências

Fonte: https://wiki.debian.org/DontBreakDebian
Imagem do “Frankendebian”: http://forums.debian.net/viewtopic.php?f=6&t=121841.

Como fazer upgrade do kernel no Debian

A maneira mais fácil e segura de instalar uma nova versão do kernel GNU/LINUX no Debian é verificar se existe uma versão nova nos repositórios oficiais da sua distribuição e, se houver, baixar e fazer a instalação automática.
Neste post, vou demonstrar o processo no Debian 8.2 “Jessie” — configurado para usar os backports.
powered by Debian badge
É importante observar que algumas versões mais novas não terão o mesmo suporte da versão atual do kernel e nem a mesma frequência nas atualizações de segurança.
Este procedimento não é recomendado para máquinas de trabalho, servidores etc.

Como verificar o kernel atual e as versões disponíveis para instalação na sua máquina

Para verificar a versão atual do seu kernel, use o comando uname:

uname -r
3.16.0-4-amd64

Para verificar as versões disponíveis para você baixar nos repositório, use o apt-cache ou o aptitude:

sudo aptitude update
aptitude search linux-image
i A linux-image-3.16.0-4-amd64                       - Linux 3.16 for 64-bit PCs                                 
p   linux-image-3.16.0-4-amd64-dbg                   - Debugging symbols for Linux 3.16.0-4-amd64                
p   linux-image-4.2.0-0.bpo.1-amd64                  - Linux 4.2 for 64-bit PCs                                  
p   linux-image-4.2.0-0.bpo.1-amd64-dbg              - Debugging symbols for Linux 4.2.0-0.bpo.1-amd64           
i   linux-image-amd64                                - Linux para computadores de 64 bits (meta-pacote)          
p   linux-image-amd64-dbg                            - Debugging symbols for Linux amd64 configuration (meta-package)

O que se vê é que (no meu caso) há 2 versões do kernel disponível: Linux 3.16 for 64-bit (já instalada) e Linux 4.2 for 64-bit (disponível nos backports).
Já que uma já se encontra instalada, só há uma opção no meu caso (linux-image-4.2.0-0.bpo.1-amd64):

sudo aptitude install linux-image-4.2.0-0.bpo.1-amd64

Ao fim da instalação, você já pode reiniciar o sistema para usar o novo kernel.

Conclusão

Use novamente o comando uname, para ver qual kernel está em uso na sua máquina, agora:

uname -r
4.2.0-0.bpo.1-amd64

Vale lembrar que o GRUB, na inicialização, vai mostrar um menu de opções permitindo que você prossiga com o kernel anterior, caso não fique satisfeito com a nova versão.
Neste caso, é possível desinstalar o kernel novo com o seguinte comando:

sudo aptitude remove linux-image-4.2.0-0.bpo.1-amd64

Alternativamente, é possivel remover o antigo (mas não recomendado). Deixe-o lá. Nunca se sabe… :p

Instale a versão mais atualizada do navegador Iceweasel (Firefox) no Debian a partir dos backports

A partir dos backports do Debian, é possível adiantar uma geração da distro para alguns pacotes de software específicos — e, assim, você pode usar uma versão mais atual do seu aplicativo favorito, sem necessariamente, fazer um upgrade de toda a distro.
Configurar o Debian para incluir um repositório de backports é muito fácil e já foi explicado aqui (dê uma olhada!).
Neste texto, vou mostrar o procedimento para baixar o Iceweasel Beta (Firefox Beta), dos backports oficiais Debian/Mozilla.
Iceweqsel official logo

Como configurar e instalar o Iceweasel Beta no Debian

A equipe de desenvolvedores Debian Mozilla disponibiliza várias versões de alguns pacotes relacionados ao Mozilla para uso nos diferentes sistemas Debian.
As instruções, que seguem, mostram como instalar a versão Iceweasel Beta (equivalente ao Firefox Beta) no Debian 8.x Jessie.
Se quiser checar, antes, a versão instalada do Iceweasel, use este comando:

iceweasel --version
Mozilla Iceweasel 38.4.0

Para dar início ao processo, adicione ao sources.list a seguinte linha: deb http://mozilla.debian.net/ jessie-backports iceweasel-beta.
Veja como:

cp /etc/apt/sources.list /etc/apt/sources.list.backup-2015-11-15 # backup para o caso de querer voltar atrás...
echo "deb http://mozilla.debian.net/ jessie-backports iceweasel-beta" >> /etc/apt/sources.list

Só pra lembrar, estes comandos precisam ser executados com privilégios administrativos.
A seguir, baixe e instale a chave pública da Mozilla Foundation:

wget http://mozilla.debian.net/pkg-mozilla-archive-keyring_1.1_all.deb
dpkg --install pkg-mozilla-archive-keyring_1.1_all.deb
gpg --check-sigs --fingerprint --keyring /etc/apt/trusted.gpg.d/pkg-mozilla-archive-keyring.gpg --keyring /usr/share/keyrings/debian-keyring.gpg pkg-mozilla-maintainers

Enfim, atualize a sua distro em relação aos repositórios e faça o upgrade do Iceweasel:

apt update
apt install -t jessie-backports iceweasel
iceweasel --version
Mozilla Iceweasel 42.0

Iceweasel help software version
Com esta atualização, você estará com o navegador Firefox Beta, instalado no seu sistema — apenas o nome e o logo são diferentes. O código é o mesmo.

Referências

Como configurar o Debian para backports: https://elias.praciano.com/2015/11/use-as-versoes-mais-novas-de-seus-programas-favoritos-com-os-backports-no-debian/
Debian Mozilla Team: http://mozilla.debian.net/.
As várias versões do Firefox: Stable, Beta, Aurora.

Use as versões mais novas de seus programas favoritos com os backports no Debian

Se você está rodando a versão estável do Debian, é por que prefere um ambiente seguro contra falhas, em detrimento de usar as versões mais avançadas dos seus softwares preferidos.
Tudo funciona bem, mas você sente que poderia se beneficiar de alguns recursos mais avançados, que só foram incluídos nas versões mais atualizadas de alguns aplicativos — mesmo que estes não sejam estáveis.
Uma das soluções é instalar a versão unstable ou testing do Debian, onde estão as versões mais novas dos seus aplicativos. — Mas, aí, você perde o argumento da estabilidade.
É para estes casos que existem os backports do Debian.
powered by Debian badge
Os backports são pacotes recompilados do canal de desenvolvimento testing e, em alguns casos, do canal unstable — para rodar sem as novas bibliotecas, onde for possível, dentro da distro stable.

A recomendação é ser conservador para escolher os softwares que você deseja manter atualizados “no limite”.

Neste texto, vou mostrar como configurar o recurso através da linha de comando — que é quase sempre o modo mais fácil e rápido, embora não seja muito bonito pra maioria das pessoas.
Para escrever este post, estou usando o Debian 8.2 “Jessie”, cuja fonte de backports é o Debian 9.0 “Stretch”. Procure adequar os procedimentos à versão da sua distro.
Se ainda restarem dúvidas, dê uma olhada nos links contidos neste texto e ao final, para obter mais informações.

Como configurar os backports

Segue o procedimento para incluir uma linha ao ‘sources.list’ (a começar pelo backup):

su -c 'cp /etc/apt/sources.list /etc/apt/sources.list.backup-2015-11-14'
su -c 'nano /etc/apt/sources.list'

Forneça a senha do root e adicione as seguintes linhas ao final do arquivo:

# Backports repository
deb http://http.debian.net/debian jessie-backports main contrib non-free

Agora, atualize os repositórios:

su -c 'apt update'

Como instalar um pacote de softwares do repositório backports

O repositório backports estará desabilitado — como procedimento padrão de segurança.
Para pesquisar dentro deste repositório ou instalar pacotes de softwares backported ou “backportados”, é necessário indicar explicitamente o seu desejo.
Veja um exemplo:

aptitude -t jessie-backports install nome-do-pacote

A opção ‘-t’ especifica que o jessie-backports é a versão alvo.
Com este comando, uma versão mais atualizada do nome-do-pacote será instalada, no lugar da versão padrão do Debian stablese houver uma disponível, claro.

Referências

Wiki Debian: https://wiki.debian.org/Backports.
Relação de pacotes do Jessie backports: https://packages.debian.org/jessie-backports/.