Use o checkinstall para criar pacotes gerenciáveis dos aplicativos que você compila no seu sistema.

Compilar softwares a partir do código fonte, é um método de instalação que possibilita obter a versão mais atual do seu aplicativo.
Outra vantagem, é poder construir automaticamente software feito sob medida para o seu sistema.
Este texto complementa o artigo Como Compilar Código Fonte de Programas no Linux.
Na maioria das vezes, é muito fácil compilar software. Mas esta abordagem traz algumas desvantagens ou riscos que convém enumerar:

  • O software compilado não participa das atualizações automáticas do sistema. Se o objetivo era ter a versão mais atual, com o tempo, você pode acabar com uma versão desatualizada do seu aplicativo favorito.
    Isto significa também que ele não receberá correções para novos bugs, à medida em que são descobertos. Tampouco receberá patches de segurança.
    Resumindo, você terá que fazer as atualizações manualmente, se quiser.
  • Em alguns casos, pode ser complicado remover software instalado através deste método. Se você não sabe exatamente aonde foi gravado cada arquivo associado do aplicativo principal, pode acabar com um sistema cheio de coisas que não usa mais.
  • Pode haver perda de dados, em casos (embora raros) de conflito com o restante do sistema.

No texto Como Preservar a Integridade e a Estabilidade da sua Instalação Debian, são enumeradas as várias armadilhas que podem quebrar o seu sistema. Entre elas, compilar softwares do código fonte.

Como usar o checkinstall

Para solucionar parte destes problemas, use o checkinstall.
Este utilitário pode ajudar a rastrear softwares locais e a produzir arquivos binários que podem ser manipulados pelo seu aplicativo de gestão de pacotes.

O checkinstall produz um pacote binário que pode ser gerenciado pelo sistema de gestão de pacotes — facilitando, entre outras coisas, a futura desinstalação.

Trata-se de um programa que monitora o processo de instalação feito por ‘make install’ ou por um script ‘install.sh’ e cria um pacote padrão para a sua distribuição.
Atualmente, o checkinstall suporta pacotes deb, rpm e tgz — que podem ser usados, respectivamente, pelos gestores dpkg, rpm e installpkg.
Na maioria dos casos, o checkinstall precisa ser executado com privilégios administrativos, para ser realmente útil.
Sua sintaxe segue o padrão de linha de comando GNU:
checkinstall opções comando-de-instalação
Seu funcionamento segue os seguintes passos:

# entre no diretório em que se encontra o código fonte
./configure
make
sudo checkinstall

Se você prefere gerar pacotes .deb, para o seu sistema Debian/Ubuntu, use a opção ‘-D’:

sudo checkinstall -D 

Se preferir gerar pacotes RPM, use a opção ‘-R’; ou ‘-S’, para criar um pacote Slackware.
Use a opção ‘–install=no’ para evitar a instalação automática do pacote.
O exemplo, abaixo, cria um pacote RPM e sai, sem instalar nada:

sudo checkinstall -R --install=no

O novo pacote criado, ficará disponível no mesmo local em que você executou o comando. Basta usar o comando ls, para encontrá-lo.

Referências

https://manpages.debian.org/cgi-bin/man.cgi?sektion=8&query=checkinstall&apropos=0&manpath=sid&locale=en.
https://wiki.debian.org/CheckInstall.

10 exemplos de uso do comando APT no Debian e Ubuntu

Você pode usar o comando apt para instalar novos aplicativos no seu sistema Ubuntu, Debian e distribuições derivadas.
A ferramenta trabalha com o gestor de pacotes padrão do Debian, dpkg, e é usada também para manter o seu sistema atualizado.
O apt tem as mesmas funcionalidades que o aptitude e a apt-get.
Este texto se baseia na versão 1.2.9, presente no Ubuntu 16.04 LTS Xenial Xerus. Vale destacar que o desenvolvimento do apt é um trabalho em progresso — e funcionalidades podem ser acrescentadas, modificadas ou retiradas em versões futuras — mas acho que isto vale para qualquer software.
Há 2 bons motivos para usar o apt, em vez das outras duas mais conhecidas:

  1. Você pode digitar menos, se optar pelo apt, na linha de comando.
  2. Esta será uma ferramenta padrão no Ubuntu, a partir da versão 16.04 LTS Xenial Xerus e no Debian.

A sigla APT, quer dizer Advanced Package Tool — ferramenta de pacotes avançada, numa tradução livre.
É constituída de uma séria de ferramentas, que fazem parte do núcleo do sistema Debian e Ubuntu.
O comando apt provê uma interface limpa e bonita, na linha de comando, com barra de progresso e cores para identificar itens da interface.

