Introdução ao aptitude no Debian, para usuários Ubuntu.

Se você se espantou com o fato de não ter encontrado o apt-get no Debian, este texto é pra você.
De fato o apt-get, que nasceu no Debian GNU/Linux, não lhe pertence mais. A ferramenta evoluiu e agora se chama aptitude.
Há 2 boas notícias para você:

  1. Você pode continuar a usar o aptitude com (quase) todas as mesmas opções e parâmetros que usava o apt-get
  2. se quiser, pode instalar o apt-get no Debian e usá-lo também

Dicas de uso do aptitude

Geralmente, as ferramentas de linha de comando integram uma série de operações — gestão de listas de pacotes, obtenção de pacotes, desempacotamento e instalação, configuração — dentro de um único comando acompanhado de seus argumentos.
No Debian, a principal ferramenta de instalação de software é o aptitude (e você pode instalá-la e usá-la no Ubuntu também).
O apt-get tem o mesmo propósito, mas não é mais recomendada para uso no Debian.
Veja algumas instruções básicas de uso do aptitude:

  • aptitude update — equivalente ao ‘apt-get update’, serve para atualizar o banco de dados interno dos pacotes disponíveis para instalação (ou remoção).
  • aptitude safe-upgrade — equivalente ao ‘apt-get -u upgrade’, usado para atualizar todos os pacotes já instalados no seu sistema.
  • aptitude search string — equivalente ao ‘apt-get cache string‘, usado para buscar uma string dentro da relação de pacotes do repositório. Se você quiser encontrar aplicativos que capturem a tela, use o comando ‘aptitude search screenshot’.
  • aptitude show nome-do-pacote — equivalente a ‘apt-get show nome-do-pacote, serve para obter informações sobre o pacote pesquisado.
  • aptitude install — equivale ao ‘apt-get install’, que é usado para instalar novos pacotes de softwares no sistema.
  • aptitude remove — tal como o ‘apt-get remove nome-do-pacote‘, serve para remover, desinstalar pacotes do sistema.

Diferenças entre o aptitude e o apt-get

A lógica dos desenvolvedores Debian é diferente da lógica que move os desenvolvedores da Canonical.
Isto traz, como consequencia natural, algumas diferenças aos seus projetos.
Veja alguns pontos em que o aptitude difere do apt-get:

  • O aptitude irá remover automaticamente pacotes elegíveis, enquanto sua contra-parte requer um comando em separado para isto.
  • Os comandos para atualizar a distro tem nomes diferentes:
    apt-get upgrade e apt-get dist-upgrade (Ubuntu); aptitude safe-upgrade e aptitude full-upgrade (Debian).
  • O aptitude compreende todas as funções do apt-get, do apt-cache e do apt-mark — 3 comandos separados no Ubuntu.
  • Há leves diferenças sintáticas nas queries de busca do aptitude em relação ao apt-cache.
  • O aptitude tem os comandos ‘why’ e ‘why-not’ que servem para informar quais pacotes, dentre os que foram instalados manualmente, estão interpondo barreiras a alguma ação que você esteja tentando no sistema.
  • O aptitude pode te dizer por que algumas de suas ações não são possíveis (como os comandos de instalação, remoção e atualização de pacotes).
    Além disto, pode sugerir como resolver o problema.
    O apt-get só avisa que sua ação não é possível.

O aptitude foi concebido para ser usado como programa de nível alto (de nível de usuário). O apt-get foi concebido para usado por programas de alto nível, como o aptitude.

Conclusão

sudo vs su

Uma outra mudança, para quem chega do Ubuntu, é que o comando sudo não vem instalado no Debian.
Claro que você pode instalar o sudo.
A filosofia de trabalho e uso do Debian, contudo, é outra.
Aqui, quando você precisa realizar tarefas administrativas, como (des)instalação de softwares, você deve se logar como administrador do sistema.
Uma forma de se logar como root, executar a tarefa e sair em seguida, como se faz usando o sudo, é através do comando ‘su -c’.
Veja um exemplo:
No Debian: su -c 'aptitude install synaptics'.
No Ubuntu: sudo apt-get install synaptics.
Tenha em mente que, no Debian, a senha pedida pelo sistema é a do root e não a sua (de usuário).
Sugiro a leitura do artigo Diferenças entre SU e SUDO, onde o tema é abordado com maior profundidade.

