• best practice system setup and some concept ideas - /root (OS) /home (d

    From dude@21:1/5 to All on Wed Oct 6 12:30:02 2021
    This is a multi-part message in MIME format.
    Hello Dear Debians,

    what is the best practice for easy update & dist-upgrade:

    1. in terms of speed and easy of distro updates, it makes sense to separate
    * /root (software (programs) that can be re-downloaded) (on
    separate single suepr fast SSD or NVMe)
    * /home (non-reblacable unique data (massive amounts of space with
    8x4TB software mdadm RAID10))
    2. when a new Debian 12 is coming out
    * how to re-play all those changes, installs, configs and programs
    made to /root?
    * mergo changes from a git repo into (also changed/updated by
    distro) config files?
    o and just pray it works :) (it will very often work :)
    3. if things go wrong there is still this nice "show me all changes to
    logs in beautiful colors" one liner
    * (ccze is very much needed also in Debian 12 :) (tried many
    alternatives)
    * find /var/log/* -type f \( -name "*" \) ! -path '*.gz*' -exec
    tail -n0 -f "$file" {} + | ccze

    would it be cool if such a system was already "build into" GNU Linux Debian?

    Like:

    1. install a very basic Debian 11 template
    2. apply all changes (all changes will be recorded to a separate
    partition (!?) or a local git repo!?) and saved as a "config
    snapshot" that can be re applied as soon as Debian 12 template is
    released :)?

    just an idea :)

    to automate those updates :)

    (which with very basic systems with basic services just work (mostly) flawlessly thanks all involved :)

    best reg


    <html>
    <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    </head>
    <body>
    <p>Hello Dear Debians,</p>
    <p>what is the best practice for easy update &amp; dist-upgrade:</p>
    <ol>
    <li>in terms of speed and easy of distro updates, it makes sense
    to separate</li>
    <ul>
    <li>/root (software (programs) that can be re-downloaded) (on
    separate single suepr fast SSD or NVMe)<br>
    </li>
    </ul>
    <ul>
    <li>/home (non-reblacable unique data (massive amounts of space
    with 8x4TB software mdadm RAID10))</li>
    </ul>
    <li>when a new Debian 12 is coming out</li>
    <ul>
    <li>how to re-play all those changes, installs, configs and
    programs made to /root?</li>
    <li>mergo changes from a git repo into (also changed/updated by
    distro) config files?</li>
    <ul>
    <li>and just pray it works :) (it will very often work :)</li>
    </ul>
    </ul>
    <li>if things go wrong there is still this nice "show me all
    changes to logs in beautiful colors" one liner</li>
    <ul>
    <li>(ccze is very much needed also in Debian 12 :) (tried many
    alternatives)<br>
    </li>
    </ul>
    <ul>
    <li><font face="monospace">find /var/log/* -type f \( -name "*"
    \) ! -path '*.gz*' -exec tail -n0 -f "$file" {} + | ccze</font></li>
    </ul>
    </ol>
    <p>would it be cool if such a system was already "build into" GNU
    Linux Debian?</p>
    <p>Like: <br>
    </p>
    <ol>
    <li>install a very basic Debian 11 template</li>
    <li>apply all changes (all changes will be recorded to a separate
    partition (!?) or a local git repo!?) and saved as a "config
    snapshot" that can be re applied as soon as Debian 12 template
    is released :)?</li>
    </ol>
    <p>just an idea :)</p>
    <p>to automate those updates :)</p>
    <p>(which with very basic systems with basic services just work
    (mostly) flawlessly thanks all involved :)</p>
    <p>best reg<br>
    </p>
    </body>
    </html>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrey Rahmatullin@21:1/5 to dude on Wed Oct 6 12:40:01 2021
    On Wed, Oct 06, 2021 at 12:03:16PM +0200, dude wrote:
    what is the best practice for easy update & dist-upgrade:

    1. in terms of speed and easy of distro updates, it makes sense to separate
    * /root (software (programs) that can be re-downloaded) (on
    separate single suepr fast SSD or NVMe)
    * /home (non-reblacable unique data (massive amounts of space with
    8x4TB software mdadm RAID10))
    This is mostly irrelevant.
    Also "non-reblacable unique data" exists outside /home too, e.g. in /etc
    and /var.

    2. when a new Debian 12 is coming out
    * how to re-play all those changes, installs, configs and programs
    made to /root?
    Just don't reinstall. Debian recommends using apt and following the
    release notes to upgrade to the next version.

    3. if things go wrong there is still this nice "show me all changes to
    logs in beautiful colors" one liner
    * (ccze is very much needed also in Debian 12 :) (tried many
    alternatives)
    * find /var/log/* -type f \( -name "*" \) ! -path '*.gz*' -exec
    tail -n0 -f "$file" {} + | ccze
    (doesn't look like *changes* to logs for me, but whatever works for you)

    1. install a very basic Debian 11 template
    2. apply all changes (all changes will be recorded to a separate
    partition (!?) or a local git repo!?) and saved as a "config
    snapshot" that can be re applied as soon as Debian 12 template is
    released :)?
    This is over-engineering, unless you are going for the "infrastructure as
    code" paradigm from the beginning (which is over-engineering for many
    use cases as well).

    --
    WBR, wRAR

    -----BEGIN PGP SIGNATURE-----

    iQJhBAABCgBLFiEEolIP6gqGcKZh3YxVM2L3AxpJkuEFAmFde7gtFIAAAAAAFQAP cGthLWFkZHJlc3NAZ251cGcub3Jnd3JhckBkZWJpYW4ub3JnAAoJEDNi9wMaSZLh qyQP/29dX1jbpymZqg9nRD/lujkDOzzrIUIIazrtgcbuxRomw90MKUuTsIAPxUHr 8es6Q7pA4xWT+d3+wpMz1OlOnEGayXbjy1I/GgJn5DiST5MwOiXjUw4r3w/BG/wt HralXJ+Hto37Fsh4SfU2a2M75KaKmfPFbjBPeCZooEHsIAZGETR4tPuY+qLa5I5B 2e4xOxphgmC5m5XxSJhQcKqgbtDsdZUiSVF04dFJXzgkXDbW1+f+7MXJSvpNVAGo XrgyovTCSNlxXMWy4ChKCMBqgzyEmg+p3AQALRVEBW9mcq5IeOXEQrD8bkJd+aUM rHtNtjH3ZBH5VPVqr/IIiyGb7azlWErzGgQebrv83b7ApM/q0NZEZo3LvEVHH/aI xaVoH3XnCB0r9WXvgwQJtHyMWFWVnSO0KAHTKnHcJdxzgYtWdrDLpt3dbIN0GOwU MwYaWCDhZsBFFQqTRlCUPNVAu9MSHD0Gx6V16qQTcKy0CVMlMHQwnv+NMVXFM1e1 S3XuLvCuA3pJ0BoA7N5NriJ5NCfFKtLzsgLzysoqHAsI+5TdJL7PRBBXJ3Dpa3Y7 vgNdl0/q9jw31wUexNNZl8lHfBpz7UKjdxyDCzKjOO5Wx8ScOaG1gEqXLjcDy6e/ S/wj91CdfHYvCQsWRKchSmWpmZNy/juZ99ZNphk7mkbtbY08
    =djRE
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Nicholas D Steeves@21:1/5 to Andrey Rahmatullin on Wed Oct 6 23:10:02 2021
    Andrey Rahmatullin <wrar@debian.org> writes:

    On Wed, Oct 06, 2021 at 12:03:16PM +0200, dude wrote:
    what is the best practice for easy update & dist-upgrade:

    1. in terms of speed and easy of distro updates, it makes sense to separate >> * /root (software (programs) that can be re-downloaded) (on
    separate single suepr fast SSD or NVMe)
    * /home (non-reblacable unique data (massive amounts of space with
    8x4TB software mdadm RAID10))
    This is mostly irrelevant.
    Also "non-reblacable unique data" exists outside /home too, e.g. in /etc
    and /var.

    2. when a new Debian 12 is coming out
    * how to re-play all those changes, installs, configs and programs
    made to /root?
    Just don't reinstall. Debian recommends using apt and following the
    release notes to upgrade to the next version.


    +1, one of the killer features of Debian is reliable and smooth
    upgrades.

    Given the / vs /root mixup, and the assumption that a new major release requires a reinstall, I think Dude is a new Debian user.

    3. if things go wrong there is still this nice "show me all changes to
    logs in beautiful colors" one liner
    * (ccze is very much needed also in Debian 12 :) (tried many
    alternatives)
    * find /var/log/* -type f \( -name "*" \) ! -path '*.gz*' -exec
    tail -n0 -f "$file" {} + | ccze
    (doesn't look like *changes* to logs for me, but whatever works for you)

    1. install a very basic Debian 11 template
    2. apply all changes (all changes will be recorded to a separate
    partition (!?) or a local git repo!?) and saved as a "config
    snapshot" that can be re applied as soon as Debian 12 template is
    released :)?
    This is over-engineering, unless you are going for the "infrastructure as code" paradigm from the beginning (which is over-engineering for many
    use cases as well).


    If the objective is just to install a set of packages, why not use 'dpkg --get-selections' and 'dpkg --set-selections'? (hint: also learn how to
    use apt-mark to save/restore the "automatically installed" state) Beyond
    that, there are many more flexible alternatives like CFEngine, Ansible, Propeller, Puppet, etc.

    Another option is to create a custom task-foo package, or a metapackage.

    Alternatively, one can also use a pre-upgrade btrfs snapshot of @rootfs (including /etc and /var) to gain the ability to examine any/all changes between the pre-upgrade and post-upgrade state. Providing staged
    upgrades and/or easy rollbacks using this feature is one of my long-term
    plans.

    I'm not really sure what the actual problem is...hence the diversity of potential solutions...

    Regards,
    Nicholas

    --=-=-Content-Type: application/pgp-signature; name="signature.asc"

    -----BEGIN PGP SIGNATURE-----

    iQJEBAEBCgAuFiEE4qYmHjkArtfNxmcIWogwR199EGEFAmFeDQsQHHN0ZW5AZGVi aWFuLm9yZwAKCRBaiDBHX30QYel6D/9ussvPnNuVIxmx81UBrMiYbnbPVuaX8zsk ts47JepLe+YXLbxPXgwtsgzba6HDgeDddTnsgn6IfIo4cX5SJ3IkbQVyws82ngYQ h4C0vfOJxMF62pVw1DAuhnN0RyggWyE/m507WFLbZaqPnT2/76w75SQMBlADy1ku 3eOf3bDiCqIA/pVVM+eorq8RR+S8JCVFLFJkDk36WZjnUd/EbD6XX3IQGfoEOzj7 dH97SaJ51LzLLgpCuZFTXZDZVUHswVsx7wiLqe5pnMXohXvtOizSZWY/lkl5Jgjp ipgm457irnutzsLdwywxa44sK30B2OOUQOTvxYdt2bUcM+JHiAcmSnvSZ2nCKeFD nRGJEAdvWULQYMAVXqf+hnnllDtm56XiMPW0aN3TpywTTCkJot8VcFTE8ZDG2omi jXIn4rQv+3+gOgV4gT50BdYnqj0npln3iPRz/uHP/XHEb3ZVaFgxla25PBv5/tZS /D2+rNbtbs5PoHQYzMKIwHSDPP8Jyt2zOJjvtObU6PLIw2RaUZyGgSTg0aeVl9bx 2tY083vYlUOaYfDcY5MRjTD1EjPPfVLM1K/cqLIYH6wncp3tHI+ptETIrYCqq4Iq 7CFiYrhUdZ2oOe3NSkiOiaKQzn9DpGmTQ18ssrPB2ttNxm7VKE7uTCWrJxS8GPRI i9RxnNgd4A==6l2i
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)