====== 📘 Linux で Hugo を snap からインストールする手順 ====== Hugo は高速な静的サイトジェネレーターで、Linux では **snap パッケージ**として提供されています。snap 版 Hugo は **strict confinement(厳密な隔離)**で動作するため、サイトの生成・ビルドは **ホームディレクトリまたはリムーバブルメディア上**で行う必要があります。 [[https://gohugo.io/installation/linux/|Hugo]] ---- ===== 🧩 1. snapd の準備 ===== 多くの Linux ディストリビューションでは snapd が標準で利用可能です。\\ 未導入の場合は以下でインストールします: sudo apt update sudo apt install snapd ---- ===== 🧩 2. Hugo(拡張版)を snap でインストール ===== Hugo の **extended edition(拡張版)**をインストールするには次を実行します: [[https://gohugo.io/installation/linux/|Hugo]] sudo snap install hugo > snap 版 Hugo は自動更新されます。 ---- ==== 📘 Hugo の snap インストールで stable が存在しない場合の推奨対応 ==== Raspberry Pi OS で出たエラー: error: snap "hugo" is not available on stable これは **Hugo の stable チャンネルが未提供**であることを示しています。\\ snap info を確認すると、現在利用可能なのは以下の 3 つです: * candidate * beta * edge 公式ドキュメントでも **snap install hugo** は内部的に extended 版を指しますが、\\ stable が無い場合は **candidate が最も安定度が高い**扱いになります。 ---- ===== 🧩 推奨されるインストール方法(candidate) ===== sudo snap install --candidate hugo ---- ===== 🧩 他のチャンネルを使う場合 ===== * **beta**:新機能が入る可能性があるが、安定性は candidate より低い * **edge**:開発版。日常利用には非推奨 sudo snap install --beta hugo sudo snap install --edge hugo ---- ===== 🧩 snap info でチャンネル状況を確認 ===== snap info hugo これで、現在のチャンネルの更新状況やバージョンが確認できます。 ---- ===== 🧩 3. 自動更新の制御(任意) ===== snap の自動更新を一時停止・再開できます: [[https://gohugo.io/installation/linux/|Hugo]] # 自動更新を停止 sudo snap refresh --hold hugo # 自動更新を再開 sudo snap refresh --unhold hugo ---- ===== 🧩 4. リムーバブルメディアへのアクセス制御(任意) ===== サイトを USB メディアなどに配置する場合は、Hugo にアクセス権を付与します: [[https://gohugo.io/installation/linux/|Hugo]] # アクセスを許可 sudo snap connect hugo:removable-media # アクセスを取り消し sudo snap disconnect hugo:removable-media ---- ===== 🧩 5. SSH鍵へのアクセス制御(任意) ===== GitHub Pages や CI/CD で SSH 鍵を利用する場合: [[https://gohugo.io/installation/linux/|Hugo]] # アクセスを許可 sudo snap connect hugo:ssh-keys # アクセスを取り消し sudo snap disconnect hugo:ssh-keys ---- ===== 📌 まとめ ===== ^項目 ^内容 ^ |インストール方法|''%%sudo snap install hugo%%'' | |エディション |snap 版は **extended edition** | |隔離モデル |strict confinement(ホーム or リムーバブルメディアで作業) | |自動更新 |''%%snap refresh --hold%%'' / ''%%--unhold%%''| |追加権限 |''%%removable-media%%'', ''%%ssh-keys%%'' |