Gravador de Imagem USB (Mintstick)

Ubuntu Server

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:

  1. 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.
  2. Descompactar o arquivo baixado
    • 7z x ubuntu-18.04.4-preinstalled-server-arm64+raspi3.img.xz
  3. 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.
  4. 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
Referências

Computação para a Ciência