As diferenças tendem a diminuir, com o passar do tempo.
Alguns desenvolvedores trabalham nos dois projetos — o que traz um intercâmbio de experiências.
Da minha parte uso as 2 ferramentas — aptitude, no Debian. apt-get, no Ubuntu.
Cada qual, no seu quadrado.

Referências

https://elias.praciano.com/2015/08/qual-a-diferenca-entre-su-e-sudo/
https://wiki.debian.org/DebianPackageManagement
http://unix.stackexchange.com/questions/767/what-is-the-real-difference-between-apt-get-and-aptitude-how-about-wajig

Guia para atribuir atalhos de teclado no XFCE.

O XFCE é um dos ambientes gráficos que você pode usar no Debian 8 e é a escolha padrão no Xubuntu 14.04 LTS (e nas versões anteriores do sistema).
Neste texto vou mostrar como atribuir novos atalhos de teclado a comandos, dentro da interface gráfica do XFCE.
Ao escrever este post, estou usando uma máquina Debian GNU/Linux 8.2 “Jessie” com o XFCE instalado.
Em outros ambientes gráficos, o procedimento pode ser um pouco diferente, mas o conceito é “mais ou menos” o mesmo.
Se você usa o XFCE (no Xubuntu, por exemplo), as dicas deste texto valem para a criação de qualquer atalho de teclado que você queira criar.
No meu exemplo, vou mostrar como criar atalhos pro vários modos de uso do xfce4-screenshooter, o aplicativo nativo do XFCE para capturar telas ou screenshots. Adéque as informações deste texto às suas necessidades, portanto.
XFCE4-screenshooter aplicativo de captura de telas do XFCE

As opções do xfce4-screenshooter

No meu caso, vou criar mais de um atalho de teclado — uma vez que gostaria que cada atalho dispare o mesmo aplicativo, só que com função diferente. Veja, abaixo, o que quero que cada tecla/combinação de teclas realize no meu sistema:

  • Print Screen — Abre o xfce4-screenshooter e permite que você escolha o que quer fazer
  • Super + Print Screen — Captura a tela inteira
  • Ctrl + Super + Print Screen — Captura a janela ativa
  • Ctrl + Alt + Super + Print Screen — Captura uma região da tela, recortada com o mouse

Se você preferir a simplicidade, pode ficar apenas com a primeira opção. E sinta-se livre para usar alterar as teclas de atalho da maneira que achar mais conveniente.
Ao rodar a ajuda do aplicativo, no terminal, é possível ver quais os parâmetros possíveis de se aplicar:

xfce4-screenshooter --help

Segue a minha lista resumida (cortada), com destaques para as funções que pretendo usar:

Opções de aplicativo:
  -c, --clipboard          Copy the screenshot to the clipboard
  -d, --delay              Atraso em segundos antes de capturar uma imagem da tela
  -f, --fullscreen         Capturar uma imagem da tela inteira
  -m, --mouse              Exibir o ponteiro do mouse na captura de tela
  -o, --open               Aplicativo para abrir a captura de tela
  -r, --region             Selecionar uma região para ser capturada clicando num ponto da tela sem soltar o botão do mouse, arrastando o mouse para o outro canto da região e então soltando o botão do mouse
  -s, --save               Diretório onde será salva a captura de tela
  -u, --upload             Hospedar a captura de tela no ZimageZ, um serviço grátis de hospedagem de imagens online
  -V, --version            Informação da versão
  -w, --window             Capturar uma imagem da janela ativa

Como você pode ver, pela documentação de ajuda do aplicativo, é possível customizar o comando para tirar e tratar as capturas de tela de acordo com as suas necessidades específicas.
Fica a dica para, antes de ir criar atalhos, verificar na documentação do aplicativo as opções de comando que você pode usar.

