Files

8802 lines
132 KiB
HTML

<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="This is the collection of all Linux related documentation by the Core Linux Research Services
team of the Science IT Infrastructure and Services department (AWI).
">
<meta name="author" content="Paul Scherrer Institute">
<link rel="canonical" href="https://linux.psi.ch/admin-guide/guidelines/">
<link rel="prev" href="../deployment/rhel9/hardware_compatibility/">
<link rel="next" href="../puppet/">
<link rel="icon" href="../../assets/images/favicon.png">
<meta name="generator" content="zensical-0.0.11">
<title>Guidelines - Core Linux Documentation</title>
<link rel="stylesheet" href="../../assets/stylesheets/modern/main.bd6182e7.min.css">
<link rel="stylesheet" href="../../assets/stylesheets/modern/palette.dfe2e883.min.css">
<style>:root{}</style>
<link rel="stylesheet" href="../../assets/asciinema-player.css">
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)),0),__md_get=(e,t=localStorage,a=__md_scope)=>JSON.parse(t.getItem(a.pathname+"."+e)),__md_set=(e,t,a=localStorage,_=__md_scope)=>{try{a.setItem(_.pathname+"."+e,JSON.stringify(t))}catch(e){}},document.documentElement.setAttribute("data-platform",navigator.platform)</script>
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#guidelines" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header md-header--shadow" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="../.." title="Core Linux Documentation" class="md-header__button md-logo" aria-label="Core Linux Documentation" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12.504 0q-.232 0-.48.021c-4.226.333-3.105 4.807-3.17 6.298-.076 1.092-.3 1.953-1.05 3.02-.885 1.051-2.127 2.75-2.716 4.521-.278.832-.41 1.684-.287 2.489a.4.4 0 0 0-.11.135c-.26.268-.45.6-.663.839-.199.199-.485.267-.797.4-.313.136-.658.269-.864.68-.09.189-.136.394-.132.602 0 .199.027.4.055.536.058.399.116.728.04.97-.249.68-.28 1.145-.106 1.484.174.334.535.47.94.601.81.2 1.91.135 2.774.6.926.466 1.866.67 2.616.47.526-.116.97-.464 1.208-.946.587-.003 1.23-.269 2.26-.334.699-.058 1.574.267 2.577.2.025.134.063.198.114.333l.003.003c.391.778 1.113 1.132 1.884 1.071s1.592-.536 2.257-1.306c.631-.765 1.683-1.084 2.378-1.503.348-.199.629-.469.649-.853.023-.4-.2-.811-.714-1.376v-.097l-.003-.003c-.17-.2-.25-.535-.338-.926-.085-.401-.182-.786-.492-1.046h-.003c-.059-.054-.123-.067-.188-.135a.36.36 0 0 0-.19-.064c.431-1.278.264-2.55-.173-3.694-.533-1.41-1.465-2.638-2.175-3.483-.796-1.005-1.576-1.957-1.56-3.368.026-2.152.236-6.133-3.544-6.139m.529 3.405h.013c.213 0 .396.062.584.198.19.135.33.332.438.533.105.259.158.459.166.724 0-.02.006-.04.006-.06v.105l-.004-.021-.004-.024a1.8 1.8 0 0 1-.15.706.95.95 0 0 1-.213.335 1 1 0 0 0-.088-.042c-.104-.045-.198-.064-.284-.133a1.3 1.3 0 0 0-.22-.066c.05-.06.146-.133.183-.198q.08-.193.088-.402v-.02a1.2 1.2 0 0 0-.061-.4c-.045-.134-.101-.2-.183-.333-.084-.066-.167-.132-.267-.132h-.016c-.093 0-.176.03-.262.132a.8.8 0 0 0-.205.334 1.2 1.2 0 0 0-.09.4v.019q.002.134.02.267c-.193-.067-.438-.135-.607-.202a2 2 0 0 1-.018-.2v-.02a1.8 1.8 0 0 1 .15-.768 1.08 1.08 0 0 1 .43-.533 1 1 0 0 1 .594-.2zm-2.962.059h.036c.142 0 .27.048.399.135.146.129.264.288.344.465.09.199.14.4.153.667v.004c.007.134.006.2-.002.266v.08c-.03.007-.056.018-.083.024-.152.055-.274.135-.393.2q.018-.136.003-.267v-.015c-.012-.133-.04-.2-.082-.333a.6.6 0 0 0-.166-.267.25.25 0 0 0-.183-.064h-.021c-.071.006-.13.04-.186.132a.55.55 0 0 0-.12.27 1 1 0 0 0-.023.33v.015c.012.135.037.2.08.334.046.134.098.2.166.268q.014.014.034.024c-.07.057-.117.07-.176.136a.3.3 0 0 1-.131.068 2.6 2.6 0 0 1-.275-.402 1.8 1.8 0 0 1-.155-.667 1.8 1.8 0 0 1 .08-.668 1.4 1.4 0 0 1 .283-.535c.128-.133.26-.2.418-.2m1.37 1.706c.332 0 .733.065 1.216.399.293.2.523.269 1.052.468h.003c.255.136.405.266.478.399v-.131a.57.57 0 0 1 .016.47c-.123.31-.516.643-1.063.842v.002c-.268.135-.501.333-.775.465-.276.135-.588.292-1.012.267a1.1 1.1 0 0 1-.448-.067 4 4 0 0 1-.322-.198c-.195-.135-.363-.332-.612-.465v-.005h-.005c-.4-.246-.616-.512-.686-.71q-.104-.403.193-.6c.224-.135.38-.271.483-.336.104-.074.143-.102.176-.131h.002v-.003c.169-.202.436-.47.839-.601.139-.036.294-.065.466-.065zm2.8 2.142c.358 1.417 1.196 3.475 1.735 4.473.286.534.855 1.659 1.102 3.024.156-.005.33.018.513.064.646-1.671-.546-3.467-1.089-3.966-.22-.2-.232-.335-.123-.335.59.534 1.365 1.572 1.646 2.757.13.535.16 1.104.021 1.67.067.028.135.06.205.067 1.032.534 1.413.938 1.23 1.537v-.043c-.06-.003-.12 0-.18 0h-.016c.151-.467-.182-.825-1.065-1.224-.915-.4-1.646-.336-1.77.465-.008.043-.013.066-.018.135-.068.023-.139.053-.209.064-.43.268-.662.669-.793 1.187-.13.533-.17 1.156-.205 1.869v.003c-.02.334-.17.838-.319 1.35-1.5 1.072-3.58 1.538-5.348.334a2.7 2.7 0 0 0-.402-.533 1.5 1.5 0 0 0-.275-.333c.182 0 .338-.03.465-.067a.62.62 0 0 0 .314-.334c.108-.267 0-.697-.345-1.163s-.931-.995-1.788-1.521c-.63-.4-.986-.87-1.15-1.396-.165-.534-.143-1.085-.015-1.645.245-1.07.873-2.11 1.274-2.763.107-.065.037.135-.408.974-.396.751-1.14 2.497-.122 3.854a8.1 8.1 0 0 1 .647-2.876c.564-1.278 1.743-3.504 1.836-5.268.048.036.217.135.289.202.218.133.38.333.59.465.21.201.477.335.876.335q.058.005.11.006c.412 0 .73-.134.997-.268.29-.134.52-.334.74-.4h.005c.467-.135.835-.402 1.044-.7zm2.185 8.958c.037.6.343 1.245.882 1.377.588.134 1.434-.333 1.791-.765l.211-.01c.315-.007.577.01.847.268l.003.003c.208.199.305.53.391.876.085.4.154.78.409 1.066.486.527.645.906.636 1.14l.003-.007v.018l-.003-.012c-.015.262-.185.396-.498.595-.63.401-1.746.712-2.457 1.57-.618.737-1.37 1.14-2.036 1.191-.664.053-1.237-.2-1.574-.898l-.005-.003c-.21-.4-.12-1.025.056-1.69.176-.668.428-1.344.463-1.897.037-.714.076-1.335.195-1.814.12-.465.308-.797.641-.984l.045-.022zm-10.814.049h.01q.08 0 .157.014c.376.055.706.333 1.023.752l.91 1.664.003.003c.243.533.754 1.064 1.189 1.637.434.598.77 1.131.729 1.57v.006c-.057.744-.48 1.148-1.125 1.294-.645.135-1.52.002-2.395-.464-.968-.536-2.118-.469-2.857-.602q-.553-.1-.723-.4c-.11-.2-.113-.602.123-1.23v-.004l.002-.003c.117-.334.03-.752-.027-1.118-.055-.401-.083-.71.043-.94.16-.334.396-.4.69-.533.294-.135.64-.202.915-.47h.002v-.002c.256-.268.445-.601.668-.838.19-.201.38-.336.663-.336m7.159-9.074c-.435.201-.945.535-1.488.535-.542 0-.97-.267-1.28-.466-.154-.134-.28-.268-.373-.335-.164-.134-.144-.333-.074-.333.109.016.129.134.199.2.096.066.215.2.36.333.292.2.68.467 1.167.467.485 0 1.053-.267 1.398-.466.195-.135.445-.334.648-.467.156-.136.149-.267.279-.267.128.016.034.134-.147.332a8 8 0 0 1-.69.468zm-1.082-1.583V5.64c-.006-.02.013-.042.029-.05.074-.043.18-.027.26.004.063 0 .16.067.15.135-.006.049-.085.066-.135.066-.055 0-.092-.043-.141-.068-.052-.018-.146-.008-.163-.065m-.551 0c-.02.058-.113.049-.166.066-.047.025-.086.068-.14.068-.05 0-.13-.02-.136-.068-.01-.066.088-.133.15-.133.08-.031.184-.047.259-.005.019.009.036.03.03.05v.02h.003z"/></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="lucide lucide-menu" viewBox="0 0 24 24"><path d="M4 5h16M4 12h16M4 19h16"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
Core Linux Documentation
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Guidelines
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="none" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_0">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="lucide lucide-sun" viewBox="0 0 24 24"><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41"/></svg>
</label>
<input class="md-option" data-md-color-media="none" data-md-color-scheme="slate" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_0" hidden>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="lucide lucide-moon" viewBox="0 0 24 24"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"/></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="lucide lucide-search" viewBox="0 0 24 24"><path d="m21 21-4.34-4.34"/><circle cx="11" cy="11" r="8"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog" aria-label="Search">
<button type="button" class="md-search__button">
Search
</button>
</div>
<div class="md-header__source">
<a href="https://gitea.psi.ch/linux/documentation" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4.209 4.603c-.247 0-.525.02-.84.088-.333.07-1.28.283-2.054 1.027C-.403 7.25.035 9.685.089 10.052c.065.446.263 1.687 1.21 2.768 1.749 2.141 5.513 2.092 5.513 2.092s.462 1.103 1.168 2.119c.955 1.263 1.936 2.248 2.89 2.367 2.406 0 7.212-.004 7.212-.004s.458.004 1.08-.394c.535-.324 1.013-.893 1.013-.893s.492-.527 1.18-1.73c.21-.37.385-.729.538-1.068 0 0 2.107-4.471 2.107-8.823-.042-1.318-.367-1.55-.443-1.627-.156-.156-.366-.153-.366-.153s-4.475.252-6.792.306c-.508.011-1.012.023-1.512.027v4.474l-.634-.301c0-1.39-.004-4.17-.004-4.17-1.107.016-3.405-.084-3.405-.084s-5.399-.27-5.987-.324c-.187-.011-.401-.032-.648-.032zm.354 1.832h.111s.271 2.269.6 3.597C5.549 11.147 6.22 13 6.22 13s-.996-.119-1.641-.348c-.99-.324-1.409-.714-1.409-.714s-.73-.511-1.096-1.52C1.444 8.73 2.021 7.7 2.021 7.7s.32-.859 1.47-1.145c.395-.106.863-.12 1.072-.12m8.33 2.554c.26.003.509.127.509.127l.868.422-.529 1.075a.69.69 0 0 0-.614.359.69.69 0 0 0 .072.756l-.939 1.924a.69.69 0 0 0-.66.527.69.69 0 0 0 .347.763.686.686 0 0 0 .867-.206.69.69 0 0 0-.069-.882l.916-1.874a.7.7 0 0 0 .237-.02.66.66 0 0 0 .271-.137 9 9 0 0 1 1.016.512.76.76 0 0 1 .286.282c.073.21-.073.569-.073.569-.087.29-.702 1.55-.702 1.55a.69.69 0 0 0-.676.477.681.681 0 1 0 1.157-.252c.073-.141.141-.282.214-.431.19-.397.515-1.16.515-1.16.035-.066.218-.394.103-.814-.095-.435-.48-.638-.48-.638-.467-.301-1.116-.58-1.116-.58s0-.156-.042-.27a.7.7 0 0 0-.148-.241l.516-1.062 2.89 1.401s.48.218.583.619c.073.282-.019.534-.069.657-.24.587-2.1 4.317-2.1 4.317s-.232.554-.748.588a1.1 1.1 0 0 1-.393-.045l-.202-.08-4.31-2.1s-.417-.218-.49-.596c-.083-.31.104-.691.104-.691l2.073-4.272s.183-.37.466-.497a.9.9 0 0 1 .35-.077"/></svg>
</div>
<div class="md-source__repository">
Gitea
</div>
</a>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="../.." title="Core Linux Documentation" class="md-nav__button md-logo" aria-label="Core Linux Documentation" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12.504 0q-.232 0-.48.021c-4.226.333-3.105 4.807-3.17 6.298-.076 1.092-.3 1.953-1.05 3.02-.885 1.051-2.127 2.75-2.716 4.521-.278.832-.41 1.684-.287 2.489a.4.4 0 0 0-.11.135c-.26.268-.45.6-.663.839-.199.199-.485.267-.797.4-.313.136-.658.269-.864.68-.09.189-.136.394-.132.602 0 .199.027.4.055.536.058.399.116.728.04.97-.249.68-.28 1.145-.106 1.484.174.334.535.47.94.601.81.2 1.91.135 2.774.6.926.466 1.866.67 2.616.47.526-.116.97-.464 1.208-.946.587-.003 1.23-.269 2.26-.334.699-.058 1.574.267 2.577.2.025.134.063.198.114.333l.003.003c.391.778 1.113 1.132 1.884 1.071s1.592-.536 2.257-1.306c.631-.765 1.683-1.084 2.378-1.503.348-.199.629-.469.649-.853.023-.4-.2-.811-.714-1.376v-.097l-.003-.003c-.17-.2-.25-.535-.338-.926-.085-.401-.182-.786-.492-1.046h-.003c-.059-.054-.123-.067-.188-.135a.36.36 0 0 0-.19-.064c.431-1.278.264-2.55-.173-3.694-.533-1.41-1.465-2.638-2.175-3.483-.796-1.005-1.576-1.957-1.56-3.368.026-2.152.236-6.133-3.544-6.139m.529 3.405h.013c.213 0 .396.062.584.198.19.135.33.332.438.533.105.259.158.459.166.724 0-.02.006-.04.006-.06v.105l-.004-.021-.004-.024a1.8 1.8 0 0 1-.15.706.95.95 0 0 1-.213.335 1 1 0 0 0-.088-.042c-.104-.045-.198-.064-.284-.133a1.3 1.3 0 0 0-.22-.066c.05-.06.146-.133.183-.198q.08-.193.088-.402v-.02a1.2 1.2 0 0 0-.061-.4c-.045-.134-.101-.2-.183-.333-.084-.066-.167-.132-.267-.132h-.016c-.093 0-.176.03-.262.132a.8.8 0 0 0-.205.334 1.2 1.2 0 0 0-.09.4v.019q.002.134.02.267c-.193-.067-.438-.135-.607-.202a2 2 0 0 1-.018-.2v-.02a1.8 1.8 0 0 1 .15-.768 1.08 1.08 0 0 1 .43-.533 1 1 0 0 1 .594-.2zm-2.962.059h.036c.142 0 .27.048.399.135.146.129.264.288.344.465.09.199.14.4.153.667v.004c.007.134.006.2-.002.266v.08c-.03.007-.056.018-.083.024-.152.055-.274.135-.393.2q.018-.136.003-.267v-.015c-.012-.133-.04-.2-.082-.333a.6.6 0 0 0-.166-.267.25.25 0 0 0-.183-.064h-.021c-.071.006-.13.04-.186.132a.55.55 0 0 0-.12.27 1 1 0 0 0-.023.33v.015c.012.135.037.2.08.334.046.134.098.2.166.268q.014.014.034.024c-.07.057-.117.07-.176.136a.3.3 0 0 1-.131.068 2.6 2.6 0 0 1-.275-.402 1.8 1.8 0 0 1-.155-.667 1.8 1.8 0 0 1 .08-.668 1.4 1.4 0 0 1 .283-.535c.128-.133.26-.2.418-.2m1.37 1.706c.332 0 .733.065 1.216.399.293.2.523.269 1.052.468h.003c.255.136.405.266.478.399v-.131a.57.57 0 0 1 .016.47c-.123.31-.516.643-1.063.842v.002c-.268.135-.501.333-.775.465-.276.135-.588.292-1.012.267a1.1 1.1 0 0 1-.448-.067 4 4 0 0 1-.322-.198c-.195-.135-.363-.332-.612-.465v-.005h-.005c-.4-.246-.616-.512-.686-.71q-.104-.403.193-.6c.224-.135.38-.271.483-.336.104-.074.143-.102.176-.131h.002v-.003c.169-.202.436-.47.839-.601.139-.036.294-.065.466-.065zm2.8 2.142c.358 1.417 1.196 3.475 1.735 4.473.286.534.855 1.659 1.102 3.024.156-.005.33.018.513.064.646-1.671-.546-3.467-1.089-3.966-.22-.2-.232-.335-.123-.335.59.534 1.365 1.572 1.646 2.757.13.535.16 1.104.021 1.67.067.028.135.06.205.067 1.032.534 1.413.938 1.23 1.537v-.043c-.06-.003-.12 0-.18 0h-.016c.151-.467-.182-.825-1.065-1.224-.915-.4-1.646-.336-1.77.465-.008.043-.013.066-.018.135-.068.023-.139.053-.209.064-.43.268-.662.669-.793 1.187-.13.533-.17 1.156-.205 1.869v.003c-.02.334-.17.838-.319 1.35-1.5 1.072-3.58 1.538-5.348.334a2.7 2.7 0 0 0-.402-.533 1.5 1.5 0 0 0-.275-.333c.182 0 .338-.03.465-.067a.62.62 0 0 0 .314-.334c.108-.267 0-.697-.345-1.163s-.931-.995-1.788-1.521c-.63-.4-.986-.87-1.15-1.396-.165-.534-.143-1.085-.015-1.645.245-1.07.873-2.11 1.274-2.763.107-.065.037.135-.408.974-.396.751-1.14 2.497-.122 3.854a8.1 8.1 0 0 1 .647-2.876c.564-1.278 1.743-3.504 1.836-5.268.048.036.217.135.289.202.218.133.38.333.59.465.21.201.477.335.876.335q.058.005.11.006c.412 0 .73-.134.997-.268.29-.134.52-.334.74-.4h.005c.467-.135.835-.402 1.044-.7zm2.185 8.958c.037.6.343 1.245.882 1.377.588.134 1.434-.333 1.791-.765l.211-.01c.315-.007.577.01.847.268l.003.003c.208.199.305.53.391.876.085.4.154.78.409 1.066.486.527.645.906.636 1.14l.003-.007v.018l-.003-.012c-.015.262-.185.396-.498.595-.63.401-1.746.712-2.457 1.57-.618.737-1.37 1.14-2.036 1.191-.664.053-1.237-.2-1.574-.898l-.005-.003c-.21-.4-.12-1.025.056-1.69.176-.668.428-1.344.463-1.897.037-.714.076-1.335.195-1.814.12-.465.308-.797.641-.984l.045-.022zm-10.814.049h.01q.08 0 .157.014c.376.055.706.333 1.023.752l.91 1.664.003.003c.243.533.754 1.064 1.189 1.637.434.598.77 1.131.729 1.57v.006c-.057.744-.48 1.148-1.125 1.294-.645.135-1.52.002-2.395-.464-.968-.536-2.118-.469-2.857-.602q-.553-.1-.723-.4c-.11-.2-.113-.602.123-1.23v-.004l.002-.003c.117-.334.03-.752-.027-1.118-.055-.401-.083-.71.043-.94.16-.334.396-.4.69-.533.294-.135.64-.202.915-.47h.002v-.002c.256-.268.445-.601.668-.838.19-.201.38-.336.663-.336m7.159-9.074c-.435.201-.945.535-1.488.535-.542 0-.97-.267-1.28-.466-.154-.134-.28-.268-.373-.335-.164-.134-.144-.333-.074-.333.109.016.129.134.199.2.096.066.215.2.36.333.292.2.68.467 1.167.467.485 0 1.053-.267 1.398-.466.195-.135.445-.334.648-.467.156-.136.149-.267.279-.267.128.016.034.134-.147.332a8 8 0 0 1-.69.468zm-1.082-1.583V5.64c-.006-.02.013-.042.029-.05.074-.043.18-.027.26.004.063 0 .16.067.15.135-.006.049-.085.066-.135.066-.055 0-.092-.043-.141-.068-.052-.018-.146-.008-.163-.065m-.551 0c-.02.058-.113.049-.166.066-.047.025-.086.068-.14.068-.05 0-.13-.02-.136-.068-.01-.066.088-.133.15-.133.08-.031.184-.047.259-.005.019.009.036.03.03.05v.02h.003z"/></svg>
</a>
Core Linux Documentation
</label>
<div class="md-nav__source">
<a href="https://gitea.psi.ch/linux/documentation" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4.209 4.603c-.247 0-.525.02-.84.088-.333.07-1.28.283-2.054 1.027C-.403 7.25.035 9.685.089 10.052c.065.446.263 1.687 1.21 2.768 1.749 2.141 5.513 2.092 5.513 2.092s.462 1.103 1.168 2.119c.955 1.263 1.936 2.248 2.89 2.367 2.406 0 7.212-.004 7.212-.004s.458.004 1.08-.394c.535-.324 1.013-.893 1.013-.893s.492-.527 1.18-1.73c.21-.37.385-.729.538-1.068 0 0 2.107-4.471 2.107-8.823-.042-1.318-.367-1.55-.443-1.627-.156-.156-.366-.153-.366-.153s-4.475.252-6.792.306c-.508.011-1.012.023-1.512.027v4.474l-.634-.301c0-1.39-.004-4.17-.004-4.17-1.107.016-3.405-.084-3.405-.084s-5.399-.27-5.987-.324c-.187-.011-.401-.032-.648-.032zm.354 1.832h.111s.271 2.269.6 3.597C5.549 11.147 6.22 13 6.22 13s-.996-.119-1.641-.348c-.99-.324-1.409-.714-1.409-.714s-.73-.511-1.096-1.52C1.444 8.73 2.021 7.7 2.021 7.7s.32-.859 1.47-1.145c.395-.106.863-.12 1.072-.12m8.33 2.554c.26.003.509.127.509.127l.868.422-.529 1.075a.69.69 0 0 0-.614.359.69.69 0 0 0 .072.756l-.939 1.924a.69.69 0 0 0-.66.527.69.69 0 0 0 .347.763.686.686 0 0 0 .867-.206.69.69 0 0 0-.069-.882l.916-1.874a.7.7 0 0 0 .237-.02.66.66 0 0 0 .271-.137 9 9 0 0 1 1.016.512.76.76 0 0 1 .286.282c.073.21-.073.569-.073.569-.087.29-.702 1.55-.702 1.55a.69.69 0 0 0-.676.477.681.681 0 1 0 1.157-.252c.073-.141.141-.282.214-.431.19-.397.515-1.16.515-1.16.035-.066.218-.394.103-.814-.095-.435-.48-.638-.48-.638-.467-.301-1.116-.58-1.116-.58s0-.156-.042-.27a.7.7 0 0 0-.148-.241l.516-1.062 2.89 1.401s.48.218.583.619c.073.282-.019.534-.069.657-.24.587-2.1 4.317-2.1 4.317s-.232.554-.748.588a1.1 1.1 0 0 1-.393-.045l-.202-.08-4.31-2.1s-.417-.218-.49-.596c-.083-.31.104-.691.104-.691l2.073-4.272s.183-.37.466-.497a.9.9 0 0 1 .35-.077"/></svg>
</div>
<div class="md-source__repository">
Gitea
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../.." class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" checked>
<div class="md-nav__link md-nav__container">
<a href="../" class="md-nav__link ">
<span class="md-ellipsis">
Admin guide
</span>
</a>
<label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
Admin guide
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../consoles/" class="md-nav__link">
<span class="md-ellipsis">
(RHEL9) Beamline Consoles
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../container/" class="md-nav__link">
<span class="md-ellipsis">
Container
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../custom_repositories/" class="md-nav__link">
<span class="md-ellipsis">
Custom RPM Repositories
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5" >
<label class="md-nav__link" for="__nav_2_5" id="__nav_2_5_label" tabindex="0">
<span class="md-ellipsis">
Deployment
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_5">
<span class="md-nav__icon md-icon"></span>
Deployment
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../deployment/advanced_installation/" class="md-nav__link">
<span class="md-ellipsis">
Advanced Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../deployment/basic_installation/" class="md-nav__link">
<span class="md-ellipsis">
Basic Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../deployment/console_installation/" class="md-nav__link">
<span class="md-ellipsis">
Console Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../deployment/dmz_installation/" class="md-nav__link">
<span class="md-ellipsis">
DMZ Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../deployment/re_installation/" class="md-nav__link">
<span class="md-ellipsis">
Re-Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../deployment/troubleshooting/" class="md-nav__link">
<span class="md-ellipsis">
Deployment Troubleshouting
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../deployment/virtual_machines/" class="md-nav__link">
<span class="md-ellipsis">
Virtual Machines
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5_8" >
<label class="md-nav__link" for="__nav_2_5_8" id="__nav_2_5_8_label" tabindex="0">
<span class="md-ellipsis">
Rhel10
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_5_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_5_8">
<span class="md-nav__icon md-icon"></span>
Rhel10
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../deployment/rhel10/hardware_compatibility/" class="md-nav__link">
<span class="md-ellipsis">
RHEL10 Hardware Compatibility
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5_9" >
<div class="md-nav__link md-nav__container">
<a href="../deployment/rhel8/" class="md-nav__link ">
<span class="md-ellipsis">
Rhel8
</span>
</a>
<label class="md-nav__link " for="__nav_2_5_9" id="__nav_2_5_9_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_5_9_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_5_9">
<span class="md-nav__icon md-icon"></span>
Rhel8
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../deployment/rhel8/desktop/" class="md-nav__link">
<span class="md-ellipsis">
Desktop on RHEL 8
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../deployment/rhel8/hardware_compatibility/" class="md-nav__link">
<span class="md-ellipsis">
Hardware Compatibility
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../deployment/rhel8/kerberos/" class="md-nav__link">
<span class="md-ellipsis">
Kerberos on RHEL 8
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../deployment/rhel8/nvidia/" class="md-nav__link">
<span class="md-ellipsis">
CUDA and Proprietary Nvidia GPU Drivers on RHEL 8
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../deployment/rhel8/vendor_documentation/" class="md-nav__link">
<span class="md-ellipsis">
Vendor Documentation
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5_10" >
<div class="md-nav__link md-nav__container">
<a href="../deployment/rhel9/" class="md-nav__link ">
<span class="md-ellipsis">
Rhel9
</span>
</a>
<label class="md-nav__link " for="__nav_2_5_10" id="__nav_2_5_10_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_5_10_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_5_10">
<span class="md-nav__icon md-icon"></span>
Rhel9
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../deployment/rhel9/hardware_compatibility/" class="md-nav__link">
<span class="md-ellipsis">
Hardware Compatibility
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
Guidelines
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
Guidelines
</span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="On this page">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
On this page
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#general-directives" class="md-nav__link">
<span class="md-ellipsis">
General Directives
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#version-control" class="md-nav__link">
<span class="md-ellipsis">
Version Control
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#hiera" class="md-nav__link">
<span class="md-ellipsis">
Hiera
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#external-code" class="md-nav__link">
<span class="md-ellipsis">
External Code
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#servers-and-services" class="md-nav__link">
<span class="md-ellipsis">
Servers and services
</span>
</a>
<nav class="md-nav" aria-label="Servers and services">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#naming-convention-nodes-servers" class="md-nav__link">
<span class="md-ellipsis">
Naming Convention Nodes / Servers
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#software-update-policy" class="md-nav__link">
<span class="md-ellipsis">
Software Update Policy
</span>
</a>
<nav class="md-nav" aria-label="Software Update Policy">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#automatic-updates" class="md-nav__link">
<span class="md-ellipsis">
Automatic Updates
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#snapshots" class="md-nav__link">
<span class="md-ellipsis">
Snapshots
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_7" >
<div class="md-nav__link md-nav__container">
<a href="../puppet/" class="md-nav__link ">
<span class="md-ellipsis">
Puppet
</span>
</a>
<label class="md-nav__link " for="__nav_2_7" id="__nav_2_7_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_7">
<span class="md-nav__icon md-icon"></span>
Puppet
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../puppet/hiera/" class="md-nav__link">
<span class="md-ellipsis">
Hiera
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../puppet/puppet_client/" class="md-nav__link">
<span class="md-ellipsis">
Puppet Client
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../puppet/puppet_development/" class="md-nav__link">
<span class="md-ellipsis">
Puppet Development
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../puppet/puppet_environments/" class="md-nav__link">
<span class="md-ellipsis">
Puppet Environments
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../ssh_gateways/" class="md-nav__link">
<span class="md-ellipsis">
Admin Guide - SSH Gateways
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_9" >
<label class="md-nav__link" for="__nav_2_9" id="__nav_2_9_label" tabindex="0">
<span class="md-ellipsis">
Troubleshooting
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_9_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_9">
<span class="md-nav__icon md-icon"></span>
Troubleshooting
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../troubleshooting/boot/" class="md-nav__link">
<span class="md-ellipsis">
Boot Issues
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../troubleshooting/deployment/" class="md-nav__link">
<span class="md-ellipsis">
Deployment
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../troubleshooting/filesystem/" class="md-nav__link">
<span class="md-ellipsis">
Filesystem
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../troubleshooting/gvfs/" class="md-nav__link">
<span class="md-ellipsis">
GVFS (Gnome Virtual Filesystem)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../troubleshooting/journald/" class="md-nav__link">
<span class="md-ellipsis">
Journald
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../troubleshooting/kerberos/" class="md-nav__link">
<span class="md-ellipsis">
Kerberos
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../troubleshooting/login/" class="md-nav__link">
<span class="md-ellipsis">
Login and Remote Access
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../troubleshooting/lvm/" class="md-nav__link">
<span class="md-ellipsis">
LVM
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../troubleshooting/network/" class="md-nav__link">
<span class="md-ellipsis">
Network
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../troubleshooting/nvidia/" class="md-nav__link">
<span class="md-ellipsis">
Nvidia
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../troubleshooting/packages/" class="md-nav__link">
<span class="md-ellipsis">
Packages
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../troubleshooting/pam/" class="md-nav__link">
<span class="md-ellipsis">
PAM
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../troubleshooting/pcie_bus_error/" class="md-nav__link">
<span class="md-ellipsis">
PCIe Bus Error
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../troubleshooting/processes/" class="md-nav__link">
<span class="md-ellipsis">
Processes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../troubleshooting/puppet/" class="md-nav__link">
<span class="md-ellipsis">
Puppet
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../troubleshooting/rpm/" class="md-nav__link">
<span class="md-ellipsis">
RPM
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../troubleshooting/selinux/" class="md-nav__link">
<span class="md-ellipsis">
SELinux
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../troubleshooting/sssd/" class="md-nav__link">
<span class="md-ellipsis">
SSSD
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../troubleshooting/systemd/" class="md-nav__link">
<span class="md-ellipsis">
Systemd
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../unix_groups/" class="md-nav__link">
<span class="md-ellipsis">
Admin Guide - Unix Groups / Group Management
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_11" >
<label class="md-nav__link" for="__nav_2_11" id="__nav_2_11_label" tabindex="0">
<span class="md-ellipsis">
Administration
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_11_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_11">
<span class="md-nav__icon md-icon"></span>
Administration
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../administration/afs_legacy_workflows/" class="md-nav__link">
<span class="md-ellipsis">
AFS Legacy Workflows
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../administration/schedule_tasks/" class="md-nav__link">
<span class="md-ellipsis">
Schedule (One-time) Tasks
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_12" >
<div class="md-nav__link md-nav__container">
<a href="../configuration/" class="md-nav__link ">
<span class="md-ellipsis">
Configuration
</span>
</a>
<label class="md-nav__link " for="__nav_2_12" id="__nav_2_12_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_12_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_12">
<span class="md-nav__icon md-icon"></span>
Configuration
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_12_2" >
<div class="md-nav__link md-nav__container">
<a href="../configuration/access/" class="md-nav__link ">
<span class="md-ellipsis">
Access
</span>
</a>
<label class="md-nav__link " for="__nav_2_12_2" id="__nav_2_12_2_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_12_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_12_2">
<span class="md-nav__icon md-icon"></span>
Access
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../configuration/access/bastion_hosts/" class="md-nav__link">
<span class="md-ellipsis">
Bastion Hosts
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/access/eaccounts/" class="md-nav__link">
<span class="md-ellipsis">
Eaccounts (Experiment Account)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/access/mfa/" class="md-nav__link">
<span class="md-ellipsis">
MFA - Multi Factor Authentication
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/access/service_user/" class="md-nav__link">
<span class="md-ellipsis">
Service User/Account
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/access/ssh_authorized_keys/" class="md-nav__link">
<span class="md-ellipsis">
SSH Authorized Keys
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/access/ssh_host_hopping/" class="md-nav__link">
<span class="md-ellipsis">
SSH Host Hopping as Root (e.g. between cluster members)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/access/sshd_configuration/" class="md-nav__link">
<span class="md-ellipsis">
SSH Server Configuration (sshd)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/access/sudo/" class="md-nav__link">
<span class="md-ellipsis">
Custom sudo Rules
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/access/system_access/" class="md-nav__link">
<span class="md-ellipsis">
Regular and Administrative User Access
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_12_3" >
<div class="md-nav__link md-nav__container">
<a href="../configuration/basic/" class="md-nav__link ">
<span class="md-ellipsis">
Basic
</span>
</a>
<label class="md-nav__link " for="__nav_2_12_3" id="__nav_2_12_3_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_12_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_12_3">
<span class="md-nav__icon md-icon"></span>
Basic
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../configuration/basic/ad_integration/" class="md-nav__link">
<span class="md-ellipsis">
Active Directory (AD) Integration by SSSD
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/basic/cisco_vpn/" class="md-nav__link">
<span class="md-ellipsis">
VPN with Cisco Secure Client
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/basic/configuration_email/" class="md-nav__link">
<span class="md-ellipsis">
Configuration to Send/Relay Emails
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/basic/crypto_policy/" class="md-nav__link">
<span class="md-ellipsis">
Cryptographic Policy
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/basic/dhcpd/" class="md-nav__link">
<span class="md-ellipsis">
DHCPD
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/basic/gssproxy_with_keytab/" class="md-nav__link">
<span class="md-ellipsis">
Permanent Kerberos with gssproxy and Password Keytab
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/basic/home_directory/" class="md-nav__link">
<span class="md-ellipsis">
Home Directory
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/basic/host_rename/" class="md-nav__link">
<span class="md-ellipsis">
Host Renaming
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/basic/kerberos/" class="md-nav__link">
<span class="md-ellipsis">
Additional Kerberos Aliases and Services
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/basic/networking/" class="md-nav__link">
<span class="md-ellipsis">
Network Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/basic/ntp_client/" class="md-nav__link">
<span class="md-ellipsis">
Custom NTP Servers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/basic/ntp_server/" class="md-nav__link">
<span class="md-ellipsis">
NTP Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/basic/puppet_agent/" class="md-nav__link">
<span class="md-ellipsis">
Puppet Agent Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/basic/ssh_client/" class="md-nav__link">
<span class="md-ellipsis">
Default SSH Client Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/basic/static_host_entries/" class="md-nav__link">
<span class="md-ellipsis">
Static Host Entries
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/basic/sysctl/" class="md-nav__link">
<span class="md-ellipsis">
sysctl
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/basic/tls_ca/" class="md-nav__link">
<span class="md-ellipsis">
Additional CA (e.g. for TLS/SSL Interception/Inspection)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/basic/users_and_groups/" class="md-nav__link">
<span class="md-ellipsis">
Add/Configure Users and Groups
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/basic/verbose_boot/" class="md-nav__link">
<span class="md-ellipsis">
Verbose Boot
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_12_4" >
<div class="md-nav__link md-nav__container">
<a href="../configuration/desktop/" class="md-nav__link ">
<span class="md-ellipsis">
Desktop
</span>
</a>
<label class="md-nav__link " for="__nav_2_12_4" id="__nav_2_12_4_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_12_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_12_4">
<span class="md-nav__icon md-icon"></span>
Desktop
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../configuration/desktop/alternative_desktops/" class="md-nav__link">
<span class="md-ellipsis">
Alternative Desktops/Window Managers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/desktop/autologin/" class="md-nav__link">
<span class="md-ellipsis">
Autologin
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/desktop/banner_message/" class="md-nav__link">
<span class="md-ellipsis">
Banner Message
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/desktop/dconf/" class="md-nav__link">
<span class="md-ellipsis">
Systemwide Custom Gnome Settings with dconf
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/desktop/desktop/" class="md-nav__link">
<span class="md-ellipsis">
Enabling Desktop Environment
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/desktop/gnome/" class="md-nav__link">
<span class="md-ellipsis">
Gnome
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/desktop/gnome_extensions/" class="md-nav__link">
<span class="md-ellipsis">
Gnome Extensions
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/desktop/keyboard_layout/" class="md-nav__link">
<span class="md-ellipsis">
Keyboard Layout
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/desktop/multiscreen_setup/" class="md-nav__link">
<span class="md-ellipsis">
Multi Screen Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/desktop/printing/" class="md-nav__link">
<span class="md-ellipsis">
Printing
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/desktop/program_starter/" class="md-nav__link">
<span class="md-ellipsis">
Gnome Program Starter: Dash, Dock or Panel
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/desktop/screen_lock/" class="md-nav__link">
<span class="md-ellipsis">
Screen Lock
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/desktop/xrdp/" class="md-nav__link">
<span class="md-ellipsis">
RDP Remote Access with XRDP
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_12_5" >
<div class="md-nav__link md-nav__container">
<a href="../configuration/files/" class="md-nav__link ">
<span class="md-ellipsis">
Files
</span>
</a>
<label class="md-nav__link " for="__nav_2_12_5" id="__nav_2_12_5_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_12_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_12_5">
<span class="md-nav__icon md-icon"></span>
Files
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../configuration/files/afs/" class="md-nav__link">
<span class="md-ellipsis">
AFS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/files/autofs/" class="md-nav__link">
<span class="md-ellipsis">
autofs
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/files/central_storage_mount/" class="md-nav__link">
<span class="md-ellipsis">
Central Storage Mount (/psi.ch)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/files/distribute_files/" class="md-nav__link">
<span class="md-ellipsis">
Distribute Files
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/files/mount/" class="md-nav__link">
<span class="md-ellipsis">
Mounting Volumes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/files/multipath/" class="md-nav__link">
<span class="md-ellipsis">
Multipath Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/files/nfs4_acls/" class="md-nav__link">
<span class="md-ellipsis">
NFS4 ACLs
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/files/nfs_server/" class="md-nav__link">
<span class="md-ellipsis">
NFS Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/files/partially_shared_home/" class="md-nav__link">
<span class="md-ellipsis">
Partially Shared Home - Automatically Link or Copy Files in Home - Admin Guide
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/files/partitioning/" class="md-nav__link">
<span class="md-ellipsis">
Partitioning
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/files/resize_vm_disk/" class="md-nav__link">
<span class="md-ellipsis">
Resize VM Disk
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/files/sftp_server/" class="md-nav__link">
<span class="md-ellipsis">
SFTP Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/files/systemd_tmpfiles/" class="md-nav__link">
<span class="md-ellipsis">
systemd-tmpfiles
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/files/windows_drives_in_home/" class="md-nav__link">
<span class="md-ellipsis">
Personal (Windows) Drives in Home Directory
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_12_6" >
<label class="md-nav__link" for="__nav_2_12_6" id="__nav_2_12_6_label" tabindex="0">
<span class="md-ellipsis">
Https
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_12_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_12_6">
<span class="md-nav__icon md-icon"></span>
Https
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../configuration/https/acme/" class="md-nav__link">
<span class="md-ellipsis">
ACME - Automatic HTTPS Certificates
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/https/certificates/" class="md-nav__link">
<span class="md-ellipsis">
Static HTTPS Certificates
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_12_7" >
<div class="md-nav__link md-nav__container">
<a href="../configuration/monitoring/" class="md-nav__link ">
<span class="md-ellipsis">
Monitoring
</span>
</a>
<label class="md-nav__link " for="__nav_2_12_7" id="__nav_2_12_7_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_12_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_12_7">
<span class="md-nav__icon md-icon"></span>
Monitoring
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../configuration/monitoring/alloy/" class="md-nav__link">
<span class="md-ellipsis">
Grafana Alloy for environment admins
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/monitoring/central_logging_elastic/" class="md-nav__link">
<span class="md-ellipsis">
Configure Central Logging to Elastic
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/monitoring/grafana_test/" class="md-nav__link">
<span class="md-ellipsis">
Add Development Hosts to grafana-test
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/monitoring/icinga2/" class="md-nav__link">
<span class="md-ellipsis">
Icinga2 Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/monitoring/journal_remote/" class="md-nav__link">
<span class="md-ellipsis">
Central Journal Server ( systemd-journal-remote)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/monitoring/journald/" class="md-nav__link">
<span class="md-ellipsis">
Journald Tuning
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/monitoring/metrics_telegraf/" class="md-nav__link">
<span class="md-ellipsis">
Metric Collections - Configuration Telegraf
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/monitoring/syslog_forwarding/" class="md-nav__link">
<span class="md-ellipsis">
Syslog Forwarding
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_12_8" >
<div class="md-nav__link md-nav__container">
<a href="../configuration/software/" class="md-nav__link ">
<span class="md-ellipsis">
Software
</span>
</a>
<label class="md-nav__link " for="__nav_2_12_8" id="__nav_2_12_8_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_12_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_12_8">
<span class="md-nav__icon md-icon"></span>
Software
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../configuration/software/citrix_vda/" class="md-nav__link">
<span class="md-ellipsis">
Citrix VDA Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/software/cockpit/" class="md-nav__link">
<span class="md-ellipsis">
Cockpit
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/software/conda/" class="md-nav__link">
<span class="md-ellipsis">
Conda / Anaconda
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/software/custom_repositories/" class="md-nav__link">
<span class="md-ellipsis">
Custom RPM Repositories
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/software/environment_modules/" class="md-nav__link">
<span class="md-ellipsis">
Environment Modules - environment-modules
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/software/flatpak/" class="md-nav__link">
<span class="md-ellipsis">
Flatpak
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/software/gcc_compilers/" class="md-nav__link">
<span class="md-ellipsis">
GCC Compilers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/software/intel_compilers/" class="md-nav__link">
<span class="md-ellipsis">
Intel Compilers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/software/labview/" class="md-nav__link">
<span class="md-ellipsis">
LabView
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/software/mathematica/" class="md-nav__link">
<span class="md-ellipsis">
Mathematica
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/software/matlab/" class="md-nav__link">
<span class="md-ellipsis">
Matlab
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/software/package_repositories/" class="md-nav__link">
<span class="md-ellipsis">
Selecting Package Repositories
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/software/package_updates/" class="md-nav__link">
<span class="md-ellipsis">
Automated Package Updates
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/software/packagekit/" class="md-nav__link">
<span class="md-ellipsis">
PackageKit/Gnome Software
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/software/packages/" class="md-nav__link">
<span class="md-ellipsis">
Package Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/software/pixi_micromamba/" class="md-nav__link">
<span class="md-ellipsis">
Pixi / Micromamba
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/software/pmodules/" class="md-nav__link">
<span class="md-ellipsis">
PModules
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/software/python/" class="md-nav__link">
<span class="md-ellipsis">
Python
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/software/selinux_configuration/" class="md-nav__link">
<span class="md-ellipsis">
SELinux Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/software/services/" class="md-nav__link">
<span class="md-ellipsis">
Managing Services with Systemd
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/software/timers/" class="md-nav__link">
<span class="md-ellipsis">
Systemd Timers for Regular Tasks
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_13" >
<div class="md-nav__link md-nav__container">
<a href="../security/" class="md-nav__link ">
<span class="md-ellipsis">
Security
</span>
</a>
<label class="md-nav__link " for="__nav_2_13" id="__nav_2_13_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_13_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_13">
<span class="md-nav__icon md-icon"></span>
Security
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../security/firewall/" class="md-nav__link">
<span class="md-ellipsis">
Firewall Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../security/mitigation_copyfail/" class="md-nav__link">
<span class="md-ellipsis">
Mitigation copy.fail
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../security/mitigation_dirty_frag/" class="md-nav__link">
<span class="md-ellipsis">
Mitigation Dirty Frag
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
<div class="md-nav__link md-nav__container">
<a href="../../announcements/" class="md-nav__link ">
<span class="md-ellipsis">
Announcements
</span>
</a>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
Announcements
</label>
<ul class="md-nav__list" data-md-scrollfix>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
<div class="md-nav__link md-nav__container">
<a href="../../engineering-guide/" class="md-nav__link ">
<span class="md-ellipsis">
Engineering guide
</span>
</a>
<label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Engineering guide
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../engineering-guide/accounts-and-groups/" class="md-nav__link">
<span class="md-ellipsis">
Accounts and Groups
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/active-directory/" class="md-nav__link">
<span class="md-ellipsis">
Active Directory
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/boot_server/" class="md-nav__link">
<span class="md-ellipsis">
TFTP Boot Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/gitea-dmz/" class="md-nav__link">
<span class="md-ellipsis">
Gitea (Production)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/gitea/" class="md-nav__link">
<span class="md-ellipsis">
Gitea (Test)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/icinga2/" class="md-nav__link">
<span class="md-ellipsis">
Icinga2 Architecture/Design/Setup
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/influx/" class="md-nav__link">
<span class="md-ellipsis">
Metrics Server - Influx DB
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/infrastructure_administration/" class="md-nav__link">
<span class="md-ellipsis">
Infrastructure Administration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/infrastructure_systems/" class="md-nav__link">
<span class="md-ellipsis">
Infrastructure Systems
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/initial_setup/" class="md-nav__link">
<span class="md-ellipsis">
Initial Infrastructure Setup
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/ipxe/" class="md-nav__link">
<span class="md-ellipsis">
PXE-booting with iPXE
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/login/" class="md-nav__link">
<span class="md-ellipsis">
Login Nodes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/lxsup/" class="md-nav__link">
<span class="md-ellipsis">
Login Node - Supporters
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/matlab/" class="md-nav__link">
<span class="md-ellipsis">
Matlab Infrastructure
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/metrics/" class="md-nav__link">
<span class="md-ellipsis">
Metrics Server - Grafana
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_17" >
<label class="md-nav__link" for="__nav_4_17" id="__nav_4_17_label" tabindex="0">
<span class="md-ellipsis">
Puppet
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_17_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_17">
<span class="md-nav__icon md-icon"></span>
Puppet
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../engineering-guide/puppet/api/" class="md-nav__link">
<span class="md-ellipsis">
Puppet API
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/puppet/modules/" class="md-nav__link">
<span class="md-ellipsis">
Modules
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/puppet/overview/" class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/puppet_server/" class="md-nav__link">
<span class="md-ellipsis">
Puppet Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/repo_server/" class="md-nav__link">
<span class="md-ellipsis">
Repository Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/sync_server/" class="md-nav__link">
<span class="md-ellipsis">
Sync Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/sysdb_environments/" class="md-nav__link">
<span class="md-ellipsis">
Hiera Environments
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/sysdb_server/" class="md-nav__link">
<span class="md-ellipsis">
Sysdb Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/test_systems/" class="md-nav__link">
<span class="md-ellipsis">
Test Systems
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/troubleshooting/" class="md-nav__link">
<span class="md-ellipsis">
Troubleshooting
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/webhosting/" class="md-nav__link">
<span class="md-ellipsis">
Webhosting with Docker-Compose
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_26" >
<div class="md-nav__link md-nav__container">
<a href="../../engineering-guide/nx_nomachine/" class="md-nav__link ">
<span class="md-ellipsis">
Nx nomachine
</span>
</a>
<label class="md-nav__link " for="__nav_4_26" id="__nav_4_26_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_26_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_26">
<span class="md-nav__icon md-icon"></span>
Nx nomachine
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../engineering-guide/nx_nomachine/administration/" class="md-nav__link">
<span class="md-ellipsis">
NoMachine - Administration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/nx_nomachine/configuration/" class="md-nav__link">
<span class="md-ellipsis">
NoMachine - Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/nx_nomachine/design/" class="md-nav__link">
<span class="md-ellipsis">
NoMachine - Design
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/nx_nomachine/troubleshooting/" class="md-nav__link">
<span class="md-ellipsis">
NoMachine - Troubleshooting
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../engineering-guide/nx_nomachine/usecases/" class="md-nav__link">
<span class="md-ellipsis">
NoMachine - Usecases
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
<div class="md-nav__link md-nav__container">
<a href="../../management/" class="md-nav__link ">
<span class="md-ellipsis">
Management
</span>
</a>
<label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Management
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../management/redhat_product_lifecycle/" class="md-nav__link">
<span class="md-ellipsis">
RedHat Product Lifecycle
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../management/strategy/" class="md-nav__link">
<span class="md-ellipsis">
Linux Strategy
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
<div class="md-nav__link md-nav__container">
<a href="../../services/" class="md-nav__link ">
<span class="md-ellipsis">
Services
</span>
</a>
<label class="md-nav__link " for="__nav_6" id="__nav_6_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Services
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../services/gmgt/" class="md-nav__link">
<span class="md-ellipsis">
gmgt.psi.ch
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../services/nx_nomachine/" class="md-nav__link">
<span class="md-ellipsis">
NX Nomachine
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../services/python/" class="md-nav__link">
<span class="md-ellipsis">
Python
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../services/ssh_gateways/" class="md-nav__link">
<span class="md-ellipsis">
SSH Gateways
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../services/unix_groups/" class="md-nav__link">
<span class="md-ellipsis">
Unix Groups / Group Management
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../services/webhosting/" class="md-nav__link">
<span class="md-ellipsis">
WebHosting
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_8" >
<div class="md-nav__link md-nav__container">
<a href="../../services/gitea/" class="md-nav__link ">
<span class="md-ellipsis">
Gitea
</span>
</a>
<label class="md-nav__link " for="__nav_6_8" id="__nav_6_8_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_8">
<span class="md-nav__icon md-icon"></span>
Gitea
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../services/gitea/authentication/" class="md-nav__link">
<span class="md-ellipsis">
Authentication
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../services/gitea/gitea-faq/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../services/gitea/gitea-migration/" class="md-nav__link">
<span class="md-ellipsis">
Migration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../services/gitea/gitea-packages/" class="md-nav__link">
<span class="md-ellipsis">
Gitea Packages
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../services/gitea/gitea-pages/" class="md-nav__link">
<span class="md-ellipsis">
Gitea Pages
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../services/gitea/gitea-runner/" class="md-nav__link">
<span class="md-ellipsis">
Gitea Runner
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../services/gitea/gitea-snippets/" class="md-nav__link">
<span class="md-ellipsis">
Gitea Snippets
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
<div class="md-nav__link md-nav__container">
<a href="../../user-guide/" class="md-nav__link ">
<span class="md-ellipsis">
User guide
</span>
</a>
<label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
User guide
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../user-guide/MFA/" class="md-nav__link">
<span class="md-ellipsis">
MFA / OTP - Multi Factor Authentication
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/MS_Teams_Webhooks/" class="md-nav__link">
<span class="md-ellipsis">
Webhooks to Microsoft Teams
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/afs_migration/" class="md-nav__link">
<span class="md-ellipsis">
AFS Migration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/consoles/" class="md-nav__link">
<span class="md-ellipsis">
(RHEL9) Beamline Consoles
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/eaccounts/" class="md-nav__link">
<span class="md-ellipsis">
Experimental Accounts - pgroup - eaccount
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/env_variables/" class="md-nav__link">
<span class="md-ellipsis">
User Specific Environment Variables for the Desktop
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/evolution_for_o365/" class="md-nav__link">
<span class="md-ellipsis">
Configure Evolution for 0ffice365
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/firefox_profile_per_host/" class="md-nav__link">
<span class="md-ellipsis">
Per Host Default Profile for Firefox
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/git/" class="md-nav__link">
<span class="md-ellipsis">
Git
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/gnome_desktop_icons/" class="md-nav__link">
<span class="md-ellipsis">
Gnome Desktop Icons
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/gnome_screenshots/" class="md-nav__link">
<span class="md-ellipsis">
Gnome Screenshots and Screencasts
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/kerberos_lifetime/" class="md-nav__link">
<span class="md-ellipsis">
Kerberos for Long Running Programs/Simulations/Shell Sessions
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/linux_terminalserver/" class="md-nav__link">
<span class="md-ellipsis">
Linux Terminalserver
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/login_servers/" class="md-nav__link">
<span class="md-ellipsis">
Login Servers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/manual_nfs_mount/" class="md-nav__link">
<span class="md-ellipsis">
(Manual) NFS Mounts
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/manual_smb_mount/" class="md-nav__link">
<span class="md-ellipsis">
(Manual) SMB Mounts
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/mpirun/" class="md-nav__link">
<span class="md-ellipsis">
Start Long Running Programs/Simulations with mpirun
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/ms_teams/" class="md-nav__link">
<span class="md-ellipsis">
Microsoft Teams
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/order_linux_system/" class="md-nav__link">
<span class="md-ellipsis">
Order / Replacement Linux System / Console
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/personal_drive/" class="md-nav__link">
<span class="md-ellipsis">
Personal Drive / Project Drives
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/putty/" class="md-nav__link">
<span class="md-ellipsis">
SSH Access from Windows using Putty
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/ssh/" class="md-nav__link">
<span class="md-ellipsis">
SSH
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/ssh_client_config/" class="md-nav__link">
<span class="md-ellipsis">
Personal SSH Client Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/ssh_host_key_certificates/" class="md-nav__link">
<span class="md-ellipsis">
SSH Host Key Certificates
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/ssh_to_legacy_linux/" class="md-nav__link">
<span class="md-ellipsis">
SSH To Legacy Linux Systems
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/switch_drive/" class="md-nav__link">
<span class="md-ellipsis">
SwitchDrive / Owncloud
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/switching_users/" class="md-nav__link">
<span class="md-ellipsis">
Switching Users
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/thunderbird_for_o365/" class="md-nav__link">
<span class="md-ellipsis">
Configure Thunderbird for 0ffice365
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/vpn/" class="md-nav__link">
<span class="md-ellipsis">
VPN Access
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/xrdp/" class="md-nav__link">
<span class="md-ellipsis">
Remote Access with RDP
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="On this page">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
On this page
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#general-directives" class="md-nav__link">
<span class="md-ellipsis">
General Directives
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#version-control" class="md-nav__link">
<span class="md-ellipsis">
Version Control
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#hiera" class="md-nav__link">
<span class="md-ellipsis">
Hiera
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#external-code" class="md-nav__link">
<span class="md-ellipsis">
External Code
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#servers-and-services" class="md-nav__link">
<span class="md-ellipsis">
Servers and services
</span>
</a>
<nav class="md-nav" aria-label="Servers and services">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#naming-convention-nodes-servers" class="md-nav__link">
<span class="md-ellipsis">
Naming Convention Nodes / Servers
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#software-update-policy" class="md-nav__link">
<span class="md-ellipsis">
Software Update Policy
</span>
</a>
<nav class="md-nav" aria-label="Software Update Policy">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#automatic-updates" class="md-nav__link">
<span class="md-ellipsis">
Automatic Updates
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#snapshots" class="md-nav__link">
<span class="md-ellipsis">
Snapshots
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<nav class="md-path" aria-label="Navigation" >
<ol class="md-path__list">
<li class="md-path__item">
<a href="../.." class="md-path__link">
<span class="md-ellipsis">
Overview
</span>
</a>
</li>
<li class="md-path__item">
<a href="../" class="md-path__link">
<span class="md-ellipsis">
Admin guide
</span>
</a>
</li>
</ol>
</nav>
<article class="md-content__inner md-typeset">
<a href="https://gitea.psi.ch/linux/documentation/_edit/main/docs/admin-guide/guidelines.md" title="Edit this page" class="md-content__button md-icon" rel="edit">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="lucide lucide-file-pen" viewBox="0 0 24 24"><path d="M12.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v9.5"/><path d="M14 2v4a2 2 0 0 0 2 2h4M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"/></svg>
</a>
<h1 id="guidelines">Guidelines<a class="headerlink" href="#guidelines" title="Permanent link">&para;</a></h1>
<h2 id="general-directives">General Directives<a class="headerlink" href="#general-directives" title="Permanent link">&para;</a></h2>
<p>Regardless of the content of this documentation, all PSI directives have precedence and need to be applied/followed. Among others these are some of the most relevant ones regarding IT systems:</p>
<ul>
<li><a href="https://DLS01P.PSI.CH/documents/jsp/qv?id=PSIcgc_fi20220000526102">AW-95-06-01</a> / <a href="https://DLS01P.PSI.CH/documents/jsp/qv?id=PSIcgc_fi20220000526095">AW-95-06-01e</a> Usage and Monitoring of IT Resources at PSI</li>
<li><a href="https://DLS01P.PSI.CH/documents/jsp/qv?pri=PSIcgc&amp;ft=cgcDocument@STORE_MAIN_CGC&amp;q_cgcId=ID22023011616445798386">AA-9500-142</a>/<a href="https://DLS01P.PSI.CH/documents/jsp/qv?id=PSIcgc_fi20230003212302">AA-9500-142e</a> Handling of Software Updates</li>
</ul>
<h2 id="version-control">Version Control<a class="headerlink" href="#version-control" title="Permanent link">&para;</a></h2>
<p>Everything must be in version control before being used on production systems. In particular, scripts and other software, SPEC files for packages, relevant documentation, Puppet code, etc.</p>
<h2 id="hiera">Hiera<a class="headerlink" href="#hiera" title="Permanent link">&para;</a></h2>
<p>The naming of the variables inside Hiera depends on the scope usage of the variables. The variables being used only inside one specific class will be named <code>base_class_name::variable</code> where <code>base_class_name</code> is the last part of class name, without the part before the last <code>::</code> separator. Example: the <code>permit_root_login</code> variable for the <code>profile::ssh_server</code> class will be named <code>ssh_server::permit_root_login</code>.</p>
<h2 id="external-code">External Code<a class="headerlink" href="#external-code" title="Permanent link">&para;</a></h2>
<p>Although the installation infrastructure makes large usage of external code the system has to avoid as much as possible dependency from external services availability. A WAN outage or a remote http server failure should not influence the installation system. For this reason, all the external code is mirrored internally in specific git repositories.</p>
<h2 id="servers-and-services">Servers and services<a class="headerlink" href="#servers-and-services" title="Permanent link">&para;</a></h2>
<p>Every server should support exactly one service, e.g. Puppet, or FTP. This makes the services more independent (e.g. for downtimes), simplifies the structure of the corresponding Puppet code, makes it easier to reason about the environment, and prevents conflicts regarding certain configuration settings.</p>
<h3 id="naming-convention-nodes-servers">Naming Convention Nodes / Servers<a class="headerlink" href="#naming-convention-nodes-servers" title="Permanent link">&para;</a></h3>
<p>Node/Server names have the form <code>lx-purpose-[0-9][0-9].psi.ch</code>, where <code>purpose</code> is the purpose of the server or the service provided by it. Example: <code>lx-boot-01.psi.ch</code> is the <strong>boot</strong> server</p>
<p>The production server always has an DNS alias <code>purpose.psi.ch</code> and clients should always use this alias to connect to the server.</p>
<p>When putting system names into configuration files, we always use lower case and the fully qualified domain name.</p>
<h2 id="software-update-policy">Software Update Policy<a class="headerlink" href="#software-update-policy" title="Permanent link">&para;</a></h2>
<p>It is in the responsibility of the owner/administrator of a system to care about the software update policy and its application!</p>
<h3 id="automatic-updates">Automatic Updates<a class="headerlink" href="#automatic-updates" title="Permanent link">&para;</a></h3>
<p>By default once a week (in the night from Sunday to Monday) security updates are automatically applied. Other updates, including Kernel updates, need to be installed manually.</p>
<p>This is <a href="../configuration/software/package_updates/">configurable</a>, you may switch it off completely, make it run daily or make it install all updates.</p>
<p>Reboots are never done automatically.</p>
<p>Also for software which have been installed from other sources than RPM package repositories (like <code>pip</code> or manual install) there is no automatic update procedure.</p>
<h3 id="snapshots">Snapshots<a class="headerlink" href="#snapshots" title="Permanent link">&para;</a></h3>
<p>On specially protected systems where stability is more important than being up-to-date, there is the option to freeze the provided RPM package version to a specified date. Also this can be <a href="../configuration/software/package_repositories/">configured in Hiera</a>(chapter "Using Specific Package Repository Snapshot"). If such a system is set by such a "Repo Tag" to a specific snapshot, the update procedure cannot get newer than the given state.</p>
<p>Again, this should only be done for nodes in protected networks, e.g. with access restrictions through an <a href="../../services/admin-guide/ssh_gateways/">ssh gateway</a> and requires consent with IT Security.</p>
</article>
</div>
<script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="lucide lucide-circle-arrow-up" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><path d="m16 12-4-4-4 4M12 16V8"/></svg>
Back to top
</button>
</main>
<footer class="md-footer">
<nav class="md-footer__inner md-grid" aria-label="Footer" >
<a href="../deployment/rhel9/hardware_compatibility/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Hardware Compatibility">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="lucide lucide-arrow-left" viewBox="0 0 24 24"><path d="m12 19-7-7 7-7M19 12H5"/></svg>
</div>
<div class="md-footer__title">
<span class="md-footer__direction">
Previous
</span>
<div class="md-ellipsis">
Hardware Compatibility
</div>
</div>
</a>
<a href="../puppet/" class="md-footer__link md-footer__link--next" aria-label="Next: Puppet">
<div class="md-footer__title">
<span class="md-footer__direction">
Next
</span>
<div class="md-ellipsis">
Puppet
</div>
</div>
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="lucide lucide-arrow-right" viewBox="0 0 24 24"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
</div>
</a>
</nav>
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
<div class="md-copyright__highlight">
Copyright &copy; 2026 Paul Scherrer Institute
</div>
Made with
<a href="https://zensical.org/" target="_blank" rel="noopener">
Zensical
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"annotate":null,"base":"../..","features":["announce.dismiss","content.action.edit","content.code.annotate","content.code.copy","content.code.select","content.footnote.tooltips","content.tabs.link","content.tooltips","navigation.footer","navigation.indexes","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","search.highlight"],"search":"../../assets/javascripts/workers/search.5df7522c.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":null}</script>
<script src="../../assets/javascripts/bundle.21aa498e.min.js"></script>
<script src="../../assets/asciinema-player.min.js"></script>
</body>
</html>