📀Instalando softwares e atualizando o sistema
Um sistema operacional 100% estático não é muito útil nem seguro para o cotidiano. É necessário uma maneira de instalar novos softwares, atualizá-los para obter novas funcionalidades e correções, e removê-los quando não são mais necessários.
No universo do Linux há diversas formas para se instalar e atualizar softwares, e muitas delas dependem da distribuição. Abaixo estão algumas das formas mais comuns de instalação de softwares no Ubuntu.
Loja Software - um aplicativo gráfico presente em ambientes GNOME e KDE principalmente que permite a instalação facilitada de softwares via GUI.

Repositórios/apt/apt-get/aptitude - é a forma de distribuição padrão de distros baseadas no Debian. Há um arquivo em
/etc/apt/sources.list
que lista sources (HTTP, DVDs etc) que chamamos de repositórios. Esses repositórios contém os softwares podem ser pesquisados/indexados/instalados via gerenciadores de pacotes como oapt
. Já oapt-get
e oaptitude
são versões mais antigas doapt
, que ainda funcionam nos sistemas atuais, mas aos poucos estão sendo substituídos peloapt
.

Pacotes .deb - são pacotes de distribuição de softwares para distros baseadas no Debian, geralmente baixados da internet para instalação manual. É possível instalá-los via
dpkg
ouapt
, como veremos nessa página.
Arquivos flatpak/snap - esses novos formatos encapsulam o código e suas dependências em pacotes flatpak/snap e contam com repositórios e ferramentas para facilitar a instalação e atualização dos softwares. Pacotes e ferramentas snap estão por padrão no Ubuntu e contém um confinamento nas versões mais atuais do snap, provendo segurança ao custo da velocidade inicial de execução. Devido às possibilidades de confinamento e de não necessitar da instalação de dependências, programas empacotados como snaps/flatpaks estão cada vez mais sendo utilizados em detrimento de outras formas de distribuição de pacotes.


Arquivos AppImage - é um formato de pacotes portátil que permite encapsular o código em um único arquivo AppImage, que pode ser distribuído e executado por qualquer sistema que contenha os pacotes necessários para rodá-lo.

PPA - Personal Package Archive é uma forma de distribuir software na internet, compatível especialmente com sistemas Ubuntu. Geralmente, PPAs continham versões mais recentes dos softwares (mais funcionalidades, menos estável). Está sendo substituído por formatos mais inteligentes, como o flatak/snap.

Compilação manual: esse é o método mais complicado para leigos e que pode resultar em mais problemas. Para compilar manualmente um programa, vai depender da linguagem utilizada e do sistema de construção empregado, logo não há um tutorial que funcione para todos os casos. Entretanto, para pacotes Linux geralmente segue-se a execução de um script configure, compilação via instruções de um Makefile via make, e instalação no sistema com make install.
Tipos de distros
Ubuntu é uma distro chamada de fixed release, pois a atualização do sistema vêm ao público em datas fixas. No caso específico do Ubuntu, nos meses 04 (abril) e 10 (outubro) - por isso que as versões seguem o padrão numero_do_ano.numero_do_mes.
Além disso, a cada dois anos é lançado uma versão de longo suporte, a Long Term Support (LTS). É uma versão mais estável por ter sido mais testada e possui mais tempo de suporte por parte da Canonical. A mais recente LTS é a 22.04.
Vamos, agora, entender como instalar, remover e atualizar nossos softwares dentro de um sistema Ubuntu.
Caso encontre algum erro ao executar os comandos abaixo, utilize
sudo
, pois vários deles necessitam de privilégios root
apt
O apt
é o programa principal para gerenciamento de softwares no Ubuntu. Ele irá ler as fontes de repositório, disponíveis em /etc/apt/sources.list
e realizar as ações abaixo a partir daí. A vantagem de se usar o apt
é que ele já realiza a instalação automática das dependências do pacote.
Muitos dos parâmetros abaixo aceitam a opção -y
(yes) para não necessitar de confirmação manual do usuário.
update
Atualiza os índices do sources.list
. Recomenda-se sempre ser executado antes da instalação de um pacote, em especial quando os índices não são atualizados há muito tempo. Esse parâmetro irá buscar pelos IPs mais novos em fontes HTTP, buscar novos softwares e versões etc.

