Compiler renterd sur NetBSD 10.1

Installation et compilation de renterd sur NetBSD

Prérequis


Installation des paquets nécessaires

pkgin update
pkgin -y install go124 git gcc14 tmux

Clonage du dépôt

cd /tmp
git clone https://github.com/SiaFoundation/renterd.git
cd renterd

Installation SQLite (CGO)

go124 install github.com/mattn/go-sqlite3

Modifications nécessaires au code source

1. Désactiver la fonction backupDB dans renterd :

Éditer /tmp/renterd/stores/sql/sqlite/backup.go, remplacer toute la fonction backupDB (à partir de la ligne 36) par :

func backupDB(ctx context.Context, src *dsql.DB, destPath string) (err error) {
 // deactivation for NetBSD
 return nil
}

2. Appliquer les modifications dans hostd :

Autoriser la modification :

chmod +w /root/go/pkg/mod/go.sia.tech/hostd/v2@v2.2.3/persist/sqlite/store.go

Éditer ce fichier et remplacer entièrement la fonction backupDB par :

func backupDB(ctx context.Context, src *sql.DB, destPath string) (err error) {
 // deactivation for NetBSD
 return nil
}

Également, remplacer la ligne :

sqliteVersion, _, _ := sqlite3.Version()

par :

sqliteVersion := "deactivated"

Compilation

cd /tmp/renterd
export CGO_ENABLED=1
go124 mod tidy
go124 build -v ./...
cd cmd/renterd
go124 build

Installation des binaires

mkdir -p /opt/renterd/bin
mv /tmp/renterd/* /opt/renterd/
cp /opt/renterd/cmd/renterd/renterd /opt/renterd/bin/

Création d'un utilisateur sécurisé dédié

groupadd renterd
useradd -g renterd -d /var/empty -s /sbin/nologin -c "renterd Daemon" renterd

Application des permissions strictes

chown -R renterd:renterd /opt/renterd
chmod -R 750 /opt/renterd

Démarrage avec tmux (simple exemple).

tmux new -s renterd
usermod -s /bin/sh renterd
su renterd -c 'cd /opt/renterd && /opt/renterd/bin/renterd'

Lors du premier lancement, initialiser avec la phrase seed et l'adresse wallet correspondantes :


Détacher la session tmux et sécuriser l'utilisateur

usermod -s /bin/false renterd

Votre service renterd est désormais installé et sécurisé sur NetBSD.



↑ Haut de page