===== 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.