Ich habe das Dateisystem meines RaspberryPi (Raspbian - Jessie) absichtlich so konfiguriert, dass es schreibgeschützt ist. Eines der Dinge, die (noch) nicht funktionieren, ist die Tab-Vervollständigung (auch bekannt als Auto-Vervollständigung) in Bash, wo ich häufig den folgenden Fehler erhalte:
Bash: Temporäre Datei für Here-Document: Schreibgeschütztes Dateisystem kann nicht erstellt werden
Viele Online-Diskussionen konzentrieren sich darauf, wie Dateisystemprobleme behoben werden können, die sich mit diesem Fehler manifestieren. Ich möchte stattdessen Bash anpassen. Wo wird versucht, diese temporäre Datei zu erstellen, und wie kann ich sie umleiten, um diese Datei in / tmp (die mit tmpfs bereitgestellt wird) zu erstellen?
bash
autocomplete
readonly
here-document
gleichnamig
quelle
quelle
strace -e open,creat bash
und es werden Ihnen alle Systemaufrufe von open () und creat () angezeigt./var/tmp
?$TMPDIR
, standardmäßig,/tmp
wenn nicht festgelegt, wie bei den meisten Programmen. IstTMPDIR
eingestellt? Wenn ja, stellen Sie sicher, dass sich der Speicherort auch auf tmpfs befindet. Andernfalls wird viel mehr als nur die Bash-Fertigstellung unterbrochen. Wenn das nicht derstrace
Fall ist , schauen Sie unter, wie meuh rät.Antworten:
Der erste Test, den Sie durchführen können, um festzustellen, wo sich Ihr tmp-Ordner befindet und ob er funktioniert, führt diesen Befehl aus:
Die Ausgabe sollte ungefähr so aussehen:
Wenn der Ordner / tmp vorhanden ist und funktioniert (über Schreibberechtigungen verfügt), der temporäre Ordner jedoch auf ein anderes Verzeichnis wie / var / tmp verweist, können Sie versuchen, den temporären Ordner so einzustellen, dass er auf / tmp verweist, indem Sie:
Wenn bash die temporäre Datei in / tmp speichert und der Ordner / tmp aus irgendeinem Grund nicht funktioniert, können Sie versuchen, die Bereitstellung aufzuheben (falls sie bereitgestellt ist). Es kann vorkommen, dass / tmp schreibgeschützt bereitgestellt wird. In beiden Fällen sollte es nützlich sein, Folgendes zu versuchen:
Dann können Sie versuchen, RAM-Speicher für das Verzeichnis / tmp zu verwenden:
Sie können die RAM-Größe (-o Größe = 128 MB) auf einen beliebigen Wert einstellen.
quelle