Instale o suporte ao snap no Debian, ainda hoje.

Se você não tem qualquer justificativa para não usar o recurso de instalação simplificada de softwares, proporcionado pelo SNAP, da Canonical, então por que não o instala?

Tradicionalmente, os softwares são disponibilizados em pacotes, nas distribuições GNU/Linux.
Geralmente, eles mantém registro de todos os outros softwares de que dependem — ou seja, ao instalar um pacote, este irá verificar se o sistema atual já tem os softwares e bibliotecas necessárias para o seu funcionamento.
Se não tiver, o gerenciador de pacotes vai avisar que precisa instalar também o software ou a biblioteca A, B, C etc. para que o novo pacote de softwares possa funcionar adequadamente.

Este processo funciona muito bem, mas os desenvolvedores de softwares para Linux, imaginaram que poderia fazer melhor ainda.
O sistema de empacotamento SNAPD e FLATPAK (vou escrever esses nomes em minúsculas, daqui para frente) oferecem uma metodologia de empacotamento diferente.
Resumidamente, os snapd ou flatpak empacotam todo o “software satélite” necessário para o funcionamento do programa principal, dentro das versões em que os desenvolvedores previram que iriam funcionar.
Todos os componentes de sistema também são empacotados — exceto os mais básicos, como os que permitem acesso a rede entre outros recursos inerentes ao sistema operacional.

Além disto os snaps são imagens de apenas leitura (read only) e trabalham em áreas seguras, isoladas de outros snaps — o que não quer dizer que não possam interagir. Só que mantém a independência.

Os snaps podem ser baixados e adquiridos de uma loja central ou repositório — um conceito com o qual você já deve estar acostumado, se já usa o Linux há algum tempo.

Aliás, do ponto de vista do uso, os snaps não diferem muito do que você já faz com o apt (Debian e Ubuntu) ou com o dnf (Fedora), para citar alguns poucos exemplos de gestores de pacotes.

Você simplesmente instala e desinstala da mesma forma que já fazia.

Não existe conflito ao continuar a usar o método de instalação atual com o que já está acostumado (e que continua a ser o mais indicado) e, quando entender que é mais vantajoso, usa o snap (ou o flatpak).

Neste post vou mostrar como instalar o snapd — um ambiente de gestão que cuida da instalação e da atualização dos seus snaps, com o uso do sistema transacional, bem como da coleta de lixo (garbage collection) de versões antigas de snaps.

O sistema de snaps é uma criação do pessoal do desenvolvimento da Canonical, com o objetivo de tornar os sistema de gestão de softwares ainda mais simples e seguro.

Como instalar o snapd

Uma vez que se trata de “uma cria” da Canonical, quem usa Ubuntu, não precisa se preocupar — por que ele já vem instalado e pronto para usar.
Se você usa o Debian (como eu!), precisa apenas instalar o snapd, assim:


sudo apt install snapd

A partir daí já é possível instalar os snaps que quiser.

Fica a recomendação para continuar a usar o apt normalmente para gerenciar seus softwares e usar o snapd para instalar versões mais novas ou específicas ou, ainda, exclusivas de programas.

Após a instalação, você pode buscar na loja (ainda no terminal) os programas, através de palavras-chave. Veja uma pesquisa por jogos:


sudo snap search game

Name                               Version                     Developer           Notes    Summary
node-games                         0+git.de4e610-dirty         m4sk1n              -        Three fun console games written using Node.
gamecake                           V18.302+git6.615ed9d-dirty  xriss               -        a single exe cross platform game engine
mahjong-game                       1.0                         1bsyl               -        Mahjong game, a one-player game. Based on SDL2
game-2048                          1                           dholbach            -        2048 puzzle game
sudoku-game                        1.0                         1bsyl               -        Sudoku 9x9 game
pingus-game                        0.1                         larryprice          -        Free Lemmings(TM) clone
qt-2048-snap                       1                           keshavnrj           -        Single-player puzzle game.
collision                          2.0.0-2                     brunonova  

