macOS All-In-One Update Script & Vedligeholdelses-workflow
For at holde en Mac opdateret, sikker og fri for unødvendig cache kræves normalt mange separate kommandoer. Ved at samle opdateringerne i ét samlet All-In-One Update Workflow kan hele maskinen vedligeholdes med en enkelt update-all-kommando i terminalen.
Inspireret af andmpel/macos-all-in-one-update-script ↗.
1. Hvad scriptet opdaterer
Scriptet scanner automatisk maskinen og opdaterer kun de værktøjer, der rent faktisk er installeret:
| Komponent | Hvad der udføres |
|---|---|
| Homebrew Formulae & Casks | brew update && brew upgrade && brew cleanup -s |
| Homebrew Sundhedstjek | brew doctor && brew missing |
| Mac App Store Apps | mas upgrade (kræver mas CLI installeret) |
| macOS Systemopdateringer | softwareupdate -ia --verbose |
| VS Code Udvidelser | code --update-extensions |
| Python CLI Værktøjer | pipx upgrade-all |
| Node / Rust / Ruby | npm -g update, cargo install-update -a, gem update (hvis installeret) |
2. Kloning fra Git & Opsætning af Alias
For at have scriptet liggende lokalt i din udviklingsmappe og altid kunne trække seneste opdateringer:
2.1 Klon repository:
mkdir -p ~/CloudStation/Develop/fromGIT
cd ~/CloudStation/Develop/fromGIT
git clone https://github.com/andmpel/macos-all-in-one-update-script.git
chmod +x macos-all-in-one-update-script/update-all.sh
2.2 Tilføj alias i ~/.zshrc:
Åbn din shell-konfiguration:
vi ~/.zshrc
Indsæt alias og eventuel opstartshjælp:
# ==========================================
# 🔄 All-In-One macOS Update Script
# ==========================================
alias update-all='~/CloudStation/Develop/fromGIT/macos-all-in-one-update-script/update-all.sh'
# Info ved ny terminal session (valgfrit)
echo -e "Run new script: update-all, to update machine+Apps"
Genindlæs konfigurationen:
source ~/.zshrc
3. Alternativ: Standalone Shell-funktion i ~/.zshrc
Hvis du ønsker en indbygget update() funktion uden afhængighed af en klonet git-mappe:
update() {
echo "=========================================="
echo "🚀 Starter macOS All-In-One System Update"
echo "=========================================="
if command -v brew >/dev/null 2>&1; then
echo -e "\n📦 Opdaterer Homebrew..."
brew update && brew upgrade && brew cleanup -s
echo "🔍 Kører Homebrew diagnostics..."
brew doctor || true
fi
if command -v mas >/dev/null 2>&1; then
echo -e "\n🍏 Opdaterer Mac App Store apps..."
mas upgrade || true
fi
if command -v pipx >/dev/null 2>&1; then
echo -e "\n🐍 Opdaterer pipx CLI-værktøjer..."
pipx upgrade-all || true
fi
if command -v code >/dev/null 2>&1; then
echo -e "\n💻 Opdaterer VS Code extensions..."
code --update-extensions || true
fi
if command -v softwareupdate >/dev/null 2>&1; then
echo -e "\n🖥️ Tjekker Apple systemopdateringer..."
softwareupdate -l || true
fi
echo -e "\n=========================================="
echo "✅ Alt er opdateret og ryddet op!"
echo "=========================================="
}
4. Forudsætninger (Valgfrie værktøjer)
For at få fuldt udbytte af App Store-opdateringer kan mas (Mac App Store CLI) installeres via Homebrew:
brew install mas
mas upgrade opdaterer kun programmer, du tidligere har downloadet/købt via din Apple ID på Mac App Store.5. Daglig brug
Når du vil vedligeholde din Mac, åbner du blot terminalen og skriver:
update-all
Scriptet kører sekventielt igennem alle dine pakkesystemer, opgraderer forældede binære filer og rydder downloads-cache op automatisk.