ラズベリーパイを使ってみる -Windowsからも便利に使えるファイル共有サーバを作る!(samba)-

raspberry piでファイル共有(samba)サーバを作ってみたので、その記録。

準備(ネットワーク)

raspberry piにたいしIPアドレスを割り当てる。固定IPアドレスを割り当てる場合は前の記事参照。

準備(ハードディスクなど)

今回はUSBHDD(Windows7にてNTFSフォーマットしたもの)を使用。

Windows7上でNTFSフォーマットしたハードディスクを使用する場合は前準備が必要で、マウント前に

  $ sudo apt-get install ntfs-3g 
  $ sudo reboot

が必要だった。いったん再起動が必要。

・デバイスの認識は、USBハードディスクを接続後

$ dmesg|more

 の最後のほうを確認するとかかれています。だいたい/dev/sda1で認識されると思います。自分の場合はこんな感じだった

[    3.687596] usb 1-1.2.4: Product: HDPG-SU
[    3.694608] usb 1-1.2.4: Manufacturer: I-O DATA DEVICE,INC.
[    3.703236] usb 1-1.2.4: SerialNumber: 000708B70750
[    3.737677] scsi0 : usb-storage 1-1.2.4:1.0
[    7.470205] scsi 0:0:0:0: Direct-Access     I-O DATA HDPG-SU          2.00 PQ: 0 ANSI: 2
[    7.503746] sd 0:0:0:0: [sda] 222541648 512-byte logical blocks: (113 GB/106 GiB)
[    7.553083] sd 0:0:0:0: [sda] Write Protect is off
[    7.567836] sd 0:0:0:0: [sda] Mode Sense: 4b 00 00 00
[    7.583578] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    7.661264]  sda: sda1
[    7.711470] sd 0:0:0:0: [sda] Attached SCSI disk

10行目のsda1が正解

・マウントポイントは/mnt/disk1

$ mount -t ntfs-3g /dev/sda1 /mnt/disk1

でマウント済み と仮定して進めます。

sambaサーバの構築

$ sudo apt-get install samba
$ sudo apt-get install samba-common-bin

の2コマンドでsambaがインストールできます。以下、そのときのログ

$ sudo apt-get install samba
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libfile-copy-recursive-perl libwbclient0 samba-common tdb-tools update-inetd
Suggested packages:
  openbsd-inetd inet-superserver smbldap-tools ldb-tools ctdb
Recommended packages:
  samba-common-bin
The following NEW packages will be installed:
  libfile-copy-recursive-perl samba tdb-tools update-inetd
The following packages will be upgraded:
  libwbclient0 samba-common
