Gerenciar software é uma habilidade fundamental para qualquer administrador do Ubuntu Server. Quer você trabalhe em um ambiente de nuvem como Azure, AWS ou GCP, ou gerencie infraestrutura local, é essencial entender ferramentas de gerenciamento de pacotes como APT para manter um sistema seguro e otimizado.
Neste guia, abordaremos os conceitos básicos de instalação, atualização e gerenciamento de software, exploraremos cenários específicos da nuvem, solucionaremos problemas comuns e forneceremos exemplos práticos para ajudá-lo a dominar a administração do Ubuntu Server.
Artigo anterior:
01. Introdução ao Ubuntu Server – SysOSX: AI & Cloud
02. Como configurar seu primeiro servidor Ubuntu: guia para iniciantes – SysOSX: AI & Cloud
03. Dominando a linha de comando do Linux para Ubuntu Server – SysOSX: AI & Cloud
04. Gerenciamento de usuários e permissões no Ubuntu Server: um guia completo – SysOSX: AI & Cloud
05. Noções básicas de rede para Ubuntu Server: um guia completo – SysOSX: AI & Cloud
1. Entendendo o APT e o gerenciamento de pacotes no Ubuntu
O Ubuntu Server usa APT (Advanced Package Tool) como seu gerenciador de pacotes principal. O APT simplifica o gerenciamento de software lidando com dependências automaticamente e usando repositórios como fontes confiáveis de pacotes.
Principais componentes do APT:
- apt: Ferramenta de linha de comando para gerenciar pacotes.
- dpkg: Gerenciador de pacotes de baixo nível para
.debarquivos. - Repositórios: Fontes on-line onde os pacotes do Ubuntu são armazenados e recuperados.
2. Instalar software com o APT
Para instalar software no Ubuntu Server, use o comando apt install .
Exemplo: instalação do servidor Web Apache
- Atualize a lista de pacotes:
sudo apt update
Saída:
Hit:1 http://azure.archive.ubuntu.com/ubuntu noble InRelease
Get:2 http://azure.archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
Get:3 http://azure.archive.ubuntu.com/ubuntu noble-backports InRelease [126 kB]
Get:4 http://azure.archive.ubuntu.com/ubuntu noble-security InRelease [126 kB]
Get:5 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages [922 kB]
Get:6 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 Components [151 kB]
Get:7 http://azure.archive.ubuntu.com/ubuntu noble-updates/universe amd64 Components [364 kB]
Get:8 http://azure.archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Components [212 B]
Get:9 http://azure.archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Components [940 B]
Get:10 http://azure.archive.ubuntu.com/ubuntu noble-backports/main amd64 Components [7076 B]
Get:11 http://azure.archive.ubuntu.com/ubuntu noble-backports/universe amd64 Components [21.3 kB]
Get:12 http://azure.archive.ubuntu.com/ubuntu noble-backports/restricted amd64 Components [212 B]
Get:13 http://azure.archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 Components [212 B]
Get:14 http://azure.archive.ubuntu.com/ubuntu noble-security/main amd64 Components [9024 B]
Get:15 http://azure.archive.ubuntu.com/ubuntu noble-security/universe amd64 Components [51.9 kB]
Get:16 http://azure.archive.ubuntu.com/ubuntu noble-security/restricted amd64 Components [208 B]
Get:17 http://azure.archive.ubuntu.com/ubuntu noble-security/multiverse amd64 Components [208 B]
Fetched 1907 kB in 1s (2778 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
15 packages can be upgraded. Run 'apt list --upgradable' to see them.
- Instale o Apache:
sudo apt install apache2
3. Remover software
Se não precisar mais de um pacote, você poderá removê-lo com os comandos apt remove ou apt purge .
Exemplo: remoção do Apache
sudo apt remove apache2
Saída:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
apache2
...
After this operation, 2 MB disk space will be freed.
Do you want to continue? [Y/n]
Para removê-lo completamente, incluindo arquivos de configuração:
sudo apt purge apache2
4. Atualização e upgrade de pacotes
Atualizações regulares são essenciais para a segurança e a estabilidade do sistema.
Comandos:
- Atualizar a lista de pacotes
sudo apt update
- Atualizar pacotes instalados
sudo apt upgrade
- Upgrade completo (incluindo atualizações do kernel)
sudo apt full-upgrade
Saída:
The following packages will be upgraded:
linux-image-5.4.0-91-generic linux-headers-5.4.0-91-generic ...
Do you want to continue? [Y/n]
5. Gerenciamento de repositórios
Os repositórios são essenciais para o gerenciamento de pacotes. Por padrão, o Ubuntu usa repositórios oficiais, mas repositórios adicionais podem ser adicionados, modificados ou removidos conforme necessário.
Gerenciamento de repositórios no formato Deb822
Versões recentes do Ubuntu migraram para o formato Deb822 para o gerenciamento de repositórios. Em vez de usar o arquivo tradicional /etc/apt/sources.list , os repositórios agora são gerenciados por meio de arquivos .sources localizados no /etc/apt/sources.list.d/ diretório.
Exibir repositórios atuais
Para ver seus repositórios atuais, consulte os arquivos .sources em /etc/apt/sources.list.d/:
ls /etc/apt/sources.list.d/
Por exemplo:
cat /etc/apt/sources.list.d/ubuntu.sources
Um .sources arquivo no formato Deb822 tem este aspecto:
Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: noble-security
Components: main universe restricted multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Adicionar um repositório
Para adicionar um novo repositório no formato Deb822, crie um arquivo .sources em /etc/apt/sources.list.d/. Por exemplo, para adicionar um repositório PPA personalizado:
sudo nano /etc/apt/sources.list.d/custom.sources
Adicione o conteúdo personalizado desejado:
Types: deb
URIs: http://customizedurl/
Suites: noble
Components: main
Signed-By: /usr/share/keyrings/repository-name.gpg
Salve o arquivo e atualize a lista de pacotes:
sudo apt update
Remover um repositório
Para remover um repositório, exclua o arquivo .sources correspondente de /etc/apt/sources.list.d/:
sudo rm /etc/apt/sources.list.d/custom.sources
sudo apt update
Benefícios do formato Deb822
- Configuração estruturada: Separa claramente tipos de repositório, URIs, suítes e componentes.
- Segurança aprimorada: Permite especificar chaves GPG para assinatura de repositórios usando o campo
Signed-By. - Melhor compatibilidade: Facilita o gerenciamento de vários repositórios em ambientes de nuvem e conteinerizados.
Para mais detalhes, consulte a página do manual sources.list(5).
6. Gerenciamento do cache de pacotes
O APT usa um sistema de cache para armazenar localmente arquivos de pacotes baixados e metadados. Esse cache ajuda a acelerar operações como instalação e atualizações de software, mas pode crescer com o tempo e consumir espaço em disco. Entender como gerenciar o cache é essencial para manter o desempenho do sistema e liberar recursos.
Verificação do tamanho do cache
Para verificar quanto espaço o cache está usando:
sudo du -sh /var/cache/apt/
Exemplo de saída:
126M /var/cache/apt/
Limpeza do cache
- Limpar o cache de pacotes
Use o comandoapt cleanpara remover todos os arquivos de pacotes em cache:sudo apt cleanIsso limpa o/var/cache/apt/archivesdiretório, que armazena.debarquivos. - Remover downloads parciais
Se um download foi interrompido ou corrompido, remova os arquivos parciais com:sudo apt autocleanIsso remove apenas arquivos desatualizados e downloads parciais.
Exemplo de saída da limpeza de cache
sudo apt clean
sudo apt autoclean
Saída:
Cleaning up /var/cache/apt/archives...
Removing unused files...
Done.
Reconstrução do cache
Se suspeitar que os metadados do cache estão corrompidos, reconstrua-o atualizando a lista de pacotes:
sudo apt update
Isso atualiza o cache local com os metadados mais recentes dos repositórios.
7. Cenários de nuvem: gerenciamento de software em Azure, AWS e GCP
Em ambientes de nuvem, o gerenciamento de software no Ubuntu Server funciona de forma semelhante às configurações locais. No entanto, há considerações adicionais:
Azure
- O Azure fornece Extensões de Script Personalizado para automatizar a instalação de software durante a implantação de VMs.
- Exemplo: uso de um script para instalar o Nginx:
az vm extension set \
--resource-group myResourceGroup \
--vm-name myVM \
--name CustomScript \
--publisher Microsoft.Azure.Extensions \
--settings '{"commandToExecute":"sudo apt update && sudo apt install -y nginx"}'
AWS
- Use scripts de dados de usuário para instalar software durante a inicialização da instância.
- Exemplo: instalação do Docker em uma instância EC2:
#!/bin/bash
sudo apt update
sudo apt install -y docker.io
GCP
- Use scripts de inicialização para gerenciar a instalação de software em instâncias de VM.
- Exemplo: instalação do MySQL:
#!/bin/bash
sudo apt update
sudo apt install -y mysql-server
8. Solução de problemas comuns durante a instalação ou desinstalação
1. Pacote não encontrado
Se um pacote não for encontrado, verifique se o repositório está habilitado:
sudo apt update
sudo apt update
2. Erros de dependência
Corrija as dependências ausentes:
sudo apt --fix-broken install
3. Problemas com repositórios
Verifique se há erros de repositório:
sudo apt update
Exemplo de saída:
Err:1 http://ppa.launchpad.net/repository-name/ubuntu noble Release
404 Not Found
Solução: remova ou corrija a entrada do repositório em /etc/apt/sources.list.
4. A desinstalação deixa arquivos residuais
Limpe os arquivos restantes:
sudo apt autoremove
sudo apt purge package-name
5. Permissão negada
Certifique-se de ter privilégios de root:
sudo apt install package-name
9. Práticas recomendadas para o gerenciamento de pacotes
- Sempre atualize antes de instalar software
sudo apt update
- Atualize seu sistema regularmente
Useapt upgradeouapt full-upgradepara manter seu sistema seguro. - Remova pacotes desnecessários
sudo apt autoremove
- Use repositórios confiáveis
Evite repositórios de terceiros, a menos que sejam necessários. - Monitore alterações de pacotes em ambientes de nuvem
Automatize atualizações usando scripts ou ferramentas de gerenciamento de configuração como o Ansible. - Limpe o cache periodicamente
Limpe o cache regularmente para liberar espaço em disco:
sudo apt clean
Conclusão
Quer você gerencie um servidor local ou trabalhe na nuvem, dominar a instalação e o gerenciamento de software no Ubuntu Server é fundamental para manter um sistema seguro e eficiente. Seguindo as práticas recomendadas descritas neste guia, você pode garantir que seu servidor permaneça otimizado e pronto para qualquer carga de trabalho.
Para mais informações, consulte a documentação oficial do Ubuntu sobre APT.
E agora?
No próximo artigo, vamos nos aprofundar em aplicação de patches e atualização do Ubuntu Server, uma tarefa crítica para manter a segurança e a estabilidade. Você aprenderá:
- Por que a aplicação de patches é fundamental para a segurança e a estabilidade e como isso evita vulnerabilidades.
- Como usar apt para atualizar e melhorar seu servidor com eficácia.
- As diferenças entre apt update, apt upgrade, e apt full-upgrade para evitar erros comuns.
- Automatização de atualizações com unattended-upgrades para economizar tempo e garantir consistência.
- Como lidar com as atualizações do kernel e reiniciar o servidor sem problemas usando as notificações de reboot-required .
Fique atento a informações práticas sobre como manter seu Ubuntu Server seguro e atualizado!
4 thoughts on “06. Installing and Managing Software on Ubuntu Server: A Complete Guide”