ユーザ用ツール

サイト用ツール


univ:環境構築オンプレ

文書の過去の版を表示しています。


環境構築

この夏休みに情報をまとめたい。
属性情報をひたすら抽象化することでこれを公開・理解の助けにする。
また、システム化することで現在の作業の効率化を目指す。


思想

なるべく外部サービスには依存しない。OSSが可能ならそちらを利用する。
理由はサービスにお金をかけてもいいが、持続性や維持費の面で安定性に欠けるからだ。
私は安定を求める。安定した基盤があってこそ賭けに出ることができるからだ。また次に進む可能性を手に入れられる。
自己改善する効率化をする。claude codeはこれ以外にもいけるのでは?

理想

朝6時に起きてトーストを食べてとコーヒーを飲む。
今日のやることを確認する。
お気に入りの服で身だしなみを整える。
落ち着いた状態で9時からやりたいことに取り組む。
陽が沈む前には帰ってリラックスする。
好きで栄養があるものを食べる。
体を洗って歯磨きをして綺麗な状態になる。
10時には眠くなって眠る。

こうなるためには無駄作業を効率化し、潜在的な作業さえ自動化する。

やりたいこと

  • revealjsのテンプレート化
  • リソース使用量の監視
  • 1. dotfiles with chezmoi

全OSで使える。設定をテンプレ化(OSごとに分岐できる)

chezmoi apply でホームディレクトリに適用

if .chezmoiignore
if_not_eq_.os_linux
.config/i3/
end

2. 同期フォルダ with Syncthing

全OS対応、P2P型でクラウド不要

~/Workspace など作業ディレクトリを常に同期

3. nix + home-manager(NixOS以外でも使える)

nix-darwin でmacOSでも使える

開発ツール、設定、エイリアスをNixで統一管理

{

programs.zsh.enable = true;
home.file.".config/nvim/init.lua".text = ''
  -- 共通設定ここに
'';

}

サーバー

今ある分散した機能をラズパイに集約する。
現環境の引っ越し及び今後の拡張性を考えた構成にする必要がある。

webpage

  • ブログ兼部活紹介サイト
  • 小説考察
  • ポートフォリオ
  • refixa
  • dokuwiki

application

  • chart8
  • AIchat
  • revealjs群

development

  • claude code
  • docker
  • nixで定義

OS

linux

管理などはubuntu,遊びや趣味ではarch,システム化はnixosで行う。
特に開発環境は再現性が欲しいためnixosで行うだろう。だが実装に時間がかかる。
一方archは手頃に試すことができる。ubuntuは安定性があるのでデプロイ先になると思う。

windows,mac

ゲームやアプリを使うときに利用すると思う。性能的にも高いものをこちらで利用することが多いだろう。

ストレージ

統一ストレージを目指す。全てのデータをクラウドに集約していつでもどこでも利用できるようにする。
利用するサービスはgoogle drive.
ディレクトリ構造を考える必要がある。またNASを構築してローカルバックアップや自動連携も考える必要がある。

password

1passwordに移行する

メールアドレス

[email protected]をバックアップメールアドレスとして各サービスで[email protected],[email protected],[email protected]を利用する。これにより各活動のフィルタリングを行う。
また、[email protected][email protected]の活用も考えれる。

ブラウザ

現在vivaldi,chrome,firefoxを利用している。
各ブラウザの最適化と利用プラグインのリスト化をする。
linux→firefox,chrome→モバイル端末、検証、vivladiのサブ、vivaldi→メインブラウザ
となっているが、設定や拡張機能、タブの蓄積が問題になっている。

sns

  • facebook/linkedin
  • instagram
  • twitter
  • discord/slack
  • blog,youtube,同人誌,スライド?

自分の情報のアウトプット先として以上がある。それぞれにどのような情報置くかは省略する。

名前と活動

自分の中でnatsu,fixus,angisで分けて考えているが、それぞれの活動をまとめる必要がある。公開してもいい。
natsu→日常や遊び
fixus→仕事
angis→趣味や研究

a

✅ 準備段階
1. 必要なファイルをダウンロード・配置

Debian Cloud Image(例:debian-13-nocloud-arm64.qcow2)を /var/lib/vz/template/ に配置

2. VMの新規作成(ID: 100、名前: debian)
sudo qm create 100 –name debian –memory 1024 –net0 virtio,bridge=vmbr0

3. qcow2 ディスクをVMに取り込む(rawに変換)
sudo qm importdisk 100 /var/lib/vz/template/debian-13-nocloud-arm64.qcow2 local

✅ Cloud-Initに対応する設定
4. ディスク接続
sudo qm set 100 –scsihw virtio-scsi-pci
sudo qm set 100 –scsi0 local:100/vm-100-disk-0.raw

5. ブートディスクに設定
sudo qm set 100 –boot c –bootdisk scsi0

✅ Cloud-Init設定ファイルの用意
6. cloud-config(user-data)を /var/lib/vz/snippets/cloud-config に保存(例):
#cloud-config
hostname: debian

users:

  1. name: mtdnot

sudo: ['ALL=(ALL) NOPASSWD:ALL']

  shell: /bin/bash
  ssh-authorized-keys:
    - ssh-rsa AAAAB3...yourkey...==

disable_root: true

package_update: false
package_upgrade: false

final_message: “Cloud-init finished. System is ready.”

network:

version: 2
ethernets:
  eth0:
    dhcp4: true

7. スニペットとしてVMに適用
sudo qm set 100 –cicustom “user=local:snippets/cloud-config”

✅ Cloud-Init ディスクの接続(SCSIに変更)
8. ide2 を削除して scsi1 に接続
sudo qm set 100 -delete ide2
sudo qm set 100 –scsi1 local:cloudinit

✅ 起動と接続
9. VM起動
sudo qm start 100

10. VMがIPを取得したらSSHで接続(公開鍵認証)
ssh -i ~/Downloads/my-key.pem mtdnot@<VMのIPアドレス>

🎯 ここまででできること

VMは自動でユーザー mtdnot が作られ、SSH鍵でログイン可能

Cloud-Initにより、ホスト名・ネットワーク・ユーザー設定が済んだ状態で起動

起動時に /var/log/cloud-init.log にログが残る

univ/環境構築オンプレ.1756106992.txt.gz · 最終更新: 2025/08/25 07:29 by angis

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki