Tenho um Raspberry Pi 2 e um disco rígido móvel gratuito e estou pensando em usar o Raspberry Pi e o disco rígido móvel para construir um NAS de baixo custo. Há pouco tempo, eu estava lutando para saber como baixar e construir o Nextcloud offline. Instalar o Aria2 no Raspberry Pi também é uma questão muito simples.

Em seguida, monte o disco rígido móvel no Raspberry Pi, use Aria2 para baixar os recursos para o disco rígido offline e, em seguida, use o reprodutor Kodi para ler as características dos arquivos no servidor SFTP, FTP ou HTTP e reproduzi-los diretamente no o Raspberry Pi Vídeo no disco rígido. Um armazenamento NAS compartilhado de vídeo doméstico tão simples está concluído.

No uso real, funciona bem. Se você não tem dinheiro para comprar um dispositivo de armazenamento NAS profissional, é bom fazer uso abrangente do Raspberry Pi, disco rígido móvel, cabo de rede, etc., que estão “comendo poeira”. O processo de instalação do Raspberry Pi é bastante simples. Este artigo aborda principalmente alguns problemas que encontrei durante a operação, como montagem de disco rígido móvel, placa de rede sem fio USB, permissões de leitura, etc.

Problemas do Raspberry Pi Ten na criação de armazenamento NAS de baixo custo - Montagem do download offline do disco rígido

Para mais artigos sobre a construção de armazenamento em rede e discos em nuvem, amigos interessados ​​também podem ler:

  1. Método de construção de download offline Nextcloud - integra Aria2, AriaNg e Aria2 WebUI para obter download offline
  2. Lsyncd cria espelho de sincronização - usa Lsyncd para obter sincronização em tempo real entre servidores locais e remotos
  3. Linux VPS monta Google Drive e Dropbox - realiza sincronização e backup de dados de host VPS

1. Comandos de instalação e desinstalação do software Raspberry Pi

O sistema oficial do Raspberry Pi, Raspbain Jessie With PIXEL, é profundamente customizado baseado no Debain 8, então você pode usar diretamente os comandos que usamos no Linux VPS. Por exemplo, não há problema em configurar o ambiente LNMP. Aqui estão alguns comandos comumente usados:

Lista de comandos apt comumente usados

apt-cache search # ------(package 搜索包)
apt-cache show #------(package 获取包的相关信息,如说明、大小、版本等)
sudo apt-get install # ------(package 安装包)
sudo apt-get install # -----(package - - reinstall 重新安装包)
sudo apt-get -f install # -----(强制安装?#"-f = --fix-missing"当是修复安装吧...)
sudo apt-get remove #-----(package 删除包)
sudo apt-get remove -purge # ------(package 删除包,包括删除配置文件等)
sudo apt-get autoremove --purge # ----(package 删除包及其依赖的软件包+配置文件等(只对6.10有效,强烈推荐))
sudo apt-get update #------更新源
sudo apt-get upgrade #------更新已安装的包
sudo apt-get dist-upgrade # ---------升级系统
sudo apt-get dselect-upgrade #------使用 dselect 升级
apt-cache depends #-------(package 了解使用依赖)
apt-cache rdepends # ------(package 了解某个具体的依赖?#当是查看该包被哪些包依赖吧...)
sudo apt-get build-dep # ------(package 安装相关的编译环境)
apt-get source #------(package 下载该包的源代码)
sudo apt-get clean && sudo apt-get autoclean # --------清理下载文件的存档 && 只清理过时的包
sudo apt-get check #-------检查是否有损坏的依赖

Se você encontrar erros como velocidade lenta ou fonte inexistente ao usar o apt-get, pode ser necessário alterar a fonte. Consulte a segunda parte deste artigo (wzfou.com).

comando de aptidão

O aptitude, assim como o apt-get, é uma ferramenta de gerenciamento de pacotes extremamente poderosa no Debian e seus derivados. Ao contrário do apt-get, o aptitude é melhor para lidar com problemas de dependência. Por exemplo, quando o aptitude exclui um pacote, ele também exclui os pacotes dos quais depende. Desta forma, pacotes inúteis não permanecerão no sistema e todo o sistema ficará mais limpo. A seguir estão alguns comandos do aptitude comumente usados, resumidos pelo autor apenas para referência.

