O Ubuntu Server é uma versão enxuta do sistema operacional Ubuntu, projetada para um ambiente de servidor, onde não há necessidade de uma interface gráfica para o administrador. Tudo é feito através da linha de comando.
Foi feita a opção pelo Ubuntu Server 18.04 LTS, porque tem suporte até abril de 2023, enquanto para o Ubuntu 19.10 o suporte termina em julho de 2020.
Instalação
Rodar o Ubuntu Server no Raspberry Pi é simples. Basta baixar a imagem do sistema operacional, descompactá-la, copiar para um cartão microSD, colocar o cartão no Raspberry Pi e ligá-lo, conforme mostrado abaixo:
- Baixar a imagem do sistema operacional
- Na página Ubuntu 18.04.4 LTS (Bionic Beaver) clicar em 64-bit ARM (ARMv8/AArch64) server install image para baixar o arquivo contendo a imagem do sistema operacional.
- Descompactar o arquivo baixado
- 7z x ubuntu-18.04.4-preinstalled-server-arm64+raspi3.img.xz
- Gravar a imagem
- Foi utilizado o Gravador de Imagem USB (Mintstick) para gravar a imagem ISO no cartão microSD, conforme mostrado na figura acima.
- Transferir o cartão microSD para o Raspberry Pi
- Após o término da gravação da imagem, o cartão microSD deve ser removido do computador utilizado para gravar e transferido para o Raspberry Pi.
Configuração
Após colocar o cartão microSD no Raspberry Pi e ligar o equipamento é necessário configurá-lo, conforme mostrado abaixo:
Teclado:
O teclado configurado é o americano e deve ser trocado pelo brasileiro. Para isso deve ser editado o arquivo /etc/default/keyboard, mudando-se XKBLAYOUT de us para br:
$ cat /etc/default/keyboard
# KEYBOARD CONFIGURATION FILE
# Consult the keyboard(5) manual page.
XKBMODEL="pc105"
XKBLAYOUT="br"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"
Interface de Rede:
Só vem configurada a rede cabeada, com obtenção de endereço via DHCP. Para configurar a rede Wifi deve ser editado o arquivo /etc/netplan/50-cloud-init.yaml e adicionada a rede Wifi:
$ cat /etc/netplan/50-cloud-init.yaml
# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
ethernets:
eth0:
dhcp4: yes
optional: true
wifis:
wlan0:
dhcp4: yes
optional: true
access-points:
"nome-da-rede":
password: "senha-da-rede"
version: 2
Como está escrito no próprio arquivo ele não é persistente, é recriado toda vez que o sistema operacional é reiniciado. Para que isso não aconteça, deve ser criado o arquivo /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg contendo network: {config: disabled}:
$ cat /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
network: {config:disabled}
Para ativar a nova configuração deve ser executado o comando:
$ sudo netplan apply
Para ver a configuração das interfaces de rede:
ubuntu@ubuntu:~$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.129.1.235 netmask 255.255.255.224 broadcast 10.129.1.255
inet6 fe80::dea6:32ff:fe44:91ae prefixlen 64 scopeid 0x20<link>
ether dc:a6:32:44:91:ae txqueuelen 1000 (Ethernet)
RX packets 9834131 bytes 1863924451 (1.8 GB)
RX errors 0 dropped 425 overruns 0 frame 0
TX packets 9325554 bytes 10679395910 (10.6 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 15987022 bytes 799539525 (799.5 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 15987022 bytes 799539525 (799.5 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::dea6:32ff:fe44:91af prefixlen 64 scopeid 0x20<link>
ether dc:a6:32:44:91:af txqueuelen 1000 (Ethernet)
RX packets 72190 bytes 13951735 (13.9 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 21318 bytes 7149017 (7.1 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
SSH
Para permitir o acesso externo é necessário instalar o servidor SSH:
$ sudo apt install openssh-server
Informações
Unix name
ubuntu@ubuntu:~$ uname -a
Linux ubuntu 5.3.0-1022-raspi2 #24~18.04.1-Ubuntu SMP Sat Mar 28 00:52:28 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux