Ⅰ Linux系統設置U盤自動掛載
筆者在工作中遇到自動掛載U盤,於是在樹莓派和紅帽系統上研究了一下U盤實現自動掛載。總的來說,Linux gnome/kde窗口環境下有移動存儲的管理程序,可以實現自動掛載移動存儲設備,但是在命令行下 通常需要用mount命令手動掛載USB存儲設備。第二種方法有風險,第三種是設備管理服務udev添加規則實現自動mount,第四種方法則進一步封裝mount添加日誌功能。
Raspberry Pi中USB設備的自動掛載由基於LXDE的GUI / DE處理,具體來說,由文件管理器PCManFM控制。若要禁用此行為,請打開「文件管理器」,然後從「編輯」菜單中選擇「首選項」。選擇「卷管理」選項卡,取消選中第二個選項「掛載可移動介質...」 ,可以禁用第三個選項「顯示可用選項...」設置,以防止彈出窗口提示可用程序。
系統開機時會主動讀取/etc/fstab這個文件中的內容,根據文件裡面的配置掛載磁碟。使用檢查UUID: sudo blkid,顯示關於可用塊設備的信息, 查找您的設備(如 / dev / sda1 )並復制其UUID。此方法只限於開機時已經插入U盤了,開機後再插入就不發自動掛載,需要執行sudo mount -a命令。
在文件/ etc / fstab底部添加:UUID={YOUR-UID} {/path/to/mount/point} {file-system-type} defaults,errors=remount-ro 0 1
倒數第二是mp備份設置,當其值設置為1時,將允許mp備份程序備份;設置為0時,忽略備份操作。倒數第一是fsck磁碟檢查設置,其值是一個順序,當其值為0時,永遠不檢查;而 / 根目錄分區永遠都為1,其它分區從2開始,數字越小越先檢查。
修改後保存,關閉,重新啟動設備以檢查或鍵入: sudo mount -a 。mount -a 是自動掛載 /etc/fstab 裡面的東西,會忽略所有已經完成的操作。但是筆者認為在這裡面添加太過於危險,不要輕易操作這個文件,有可能造成系統無法開機。外部設備在插入時掛載,在未插入時忽略,不然無法進入系統,這需要添加 nofail 選項,但是操作這個文件不太方便,有其他剛好的方法。
文件種有兩種ACTION,add和remove。在U盤插入或者拔出時,自動激活mount和unmount,完成設備自動掛載。
KERNEL!="sd*", GOTO="media_by_label_auto_mount_end"
SUBSYSTEM!="block",GOTO="media_by_label_auto_mount_end"
IMPORT{program}="/sbin/blkid -o udev -p %N"
ENV{ID_FS_TYPE}=="", GOTO="media_by_label_auto_mount_end"
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="Untitled-%k"
ACTION=="add", ENV{mount_options}="relatime,sync"
ACTION=="add", ENV{ID_FS_TYPE}=="vfat", ENV{mount_options}="iocharset=utf8,umask=000"
ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", ENV{mount_options}="iocharset=utf8,umask=000"
ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}"
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}"
LABEL="media_by_label_auto_mount_end"
第三種方法中,mount或者unmount命令在實際運用中是無法記錄日誌的。在生產系統中就需要添加這個插入U盤和拔出U盤的動作,作為審核調查依據。將上面的mount -o或者unmount -l替換成usbhotplug.sh mount 和usbhotplug.sh unmount。
#!/usr/bin/bash
time=`date "+%Y%m%d"`
LOG_FILE="/home/pi/mount-usb-$time.log"
date=`date`
echo $date >> $LOG_FILE
CMD=$1
case $CMD in
'mount')
/bin/mkdir -p $4
echo "/bin/mkdir -p $4" >> $LOG_FILE
sleep 2
/bin/mount -o $2 $3 $4
echo "/bin/mount -o $2 $3 $4" >> $LOG_FILE
sync
echo "----------" >> $LOG_FILE
;;
'umount')
sync
/bin/umount -f $2
echo "/bin/umount $2" >> $LOG_FILE
sleep 2
/bin/rmdir $2
echo "/bin/rmdir $2" >> $LOG_FILE
echo "----------" >> $LOG_FILE
;;
esac
Ⅱ 樹莓派怎麼保存文件並退出
vi pathname 是打開或創建一個文件
在命令模式下保存文件:
wq 保存並且退出
w 只保存不退出
q 不保存退出 (只是進來看了一下沒改時退出用)
q! 不保存強制退出
wq! 保存並強制退出
樹莓派常用命令:
1、sudo raspi-config 初始化配置
2、startx 啟動圖形化界面
3、sudo rpi-update 升級系統
4、sudo reboot 重啟
5、sudo shutdown -h now 立即關機
6、sudo apt-get update 更新軟體源
7、sudo apt-get upgrade 更新已經安裝的軟體
8、sudo apt-get install XX 安裝XX軟體
9、su root 切換到root用戶
10、passwd user 設置user用戶的密碼
樹莓派資源管理命令:
1、top :查看系統的運行情況
2、free -m(-k, -g):查看內存分配情況
3、sudo df -h :查看磁碟使用情況
4、sudo -sh :查看當前目錄下的磁碟使用信息
樹莓派進程管理
1、ps :查看系統正在運行的進程
2、ps -ef | less :查看系統所有的進程,包括後台進程。
3、kill -<signal> <PID> 對進程做出一定的操作
註:* signal 1 (SIGHUP): hang-up的縮寫,該信號通知應用程序重新啟動
* signal 3 (SIGQUIT):該信號通知應用程序清理自身資源並退出
* signal 6 (SIGABRT):該信號通知應用程序終止並立即退出
* signal 9 (SIGKILL):該信號立即終止應用程序
* PID :應用程序的進程號,可以通過ps查看
文件管理
1、pwd :顯示當前的絕對路徑
2、cd :切換路徑
3、cd .. :切換到上級目錄
4、find :查找文件
註:參數解析
-L :表示啟動符號連接跟蹤,默認情況下是不會啟動的。
-maxdepth<number>: 該選項指定find命令最大的目錄查看深度,如果為1的話表示當前目錄文件和一級子目 錄文件。
-newer<file>:表示只查找指定文件的修改時間更新的文件
-empty:表示只查找空文件
-atime<number> :表示只查找距離上次訪問指定天數之後的文件
-name<filename>:表示搜索完全匹配指定文件名的文件
-exec<command>:指示find命令為每個匹配的文件路徑執行指定的命令。
Ⅲ 樹莓派可以用U盤啟動嗎
以下答案僅針對2016年4月10號之後出產的樹莓派3b是驗證有效的,其它版本請自測。
樹莓派3b是可以僅用U盤啟動,其「關鍵」在於U盤的品牌,實測「SanDisk」的U盤是可以的,其它品牌可以自測下(金士頓的U盤目前是無法實現的)。具體的操作流程如下:
1、安裝 Raspbian到SD卡中,並開啟USB啟動模式;
網上流傳了許多教程,可供參考。其實若是有電腦,一個簡單的方法就是,把sd卡插在電腦上,直接修改boot這個盤裡面的config.txt文件,在末端加上一句:program_usb_boot_mode=1 ,然後插入樹莓派中重啟。再用命令:vcgencmd otp_mp | grep 17 查詢,若顯示:17:3020000a ,則說明開啟成功。開啟成功後就可以將這段代碼刪除掉了。
2、安裝 Raspbian到U盤中(目前就發現SanDisk的U盤能成功啟動);
3、拔掉樹莓派上的SD卡,插上U盤,上電。
這里提醒一下,若是第一次玩樹莓派,用HDMI連接顯示器時無響應,可以考慮修改boot這個盤裡面的config.txt文件,將代碼「hdmi_safe=1」前面的「#」刪掉即可。
Ⅳ 樹莓派搭建文件伺服器
https://www.raspberrypi.org/downloads/raspberry-pi-os/
安裝 Etcher 之迅段後啟動 Etcher,插入 SD 卡、選擇要安裝的 img 文件、選擇 SD 卡對應的磁碟分區
https://www.balena.io/etcher/
① 新建一個ssh空白文件,放到root目錄下,樹莓派開機會自動啟用
② 網路優先選擇有線網路
③ 無線網路
將刷好 Raspbian 系統的 SD 卡用電腦讀取。在 boot 分區,也就是樹莓派的 /boot 目錄下新建
具體詳情看下面
https://shumeipai.nxez.com/2017/09/13/raspberry-pi-network-configuration-before-boot.html
方法1:利用路由器軟體查看IP地址
方法2:
ssh連接默罩昌激認用戶名:pi 密碼:raspberry
方法3:IP Scanner
1.切換 root許可權 sudo su
2.編輯下列文件
連物襪接raw.githubusercontent.com失敗
step1 :
在 https://site.ip138.com/raw.Githubusercontent.com/
輸入raw.githubusercontent.com查詢IP地址
step2 :
sudo nano /etc/hosts
你查到的ip地址,香港的就行 raw.githubusercontent.com
比如:
151.101.76.133 raw.githubusercontent.com
OpenMediaVault項目地址:
https://github.com/OpenMediaVault-Plugin-Developers/installScript
執行安裝腳本:
step1:
輸入樹莓派的IP地址
初始用戶名:admin
密碼:openmediavault
step2:
1.連接硬碟
2.文件系統—>卸載硬碟
3.磁碟—>擦除
4.文件系統—>新建 文件系統選擇EXT4
5.掛載—>應用
6.共享文件夾—>新建一個文件夾 設置許可權
7.SMB/CIFS —>啟用
8.共享—>添加共享
mac登陸
前往:連接伺服器 smb://樹莓派的ip地址
windows
我的電腦—>右鍵—>映射網路驅動器—>找到共享的文件夾
Ⅳ samba共享目錄設置為u盤掛載目錄問題解決
1、首先掛載U盤到樹莓派指定目錄:
2、samba服務配置與安裝
1)安裝衫轎samba
2)給samba配置賬戶:
3)啟或和肆動samba服務:
3、windows可以訪問samba目錄,也是就是U盤掛載目錄:
1)首先運棚纖行
2)結果:
Ⅵ 樹莓派3B—完全u盤啟動系統
使用該方法,以後安裝系統可以不再需要SD卡。當然存在SD卡時,啟動時還是優先啟動SD卡的系統。
但是需要藉助raspbian(2017-04-10及之後的版本)來打開該功能。
1、在/boot/config.txt里添加一行 program_usb_boot_mode=1
2、重啟,此時已經打開usb boot模式。
檢查方法,在終端執行:
vcgencmd otp_mp | grep 17:
並顯示如下信息,表示成功打開
17:3020000a
3、跟sd卡一樣,對u盤寫入系統,樹莓派插上u盤啟動即可(不需sd卡)
1、USB Boot Mode模式實質是向SOC里的OTP(One Time Programmable)設置修復位使之支持,該操作是不可逆的;
2、該模式僅支持樹莓派3B機型;
3、因為仍然優先檢測SD卡是否存在,所以usb boot會有5~10秒延遲來啟動usb設備;可以插上一張空白sd卡來減低延遲。
4、因為usb和網卡共用smsc lan9514晶元,所以該模式同時打開network boot模式,即允許通過網路安裝啟動系統;
5、不是所有u盤都兼容,因為u盤主控或晶元太多太雜或使用特殊主控,比如Kingston Data Traveller 100 G3 32G無法正常工作。官方測試工作良好的u盤:
1、 https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/msd.md
2、 https://www.raspberrypi.org/blog/pi-3-booting-part-i-usb-mass-storage-boot/
Ⅶ 求助:樹莓派 禁用u盤自動掛載 插入U盤時,圖形界面會有彈框,請問該如何禁用該功能,避免彈框
其實非常簡單。
只要在樹莓派的「文件管理器」中,在最上方菜單欄的「編輯」里打開「偏好設置」,然後點擊「卷管理」選項卡,裡面就有你想要的設置。將「在插入可移動媒質時顯示可用操作」前的勾去掉即可
Ⅷ 樹莓派常用命令
sudo raspi-config
startx
sudo rpi-update
sudo shutdown -h now
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install XX
su root
passwd user
sudo nano /etc/network/interfaces
ifconfig -a
sudo service networking restart
sudo iwlist wlan0 scan
gpio readall
sudo reboot
資源管理命令:
1、top :查看系統的運行情況
2、free -m(-k, -g):查看內存分配情況
3、sudo df -h :查看磁碟使用情況
4、sudo -sh :查看當前目錄下的磁碟使用信息
文件管理
1、pwd :顯示當前的絕對路徑
2、cd :切換路徑
3、cd .. :切換到上級目錄
4、find :查找文件