Use a ferramenta para instalar e atualizar aplicativos ou todo o sistema

A sintaxe do comando apt

Se você já conhece e usa o aptitude e o apt-get, será fácil se adaptar a esta ferramenta.
A sintaxe básica se resume a:
apt opções comando nome-do-pacote
ou (caso queira instalar mais de um pacote)
apt opções comando nome-do-pacote1 nome-do-pacote2
É possível usar curingas, para instalar múltiplos pacotes, com o mesmo prefixo:
apt install nome-do-pac*

O conjunto de ferramentas do APT, para realizar tarefas administrativas, requer privilégios. Portanto, você precisa se autenticar como superusuário (root) ou usar o sudo para executar o utilitário apt.

Se quiser entender a diferença entre o su e o sudo, leia este artigo.
Vamos aos exemplos práticos.

Como sincronizar pacotes com o apt

Para baixar informações sobre pacotes de todas as fontes configuradas, use apt update:

apt update

Este procedimento é recomendável antes de iniciar uma instalação ou um upgrade. Ou seja, antes de executar um install, use um update, conforme o exemplo anterior.
Ao final do relatório do comando, é possível localizar uma linha falando quantos pacotes (packages) há para ser atualizados.

Get:1 http://br.archive.ubuntu.com/ubuntu xenial InRelease [247 kB]
Hit:2 http://br.archive.ubuntu.com/ubuntu xenial-updates InRelease             
Hit:3 http://security.ubuntu.com/ubuntu xenial-security InRelease       
Hit:4 http://br.archive.ubuntu.com/ubuntu xenial-backports InRelease    
Get:5 http://br.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages [7.392 kB]
Get:6 http://br.archive.ubuntu.com/ubuntu xenial/universe i386 Packages [7.373 kB]
Get:7 http://br.archive.ubuntu.com/ubuntu xenial/universe Translation-en [4.299 kB]
Fetched 19,3 MB in 10s (1.911 kB/s)                                            
Reading package lists... Done
Building dependency tree       
Reading state information... Done
156 packages can be upgraded. Run 'apt list --upgradable' to see them.

Como atualizar o sistema com o apt

Use o comando ‘upgrade’ para realizar a atualização de todos os pacotes atualmente instalados em seu sistema (desde que haja atualizações disponíveis).
Este comando segue algumas regras:

  • Ele instalará pacotes adicionais, que sejam requeridos para satisfazer as dependências.
  • Pacotes já existentes e instalados, não serão removidos pelo processo de upgrade.
  • Não instala a nova versão de algum pacote se houver a necessidade de remover outro pacote conflitante ou desatualizado.
apt upgrade

Se você preferir, pode optar pelo uso do ‘full-upgrade’ — que remove pacotes instalados, caso seja necessário para atualizar o sistema como um todo.

apt full-upgrade

A opção ‘full-upgrade’ é necessária para atualizar, por exemplo, o Ubuntu 16.04 para 16.04.1.
Ele não vai atualizar a sua distro de 16.04 para 16.10, contudo.
Se quiser apenas obter uma lista de pacotes que podem ser atualizados no seu sistema, use o comando assim:

apt list --upgradable

Como instalar novos pacotes de aplicativos

O comando ‘install’ realiza a instalação de novos pacotes no seu sistema.
Para instalar o editor de áudio Audacity, use o seguinte comando, por exemplo:

apt update
apt install audacity

Como remover pacotes de aplicativos do sistema

Para remover, use o ‘remove’:

apt remove audacity

ou

apt purge audacity

O ‘purge’ desinstala, além dos pacotes, seus arquivos de configuração.

Como encontrar o pacote de aplicativos que eu quero

Se você não sabe exatamente qual o nome de determinado pacote ou aplicação, use o mecanismo de busca do apt.
Com o comando ‘search’ é possível fazer busca por palavras dentro das descrições dos pacotes nos repositórios.

apt search audio

Você pode combinar o comando grep, para obter uma busca mais refinada:

apt search audio | grep -C 2 -i blue
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

  Bandlimited wavetable-based oscillator plugins for LADSPA hosts

bluedevil/xenial 4:5.5.4-0ubuntu1 amd64
  KDE Bluetooth stack

bluez-btsco/xenial 1:0.50-0ubuntu6 amd64
  Bluez Bluetooth SCO tool

bplay/xenial 0.991-10 amd64
--
  jQuery plugin that plays and controls audio files in a webpage

jquery-jplayer-bluemonday/xenial,xenial 2.7.0-1 all
  Blue Monday skin for jPlayer

Como exibir informações sobre pacotes antes de instalar

Se você quiser obter informações específicas sobre algum destes pacotes, use o comando ‘show’:

