USB üzerinden dosya sunma


12

Kutumun dosya sisteminin bir bölümünü USB üzerinden başka bir bilgisayara sunabilmek istiyorum. Örneğin, dosyalar A kutusunun üzerindeyse ve B kutusundan okuyorsam, B B'yi bağlar, bu dosyaları görür ve bir dosya sistemi aygıtı olarak bağlar (örneğin, bir başparmak sürücüsü gibi).

İdeal olarak çözüm herhangi bir Linux dağıtımında işe yarayacaktır, ancak büyük olasılıkla bunu Debian varyantlarında çalıştıracağım.

Daha fazla bilgiye ihtiyacınız olursa lütfen bize bildirin. Şerefe.


4
İki bilgisayarı bir USB kablosuyla bağlayamazsınız - USB elektrik protokolü simetrik değildir ve bir ucunda bir bilgisayar ve diğer ucunda bir çevre aygıtı gerektirir (bu yüzden fişler aynı değildir). Kullanmak istediğiniz belirli bir donanım gadget'ınız var mı? Aksi takdirde, iki bilgisayar arasında bir ağ oluşturmak için Ethernet (veya Firewire) daha iyi uyarlanabilir.
Gilles 'SO

2
@Gilles - Cevabınız için teşekkürler. Cevabınızdan, sanırım sorum, bilgisayarımın USB bağlantısı / hub'ı üzerinde çevresel bir cihaz gibi görünmesini ve / veya nasıl hareket etmesini sağlamak. Bir çevrebirim aygıtını ve bir ana makineyi ayıran nedir? Şerefe.
Sam Bisbee

Yanıtlar:


11

Verdiğiniz bilgilerden şunu tahmin ediyorum:

  1. Yalnızca bir USB yığın depolama aygıtını takarak iletişim kurabileceğiniz bir kara kutu aygıtınız var.
  2. Bir USB sürücüsünü fiziksel olarak takıp çıkarmak kabul edilemez, konuşlandırmadan sonra fiziksel erişiminiz olmaz.

Bu varsayımlardan herhangi biri yanlışsa, daha kolay zaman geçireceksiniz.

Aradığınız şey, bilgisayarın USB depolama aygıtı olarak görünmesini sağlamanın bir yoludur. Prensip olarak, bu çok fazla elektronik gerektirmemelidir - Bence doğru gadget birkaç USD artı nakliye en fazla seri üretilebilir. Ancak mevcut doğru gadget'a referans bulamıyorum.

Sadece bir USB bilgisayar-bilgisayar kablosu kullanmak hile yapmaz: bunlar bir Ethernet ağını simüle eder ve kara kutu Ethernet konuşmaz. Ve USB depolama-LAN dönüştürücüler yardımcı olmaz, yanlış yola giderler.

  1. Bir USB çubuğunu siyah kutudan çıkararak bir bilgisayara takan bir robot kolu tasarlayabilirsiniz. Şimdi bariz ama pratik olmayan bir öneride bulunuldu ...

  2. Gadget'ı tasarlayabilir ve bunun için bir sürücü yazabilirsiniz. Ancak bu, özellikle milyonlarca birime ihtiyacınız yoksa fiyat aralığınızın dışında olabilir.

  3. İSCSI ve USB üzerinden birkaç bilgisayarla konuşabilen sofistike bir NAS cihazı olabilir (bu son iki kelime zor kısımdır).

  4. Bazı cep telefonları ve PDA'lar bir USB depolama aygıtı olarak işlev görebilir ve ayrıca bir GSM, wifi veya Ethernet bağlantısına sahiptir. Ancak genellikle kapalı olduklarında depolama aygıtı olarak işlev görürler, bu yüzden köprü veya sunucu olarak kullanılabilecek bir cihaz olup olmadığını bilmiyorum.

  5. İşte biraz benzer bir gereklilik hakkında bir tartışma. Önerdiği tek çözüm, uygun olacağı anlaşılan USB depolama-wifi bağlantısıdır , ancak pahalıdır.

  6. Bir USB cihazını iki bilgisayar arasında paylaşmanıza izin veren USB anahtarları (paylaşım merkezleri olarak da bilinir) vardır. Bir depolama cihazını kara kutu ile bilgisayar arasında paylaşmak için birini kullanabilirsiniz. Sorun, genellikle kullanıcının iki cihaz arasında geçiş yapmak için bir düğmeye basmasını gerektirmesidir - ancak anahtarın uzaktan kontrol edilebildiği birini bulursanız, bir çözümünüz vardır.


