Como o uso dos SNAPS pode beneficiar você

O recurso de empacotamento de aplicativos em conjunto com toda a sua necessária biblioteca, pela Canonical, para uso (inicialmente) no Ubuntu 16.04 LTS se espalhou e se generalizou entre as várias outras distribuições Linux.
Qualquer que seja a sua distro GNU/Linux, desde que seja atual, é possível instalar aplicativos diversos através dos snaps.
laptop and coffee
Ao final do texto, há links para outros posts sobre o uso de snaps em diversas distribuições Linux. Lembre-se de dar uma olhada.
Clique também nos links, no corpo do texto, para se aprofundar mais sobre algum assunto abordado.


O que é um snap?

Um snap é um arquivo zip contendo uma aplicação junto com suas dependências.
O pacote inclui uma descrição de como rodar a aplicação em segurança no seu sistema. A descrição é voltada para o sistema operacional e outros softwares do sistema.
Os pacotes snap são projetados para oferecer mais segurança e isolamento aos programas em relação à estrutura do sistema e à outros programas.
Os snaps permitem uma instalação segura de qualquer software, de qualquer fornecedor e são opções pensadas para dispositivos de missão crítica, por exemplo.
A iniciativa da Canonical, hoje conta com a colaboração de inúmeros desenvolvedores, independente das distribuições que usem — formando uma comunidade em torno do Snapcraft.io.
O trabalho caminha no sentido de prover um mecanismo único para publicar softwares em qualquer ambiente Linux.
Importantes empresas de hardware também estão envolvidas, o que inclui a Dell, Samsung, a System76 etc.

Snaps tem o propósito de funcionar em qualquer lugar, em qualquer distro, em qualquer dispositivo.
São fáceis de instalar e de criar. Além disto, usam recursos de sandboxing que dão mais segurança à sua execução.

Pacotes snaps são complementares aos atuais sistemas de gestão de pacotes

Os atuais sistemas de gestão de pacotes (deb, rpm, yast, pacman, yum, dnf etc.) permitem instalar conjuntos complexos de pacotes de softwares, ocupando o mínimo de espaço e completamente adaptados ao seu sistema.
É inegável que evoluíram, no ambiente Linux, no decorrer dos anos e se encontram a anos-luz de distância dos métodos de instalação de um outro sistema operacional muito popular.
Infelizmente, não podem fazer tudo.
O snaps acrescentam, entre outras coisas, o sandboxing, que é a possibilidade de rodar um programa e toda a sua biblioteca “em separado”. Se algo der errado, o programa pode cair, mas o sistema permanece em pé e intacto.
Para os desenvolvedores, os snaps oferecem conforto e comodidade: empacota uma vez; instala e roda em qualquer distro.

O ecossistema de aplicativos serve a todos

O Ubuntu é uma distro muito popular. Ela se beneficia das dezenas de milhares de opções de softwares que já estão disponíveis para a distro Debian.
Nenhuma outra distribuição Linux tem tantos softwares em seus repositórios.
Com os snaps, todos, independente de distribuição podem baixar e instalar os mesmos pacotes de softwares. Tudo o que se precisa ter é suporte ao snapd.
Ao abandonar o Mir e o Unity, a Canonical está se dedicando a portar o snapd para mais e mais distribuições Linux e aperfeiçoar seu funcionamento dentro do Ubuntu.
Os snaps irão reduzir ainda mais as atuais diferenças entre as distribuições Linux.

Repositório comum: GitHub

O time de desenvolvimento do projeto snapcore, inclui desenvolvedores com ampla gama de interesses, do IoT à infraestrutura de nuvens – dos dispositivos móveis às aplicações desktop.
Os pacotes snap são criados facilmente, por desenvolvedores, com a ferramenta snapcraft.
O Github é o repositório onde os snaps são armazenados e disponibilizados para os usuários.
Os snaps podem ser montados ou construídos a partir de pacotes de distribuições, mas são mais comumente encontrados em código fonte — o que permite mais eficiência de tamanho e otimização de recursos.

