2017-12-15 5 views
0

Versucht, ein Verzeichnis zu erstellen. mit den folgenden Befehlen (wie root)Kann nicht mkdir/proc/sys/somedir, obwohl/proc/sys exists

$mkdir -p /proc/sys/sunrpc 

anzumerken, dass /proc/sys bereits vorhanden ist. Doch Fehler immer

mkdir: nicht Verzeichnis erstellen '/ proc/sys/sunrpc': Keine solche Datei oder das Verzeichnis

ähnliche Fehler bekommen, auch wenn

$cd /proc/sys 
$mkdir sunrpc (or sunrpc/ or ./sunrpc or ./sunrpc/ or using sudo) 

Letztlich versuchen, Ich versuche, Anweisungen zu befolgen, here, um RPC-Anforderungsquoten für NFS-Clients (ein kommerzielles Hadoop-System) festzulegen. Der Punkt, an dem der Lage, ein Verzeichnis zu erstellen ein Problem wird, ist, wo ich die Befehle ausführen müssen:

echo 128 > /proc/sys/sunrpc/tcp_slot_table_entries 
echo 128 > /proc/sys/sunrpc/tcp_max_slot_table_entries 

und das Verzeichnis sunrpc noch nicht /proc/sys in dem übergeordneten Dateisystem vorhanden.

Hat jemand dieses Problem schon einmal gehabt (konnte keine anderen Beiträge finden, bei denen das Elternverzeichnis bestätigt wurde)? Was könnte hier passieren? Vielen Dank.

+0

Als eine Einführung in das Thema: 'man 5 proc' – Cyrus

+4

Sie können Verzeichnisse nicht in'/proc' erstellen, das ist ein virtuelles Dateisystem, das btis des Kernels exponiert. Wenn Sie uns sagen, was Sie * eigentlich * versuchen, können wir Ihnen vielleicht einige Vorschläge machen. – larsks

+0

@larks Danke, es hätte ein wenig gedauert, um herauszufinden, dass der Elternteil dir. war besonders. Ich habe mein Endziel des Problems zu der Post hinzugefügt. – lampShadesDrifter

Antwort

1

Unter Linux sind Einträge in /proc, die nicht direkt mit PIDs verknüpft sind (die nur existieren, wenn ein Prozess mit der angegebenen ID existiert), von Kernel-Modulen entweder unter Last oder auf Hardware-Attach (seltener - die meisten dieser Anwendungen sind in /sys umgezogen.

Wenn Sie versuchen, Module zu konfigurieren, die zur Unterstützung der Linux-In-Kernel-NFS-Implementierung verwendet werden, sollten Sie sicherstellen, dass die zugehörigen Kernelmodule der Implementierung geladen sind und im Voraus arbeiten. Sie können entweder ihre Namen identifizieren und sie mit modprobe laden - oder starten Sie einfach den NFS-Server oder -Client (je nach der aktuellen Maschine); Wenn der Dienst gestartet werden kann, werden die Module geladen, von denen er abhängt.

1

Der Grund kann man nicht mkdir ein Verzeichnis unter /proc ist, weil das ein virtuelles Dateisystem ist eine von mehreren typischerweise unter Linux gefunden (/sys ist das andere Prinzip eins).

Einträge werden vom Kernel selbst ausgefüllt, häufig als Antwort auf geladene Kernel-Module. In Ihrem Fall vermute ich Sie wollen sunrpc Kernel-Modul haben, und möglicherweise andere, installiert:

modprobe sunrpc 

Sie für das überprüfen mit:

grep sunrpc /proc/modules 

Es weitere Unterlagen ist, die relevant sein können unsicher .

Wenn dies nicht der Fall ist, bitte wiederholen Sie Ihren Kommentar mit dem spezifischen Ziel, das Sie erreichen möchten.

Die Mapr version 5 docs haben eine ähnliche Reihe von Anweisungen zu denen, die Sie erwähnen, und Mitteilungs speziell:

Nach dem Neustart des Knotens, wenn das /proc/sys/sunrpc Verzeichnis nicht verfügbar ist oder wenn rpcidmapd ist nicht läuft, Start Der rpcidmapd-Dienst verwendet den folgenden Befehl: service rpcidmapd start.

Ich würde prüfen, ob das Kernelmodul selbst dies nicht anspricht.