Symptome und Geltungsbereich
- Die Auswertung meldet verweigerten Zugriff im reinen Auswertungsmodus.
- Die Konfiguration liest beim Auswerten eine persönliche Home-Datei oder /var-Daten.
Betroffene Umgebung
Reine Flake-Auswertung; Pfadwerte, readFile und lokale Daten sind nicht dasselbe wie Pfadstrings für die Laufzeit.
Erkennbare Meldungen (synthetische Beispiele)
error: access to absolute path '/home/example/wallpaper.png' is forbidden in pure evaluation mode (use '--impure' to override)Prüfe den Zweck des Ausdrucks vor einer Unreinheitsfreigabe.
Mögliche Ursachen
Das sind mögliche Erklärungen, keine bestätigte Diagnose. Mehrere unabhängige Fehler können gleichzeitig vorliegen.
- Eine Quelle außerhalb des Flake-Baums kann über absoluten Pfad oder builtins.readFile gelesen werden.
- Ein Laufzeitpfad kann versehentlich als Nix-Pfadwert statt String geschrieben sein und dadurch beim Auswerten gelesen werden.
Sicher prüfen
Führe jeweils einen Befehl in der passenden Sitzung aus. Lies zuerst die Erklärung. Großgeschriebene Platzhalter brauchen deine Werte; Werkzeuge und Rechte unterscheiden sich je nach Distribution. Die Website zeigt Befehle an und führt sie niemals aus.
Prüfschritt 1
Nutze den tatsächlichen Konfigurations-Checkout; rg liest Treffer ohne Nix-Auswertung.
rg -n 'builtins\.readFile|builtins\.getEnv|/home/|/var/' /etc/nixosErgebnis einordnen: Vergleiche den verweigerten Pfad mit Ausdruck und Optionstyp. Ein Laufzeitstring kann gültig sein, wo eine Quellkopie nicht passt.
Prüfschritt 2
Führe dies im Flake-Checkout aus; prüfe die Zugehörigkeit zu einem expliziten Eingang.
rg -n 'inputs|url|path:|readFile' flake.nixErgebnis einordnen: Eine Datei außerhalb deklarierter Eingänge wird nicht dadurch reproduzierbar, dass sie auf diesem Host existiert.
Nächste Schritte nach Befund
Nicht geheime Quelldaten als Eingang deklarieren
Wenn die Datei eine Bauquelle ist, lege sie in den erfassten Flake-Baum oder einen expliziten festgelegten Eingang. Referenziere sie relativ dazu für dieselbe Auswertung auf anderen Rechnern.
Vorsicht: Quellen landen normalerweise im allgemein lesbaren Nix-Store. Halte Geheimnisse heraus und erhalte die Quellfilterung.
Wiederherstellung / Rücknahme: Stelle Quellstruktur, Verweise und Lock zurück; behalte verschobene Originaldateien bis zur Prüfung.
Hat dir dieser Hinweis geholfen?
Laufzeitressourcen als Laufzeitpfade halten
Wenn die Option einen Laufzeitdateinamen wie EnvironmentFile erwartet, verwende die dokumentierte Stringform und stelle die Datei außerhalb des Stores bereit. Begrenze bewusstes --impure für lokale Versuche auf diese Auswertung.
Vorsicht: Ein String hilft nur bei tatsächlichem Laufzeitzugriff der Option. --impure hält Geheimnisse nicht automatisch aus Bauausgaben heraus.
Wiederherstellung / Rücknahme: Stelle Ausdruck und Laufzeitdateikonfiguration zurück; ersetze ein in den Store gelangtes Geheimnis vor weiterer Verwendung.
Hat dir dieser Hinweis geholfen?
Quellen und Prüfung
Diese Anleitung basiert auf Originalquellen von Projekten oder Distributionen und wurde am genannten Datum redaktionell geprüft. Das ist eine Quellenprüfung, kein Nachweis einer auf deiner Hardware reproduzierten Lösung. Log-Beispiele sind synthetische Testdaten. Versionsabhängige Details müssen zur installierten Ausgabe passen.
- Nix eval — pure and impure evaluation (Projekt- oder Distributionsdokumentation)
- Official NixOS Wiki — flake source boundaries (Projekt- oder Distributionsdokumentation)