aptitude update 更新可用的包列表
aptitude upgrade 升级可用的包
aptitude dist-upgrade 将系统升级到新的发行版
aptitude install pkgname 安装包
aptitude remove pkgname 删除包
aptitude purge pkgname 删除包及其配置文件
aptitude search string 搜索包
aptitude show pkgname 显示包的详细信息
aptitude clean 删除下载的包文件
aptitude autoclean 仅删除过期的包文件

Claro, você também pode usar o aptitude no modo de interface de texto.

pacote deb

dpkg -i xxx.deb #安装deb软件包 
dpkg -r xxx.deb #删除软件包 
dpkg -r –purge xxx.deb  # 连同配置文件一起删除 
== dpkg -P xxx.deb  # 彻底的卸载,包括软件的配置文件
dpkg -info xxx.deb   # 查看软件包信息
dpkg -L xxx.deb # 查看软件安装到什么地方
dpkg -l # 查看系统中已安装软件包信息 
dpkg -s package # 查看软件包的详细情况,包括版本,依赖之类的
dpkg -S keyword     #搜索所属的包内容
dpkg -c package.deb  #列出 deb 包的内容
dpkg -C #查找只有部分安装的软件包信息
dpkg -p package-name    #显示包的具体信息
dpkg –unpack package.deb     #解开 deb 包的内容
dpkg –configure package  #配置包 
dpkg-reconfigure xxx # 重新配置软件包 

# 清除所有已删除包的残馀配置文件
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
# 如果报如下错误,证明你的系统中没有残留配置文件了,无须担心。
dpkg: –purge needs at least one package name argument

dpkg –clear-avail #删除软件包的Avaliable信息
dpkg –help      #显示帮助信息
dpkg –compare-versions ver1 op ver2 #比较同一个包的不同版本之间的差别
dpkg –licence (or) dpkg –license    #显示dpkg的Licence
dpkg –version #显示dpkg的版本号
dpkg -b direc×y [filename]  #建立一个deb文件

Aqueles instalados pelo dpkg podem ser desinstalados com o apt e vice-versa.

2. Como alterar a fonte de atualização do Raspberry Pi

Raspberry Pi A fonte de atualização que acompanha o Raspberry Pi não pode ser aberta na China. Podemos substituí-la por uma imagem doméstica. Primeiro edite o arquivo /etc/apt/sources.list. É recomendado editá-lo com o comando nano que acompanha o sistema.

sudo nano /etc/apt/sources.list

Entre na interface de edição, exclua o conteúdo original e cole o seguinte conteúdo:

deb http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib rpi
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib rpi

Atualizar lista de índice de software

sudo apt-get update

Compare listas de índices para atualizar dependências

sudo apt-get upgrade -y

Adicional: Após concluir a operação acima, você também precisa comentar a fonte de raspi.list na pasta sources.list.d. Mais fontes de espelhos podem ser encontradas aqui: http://www.raspbian.org/RaspbianMirrors

3. Habilite a conta de login root no Raspberry Pi

Alterar a fonte de atualização do Raspberry Pi pode resolver o problema de dependência de software, mas às vezes precisamos de permissões Root para instalar determinados softwares. Quando são necessários privilégios de root, ele é executado via sudo pela conta padrão, Raspbian no sistema Raspberry pi. O nome do host padrão é raspberrypi, o usuário padrão é pi e a senha é raspberry

Por conveniência, é recomendável habilitar a conta ROOT o mais rápido possível. Você só precisa executar os dois comandos a seguir:

// Abra novamente a conta root. Você pode fazer login como usuário pi. Depois de executar este comando, o sistema solicitará que você insira a senha root duas vezes.

pi@raspberrypi:~$ sudo passwd root
Enter new UNIX password:   #输入第一遍密码
Retype new UNIX password:  #输入第二遍密码

//Ativa o login da conta root

pi@raspberrypi:~$ sudo passwd --unlock root
passwd: password expiry information changed.

Insira a primeira linha do código acima e a segunda linha é o código que gera o erro. O motivo é que a nova versão do ssh fecha o login root por padrão. Você pode modificar o arquivo de configuração do ssh.

