blob: 519668f1b63244d170c0c3248ec0a51ff3ccd2d3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
#!/bin/bash
# Arch Linux Update + Cleanup Script
# Author: ChatGPT
# Usage: ./arch-update-cleanup.sh
set -euo pipefail
# --- Colors for nice output ---
GREEN="\e[32m"
YELLOW="\e[33m"
RED="\e[31m"
RESET="\e[0m"
echo -e "${GREEN}Starting Arch Linux update & cleanup...${RESET}"
echo
# --- Step 1: Update pacman database and system ---
echo -e "${YELLOW}Updating system packages...${RESET}"
sudo pacman -Syu --noconfirm
# --- Step 2: Remove unused dependencies ---
echo -e "${YELLOW}Removing unused dependencies...${RESET}"
sudo pacman -Rns $(pacman -Qtdq 2>/dev/null || echo "") || true
# --- Step 3: Clean pacman cache (keep 3 latest versions) ---
echo -e "${YELLOW}Cleaning package cache...${RESET}"
sudo paccache -r -k3
# --- Step 4: Update AUR packages (if yay installed) ---
if command -v yay >/dev/null 2>&1; then
echo -e "${YELLOW}Updating AUR packages...${RESET}"
yay -Syu --noconfirm
fi
# --- Step 5: Update Flatpak packages (if installed) ---
if command -v flatpak >/dev/null 2>&1; then
echo -e "${YELLOW}Updating Flatpak packages...${RESET}"
flatpak update -y
fi
# --- Step 6: Update Snap packages (if installed) ---
if command -v snap >/dev/null 2>&1; then
echo -e "${YELLOW}Updating Snap packages...${RESET}"
sudo snap refresh
fi
# --- Step 7: Optional cleanup: orphaned Flatpak runtimes ---
if command -v flatpak >/dev/null 2>&1; then
echo -e "${YELLOW}Removing unused Flatpak runtimes...${RESET}"
flatpak uninstall --unused -y
fi
echo
echo -e "${GREEN}System update & cleanup complete!${RESET}"
|