yywudao 发表于 2020-3-22 22:22:32

虚谷号搭建NAS & BT下载器


### 虚谷号搭建NAS BT 下载器

#### 一、挂载 U 盘

##### 1. 查询分区

插入准备好的 U 盘(USB3.0),列出分区表

```python
scope@localhost:~$ sudo fdisk -l

Disk /dev/sda: 14.5 GiB, 15518924800 bytes, 30310400 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
Disklabel type: dos
Disk identifier: 0x6132549e

设备       启动 Start   末尾   扇区   SizeId 类型
/dev/sda1      204830310399 30308352 14.5G 83 Linux
```

我的 U 盘之前已经格式化了,此处显示 U 盘的设备分区为 sda

##### 2. 格式化 U盘

对分区 `/dev/sda` 进行操作

```python
scope@localhost:~$ sudo fdisk /dev/sda
scope 的密码:

Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


命令(输入 m 获取帮助): d# 删除分区
Selected partition 1
Partition 1 has been deleted.

命令(输入 m 获取帮助): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p):# 只创建一个分区,一路默认回车

Using default response p.
分区号 (1-4, default 1):
First sector (2048-30310399, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-30310399, default 30310399):

Created a new partition 1 of type 'Linux' and of size 14.5 GiB.

命令(输入 m 获取帮助): w# 保存修改并退出
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

scope@localhost:~$
```

格式化分区创建文件系统为 ext4 格式

```python
scope@localhost:~$ sudo mkfs -t ext4 /dev/sda1
mke2fs 1.42.13 (17-May-2015)
/dev/sda1 contains a ext4 file system
      last mounted on /mnt on Sun Mar 22 14:28:26 2020
无论如何也要继续? (y,n) y
Creating filesystem with 3788544 4k blocks and 948416 inodes
Filesystem UUID: b54efb44-1a14-4e71-95ca-3cdd9177d2be
Superblock backups stored on blocks:
      32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

scope@localhost:~$
```

##### 3. 挂载U 盘

* 把 `/dev/sda1` 挂载到 `/mnt`

```python
scope@localhost:~$ sudo mount /dev/sda1 /mnt
scope@localhost:~$ df -h
文件系统      容量已用可用 已用% 挂载点
/dev/root       6.7G5.2G1.2G   83% /
devtmpfs      446M   0446M    0% /dev
tmpfs         446M   84K446M    1% /dev/shm
tmpfs         446M   12M434M    3% /run
tmpfs         5.0M4.0K5.0M    1% /run/lock
tmpfs         446M   0446M    0% /sys/fs/cgroup
tmpfs            90M   32K   90M    1% /run/user/1000
/dev/mmcblk2p7128M   75M   54M   59% /home/scope/vvBoard
/dev/sda1      15G   37M   14G    1% /mnt
scope@localhost:~$
```

* 设置开机自动挂载

```python
scope@localhost:~$ sudo vim /etc/fstab# 编辑文件分区表
```

添加:`/dev/sda1/mntext4defaults11`

* 测速

```python
scope@localhost:~$ sudo hdparm -Tt /dev/sda

/dev/sda:
Timing cached reads:   1616 MB in2.00 seconds = 807.57 MB/sec
Timing buffered disk reads: 102 MB in3.05 seconds =33.46 MB/sec
scope@localhost:~$
```

#### 二、设置 SAMBA

虚谷号系统已经安装了 `samba` 和 `samba-common-bin`

##### 1. 创建共享数据的文件夹

```python
scope@localhost:~$ cd /mnt/
scope@localhost:/mnt$ sudo mkdir data
```

##### 2. 设置文件夹权限

```python
scope@localhost:/mnt$ sudo chown -R root:scope /mnt/data
# 设置拥有者为 root 用户, scope 用户组

scope@localhost:/mnt$ ls -l
总用量 20
drwxr-xr-x 2 root scope4096 3月22 15:16 data
drwx------ 2 root root16384 3月22 14:45 lost+found
   
scope@localhost:/mnt$ sudo chmod -R ug=rwx,o=rx /mnt/data/
# 设置对文件的读、写、执行权限

scope@localhost:/mnt$ ls -l
总用量 20
drwxrwxr-x 2 root scope4096 3月22 15:16 data
drwx------ 2 root root16384 3月22 14:45 lost+found
scope@localhost:/mnt$
```

##### 3. 配置 SAMBA

* 更改 SAMBA 的配置文件

```python
scope@localhost:/mnt$ sudo vim /etc/samba/smb.conf
```

* 在最后添加

```python
'''
[共享文件名]
    comment = 对共享的注释说明
    path = 共享目录路径
    valid users = 允许访问该共享的用户名
    force group = 创建的文件拥有组是
    create mask = 创建的文件权限为
    directory mask = 创建的文件夹权限为
    read only = 对共享资源是否只读
'''

   comment = public storage
   path = /mnt/data
   valid users = scope
   force group = scope
   create mask = 0660
   directory mask = 0771
   read only = no
```

