机器初始化
linux
sudo apt update
sudo apt install -y tcpdump net-tools iptables wget nmap telnet man lsof ipvsadm ipset btop git ca-certificates tmux jq curl gpg file
cloud-init
#cloud-config
package_update: true
package_upgrade: true
packages:
- bridge-utils
- make
- cmake
- pkg-config
- build-essential
- wget
- net-tools
- inetutils-ping
- dnsutils
- vim
- unzip
- zip
- sysstat
- git
- iproute2
- ca-certificates
- telnet
- curl
- htop
- tcpdump
- gnupg
- lsb-release
- btrfs-progs
- libssl-dev
- m4
- gcc
- g++
- clang
- fuse
- tree
- iftop
- jq
- gpg
- man
- tmux
- traceroute
- ethtool
- lz4
- btop
- gh
- qemu-guest-agent
- supervisor
bootcmd:
- mkdir -p /opt/docker/cadvisor
- mkdir -p /opt/docker/node_exporter
write_files:
- path: /opt/docker/node_exporter/compose.yaml
owner: root:root
permissions: 0o755
defer: true
content: |
services:
node_exporter:
image: quay.io/prometheus/node-exporter:latest
container_name: node_exporter
command:
- '--web.listen-address=:10000'
- '--path.rootfs=/host'
network_mode: host
pid: host
restart: unless-stopped
volumes:
- '/:/host:ro,rslave'
- path: /opt/docker/cadvisor/compose.yaml
owner: root:root
permissions: 0o755
content: |
services:
cadvisor:
image: gcr.io/cadvisor/cadvisor:latest
container_name: cadvisor
privileged: true
devices:
- /dev/kmsg:/dev/kmsg
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
- /dev/disk/:/dev/disk:ro
ports:
- "10001:8080"
restart: unless-stopped
runcmd:
- install -m 0755 -d /etc/apt/keyrings
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
- chmod a+r /etc/apt/keyrings/docker.asc
- echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
- apt update
- apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- systemctl enable docker
- systemctl enable qemu-guest-agent
- systemctl start qemu-guest-agent
- systemctl start docker
- docker compose -f /opt/docker/node_exporter/compose.yaml up -d
- docker compose -f /opt/docker/cadvisor/compose.yaml up -d
users:
- default
- name: orange723
sudo: "ALL=(ALL) NOPASSWD:ALL"
groups: sudo, sys, root, adm, docker
shell: /bin/bash
homedir: /home/orange723
lock_passwd: true
ssh_authorized_keys:
- ssh-ed25519 AAAAC
no_ssh_fingerprints: true
ssh:
emit_keys_to_console: false
golang
# It is recommended to clear the `GOROOT`, `GOBIN`, and other environment variables before installation.
$ curl -sSL https://raw.githubusercontent.com/voidint/g/master/install.sh | bash
$ cat << 'EOF' >> ~/.bashrc
# Check if the alias 'g' exists before trying to unalias it
if [[ -n $(alias g 2>/dev/null) ]]; then
unalias g
fi
EOF
$ source "$HOME/.g/env"
$ g ls-remote stable
$ g install stable
node
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
$ nvm install --lts
$ nvm use --lts
使用 nvm 要注意多版本,比如 gemini 装到 A 版本 node,但目前是在用 B 版本 node,调用会提示找不到