2022年9月11日 星期日

[Linux] 免費註冊 pCloud 獲得 500GB 空間 / 掛載 pCloud 空間進來使用 @ Docker - Ubuntu 22.04 Image

圖:pcloud.com 活動截圖 

pCloud 是瑞士的雲端空間服務,有在推 500GB/2TB/10TB 等終身付費服務,通常會隨著節慶推出 80% OFF 的方案(兩折),有興趣可以去逛逛粉絲團,像是註冊完一個免費帳號後 ( https://u.pcloud.com/#page=register&invite=cFRj7ZYwNRty 使用此連結註冊成功有機會送我1GB空間? ),接著再瀏覽 https://www.pcloud.com/zh/500GB_free 連結,可以啟用 3個月 500GB 免費方案 (這應該是限時活動,不知何時結束)

接著再來講講在 Linux/Ubuntu server 把 pCloud 網路空間用網芳的機制掛在進來,實作上是用 Filesystem in Userspace (FUSE) 機制。我在 Ubuntu 18.04 上,原本要安裝特定環境,但踩到 libudev-dev 安裝上的套件限制,想著想就改用 docker 來跑:

$ sudo docker run -i -t --privileged ubuntu:22.04

root@109661692d2c:/# 

# uname -a
Linux 109661692d2c 5.4.0-1082-oracle #90~18.04.1-Ubuntu SMP Mon Aug 15 16:42:41 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

# apt update

# apt-get install cmake zlib1g-dev libboost-system-dev libboost-program-options-dev libpthread-stubs0-dev libfuse-dev libudev-dev fuse build-essential git 


# cd ./console-client/pCloudCC/lib/pclsync/
# make clean && make fs
# cd ../mbedtls/ && cmake . && make clean && make 
# cd ../.. && cmake . && make && make install
# ldconfig
# which pcloudcc
/usr/local/bin/pcloudcc
# pcloudcc 
pCloud console client v.2.0.1
Username option is required!!!

以上就是編譯出 pCloud - pcloudcc 指令的過程,接著使用時,在 docker 裡可以靠 tmux or screen 來切換,在此用 screen (因為我已經先用 tmux 包一層 XD)

# apt install screen
# screen

screen 1# pcloudcc -u YourpCloudAccount           
pCloud console client v.2.0.1
Down: Everything Downloaded| Up: Everything Uploaded, status is LOGIN_REQUIRED
Please, enter password
logging in
Down: Everything Downloaded| Up: Everything Uploaded, status is CONNECTING
Down: Everything Downloaded| Up: Everything Uploaded, status is SCANNING
Down: Everything Downloaded| Up: Everything Uploaded, status is READY

如此,接著可以靠 screen 切另一個視窗

screen 2# df -h
Filesystem      Size  Used Avail Use% Mounted on
overlay          45G   38G  7.7G  84% /
tmpfs            64M     0   64M   0% /dev
tmpfs           487M     0  487M   0% /sys/fs/cgroup
shm              64M     0   64M   0% /dev/shm
pCloud.fs       500G  7.3G  493G   2% /pcloud

screen 2# tree /pcloud/
/pcloud/
|-- Getting\ started\ with\ pCloud.pdf
|-- My\ Music
|   |-- Demo\ Audio\ 2.mp3
|   |-- GotJoy.mp3
|   |-- Lovely\ Day.wav
|   `-- Momentum.mp3
|-- My\ Pictures
|   |-- friends.jpg
|   |-- happy-family.jpg
|   |-- in-the-sky.jpg
|   |-- lovers.jpg
|   |-- romance.jpg
|   `-- sweet.jpg
`-- My\ Videos
    `-- pCloud.mp4

3 directories, 12 files

最後,如果要打包目前 docker 的環境,要回到 host 上進行 commit :

$ sudo docker ps
CONTAINER ID   IMAGE          COMMAND   CREATED          STATUS          PORTS     NAMES
123456789012   ubuntu:22.04   "bash"    25 minutes ago   Up 25 minutes             eager_bardeen

$ sudo docker commit 123456789012 pcloudcc:1.0
sha256:daf74928ed5ef2ee7c8d158ecf066d2b0707a9c145df4829488e01bf3bda751b

$ sudo docker images
REPOSITORY           TAG       IMAGE ID       CREATED              SIZE
pcloudcc             1.0       daf74928ed5e   43 seconds ago       769MB

下次要使用時,再進入,可以省去重裝一堆東西:

$ sudo docker run -i -t --privileged pcloudcc:1.0
root@06bbad280e77:/# 

另外,若想跟 host 環境做綁定,可以用 sudo docker run -i -t --privileged -v ~/my_host_dir:/vm_dir cloudcc:1.0,把 host 端的目錄掛載進去 docker vm 中,可以在靠 rsync 等指令把檔案傳到 pCloud 空間上!在 Oracle VM - JP Region 上,上傳到 pCloud US region 的速度可以來到均速 20MB/s 上喔,算是非常不錯的品質

此外,pCloud 採用類似網芳方式 mount 進來使用,對於這些虛擬機器只有 20GB, 40GB 來說,可以瞬間擴大到 500GB 等空間,很舒服 XD 且不像使用 Dropbox 機制,佔用到本機空間的。

最後,補充一下關於 docker 使用,由於 pcloudcc 會使用 fuse 環境,因此要求更高權限:特權容器 (privileged container) ,這件事是有風險的,當 docker 裡頭運行的程式被黑了,有可能傷及到 host 環境,但無論如何,在 host 安裝環境本來也會有風險沒錯 XD 就留意一下即可

以上體驗後,再自行評估要不要拿來當虛擬機的備份用法囉!

沒有留言:

張貼留言