azlin update¶
Update all development tools and AI CLI packages on azlin VMs.
Description¶
The azlin update command updates programming languages, build tools, and AI CLI assistants installed during VM provisioning. Keep development environments current with latest versions, security patches, and features.
Default timeout: 300 seconds per tool
Usage¶
Arguments¶
VM_NAME- VM to update (name, session, or IP)
Options¶
| Option | Description |
|---|---|
--timeout SECONDS | Command timeout (default: 300) |
--tools TEXT | Specific tools to update (comma-separated) |
--skip-ai | Skip AI CLI tools (GitHub Copilot, OpenAI Codex, Claude Code) |
--resource-group, --rg TEXT | Azure resource group |
-h, --help | Show help message |
Examples¶
Update All Tools (Default)¶
Output:
Updating development tools on 'my-dev-vm'...
Connecting to VM...
✓ Connected
Updating Node.js packages...
npm: 10.2.3 -> 10.2.4
✓ Updated
Updating AI CLI tools...
@github/copilot: 1.5.0 -> 1.6.0
@openai/codex: 2.1.0 -> 2.1.2
@anthropic-ai/claude-code: 3.2.0 -> 3.2.1
✓ Updated
Updating Python packages...
pip: 23.3.1 -> 23.3.2
uv: 0.1.5 -> 0.1.6
✓ Updated
Updating Rust toolchain...
rustc: 1.74.0 -> 1.74.1
cargo: 1.74.0 -> 1.74.1
✓ Updated
Updating Go toolchain...
go: 1.21.4 -> 1.21.5
✓ Updated
Updating Docker...
docker: 24.0.7 -> 24.0.8
✓ Updated
Updating GitHub CLI...
gh: 2.40.0 -> 2.40.1
✓ Updated
Updating Azure CLI...
az: 2.54.0 -> 2.55.0
✓ Updated
✓ Update complete!
Tools updated: 8
Time: 4m 32s
Update Specific Tools¶
Skip AI Tools¶
Update with Custom Timeout¶
Update by Session Name¶
What Gets Updated¶
Programming Languages & Runtimes¶
- Node.js: npm packages, global npm tools
- Python: pip, uv, astral-uv
- Rust: rustc, cargo via rustup
- Go: go toolchain
- .NET: dotnet SDK and runtime
AI CLI Tools¶
- GitHub Copilot CLI:
@github/copilot - OpenAI Codex CLI:
@openai/codex - Claude Code CLI:
@anthropic-ai/claude-code
Development Tools¶
- Docker: docker engine and CLI
- GitHub CLI: gh command
- Azure CLI: az command
- Git: git version control
NOT Updated¶
These require azlin os-update: - Ubuntu system packages - Linux kernel - System libraries
Common Workflows¶
Monthly Tool Updates¶
# Update all development VMs
for vm in $(azlin list --tag team=engineering --format json | jq -r '.[].name'); do
echo "Updating $vm..."
azlin update $vm --timeout 600
done
Synchronized Team Updates¶
# Ensure all team members have same tool versions
azlin update alice-dev
azlin update bob-dev
azlin update carol-dev
# Verify versions
azlin connect alice-dev
node --version && python3 --version && rustc --version
Pre-Project Updates¶
# Update tools before starting new project
azlin update my-vm
# Then start work
azlin connect my-vm
cd ~/projects/new-project
Selective Updates¶
# Update only languages used in project
azlin update backend-vm --tools python,rust,docker
azlin update frontend-vm --tools node,docker
Update Strategies¶
All-at-Once (Default)¶
Pros: Simple, complete Cons: Takes longer (2-5 minutes)
Tool-Specific¶
Pros: Faster, focused Cons: Other tools may become outdated
Skip AI Tools¶
Pros: Faster (save 30-60s) Cons: AI tools may be outdated
Performance¶
| Tools Updated | Update Time |
|---|---|
| All (8 tools) | 2-5 minutes |
| Core (no AI) | 1-3 minutes |
| Specific (2-3 tools) | 30-90 seconds |
| AI tools only | 30-60 seconds |
Times vary by network speed and available updates
Best Practices¶
Update Schedule¶
- Active development VMs: Weekly
- Staging VMs: Bi-weekly
- Production VMs: Monthly (with testing)
Version Synchronization¶
Keep team VMs in sync:
# Create update script
cat > ~/sync-team-tools.sh << 'EOF'
#!/bin/bash
for vm in alice-dev bob-dev carol-dev; do
echo "Updating $vm..."
azlin update $vm --timeout 600
done
echo "All team VMs updated!"
EOF
chmod +x ~/sync-team-tools.sh
./sync-team-tools.sh
Test After Updates¶
# Update
azlin update my-vm
# Test
azlin connect my-vm
node --version
python3 --version
rustc --version
docker --version
Troubleshooting¶
Update Timeout¶
Problem: Update times out.
Solution:
# Increase timeout
azlin update my-vm --timeout 900
# Or update manually
azlin connect my-vm
# Update tools individually
Tool Update Fails¶
Problem: Specific tool fails to update.
Solution:
# SSH and investigate
azlin connect my-vm
# Check tool-specific update
npm update -g # Node.js
rustup update # Rust
pip install --upgrade pip # Python
AI CLI Tools Fail¶
Problem: AI CLI tools won't update.
Solution:
# Skip AI tools for now
azlin update my-vm --skip-ai
# Update AI tools manually
azlin connect my-vm
npm update -g @github/copilot @openai/codex @anthropic-ai/claude-code
Version Conflicts¶
Problem: Tool versions incompatible.
Solution:
Version Verification¶
After updates, verify versions:
azlin connect my-vm
# Check key versions
echo "Node.js: $(node --version)"
echo "Python: $(python3 --version)"
echo "Rust: $(rustc --version)"
echo "Go: $(go version)"
echo "Docker: $(docker --version)"
echo "GitHub CLI: $(gh --version)"
echo "Azure CLI: $(az --version | head -1)"
# Check AI CLIs
npm list -g @github/copilot @openai/codex @anthropic-ai/claude-code
Related Commands¶
azlin os-update- Update Ubuntu system packagesazlin connect- SSH to VMazlin new- Provision VM with latest tools