...

A lista, acima, está resumida. Na realidade, ele é bem maior.
Você também pode fazer o mesmo procedimento com o comando ‘find’:


sudo snap find game

Para instalar um pacote de softwares (snap), use o comando ‘install’, seguido do nome do snap:


sudo snap install quake-shareware

Download snap "core" (4486) from channel "stable"             21% 3.19MB/s 22.5s
quake-shareware 0.3 from 'njmcphail' installed

… e para remover, use o ‘remove’:


sudo snap remove quake-shareware

snap store

Você pode encontrar loja online, aqui.

wolfendoom: baldes of agony

Foi fácil, não é?
Leia muito mais sobre os snaps, aqui.

Já pensou em usar a versão unstable do Debian?! Veja como é fácil.

A versão instável ou unstable do Debian, também chamada de Sid, pode ser instalada agora mesmo, se você quiser.
Trata-se da versão que sucede à testing.
girl in sid shirt
Antes de continuar, recomendo a leitura do texto 5 razões para não chamar o debian unstable de instável. Daqui pra frente, vou entender que você conhece os pros e contras de usar esta versão.
Este post complementa o artigo Como baixar e instalar o Debian Unstable.
Neste artigo, vou mostrar como fazer a atualização de uma maneira mais simples, apenas com a edição do sources.list — sem precisar baixar um arquivo grande e gravar seu conteúdo em um pendrive ou DVD.

O procedimento de passar a atualizar o sources.list a partir de outro canal de desenvolvimento pode acarretar na instabilidade do seu sistema. Leia os artigos sugeridos nos links, para entender melhor em que terreno você está pisando.

Como atualizar o Debian para o unstable através do sources.list

captura de tela do terminal
Para passar a usar outro canal de repositórios para atualizar o seu sistema, basta alterar o arquivo “/etc/apt/sources.list”.
Eu demonstrei uma maneira muito simples e prática de se fazer isto neste artigo.
Comece por fazer um backup do arquivo:


cp /etc/apt/sources.list ~/sources.list.original

Em seguida substitua o conteúdo do arquivo por este:


#------------------------------------------#
# Repositórios oficiais do DEBIAN
#------------------------------------------#

###### Repos principais do Debian
deb http://ftp.br.debian.org/debian/ unstable main contrib non-free
deb-src http://ftp.br.debian.org/debian/ unstable main contrib non-free

#------------------------------------#
# Repositórios não-oficiais
#       (opcional)
#------------------------------------#

###### Repositórios de binários de terceiros 
###Debian Multimedia
deb http://www.deb-multimedia.org unstable main non-free

Note que não é necessário acrescentar a parte opcional do texto acima, a menos que você queira usar os mais novos softwares voltados para multimídia no Debian.
Neste caso, vai ser necessário, adquirir a chave GPG deste repo:


sudo apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys 5C808C2B65558117

Aguarde alguns segundos (ele pode ser um pouco demorado para concluir).
Em seguida, sincronize o seu cache com os repositórios novos:


sudo apt update

Atingido:1 http://ftp.br.debian.org/debian unstable InRelease            
Obter:2 http://www.deb-multimedia.org unstable InRelease [22,2 kB]       
Obter:3 http://www.deb-multimedia.org unstable/main amd64 Packages [140 kB]
Obter:4 http://www.deb-multimedia.org unstable/main Translation-en [57,3 kB]
Obter:5 http://www.deb-multimedia.org unstable/non-free amd64 Packages [1.960 B]
Obter:6 http://www.deb-multimedia.org unstable/non-free Translation-en [1.154 B]
Baixados 223 kB em 11s (18,9 kB/s)                           
Lendo listas de pacotes... Pronto
Construindo árvore de dependências       
Lendo informação de estado... Pronto
155 packages can be upgraded. Run 'apt list --upgradable' to see them.

Como você pode ver, no meu caso, já há atualizações disponíveis.
Para começar a atualizar a sua distro, rode o “full-upgrade”


