web-dev-qa-db-ja.com

ローカルネットワークを介してファイルを共有する方法は?

デスクトップ(Ubuntu 13.04&Win 7 Home Premium)ラップトップ(Ubuntu 12.04)があり、どちらもWiFiアダプターを持っています。また、インターネットに接続されたWiFiルーターがあり、両方のコンピューターがアクセスできます。

WiFi(Windows 7のホームグループに似ていますが、イーサネットケーブルを使用しない)を使用して、デスクトップとラップトップ間でファイルを共有したいです。どのように設定しますか?

両方のOSを使用してファイルを共有したいのですが、OSのいずれかとファイルを共有する情報を持っている人がいる場合は、答えてください!

65
Gaurav

SAMBAのようには見えませんが、他のユースケースには適している代替案をいくつか提案します。

HTTPサーバー

HTTP は、通常のWebサイトへのアクセスに使用されるプロトコルであるため、すべてのOSがそれを実装するように強制されました!

ソースコンピューターでIPを見つけます。 192.168.0.10。 Ubuntuの場合:

ifconfig

転送するファイルを含むディレクトリにサーバーを作成します。

python -m SimpleHTTPServer 8080

受信側のコンピューターでブラウザーを開き、次の場所にアクセスします。

192.168.0.10:8080

これで、ディレクトリを使用して目的のファイルに移動できます。

この方法が高速/堅牢かどうかはわかりませんが、セットアップが最も簡単でポータブルです。

より高速な代替手段については、以下で説明します: https://stackoverflow.com/questions/12905426/what-is-a-faster-alternative-to-pythons-simplehttpserver

rsync

2台のUbuntuコンピューター間では、これは素晴らしいオプションです。 https://en.wikipedia.org/wiki/Rsync

まず、あるコンピューターから別のコンピューターにSSH接続できることを確認します。

ssh [email protected]

パスワードを非公開にしたい場合は、ユーザーの新しいアカウントを作成できます。

サーバーとクライアントで実行する必要がある場合があります。

Sudo apt-get install ssh

次に、ログインに成功したら、サーバーからクライアントにファイルをコピーするだけです。

rsync -av [email protected]:/full/path/to/remote/directory .

https://unix.stackexchange.com/questions/308810/copying-multiple-files-using-rsync-over-ssh で説明されているように、複数のディレクトリを一度にコピーできます。

rsync -av '[email protected]:/full/path/to/remote/directory "/full/path/to/remote/directory with space"' .

これは最も一般的な分母の方法です。最も堅牢で、効率的で、広く利用可能なLinuxであり、セキュリティは、既知のファイル許可+ユーザースキームに依存しています。

これはWindowsでは簡単ではないかもしれません。

NFS

ここでも主に2台のUbuntuマシンの場合、これはLinuxのSAMBAであり、Linuxカーネルにサポートが組み込まれています: https://en.wikipedia.org/wiki/Network_File_System

基本的に、ゲスト上のサーバーからmountフォルダーを作成できます。

セットアップとトラブルシューティングは潜在的にrsyncよりも少し難しいですが、間違いなく実行可能です。これは良い記事です: https://www.digitalocean.com/community/tutorials/how-to-set-up -an-nfs-mount-on-ubuntu-16-04

Windowsの実装もいくつかあります: https://docs.Microsoft.com/en-us/windows-server/storage/nfs/nfs-overview しかし、Microsoftはより良いサポートを提供する必要があると思います独自のSMBプロトコルに。

Sudo apt-get install servefile

servefileは、カジュアルな共有に最適です。ポート8080でhttpサーバーを実行します(-p <port>が指定されていない場合)。 fastブラウザを備えたデバイスで。

例:

  • servefilefilename#ファイルを提供するだけ


    3つの異なるLANから3つのIPを取得しているため、3つのURLを取得します。通常は1つしか取得できませんが、それはすばらしいことです。

  • servefile -u〜/ Pictures#ファイルをPicturesフォルダーにアップロードしましょう

    upload files

  • servefile -l〜/ Pictures#フォルダーのコンテンツを提供

    content of the folder

  • servefile -tc gzip〜/ Pictures#任意のファイルまたはフォルダーからtarファイルを作成し、その場で圧縮する

    enter image description here

BTWこの方法では、1Gbpsの転送速度(LANの最大速度)に達しました。

1
Madacol