Andrew Walker d0febd9b3c Do not clone systemd journal on upgrade (#711)
During the upgrade process its possible for the syslog-ng cursor for
the systemd journal to advance beyond what is present in the newly
cloned logs dataset. This results in syslog-ng re-reading the same
messages and sending them a second time to remote syslog servers, our
audit databases, and local files.

For typical purposes the systemd journal is treated as ephemeral data,
but is not something we want to lose on reboot or upgrade. This means
that volatile storage is undesirable. As a compromise solution that
absolutely prevents duplicate entries we have settled on creating a new
dedicated systemd journal dataset on upgrades. The old journal contents
dataset are preserved in the previous boot environment.

This has the added advantage of allowing us to disable ACL support
on the logs dataset.
2024-09-12 07:23:36 -06:00
2024-07-24 11:28:33 -04:00
2024-06-04 05:25:04 +05:00
2024-08-26 14:53:11 -04:00
2022-08-04 18:56:17 +05:00

Join Discord Join Forums File Issue

truenas-build

A build framework for TrueNAS SCALE.

Found an issue in the build for SCALE? Please report it on our Jira bugtracker.

Requirements

  • Debian 10 or later (VM or Bare-Metal)
  • 16GB of RAM
  • At least 15GB of free disk space

In addition to the host, you will want to pre-install the following packages:

  • build-essential
  • debootstrap
  • libjson-perl
  • git
  • python3-pip
  • python3-venv
  • squashfs-tools
  • rsync
  • unzip
  • libarchive-tools

% sudo apt install build-essential debootstrap git python3-pip python3-venv squashfs-tools unzip libjson-perl rsync libarchive-tools

Usage

After the pre-requistes are installed, simply run "make" (as root or sudo) to perform a complete build which performs the following steps:

make checkout

Pulls in the latest target source repos from online. Re-run to update to latest sources at any time.

make packages

Builds all the *.deb packages from the checked out source repos and stages them for further stages. Re-running it will perform an incremental build, only re-building packages which have changed sources in source/.

make update

Builds the stand-alone update file, used for online/offline updating or building ISO images.

make iso

Builds the ISO image for fresh installation.

make clean

Cleans up all the temporary files and returns to original state.

Overrides

It is possible using make and environment variables to override which source repos get checked out during "make checkout" phase.

TRUENAS_BRANCH_OVERRIDE - Can be used to override all source repos at once

_OVERRIDE - Can override specific repos, I.E. debootstrap_OVERRIDE="master"

Description
TrueNAS SCALE Build System
Readme GPL-3.0 8.2 MiB
Languages
Python 96.6%
Shell 1.9%
Makefile 1.1%
Perl 0.4%