以前書いたM5Stack UnitV2の記事の続きです。
なお、sudo
コマンドを使用するため、この記事の方法でsudoを使えるようにしておく必要があります。
PCとUnitV2をUSB LANで接続して下記のどちらかのコマンドを叩きます。
1 | # Unitv2 => PC にコピー |
するとCouldn't open /dev/null: Permission denied
というエラーが表示されコピーができません。
下記のようにSSHでUnitV2に入り/dev/null
のパーミッションを確認します。
1 | # @PC |
rootユーザーかrootグループは読み書きが可能となっています。
m5stackユーザーはrootグループではないので/dev/nullの読み書きができないということです。
試しに$ id
コマンドを叩くとm5stackユーザーはwheelグループに属しています。
wheelはグループはsudo
が叩けたり、su
でrootユーザーにログインできる権限を持ったグループのようです。
M5Stack UnitV2でsudoできるようにしたからwheelグループになっているかはわかりませんが、scp
コマンドでsudoを叩くことができないので/dev/null
に対してroot権限でゴニョゴニョできないということです。
なのでscpしたい場合は下記のコマンドを叩きます。
1 | # @PC |
これで、PCからUnitV2へのコピー、UnitV2からPCへのコピーができるようになります。
なおUnitV2にコピーする場合はパーミッションが777
になっている/media/sdcard/
にまずはコピーしてからmv
する方法がオススメです。
でもscpでPermission deniedになるファイルを無理やり転送するというような方法もあるようです。
この方法ならsudo
が使えるのでうまく行きそうです。
今度試してみます。
上記のscpでPermission deniedになるファイルを無理やり転送するは接続元でPermission deniedになる場合に使える方法で、接続先でエラーになる場合の方法ではなかったようです。