Tôi có Raspberry Pi 2 trong tay và một ổ cứng di động dự phòng. Tôi đang nghĩ đến việc sử dụng Raspberry Pi và ổ cứng di động để xây dựng một NAS chi phí thấp. Cách đây không lâu, tôi còn loay hoay với phương pháp tải xuống và thiết lập ngoại tuyến của Nextcloud. Việc cài đặt Aria2 trên Raspberry Pi cũng là một việc rất đơn giản.

Sau đó, gắn đĩa cứng di động trên Raspberry Pi, sử dụng Aria2 để tải tài nguyên xuống đĩa cứng ngoại tuyến, sau đó sử dụng trình phát Kodi để đọc đặc điểm của các tệp trong máy chủ SFTP, FTP hoặc HTTP và phát chúng trực tiếp trên Video Raspberry Pi trên ổ cứng. Việc lưu trữ NAS chia sẻ video gia đình đơn giản như vậy đã hoàn tất.

Trong sử dụng thực tế, nếu không có tiền mua thiết bị lưu trữ NAS chuyên nghiệp thì tốt nhất là tận dụng toàn diện Raspberry Pi, ổ cứng di động, cáp mạng… đang “ăn bụi”. Quá trình cài đặt Raspberry Pi khá đơn giản. Bài viết này chủ yếu nhằm giải quyết một số vấn đề tôi gặp phải trong quá trình thao tác, chẳng hạn như việc gắn ổ cứng di động, card mạng không dây USB, quyền đọc, v.v.

Raspberry Pi Ten gặp vấn đề trong việc tạo bộ lưu trữ NAS chi phí thấp - Gắn đĩa cứng tải xuống ngoại tuyến

Để biết thêm các bài viết về xây dựng bộ lưu trữ mạng và ổ đĩa đám mây, những người bạn quan tâm cũng có thể đọc:

  1. Phương pháp xây dựng tải xuống ngoại tuyến Nextcloud - tích hợp Aria2, AriaNg và Aria2 WebUI để đạt được tải xuống ngoại tuyến
  2. Lsyncd xây dựng Lsyncd sử dụng nhân bản đồng bộ hóa để đạt được đồng bộ hóa thời gian thực giữa các máy chủ cục bộ và từ xa
  3. Linux VPS gắn Google Drive và Dropbox-thực hiện đồng bộ hóa và sao lưu dữ liệu máy chủ VPS

1. Lệnh cài đặt và gỡ cài đặt phần mềm Raspberry Pi

Hệ thống chính thức của Raspberry Pi, Raspbain Jessie With PIXEL, được tùy chỉnh sâu dựa trên Debain 8, vì vậy bạn có thể sử dụng trực tiếp các lệnh chúng tôi sử dụng trên Linux VPS. Dưới đây là một số lệnh thường được sử dụng:

Danh sách các lệnh apt thường được sử dụng

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 #-------检查是否有损坏的依赖

Nếu bạn gặp các lỗi như tốc độ chậm hoặc nguồn không tồn tại khi sử dụng apt-get, bạn có thể cần phải thay đổi nguồn. Vui lòng tham khảo phần thứ hai của bài viết này (wzfou.com).

lệnh năng khiếu

aptitude, giống như apt-get, là một công cụ quản lý gói cực kỳ mạnh mẽ trong Debian và các phiên bản phái sinh của nó. Không giống như apt-get, aptitude xử lý các vấn đề phụ thuộc tốt hơn. Ví dụ: khi aptitude xóa một gói, nó cũng sẽ xóa các gói mà nó phụ thuộc vào. Bằng cách này, các gói vô dụng sẽ không còn tồn tại trong hệ thống và toàn bộ hệ thống sẽ sạch hơn. Sau đây là một số lệnh aptitude thường được sử dụng được tác giả tóm tắt chỉ mang tính chất tham khảo.

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 仅删除过期的包文件

Tất nhiên, bạn cũng có thể sử dụng năng khiếu ở chế độ giao diện văn bản.

gói gỡ lỗi

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文件

Những thứ được cài đặt bởi dpkg có thể được gỡ cài đặt bằng apt và ngược lại.

2. Cách thay đổi nguồn cập nhật của Raspberry Pi

Raspberry Pi Nguồn cập nhật đi kèm với Raspberry Pi không thể mở được ở Trung Quốc. Chúng ta có thể thay thế bằng hình ảnh trong nước. Đầu tiên hãy chỉnh sửa tệp /etc/apt/sources.list. Nên chỉnh sửa nó bằng lệnh nano đi kèm với hệ thống.

sudo nano /etc/apt/sources.list

Vào giao diện chỉnh sửa, xóa nội dung gốc và dán nội dung sau:

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

Cập nhật danh sách chỉ mục phần mềm

sudo apt-get update

So sánh danh sách chỉ mục để cập nhật các phần phụ thuộc

sudo apt-get upgrade -y

