ネットワーク共有を「マウント」せずに、あるLinuxワークステーションから別のLinuxワークステーションへのファイルへのシンボリックリンクを作成しようとしています。以下は私がやろうとしているものですが、うまくいきません。
ln -s /link/to/local/file.mov //10.0.1.103/sharedFolder/symlinkFile.mov
答え1
あなたはできません:
シンボリックリンクは単なるアドオンです。インデックスノード(ファイルを指す構造)、inodeはdeviceId
aとで構成されていますinode pointer
。ディレクトリ内のデバイス特殊ファイルとそのデバイスのブロックを効果的にdeviceId
指します。/dev
inode pointer
あなたのネットワークの場所にはネットワークの場所が10.0.1.103
なく、持つこともできないのでdeviceId
(にはありません/dev
)、ネットワークの場所へのシンボリックリンクを持つことはできません。
一方、マウントされたネットワーク共有には1つがあるため、deviceId
マウントされた場所へのシンボリックリンクを作成できます。
答え2
Windowsには、コンピュータ上のファイルが渡されることを意味する特別な構文があります。\\MACHINE\DIRECTORY…\FILE
\DIRECTORY…\FILE
\\MACHINE
中小企業規約。これはオペレーティングシステムに組み込まれており、1つのネットワークプロトコルにのみ適用されます。
Linuxには、次の概念に基づいた柔軟なファイルシステムがあります。インストールする。ファイルシステムは既存のディレクトリに接続され、管理者はディレクトリ階層をソートする方法を選択できます。詳細な背景情報については、以下をお読みください。Linuxでデバイスをマウントすることはどういう意味ですか?、Linuxファイルシステムが単一のディレクトリツリーとして設計されているのはなぜですか?そして一般的なLinuxシステムにはどのマウントポイントがありますか?。 Linuxは、以下を含むさまざまなネットワークファイルシステム(つまり、あるシステムが別のシステム上のファイルにアクセスできるようにするファイルシステム)をサポートしています。ネットワークファイルシステム、中小企業、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は、リモートコンピュータでコマンドを実行するのにも役立ちます。その場所(既存のディレクトリである必要があります)からSSHFS経由で使用できるリモート/some/where
システムのディレクトリを作成するには、次のコマンドを通常のユーザーとして実行します。foo.example.com
/local/dir
sshfs foo.example.com:/some/where /local/dir
LinuxはSMBプロトコル用のサーバーまたはクライアントにすることができます(他のプロトコルほど統合されていませんが、Windowsシステムや他のLinuxシステムとも通信します)。サンバソフトウェア。
設定できます自動インストーラ(例autofs
:)特定のディレクトリにアクセスすると、特定のリモートシステムのディレクトリが自動的にマウントされます。たとえば、一般的な構成では、autofsファイルシステムがディレクトリにマウントされ、/net
アクセスすると、リモートディレクトリがその場所にNFSマウントされます(そして一定期間アクティブでなければアンマウントされます)。もちろん、リモートコンピュータにはNFSサーバーが設定されており、接続が許可されている必要があります。/net/MACHINE/DIRECTORY
/DIRECTORY
/net/MACHINE
SSHFSを使用してサイレントインストーラを設定できます。バラよりFuseとAutofsを使用してLinuxで完全にシームレスなSSHFSを実装するそしてautofsと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
。
自動SSHFより便利な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
。