Referências

Suporte ao snap no Ubuntu.
Adicione suporte ao snap no Fedora.
Tenha suporte ao snap no OpenSUSE.
https://snapcraft.io.

Conteúdo relacionado pelo Google

Altere o tempo máximo de cada sessão do SUDO

O comando sudo é o que permite a um usuário normal ou ao sysadmin administrar o sistema, sem precisar autenticar como root.
Com o sudo, você executa rapidamente uma tarefa – investido de superpoderes – e volta ao prompt de seu usuário normal em seguida.
Dar acesso a este recurso, pode ser uma forma mais segura de conceder poderes administrativos a usuários normais do seu sistema — sem revelar a senha do root.
Como comportamento padrão, uma sessão do sudo dura 15 minutos. Durante este período de tempo, não é pedido qualquer senha ao usuário.
Se você acredita que este tempo é muito curto ou muito longo, é fácil alterá-lo.

No meu caso, acredito que 5 minutos é tempo suficiente para realizar qualquer tarefa administrativa no sistema.

Quando é necessário executar vários comandos com privilégios administrativos (e que irão demorar mais do que 5 minutos para serem executados), prefiro digitar a minha senha algumas vezes a mais — sem problemas.


Por outro lado, este post ensina a executar vários comandos, em fila, usando o sudo, sem precisar se preocupar com a expiração do tempo. Recomendo a leitura.

Como configurar o tempo de expiração da sessão do sudo

A maneira adequada de ajustar os parâmetros do sudo é através do visudo.

O visudo edita o arquivo sudoers de maneira segura — protegendo-o contra alterações simultâneas e fazendo verificação básica de erros.

Nas grandes distribuições, como Debian e no Ubuntu, o programa irá abrir, por padrão, o editor de textos Nano.
Neste caso, quando terminar a edição, use as combinações de teclas ‘Ctrl-o’ e ‘Ctrl-x’, para gravar e sair do editor.
Se, na sua distro, o editor padrão for o vi ou o vim, tecle ‘Esc’ e, em seguida, ‘:wq’ e ‘Enter’, quando terminar de alterar o sudoers.
Você pode rodar o visudo com o próprio sudo:

sudo visudo

Em seguida, localize a linha (que deve estar no começo):


Defaults        env_reset

e altere-a para


Defaults        env_reset,timestamp_timeout=5

Como eu já disse, prefiro que o valor da minha variável timestamp_timeout seja 5 (minutos). Você deve usar o valor que considerar mais adequado às suas necessidades.
sudo sudoers environment variables

Como evitar que a sessão do sudo expire

Se você precisa que a sua sessão fique ativa indefinidamente (ou pelo menos até você se desautenticar do sistema), use o sudo combinado com as seguintes opções:


sudo -s

[sudo] senha para justincase: 

Outros usuários preferem usar o sudo para logar-se diretamente como root:


sudo su

Em qualquer um dos casos, quando terminar, use ‘exit’ para sair:

root@inspiration:/home/justincase# exit
exit

Conteúdo relacionado pelo Google

Como rodar múltiplos comandos usando o sudo, no Linux e UNIX

Você pode usar uma técnica muito simples, para rodar múltiplos comandos — que precisem de privilégios administrativos.
Se você já sabe como rodar um comando atrás do outro, em fila, como no exemplo abaixo, talvez saiba que, ao fazer isto com o sudo, frequentemente a senha dada “perde a validade”, deixando a sequencia de comandos em espera.
teclado dell
Para rodar uma sequencia de comandos, use o ‘&&’, desta forma:

comando1 &&; comando2 && comando3

Se quiser que eles tenham privilégios de root, em tese, bastaria isso:

sudo comando1 && sudo comando2 && sudo comando3

