树莓派可以移动linux,树莓派学习笔记 篇三:树莓派4B 与移动存储设备的那些事儿...
樹莓派學(xué)習(xí)筆記 篇三:樹莓派4B 與移動(dòng)存儲(chǔ)設(shè)備的那些事兒
2019-11-24 23:03:55
39點(diǎn)贊
286收藏
14評(píng)論
本文是「樹莓派學(xué)習(xí)筆記」系列的第三篇,將學(xué)習(xí)下 Linux 系統(tǒng)分區(qū)的基礎(chǔ)知識(shí),在樹莓派上如何掛載與卸載外接的移動(dòng)存儲(chǔ)設(shè)備,不同分區(qū)格式的硬盤速度測(cè)試以及如何在一張 TF 卡上實(shí)現(xiàn)多系統(tǒng)啟動(dòng)。
1.SD 卡與 TF 卡
內(nèi)存卡是生活中很常見的一種存儲(chǔ)設(shè)備,之前常常分不清楚 SD 卡和 TF 卡的區(qū)別,SD 卡是 Secure Digital Card 的英文縮寫。TF 卡是 T-Flash 卡,被 SD 協(xié)會(huì)(SDA)采用之后,更名為 MicroSD ,此外移動(dòng)存儲(chǔ)設(shè)備還有 U 盤、移動(dòng)硬盤等等,以下對(duì) SD 和TF 不做嚴(yán)格區(qū)分。
2.Linux 分區(qū)
在樹莓派4B 中插入 USB 存儲(chǔ)設(shè)備后,它將自動(dòng)被掛載到 /media//下。桌面會(huì)顯示存儲(chǔ)設(shè)備的圖標(biāo),在文件瀏覽器里可以看到 U盤自動(dòng)掛載在 /media/pi 目錄下,可以用 ls /media/pi/SANDISK32GB/ 命令查看U盤中的文件。
在 Linux 看來(lái),任何硬件設(shè)備也都是文件,所有文件都放置在以根目錄為樹根的樹形目錄結(jié)構(gòu)中。根目錄下的 /dev 目錄文件負(fù)責(zé)所有的硬件設(shè)備文件,無(wú)論是裝系統(tǒng)的 TF 卡還是外接的移動(dòng)存儲(chǔ)設(shè)備,都可以在 /dev 目錄下查詢到。
當(dāng)在 Linux 系統(tǒng)中使用這些硬件設(shè)備時(shí),只有將 Linux 本身的文件目錄與硬件設(shè)備的文件目錄合二為一,硬件設(shè)備才能為我們所用。合二為一的過(guò)程稱為「掛載」。如果不掛載,通過(guò) Linux 系統(tǒng)中的圖形界面系統(tǒng)可以查看找到硬件設(shè)備,但命令行方式無(wú)法找到。當(dāng) U 盤插入 Linux 后,系統(tǒng)會(huì)給 U盤分配一個(gè)目錄文件(比如 sda1),就位于 /dev 目錄下(/dev/sda1),但無(wú)法通過(guò) /dev/sda1/ 直接訪問(wèn) U盤數(shù)據(jù)。
使用 lsblk -f 指令查看當(dāng)系統(tǒng)的分區(qū)情況,可以看到裝系統(tǒng)的 TF 卡有兩個(gè)分區(qū):mmcblk0p1 分區(qū)掛載在 /boot 目錄下,mmcblk0p2 分區(qū)掛載在根目錄下。插入的 U盤掛載在 /media/pi/SANDISK32GB 目錄下面,只有一個(gè)分區(qū) sda1。
mmcblk0p1 代表 MMC卡(SD前身)塊設(shè)備 0(Block0)第一分區(qū)(Peer1)
NAME : 塊設(shè)備名。
MAJ:MIN : 顯示主要和次要設(shè)備號(hào)。
RM : 顯示可移動(dòng)設(shè)備。0表示非移動(dòng)設(shè)備,1表示可移動(dòng)設(shè)備
SIZE : 塊設(shè)備的容量大小信息。
RO : 該項(xiàng)表明設(shè)備是否為只讀。0表示非只讀,1表示只讀
TYPE :塊設(shè)備類型,比如disk磁盤,part分區(qū),lvm邏輯卷,rom只讀存儲(chǔ)
MOUNTPOINT : 設(shè)備掛載點(diǎn)。
sdx~ 中用 “sd” 來(lái)表示分區(qū)所在設(shè)備的類型(sd 表示 SCSI 硬盤,hd 表示 IDE 硬盤)。“x” 表示盤號(hào)(a 為基本盤,b 為基本從屬盤,c 為輔助主盤,d 為輔助從屬盤)。“~“ 表示分區(qū),前四個(gè)分區(qū)用數(shù)字 1 到 4 表示,他們是主分區(qū)或擴(kuò)展分區(qū),從 5 開始就是邏輯分區(qū)。比如 sdb3 表示為第二個(gè) SCSI 硬盤上的第三個(gè)主分區(qū)或擴(kuò)展分區(qū)。
3.樹莓派掛載
上文中提到在樹莓派4B 中插入的 U盤默認(rèn)掛載在 /media/pi/ 目錄下面,可以使用 umount 命令先卸載。
可以看到 sda1 掛載點(diǎn)變成空的,圖形界面里桌面的硬盤圖標(biāo)也消失了,這時(shí)候是無(wú)法讀取 U盤里的文件內(nèi)容的。我們?cè)?/home 目錄下新建一個(gè) upan 的目錄
使用 sudo mount /dev/sda1 /home/upan 將 sda1 掛載到 upan 目錄下,這樣就可讀取 U盤了。
并不是根目錄下任何一個(gè)目錄都可以作為掛載點(diǎn),由于掛載操作會(huì)使得原有目錄中文件被隱藏,因此根目錄以及系統(tǒng)原有目錄都不要作為掛載點(diǎn),會(huì)造成系統(tǒng)異常甚至崩潰,掛載點(diǎn)最好是新建的空目錄。
這樣掛載的 U盤只有讀權(quán)限,沒有寫和執(zhí)行的權(quán)限,sudo chmod +x 也不起任何作用,是無(wú)法拷入文件或者執(zhí)行 U盤里的程序的。
掛載 FAT32 格式的硬盤:vfat 就是 Windows 系統(tǒng)中的 FAT32 格式,mount 本身就能支持,如果想要讀寫的話,掛載 U盤要加一些參數(shù):sudo mount -o rw /dev/sda1 /home/upan, -o 表示后面跟隨選項(xiàng),rw 是讀寫,這種寫法是 root 用戶有讀寫權(quán)限,如果當(dāng)前用戶是 pi,則這個(gè) upan 目錄是不能寫入的。因?yàn)?mount 命令是用 root 用戶身份執(zhí)行的,沒有定義用戶 pi 的讀寫權(quán)限。sudo mount -o uid=pi,gid=pi /dev/sda1 /home/upan,uid = pi,gid = pi 指定為用戶 “pi”,組標(biāo)識(shí)為 “pi”,則用戶 pi 可讀寫。
掛載 exFAT 格式的硬盤:如果你的 U盤或移動(dòng)硬盤使用的是 exFAT 格式,mount 會(huì)說(shuō)不支持。需要安裝下 exfat-fuse 軟件 sudo apt-get install exfat-fuse。
掛載 NTFS 格式的硬盤:默認(rèn)掛載 NTFS 格式的硬盤只有只讀權(quán)限,需要先安裝所需軟件包 sudo apt-get install ntfs-3g,然后加載內(nèi)核模塊 modprobe fuse ,重新插拔移動(dòng)硬盤就可以讀寫了。
4.fstab 自動(dòng)掛載
用命令行掛載重啟后會(huì)失效,通過(guò)修改 /etc/fstab 可以實(shí)現(xiàn)永久掛載。
fstab 文件結(jié)構(gòu)如下:#
/dev/sda1 / ext4 noatime 0 1
/dev/sda2 none swap defaults 0 0
/dev/sda3 /home ext4 noatime 0 2指系統(tǒng)中設(shè)備的名稱,可以用 lsblk -f 命令查看,proc 設(shè)備是一個(gè)虛擬設(shè)備,并不在磁盤中真實(shí)存在,而僅僅存在于內(nèi)存中,存儲(chǔ)有關(guān)進(jìn)程和系統(tǒng)的信息。
是分區(qū)類型,在 Linux 下面有 ext2,ext3,ext4,jfs,jfs2,reiserfs,reiser4,swap 等,在 Windows 下面有 FAT 和 NTFS 等,這里可以設(shè)置成 auto。
是相關(guān)的安裝選項(xiàng),noatime – 不更新文件系統(tǒng)上 inode 訪問(wèn)記錄,defaults – 使用文件系統(tǒng)的默認(rèn)掛載參數(shù),例如 ext4 的默認(rèn)參數(shù)為:rw, suid, dev, exec, auto, nouser, async。對(duì) Windows 下的 NTFS 和 FAT 文件系統(tǒng),還可以設(shè)置 uid=(掛載設(shè)備的指定用戶 id)、gid=(掛載設(shè)備的指定用戶群組 id)和 umask=(掛載設(shè)備的權(quán)限屏蔽)等, umask=0000 表示對(duì)所有人可讀可寫可執(zhí)行。
設(shè)置是否讓備份程序 dump 備份文件系統(tǒng)。此字段通常設(shè)置為 0,禁用檢查。
設(shè)置啟動(dòng)時(shí)文件系統(tǒng)檢查的順序。對(duì)于根設(shè)備應(yīng)該是 1,對(duì)于其他分區(qū)應(yīng)該是 2,或 0 禁用檢查。
我們?cè)?fstab 文件末尾加入’ /dev/sda1 /home/upan vfat defaults,noatime 0 0 ’來(lái)實(shí)現(xiàn)開機(jī)自動(dòng)掛載 U盤。視你的掛載設(shè)備而定, vfat 就是 Windows 系統(tǒng)中的 FAT32 格式,用樹莓派掛載移動(dòng)硬盤做 NAS 一般用 ntfs 格式,不確定類型可以設(shè)置成 auto。
有的時(shí)候把外接的存儲(chǔ)設(shè)備拔掉后,開機(jī)會(huì)無(wú)法正常引導(dǎo)進(jìn)入系統(tǒng),原因是開機(jī)時(shí)未找到 fstab 中指定的硬盤而報(bào)錯(cuò)。可以設(shè)置 nofail 選項(xiàng),這樣外部設(shè)備在插入時(shí)掛載,在未插入時(shí)忽略,啟動(dòng)時(shí)若設(shè)備不存在直接忽略它而不報(bào)錯(cuò)。將命令修改為‘ /dev/sda1 /home/udisk auto defaults,nofail,x-systemd.device-timeout=1,noatime,umask=0000 0 0 ’這樣不管 boot 階段有沒有接入移動(dòng)硬盤,都能正常啟動(dòng),而且你設(shè)置的掛載不會(huì)失效。不過(guò)這樣的話插入樹莓派的 U盤在圖形界面的桌面上不會(huì)有硬盤圖標(biāo),只能打開文件管理器訪問(wèn)。
5.樹莓派磁盤速度測(cè)試
安裝測(cè)試磁盤速度的軟件:sudo apt-get install hdparm
查看下三個(gè)要測(cè)試的磁盤設(shè)備:lsblk -f,其中 mmcblk0 為裝系統(tǒng)的 TF 卡(ext4 格式),sda1 為外接的閃迪 32GB U盤(vfat格式),sdb2 為外接的東芝 1T 移動(dòng)硬盤(ntfs)。
測(cè)試本地 TF 卡(ext4 格式)的讀寫速度:sudo hdparm -Tt /dev/mmcblk0 dd count=50 bs=1M if=/dev/zero of=~/test.img
測(cè)試外接 U盤(vfat 格式)的讀寫速度:sudo hdparm -Tt /dev/sda1 dd count=50 bs=1M if=/dev/zero of=/meida/udisk/test.img
測(cè)試外接移動(dòng)硬盤(ntfs 格式)的讀寫速度:sudo hdparm -Tt /dev/sdb1 dd count=50 bs=1M if=/dev/zero of=/media/pi/yingpan/test.img
從上述三個(gè)硬盤讀取速度測(cè)試可以看出 ntfs 格式的磁盤速度最低,Linux 讀寫 NTFS 效率差,ext4 格式讀寫速度能甩 ntfs 幾條街。
6.多系統(tǒng)啟動(dòng)
BerryBoot 是一款基于樹莓派的啟動(dòng)管理工具,在樹莓派上安裝 BerryBoot 的 multi-boot manager 可使在一張 SD 卡上實(shí)現(xiàn)多系統(tǒng)的選擇啟動(dòng),省去更換不同系統(tǒng) SD 卡的繁瑣。首先是在電腦上安裝 BerryBoot 到經(jīng)過(guò) FAT 格式格式化過(guò)的 SD 卡中,軟件自帶了一些樹莓派支持的系統(tǒng),點(diǎn)擊 Add OS 選擇相應(yīng)的系統(tǒng)就自動(dòng)下載安裝了。
當(dāng)你安裝 BerryBoot 中自帶的鏡像 Linux 系統(tǒng)版本時(shí)只需要點(diǎn)擊確認(rèn)即可。如果你想手動(dòng)添加系統(tǒng)到 BerryBoot系統(tǒng)啟動(dòng)項(xiàng)中,需要先用 SquashFS 編譯這個(gè) Linux 系統(tǒng)并獲得它的鏡像文件 .IMG,詳細(xì)過(guò)程見這篇文章使用BerryBoot使樹莓派支持多系統(tǒng)啟動(dòng) 。多個(gè)系統(tǒng)都安裝完成之后,樹莓派開機(jī)后會(huì)出現(xiàn) BerryBoot menu,通過(guò)鍵盤鼠標(biāo)就可以選擇要啟動(dòng)的系統(tǒng)版本了。
以上就是樹莓派上關(guān)于移動(dòng)存儲(chǔ)設(shè)備的掛載相關(guān)問(wèn)題了,都是些 Linux 的基本知識(shí),我只是照著網(wǎng)上各種教程實(shí)際在樹莓派4B 上操作了一番,分享給大家。下一篇文章中將介紹樹莓派的系統(tǒng)備份相關(guān)內(nèi)容,包括全卡備份和壓縮備份,感興趣的點(diǎn)個(gè)關(guān)注一起學(xué)習(xí)~
總結(jié)
以上是生活随笔為你收集整理的树莓派可以移动linux,树莓派学习笔记 篇三:树莓派4B 与移动存储设备的那些事儿...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 中国分省市县水土流失土地利用土壤侵蚀现状
- 下一篇: Linux解压torrent文件命令,l