apt show bplay
Package: bplay
Version: 0.991-10
Priority: optional
Section: universe/sound
Origin: Ubuntu
Maintainer: Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com>
Original-Maintainer: Carlos Laviola <claviola@debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 73,7 kB
Depends: libc6 (>= 2.6.1-1)
Download-Size: 18,8 kB
APT-Sources: http://br.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
Description: Buffered audio file player/recorder
 The bplay package provides a simple command-line utility for playing
 and recording audio files in raw sample, VOC and WAV formats.
 .
 To use this program you need a soundcard of some kind and the
 appropriate driver configured into your kernel.
 .
 When run the program creates two processes which share a memory
 buffer.  It does reading/writing on the disk and the sound device
 simultaneously, in order to be less liable to `pause' because the
 disk is too slow or too busy.

Os comandos ‘apt search’, ‘apt show’ e ‘apt list’, entre outros, não requerem privilégios administrativos para serem executados.
Somente aqueles capazes de produzir alterações no sistema, irão pedir seu “crachá de superusuário”.

Como listar pacotes disponíveis para instalação nos repositórios

Você pode obter uma lista completa de pacotes através da opção ‘list’.
Se você quiser encontrar os pacotes relacionados ao PHP 7, use o comando desta forma:

apt list 'php7*'
Listing... Done
php7.0/xenial,xenial 7.0.4-5ubuntu2 all
php7.0-bcmath/xenial 7.0.4-5ubuntu2 amd64
php7.0-bz2/xenial 7.0.4-5ubuntu2 amd64
php7.0-cgi/xenial 7.0.4-5ubuntu2 amd64

...

php7.0-sqlite3/xenial 7.0.4-5ubuntu2 amd64
php7.0-sybase/xenial 7.0.4-5ubuntu2 amd64
php7.0-tidy/xenial 7.0.4-5ubuntu2 amd64
php7.0-xml/xenial 7.0.4-5ubuntu2 amd64
php7.0-xmlrpc/xenial 7.0.4-5ubuntu2 amd64
php7.0-xsl/xenial,xenial 7.0.4-5ubuntu2 all
php7.0-zip/xenial 7.0.4-5ubuntu1 amd64

ubuntu 16.04 list php7 packages
Esta forma é equivalente à opção combinada ao comando grep:
apt list | grep php7. A opção é sua.

Jogue fora o lastro, para voar mais alto

Remova os pacotes de bibliotecas e aplicativos desnecessários do seu sistema.

Em computadores e carros: não basta ter potência. Tem que ser leve!

Tirar tudo o que não se precisa, é a chave para ter um sistema rápido e seguro.
O ‘autoremove’ ajuda a enxugar o seu sistema, removendo pacotes de bibliotecas instaladas (por que eram necessárias para a instalação de outros programas), que não são mais requeridas por nenhum outro pacote.
Pode ser usado para encontrar e remover versões antigas do kernel (que ocupam espaço considerável) no seu sistema.
Veja como usar:

apt autoremove

Uma opção mais completa (radical) é a seguinte:

apt --purge autoremove

Como editar as fontes dos pacotes

Se você sabe o que está fazendo pode editar as fontes dos repositórios — de onde o sistema irá baixar seus softwares.

sudo apt edit-sources 

Ubuntu 16.04 edit sources

Como checar se a versão do Ubuntu é desktop ou server

Quem atua no suporte técnico pode ter a necessidade de saber, de maneira simplificada, se a versão do Ubuntu que se encontra à sua frente é uma versão para desktop ou para servidor — com todos os pacotes e configurações inerentes àquela distribuição.
Ninguém quer nada complicado — portanto vou mostrar 2 opções do comando dpkg (que podem ser copiados e colados) a ser executados no seu terminal e que vão mostrar o que você tem pra brincar.

Liste os pacotes com dpkg

O comando dpkg permite listar os pacotes instalados no seu sistema, com o parâmetro -l:

dpkg -l *buntu-desk*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Nome           Versão       Arquitectura Descrição
+++-==============-============-============-=================================
ii  xubuntu-deskto 2.180        i386         Xubuntu desktop system

No exemplo acima, o comando mostra que o sistema instalado é Xubuntu-desktop. Se fosse servidor, a saída, na última linha teria a string -server.
Outra forma de usar o comando, envolve o uso do comando grep (vale a pena aprender a usá-lo!):

dpkg -l xubuntu* | grep desktop

dpkg -l xubuntu* | grep desktop
Note que eu usei a string xubuntu, porque esta é a distro que eu estou usando aqui. Você deve adequar o comando à sua situação aí.
Enfim, se ao fazer a busca pela palavra desktop, o retorno foi zero, tente fazer a busca pela palavra server.

LEIA MAIS