NASにあるファイルをKonsoleで引数に使えるようにする

2023-04-11

KDE neonを使おう

t f B! P L

KDE未対応ファイル選択ダイアログでWindows共有フォルダへのアクセス-p--qのSmb4kでできそうに思いますがSmb4kの動作がどうも不完全なのでKonsoleからマウントする方法をやります。  NASはI-O DATAのHDL-T3Wです。このNASはNFSには対応しておらずCIFSでマウントします。 

 

(2023.10.11追記。vers=1.0オプションを有効にするにはnodfsオプションが必要になったのでコマンドを変更しました。[SOLVED] cifs mount suddenly no longer works参照。)

 

 必要なCIFSパッケージ

 

シーゲイトBlackArmor NASを使ってLinuxにNFSおよびCIFSファイル・システムをマウントする方法 | Seagate サポート 日本 

 Samba - ArchWiki

 mount.cifs(8) — Arch manual pages

 これらのページを参考にしました。

 


mount.cifsが含まれるcifs-utilsパッケージが必要と書いてるものがありましたがmuonでcifsを検索するとすでにインストールされていました。ということでKDE neonでは追加でインストールが必要なパッケージはありませんでした。

 

mount.cifsについて

pq@pq-virtualbox:~$ mount.cifs -V
mount.cifs version: 6.14
pq@pq-virtualbox:~$ which mount.cifs
/usr/sbin/mount.cifs
pq@pq-virtualbox:~$ mount.cifs --help

Usage:  mount.cifs <remotetarget> <dir> -o <options>

Mount the remote target, specified as a UNC name, to a local directory.

Options:
        user=<arg>
        pass=<arg>
        dom=<arg>

Less commonly used options:
        credentials=<filename>,guest,perm,noperm,setuids,nosetuids,rw,ro,
        sep=<char>,iocharset=<codepage>,suid,nosuid,exec,noexec,serverino,
        noserverino,mapchars,nomapchars,nolock,servernetbiosname=<SRV_RFC1001NAME>
        cache=<strict|none|loose>,nounix,cifsacl,sec=<authentication mechanism>,
        sign,seal,fsc,snapshot=<token|time>,nosharesock,persistenthandles,
        resilienthandles,rdma,vers=<smb_dialect>,cruid

Options not needed for servers supporting CIFS Unix extensions
        (e.g. unneeded for mounts to most Samba versions):
        uid=<uid>,gid=<gid>,dir_mode=<mode>,file_mode=<mode>,sfu,
        mfsymlinks,idsfromsid

Rarely used options:
        port=<tcpport>,rsize=<size>,wsize=<size>,unc=<unc_name>,ip=<ip_address>,
        dev,nodev,nouser_xattr,netbiosname=<OUR_RFC1001NAME>,hard,soft,intr,
        nointr,ignorecase,noposixpaths,noacl,prefixpath=<path>,nobrl,
        echo_interval=<seconds>,actimeo=<seconds>,max_credits=<credits>,
        bsize=<size>

Options are described in more detail in the manual page
        man 8 mount.cifs

To display the version number of the mount helper:
        mount.cifs -V

 

マウントに必要な情報


mount.cifsに渡す引数はリモートターゲットとローカルディレクトリです。

NASはルーターで192.168.1.50にバインディングしてあります。NASの共有フォルダ名はdiskでアクセス制限はかけていません。マウントポイントは/mnt/landiskにすることにします。

pq@pq-virtualbox:~$ sudo mkdir /mnt/landisk
[sudo] password for pq: 
pq@pq-virtualbox:~$ sudo mount.cifs //192.168.1.50/disk /mnt/landisk
Password for root@//192.168.1.50/disk: 
mount error: Server abruptly closed the connection.
This can happen if the server does not support the SMB version you are trying to use.
The default SMB version recently changed from SMB1 to SMB2.1 and above. Try mounting with vers=1.0.
mount error(112): Host is down
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)
pq@pq-virtualbox:~$ sudo mount.cifs //192.168.1.50/disk /mnt/landisk -o vers=1.0
Password for root@//192.168.1.50/disk: 
pq@pq-virtualbox:~$ cd /mnt/landisk
pq@pq-virtualbox:/mnt/landisk$

まずマウントポイントを作成しています。 


sudo mkdir /mnt/landisk

 

次にmount.cifsでマウントしようとしますがSMBのバージョンが2.1以上でないので接続できないのでvers=1.0オプションをつけるように言われます。


sudo mount.cifs //192.168.1.50/disk /mnt/landisk -o vers=1.0,nodfs

 

これでリモートターゲットのパスワードが聞かれますのでEnterキーを押すとマウントできました。しかし読み取りはできましたが書き込みができません。

 

 sudo mount.cifs //192.168.1.50/disk /mnt/landisk -o vers=1.0,nodfs,noperm,pass=""

 

