硬盘格式
硬盘系统格式的问题,导致树莓派没有权限向磁盘中写入文件
解决办法:
外接U盘或移动硬盘时,默认不会自动挂载,所以需要用 mount 命令挂载。通常我们在 /mnt 或 /media 目录下新建一个目录作为挂载点。比如:
sudo mkdir /mnt/1GB_USB_flash
sudo mount -o uid=pi,gid=pi /dev/sda1 /mnt/1GB_USB_flash
//用完之后卸载
sudo umount /mnt/1GB_USB_flash
sda1 是取决于你的实际情况,a表示第一个硬盘,1表示第一个分区。
挂载exFAT格式的硬盘
FAT 格式U盘 mount 本身就能支持,但如果你的U盘或移动硬盘使用的是 exFAT 格式,mount 会说不支持。没关系,安装 exfat-fuse 软件之后 mount 就支持了。
sudo apt-get install exfat-fuse
如果想开机自动挂载,而不是每次手工执行,可以编辑 /etc/fstab 文件。比如在末尾添加一行:
/dev/sda1 /mnt/usbdisk vfat rw,defaults 0 0
挂载NTFS格式的硬盘(读写方式挂载)
默认挂载NTFS格式的硬盘只有只读权限,需要借助其它工具实现。
安装所需软件包
sudo apt-get install fuse-utils ntfs-3g
加载内核模块
modprobe fuse
编辑fstab让移动硬盘开机自动挂载
sudo nano /etc/fstab
在最后一行添加如下内容
/dev/sda1 /mnt/myusbdrive ntfs-3g defaults,noexec,umask=0000 0 0
保存重启,即可生效
挂载FAT32格式的硬盘
创建挂载点
sudo mkdir /mnt/myusbdrive
编辑fstab让移动硬盘开机自动挂载
sudo nano /etc/fstab
在最后一行添加如下内容
/dev/sda1 /mnt/myusbdrive auto defaults,noexec,umask=0000 0 0
保存重启,即可生效
说明:
sda1是取决于你的实际情况,a表示第一个硬盘,1表示第一个分区。
umask=0000 0 0
前面四个0就是对所有人,可读可写可执行,
后面两个0,第一个代表dump,0是不备份
第二个代表fsck检查的顺序,0表示不检查
卸载:sudo umount /mnt/myusbdrive
查看挂载情况可使用以下命令。
cd /mnt/myusbdrive
ls
种子文件 Permission denied
先安装
transmission-daemonsudo apt-get install transmission-daemon
默认会自己启动,为了改配置文件,需要先手动关闭服务
sudo service transmission-daemon stop
然后更改在/etc/transmission-daemon/ 下的配置文件settings.json
有几个地方需要改,下载目录download-dir改为你自己的下载目录,port-forwarding-enabled改为true,这个是控制upnp的,开了端口才能有用(找了半天才找到这个问题,默认居然是关闭的),还有rpc-username,rpc-password自己看着改一下,是登录web界面的用户名密码,另外rpc-whitelist-enabled改为false,不然外网无法访问web界面另外在树莓派上使用外接硬盘或者U盘,作为下载目录的,碰到Permission denied 的时候,需要改下transmission的启动脚本
sudo vim /etc/init.d/transmission-daemon
把USER=debian-transmission改为USER=root
这也是个坑爹的地方,transmission原来的下载目录是/var/lib/transmission-daemon 这下面的目录的用户是debian-transmission的(搞不懂干嘛弄个专门给transmission用的用户),但是又不方便在外挂硬盘上chown改变目录的用户权限,改不了,还有能改的话,别的软件又会出问题。
到这里可以启动了
sudo service transmission-daemon start
赋予文件权限
sudo chmod -R 777 /home/pi/Public/