RasPi
Home > RasPi > 記事 > 2015年3月 > RasPiにSambaを入れる

RasPiにSambaを入れる

カテゴリ: 手順メモ, NAS

最近は3/14にチョコのお返しでパイを返す、という習慣が広まりつつあるらしいですね。ということで(そんなことなくても)RasPiです。

 

それはそうと、NASが欲しいと前から思っていました。

LinkStationとかLANDISKとかを購入しても良いのですが、そういえば眠ってるRasPiが使えないだろうか?と思い立ったのでやってみることに。

とはいえ、外付けHDDはないのでとりあえず完全に眠っていた不要なUSBメモリを挿してやってみようと。

 

あ、使用したのは2ではなくB+でもない普通のRasPiです。Raspbianのインストールは以前の記事とほぼ同様。

pi@raspberrypi ~ $ sudo fdisk -l

Disk /dev/mmcblk0: 7969 MB, 7969177600 bytes
4 heads, 16 sectors/track, 243200 cylinders, total 15564800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0009bf4f

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            8192      122879       57344    c  W95 FAT32 (LBA)
/dev/mmcblk0p2          122880    15564799     7720960   83  Linux

Disk /dev/sda: 1043 MB, 1043595264 bytes
2 heads, 33 sectors/track, 30882 cylinders, total 2038272 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1             237     2038271     1019017+   6  FAT16

上が8GBのSDカード。/dev/sda1がUSBですね。1GB1です。SDカードより容量小さいですね。

pi@raspberrypi ~ $ sudo fdisk /dev/sda1

Command (m for help): p

Disk /dev/sda1: 1043 MB, 1043473920 bytes
33 heads, 61 sectors/track, 1012 cylinders, total 2038035 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x6f20736b

This doesn't look like a partition table
Probably you selected the wrong device.

     Device Boot      Start         End      Blocks   Id  System
/dev/sda1p1   ?   778135908  1919645538   570754815+  72  Unknown
/dev/sda1p2   ?   168689522  2104717761   968014120   65  Novell Netware 386
/dev/sda1p3   ?  1869881465  3805909656   968014096   79  Unknown
/dev/sda1p4   ?           0  3637226495  1818613248    d  Unknown

Partition table entries are not in disk order

#パーティションが既にあるよ!と怒られたのでパーティションを一旦削除しましょう

Command (m for help): d
Partition number (1-4): 4

Command (m for help): d
Partition number (1-4): 3

Command (m for help): d
Partition number (1-4): 2

Command (m for help): d
Selected partition 1

Command (m for help): p

Disk /dev/sda1: 1043 MB, 1043473920 bytes
33 heads, 61 sectors/track, 1012 cylinders, total 2038035 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x6f20736b

     Device Boot      Start         End      Blocks   Id  System

#これで4つのパーティションを削除しました

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p):
Using default response p
Partition number (1-4, default 1):
Using default value 1
First sector (2048-2038034, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2038034, default 2038034):
Using default value 2038034

Command (m for help): p

Disk /dev/sda1: 1043 MB, 1043473920 bytes
33 heads, 61 sectors/track, 1012 cylinders, total 2038035 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x6f20736b

     Device Boot      Start         End      Blocks   Id  System
/dev/sda1p1            2048     2038034     1017993+  83  Linux

#1つのパーティションにしました

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 22: 無効な引数です.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

#怒られた…

pi@raspberrypi ~ $ sudo fdisk /dev/sda1

Command (m for help): p

Disk /dev/sda1: 1043 MB, 1043473920 bytes
15 heads, 25 sectors/track, 5434 cylinders, total 2038035 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x6f20736b

     Device Boot      Start         End      Blocks   Id  System
/dev/sda1p1            2048     2038034     1017993+  83  Linux

#しかし、ちゃんとパーティションはできてるっぽい?
#テストだし、このままいくことに

Command (m for help): q

途中色々怒られましたがとりあえず既存のパーティションを削除して1つのパーティションにできたっぽいので良しとします。

なお、予め中のデータは退避しました。

pi@raspberrypi ~ $ sudo mkfs.ext4 /dev/sda1
mke2fs 1.42.5 (29-Jul-2012)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
63744 inodes, 254754 blocks
12737 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=264241152
8 block groups
32768 blocks per group, 32768 fragments per group
7968 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376

Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

ext4でフォーマットします。

pi@raspberrypi ~ $ sudo mkdir /mnt/test_usbmem
pi@raspberrypi ~ $ sudo mount /dev/sda1 /mnt/test_usbmem
pi@raspberrypi ~ $ ls /mnt/test_usbmem/
lost+found
pi@raspberrypi ~ $ ls -al /mnt/
合計 12
drwxr-xr-x  3 root root 4096  3月 11 22:48 .
drwxr-xr-x 22 root root 4096  3月  9 19:28 ..
drwxr-xr-x  3 root root 4096  3月 11 22:46 test_usbmem
pi@raspberrypi ~ $ sudo chown pi:pi /mnt/test_usbmem

#所有者をrootからpiに変更

ディレクトリ作って、マウントしてみます。マウントしたのでlost+foundディレクトリできてますね。

あと、sudoでディレクトリ作ったのでrootが所有者になってるので、一応piにしておきます。

pi@raspberrypi ~ $ sudo blkid /dev/sda1
/dev/sda1: UUID="XXXXXXXXXXXXXXXXXXXXXXXXXXXX" TYPE="ext4"

#デバイスIDを調べて

pi@raspberrypi ~ $ sudo vi /etc/fstab
proc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1
UUID="XXXXXXXXXXXXXXXXXXXXXXXXXXXX"      /mnt/test_usbmem ext4    defaults           0       2

# a swapfile is not a swap partition, so no using swapon|off from here on, use  dphys-swapfile swap[on|off]  for that


#起動時に自動マウントするようにfstabに登録

これで良し。

pi@raspberrypi ~ $ sudo reboot

再起動した後、自動マウントされていることを確認。

 

続いてSambaをインストールします。

pi@raspberrypi ~ $ sudo apt-get install samba
#略

インストール完了後、Sambaの設定をします。

pi@raspberrypi ~ $ sudo vi /etc/samba/smb.conf
#末尾に以下を追加

[test_usbmem]
path = /mnt/test_usbmem
read only = No
guest ok = Yes
force user = pi

パスは先ほどマウントしたディレクトリを指定。さっき所有者をpiにしておいたので、force userはpiでオーケー。

pi@raspberrypi ~ $ sudo service samba restart
[ ok ] Stopping Samba daemons: nmbd smbd.
[ ok ] Starting Samba daemons: nmbd smbd.

Sambaを再起動して設定を反映させます。

pi@raspberrypi ~ $ ls -al /mnt/test_usbmem/
合計 28
drwxr-xr-x 3 pi   pi    4096  3月 11 23:11 .
drwxr-xr-x 3 root root  4096  3月 11 22:48 ..
-rwxr--r-- 1 pi   pi       3  3月 11 23:11 aaa.txt
drwx------ 2 root root 16384  3月 11 22:46 lost+found

Windows PCからアクセスして「aaa.txt」を作ってみました。ちゃんとできてますね。

ということで、これで設定完了です。

…うん、これなら外付けHDDでも行けそうですね。

バスパワーとか設置スペースとか、考えるところはありますが。

なお、以下のサイトを参考にしました。

タグ: インストール, Samba

 



関連する記事一覧