Ich bin in einer ehrlich gesagt lächerlichen Situation, in der mein Desktop zwei optische Laufwerke hat und mein Media Center keine (noch Platz für eine). Bevor ich etwas so Extremes wie den Kauf eines externen optischen Laufwerks in Betracht ziehe, möchte ich prüfen, ob es eine Möglichkeit gibt, meine Laufwerke über das Netzwerk zu binden.
Beide Computer sind Ubuntu und verfügen bereits über eine NFS-Freigabe für den Zugriff auf Medien vom Desktop aus.
Der Grund, den ich frage (anstatt nur / media / cdrom zu exportieren), ist, dass eine gemountete NFS-Freigabe für den Remote-Computer nicht wie ein CD-ROM-Gerät aussieht . Dies ist für mich von Bedeutung, da XBMC das Laufwerk als solches erkennen muss, damit es die Discs automatisch und angemessen handhaben kann.
Jetzt weiß ich nicht, wie ein optisches Laufwerk für Ubuntu wie ein optisches Laufwerk aussieht . Wenn ich das wüsste, würde ich wahrscheinlich wissen, was ich tun muss. Ich vermute, irgendwann gibt es dort heiße udev
Action.
Gibt es eine Möglichkeit, ein Block-Level-Gerät (z. B. /dev/sr0
) gemeinsam zu nutzen, damit beide Computer es separat montieren können? Ich habe das Gefühl, ich stürze in den Kaninchenbau und sehe all diese massiv überentwickelten Lösungen wie iSCSI und Passthrough-Virtualisierung taucht vor mir auf ... Sicher gibt es eine einfache Möglichkeit, ein paar Laufwerksmodi zwischen zwei Ubuntu-Computern zu teilen!
quelle
ioctl
für die DVD benötigte Special exportiert . Ich habe es vor Jahren für eine schlecht durchdachte Idee verwendet, über das Netz zu tauschen, und dann bis jetzt vergessen ... (besserer Link: linux-mag.com/id/7118 )/media/cdrom
zu nfs und montierte sie am anderen Ende als/media/cdrom
(und ich kann die Dateien sehen) , aber XBMC ist keine Änderung der Medien Erfassen (er nicht glaubt , dass die einhängepunkt ist eine DVD). Mache ich etwas dummesmount -o loop
lokal auf anderen Computern.Antworten:
Ich denke, Sie können möglicherweise mit Network Block Devices (NBD) das erreichen, was Sie wollen. Auf der Wikipedia-Seite zu diesem Thema wird ein Tool namens genannt
nbd
. Es besteht aus einer Client- und einer Serverkomponente.Beispiel
In diesem Szenario richte ich eine CD-ROM auf meinem Fedora 19-Laptop (Server) ein und teile sie an ein Ubuntu 12.10-System (Client) weiter.
Installation eine CD teilenZurück auf dem Server (Fedodra 19) mache ich etwas Ähnliches mit dem Paketmanager YUM. Sobald der Vorgang abgeschlossen ist, lege ich eine CD ein und führe diesen Befehl aus, um sie als Blockgerät freizugeben:
Eine schnelle Überprüfung, um festzustellen, ob es läuft:
CD einhängenNun zurück auf dem Ubuntu-Client müssen wir uns wie folgt mit dem
nbd-server
using verbindennbd-client
:Wir können bestätigen, dass es jetzt ein Blockgerät auf dem Ubuntu-System gibt, indem wir
lsblk
:Und jetzt montieren wir es:
hat es funktioniert?Die Spannung bringt mich um und wir haben Abheben:
Es gibt den Inhalt einer LiveCD von CentOS, die ich in den Fedora 19-Laptop gemountet habe und die ich als Blockgerät des Netzwerks unter Ubuntu mounten konnte.
Autoplaying & Automounting?
Im obigen Setup musste ich die DVD manuell mounten.
Bei der Untersuchung der Plausibilität, ob dieser Ansatz sofort mit Autoplaying und Automounting funktioniert, funktioniert Ubuntus Autoplay nicht, sondern mit dem
nbd-client
undnbd-server
blieb auf, als ich die Festplatte auswarf. Als ich die DVD wiedermount
einlegte, konnte ich den Befehl unter Ubuntu ausführen , wodurch die DVD wieder einwandfrei montiert wurde.Ich würde also davon ausgehen, dass Sie eine UDEV-Regel in Ubuntu einfügen können, um diese Änderung zu erkennen und die automatische Bereitstellung / automatische Wiedergabe automatisch durchzuführen. Ich werde nicht alles ausprobieren, aber ich sehe nichts, was mich glauben lassen würde, dass es nicht funktionieren wird.
quelle
ioctl
wird nicht perfekt gehandhabt. Aber ich war in der Lage , diese Arbeit auf zwei archlinux Maschinen mit machen Null Schluckauf! (Archlinux installierte Client und Server zusammen als 'nbd'.)Diese Methode verwendet ebenfalls NBD, verwendet jedoch stattdessen die neue Stilkonfiguration. Die einzigen Vorteile sind, dass Sie den Server nicht manuell starten müssen und keine hässliche Abwertungswarnung erhalten.
Bearbeiten Sie nach der Installation der Pakete
nbd-server
undnbd-client
die Konfigurationsdatei auf dem Server (/etc/nbd-server/config
) und stellen Sie sicher, dass sie ungefähr so aussieht:Hinweis: Die
[dvd]
obige Beschriftung ist eine Abschnittsüberschrift und kann ein beliebiges Wort in eckigen Klammern sein. Es wird verwendet, um diese bestimmte Freigabe zu identifizieren. Stellen Sie daher sicher, dass Sie einen Namen verwenden, der einfach zu verwenden und offensichtlich ist.Starten Sie nach dem Speichern der Änderungen an der Konfigurationsdatei den nbd-Server oder starten Sie ihn neu (Beispiel für einen Neustart):
Stellen Sie dann auf dem Clientcomputer mit dem folgenden Befehl eine Verbindung zum Server her:
Hinweis: Ersetzen Sie ihn
dvd
durch den Namen, den Sie in der obigen Serverkonfiguration verwendet haben, undhostname
durch den Hostnamen des Servercomputers.Schließlich geht es nur noch darum, das neue gemeinsam genutzte Blockgerät zu mounten:
quelle
Negotiation: ..Error: Server closed connection Exiting.
kommentieren Sie beideuser
undgroup
Zeilen ein/etc/nbd-server/config
. Dies macht Laufnbd-server
unter root, der Zugriff auf Ihre/dev/sr0