UbuntuにおけるpCloudの自動マウント
pCloudが提供しているLinuxコマンドラインツールpcloudccを用いて、Ubuntu Server 22.04の起動時に自動マウントする手順を記す。
ライブラリと導入手順については以下のGitHubリポジトリに存在する。
- pcloudcom/console-client
https://github.com/pcloudcom/console-client
pcloudccのインストール
前提となるライブラリをインストールする。
sudo apt install -y cmake zlib1g-dev libboost-system-dev libboost-program-options-dev libpthread-stubs0-dev libfuse-dev libudev-dev fuse build-essential git
作業用ディレクトリ作成し、リポジトリをクローンする。
cd /tmp
mkdir console-client
git clone https://github.com/pcloudcom/console-client.git ./console-client/
ビルドおよびインストールをする。
cd console-client/pCloudCC/lib/pclsync/
make clean
make fs
cd ../mbedtls/
cmake .
make clean
make
cd ../..
cmake .
make
sudo make install
sudo ldconfig
インストールできたことを確認する。
pcloudcc
以下のように出力されたらOK。
pCloud console client v.2.0.1
Username option is required!!!
初期設定
pCloudのマウント先の設定
pCloudのマウント先を作成する。
ここではPCLOUD_MOUNT_DIR
とし、/pcloud
というディレクトリを作成するが、適宜置き換えてほしい。
PCLOUD_MOUNT_DIR=/pcloud
sudo mkdir ${PCLOUD_MOUNT_DIR}
なお、実行権限の問題も生じるので、置く場所によってはPCLOUD_MOUNT_DIR
の所有権も変更しておくとよいだろう。
PCLOUD_ADMIN=user01
sudo chown ${PCLOUD_ADMIN}:${PCLOUD_ADMIN} ${PCLOUD_MOUNT_DIR}
手動でのマウント
以下のコマンドにより、PCLOUD_MOUNT_DIR
に対してマウントされる。
ただし、PCLOUD_USERNAME
は、pCloudへのログインするアカウントとする。
PCLOUD_USERNAME=your@address
pcloudcc -p -u ${PCLOUD_USERNAME} -m ${PCLOUD_MOUNT_DIR}
以下の通り出力される。
pCloud console client v.2.0.1
Please, enter password
ここで、PCLOUD_USERNAME
に対応するパスワードを入力することにより、指定したPCLOUD_MOUNT_DIR
に対してマウントされるようになる。
マウントされたことを確認する。
ls ${PCLOUD_MOUNT_DIR}
マウントされたことを確認したら、Ctrl+Cで終了する。
パスワードの記憶
pCloudのログインパスワードは~/.pcloud/data.db
に格納させることで、随時の入力を省略することができるようになる。
これはpcloudcc
に-s
をつけることで、そのとき入力したパスワードを記録させることで実現される。
pcloudcc -p -s -u ${PCLOUD_USERNAME} -m ${PCLOUD_MOUNT_DIR}
いったんCtrl+Cで抜けて、以下のコマンドで再度ログインすればよい。
pcloudcc -u ${PCLOUD_USERNAME} -m ${PCLOUD_MOUNT_DIR}
手動でのアンマウント
ディレクトリの階層構成を確認の上実行すること。
pcloudcc -u ${PCLOUD_USERNAME} -k < <(printf "finalize")
サービス化の実行
サービス化を行う。
もし、pCloudのマウントがされている場合は、アンマウント等を行うこと。
以下の通り、pcloud.service
を記述する。
sudo vi /etc/systemd/system/pcloud.service
[Unit]
Description=pCloud mount
After=network-online.target
[Service]
Type=forking
User=${PCLOUD_ADMIN}
Group=${PCLOUD_ADMIN}
WorkingDirectory=/home/${PCLOUD_ADMIN}
ExecStart=/usr/local/bin/pcloudcc -u ${PCLOUD_USERNAME} -m ${PCLOUD_MOUNT_DIR} -d
ExecStop=/usr/local/bin/pcloudcc -u ${PCLOUD_USERNAME} -k < <(printf "finalize")
Restart=always
[Install]
WantedBy=multi-user.target
サービスの開始および有効化を行う。
sudo systemctl daemon-reload
sudo systemctl start pcloud
sudo systemctl enable pcloud
Discussion
とうとうコピーのコピー記事迄生まれてしまってワイ悲C
まぁ別にええんやけど2年以上VPS上でNAS運用してたらキャッシュサイズ肥大化し続ける問題に遭遇したから常用するなら早めにキャッシュの容量制限した方がええで
なんかごめんなさい。
経緯というか、経過をたどったんですね。
なにはともかく、キャッシュの制限の話につきましてもありがとうございます。
pCloudってナレッジがないのみならず、なにかが起きてからでないとその手の作業ってしないというのもあり、こういうことを教えていただけるのは本当にありがたいですし、非常に勉強になります。