From bd6e47ef929454a1098b720c53c57c76e3243cc4 Mon Sep 17 00:00:00 2001 From: "Odair M." <odairmario45@gmail.com> Date: Mon, 11 Mar 2024 23:15:43 -0300 Subject: [PATCH] WIP: install debian --- source/pages/forsyn/install.md | 181 +++++++++++++++++++++++++++++++++ 1 file changed, 181 insertions(+) create mode 100644 source/pages/forsyn/install.md diff --git a/source/pages/forsyn/install.md b/source/pages/forsyn/install.md new file mode 100644 index 0000000..0472bb0 --- /dev/null +++ b/source/pages/forsyn/install.md @@ -0,0 +1,181 @@ +# 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 +``` -- GitLab