2 upgraded, 4 newly installed, 0 to remove and 69 not upgraded.
Need to get 3,677 kB of archives.
After this operation, 20.4 MB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libwbclient0 armh                                   f 2:3.6.6-3 [91.5 kB]
Get:2 http://mirrordirector.raspbian.org/raspbian/ wheezy/main samba-common all                                    2:3.6.6-3 [213 kB]
Get:3 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libfile-copy-recu                                   rsive-perl all 0.38-1 [20.6 kB]
Get:4 http://mirrordirector.raspbian.org/raspbian/ wheezy/main update-inetd all                                    4.43 [21.8 kB]
Get:5 http://mirrordirector.raspbian.org/raspbian/ wheezy/main samba armhf 2:3.6                                   .6-3 [3,304 kB]
73% [5 samba 2,355 kB/3,304 kB 71%]                                 106 kB/s 9s
Get:6 http://mirrordirector.raspbian.org/raspbian/ wheezy/main tdb-tools armhf 1.2.10-2 [25.9 kB]
Fetched 3,677 kB in 13s (273 kB/s)
Preconfiguring packages ...
(Reading database ... 55046 files and directories currently installed.)
Preparing to replace libwbclient0:armhf 2:3.6.6-2 (using .../libwbclient0_2%3a3.6.6-3_armhf.deb) ...
Unpacking replacement libwbclient0:armhf ...
Preparing to replace samba-common 2:3.6.6-2 (using .../samba-common_2%3a3.6.6-3_all.deb) ...
Unpacking replacement samba-common ...
Selecting previously unselected package libfile-copy-recursive-perl.
Unpacking libfile-copy-recursive-perl (from .../libfile-copy-recursive-perl_0.38-1_all.deb) ...
Selecting previously unselected package update-inetd.
Unpacking update-inetd (from .../update-inetd_4.43_all.deb) ...
Selecting previously unselected package samba.
Unpacking samba (from .../samba_2%3a3.6.6-3_armhf.deb) ...
Selecting previously unselected package tdb-tools.
Unpacking tdb-tools (from .../tdb-tools_1.2.10-2_armhf.deb) ...
Processing triggers for man-db ...
Setting up libwbclient0:armhf (2:3.6.6-3) ...
Setting up samba-common (2:3.6.6-3) ...
Setting up libfile-copy-recursive-perl (0.38-1) ...
Setting up update-inetd (4.43) ...
Setting up samba (2:3.6.6-3) ...
Generating /etc/default/samba...
Adding group `sambashare' (GID 109) ...
Done.
update-alternatives: using /usr/bin/smbstatus.samba3 to provide /usr/bin/smbstatus (smbstatus) in auto mode.
[ ok ] Starting Samba daemons: nmbd smbd.
Setting up tdb-tools (1.2.10-2) ...
update-alternatives: using /usr/bin/tdbbackup.tdbtools to provide /usr/bin/tdbbackup (tdbbackup) in auto mode.
$ sudo apt-get install samba-common-bin
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  samba-common-bin
0 upgraded, 1 newly installed, 0 to remove and 69 not upgraded.
Need to get 3,082 kB of archives.
After this operation, 15.9 MB of additional disk space will be used.
Get:1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main samba-common-bin armhf 2:3.6.6-3 [3,082 kB]
Fetched 3,082 kB in 11s (275 kB/s)
Selecting previously unselected package samba-common-bin.
(Reading database ... 55154 files and directories currently installed.)
Unpacking samba-common-bin (from .../samba-common-bin_2%3a3.6.6-3_armhf.deb) ...
Processing triggers for man-db ...
Setting up samba-common-bin (2:3.6.6-3) ...
update-alternatives: using /usr/bin/nmblookup.samba3 to provide /usr/bin/nmblookup (nmblookup) in auto mode.
update-alternatives: using /usr/bin/net.samba3 to provide /usr/bin/net (net) in auto mode.
update-alternatives: using /usr/bin/testparm.samba3 to provide /usr/bin/testparm (testparm) in auto mode.

sambaの設定

$ sudo vi /etc/samba/smb.conf

とりあえず以下の設定をファイルの最後に書き込んで保存

[MYDRIVE]
comment = Mydrive
read only = no
locking = no
path = /mnt/disk1
guest ok = yes
force user = pi

sambaのユーザとraspbian上のユーザは別なので、sambaのユーザ用のパスワードを設定する

$ sudo smbpasswd -a pi

パスワードを入力する

sambaの起動

$ sudo service samba restart

設定の確認

$ sudo vi /etc/samba/smb.conf

以下のような感じで表示されればOKです

[MYDRIVE]
comment = Mydrive
read only = no
locking = no
path = /mnt/disk1
guest ok = yes
force user = pi

Windowsからの接続

Windowsは7を使用。
1.スタートボタンを押し、左下の虫眼鏡のところに
¥¥[raspberry piのIPアドレス]
を入力し、コンピュータを検索。今回は192.168.1.100を使ってます。

2.検索されたコンピュータをクリックするとパスワードを聞かれるので、さっきsmbpasswdで設定したパスワードを入力

3.うまくいっていれば共有フォルダが表示されるはず。

これで終了です。お疲れ様でした

以下の2つのブログが参考になりました。ありがとうございます。両方とも英語。

Turn Raspberry into a small NAS with samba « chirale
How2SetUp a Raspberry Pi Windows file server – Simon The Pi Man

おすすめアイテム!

この記事の内容はラズベリーパイを使うと実際に試すことができます!
記事を読むだけでなく「実際に自分の手を動かして体験してみる」ことがコンピュータに詳しくなる近道です!

2018年06月現在、ラズベリーパイ3Bプラスが日本で手に入るコスパが良い最新モデルです!
Raspberry Pi 3 Model B+ element14 スターターセット BASIC

ラズベリーパイで最先端のアプリ開発やAI研究をしているけど動作が遅いなぁ…という場合は

ラズベリーパイは安価なPCとしては高速ですが、通常のデスクトップPCと比べると性能は劣ります。

ラズベリーパイで最先端のアプリ開発やAI研究をしたいと思ったなら、Ubuntuが動作するデスクトップパソコンがおすすめです! Ubuntuはラズベリーパイとほぼ同じように操作できます!
UbuntuがインストールされているPCはCPUが高速でメモリが多く、ストレージもSSDなのでストレスなくアプリ開発を行うことができます!
グラフィックボードも搭載されており、膨大な計算を必要とするAI研究も可能です!

ラズベリーパイでは数日かかるような膨大な計算も、短時間で終えることができます!

パワフルなPCを使用すると素早く最先端のアプリ開発が可能です。これはIT業界を志望する場合の強い武器になります!
Dell デスクトップパソコン XPSタワー Core i7プレミアムモデル 18Q46/Windows10/16GB/256GB SSD+2TB HDD/GTX1050Ti

コメント

  1. raspberry待ちの人 より:

    ファイルサーバー(Raspberryではない)の構築の参考になりました!
    Raspberry piが届いたらそちらでも試してみます。
    ためになる記事をありがとうございました。

    • TAKE より:

      参考になってよかったです(^ω^)
      Raspberry Piはなかなか届かないですよね、そのうち届くと思いますよ(´∀`)

  2. […] Linuxをつついてみるブログを参考にさせてもらいました。 カテゴリー: 未分類   パーマリンク ← Subversion on Raspberry Pi […]

  3. […] ラズベリーパイを使ってみる -Windowsからも便利に使えるファイル共有サーバを作る!(samba)- […]