Como adicionar os atalhos de teclado no XFCE

Vou ser bem sucinto e específico neste post. Se você quiser uma abordagem mais abrangente sobre o tema, leia artigos sobre atalhos de teclado, neste mesmo site.
Abra o painel de configurações e selecione as opções de Teclado.
Painel de configurações do XFCE Debian e Ubuntu.
Em seguida, clique na aba Atalhos de Aplicativos.
XFCE Painel de atalhos de teclado
Como você pode observar, na imagem acima, a minha instalação XFCE (Debian 8) vem com poucos atalhos. Com toda certeza, irei “povoar” esta lista com muito mais atalhos.

Ter domínio dos atalhos de teclado da sua interface gráfica é um processo chave para a produtividade. Quanto menos precisar tirar a mão do teclado, melhor.
Decore as hot keys já existentes, altere as que precisa e crie novas para adequar a interface às suas necessidades.

Para adicionar um novo atalho, clique em Adicionar e, em seguida, informe a ação ou o comando que irá ser disparado com aquela hot key.
Adicionar comando para atalho.
Para capturar apenas uma região da tela, o comando é xfce4-screeshooter --region --delay 3.
A opção ‘–delay 3’ serve para dar um intervalo de 3 segundos antes da captura.
Depois de informar o comando, clique em OK.
Agora, pressione a sequência de teclas que irão compor o seu novo atalho de teclado.
XFCE - Informar atalho do comando
Feito isto, o seu novo atalho já estará criado.
Basta seguir o mesmo procedimento, para criar novos.

Como ligar o touchpad no Debian 8.

Recentemente instalei o Debian GNU/Linux 8.2 (ou simplesmente Jessie) em um dos meus laptops de trabalho, um Samsung Series 5 Ultra.
Fiquei surpreso com o fato de que o touchpad, assim que o sistema ficou pronto para ser usado, não tinha função de toque habilitada — o dispositivo só servia para conduzir o cursor na tela.
Antes de reiniciar a máquina e ir conferir se não havia desligado o touchpad no BIOS (existe esta função lá), fui ao painel de configurações do Debian (XFCE).
Selecione o painel de configuração Mouse e Touchpad e, em seguida, ative a opção Cutucar o touchpad para clicar.
Configurações do mouse e do touchpad no Debian 8 com o XFCE

Como resolver no GNOME

Para a minha surpresa, o touchpad veio com a função de toque também desligada no GNOME (no KDE também!).
Não há novidade aqui.
A solução é a mesma, já descrita pro XFCE — ative o toque no painel de configuração do touchpad.
Veja a imagem, abaixo:
Configurações do touchpad no GNOME 3
A opção que você precisa ligar no painel de configurações do touchpad do GNOME é Toque para clicar.
Se você tiver interesse em ler mais sobre o assunto, ele foi abordado no artigo Como configurar o touchpad no Ubuntu 14.04, onde algumas dicas a mais são dadas sobre o tema.

Como editar o /etc/apt/sources.list

O arquivo /etc/apt/sources.list, no Ubuntu e nas outras distros derivadas do Debian, contem uma relação de endereços e locais onde o sistema pode encontrar softwares para instalar ou atualizar.
Ele pode ser editado diretamente, com o seu editor favorito, através de comandos no terminal, no aplicativo gráfico Ubuntu Software Center etc.
Neste texto, vou mostrar 3 formas (há muitas outras) de editar o arquivo /etc/apt/sources.list. Escolha a que achar melhor — ou fique à vontade para mostrar com você prefere fazer, nos comentários.
Ubuntu Software Center - captura de tela
Normalmente, o que tem que ser feito é introduzir uma linha que começa com o prefixo deb, o que indica que se trata de uma fonte de pacotes DEB:

deb http://deb.torproject.org/torproject.org xenial main

A linha acima, serve para informar a localização dos pacotes de instalação do navegador tor para ser usado no Ubuntu 16.04 LTS Xenial Xerus — você não deve usá-la, se esta não for a sua versão do Ubuntu.