sudo apt --full-upgrade

… e voilá!
Se não leu, leia os artigos complementares, recomendados no início do texto e boa sorte (você vai precisar) no novo sistema!

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Como instalar Lisp no Debian

O Debian tem aproximadamente 300 pacotes de softwares relacionados direta ou indiretamente à família de linguagens de programação Lisp.

Com especificações originalmente lançadas em 1958, o Lisp é a segunda linguagem de programação mais velha (ou madura), de alto nível e largamente usada nos dias de hoje.
A primeira colocada é Fortran, com um ano a mais.
— Wikipedia.

Claro que o Lisp mudou muito, no decorrer dos anos. Durante este tempo, deu origem a inúmeros dialetos — mas os que se consolidaram como mais importantes são o Common Lisp e o Scheme
Originalmente, a linguagem foi concebida para criar programas de notação matemática mais práticos — com o tempo, e rapidamente, se tornou a favorita para a pesquisa em inteligência artificial (IA).
O nome deriva da junção das palavras “LISt Processor” (processador de listas).
Enfim… se você está aqui, é por que já sabe de tudo isso. O que quer é instalar o suporte à linguagem de programação Lisp no Debian (ou em outra distro derivada dela).

Como obter uma relação de softwares de suporte ao Lisp no Debian

Use o apt search para pesquisar nos repositórios da sua distro pelos softwares relacionados a alguma palavra:


apt search lisp | less

Ou, para ser um pouquinho mais preciso:


apt search "common lisp" | less

Você pode obter mais informações sobre qualquer pacote com o comando apt show:


apt show common-lisp-controller


Package: common-lisp-controller
Version: 7.10
Priority: optional
Section: lisp
Maintainer: Debian Common Lisp Team 
Installed-Size: 62,5 kB

(...) 

Download-Size: 36,5 kB
APT-Sources: http://ftp.br.debian.org/debian testing/main amd64 Packages
Description: gerenciador de compilador e fontes do Common Lisp
 Este pacote ajuda a instalar os fontes e o compilador do Common Lisp.
 .
 Ele cria um cache de objetos compilados por usuário. Quando uma biblioteca
 ou uma implementação é atualizada, todos os objetos compilados no cache são
 descartados. Também fornece ferramentas para recompilar todas as
 bibliotecas e para gerar pacotes Debian a partir de pacotes asdf-install.
 .
 Também inclui clc-clbuild, um envoltório para o clbuild. Por favor, veja
 http://common-lisp.net/project/clbuild/ para mais informações.
 .
 Este pacote também contém um envoltório para invocar o emacs com um
 ambiente slime fornecido pelo clbuild.

Este mesmo pacote já traz muito do que você precisa para começar a programar em Lisp. Para instalá-lo, use o apt install:


sudo apt install common-lisp-controller 

A partir daí, já é possível rodar o SBCL, uma implementação do ANSI Common Lisp:


sbcl

A shell do sbcl permite executar os comandos Lisp.
sbcl lisp shell hello world
Para saber mais sobre outros programas já instalados no seu computador, voltados para a linguagem, use o apropos:


apropos lisp


register-common-lisp-implementation (8) - internal clc commands
clc-lisp (1)         - invoke lisp with clbuild active
clc-slime (1)        - invoke lisp with clbuild active
common-lisp-controller (3) - Common Lisp system management tool
lispmtopgm (1)       - convert a Lisp Machine bitmap file into pgm format
pgmtolispm (1)       - convert a portable graymap into Lisp Machine format
register-common-lisp-source (8) - internal clc commands
sbcl (1)             - Steel Bank Common Lisp
unregister-common-lisp-implementation (8) - internal clc commands
unregister-common-lisp-source (8) - internal clc commands

… ou volte a usar o apt search, como mostrei acima, para encontrar outras opções voltadas para a linguagem.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Qual é a distribuição Linux que tem mais pacotes em seus repositórios oficiais?

