GNU/Linux >> Linux の 問題 >  >> Linux

マウントなしで、あるワークステーションから別のワークステーションへのシンボリック リンク

できません:

シンボリックリンクは単に追加の inode (ファイルを指す構造) であり、この inode は特に deviceId で構成されています そして inode pointer . deviceId /dev 内のデバイス スペシャル ファイルを効果的にポイントします。 ディレクトリと inode pointer そのデバイス上のブロックを指しています。

10.0.1.103 のネットワークの場所 deviceId を持たない、または持つことはできません (/dev にはありません) ) したがって、ネットワーク上の場所へのシンボリック リンクを作成することはできません。

一方、マウントされたネットワーク共有には deviceId があります これが、マウントされた場所へのシンボリック リンクを作成できる理由です。


Windows には特別な構文 \\MACHINE\DIRECTORY…\FILE があります \DIRECTORY…\FILE にあるファイルを意味します \\MACHINE というマシンで SMB プロトコルを介して。これはオペレーティング システムに組み込まれており、1 つのネットワーク プロトコルに特化しています。

Linux には、マウントの概念に基づく柔軟なファイルシステムがあります。ファイルシステムは既存のディレクトリに接続され、管理者はディレクトリ階層の配置方法を選択できます。詳細については、Linux でデバイスをマウントすることの意味を参照してください。Linux のファイルシステムは、なぜ単一のディレクトリ ツリーとして設計されているのですか?典型的な Linux システムにはどのようなマウント ポイントが存在しますか? Linux は、NFS、SMB、SSHFS などを含む、多くのネットワーク ファイルシステム (つまり、あるマシンが別のマシン上のファイルにアクセスできるようにするファイルシステム) をサポートしています。

SMB が Windows のものであるのと同様に、NFS は Linux のネイティブ ネットワーク ファイルシステムと見なすことができます。ただし、Linux はデフォルトではファイルをエクスポートしません。NFS サーバーをインストールする必要があります。 NFS サーバーはすべての Linux ディストリビューションで利用できますが、少しセットアップが必要です (エクスポートするディレクトリをファイル /etc/exports に登録する必要があります)。 )。さらに、NFS は、ローカル ネットワーク上の攻撃者が懸念されていなかった穏やかな時代のものであり、それを保護するには、この回答の範囲を超えるファイアウォールに関する少しの知識が必要です。ディレクトリを /some/where にする リモートマシン foo.example.com から ロケーション /local/dir で利用可能 (既存のディレクトリである必要があります)、リモート マシンによってエクスポートされると仮定して、root として次のコマンドを実行します:

mount foo.example.com:/some/where /local/dir

ほとんどセットアップなしでリモート ファイルにアクセスする簡単な方法は、SSHFS を使用することです。必要なのは、リモート マシンに SSH サーバーをインストールすることと、sshfs ローカル マシン上のパッケージ。キーも生成する必要があります (パスワードなしのログインを機能させる方法を参照してください)。 毎回パスワードを入力することを気にしない場合は、これを実行してください。 SSH は、リモート マシンでコマンドを実行する場合にも役立ちます。ディレクトリを /some/where にする リモートマシン foo.example.com から ロケーション /local/dir で利用可能 (既存のディレクトリである必要があります) SSHFS 経由で、(通常のユーザーとして) 次のコマンドを実行します:

sshfs foo.example.com:/some/where /local/dir

Linux は、Samba ソフトウェアを介して SMB プロトコル (Windows マシン、または他の Linux マシンと通信しますが、他のプロトコルほど統合されていません) のサーバーまたはクライアントになることができます。

オートマウンタ (autofs など) を設定できます ) 特定のディレクトリにアクセスすると、リモート マシンからディレクトリが自動的にマウントされるようにします。たとえば、一般的な構成では、autofs ファイルシステムがディレクトリ /net にマウントされます。 、および /net/MACHINE/DIRECTORY へのアクセス リモートディレクトリ /DIRECTORY を引き起こします /net/MACHINE から その場所でNFSを介してマウントされます(一定期間非アクティブになるとマウント解除されます)。もちろん、リモート マシンには NFS サーバーが設定されていて、その接続が許可されている必要があります。

SSHFS でオートマウンタをセットアップすることが可能です。 Fuse と Autofs および Autofs と sshfs を使用した Linux での完全にシームレスな SSHFS を参照してください。簡単なチュートリアルに最適な組み合わせです。一言で言えば:

<オール>
  • autofs をインストール と sshfs .
  • 次の行を /etc/auto.master に追加します :

    /mnt/sshfs /etc/auto.sshfs uid=1000,gid=1000,--timeout=30,--ghost
    

    2 つの 1000 をユーザー ID とグループ ID に置き換えます (id -u を実行します)。 および id -g これらの値を表示します)。ディレクトリ /mnt/sshfs を作成します .

  • ファイル /etc/auto.sshfs を作成します 次のような行を含む:

    machinename -fstype=fuse,rw,nodev,nonempty,noatime,allow_other,max_read=65536 :sshfs\#machinename.example.com\:
    

    どこで machinename.example.com リモート マシンのホスト名 (または IP アドレス) と machinename パス /mnt/sshfs/machinename 経由でローカルにアクセスする名前です .

  • Autosshfs は、より便利な autofs+sshfs セットアップを提供します。

    最後に、シンボリック部分について:存在しないパスへのシンボリック リンクを作成できます。シンボリック リンクは 2 番目の引数なので、

    のようなものが必要です。
    ln -s /net/10.0.1.103/sharedFolder/symlinkFile.mov /link/to/local/file.mov
    

    /sharedFolder を手動または自動で調整する必要があります 10.0.1.103 から /net/10.0.1.103/sharedFolder にマウントされます .


    Linux
    1. 最後のN行をあるファイルから別のファイルにコピーしますか?

    2. すべてのファイルをあるディレクトリから別のディレクトリに移動 (および上書き) する方法は?

    3. Linuxで100万枚の画像をあるディレクトリから別のディレクトリに移動する最速の方法は何ですか?

    1. シンボリックリンクをビジーボックスのディレクトリにアトミックに変更するにはどうすればよいですか?

    2. あるボリューム グループから別のボリューム グループに論理ボリュームを移動する

    3. ブロックデバイスをネットワーク経由であるコンピュータから別のコンピュータにブロックデバイスとしてマウントするにはどうすればよいですか?

    1. Linuxで特定の種類のファイルを検索してあるディレクトリから別のディレクトリにコピーする方法

    2. あるマシンから別のマシンに設定をコピーする方法は?

    3. ある mysql データベースから別の mysql データベースにテーブルをコピーする方法