OBS.: Os exemplos do texto, podem não servir pro seu sistema. Tenha o cuidado de adequá-los à sua situação, antes de usá-los.

Brincando com segurança: faça backup sempre

Antes de alterar arquivos de configuração do sistema, faça backup deles.
Para criar uma cópia de segurança do /etc/apt/sources.list, faça o seguinte:

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

Se algo der errado, volte à configuração original com o seguinte comando:

sudo cp /etc/apt/sources.list.original /etc/apt/sources.list
sudo apt-get update

Como alterar o /etc/apt/sources.list com o Ubuntu Software Center

A lista de fontes /etc/apt/sources.list é projetada para suportar qualquer número de fontes ativas e variadas mídias contendo fontes.
O arquivo se organiza com uma fonte por linha — as preferenciais vem nas primeiras linhas.

Acesse o programa Ubuntu Software Center a partir do Dash, no Ubuntu ou a partir do menu de aplicativos nas outras distribuições derivadas do Ubuntu.
Se quiser, pode rodar o Software Center, através de um comando, no terminal: software-center.
Dentro do Software Center, siga os passos:

  • Clique no menu Editar.
  • Selecione a opção Canais de Software.
  • Dentro do painel Programas e atualizações clique no botão (embaixo) Adicionar…
  • Canais de softwares - Programas e atualizações
    Clique para ampliar.
  • Dentro da caixa de adição, forneça a linha, que começa com o prefixo deb e clique em Adiconar Fonte.
  • Adicionar canal de software no ubuntu
    Clique para ampliar.

Como adicionar informações ao /etc/apt/sources.list da linha de comando

Se você não tem pesadelos com o terminal do Linux, pode adicionar uma linha ao arquivo /etc/apt/sources.list de maneira ainda mais simples. Abra um terminal e veja o exemplo:

echo "deb http://deb.torproject.org/torproject.org precise main" | sudo tee -a /etc/apt/sources.list
sudo apt-get update

Edite o arquivo /etc/apt/sources.list

O arquivo pode ser editado diretamente.
Da linha de comando, ele pode ser aberto com o nano (ou qualquer outro editor de textos da sua preferência):

  • Adicione a linha desejada ao final do arquivo.
  • Grave e feche o arquivo.
  • Sincronize o seu sistema com os repositórios:
    sudo apt-get update

A partir daí, já é possível instalar seus novos programas.

Como resolver alguns erros e mensagens de aviso ao executar o apt-get.

Neste post, vou falar do erro de trava, que pode ocorrer ao executar o apt-get. Vou mostrar os motivos pelos quais ele ocorre e como resolver.
Claro que, se você estiver um pouco apressado, pode pular direto pra solução do problema.
apt-get moo
Se quiser saber um pouco mais sobre o assunto, clique nas imagens para obter mais detalhes.
A depender da nacionalidade da sua distro, o erro de trava pode apresentar mensagens diversas. Veja:

  • Em português do Brasil, o erro pode ser semelhante a este:

    E: Não foi possível obter trava /var/lib/dpkg/lock – open (11: Recurso temporariamente indisponível)
    E: Não foi possível obter acesso exclusivo ao directório de administração (/var/lib/dpkg/), outro processo está a utilizá-lo?

  • Em português de Portugal, a mensagem, com algumas variações, é assim:

    E: Não foi possível abrir ficheiro de lock /var/lib/apt/lists/lock – open (11: Recurso temporariamente indisponível)
    E: Impossível criar acesso exclusivo ao directório /var/lib/apt/lists/

  • Se você estiver usando uma distro em inglês, a mensagem será semelhante a esta:

    E: Could not get lock /var/lib/apt/lists/lock – open (11: Resource temporarily unavailable)
    E: Unable to lock directory /var/lib/apt/lists/

Por que o erro de trava ocorre