A resposta curta é: OpenSUSE, na data deste post!
No decorrer deste texto vou mostrar como obter suas próprias respostas e, com certeza, mais atualizadas.
No momento em que escrevo, a distro “do camaleão” é a que tem a maior quantidade de softwares disponíveis para a instalação — se você a sincronizar com todos os seus possíveis repositórios.
Por anos, a Debian foi a distro conhecida por ter a maior quantidade de pacotes em seus repositórios. Mas estas coisas mudam com mais frequência que a gente imagina.
Portanto, se quiser saber qual a distro Linux com mais aplicativos disponíveis, vai ter que fazer uma contagem.

Há alguma maneira “racional” de contar quantos pacotes de aplicativos estão disponíveis para uma distro?

Como contar os programas disponíveis em uma distribuição Linux

Esta pergunta pode ser respondida em 2 fases:

  1. primeiro você obtém a lista e
  2. depois, se estiver em formato texto simples, com um pacote relacionado a cada linha, basta contar as linhas da lista.

Não é difícil encontrar as listas de pacotes disponíveis para as distribuições, mas precisamos prestar atenção a algumas variáveis que as influenciam:

  • Versões alfa do sistema operacional podem ter uma lista num dia e outra em outro — softwares entram e saem todos os dias nesta fase de uma distribuição.
  • Diferentes plataformas demandam softwares específicos às vezes. Portanto a lista do Arch Linux para a plataforma ARM é uma e a lista do mesmo sistema operacional para a plataforma PC 64 bit é outra.

É difícil fazer comparações objetivas entre uma distro e outra, por que precisamos levar estes e outros fatores em conta.

A lista de softwares disponíveis para uma distro vai muito além dos repositórios oficiais. Elas aumentam significativamente, ao acrescentar outros repositórios, backports, PPAs etc.

Onde encontrar a relação de softwares do Ubuntu

A relação atual de softwares disponíveis, da distribuição Ubuntu que se encontra instalada no seu computador, depende dos repositórios incluídos no arquivo de configuração /etc/apt/sources.list.
Para obter a relação use os seguintes comandos:


sudo apt update
apt list | wc -l

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

69323

O resultado, acima, se refere à minha máquina Ubuntu 16.04 Xenial Xerus, com a minha configuração atual do sources.list.
O comando responde à pergunta sobre a quantidade de softwares disponível para a instalação local e atual do Ubuntu.
É importante dizer que a lista inclui 6 linhas de cabeçalho — que precisam ser excluídas da conta, para obter um resultado exato.


E se eu não tiver o Ubuntu instalado? E se eu quiser obter o número e a relação para uma versão diferente da que tenho instalada?
Quando a lista que você deseja não está presente no seu sistema, o jeito é buscar a informação online.
A lista de pacotes disponíveis para Ubuntu pode ser encontrada a partir do site http://packages.ubuntu.com/.
site com lista de versões do Ubuntu
O site permite escolher exatamente qual distro/versão ou repositório a ser pesquisado.
Para este artigo, vou escolher a relação allpackages do Ubuntu 16.04 LTS Xenial Xerus.
Se você quiser, pode acessar a lista aqui: http://packages.ubuntu.com/xenial/allpackages?format=txt.gz.
O cabeçalho da lista tem informações importantes, como a data em que ela foi gerada — que ajuda a estabelecer se é atual.
Eu preferi baixar o arquivo compactado com o wget.
Depois de baixado, descompactei o arquivo e alterei o nome (apenas por comodidade). Veja os meus procedimentos:


wget http://packages.ubuntu.com/xenial/allpackages?format=txt.gz

gunzip allpackages?format=txt.gz

mv allpackages\?format\=txt xenial64bit-desktop.txt 

Se quiser “passear” dentro do arquivo, use o comando less:


less xenial64bit-desktop.txt

Como você pode ver, cada programa ocupa uma única linha. Basta determinar quantas linhas há no arquivo (subtraídas as 6 linhas do cabeçalho), para obter a minha resposta. Para isto, use o comando wc:

