Ficha 01 · Linux e shell
- Conhecer software livre
- Planear instalação
- Operar a shell
- Usar pipes
Parte I · Conceitos
Exercício 1 · Software livre (10 pts)
Enuncia as 4 liberdades do software livre.
- Usar o programa para qualquer fim.
- Estudar como funciona e adaptá-lo (acesso ao código-fonte).
- Redistribuir cópias.
- Distribuir versões modificadas.
Exercício 2 · Distribuições (10 pts)
Indica a distribuição mais adequada:
a) Servidor empresarial estável (substituto do CentOS). ___
b) Utilizador que vem do Windows e quer facilidade. ___
c) Iniciante a aprender Linux para desktop e servidor. ___
a) Rocky Linux ou AlmaLinux (compatíveis RHEL). b) Linux Mint (interface familiar, fácil). c) Ubuntu (documentação enorme, comunidade, desktop+servidor).
Exercício 3 · Particionamento (15 pts)
Propõe um esquema de partições para um portátil Linux com 500 GB e 16 GB de RAM (sem hibernação), justificando.
| Partição | Montagem | Tamanho | FS |
|---|---|---|---|
| EFI System | /boot/efi |
512 MB | FAT32 |
| Raiz | / |
50 GB | ext4 |
| Home | /home |
~448 GB | ext4 |
| Swap | swap | 4-8 GB | swap |
Justificação: separar /home permite reinstalar o sistema sem perder dados. Swap pequeno chega (16 GB RAM, sem hibernação). ext4 é o padrão robusto. EFI necessária para arranque UEFI.
Parte II · Shell
Exercício 4 · Comandos (15 pts)
Indica o comando para:
a) Ver o diretório atual. ___
b) Listar ficheiros com detalhe, incluindo ocultos. ___
c) Criar a árvore de pastas projecto/src/utils de uma vez. ___
d) Acompanhar um log em tempo real. ___
e) Procurar a palavra "erro" em todos os ficheiros recursivamente. ___
a) pwd
b) ls -la
c) mkdir -p projecto/src/utils
d) tail -f ficheiro.log
e) grep -r "erro" .
Exercício 5 · FHS (10 pts)
Onde, segundo o FHS, encontras:
a) Ficheiros de configuração do sistema. ___
b) Logs. ___
c) Pastas pessoais dos utilizadores. ___
d) Ficheiros temporários. ___
a) /etc
b) /var/log
c) /home
d) /tmp
Exercício 6 · Pipes (15 pts)
Escreve um comando único para:
a) Contar quantos utilizadores existem em /etc/passwd.
b) Listar apenas os ficheiros .conf de /etc.
c) Ver os 20 últimos eventos do kernel.
a) cat /etc/passwd | wc -l (ou wc -l < /etc/passwd)
b) ls /etc | grep "\.conf$" (ou ls /etc/*.conf)
c) dmesg | tail -20
Parte III · Cenário
Exercício 7 · Pós-instalação (25 pts)
Acabaste de instalar Ubuntu Server numa VM. Escreve a sequência de comandos para:
a) Actualizar o sistema. (5 pts) b) Instalar git, curl, vim, htop. (5 pts) c) Instalar e activar o servidor SSH. (5 pts) d) Activar a firewall permitindo SSH. (5 pts) e) Criar um utilizador "admin" com sudo. (5 pts)
# a) Actualizar
sudo apt update && sudo apt upgrade -y
# b) Ferramentas base
sudo apt install git curl vim htop -y
# c) SSH
sudo apt install openssh-server -y
sudo systemctl enable --now ssh
# d) Firewall
sudo ufw allow ssh
sudo ufw enable
sudo ufw status
# e) Utilizador admin com sudo
sudo adduser admin
sudo usermod -aG sudo admin
(Bónus: configurar SSH só com chaves e desactivar login de root/senha em /etc/ssh/sshd_config.)