Instalando softwares e atualizando o sistema
Last updated
Last updated
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 o apt
. Já o apt-get
e o aptitude
são versões mais antigas do apt
, que ainda funcionam nos sistemas atuais, mas aos poucos estão sendo substituídos pelo apt
.
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
ou apt
, 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.
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
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.
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.
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).
O apt show
irá retornar informações do pacote, como versão, descrição, categoria, mantenedor etc.
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
.
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.
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.
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.
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.
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.
O dpkg tem a função de gerenciar pacotes no sistema. Geralmente isso é feito de forma manual, seguindo as seguintes opções:
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).
Para listar os pacotes instalados no sistema, suas versões e descrições, utilize dpkg -l
.
Para remover pacotes, utilize dpkg -r nomedopacote
. Note que nomedopacote
é o nome retornado pelo dpkg -l
, não o nome do arquivo .deb.