Bổ sung: Sau khi hoàn thành thao tác trên, bạn cũng cần chú thích nguồn của raspi.list trong thư mục nguồn.list.d. Bạn có thể tìm thấy nhiều nguồn nhân bản hơn tại đây: http://www.raspbian.org/RaspbianMirrors

3. Kích hoạt tài khoản đăng nhập root trên Raspberry Pi

Việc thay đổi nguồn cập nhật của Raspberry Pi có thể giải quyết vấn đề phụ thuộc phần mềm, nhưng đôi khi chúng ta cần có quyền Root để cài đặt phần mềm nào đó. Khi cần có quyền root, nó sẽ được thực thi thông qua sudo bằng tài khoản mặc định, Raspbian trên hệ thống Raspberry pi. Tên máy chủ mặc định là Raspberrypi, người dùng mặc định là Pi và mật khẩu là Raspberry

Để thuận tiện cho việc ném, bạn nên kích hoạt tài khoản ROOT càng sớm càng tốt. Bạn chỉ cần thực hiện hai lệnh sau:

// Mở lại tài khoản root. Bạn có thể đăng nhập với tư cách là người dùng pi. Sau khi thực hiện lệnh này, hệ thống sẽ nhắc bạn nhập mật khẩu root hai lần.

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

// Cho phép đăng nhập tài khoản root

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

Nhập dòng mã đầu tiên ở trên và dòng thứ hai là mã nhắc lỗi. Lý do là phiên bản mới của s-s-h đóng quyền đăng nhập root theo mặc định. Bạn có thể sửa đổi tệp cấu hình của s-s-h.

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

Ctrl + W phím tắt để tìm PermitRootLogin không cần mật khẩu, sửa PermitRootLogin không cần mật khẩu thành PermitRootLogin có, Ctrl + O phím tắt để lưu, Ctrl + O Phím tắt Thoát trình soạn thảo Nano. Sau khi thực hiện, sử dụng lệnh restart để khởi động lại, để có thể mở khóa tài khoản root.

4. Gắn thủ công đĩa cứng di động hoặc đĩa U trên Raspberry Pi

Hệ điều hành do trang web chính thức của Raspberry Pi cung cấp hiện có thể tự động gắn ổ cứng di động hoặc ổ flash USB. Nếu bạn đang sử dụng một hệ điều hành khác không thể tự động nhận dạng và gắn ổ cứng hoặc ổ flash USB, bạn có thể gắn thủ công. Thông thường chúng ta tạo một thư mục mới trong thư mục /mnt hoặc /media làm điểm gắn kết. Ví dụ:

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 tùy thuộc vào tình huống thực tế của bạn, a đại diện cho đĩa cứng đầu tiên và 1 đại diện cho phân vùng đầu tiên.

Gắn ổ cứng được định dạng exFAT

Bản thân mount có thể hỗ trợ các đĩa U có định dạng FAT, nhưng nếu đĩa U hoặc ổ cứng di động của bạn sử dụng định dạng exFAT, mount sẽ cho biết nó không được hỗ trợ. Không thành vấn đề, mount sẽ được hỗ trợ sau khi cài đặt phần mềm exfat-Fuse.

sudo apt-get install exfat-fuse 

Nếu bạn muốn tự động gắn hệ thống khi khởi động thay vì thực hiện thủ công mỗi lần, bạn có thể chỉnh sửa tệp /etc/fstab. Ví dụ: thêm một dòng ở cuối:

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

Gắn đĩa cứng ở định dạng NTFS (gắn ở chế độ đọc-ghi)

Theo mặc định, các đĩa cứng được gắn ở định dạng NTFS chỉ có quyền chỉ đọc, yêu cầu sử dụng các công cụ khác.

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

Gắn ổ cứng định dạng FAT32

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

Minh họa:

sda1 tùy thuộc vào tình huống thực tế của bạn, a đại diện cho đĩa cứng đầu tiên và 1 đại diện cho phân vùng đầu tiên.
umask=0000 0 0
Bốn số 0 đầu tiên dành cho tất cả mọi người, có thể đọc, ghi và thực thi được.
Hai số 0 cuối cùng, số đầu tiên đại diện cho kết xuất, 0 có nghĩa là không có bản sao lưu
Số thứ hai đại diện cho thứ tự kiểm tra fsck, 0 nghĩa là không kiểm tra
Gỡ cài đặt: sudo umount /mnt/myusbdrive

Để kiểm tra trạng thái lắp, sử dụng lệnh sau. cd /mnt/myusbdrive, sau đó: ls

5. Nguồn điện không đủ cho ổ cứng di động Raspberry Pi

Khi sử dụng Raspberry Pi 2 để kết nối ổ cứng di động, tôi gặp phải vấn đề nguồn điện không đủ. Biểu hiện chính là việc lắp đặt không ổn định và ổ cứng di động bị “click”. Các giải pháp hiện tại bao gồm:

Phương pháp phần cứng: Mua USB-HUB tương đương với việc cung cấp nguồn hiện tại cho ổ cứng di động.

