Skip to content
Snippets Groups Projects
Commit bd6e47ef authored by Odair M.'s avatar Odair M.
Browse files

WIP: install debian

parent d7918a93
No related branches found
No related tags found
No related merge requests found
# Instalação
A forsyn utiliza Debian 12-backports como sistema operacional. A instalação é realizada por meio de
*debootstrap* em um raid 1. Os seguintes pacotes são incluído além do padrão:
* systemd
* systemd-container
* systemd-timesyncd
* systemd-cron
* systemd-resolved
* mdadm
* grub-pc
* linux-image-amd64
* linux-headers-amd64
* ssh
* rsync
* vim
* htop
* curl
* wget
* less
* lm-sensors
* iproute2
* gdisk
* fdisk
* dnsutils
* iputils-ping
* zsh
* locales
* locales-all
* gcc
* make
* unzip
* tar
* man-db
* keyboard-configuration
* console-setup
* git
* python3
* debootstrap
* smartmontools
* ipmitool
* build-essential
* cmake
* forensics-all
* msmtp
* msmtp
* msmtp-mta
* mailutils
* bsd-mailx
* dialog
coloque todos pacotes em uma váriavel para facilitar o debootstrap:
```sh
export packages="systemd,systemd-container,systemd-timesyncd,systemd-cron,systemd-resolved,mdadm,grub-pc,linux-image-amd64,linux-headers-amd64,ssh,rsync,vim,htop,curl,wget,less,lm-sensors,iproute2,gdisk,fdisk,dnsutils,iputils-ping,zsh,locales,locales-all,gcc,make,unzip,tar,man-db,keyboard-configuration,console-setup,git,python3,debootstrap,smartmontools,ipmitool,build-essential,cmake,forensics-all,msmtp,msmtp,msmtp-mta,mailutils,bsd-mailx"
```
Defina o diretório no qual está montado a raiz, no caso está em `/mnt`
```sh
export mount_point=/mnt
```
Defina a versão do debian que será instalado, hoje 2024-02-29 será debian12:
```sh
export os_version=bookworm
```
Defina a arquitetura do sistema operacional:
```sh
export arch=amd64
```
Defina o mirror utilizado para baixar:
```sh
export mirror=http://debian.c3sl.ufpr.br/debian
```
Defina a variante, a variante pode ser minbase que vem o basico ou buildd que vem mais pacotes para
realizar build de aplicação. Será utilizado o *minbase*
```sh
export variant=minbase
```
O comando final do debootstrap após definir todas variaveis é:
```sh
debootstrap --variant=${variant} --include=${packages} --arch=${arch} ${os_version} ${mount_point} ${mirror}
```
# Configuração
Após a instalação é necessário configurar todos os pacotes instalados
## Desative interface GUI
O primeiro passo é desativar qualquer interface feita com ncurser[^1].
```sh
echo DEBIAN_FRONTEND=readline >> ${mount_point}/etc/environment
```
````{note}
Se for utilizar em script ou algum gerenciador de configuração como saltstack ou ansible mude para
*noninteractive*.
````
## Configure a rede
O próximo passo é configurar a rede do host. Será utilizado o systemd-network.
### Mude o nome da interface ativa para lan0
Para mudar o nome da interface ativa configuramos o arquivo `${mount_point}/etc/systemd/network/10-lan0.link`
No caso o *MAC address* da interface de 10 Gb/s da forsyn é: ``
```sh
[Match]
MACAddress=90:e2:ba:51:cb:50
Type=!vlan
[Link]
Name = lan0
Description = lan 10G
```
### Configure a interface para ter endereço fixo
Por decisão de projeto a servidora deve depender o minimo possível de serviços de terceiros.
Portanto, não deve ser utilizado DHCP tanto o IPV4 quanto o IPV6 devem
ser definido de forma fixa. Edite o arquivo `${mount_point}/etc/systemd/network/20-network.network`
e coloque o conteúdo abaixo:
```sh
[Match]
Name = lan0
[Network]
Address=200.17.202.114/25
```
### Configure a resolução do DNS
A configuração de resolução de nomes é realizado pelo systemd-resolved.
:::{note}
Desde da versão 12 do debian não vem o pacote junto com o systemd, é necessário instalar
manualmente. Ele já está incluído na lista de pacotes bases.
A configuração da resolução de nomes do DNS é realizada pelo systemd-resolved, gerenciado pelo
arquivo `/etc/systemd/resolved.conf`. Deve ser adicionado como DNS primário:
```
urquell.c3sl.ufpr.br has address 200.17.202.3
urquell.c3sl.ufpr.br has IPv6 address 2801:82:80ff:8001::2
```
E servidor secundário a sagres:
```sh
sagres.c3sl.ufpr.br has address 200.236.31.1
sagres.c3sl.ufpr.br has IPv6 address 2801:82:80ff:8000::2
```
Logo o arquivo `${mount_point}/etc/systemd/resolved.conf` fica dessa forma:
```ini
[Resolve]
DNS = 200.17.202.3 2801:82:80ff:8001::2
FallbackDNS = 200.236.31.1 2801:82:80ff:8000::2
Domains=c3sl.ufpr.br inf.ufpr.br
```
Ative o serviço e garanta que o `${mount_point}/etc/resolv.conf` seja um link para
`/run/systemd/resolve/stub-resolv.conf`
```sh
systemd-nspawn -D ${mount_point} systemctl enable systemd-resolved
systemd-nspawn -D ${mount_point} ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment