私は 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 コマンドのリスト
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 と同様、Debian およびその派生製品の非常に強力なパッケージ管理ツールです。 apt-get とは異なり、aptitude は依存関係の問題の処理に優れています。たとえば、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 をテキスト インターフェイス モードで使用することもできます。
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文件
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
追加: 上記の操作を完了した後、sources.list.d フォルダー内の raspi.list のソースをコメント アウトする必要もあります。 その他のミラー ソースはここで見つけることができます: http://www.raspbian.org/RaspbianMirrors
3. Raspberry Pi で root ログイン アカウントを有効にする
Raspberry Piのアップデートソースを変更するとソフトウェアの依存関係の問題を解決できますが、特定のソフトウェアをインストールするにはRoot権限が必要な場合があります。 root 権限が必要な場合は、Raspberry pi システム上のデフォルトのアカウントである Raspbian によって sudo を介して実行されます。 デフォルトのホスト名は raspberrypi、デフォルトのユーザーは pi、パスワードは raspberry
便宜上、次の 2 つのコマンドを実行するだけで ROOT アカウントを有効にすることをお勧めします。
// root アカウントを再度開きます。このコマンドを実行すると、root パスワードを 2 回入力するよう求められます。
pi@raspberrypi:~$ sudo passwd root Enter new UNIX password: #输入第一遍密码 Retype new UNIX password: #输入第二遍密码
// rootアカウントでのログインを有効にする
pi@raspberrypi:~$ sudo passwd --unlock root passwd: password expiry information changed.
上記のコードの最初の行を入力すると、2 行目がエラーを引き起こすコードになります。その理由は、s-s-h の新しいバージョンではデフォルトで root ログインが閉じられるためです。s-s-h の設定ファイルを変更できます。
pi@raspberrypi:~$ sudo nano /etc/ssh/sshd_config
Ctrl + W ショートカット キーで PermitRootLogin without-password を検索し、PermitRootLogin without-password を PermitRootLogin yes に変更します。Ctrl + O ショートカット キーで保存、Ctrl + O ショートカット キー Nano エディターを終了します。 実行後、 reboot コマンドを使用して再起動し、root アカウントのロックを解除できるようにします。
4.モバイルハードディスクまたはUディスクをRaspberry Piに手動でマウントします。
Raspberry Pi 公式 Web サイトが提供するオペレーティング システムで、モバイル ハード ドライブまたは 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 は実際の状況によって異なります。a は最初のハードディスクを表し、1 は最初のパーティションを表します。
exFAT でフォーマットされたハードドライブをマウントする
マウント自体は FAT フォーマットの U ディスクをサポートできますが、U ディスクまたはモバイル ハードディスクが exFAT フォーマットを使用している場合、マウントはサポートされていないと表示します。関係ありません。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 は実際の状況によって異なります。a は最初のハードディスクを表し、1 は最初のパーティションを表します。
umask=0000 0 0
最初の 4 つの 0 は誰でも読み取り可能、書き込み可能、実行可能です。
最後の 2 つの 0、最初の 0 はダンプを表し、0 はバックアップなしを意味します
2 番目の 0 はバックアップなしを表しますfsck チェックの順序、0 はチェックしないことを意味します
アンインストール: sudo umount /mnt/myusbdrive
マウント状況を確認するには、以下のコマンドを使用します。 cd /mnt/myusbdrive
、次に: ls
5. Raspberry Piモバイルハードドライブへの電力供給が不十分です
Raspberry Pi 2 を使用してモバイル HDD を接続したとき、電源不足の問題が発生しました。主な症状は、取り付けが不安定で、モバイル HDD に「カチッ」という音が発生することでした。現在のソリューションには次のようなものがあります。
ハードウェア方式: USB-HUB を購入することは、モバイル ハードディスクに電流源を提供することと同じです。
ソフトウェア方法 1: Raspberry Pi 構成を変更します。パスは boot/config.txt で、これには Raspberry Pi の初期構成が含まれています。最後に max_usb_current=1 を追加するだけです。ターミナルを開き、ブート フォルダーに入り、次のコマンドを実行します: sudo
nano config.txt
次に、max_usb_current=1、ctrl+x を追加して保存します。 「reboot」と入力して再起動し、モバイル ハードディスクを接続します。認識されない場合は、さらに数回接続します。
ソフトウェア方法 2: ソフトウェア方法 1 のファイルの最後に、safe_mode_gpio=4 を追加します。
ソフトウェア方法 3: モバイル ハードディスクを ext フォーマット (ext3 または 4) にフォーマットします。このようにして、Raspberry Pi を接続すると認識できるようになります。
フォーマット方法は次のとおりです。
まず、モバイル ハードディスクがすでにマウントされている場合は、sudo umount /xxxmnt/xxxusb_flash によってアンマウントします。次に、
sudo fdisk -l
を実行して、USB フラッシュ ドライブのシリアル番号を確認します (通常は /dev/sdb
)。USB パーティションは通常 /dev です。 /sdb1.
最後に、フォーマット操作を実行します。
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. Raspberry Pi に FTP サーバー (vsftpd) をセットアップする
Kodi のようなプレーヤーを使用している場合は、SFTP を直接使用してログインしてファイルを参照できますが、FTP ログインを使用してファイルを読み取ることもできます。まず、Raspberry Pi に vsftpd サーバーをインストールします (約 400KB)
sudo apt-get install vsftpd
FTPサービスを開始する
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) に設定されている場合、ユーザーはログインできません。
vsftpdサービスを再起動します
sudo service vsftpd restart
テストしてみましょう。 ftp 経由で Raspberry Pi システムに接続します。ユーザー名: pi、パスワードは raspberry
8. Raspberry Pi で NAS サーバー (Samba) をセットアップする
samba と samba-common-bin をインストールする
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. Raspberry Pi で USB ワイヤレス ネットワーク カードを有効にする
Raspberry Pi 2 は Raspbain Jessie を使用します Debain 8 をベースにした PIXEL Raspberry Pi 公式システムと PIXEL グラフィカル インターフェイスを使用して、最新バージョンをダウンロードします: https://downloads.raspberrypi.org/raspbian_latest。
私のテストの結果、Raspbain Jessie オペレーティング システムの最新バージョンは 360/Xiaomi/Baidu ポータブル Wi-Fi をサポートしていることがわかりました。お持ちの場合は、USB ワイヤレス ネットワーク カードを接続して使用できます。
10. まとめ
Raspberry Pi で低コストの NAS ストレージを構築するときに最初に遭遇した問題は、モバイル ハードディスクのマウントの問題でした。デフォルトの NFT フォーマットは Windows のハードディスク フォーマットであるため、Raspberry Pi にマウントできます。 Linux では権限を変更できないため、最終的にはオフライン ダウンロード中に Aria2 がハードディスクにデータを書き込むことができなくなります。
堂々巡りをした結果、最終的にモバイルハードディスクをExt4としてフォーマットして、Raspberry Piが直接認識してマウントできるようにすることにしました。 Ext2 Volume Manager、Ext2Fsd などのソフトウェアを使用して、Windows 上で Ext4 フォーマットのモバイル ハードディスクを読み取ることができます。これは、Windows ext2/ext3 ファイル システムでの読み取りと書き込みをサポートします。