Identificação de Versão do Ubuntu
Para determinar a versão do Ubuntu em uso, você pode utilizar os seguintes comandos:
lsb_release -a: Exibe todas as informações da LSB (Linux Standard Base), incluindo nome, release e codinome.lsb_release -cs: Retorna apenas o codinome da versão.
É importante notar a distinção entre arquiteturas:
- Arquitetura x86: usa o nome da distribuição Ubuntu (ex:
focal). - Arquitetura ARM: usa o nome
ubuntu-ports(ex:ports-focal).
A relação entre números de versão e codinomes é a seguinte:
- Ubuntu 20.04 LTS:
focal - Ubuntu 18.04 LTS:
bionic - Ubuntu 17.10:
artful - Ubuntu 16.04 LTS:
xenial - Ubuntu 14.04 LTS:
trusty
Ao referenciar repositórios ou configurações, substitua o codinome pelo correspondente à sua versão.
Alternativa ao Comando netstat
Em muitas instalações modernas do Ubuntu, o comando netstat pode não estar disponível por padrão, pois pertence ao pacote net-tools. A alternativa recomendada e geralmente pré-instalada é o comando ss, que faz parte do pacote iproute2.
Instalando net-tools
Se você precisar utilizar o netstat especificamente, pode instalá-lo com o seguinte comando:
sudo apt update
sudo apt install net-tools
Após a instalação, o comando netstat estará disponível.
Configuração de Idioma e Fontes em Português
Instalação do Pacote de Idioma
Para habilitar o suporte a chinês simplificado (um exemplo comum, adoptável para português), use:
sudo apt install language-pack-zh-hans -y
Para português, seria algo como: sudo apt install language-pack-pt -y
Definição do Idioma Padrão
Existem várias maneiras de definir o idioma padrão:
Método 1: Usando dpkg-reconfigure
sudo dpkg-reconfigure locales
Selecione as opções de locale desejadas (ex: en_US.UTF-8 e pt_BR.UTF-8) e escolha o idioma português como padrão.
Método 2: Edição Manual de Arquivos de Configuração
- Edite
/etc/locale.gen: Descomente a linha correspondente ao locale desejado (ex:# pt_BR.UTF-8 UTF-8parapt_BR.UTF-8 UTF-8). - Gere os locales:
sudo locale-gen - Defina o idioma padrão editando
/etc/default/locale: ``` sudo nano /etc/default/locale
LANG=pt_BR.UTF-8Configure com:
Método 3: Configuração Rápida
cat <<EOF | sudo tee /etc/default/locale
LANG=pt_BR.UTF-8
LANGUAGE=pt_BR:pt:en_US:en
EOF
Após aplicar qualquer um desses métodos, reinicie o terminal do WSL/Ubuntu para que as alterações de idioma sejam refletidas.
Habilitação de Fontes para Interfaces Gráficas (GUI)
Mesmo com o idioma configurado, programas com interface gráfica podem necessitar de fontes adicionais.
- Verifique se o
fontconfigestá instalado: ``` sudo apt install fontconfig - Instale fontes do Windows (alternativa comum): ```
sudo cp -r /mnt/c/Windows/Fonts /usr/share/fonts/windows
- Alternativamente, instale pacotes de fontes populares: ```
sudo apt install ttf-mscorefonts-installer -y
- Atualize o cache de fontes: ```
sudo fc-cache -f -v
- Reinicie o ambiente WSL/Ubuntu.
Para testar a exibição de uma aplicação gráfica (ex: gvim), você pode precisar configurar a variável DISPLAY:
export DISPLAY=:0.0
gvim &
Ajuste de Fuso Horário
Para configurar o fuso horário corretamente:
sudo dpkg-reconfigure tzdata
Gerenciamento de Senhas de Usuários
O comando passwd --stdin não é suportado em todas as versões do Ubuntu. Para definir a senha de um usuário programaticamente, utilize chpasswd:
echo "nome_usuario:nova_senha" | sudo chpasswd
Exemplo:
echo "alice:SenhaSegura123" | sudo chpasswd
Gerenciamento de Pacotes .deb com dpkg e apt
Comandos dpkg
- Instalar/atualizar um pacote:
dpkg -i pacote.deb - Remover um pacote:
dpkg -r nome_do_pacote - Listar pacotes instalados:
dpkg -l - Filtrar pacotes:
dpkg -l | grep termo - Verificar informações de um pacote instalado:
dpkg -s nome_do_pacote - Listar arquivos de um pacote instalado:
dpkg -L nome_do_pacote - Listar arquivos de um pacote .deb (não instalado):
dpkg --contents pacote.deb - Identificar o pacote que fornece um arquivo:
dpkg -S /caminho/para/arquivo
Comandos apt (Ferramenta de Gerenciamento Avançada)
- Instalar/atualizar um pacote:
apt install nome_do_pacote - Instalar de um CD-ROM:
apt-cdrom install nome_do_pacote - Atualizar lista de pacotes disponíveis:
apt update - Atualizar todos os pacotes instalados:
apt upgrade - Remover um pacote:
apt remove nome_do_pacote - Verificar integridade das dependências:
apt check - Limpar cache de pacotes baixados:
apt clean - Buscar pacotes:
apt-cache search termo_busca
Backup e Sincronização de Arquivos/Diretórios
Ferramenta dump e restore (Backup de Sistemas de Arquivos)
- Backup completo de
/home:dump -0aj -f /tmp/home0.bak /home - Backup incremental de
/home:dump -1aj -f /tmp/home0.bak /home - Restaurar backup:
restore -if /tmp/home0.bak
Ferramenta rsync (Sincronização Eficiente)
- Sincronizar diretórios localmente:
rsync -rogpav --delete /origem/ /destino/ - Sincronizar via SSH:
rsync -rogpav -e ssh --delete /origem/ usuario@ip_remoto:/destino/ - Sincronizar diretório remoto para local (com compressão):
rsync -az -e ssh --delete ip_remoto:/home/public /home/local - Sincronizar diretório local para remoto (com compressão):
rsync -az -e ssh --delete /home/local ip_remoto:/home/public
Backup de Disco/Partição com dd
- Backup de um disco para um arquivo (com compressão via SSH):
dd bs=1M if=/dev/sda | gzip | ssh usuario@ip_remoto 'dd of=sda.gz' - Backup de um disco para um arquivo local:
dd if=/dev/sda of=/tmp/disco_backup.img - Backup do MBR para um disquete:
dd if=/dev/sda of=/dev/fd0 bs=512 count=1 - Restaurar MBR de um disquete:
dd if=/dev/fd0 of=/dev/sda bs=512 count=1
Ferramenta tar (Arquivamento e Compressão)
- Backup interativo de um diretório:
tar -Puf backup.tar /caminho/para/diretorio - Copiar diretório para um local remoto via SSH (com compressão):
( cd /tmp/origem/ && tar c . ) | ssh -C usuario@ip_remoto 'cd /home/destino/ && tar x -p' - Copiar diretório local para remoto via SSH (com compressão):
( tar c /home/local ) | ssh -C usuario@ip_remoto 'cd /home/backup/ && tar x -p' - Copiar diretório localmente, preservando permissões:
tar cf - . | (cd /tmp/destino ; tar xf - )
Combinando find com tar e rsync
- Copiar arquivos encontrados recursivamente:
find /origem/ -name '*.txt' | xargs -i cp -av --target-directory=/destino/ --parents {} - Criar um arquivo compactado (bzip2) com arquivos de log encontrados:
find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log_arquivados.tar.bz2