Depois disto, você vai embora pra casa, tomar um café ou fazer qualquer outra coisa, confiante de que as 3 tarefas serão realizadas, sem interrupção — uma logo após a outra.
O problema, nesta linha de raciocínio, surge quando a gente se lembra que o tempo padrão de “validade” do comando sudo é 15 minutos.
Decorrido este prazo, o sudo volta a pedir a senha do usuário.
Desta forma, transcorridos os 15 minutos, a sua linha de comandos poderá ainda estar parada e sem conclusão — esperando pela senha.
Para evitar esta chatice, rode a sequência com o sudo, usando o interpretador de comandos sh com a opção ‘-c’:

sudo sh -c 'comando1 && comando2'

Com esta formação, você também pode usar o bash, se quiser:

sudo bash -c 'comando1 && comando2'

Pode ser útil usar esta técnica quando se quer deixar o sistema sendo atualizado — tarefa na qual, comumente, se usa 2 comandos (no Debian/Ubuntu):


sudo sh -c 'apt update && apt -y full-upgrade'

O que este comando faz:

  • sudo — como você já sabe, confere superpoderes a tudo o que vem depois, nesta mesma linha de comando.
  • sh — abre uma shell do interpretador de comandos Dash padrão do Linux/Unix.
  • -c — executa os comandos, que seguem entre as aspas.

Ainda, com o comando apt, o exemplo abaixo roda a opção de atualização com os repositórios, antes de instalar um programa:


sudo -- sh -c 'apt update && apt install -y thermald'

Conteúdo relacionado pelo Google

Como e onde baixar o Dell OEM Ubuntu?

Donos de laptops ou desktops da Dell que, originalmente, vieram com o sistema operacional Ubuntu instalado podem precisar obter uma nova cópia da ISO de instalação, seja da versão 14.04 LTS Trusty Tahr, 16.04 LTS Xenial Xerus ou superior.
dell inspiron 14 5000
A recomendação, antes de fazer o unboxing do seu equipamento Dell é separar um flash drive (pendrive) para poder criar um sistema de recuperação, durante a instalação do sistema.
Em alguns casos, o procedimento inicial de instalação não prontifica o usuário para criar um dispositivo externo de recuperação — por que ele já está incluído no próprio HDD.
De qualquer maneira, o problema é que inúmeros incidentes podem acontecer durante a vida útil de um notebook Dell:

  • O flash drive pode se perder, se danificar, alguém gravar por cima do seu conteúdo etc.
  • O HDD ou SSD pode ser danificado ou reparticionado desavisadamente.
  • Muitos usuários não sabem que há diferenças entre o Ubuntu Oficial da Canonical e o Dell OEM Ubuntu. Por isso, reparticionam e formatam o sistema inteiro, logo após o unboxing (eu já fiz isso!), para instalar uma versão mais atual do próprio Ubuntu ou uma outra distro Linux.

Contudo, existe (na maioria das vezes) solução possível para os que desejam voltar à versão original do sistema operacional de seu equipamento, no próprio site da Dell.
As exceções ficam por conta de algumas poucas máquinas que, mesmo com certificação da Canonical, não têm total compatibilidade.
Este é o caso, por exemplo do Dell Inspiron 5448 que possui uma placa gráfica híbrida Intel/AMD que, até o momento, não tem total suporte ao Linux.

Nunca é demais repetir que os problemas de compatibilidade de hardware no Linux se deve aos fabricantes que se recusam a fornecer drivers e/ou especificações para que a própria comunidade os desenvolva.

Como obter a ISO Dell OEM Ubuntu

A imagem ISO, que você precisa, é fornecida pela própria Dell, em seu site.
Vá até a página http://www.dell.com/support/home/us/en/19/Drivers/OSISO/linux e forneça a tag de serviço ou service tag do seu equipamento.
Em laptops, a tag é composta de 7 dígitos/caracteres e costuma ficar na parte debaixo, inscrita em uma pequena etiqueta autoadesiva.
No Linux, é possível obter esta informação com o comando lshw:

