これがUbuntuの質問である方法をよりよく説明するために、ユーザーストーリーが続きます;-)
私は、Ubuntuユーザー(20.04.2)として、
LANケーブルを介して(できればSMBプロトコルを介して)Windows10マシンに接続したいそこ
に作成したダウンロードしたファイルやドキュメントをコピー/移動できるようにしますので、
一日の終わりに私は私のUbuntuマシンは、マイドキュメントのための標準的な(HA!)家になりたいです。
これはWindowsのQ / Aサイトではないことを知っているので、Windowsマシンで実行する必要のある手順については、(必要がない場合は)詳細に立ち入らないでください。少なくともお願いします。私が従うことができるキーワードとしてSambaのセットアップに関するステップのリストを与えて、1つずつグーグルで検索しますか?
必要なもの:
残念ながら、ディレクトリ全体をプルしてそれで済ませることはできないようです。代わりに、グラフィカルファイルマネージャー(Nautilus)を使用して、選択したリモートディレクトリの内容を対応するローカルディレクトリに「マージ」し、競合が発生した場合は手動で解決したいと思います。
私が試したこと:
WindowsでNFSを有効にしようとしましたが(すでにNFSの経験があるため)、Windows10はまだNFS3のみをサポートしているため、転送可能なファイル名はASCII文字のみに制限されています。だからそれは良くありません。
だから私はサンバを目指しています。
私はこのチュートリアルに従うことになりました:
http://www.bitpi.co/2015/02/16/accessing-a-windows-share-with-a-raspberry-pi/
この記事はWindows8を対象としているため、Windows 10のネットワーク設定UIは少し異なりますが、すべてを見つけることができました。
WindowsマシンのLANIPアドレスを見つけることも必要ですipconfig
。Powershellで発行されたコマンドがそれを明らかにします。
追加のタスク:
Windows 10がLANネットワークをプライベートとして自動的にセットアップしません(ただし、共有はプライベートネットワークに対してのみセットアップされました)。
これを修正するには、管理者権限でPowershellを起動します。
# This will reveal — among other things — the "Name" of the LAN
Get-NetConnectionProfile
# This sets it private
Set-NetConnectionProfile -Name "the value of 'Name' from the previous command" -NetworkCategory Private
マウントポイントを準備します。
sudo mkdir /mnt/my_windows_stuffs
sudo chown LinuxUserNameHere:LinuxUserNameHere /mnt/my_windows_stuffs
インストールcifs-utils
。これは、sambaの部分的なドロップインのようなものです。smbclient
そしてwinbind
、パッケージの依存関係として自動的にインストールされます。
sudo apt install cifs-utils
取り付けcifs
:
sudo mount.cifs //WINDOWS.IP.ADDRESS.HERE/path/on/windows /mnt/my_windows_stuffs/ -o user=WindowsUserNameHere,uid=$(id -u),gid=$(id -g)
いくつかの選択された引数に関する注意:
//WINDOWS.IP.ADDRESS.HERE/path/on/windows
Windowsが提案した(サーバー識別子としてWindowsマシンの名前を含む)「ネットワークパス」から、ファイルシステムパスのみを使用することに注意してください。マシンの名前は、WindowsマシンのLANIPアドレスに置き換えられます。それでも前に//
。を付ける必要があります。
user=WindowsUserNameHere
上記のリンクされたチュートリアルではuser
、パスワードに加えてオプションを提供することも提案されていましたが~/.bash_history
、それはでプレーンテキストになる可能性があります。これは避けた方がよいでしょう。
ただし、このパスワードオプションを省略すると、インタラクティブに入力するように求められ、Linuxのsudoパスワードと同様の方法で入力できます。
追加の可能性はcredentials
、ユーザーとパスワードの値を含むファイルを指すオプションを使用することです。このオプションは、マウント命令を入力する必要がある場合に最適/etc/fstab
です。詳細については、以下のリンクされたドキュメントを参照してください。
uid=$(id -u),gid=$(id -g)
これらのオプションがないと、Windows側で書き込み権限が付与されていても、マウントされたフォルダーの内容は書き込み可能ではありません。これは、準備中にマウントフォルダーが通常のユーザーに渡されたとしても、cifsはコンテンツをrootとしてそのフォルダーに配置するためです。内部のすべてのコンテンツは引き続きrootによって所有されます。
通常のユーザーに代わってコンテンツを処理するようにcifsに指示する必要があります。
とのオプションはuid
それgid
を達成します。それらの値を前もって見つけるために、それに応じてid -u
とid -g
コマンドを実行することができます。これらは、通常のユーザーのユーザーIDとグループIDを返します。
ただし、上記のスニペットに示すように、コマンド自体で動的置換を使用することで、これを自動化できます。
Windowsは、コンテンツ、さらにとともに所有権情報を送信している場合がありますforceuid
し、forcegid
(値は必要ありません)オプションも必要になることがあります。
(これらの後者のオプションについては、Unix SEサイトの@Huygensの回答から学びました。)
この時点で、目的のWindowsコンテンツが/mnt/my_windows_stuffs/
ディレクトリで利用可能になっているはずです。
rsync
このマウントでプレーンを使用すると、非常に遅くなることに注意してください。残念ながら、これは予想されます。ただし、通常のコピーは妥当な速度で機能します。
これらのファイルの操作が完了すると、Windowsマシンは次のようにバインド解除できます。
sudo umount /mnt/my_windows_stuffs/
詳細については、mount.cifs
ドキュメントを参照してください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加