nopermオプションを追加で書き込みもできるようになりました。空のパスワードもオプションで渡しています。 

 


 Dolphinのリモートのところにもマウントポイントが表示されるようになってGUIでも扱えるようになりました。ここからNASにアクセスするとDolphinのコンテクストメニューの「ここでターミナルを開く」も使えます。

 KonsoleでマウントしなくてもDolphinのリモートにあるネットワークから 共有フォルダ(SMB) ー> LANDISK-931159、とたどっていくとGUIではNASにアクセスできるはずですがVirtualBoxのゲストOSのKDE neonからはなぜか「接続が切断されました」と言われてアクセスできませんでした。ホストのKDE neonやゲストOSのWindows10からのアクセスではこのように接続が切断されることはなく原因は不明です。ちなみにWindows10からのアクセスでは適当なユーザー名(anonymous)を入力する必要がありました。

IPアドレスの代わりにDolphinで表示されるLANDISK-931159 という名前を使ってlandisk-931159.localでもマウントできました。

 

 sudo mount.cifs //landisk-931159.local/disk /mnt/landisk -o vers=1.0,nodfs,noperm

 

NASの切断はumountを使います。

 

 sudo umount /mnt/landisk

 

Dolphinでワンクリックでマウントできるようにする

 

linuxでNASをマウントするメモ - 雑記帳

この/etc/fstabに書き込む方法でDophinからワンクリックでマウントとアンマウントができるようになりました。

 

//192.168.1.50/disk /mnt/landisk cifs vers=1.0,nodfs,password="""",file_mode=0777,dir_mode=0777,noauto,user 0 0


/etc/fstabの最後にこれを追加して再起動するとDolphinのリモートのところにマウントポイントが表示されるようになりました。


/mnt/landiskをクリックするだけでマウントできます。フォルダ内で右クリックして「ここでターミナルを開く」を選択するとKonsoleも起動できました。

LANDISK-9331159というのはDolphinのsmbで開いたものではKonsoleは起動できません。

 

 //192.168.1.1/sda1 /mnt/rt-ac65u cifs vers=1.0,nodfs,password="""",file_mode=0777,dir_mode=0777,noauto,user 0 0

 

同様にASUS RT-AC65UにUSBでつないだHDDもマウントするようにしました。

 

大量のファイルを扱うとDolphinがフリーズする

 

 NAS上の1000個ほどの写真と動画を選択するとDolphinがフリーズして使えなくなってしまいました。

smbで接続するとそういうフリーズは発生しません。 


ASUS RT-AC65Uに接続したHDDへのアクセス数に制限?

 

Dolphinのsmbでの接続にも問題があってASUS RT-AC65Uに接続したHDDへアクセスが一つしかできません。

 


 

一つのフォルダを見ながら新しいウィンドウで同じHDDにアクセスするとDolphinで認証ダイアログがでてきて以後フォルダにアクセスしてもフォルダが存在しませんと言われてアクセスできなくなります。ASUS RT-AC65UのSAMBAでは認証なしに設定しているので本来はユーザー名もパスワードも入力を求められることはありません。

 smbでの接続だけでなくmount.cifsでの接続も一つとカウントされるようでmount.cifsで接続しながらsmbで接続しようとすると同じエラーになってしまいます。

 mount.cifsだけで接続している限りはこのような制限はありませんでした。

Windows10からのアクセスでも問題はないので、Dolphinのsmbクライアントとの相性が悪いようです。I-O DATA NAS 3TB  HDL-T3WHへのアクセスには問題ありません。

結局cifsにしろsmbにしろファイルのコピーや移動を複数並行して実行させようとすると高確率でDolphinがフリーズするので一つずつ実行させるのが無難です。 


FileModifyDateはsmbでは変更されてしまう


ExifToolで写真と動画を日付フォルダに自動整理する-p--qをやっていて気がついたのですが、cifsでマウントしたディスクからローカルにコピーしたファイルのFileModifyDateは変更されませんが、smbでマウントしたディスクからローカルにコピーしたファイルのFileModifyDateはローカルにコピーした日時に変更されてしまいます。

linux - KDE Dolphin not preserving modified date of files when copying to samba share - Super User 

ローカルディスクからリモートのNASディスクにcifsでコピーするとファイルのFileModifyDateが更新されるがsmbだと変更されないという逆の現象のQ&Aを見つけました。

他にも同じような報告があって、これはKDEの問題のようです。

 

cifsとsmbの違いまとめ

 

cifsでマウントするとTerminalでアクセスできるがsmbではアクセスできない。

cifsでマウントしたフォルダ内で1000個ほどのファイルを選択するとDolphinがフリーズするがsmbではフリーズしない(1000個ほどのファイルを入れたフォルダの操作はcifsでマウントしていても問題ない)。

smbでマウントしたフォルダに複数ウィンドウでアクセスするとDolphinがフリーズするがcifsではフリーズしない。

cifsでマウントしたフォルダからローカルディスクにファイルをコピーしてもFileModifyDateは変更されないがsmbだとコピーした日時にFileModifyDateが変更されてしまう(smbでマウントしたディスク内のコピーでは変更されない)。 


これらから判断するとsmbを使うよりもcifsでマウントしたほうがメリットが大きそうです。

ブログ検索 by Blogger

Translate

最近のコメント

Created by Calendar Gadget

QooQ