Phương pháp phần mềm 1: Thay đổi cấu hình Raspberry Pi Đường dẫn là: boot/config.txt, chứa một số cấu hình ban đầu của Raspberry Pi. Chỉ cần thêm max_usb_current=1 vào cuối. Mở terminal, nhập thư mục khởi động và thực hiện lệnh sau: sudo nano config.txt

Sau đó thêm max_usb_current=1, ctrl+x để lưu. Vào restart để khởi động lại, cắm ổ cứng di động vào, nếu không nhận thì cắm thêm vài lần nữa.

Phương pháp phần mềm 2: Thêm safe_mode_gpio=4 vào cuối tệp trong phương pháp phần mềm 1. 

Phương pháp phần mềm 3: Định dạng đĩa cứng di động của bạn sang định dạng ext, ext3 hoặc 4. Bằng cách này, Raspberry Pi có thể được nhận dạng khi được cắm vào.

Phương pháp định dạng như sau:

Đầu tiên, nếu ổ cứng di động đã được gắn, hãy ngắt kết nối nó: sudo umount /xxxmnt/xxxusb_flash. Sau đó thực thi sudo fdisk -l để kiểm tra số sê-ri của ổ flash USB của bạn, thường là /dev/sdb. Phân vùng USB thường là /dev. /sdb1.

Cuối cùng thực hiện thao tác định dạng:

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

Lưu ý đặc biệt: Sau khi định dạng ổ cứng di động của bạn, mọi thứ trên đó sẽ bị xóa. Tốt nhất bạn nên tạo bản sao lưu trước khi định dạng.

6. Raspberry Pi tích hợp Aria2 và AriaNg offline tải xuống

Raspberry Pi tích hợp Aria2, AriaNg và Aria2 WebUI để tải xuống ngoại tuyến. Phương pháp này rất đơn giản Tham khảo: Cài đặt Aria2 trên VPS.

7. Thiết lập máy chủ FTP (vsftpd) trên Raspberry Pi

Nếu bạn sử dụng trình phát như Kodi, bạn có thể trực tiếp sử dụng SFTP để đăng nhập và duyệt tệp, nhưng chúng tôi cũng có thể sử dụng thông tin đăng nhập FTP để đọc tệp. Đầu tiên cài đặt vsftpd server trên Raspberry Pi (khoảng 400KB)

sudo apt-get install vsftpd

Bắt đầu dịch vụ ftp

sudo service vsftpd start

Chỉnh sửa file cấu hình của vsftdp

sudo nano /etc/vsftpd.conf

Tìm dòng sau và xác định nó

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

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

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

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

chroot_local_user=YES

Sửa đổi thư mục truy cập và thêm một dòng mới

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

Lưu ý: Quyền thư mục gốc của người dùng FTP là 555 (dr-xr-xr-x). Nếu quyền được đặt thành 777, bạn không thể đăng nhập.

Khởi động lại dịch vụ vsftpd

sudo service vsftpd restart

Kiểm tra nó, được rồi. Kết nối với hệ thống Raspberry Pi thông qua ftp, tên người dùng: pi, mật khẩu là Raspberry

8. Thiết lập máy chủ NAS (Samba) với Raspberry Pi

Cài đặt samba và samba-common-bin

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

Định cấu hình tệp /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                    #可写

Bắt đầu Khởi động lại

sudo smbd
sudo smbd restart

9. Kích hoạt card mạng không dây USB trên Raspberry Pi

Raspberry Pi 2 sử dụng Raspbain Jessie Với hệ thống chính thức PIXEL Raspberry Pi, dựa trên Debain 8, với giao diện đồ họa PIXEL, tải xuống phiên bản mới nhất: https://downloads.raspberrypi.org/raspbian_latest.

Sau khi thử nghiệm, phiên bản mới nhất của hệ điều hành Raspbain Jessie hỗ trợ wifi di động 360/Xiaomi/Baidu. Nếu có, bạn có thể cắm nó vào và sử dụng card mạng không dây USB.

10. Tóm tắt

Khi tôi đang xây dựng bộ lưu trữ NAS giá rẻ trên Raspberry Pi, vấn đề đầu tiên tôi gặp phải là vấn đề gắn ổ cứng di động. Mặc dù định dạng NFT mặc định có thể được gắn trên Raspberry Pi, vì đây là định dạng ổ cứng Windows. Không thể sửa đổi quyền trong Linux, điều này cuối cùng dẫn đến việc Aria2 không thể ghi dữ liệu vào đĩa cứng trong quá trình tải xuống ngoại tuyến.

Sau khi đi lòng vòng một vòng, cuối cùng tôi quyết định định dạng ổ cứng di động là Ext4 để Raspberry Pi có thể trực tiếp nhận dạng và gắn kết nó. Bạn có thể sử dụng Ext2 Volume Manager, Ext2Fsd và phần mềm khác để đọc đĩa cứng di động định dạng Ext4 trên Windows, hỗ trợ đọc và ghi trong hệ thống tệp Windows ext2/ext3.

Để lại một câu trả lời