search
Para procurar por pacotes, utilize o search passando um termo para pesquisar, como "browser". Desssa forma, o apt irá retornar todos os pacotes que tem alguma relação com o termo (a lista pode ser imensa).

show
O apt show
irá retornar informações do pacote, como versão, descrição, categoria, mantenedor etc.

download/source
Os pacotes instaláveis pelo apt
são no formato .deb. O comando apt download nomedopacote
permite realizar o download local do .deb, para instalação manual. Abaixo está o download do pacote screenfetch
, um software que mostra uma arte ASCII e informações gerais do sistema.

Com a filosofia opensource em mente, o apt contém um parâmetro específico para realizar o download do código-fonte de um pacote: apt source
. Entretanto, isso só será possível caso o software seja opensource e tenha uma entrada deb-src (de repositório de código-fonte) no /etc/apt/sources.list que o contenha. Caso não existam repositórios de códigos-fonte, o apt irá retornar um erro:

Para solucionar isso, podemos editar o arquivo de fontes com um editor, com privilégios de root. Pode ser utilizado qualquer editor de texto, porém aqui utilizaremos o nano como exemplo, via sudo nano /etc/apt/sources.list
. Para mais informações de uso do nano, acesse o tópico Edição de texto.
Levando em consideração a instalação limpa do Ubuntu 22.04, descomente todas as linhas que começam com deb-src (apenas retirar o símbolo # do início de cada uma).

Após a modificação, realize um apt update
para atualizar a base de dados do apt - verifique na imagem abaixo que os sources estão sendo sincronizados.

Por fim, execute o comando apt source nomedopacote
para baixar os sources - no nosso caso, do pacote screenfetch
.

install
Para instalar um pacote, utilize apt install nomedopacote
, sendo nomedopacote
exatamente o nome retornado pelo apt show
. É possível passar mais de um pacote para ser instalado, necessitando apenas separar cada nome de pacote por um espaço.
O programa irá perguntar se o usuário realmente deseja instalar o pacote, digite y
para prosseguir. Utilize -y
para instalar sem necessidade de interação.

Também é possível instalar pacotes .deb que estão no diretório corrente, usando a sintaxe apt install ./pacote.deb
. Como exemplo, na imagem abaixo tem a instalação do pacote screenfetch, baixado no download/source.

Ao final da instalação, o programa poderá ser executado normalmente.

remove (--purge)
Para remover um pacote, simplesmente execute apt remove nomedopacote
. Esse comando irá remover o pacote, porém irá preservar os arquivos de configuração e preferências do usuário, deixando simples a reinstalação do pacote caso o usuário deseje instalá-lo novamente no futuro.
Para remover o pacote e todos os arquivos de configuração, adicione a opção --purge
na linha de comando.

autoremove
Removerá os pacotes automaticamente instalados pelo apt
para cumprir requisitos de dependências, quando eles não são mais necessários para o sistema. Recomendado para realizar uma limpeza de pacotes desnecessários, liberando espaço no sistema.

upgrade
Além de instalar pacotes, o apt
permite atualizá-los, utilizando o comando apt upgrade
. Esse comando irá atualizar todos os pacotes do sistema, instalando novos caso necessário para satisfazer as dependências, porém, não desinstalará pacotes existentes caso seja necessário para atualizar algum pacote específico. Isso torna esse comando mais estável para atualização do sistema.

full-upgrade
Realiza a atualização dos pacotes, mas, em contraste ao apt upgrade
, realiza a remoção de pacotes caso necessário. Isso torna esse comando menos estável, porém, é a melhor opção quando se está atualizando uma distro fixed release - de uma versão para a outra.

dpkg
O dpkg tem a função de gerenciar pacotes no sistema. Geralmente isso é feito de forma manual, seguindo as seguintes opções:
Instalando .deb - -i
Para instalar pacotes, execute dpkg -i pacote.deb
. Vamos utilizar como exemplo o .deb do screenfetch, baixado na seção download/source.

Caso encontre algum erro durante a instalação do pacote, execute apt install -f
, que tentará consertar pacotes quebrados (sem dependências).
Listando pacotes instalados - -l
Para listar os pacotes instalados no sistema, suas versões e descrições, utilize dpkg -l
.

Removendo pacotes - -r
Para remover pacotes, utilize dpkg -r nomedopacote
. Note que nomedopacote
é o nome retornado pelo dpkg -l
, não o nome do arquivo .deb.

Last updated