O “erro de trava” é mais um aviso do que um erro de mau funcionamento do seu sistema — e esta situação tem basicamente 3 causas:

  1. tentar executar uma instalação sem ter privilégios suficientes;
  2. tentar rodar uma segunda instância do apt e
  3. uma instalação ou atualização anterior deixou resquícios de algum acidente, que impede a atual de prosseguir

É possível resolver facilmente qualquer uma destas situações.
Acompanhe algumas das soluções possíveis, para cada tipo de caso, abaixo:

  • A principal causa do aparecimento deste aviso é executar o comando apt-get sem privilégios administrativos.
    Autentique-se no sistema como root antes de tentar instalar ou remover aplicativos.
    Se este for o caso, você obterá a seguinte mensagem:
    E: Não foi possível criar acesso exclusivo ao directório de administração (/var/lib/dpkg/), é root?
    Alternativamente, é possível usar o sudo para rodar apenas um determinado comando com privilégios de superusuário.
    captura de tela da linha de comando
    Clique, para ver detalhes.
  • Se houver a tentativa de executar 2 apt simultaneamente, o sistema irá avisar que isto não é possível.
    Verifique se a “Central de Programas do Ubuntu” está sendo executada, no momento em que você utiliza o apt, na linha de comando — não é possível usar os dois ao mesmo tempo.
    Enquanto o seu sistema estiver sendo atualizado, também não será possível executar o apt-get. Neste caso, espere um processo terminar, para depois começar o outro.
    Se você estiver nesta situação, a mensagem do apt-get conterá o seguinte:
    E: Não foi possível obter acesso exclusivo ao directório de administração (/var/lib/dpkg/), outro processo está a utilizá-lo?
  • Outra solução, é interromper uma das execuções do apt — mas isto não é o recomendável. O ideal é esperar até que a primeira tarefa termine, antes de executar a próxima.
    Se você acredita que o processo está congelado ou parado, pode reiniciar a máquina.
    Se você preferir não reiniciar, encontre o processo e finalize-o. Veja um exemplo de como fazer isto:

    ps aux | grep -i apt-get
    killall -9 apt-get

    saída do comando ps aux
    Clique para ver detalhes.

    Agora, tente de novo, sem precisar reiniciar o sistema.
  • Tente remover alguns arquivos no diretório apt.
    Como último recurso, resta remover estes arquivos do seu sistema — eles serão recriados automaticamente depois.
    Veja como:

    sudo rm /var/lib/apt/lists/*
    sudo rm /var/lib/dpkg/lock
    sudo rm /var/cache/apt/archives/lock

    agora, dê um update…

    sudo apt-get update
    sudo dpkg --configure -a

Espero que uma destas soluções ajude a resolver o problema.
Em seguida, tente instalar novamente os pacotes desejados.

Pacotes não puderam ser autenticados

Este tipo de aviso (não é um erro, portanto) pode ser mais comum para usuários das distros Debian testing e unstable.
Em inglês, o aviso diz “The following packages cannot be authenticated”.
Em português, quer dizer “Os seguintes pacotes não puderam ser autenticados”.
A mensagem é seguida por uma relação de pacotes.
Ao final da lista, a mensagem diz “Install these packages without verification [y/N]?” ou “Instalar estes pacotes sem verificação?”
O Debian tem assinatura digitais em seus pacotes. Para resolver, instale o arquivo keyring e atualize o sistema apt:

apt-get install debian-archive-keyring
apt-get update

Com isto, já será possível baixar, instalar e atualizar pacotes seguros do Debian.

Erro de indisponibilidade da chave pública PUBKEY

O erro, neste ponto, ocorre por que você não baixou a chave pública de algum dos pacotes que tentou baixar (usualmente de alguma PPA).
A mensagem de erro costuma dizer “As assinaturas a seguir não puderam ser verificadas devido à chave pública não estar disponível: NO_PUBKEY …”
Guarde o número após NO_PUBKEY. Ele será necessário para completar os comandos que seguem.
Adeque os exemplos abaixo, acrescentando a sua PUBKEY:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys PUBKEY

Ou…

sudo apt-key adv --keyserver subkeys.pgp.net --recv-keys PUBKEY