- Gerenciamento de Pacotes no Debian/Ubuntu
O utilitário dpkg é uma ferramenta de baixo nível para manipular pacotes .deb. Exemplos de uso:
# Verificar se o pacote 'ssh' está instalado
dpkg -s ssh
# Listar todos os arquivos associados ao pacote 'ssh'
dpkg -L ssh
# Instalar o editor vim a partir de um arquivo .deb local
dpkg -i vim.deb
# Instalar via repositório online
apt-get install vim
# Remover o pacote 'vim' (mantém arquivos de configuração)
dpkg -r vim
# Remover completamente o pacote 'vim' (inclui arquivos de configuração)
dpkg -P vim
- Gerenciamento de Pacotes no Red Hat/CentOS (YUM)
O yum é o gerenciador de pacotes para distribuições baseadas em Red Hat.
# Verificar se o vim está disponível nos repositórios
yum list vim
# Listar todos os pacotes instalados no sistema
yum list installed
# Instalar o vim
yum install vim
# Instalar a partir de um arquivo .rpm local
yum localinstall vim.rpm
# Atualizar o vim para a versão mais recente
yum update vim
# Remover o vim
yum remove vim
# Remover o vim e todos os arquivos relacionados (remove dependências)
yum erase vim
# Limpar o cache do yum
yum clean all
- Alteração de Senha do Root
Para definir ou alterar a senha do superusuário, utilize:
sudo passwd
# Digite a nova senha quando solicitado
# Para mudar para o usuário root
su root
# Insira a senha recém-criada
- Parada do Sistema
Para desligar a máquina imediatamente:
shutdown -h now
Observação: Se um serviço como o ActiveMQ apresentar um arquivo locked, verifique se não há duas instâncias do serviço em execução.
- Remoção de Pacotes via APT
Para remover um software no Ubuntu/Debian:
sudo apt-get remove nome_do_pacote
Exemplo prático:
sudo apt-get remove gitlab
- Verificação de Comandos (Internos vs Externos)
O comando type indica se um comando é nativo do shell ou um binário externo.
type kill
# Saída: kill é um shell embutido
type -P kill
# Saída: /bin/kill
type -P reboot
# Saída: /sbin/reboot
- Busca de Arquivos com
find
# Procurar por "xx.txt" a partir do diretório atual
find . -name "xx.txt"
# Buscar por "a.txt" em todo o sistema
find / -name "a.txt"
# No diretório "clession", buscar arquivos com dois underscores (ex: test_a)
find clession -name \*\_\*
# Buscar todos os arquivos terminados em ".c"
find / -name \*.c
- Localização de Binários com
which
O which exibe o caminho completo de um comando dentro dos diretórios listados em $PATH.
which find
# Saída: /usr/bin/find
which touch
# Saída: /usr/bin/touch
8.1 Informações Detalhadas de um Arquivo
Para obter metadados completos de um arquivo (tamanho, permissões, timestamps, etc.), use stat:
stat a.c
Exemplo de saída:
Arquivo: a.c
Tamanho: 351 Blocos: 8 Bloco de E/S: 4096 arquivo regular
Dispositivo: 801h/2049d Inode: 134946 Links: 1
Acesso: (0664/-rw-rw-r--) Uid: ( 1000/ usuario) Gid: ( 1000/ grupo)
Acesso: 2018-03-29 20:59:41.294967784 +0800
Modificação: 2018-03-29 20:59:37.390826584 +0800
Alteração: 2018-03-29 20:59:37.390826584 +0800
Criação: -
8.2 Busca de Conteúdo com grep
Para verificar se um termo específico existe dentro de um arquivo:
grep "main" a.txt
- Busca por Índice com
locate
O locate utiliza um banco de dados indexado (mlocate) para realizar buscas rápidas.
locate mv
# Retorna todos os caminhos que contêm "mv"
- Gerenciamento de Processos
Visualização de Processos
# Listar processos associados ao terminal atual, filtrando por ssh
ps aux | grep ssh
# Listar todos os processos (formato completo)
ps -ef
# Filtrar a saída completa
ps -ef | grep ssh
# Exibir árvore de processos com IDs
pstree -p
Monitoramento com top
# Exibe todos os processos dinâmicos com uso de CPU
top
# Enquanto o top estiver rodando, pressione 'i' para ocultar processos inativos
# Monitorar um PID específico (ex: PID do shell atual)
top -p $$
# Monitorar um PID específico (ex: 12345)
top -p 12345
Finalização de Processos
# Encerrar processo pelo PID
kill -9 12345
# Encerrar todos os processos com o nome "gedit"
killall gedit
# Encerrar todos os processos que começam com "http" (Apache, httpd, etc.)
killall http\*
# Obter o PID de um programa em execução
pidof a.out
pidof vim
- Identificação de Tipo de Arquivo
O comando file analisa o cabeçalho do arquivo para determinar seu tipo real:
file a.out
# Saída: a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.32
- Modifciação do Nome do Host
Para alterar o hostname de forma permanente, siga os passos abaixo:
Passo 1: Modifique o arquivo de configuração de rede:
vim /etc/sysconfig/network
Altere a linha HOSTNAME para o novo valor desejado.
Passo 2: Atualize o arquivo /etc/hosts para associar o novo nome ao IP local:
vim /etc/hosts
Adicione ou modifique as entradas:
127.0.0.1 novo-hostname novo-hostname.localdomain
192.168.10.88 novo-hostname novo-hostname.localdomain
Ou, de forma mais simplificada:
127.0.0.1 localhost
127.0.1.1 novo-hostname
- Relações entre Processos
Utilize pstree para visualizar a hierarquia entre processos:
# Mostrar a árvore de processos relacionada ao sshd
pstree -ulp | grep sshd
# Visualizar detalhes do processo sshd
ps -ef | grep sshd
- Criação de Aliases
Para simplificar comandos longos ou complexos, defina um alias:
alias myls='ls -l --color=auto'
Dessa forma, ao digitar myls, o sistema executará o comando ls -l --color=auto.
- Formatação de Data
O comando date permite exibir a data atual em diversos formatos. Exemplo:
date +%Y%m%d
# Saída: 20180403 (AnoMêsDia)