===== Nível Básico =====
=== 1. Gerenciamento de Pacotes com `apt` (Debian/Ubuntu) ===
* **apt update** - Atualiza a lista de pacotes disponíveis.
- Exemplo de uso: sudo apt update
- Descrição: Atualiza os índices dos repositórios de pacotes, garantindo que o sistema tenha as informações mais recentes sobre pacotes disponíveis.
* **apt install** - Instala um novo pacote.
- Exemplo de uso: sudo apt install vim
- Descrição: Instala o pacote ''vim'' (editor de texto) e todas as suas dependências no sistema.
* **apt remove** - Remove um pacote instalado.
- Exemplo de uso: sudo apt remove vim
- Descrição: Remove o pacote ''vim'' do sistema, mas mantém os arquivos de configuração.
=== 2. Gerenciamento de Pacotes com `yum` (Red Hat/CentOS) ===
* **yum update** - Atualiza todos os pacotes instalados.
- Exemplo de uso: sudo yum update
- Descrição: Atualiza todos os pacotes instalados no sistema para suas versões mais recentes.
* **yum install** - Instala um novo pacote.
- Exemplo de uso: sudo yum install httpd
- Descrição: Instala o servidor web Apache (''httpd'') no sistema.
* **yum remove** - Remove um pacote instalado.
- Exemplo de uso: sudo yum remove httpd
- Descrição: Remove o pacote ''httpd'' e suas dependências associadas do sistema.
=== 3. Verificação de Pacotes Instalados ===
* **dpkg -l** - Lista todos os pacotes instalados (Debian/Ubuntu).
- Exemplo de uso: dpkg -l
- Descrição: Exibe uma lista de todos os pacotes instalados no sistema com o status de instalação.
* **rpm -qa** - Lista todos os pacotes instalados (Red Hat/CentOS).
- Exemplo de uso: rpm -qa
- Descrição: Exibe uma lista de todos os pacotes instalados no sistema usando o gerenciador de pacotes RPM.
===== Nível Intermediário =====
=== 1. Pesquisa e Informação de Pacotes ===
* **apt search** - Pesquisa pacotes disponíveis nos repositórios.
- Exemplo de uso: apt search nginx
- Descrição: Pesquisa por pacotes relacionados a ''nginx'' nos repositórios disponíveis e exibe uma lista dos pacotes encontrados.
* **yum search** - Pesquisa pacotes disponíveis nos repositórios.
- Exemplo de uso: yum search nginx
- Descrição: Pesquisa por pacotes relacionados ao ''nginx'' nos repositórios do sistema Red Hat/CentOS.
* **apt show** - Exibe informações detalhadas sobre um pacote.
- Exemplo de uso: apt show nginx
- Descrição: Exibe informações detalhadas sobre o pacote ''nginx'', incluindo sua descrição, dependências e versão disponível.
* **yum info** - Exibe informações detalhadas sobre um pacote.
- Exemplo de uso: yum info nginx
- Descrição: Exibe informações detalhadas sobre o pacote ''nginx'', como descrição, versão e dependências.
=== 2. Gerenciamento de Dependências de Pacotes ===
* **apt autoremove** - Remove pacotes e dependências desnecessárias.
- Exemplo de uso: sudo apt autoremove
- Descrição: Remove pacotes e bibliotecas que não são mais necessários, liberando espaço no sistema.
* **yum autoremove** - Remove pacotes e dependências não mais utilizadas.
- Exemplo de uso: sudo yum autoremove
- Descrição: Remove pacotes que foram instalados como dependências, mas não são mais utilizados por nenhum outro pacote.
=== 3. Gerenciamento de Repositórios ===
* **add-apt-repository** - Adiciona um novo repositório de pacotes (Debian/Ubuntu).
- Exemplo de uso: sudo add-apt-repository ppa:nginx/stable
- Descrição: Adiciona o repositório PPA oficial do ''nginx'' para a versão estável no sistema Ubuntu.
* **yum-config-manager** - Gerencia repositórios (Red Hat/CentOS).
- Exemplo de uso: sudo yum-config-manager --add-repo http://nginx.org/packages/centos/nginx.repo
- Descrição: Adiciona um novo repositório do ''nginx'' para CentOS diretamente no sistema.
=== 4. Limpeza de Cache de Pacotes ===
* **apt clean** - Limpa o cache de pacotes baixados.
- Exemplo de uso: sudo apt clean
- Descrição: Remove os pacotes baixados que estão armazenados em cache, liberando espaço em disco.
* **yum clean all** - Limpa o cache de pacotes e metadados.
- Exemplo de uso: sudo yum clean all
- Descrição: Limpa todos os arquivos de cache e metadados antigos de pacotes, permitindo uma nova atualização limpa.
===== Nível Avançado =====
=== 1. Verificação de Assinaturas de Pacotes ===
* **apt-key list** - Lista as chaves GPG instaladas para verificação de pacotes.
- Exemplo de uso: apt-key list
- Descrição: Exibe todas as chaves GPG instaladas no sistema que são usadas para verificar a autenticidade dos pacotes baixados.
* **rpm --checksig** - Verifica a assinatura de um pacote RPM.
- Exemplo de uso: rpm --checksig pacote.rpm
- Descrição: Verifica se o pacote ''pacote.rpm'' está devidamente assinado e autenticado, garantindo que ele não foi adulterado.
=== 2. Downgrade de Pacotes ===
* **apt install [pacote]=[versão]** - Faz downgrade para uma versão específica de um pacote.
- Exemplo de uso: sudo apt install nginx=1.18.0-0ubuntu1
- Descrição: Instala uma versão anterior específica do pacote ''nginx'', útil para retornar a versões estáveis ou compatíveis.
* **yum downgrade** - Faz downgrade de pacotes instalados.
- Exemplo de uso: sudo yum downgrade nginx
- Descrição: Retorna a uma versão anterior do pacote ''nginx'', útil quando a versão mais recente causa problemas de compatibilidade ou erros.
=== 3. Correção de Erros de Pacotes ===
* **apt --fix-broken install** - Corrige dependências quebradas ou pacotes incompletos.
- Exemplo de uso: sudo apt --fix-broken install
- Descrição: Corrige pacotes que foram instalados de maneira incompleta ou que têm dependências não resolvidas, garantindo a integridade do sistema.
* **yum-complete-transaction** - Finaliza transações interrompidas.
- Exemplo de uso: sudo yum-complete-transaction
- Descrição: Finaliza uma instalação ou remoção de pacotes que foi interrompida, corrigindo possíveis problemas no banco de dados de pacotes do sistema.
=== 4. Criação e Instalação de Pacotes Locais ===
* **dpkg -b** - Cria um pacote Debian a partir de um diretório.
- Exemplo de uso: dpkg -b /diretorio/pacote/ pacote.deb
- Descrição: Cria um pacote Debian ''pacote.deb'' a partir do conteúdo do diretório especificado, útil para empacotar programas personalizados.
* **rpm -ivh** - Instala um pacote RPM localmente.
- Exemplo de uso: sudo rpm -ivh pacote.rpm
- Descrição: Instala o pacote ''pacote.rpm'' manualmente no sistema, mostrando o progresso e verificando dependências locais.
=== 5. Bloqueio de Versões de Pacotes ===
* **apt-mark hold** - Impede a atualização de um pacote específico.
- Exemplo de uso: sudo apt-mark hold nginx
- Descrição: Bloqueia o pacote ''nginx'', impedindo que ele seja atualizado durante futuras atualizações de sistema.
* **yum versionlock** - Bloqueia a versão de um pacote.
- Exemplo de uso: sudo yum versionlock add nginx
- Descrição: Impede que o pacote ''nginx'' seja atualizado, mantendo a versão atual fixa.
===== Nível Especializado =====
=== 1. Automação de Atualizações e Instalações de Pacotes ===
* **unattended-upgrades** - Automatiza atualizações de pacotes no Debian/Ubuntu.
- Exemplo de uso: sudo apt install unattended-upgrades
- Descrição: Instala o serviço ''unattended-upgrades'', que permite a automação de atualizações de segurança e de pacotes no sistema Debian/Ubuntu.
* **dnf-automatic** - Automatiza atualizações de pacotes no Red Hat/CentOS.
- Exemplo de uso: sudo dnf install dnf-automatic
- Descrição: Instala o pacote ''dnf-automatic'', que permite a automação de atualizações no Red Hat/CentOS. Pode ser configurado para instalar atualizações automaticamente em horários programados.
* **unattended-upgrades --dry-run** - Testa a execução de atualizações automáticas.
- Exemplo de uso: sudo unattended-upgrades --dry-run
- Descrição: Simula a execução de atualizações automáticas, permitindo que você veja quais pacotes seriam atualizados sem aplicar as mudanças.
=== 2. Criação de Repositórios Locais ===
* **dpkg-scanpackages** - Cria um repositório local Debian/Ubuntu.
- Exemplo de uso: dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
- Descrição: Escaneia o diretório atual em busca de pacotes Debian e gera um arquivo ''Packages.gz'', que pode ser usado como índice para um repositório local de pacotes.
* **createrepo** - Cria um repositório local Red Hat/CentOS.
- Exemplo de uso: sudo createrepo /caminho/para/repo
- Descrição: Cria um repositório de pacotes RPM a partir de um diretório especificado, gerando os arquivos de metadados necessários para que o repositório possa ser usado em instalações via ''yum'' ou ''dnf''.
=== 3. Gerenciamento de Pacotes com `snap` e `flatpak` ===
* **snap install** - Instala pacotes com Snap no Ubuntu e sistemas compatíveis.
- Exemplo de uso: sudo snap install vlc
- Descrição: Instala o pacote ''vlc'' diretamente da Snap Store. O Snap é um sistema de pacotes que facilita a instalação de software em várias distribuições Linux.
* **flatpak install** - Instala pacotes com Flatpak em várias distribuições.
- Exemplo de uso: sudo flatpak install flathub org.videolan.VLC
- Descrição: Instala o pacote ''VLC'' a partir do repositório Flathub, utilizando o sistema de pacotes Flatpak, que é compatível com diversas distribuições Linux.
* **snap refresh** - Atualiza pacotes Snap instalados.
- Exemplo de uso: sudo snap refresh
- Descrição: Atualiza todos os pacotes Snap instalados no sistema para as versões mais recentes disponíveis.
=== 4. Gestão de Pacotes em Ambientes Isolados com `chroot` ===
* **chroot** - Cria um ambiente isolado para instalação de pacotes.
- Exemplo de uso: sudo chroot /mnt/sistema_instalacao /bin/bash
- Descrição: Cria um ambiente chroot a partir do diretório ''/mnt/sistema_instalacao'' e inicia um shell dentro dele. Esse ambiente isolado pode ser usado para instalar pacotes e configurar um sistema sem afetar o ambiente host.
* **debootstrap** - Instala um sistema Debian básico em um ambiente chroot.
- Exemplo de uso: sudo debootstrap stable /mnt/sistema_instalacao http://deb.debian.org/debian
- Descrição: Instala o sistema Debian base no diretório ''/mnt/sistema_instalacao'', que pode ser usado como um ambiente chroot para testes e desenvolvimento.
=== 5. Pacotes e Repositórios Personalizados ===
* **fpm** - Ferramenta para criar pacotes .deb, .rpm, entre outros, a partir de scripts.
- Exemplo de uso: fpm -s dir -t deb -n meu_pacote -v 1.0 /caminho/para/arquivos/
- Descrição: Cria um pacote Debian chamado ''meu_pacote'' versão 1.0, contendo os arquivos do diretório especificado. O ''fpm'' é uma ferramenta versátil para empacotar software em vários formatos de pacotes.
* **reprepro** - Gerencia repositórios Debian personalizados.
- Exemplo de uso: sudo reprepro includedeb bionic pacote.deb
- Descrição: Adiciona o pacote Debian ''pacote.deb'' ao repositório personalizado para a distribuição ''bionic'', permitindo a distribuição de pacotes personalizados.
=== 6. Otimização de Repositórios com `apt-cacher` ===
* **apt-cacher-ng** - Cria um proxy de cache para pacotes apt.
- Exemplo de uso: sudo apt-cacher-ng
- Descrição: Inicia o serviço apt-cacher-ng, que armazena em cache pacotes baixados pelo APT, permitindo que vários sistemas na rede usem o cache local, economizando largura de banda e tempo de download.
* **apt-cacher-client** - Configura um cliente para usar o apt-cacher-ng.
- Exemplo de uso: echo 'Acquire::http { Proxy "http://servidor:3142"; };' | sudo tee /etc/apt/apt.conf.d/01proxy
- Descrição: Configura o APT para usar o servidor apt-cacher-ng como proxy para downloads, redirecionando todas as solicitações de pacotes para o servidor de cache local.