* 重启 SMB 服务

```python
scope@localhost:/mnt$ sudo /etc/init.d/samba-ad-dc restart
[ ok ] Restarting samba-ad-dc (via systemctl): samba-ad-dc.service.

# 或者
scope@localhost:~$ sudo service smbd restart
```

##### 4. 查看共享文件

虚谷号系统已经为 `samba` 添加了用户 `scope`

`Windows`系统下,文件夹输入 `\\xxx.xxx.xxx`(虚谷号的 IP 地址)

![](data/attachment/album/202003/22/222050saaunzs6ean3zlj9.png)

`public` 是我们在配置文件中新创建的,`share` 为虚谷号系统本身创建的。打开共享的文件夹,用户名、密码为虚谷号的`scope` 用户名、密码。可以利用这个共享文件夹,与`Windows`系统下的文件进行互相传输。

![](data/attachment/album/202003/22/222104yqpj2njqqjnu2vxn.png)

#### 三、KODI

电视端、手机端安装`KODI`,创建 SMB 链接即可播放存储在虚谷号挂载的 U 盘上的音频、视频、图片数据。

![](data/attachment/album/202003/22/222119ap6r7pw7mwmv6d7i.jpg)

![](data/attachment/album/202003/22/222128i0efq061qbb1e0xq.jpg)

![](data/attachment/album/202003/22/222136ec3e7lul7ylzue33.jpg)

![](data/attachment/album/202003/22/222145lsd88h9hjocj1oot.jpg)

#### 四、Transmission

##### 1. 创建文件夹

创建用于 Transmission 下载的文件夹

```python
scope@localhost:~$ sudo mkdir -p /mnt/data/transmission/incomplete# 存放下载中的数据
scope@localhost:~$ sudo mkdir -p /mnt/data/transmission/completed# 存放下载完成的数据
```

##### 2. 安装 Transmission

```python
scope@localhost:~$ sudo apt install transmission-daemon
```

###### 1). 添加用户组

把 `scope` 用户添加到 `Transmission` 的 `debian-transmission` 用户组中

```python
scope@localhost:~$ sudo usermod -a -G debian-transmission scope
```

###### 2.) 修改文件夹用户组

```python
scope@localhost:~$ sudo chgrp debian-transmission /mnt/data/transmission/incomplete/
scope@localhost:~$ sudo chgrp debian-transmission /mnt/data/transmission/completed/
   
scope@localhost:~$ ls -l /mnt/data/transmission/
总用量 8
drwxr-xr-x 2 root debian-transmission 4096 3月22 18:16 completed
drwxr-xr-x 2 root debian-transmission 4096 3月22 18:15 incomplete
```

###### 3.) 修改文件夹权限

```python
scope@localhost:~$ sudo chmod 770 /mnt/data/transmission/incomplete/
scope@localhost:~$ sudo chmod 777 /mnt/data/transmission/completed/
   
scope@localhost:~$ ls -l /mnt/data/transmission/
总用量 8
drwxrwxrwx 2 root debian-transmission 4096 3月22 18:16 completed
drwxrwx--- 2 root debian-transmission 4096 3月22 18:15 incomplete
```

###### 4.) 修改配置文件

```python
scope@localhost:~$ sudo vim /etc/transmission-daemon/settings.json
```

我这边修改了下载的文件夹路径、IP 白名单

```javascript
"download-dir": "/mnt/data/transmission/completed",
"incomplete-dir": "/mnt/data/transmission/incomplete",
"incomplete-dir-enabled": true,
"rpc-whitelist": "127.0.0.1, 192.168.3.*",
```



配置文件生效

```python
scope@localhost:~$ sudo service transmission-daemon reload
```

##### 3. 访问 Transmission

浏览器访问 Transmission,xxx.xxx.xxx:9091( 虚谷号 IP 地址 : 端口号)

默认的用户名和密码均为 `transmission`

![](data/attachment/album/202003/22/222204ljj05j0zghjhhdbj.png)

#### 总结

最终,在虚谷号上搭建了 BT 下载器,下载好的视频,可以在电视端、手机端用 KODI 来进行播放。

### 附录

#### 1. 参考资料

* 树莓派4B NAS系统搭建(第一集)

*https://www.bilibili.com/video/av58883001*

* 科技小制作 - 树莓派下载盒子/Transmission by 科技小制作

*https://www.bilibili.com/video/av11958437*

* 【教程】树莓派bt下载机之Transmission Web Interface

*https://www.jianshu.com/p/9dac4772cc72*

gada888 发表于 2020-3-26 16:28:32

有点难度

yywudao 发表于 2020-3-27 14:28:11

gada888 发表于 2020-3-26 16:28
有点难度

主要虚谷没有网口,要不然直接刷OMV。。。
页: [1]
查看完整版本: 虚谷号搭建NAS & BT下载器