はじめに
こんにちは、野村です。
今回は、smbclientを使ってみて「もう、これでいいじゃん」と思った経緯の報告です。
最近まで、デスクトップ環境「Xfce4」をFreeBSDで使ってました。
でも、飽きてOSごと消したのですよ。
やっぱ、デスクトップ環境って大仰です。ウィンドウマネージャ単体で十分。
って思ってたけど、落とし穴もあるもんですな。
FreeBSDからWindowsの共有フォルダに接続したい
てなわけで、再度FreeBSD11.1をセットアップしたところ、困ったのがWindows10とのファイル共有。
Xfce4のときはファイラからWindowsファイル共有を利用できたのに、できなくなってた。
なので不本意ながら、Xfce4のファイラ「Thunar」をインストール。
そしてWin上の共有フォルダに接続!しようとしたけど繋がらない。
Linuxなら「gvfs-backends」というパッケージをインストールすればWindowsファイル共有が利用可能になるけど、FreeBSDでそれに該当するパッケージが判明せず。
ここで気がついた。ファイラに頼るのはよくないんじゃないか?
Win上のフォルダをマウントする方が絶対スマート。方針を変えよう。
まず「mount_smbfs」を試す。惜しいところまでいけどかなわず。
次に「fusefs-smbnetfs」を導入し、格闘すること数時間。これがもう、ウンともスンとも。
接続の神に見放された。神様のバカ。
smbclientがあるじゃないか!
そんなときディスプレイから一筋の光が差し込み、啓示を受けたのですよ。
「smbclientを思い出せ!」
その昔、ファイル共有サーバ「Samba」の動作テストでよくわからないまま使ったコマンドだ。
調べてみたら「ファイル転送(送受信)や,サーバー上のディレクトリおよびファイルを操作できる」とのこと。ようするにコマンドラインのftpクライアントみたいなもんだな。
切り札、smbclientをインストール。
試行錯誤の結果、このオプションで繋がりました。神に感謝。
$ smbclient -m [最高位のSMSBプロトコル] //[接続先のIPアドレス]/[接続するデレクトリ] -U [ユーザ名]
具体的にはこんな感じ。
$ smbclient -m SMB2 //192.168.0.1/public -U jake
Enter WORKGROUP\jake's password:
Domain=[DESKTOP-12R3456] OS=[] Server=[]
smb: \>
コマンドを実行すると、パスワードを尋ねられるので打ち込む。
するとプロンプトが出現。
あとはftp同様、以下のコマンドで基本的な操作をすればいい。
コマンド | 説明 |
---|---|
ls | リモート上のファイルとデレクトリの一覧 |
cd | リモート・デレクトリの移動 |
get ファイル名 | リモートのファイルをローカルに転送 |
put ファイル名 | ローカルのファイルをリモートに転送 |
なんだか懐かしい操作感。もうこれでいいじゃん。
最後に
以上、smbclientを使ってみて「もう、これでいいじゃん」と思った経緯の報告でした。
この際、ftpクライアントもコマンドラインにしてしまおうかな?
というわけで、今回はこれにて。