wc -l xenial64bit-desktop-allpackages.txt

69323 xenial64bit-desktop-allpackages.txt

A resposta, neste caso, é 69.317 pacotes de software no Ubuntu 16.04 LTS Desktop 64 bit — já descontadas aquelas linhas iniciais.

Como obter a relação de pacotes do Arch Linux

A lista oficial pode ser encontrada fácil no site da distribuição.
arch linux lista de pacotes do repositório
Por sorte, o site tem um contador, do lado esquerdo superior à relação.
Você encontra a informação atualizada neste link: https://aur.archlinux.org/packages/?O=0&SeB=nd&K=&SB=n&SO=a&do_Search=Go.

Como determinar a quantidade de pacotes do Debian

O procedimento para obter esta informação do Debian é semelhante ao Ubuntu.
Se você usa Debian, pode ir para o terminal e obter o número de pacotes disponíveis para instalação, de acordo com a configuração do sources.list.
No meu sistema Debian 9 Stretch, obtive o seguinte resultado:

apt list | wc -l

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

51750

Os sites contendo as relações de pacotes são https://packages.debian.org/testing/allpackages?format=txt.gz (testing) e https://packages.debian.org/stable/allpackages?format=txt.gz (stable).
Você pode salvar o conteúdo desta página, direto do seu navegador, com CTRL+S (o que te poupa o trabalho de descompactar e renomear o arquivo posteriormente).
Eu salvei a página (do stable) com o nome de Jessie.txt e executei o wc no arquivo:

wc -l jessie.txt 
57286 jessie.txt

De forma que a nossa resposta é: 57.280 pacotes — descontadas as 6 linhas do cabeçalho.
Para a lista online do Stretch, obtive o resultado seguinte:

wc -l stretch.txt 
68675 stretch.txt

… o que dá 68.669 pacotes.

Por curiosidade, fui verificar também a quantidade atual de pacotes no Sid ou unstable:

wc -l sid.txt 
103440 sid.txt

O número é expressivo mas, sabemos que nada é definitivo no unstable.

Quantos pacotes de software estão presentes no Trisquel Linux

Derivado direto do Debian, podemos usar um método semelhante para obter esta informação.
A página com a relação de pacotes do Belenos é esta: http://packages.trisquel.info/belenos/allpackages?format=txt.gz.

wc -l belenos.txt 
52753 belenos.txt

Como resultado, obtive, então 52.747 pacotes, nesta versão do Trisquel GNU/Linux.

Quantos pacotes há no Fedora?

O Fedora 26 alpha apresentava uma relação de mais de 57 mil pacotes, como é possível observar nos meus exemplos abaixo. Até o lançamento, o número deve mudar.
Na linha de comando, você pode inquirir os repositórios com o comando yum ou dnf.
fedora 26 alpha running under VirtualBox
Veja como fazer com o comando yum:


yum list | wc -l

57219

Antes de rodar o comando dnf, optei por atualizar/sincronizar o sistema com os repositórios — para obter um número mais atual, claro:


dnf update
dnf list | wc -l

57222

Como determinar a quantidade de pacotes de softwares disponíveis nos repositórios do OpenSUSE

O OpenSUSE permite o uso do yum — mas tem que ser instalado — nos mesmos moldes que já mostrei neste texto.
O ideal é usar o zypper para obter a informação.


zypper packages | wc -c

69367

Conclusão

A quantidade de softwares disponíveis para instalar e usar no seu sistema operacional é um fator de escolha importante para algumas pessoas ou empresas.
A outras, basta que tenha o que precisa ser usado (eu).
Quando temos a tarefa de indicar distribuições para outras pessoas, contudo, pode ser interessante levar em conta este número — principalmente se você não tem certeza sobre como a pessoa vai usar o computador.
Somado a isso, a lista de possibilidades é muito flexível em qualquer distro Linux.
É muito raro um aplicativo estar disponível para uma distro e “ser impossível” de instalar em outras. Se o código fonte estiver disponível, o impossível perde seu significado.
Por fim, a wikipedia tem um tópico comparativo entre as diversas distribuições e que vale a pena consultar sempre. Veja o link abaixo!