pi@raspberrypi:~$ sudo nano /etc/ssh/sshd_config

Ctrl + W tecla de atalho para procurar PermitRootLogin sem senha, modifique PermitRootLogin sem senha para PermitRootLogin sim, Ctrl + O tecla de atalho para salvar, Ctrl + O tecla de atalho Sai do editor Nano. Após a execução, use o comando reboot para reinicializar, para que a conta root possa ser desbloqueada.

4. Monte manualmente o disco rígido móvel ou disco U no Raspberry Pi

O sistema operacional fornecido pelo site oficial do Raspberry Pi agora pode montar automaticamente um disco rígido móvel ou unidade flash USB. Se você estiver usando outro sistema operacional que não consegue reconhecer e montar automaticamente o disco rígido ou unidade flash USB, você pode montá-lo manualmente. Normalmente criamos um novo diretório no diretório /mnt ou /media como ponto de montagem. por exemplo:

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 depende da sua situação real, a representa o primeiro disco rígido e 1 representa a primeira partição.

Montar disco rígido formatado em exFAT

O próprio Mount pode suportar discos U formatados em FAT, mas se o seu disco U ou disco rígido móvel usar o formato exFAT, o Mount dirá que não é compatível. Não importa, a montagem será suportada após a instalação do software exfat-fuse.

sudo apt-get install exfat-fuse 

Se quiser montar o sistema automaticamente na inicialização, em vez de executá-lo manualmente todas as vezes, você pode editar o arquivo /etc/fstab. Por exemplo, adicione uma linha no final:

/dev/sda1 /mnt/usbdisk vfat rw,defaults 0 0

Montar o disco rígido no formato NTFS (montar em modo leitura-gravação)

Por padrão, os discos rígidos montados no formato NTFS possuem apenas permissões somente leitura, o que requer o uso de outras ferramentas.

#安装所需软件包
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
#保存重启,即可生效 

Monte o disco rígido formatado em FAT32

#创建挂载点
sudo mkdir /mnt/myusbdrive
#编辑fstab让移动硬盘开机自动挂载
sudo nano /etc/fstab
#在最后一行添加如下内容
/dev/sda1 /mnt/myusbdrive auto defaults,noexec,umask=0000 0 0
#保存重启,即可生效 

ilustrar:

sda1 depende da sua situação real, a representa o primeiro disco rígido e 1 representa a primeira partição.
umask=0000 0 0
Os primeiros quatro 0s são para todos, legíveis, graváveis ​​e executáveis.
Os dois últimos 0s, o primeiro representa dump, 0 significa sem backup
O segundo representa a ordem de verificação do fsck, 0 significa não verificar
Desinstalar: sudo umount /mnt/myusbdrive

Para verificar o status de montagem, use o seguinte comando. cd /mnt/myusbdrive, então: ls

5. Fonte de alimentação insuficiente para o disco rígido móvel Raspberry Pi

Quando usei o Raspberry Pi 2 para conectar um disco rígido móvel, encontrei um problema de fonte de alimentação insuficiente. A principal manifestação foi que a montagem estava instável e o disco rígido móvel sofria de "cliques". As soluções atuais incluem:

Método de hardware: Comprar um USB-HUB equivale a fornecer uma fonte de corrente para o disco rígido móvel.

Método de software 1: Alterar a configuração do Raspberry Pi O caminho é: boot/config.txt, que contém algumas configurações iniciais do Raspberry Pi. Basta adicionar max_usb_current=1 no final. Abra o terminal, entre na pasta de inicialização e execute o seguinte: sudo nano config.txt

Em seguida, adicione max_usb_current=1, ctrl+x para salvar. Digite reboot para reiniciar, conecte o disco rígido móvel, se não for reconhecido, conecte-o mais algumas vezes.

Método de software 2: Adicione safe_mode_gpio=4 no final do arquivo no método de software 1. 

Método de software 3: Formate seu disco rígido móvel no formato ext, ext3 ou 4. Desta forma, o Raspberry Pi pode ser reconhecido quando estiver conectado.

O método de formatação é o seguinte:

Primeiro, se o disco rígido móvel já estiver montado, desmonte-o: sudo umount /xxxmnt/xxxusb_flash. Então execute sudo fdisk -l para verificar o número de série da sua unidade flash USB, que geralmente é /dev/sdb. A partição USB geralmente é /dev. /sdb1.