sudo lshw | grep -i "serial:"

Se você obtiver a mensagem: “Imagem de recuperação indisponível atualmente” ou “Recovery image currently unavailable“, a alternativa é entrar em contato com o suporte da Dell e solicitar o arquivo.
dell tecnical support message
Também chamada de Dell Hosted Recovery Image (Imagem de Recuperação Armazenada pela Dell) ou, ainda, Dell Linux Recovery Image — contém todos os drivers para os dispositivos componentes da sua plataforma de hardware.
Após baixar a imagem .iso ou .img, use o comando dd para gravá-la no pendrive ou um destes outros métodos.

Conteúdo relacionado pelo Google

Qual a diferença entre o Ubuntu que vem instalado nos equipamentos da DELL e o da Canonical?

A Dell e a Canonical trabalham em conjunto para prover os melhores drivers e a máxima compatibilidade entre seus produtos nos laptops e PCs que vêm com o Ubuntu pré-instalado.
Se você quiser ter certeza de que o seu novo equipamento Dell terá compatibilidade com o Ubuntu da Canonical, antes de comprar, verifique a página de certificações oficial da Canonical, no endereço abaixo:
https://certification.ubuntu.com/certification/make/Dell/
Nesta página da Internet, a Canonical exibe os detalhes de hardware (GPU, HDD/SSD, placa de rede etc.) de cada modelo certificado e sua situação em relação ao Ubuntu.
Acontece que equipamentos Dell, certificados pela Canonical, são vendidos com uma versão customizada do Ubuntu pré-instalado — trata-se de uma versão certificada que, garantidamente, irá funcionar naquele equipamento.
de fazer o que quiser com as coisas que comprou.
Este direito se estende, naturalmente, ao seu computador.

O Ubuntu 16.04 LTS Trusty Tahr, que você pode baixar do site da Canonical, não é “exatamente” o mesmo que vem embarcado nos computadores da Dell.
As diferenças estão nos detalhes da configuração do sistema, no kernel e nos drivers que vêm junto.

Em resumo, há diferenças significantes entre os 2 sistemas operacionais:

  • Ubuntu certificado pela Canonical ou Dell OEM Ubuntu para rodar em equipamentos específicos da Dell.
    A Canonical também certifica e modifica o Ubuntu para a instalação em equipamentos de outras fabricantes — como a HP, IBM, Lenovo, Acer etc.
    Entre as várias configurações específicas, o /etc/apt/sources.list aponta para alguns repositórios da Dell.
  • Ubuntu padrão, que baixamos direto da página oficial da Canonical, com configurações genéricas.
    É possível usá-lo em qualquer equipamento, mas você pode ter que se dedicar bastante para conseguir fazê-lo rodar perfeitamente em seu notebook ou laptop Dell.

Para alguns modelos da Dell, a Canonical claramente adverte que não irão funcionar ou irão funcionar mal com a versão padrão do Ubuntu (ou não-certificada).
Nestes casos, não é recomendado trocar o sistema operacional.

Durante a primeira inicialização dos computadores da Dell, com o Ubuntu, o sistema irá pedir um pendrive para gravar o sistema de recuperação.
Com isso, será possível testar outros sistemas e, se você não ficar satisfeito com as mudanças, sempre poderá voltar ao padrão da fábrica.

Veja a animação da pré-instalação do Ubuntu 14.04 LTS em laptops Dell

Conclusão

É da natureza do usuário do Linux querer sempre mais e não se satisfazer com o básico.
Acredito que você tem o direito de instalar o sistema operacional que quiser em seu computador.
Mas prepare-se para ter um trabalho extra para configurar o seu sistema, caso não queira fazer uso do Ubuntu que veio pré-instalado nele.

Conteúdo relacionado pelo Google