Tengo una Raspberry Pi 2 y un disco duro móvil gratuito, y estoy pensando en utilizar la Raspberry Pi y el disco duro móvil para construir un NAS de bajo coste. Hace un tiempo, estaba luchando con cómo descargar y construir Nextcloud sin conexión. Instalar Aria2 en Raspberry Pi también es una cuestión muy simple.
Luego, monte el disco duro móvil en la Raspberry Pi, use Aria2 para descargar los recursos al disco duro sin conexión y luego use el reproductor Kodi para leer las características de los archivos en el servidor SFTP, FTP o HTTP y reproducirlos directamente en el vídeo de Raspberry Pi en el disco duro. Se completa un almacenamiento NAS compartido de vídeo doméstico tan sencillo.
En el uso real, funciona bien. Si no tiene dinero para comprar un dispositivo de almacenamiento NAS profesional, es bueno hacer un uso completo de la Raspberry Pi, el disco duro móvil, el cable de red, etc., que están "comiendo polvo". El proceso de instalación de Raspberry Pi es bastante simple. Este artículo soluciona principalmente algunos problemas que encontré durante la operación, como el montaje del disco duro móvil, la tarjeta de red inalámbrica USB, los permisos de lectura, etc.
Para obtener más artículos sobre la creación de almacenamiento en red y discos en la nube, los amigos interesados también pueden leer:
- Método de construcción de descarga sin conexión de Nextcloud: integre Aria2, AriaNg y Aria2 WebUI para lograr la descarga sin conexión
- Lsyncd crea un espejo de sincronización: use Lsyncd para lograr la sincronización en tiempo real entre servidores locales y remotos
- Linux VPS monta Google Drive y Dropbox: realiza la sincronización y copia de seguridad de los datos del host VPS
1. Comandos de instalación y desinstalación del software Raspberry Pi
El sistema oficial de Raspberry Pi, Raspbain Jessie con PIXEL, está profundamente personalizado en base a Debain 8, por lo que puede usar directamente los comandos que usamos en Linux VPS. Por ejemplo, no hay ningún problema al configurar el entorno LNMP. A continuación se muestran algunos comandos de uso común:
Lista de comandos aptos de uso común
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 #-------检查是否有损坏的依赖
Si encuentra errores como velocidad lenta o fuente inexistente al usar apt-get, es posible que deba cambiar la fuente. Consulte la segunda parte de este artículo (wzfou.com).
comando de aptitud
aptitude, al igual que apt-get, es una herramienta de administración de paquetes extremadamente poderosa en Debian y sus derivados. A diferencia de apt-get, aptitude maneja mejor los problemas de dependencia. Por ejemplo, cuando aptitude elimina un paquete, también eliminará los paquetes de los que depende. De esta forma, los paquetes inútiles no quedarán en el sistema y todo el sistema estará más limpio. Los siguientes son algunos comandos de aptitude de uso común resumidos por el autor solo como referencia.
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 仅删除过期的包文件
Por supuesto, también puedes usar aptitude en modo de interfaz de texto.
paquete 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文件
Los instalados por dpkg se pueden desinstalar con apt y viceversa.
2. Cómo cambiar la fuente de actualización de Raspberry Pi
Raspberry Pi La fuente de actualización que viene con Raspberry Pi no se puede abrir en China. Podemos reemplazarla con una imagen nacional. Primero edite el archivo /etc/apt/sources.list. Se recomienda editarlo con el comando nano que viene con el sistema.
sudo nano /etc/apt/sources.list
Ingrese a la interfaz de edición, elimine el contenido original y pegue el siguiente contenido:
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
Actualizar la lista de índice de software
sudo apt-get update
Comparar listas de índices para actualizar dependencias
sudo apt-get upgrade -y
Adicional: Después de completar la operación anterior, también debe comentar la fuente de raspi.list en la carpeta fuentes.list.d. Puedes encontrar más fuentes espejo aquí: http://www.raspbian.org/RaspbianMirrors
3. Habilite la cuenta de inicio de sesión raíz en Raspberry Pi
Cambiar la fuente de actualización de Raspberry Pi puede resolver el problema de dependencia del software, pero a veces necesitamos permisos de Root para instalar cierto software. Cuando se requieren privilegios de root, se ejecuta mediante sudo mediante la cuenta predeterminada, Raspbian en el sistema Raspberry pi. El nombre de host predeterminado es raspberrypi, el usuario predeterminado es pi y la contraseña es raspberry
Para mayor comodidad, se recomienda habilitar la cuenta ROOT lo antes posible. Solo necesita ejecutar los dos comandos siguientes:
// Vuelva a abrir la cuenta raíz. Puede iniciar sesión como usuario pi. Después de ejecutar este comando, el sistema le pedirá que ingrese la contraseña de raíz dos veces.
pi@raspberrypi:~$ sudo passwd root Enter new UNIX password: #输入第一遍密码 Retype new UNIX password: #输入第二遍密码
// Habilitar el inicio de sesión de la cuenta raíz
pi@raspberrypi:~$ sudo passwd --unlock root passwd: password expiry information changed.
Ingrese la primera línea de código anterior y la segunda línea es el código que genera el error. La razón es que la nueva versión de s-s-h cierra el inicio de sesión de root de forma predeterminada. Puede modificar el archivo de configuración de s-s-h.
pi@raspberrypi:~$ sudo nano /etc/ssh/sshd_config
Ctrl + W tecla de acceso directo para buscar PermitRootLogin sin contraseña, modifique PermitRootLogin sin contraseña a PermitRootLogin sí, Ctrl + O tecla de acceso directo para guardar, Ctrl + O tecla de acceso directo Salga del editor Nano. Después de la ejecución, use el comando reboot para reiniciar, de modo que se pueda desbloquear la cuenta raíz.
4. Monte manualmente el disco duro móvil o el disco U en Raspberry Pi
El sistema operativo proporcionado por el sitio web oficial de Raspberry Pi ahora puede montar automáticamente un disco duro móvil o una unidad flash USB. Si está utilizando otro sistema operativo que no puede reconocer ni montar automáticamente el disco duro o la unidad flash USB, puede montarlo manualmente. Por lo general, creamos un nuevo directorio en el directorio /mnt o /media como punto de montaje. Por ejemplo:
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 de su situación real, a representa el primer disco duro y 1 representa la primera partición.
Montar disco duro formateado exFAT
El montaje en sí puede admitir discos U con formato FAT, pero si su disco U o disco duro móvil usa el formato exFAT, el montaje dirá que no es compatible. No importa, el montaje será compatible después de instalar el software exfat-fuse.
sudo apt-get install exfat-fuse
Si desea montar automáticamente el sistema al arrancar en lugar de ejecutarlo manualmente cada vez, puede editar el archivo /etc/fstab. Por ejemplo, agregue una línea al final:
/dev/sda1 /mnt/usbdisk vfat rw,defaults 0 0
Montar el disco duro en formato NTFS (montar en modo lectura-escritura)
De forma predeterminada, los discos duros montados en formato NTFS sólo tienen permisos de sólo lectura, lo que requiere el uso de otras herramientas.
#安装所需软件包
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
#保存重启,即可生效
Montar disco duro formateado FAT32
#创建挂载点
sudo mkdir /mnt/myusbdrive
#编辑fstab让移动硬盘开机自动挂载
sudo nano /etc/fstab
#在最后一行添加如下内容
/dev/sda1 /mnt/myusbdrive auto defaults,noexec,umask=0000 0 0
#保存重启,即可生效
ilustrar:
sda1 depende de su situación real, a representa el primer disco duro y 1 representa la primera partición.
umask=0000 0 0
Los primeros cuatro 0 son para todos, legibles, escribibles y ejecutables.
Los últimos dos 0, el primero representa el volcado, 0 significa que no hay copia de seguridad
El segundo representa el orden de verificación de fsck, 0 significa no verificar
Desinstalar: sudo umount /mnt/myusbdrive
Para verificar el estado de montaje, use el siguiente comando. cd /mnt/myusbdrive
, luego: ls
5. Suministro de energía insuficiente al disco duro móvil Raspberry Pi
Cuando usé Raspberry Pi 2 para conectar un disco duro móvil, encontré un problema de suministro de energía insuficiente. La manifestación principal fue que el montaje era inestable y el disco duro móvil hacía "clic". Las soluciones actuales incluyen:
Método de hardware: Comprar un HUB USB equivale a proporcionar una fuente actual para el disco duro móvil.
Método de software 1: Cambie la configuración de Raspberry Pi. La ruta es: boot/config.txt, que contiene algunas configuraciones iniciales de Raspberry Pi. Simplemente agregue max_usb_current=1 al final. Abra la terminal, ingrese a la carpeta de inicio y ejecute lo siguiente: sudo
nano config.txt
Luego agregue max_usb_current=1, ctrl+x para guardar. Ingrese reiniciar para reiniciar, conecte el disco duro móvil, si no se reconoce, conéctelo unas cuantas veces más.
Método de software 2: agregue safe_mode_gpio=4 al final del archivo en el método de software 1.
Método de software 3: Formatee su disco duro móvil en formato ext, ya sea ext3 o 4. De esta forma se podrá reconocer la Raspberry Pi cuando esté enchufada.
El método de formato es el siguiente:
Primero, si el disco duro móvil ya está montado, desmóntelo: sudo umount /xxxmnt/xxxusb_flash. Luego
ejecute sudo fdisk -l
para verificar el número de serie de su unidad flash USB, que suele ser /dev/sdb
. La partición USB suele ser /dev. /sdb1.
Finalmente, realice la operación de formateo:
sudo mkfs.ext4 /dev/sda1 # 格式化为ext4分区
sudo mkfs.ext3 /dev/sda1 # 格式化为ext3分区
sudo mkfs.ext2 /dev/sda1 #格式化为ext2分区
Nota especial: después de formatear el disco duro de su móvil, se borrará todo su contenido. Es mejor hacer una copia de seguridad antes de formatear.
6. Raspberry Pi integra la descarga sin conexión de Aria2 y AriaNg
Raspberry Pi integra Aria2, AriaNg y Aria2 WebUI para lograr la descarga sin conexión. El método es muy simple. Referencia: Instalación de Aria2 en VPS.
7. Configure el servidor FTP (vsftpd) en Raspberry Pi
Si usa un reproductor como Kodi, puede usar SFTP directamente para iniciar sesión y explorar archivos, pero también podemos usar el inicio de sesión FTP para leer archivos. Primero instale el servidor vsftpd en Raspberry Pi (aproximadamente 400 KB)
sudo apt-get install vsftpd
Iniciar servicio ftp
sudo service vsftpd start
Editar el archivo de configuración vsftdp
sudo nano /etc/vsftpd.conf
Encuentra la siguiente línea y defínela.
anonymous_enable=NO
表示:不允许匿名访问
local_enable=YES
设定本地用户可以访问
write_enable=YES
设定可以进行写操作
local_umask=022
设定上传后文件的权限掩码
chroot_local_user=YES
Modifique el directorio de acceso y agregue una nueva línea
local_root=/var/www/
# anon_root=/var/www/tmp
# local_root 针对系统用户;anon_root 针对匿名用户
Nota: El permiso del directorio raíz del usuario FTP es 555 (dr-xr-xr-x). Si el permiso está establecido en 777, no podrá iniciar sesión.
Reinicie el servicio vsftpd
sudo service vsftpd restart
Pruébalo, está bien. Conéctese al sistema Raspberry Pi a través de ftp, nombre de usuario: pi, contraseña es raspberry
8. Configurar el servidor NAS (Samba) con Raspberry Pi
Instalar samba y samba-common-bin
sudo apt-get install samba samba-common-bin
sudo apt-get install netatalk (可选,用于支持AFP)
sudo apt-get install avahi-daemon(可选,用于支持网内的计算机自动发现)
Configurar el archivo /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 la tarjeta de red inalámbrica USB en Raspberry Pi
Raspberry Pi 2 utiliza Raspbain Jessie Con sistema oficial PIXEL Raspberry Pi, basado en Debain 8, con interfaz gráfica PIXEL, descarga la última versión: https://downloads.raspberrypi.org/raspbian_latest.
Después de mis pruebas, la última versión del sistema operativo Raspbain Jessie admite wifi portátil 360/Xiaomi/Baidu. Si tienes uno, puedes conectarlo y usar la tarjeta de red inalámbrica USB.
10. Resumen
Cuando estaba construyendo almacenamiento NAS de bajo costo en Raspberry Pi, el primer problema que encontré fue el problema de montar un disco duro móvil. Aunque el formato NFT predeterminado se puede montar en Raspberry Pi, porque es un formato de disco duro de Windows. Los permisos no se pueden modificar en Linux, lo que finalmente resulta en que Aria2 no pueda escribir datos en el disco duro durante la descarga sin conexión.
Después de dar vueltas en círculos, finalmente decidí formatear el disco duro móvil como Ext4 para que Raspberry Pi pueda reconocerlo y montarlo directamente. Puede utilizar Ext2 Volume Manager, Ext2Fsd y otro software para leer el disco duro móvil en formato Ext4 en Windows, que admite lectura y escritura en el sistema de archivos ext2/ext3 de Windows.