لدي جهاز Raspberry Pi 2 وقرص صلب متنقل مجاني، وأفكر في استخدام Raspberry Pi والقرص الصلب المحمول لبناء NAS منخفض التكلفة. منذ فترة طويلة، كنت أواجه صعوبة في كيفية تنزيل Nextcloud وإنشائه دون الاتصال بالإنترنت، كما يعد تثبيت Aria2 على Raspberry Pi أمرًا بسيطًا للغاية.
بعد ذلك، قم بتثبيت القرص الصلب المحمول على Raspberry Pi، واستخدم Aria2 لتنزيل الموارد على القرص الصلب في وضع عدم الاتصال، ثم استخدم مشغل Kodi لقراءة خصائص الملفات الموجودة في خادم SFTP أو FTP أو HTTP وتشغيلها مباشرة على فيديو Raspberry Pi على القرص الصلب. اكتمل تخزين NAS المشترك للفيديو المنزلي البسيط.
في الاستخدام الفعلي، يعمل بشكل جيد. إذا لم يكن لديك المال لشراء جهاز تخزين NAS احترافي، فمن الجيد الاستفادة بشكل شامل من Raspberry Pi، والقرص الصلب المحمول، وكابل الشبكة، وما إلى ذلك، التي "تأكل الغبار". عملية تثبيت Raspberry Pi بسيطة للغاية، تتناول هذه المقالة بشكل أساسي بعض المشكلات التي واجهتها أثناء العملية، مثل تركيب القرص الصلب المحمول، وبطاقة شبكة USB اللاسلكية، وأذونات القراءة، وما إلى ذلك.
لمزيد من المقالات حول بناء وحدات تخزين الشبكة والأقراص السحابية، يمكن للأصدقاء المهتمين أيضًا قراءة:
- تقوم طريقة إنشاء التنزيل في وضع عدم الاتصال Nextcloud بدمج Aria2 وAriaNg وAria2 WebUI لتحقيق التنزيل في وضع عدم الاتصال
- تقوم Lsyncd بإنشاء Lsyncd الذي يستخدم مرآة المزامنة لتحقيق المزامنة في الوقت الفعلي بين الخوادم المحلية والبعيدة
- يقوم Linux VPS بتثبيت Google Drive وDropbox - ويحقق مزامنة بيانات مضيف VPS والنسخ الاحتياطي
1. أوامر تثبيت وإلغاء تثبيت برنامج Raspberry Pi
تم تخصيص النظام الرسمي لـ Raspberry Pi، Raspbain Jessie With PIXEL، بشكل عميق استنادًا إلى Debain 8، بحيث يمكنك استخدام الأوامر التي نستخدمها على Linux VPS مباشرة، على سبيل المثال، لا توجد مشكلة في إعداد بيئة LNMP. فيما يلي بعض الأوامر شائعة الاستخدام:
قائمة بالأوامر المناسبة شائعة الاستخدام
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 #-------检查是否有损坏的依赖
إذا واجهت أخطاء مثل السرعة البطيئة أو المصدر غير الموجود عند استخدام apt-get، فقد تحتاج إلى تغيير المصدر. يرجى الرجوع إلى الجزء الثاني من هذه المقالة (wzfou.com).
أمر الكفاءة
تعتبر aptitude، مثل apt-get، أداة قوية للغاية لإدارة الحزم في دبيان ومشتقاته. على عكس apt-get، فإن aptitude أفضل في التعامل مع مشكلات التبعية. على سبيل المثال، عندما يحذف aptitude حزمة ما، فإنه سيحذف أيضًا الحزم التي يعتمد عليها. بهذه الطريقة، لن تبقى الحزم غير المفيدة في النظام، وسيكون النظام بأكمله أكثر نظافة. فيما يلي بعض أوامر الكفاءة شائعة الاستخدام والتي لخصها المؤلف كمرجع فقط.
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 仅删除过期的包文件
بالطبع، يمكنك أيضًا استخدام aptitude في وضع واجهة النص.
حزمة ديب
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文件
يمكن إلغاء تثبيت تلك التي تم تثبيتها بواسطة dpkg باستخدام apt، والعكس صحيح.
2. كيفية تغيير مصدر تحديث Raspberry Pi
Raspberry Pi لا يمكن فتح مصدر التحديث الذي يأتي مع Raspberry Pi في الصين. يمكننا استبداله بصورة محلية. قم أولاً بتحرير الملف /etc/apt/sources.list، ويوصى بتحريره باستخدام أمر nano الذي يأتي مع النظام.
sudo nano /etc/apt/sources.list
أدخل إلى واجهة التحرير، واحذف المحتوى الأصلي، والصق المحتوى التالي:
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
تحديث قائمة فهرس البرامج
sudo apt-get update
مقارنة قوائم الفهرس لتحديث التبعيات
sudo apt-get upgrade -y
إضافي: بعد إكمال العملية المذكورة أعلاه، تحتاج أيضًا إلى التعليق على مصدر raspi.list في المجلد Resources.list.d. يمكن العثور على المزيد من مصادر المرآة هنا: http://www.raspbian.org/RaspbianMirrors
3. تمكين حساب تسجيل الدخول الجذر على Raspberry Pi
يمكن أن يؤدي تغيير مصدر تحديث Raspberry Pi إلى حل مشكلة تبعية البرنامج، ولكن في بعض الأحيان نحتاج إلى أذونات الجذر لتثبيت برنامج معين. عندما تكون امتيازات الجذر مطلوبة، يتم تنفيذها عبر Sudo بواسطة الحساب الافتراضي Raspbian على نظام Raspberry pi. اسم المضيف الافتراضي هو raspberrypi، والمستخدم الافتراضي هو pi، وكلمة المرور هي raspberry
للراحة، يوصى بتمكين حساب ROOT في أقرب وقت ممكن، ما عليك سوى تنفيذ الأمرين التاليين:
// أعد فتح حساب الجذر. يمكنك تسجيل الدخول كمستخدم pi. بعد تنفيذ هذا الأمر، سيطالبك النظام بإدخال كلمة المرور التي تريدها.
pi@raspberrypi:~$ sudo passwd root Enter new UNIX password: #输入第一遍密码 Retype new UNIX password: #输入第二遍密码
// تمكين تسجيل الدخول إلى حساب الجذر
pi@raspberrypi:~$ sudo passwd --unlock root passwd: password expiry information changed.
أدخل السطر الأول من الكود أعلاه والسطر الثاني هو الكود الذي يطالب بالخطأ. والسبب هو أن الإصدار الجديد من s-s-h يغلق تسجيل الدخول إلى الجذر افتراضيًا، ويمكنك تعديل ملف التكوين الخاص بـ s-s-h.
pi@raspberrypi:~$ sudo nano /etc/ssh/sshd_config
مفتاح الاختصار Ctrl + W للبحث عن PermitRootLogin بدون كلمة مرور، وتعديل PermitRootLogin بدون كلمة مرور إلى PermitRootLogin نعم، ومفتاح الاختصار Ctrl + O للحفظ، Ctrl + يا مفتاح الاختصار اخرج من محرر Nano. بعد التنفيذ، استخدم الأمر إعادة التشغيل لإعادة التشغيل، بحيث يمكن إلغاء قفل الحساب الجذر.
4. قم بتثبيت القرص الصلب المحمول أو قرص U يدويًا على Raspberry Pi
يمكن الآن لنظام التشغيل الذي يوفره موقع Raspberry Pi الرسمي تثبيت محرك أقراص ثابت محمول أو محرك أقراص USB محمول تلقائيًا. إذا كنت تستخدم نظام تشغيل آخر لا يمكنه التعرف على محرك الأقراص الثابتة أو محرك أقراص فلاش USB وتثبيته تلقائيًا، فيمكنك تثبيته يدويًا. عادةً ما نقوم بإنشاء دليل جديد ضمن الدليل /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 على حالتك الفعلية، ويمثل القرص الصلب الأول، ويمثل 1 القسم الأول.
قم بتثبيت محرك الأقراص الثابتة بتنسيق exFAT
يمكن أن يدعم Mount نفسه أقراص U بتنسيق FAT، ولكن إذا كان قرص U أو القرص الصلب المحمول الخاص بك يستخدم تنسيق exFAT، فسيقول Mount أنه غير مدعوم. لا يهم، سيتم دعم التثبيت بعد تثبيت برنامج exfat-fuse.
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 على حالتك الفعلية، ويمثل القرص الصلب الأول، ويمثل 1 القسم الأول.
umask=0000 0 0
أول أربع أصفار متاحة للجميع، قابلة للقراءة والكتابة وقابلة للتنفيذ.
آخر صفرين، الأول يمثل تفريغ، 0 يعني عدم وجود نسخة احتياطية
والثاني يمثل ترتيب فحص fsck، 0 يعني عدم التحقق
إلغاء التثبيت: sudo umount /mnt/myusbdrive
للتحقق من حالة التثبيت، استخدم الأمر التالي. cd /mnt/myusbdrive
، ثم: ls
5. عدم كفاية مصدر الطاقة لمحرك الأقراص الصلبة المحمول Raspberry Pi
عندما استخدمت Raspberry Pi 2 لتوصيل محرك أقراص ثابت محمول، واجهت مشكلة عدم كفاية مصدر الطاقة وكان المظهر الرئيسي هو أن التثبيت كان غير مستقر وأن القرص الصلب المحمول يعاني من "النقر". تشمل الحلول الحالية ما يلي:
طريقة الأجهزة: إن شراء USB-HUB يعادل توفير مصدر حالي للقرص الصلب المحمول.
طريقة البرنامج 1: تغيير تكوين Raspberry Pi، المسار هو: boot/config.txt، الذي يحتوي على بعض التكوينات الأولية لـ Raspberry Pi. فقط أضف max_usb_current=1 في النهاية. افتح الوحدة الطرفية، وأدخل إلى مجلد التمهيد، ونفذ الأمر التالي: sudo
nano config.txt
ثم أضف max_usb_current=1, ctrl+x للحفظ. أدخل إعادة التشغيل لإعادة التشغيل، وقم بتوصيل القرص الصلب المحمول، إذا لم يتم التعرف عليه، قم بتوصيله عدة مرات أخرى.
طريقة البرنامج 2: أضف Safe_mode_gpio=4 في نهاية الملف في طريقة البرنامج 1.
طريقة البرنامج 3: قم بتهيئة القرص الصلب المحمول الخاص بك إلى تنسيق ext، إما ext3 أو 4. بهذه الطريقة، يمكن التعرف على Raspberry Pi عند توصيله.
طريقة التنسيق هي كما يلي:
أولاً، إذا كان القرص الصلب المحمول مثبتًا بالفعل، فقم بإلغاء تحميله: sudo umount /xxxmnt/xxxusb_flash. ثم نفذ
sudo fdisk -l
للتحقق من الرقم التسلسلي لمحرك أقراص USB المحمول، والذي يكون عادةً /dev/sdb
. ويكون قسم USB عادةً /dev / إس دي بي 1.
وأخيرًا، قم بإجراء عملية التنسيق:
sudo mkfs.ext4 /dev/sda1 # 格式化为ext4分区
sudo mkfs.ext3 /dev/sda1 # 格式化为ext3分区
sudo mkfs.ext2 /dev/sda1 #格式化为ext2分区
ملاحظة خاصة: بعد تهيئة القرص الصلب الخاص بهاتفك المحمول، سيتم مسح كل شيء عليه ومن الأفضل عمل نسخة احتياطية قبل التهيئة.
6. يدمج Raspberry Pi تنزيل Aria2 وAriaNg دون اتصال بالإنترنت
يقوم Raspberry Pi بدمج Aria2 وAriaNg وAria2 WebUI لتحقيق التنزيل دون الاتصال بالإنترنت. الطريقة بسيطة للغاية: تثبيت Aria2 على VPS.
7. قم بإعداد خادم FTP (vsftpd) على Raspberry Pi
إذا كنت تستخدم مشغلًا مثل Kodi، فيمكنك استخدام SFTP مباشرةً لتسجيل الدخول وتصفح الملفات، ولكن يمكننا أيضًا استخدام تسجيل الدخول إلى FTP لقراءة الملفات. قم أولاً بتثبيت خادم vsftpd على Raspberry Pi (حوالي 400 كيلو بايت)
sudo apt-get install vsftpd
بدء خدمة بروتوكول نقل الملفات
sudo service vsftpd start
تحرير ملف التكوين vsftdp
sudo nano /etc/vsftpd.conf
ابحث عن السطر التالي وقم بتعريفه
anonymous_enable=NO
表示:不允许匿名访问
local_enable=YES
设定本地用户可以访问
write_enable=YES
设定可以进行写操作
local_umask=022
设定上传后文件的权限掩码
chroot_local_user=YES
تعديل دليل الوصول وإضافة سطر جديد
local_root=/var/www/
# anon_root=/var/www/tmp
# local_root 针对系统用户;anon_root 针对匿名用户
ملاحظة: إذن الدليل الجذر لمستخدم FTP هو 555 (dr-xr-xr-x). إذا تم تعيين الإذن على 777، فلن يتمكن المستخدم من تسجيل الدخول.
أعد تشغيل خدمة vsftpd
sudo service vsftpd restart
اختبره، حسنًا. الاتصال بنظام Raspberry Pi من خلال ftp، اسم المستخدم: pi، كلمة المرور هي raspberry
8. قم بإعداد خادم NAS (Samba) على Raspberry Pi
قم بتثبيت السامبا وسامبا المشترك
sudo apt-get install samba samba-common-bin
sudo apt-get install netatalk (可选,用于支持AFP)
sudo apt-get install avahi-daemon(可选,用于支持网内的计算机自动发现)
قم بتكوين الملف /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 #可写
ابدأ إعادة التشغيل
sudo smbd
sudo smbd restart
9. قم بتمكين بطاقة الشبكة اللاسلكية USB على Raspberry Pi
يستخدم Raspberry Pi 2 نظام Raspbain Jessie With PIXEL Raspberry Pi الرسمي، المستند إلى Debain 8، مع واجهة PIXEL الرسومية، قم بتنزيل أحدث إصدار: https://downloads.raspberrypi.org/raspbian_latest.
بعد الاختبار الذي أجريته، يدعم أحدث إصدار من نظام التشغيل Raspbain Jessie شبكة wifi المحمولة 360/Xiaomi/Baidu. إذا كان لديك واحد، فيمكنك توصيله واستخدام بطاقة الشبكة اللاسلكية USB.
10. ملخص
عندما كنت أقوم ببناء وحدة تخزين NAS منخفضة التكلفة على Raspberry Pi، كانت المشكلة الأولى التي واجهتها هي مشكلة تثبيت القرص الصلب المحمول. على الرغم من أنه يمكن تثبيت تنسيق NFT الافتراضي على Raspberry Pi، لأنه تنسيق قرص ثابت يعمل بنظام Windows. لا يمكن تعديل الأذونات في Linux، مما يؤدي في النهاية إلى عدم قدرة Aria2 على كتابة البيانات إلى القرص الصلب أثناء التنزيل دون الاتصال بالإنترنت.
بعد التجول في دائرة كبيرة، قررت أخيرًا تهيئة القرص الصلب المحمول كـ Ext4 حتى يتمكن Raspberry Pi من التعرف عليه وتثبيته مباشرة. يمكنك استخدام Ext2 Volume Manager وExt2Fsd وبرامج أخرى لقراءة القرص الصلب المحمول بتنسيق Ext4 على Windows، والذي يدعم القراءة والكتابة في نظام ملفات Windows ext2/ext3.