Çok düşünceli yanıtınız için teşekkür ederiz Gilles. Varsayımlarınızda haklısınız. PDA / mobil köprü, biraz daha düşünmek zorunda kalacağım çok güzel bir fikir. Çoğunlukla LAN veya robot odaklı görünen diğer fikirler söz konusu değildir, çünkü çevrede LAN yoktur. Bazı POC'ları bir araya getirmeye çalışacağım ve bir iki gün içinde rapor vereceğim. Tekrar teşekkürler!
Sam Bisbee

2

Bunun ana bilgisayardan ana bilgisayara USB kablosu ve Linux usbnet sürücüsü ile yapılabileceğini düşünüyorum. Donanım uyumluluğu ve bunu Linux'ta nasıl kuracağınızla ilgili ayrıntılar şu adreste verilmiştir: http://www.linux-usb.org/usbnet/


3
Bu USB üzerinden Ethernet, cihaz destekliyorsa sorun değil ... ama izlenim duymuyorum.
Gilles 'SO- kötü olmayı bırak'

@Gilles - Haklısın, kara kutunun Ethernet konuştuğunu sanmıyorum. Bununla birlikte, kara kutu bir USB bağlantısının olduğunu (A-to-A kablosu aracılığıyla) tespit ederse yine de biraz sihir alabilir ve çalışabilir. Bir iki gün içinde öğrenecekler. Şerefe.
Sam Bisbee

Eh, sanırım en azından sürücü sayfasında listelenen cihazlar bunu desteklemeli ...
Riccardo Murri

-1

USB'nin buraya nasıl oturduğunu gerçekten görmüyorum? Dosyaları bu makineler arasında paylaşmak için neden SAMBA veya NFS kullanmıyorsunuz? Belki bu bir sebepten dolayı işe yaramıyor, bu yüzden muhtemelen biraz daha açıklama eklemelisin ...


Bu protokoller çalışmaz, çünkü okuyucu makine ağ iletişimi etkin değildir. Sahip olduğum tek I / O noktası, dosyaları izleyip okuduğu USB. Nihai, test dışı ortamda, okuyucu makinesini kontrol edemeyeceğim (yazılımını bile bilmiyorum), ancak dosyalarımı alacak. Teşekkürler!
Sam Bisbee

-1

USB ana bilgisayarının USB aygıtı gibi görünmesi gibi USB'ye özgü sorunları çözseniz bile, dosya sistemini aynı anda iki farklı cihaza monte etmekte sorun yaşarsınız.

Kutu A'nın bir sürücüsü varsa (diyelim ki / dev / sdb1) ve bağlıysa ve / dev / sdb1 üzerindeki dosyaları kullanıyorsa, B Kutusu bağlar bu dosyalara erişmek istediğinde ne olur? En düşük düzeyde, USB bir dosya sistemi ile değil, bir cihazla uğraşmayı beklemek isteyecektir.


3
Donanım sorunu çözülürse, bir seferde yalnızca bir tarafın yazabilmesi ve okuma erişimlerinin tutarlı bir görünüm alması için bir erişim kilidi koymanın bir yolu vardır. Bazı çözümler, yalnızca bir bilgisayarın depolama alanına erişmesine izin verir. Yani evet, bu bir endişe, ama bunaltıcı değil.
Gilles 'SO- kötü olmayı bırak'

Kutu A'ya dosya sistemini monte ederken ve bağlantısını kesmeden bunu yapmak çok zor olacaktır (ve tam tersi). Çoğu normal (küme farkında olmayan) dosya sistemleri, taktıkları diskteki bitlerin altında değişmediğini varsaymak için her türlü hakka sahiptir. Bir grup bellek içi yapı senkronize olmayacak. A ve B arasında geçiş yaparken bağlamanız / bağlantısını
kesmeniz ya da
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.