Referências

https://en.wikipedia.org/wiki/Comparison_of_Linux_distributions#Package_management_and_installation.

Ferramentas online para configurar fácil o sources.list do Debian e Ubuntu

A lista de repositórios no Ubuntu e no Debian fica em um arquivo chamado sources.list.
Não é um dos arquivos de configuração mais difíceis de se editar mas… se podemos facilitar as coisas, por que não?
sources.list
Usar um gerador online pode ser uma forma bem prática de obter um arquivo sources.list totalmente personalizado e ajustado às suas necessidades.


Se tiver interesse em conhecer melhor o sources.list e como ele pode ser editado manualmente, leia este post.
Para este post, analisei 2 dos geradores — tanto para Debian quanto para distribuições baseadas no Ubuntu. Você escolhe.

É recomendado usar estas ferramentas com cuidado.
Você pode bagunçar terrivelmente o seu sistema ao fazer escolhas erradas.
Portanto, se você não sabe o que está fazendo, é melhor não fazer.

Antes de prosseguir, faça o backup do seu repositório atual:

cp /etc/apt/sources.list ~/sources.list.bak

Gerador de sources.list online só para distribuições baseadas no Debian

Se quiser gerar rapidamente e sem complicações um sources.list para a sua distro baseada no Debian, use este aqui.
O site https://debgen.xyz é um projeto voltado para criar rapidamente uma “lista de fontes” simplificada, que serve para a maioria dos usuários.
debian.xyz sources list generator
Siga os passos:

  1. Comece escolhendo o país hospedeiro do seu espelho (mirror). O ideal é optar pelo que estiver mais próximo de você.
  2. Em seguida, selecione o release e a arquitetura atual: stable, testing ou unstable (Sid).
  3. Escolha os repositórios que te interessam entre source, contrib, non-free e security. Na dúvida, não faz mal selecionar todos.

Quando terminar a configuração, clique no botão azul “Make it go!“.
O texto, acima do botão, irá mudar para refletir as suas escolhas.
Agora substitua o conteúdo do arquivo /etc/apt/sources.list pelo texto novo.
Rode o apt:

sudo apt update

Gerador complexo para Debian

O site https://debgen.simplylinux.ch/ é “complexo” no sentido de ter (bem) mais opções.
Vai funcionar tal como eu descrevi o site anterior, com algumas diferenças.
Acompanhe o passo a passo para quem vai optar pelo repositório Debian:

  1. Desative a opção Fast Server, para obter um menu mais extenso.
    debian fast server
  2. Escolha o espelho e o release em uso.
  3. Vá rolando o site para baixo e selecionando os repositórios que te interessam
  4. Ao final, clique no botão “Generate“.

debgen simplylinux
Se você escolheu repositórios de terceiros, provavelmente terá que executar o comando “apt-key adv” indicado em uma das caixas, antes de executar o “apt update”. Fique atento a isso.

Gerador de sources.list para Ubuntu

Se você usa Ubuntu ou uma das várias distribuições Linux baseadas nele, use o gerador do site https://repogen.simplylinux.ch/ e siga os passos:

  1. Comece por selecionar o país em que se encontra hospedado o mirror que você deseja usar. Em seguida, informe o release atual do seu Ubuntu.
  2. Continue rolando a página e selecionando os repositórios desejados.
  3. Ao final, clique em “Generate
  4. A tela com o resultado tem o texto a ser copiado, em substituição ao conteúdo atual do arquivo /etc/apt/sources.list.
    Se achar melhor, apenas execute os comandos sugeridos pela página (veja as setas, na figura abaixo) — eles podem ser copiados e colados direto no terminal.
    sources.list online generator
    Um dos comandos altera o sources.list e o outro (se houver) adiciona as chaves públicas necessárias para eventualmente acessar algum repositório.

Divirta-se!