Por fim, execute a operação de formatação:

sudo mkfs.ext4 /dev/sda1 # 格式化为ext4分区 
sudo mkfs.ext3 /dev/sda1 # 格式化为ext3分区 
sudo mkfs.ext2 /dev/sda1 #格式化为ext2分区

Nota especial: Depois de formatar o disco rígido móvel, tudo nele será apagado. É melhor fazer um backup antes de formatar.

6. Raspberry Pi integra download offline Aria2 e AriaNg

Raspberry Pi integra Aria2, AriaNg e Aria2 WebUI para obter download offline. Referência: Instalando Aria2 no VPS.

7. Configure o servidor FTP (vsftpd) no Raspberry Pi

Se você usar um player como o Kodi, poderá usar SFTP diretamente para fazer login e navegar pelos arquivos, mas também podemos usar o login FTP para ler arquivos. Primeiro instale o servidor vsftpd no Raspberry Pi (cerca de 400 KB)

sudo apt-get install vsftpd

Iniciar serviço FTP

sudo service vsftpd start

Editar arquivo de configuração vsftdp

sudo nano /etc/vsftpd.conf

Encontre a seguinte linha e defina-a

anonymous_enable=NO  
表示:不允许匿名访问

local_enable=YES   
设定本地用户可以访问

write_enable=YES
设定可以进行写操作

local_umask=022
设定上传后文件的权限掩码

chroot_local_user=YES

Modifique o diretório de acesso e adicione uma nova linha

local_root=/var/www/
# anon_root=/var/www/tmp
# local_root 针对系统用户;anon_root 针对匿名用户

Nota: A permissão do diretório raiz do usuário FTP é 555 (dr-xr-xr-x).

Reinicie o serviço vsftpd

sudo service vsftpd restart

Teste, ok. Conecte-se ao sistema Raspberry Pi através de FTP, nome de usuário: pi, senha é raspberry

8. Configure o servidor NAS (Samba) no Raspberry Pi

Instale o samba e o samba-common-bin

sudo apt-get install samba samba-common-bin
sudo apt-get install netatalk (可选,用于支持AFP)
sudo apt-get install avahi-daemon(可选,用于支持网内的计算机自动发现)

Configure o arquivo /etc/samba/smb.conf

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup
sudo vi /etc/samba/smb.conf

[share]  
#共享文件的名称,将在网络上以此名称显示
path = /samba                     #共享文件的路径
valid users = root pi             #允许访问的用户,比如我的raspi有
                                  #root 和 pi 两个用户
browseable = yes                  #允许浏览                                 
public = yes                      #共享开放                             
writable = yes                    #可写

Iniciar reiniciar

sudo smbd
sudo smbd restart

9. Habilite a placa de rede sem fio USB no Raspberry Pi

Raspberry Pi 2 usa Raspbain Jessie Com sistema oficial PIXEL Raspberry Pi, baseado em Debain 8, com interface gráfica PIXEL, baixe a versão mais recente: https://downloads.raspberrypi.org/raspbian_latest.

Após meus testes, a versão mais recente do sistema operacional Raspbain Jessie suporta wifi portátil 360/Xiaomi/Baidu. Se você tiver um, pode conectá-lo e usar a placa de rede sem fio USB.

10. Resumo

Quando eu estava construindo armazenamento NAS de baixo custo no Raspberry Pi, o primeiro problema que encontrei foi o problema de montagem do disco rígido móvel. Embora o formato NFT padrão possa ser montado no Raspberry Pi, por ser um formato de disco rígido do Windows, As permissões não podem ser modificadas no Linux, o que resulta na incapacidade do Aria2 de gravar dados no disco rígido durante o download offline.

Depois de dar uma volta grande, finalmente decidi formatar o disco rígido móvel como Ext4 para que o Raspberry Pi possa reconhecê-lo e montá-lo diretamente. Você pode usar o Ext2 Volume Manager, Ext2Fsd e outros softwares para ler o disco rígido móvel no formato Ext4 no Windows, que suporta leitura e gravação no sistema de arquivos ext2/ext3 do Windows.

Deixe uma resposta