緣起:
我的筆電間要傳輸資料時,很常把 Raspberry Pi 的 samba
當成中繼站,電腦 A 傳到 pi 的 samba,然後電腦 B 再從 pi samba
上抓下來。後來想了想,為了傳那些暫時性的資料而消耗 USB
硬碟的壽命,好像超不值的,不是有 ramdisk 那種把 Ram
當成硬碟使用的功能嗎?再搭配 samba 允許匿名的連線,就不用登入
(好像有點不安全就是了),直接用 ram 來高速傳輸檔案,感覺很不錯,所以就在
N100 上裝了 samba,也設置了 ramdisk,換把 N100 當中繼站用。
Samba:
sudo apt install
samba,然後編輯
/etc/samba/smb.conf,要允許匿名存取的話,記得檢查有沒有 usershare allow guests = yes 跟 map to guest = Bad
User。然後加入下面的設定,儲存後用 sudo systemctl restart smbd 來重啟 samba
[Ramdisk]
path=/mnt/Ramdisk
writable = yes
guest ok = yes
read only = no
browseable = yes
create mask = 0777
directory mask = 0777
話說,我一開始在測試時,那路徑是在 /home/birdshiu/
下,用其它電腦的 files
工具試著連進去時,就看到鼠標瘋狂轉圈圈,一直無法連進去,後來去查,哦,好像是跟
Ubuntu 還 Samba 的資安有關,不開放分享存取 home
下的資料夾還什麼的,好吧,換個地方,就選 /mnt,新增個 Ramdisk
資料夾,然後權限直接給它 777,就 ok 了。
Ramdisk 開機自動掛載:
在 Linux 下要掛載 ramdisk,像我想掛載 8G 的 Ramdisk 到
/mnt/Ramdisk,可以下指令
sudo mount -t tmpfs -o size=8G tmpfs /mnt/ramdisk
然後用 df -h 查看
![]() |
有了 |
可以試著往 /mnt/Ramdisk
丢大型資料看看,它速度超快。這個掛載的設定重開機就沒了,所以要去修改
/etc/fstab,讓它開機時能自動掛載 Ramdisk。
mpfs /mnt/Ramdisk tmpfs rw,nodev,nosuid,size=8g 0 0
話說,每次改那個 fstab
都好怕,很常改好,儲存後重開機,結果多個空白讓格式不對,電腦就開不了機,我就要用
USB Ubuntu live 進去救。這次有學到,改好檔案,存檔後可以下 sudo mount
-a,如果 fstab 格式不對的話它會報錯。
python uploadserver:
在電腦上存取 samba
服務很方便,很多圖型化介面的檔案管理程式都有提供讓你在路徑列輸入
smb://{ip} 來存取 samba 的功能 (windows 是 \\{ip}),但在 android
手機上就很麻煩,至少我自己使用下來是如此,那些有 samba 功能的 app
都好難用,要填一堆有的沒的,重點是我填完後還連不上。
所以我後來就想到能架個簡單的網頁介面檔案管理服務,只要能瀏覽、上傳、下載就行,發現有
python 的工具能使用,叫 uploadserver,可以直接 pip 安裝,它基於
http-server 去改的,多了上傳檔案的功能。
我的 Ubuntu 預設沒 pip,所以要先安裝,然後再 pip 安裝
uploadserver 套件 (就不管那個 externally-managed-environment
的警告了,煩死)
sudo apt install python3-pip
python3 -m pip install --break-system-packages --user uploadserver
要讓 server 跑起來,用指令
python3 -m uploadserver -d /mnt/Ramdisk
用 -d 指定 server 的根目錄,然後再開瀏覽器輸入 127.0.0.1:8000 確認
沒有留言:
張貼留言