Τον υπολογιστή, το hardware γενικότερα, το πληρώσαμε αδρά, το λειτουργικό σύστημα είναι στα χέρια μας, αλλά η τεμπελιά να ανοίγεις πέντε διαφορετικά τερματικά για τα βασικά διαγνωστικά είναι δεδομένη.
Το script αυτό δεν είναι καμία πατέντα αιώνα, μια απλή ακολουθία από εντολές είναι που κυκλοφορεί χρόνια σε φόρουμ και κοινότητες (κάποιοι μπορεί να το θυμάστε από παλιότερα στο OSarena). Το μαζέψαμε, το κάναμε ανθρώπινο και πιο εμφανίσιμο.

Η διαδικασία:
Ανοίγεις έναν απλό κειμενογράφο (όχι Word, είπαμε, άνθρωποι είμαστε), πετάς μέσα τον παρακάτω κώδικα και αποθηκεύεις το αρχείο ως maintenance.sh:
#!/bin/bash
# === Έλεγχος root ===
if [[ $EUID -ne 0 ]]; then
echo "Πρέπει να τρέξεις το script με: sudo $0"
exit 1
fi
# === Χρώματα ===
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
RED='\033[0;31m'
NC='\033[0m'
step() { echo -e "\n${BLUE}$1${NC}"; }
ok() { echo -e "${GREEN}✅ $1${NC}"; }
warn() { echo -e "${YELLOW}⚠️ $1${NC}"; }
echo -e "${BLUE}=== Έναρξη συντήρησης: $(date) ===${NC}"
# === 1. Ενημέρωση συστήματος ===
step "🔄 Ενημέρωση πακέτων…"
apt update && apt upgrade -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"
ok "Ενημέρωση ολοκληρώθηκε."
# === 2. Καθαρισμός ===
step "🧹 Καθαρισμός cache πακέτων…"
apt autoclean && apt autoremove -y && apt clean
ok "Καθαρισμός ολοκληρώθηκε."
# === 3. Flatpak ===
step "📦 Flatpak cleanup…"
if command -v flatpak &>/dev/null; then
flatpak uninstall --unused -y 2>/dev/null || echo " (Κανένα αχρησιμοποίητο Flatpak)"
else
echo " (Flatpak δεν είναι εγκατεστημένο)"
fi
# === 4. TRIM SSD ===
step "💾 Έλεγχος TRIM SSD…"
systemctl enable --now fstrim.timer
fstrim -av
ok "TRIM ολοκληρώθηκε."
# === 5. SMART — dynamic detection ===
step "🔧 Έλεγχος SMART για δίσκους…"
if command -v smartctl &>/dev/null; then
# NVMe
for DEV in /dev/nvme?n1; do
[[ -e "$DEV" ]] || continue
echo -e "${YELLOW}NVMe: $DEV${NC}"
smartctl -H "$DEV"
smartctl -A "$DEV" | grep -i temperature || true
done
# SATA / USB
for DEV in /dev/sd?; do
[[ -e "$DEV" ]] || continue
echo -e "${YELLOW}Δίσκος: $DEV${NC}"
smartctl -H "$DEV" 2>/dev/null || smartctl -H "$DEV" -d sat 2>/dev/null || warn "Δεν υποστηρίζεται SMART για $DEV"
smartctl -A "$DEV" -d sat 2>/dev/null | grep -i temperature || echo " (Θερμοκρασία μη διαθέσιμη)"
done
else
warn "Το smartmontools δεν είναι εγκατεστημένο. (sudo apt install smartmontools)"
fi
# === 6. Αποτυχημένες υπηρεσίες ===
step "🛠️ Έλεγχος υπηρεσιών που απέτυχαν…"
systemctl --failed
# === 7. Top διεργασίες ===
step "🔍 Top 10 διεργασίες (CPU)…"
ps -eo pcpu,pmem,user,args --sort=-pcpu | head -11
# === 8. Logs ===
step "🧹 Καθαρισμός παλιών logs (>7 ημέρες)…"
journalctl --vacuum-time=7d
# === 9. Ενημερώσεις ασφαλείας ===
step "🔐 Έλεγχος ενημερώσεων ασφαλείας…"
if command -v unattended-upgrades &>/dev/null; then
unattended-upgrades --dry-run
else
warn "Το unattended-upgrades δεν είναι εγκατεστημένο."
fi
# === 10. Ταχύτητα δικτύου ===
step "🌐 Έλεγχος ταχύτητας δικτύου…"
if command -v speedtest-cli &>/dev/null; then
speedtest-cli --simple
else
warn "Το speedtest-cli δεν είναι εγκατεστημένο. (sudo apt install speedtest-cli)"
fi
# === 11. Inodes ===
step "📊 Χρήση inodes…"
df -i | grep '^/'
# === 12. Θερμοκρασίες ===
step "🌡️ Θερμοκρασίες…"
if command -v sensors &>/dev/null; then
sensors
else
warn "Το lm-sensors δεν είναι εγκατεστημένο. (sudo apt install lm-sensors)"
fi
# === 13. RAM & Swap ===
step "🧠 Χρήση RAM & swap…"
free -h
# === 14. Χώρος δίσκου ===
step "💿 Χώρος δίσκου…"
df -h | grep '^/'
# === 15. Ping router ===
step "🌐 Ping test router…"
ROUTER=$(ip route | awk '/default/ { print $3; exit }')
if [[ -n "$ROUTER" ]]; then
ping -c 3 "$ROUTER" || warn "Ο router ($ROUTER) δεν απαντά."
else
warn "Δεν βρέθηκε default gateway."
fi
echo -e "\n${GREEN}🎉 Συντήρηση ολοκληρώθηκε: $(date)${NC}"
echo "-------------------------------------------------------"
read -p "Πίεσε Enter για να κλείσει το παράθυρο..."
- Το αποθηκεύεις όπου σε βολεύει. (προσωπικά, το έχω πεταμένο σε έναν κρυφό φάκελο
.~apps στο /home μου, στον Προσωπικό φάκελο δηλαδή).
- Το κάνεις εκτελέσιμο με μια γρήγορη εντολή στο τερματικό:
chmod +x maintenance.sh η απλά με δεξί κλικ επάνω του -> Ιδιότητες και επιλέγεις να είναι εκτελέσιμο.
- Το τρέχεις όποτε θυμάσαι να ρίξεις μια ματιά στο σύστημά σου:
./maintenance.sh
Σε λίγα δευτερόλεπτα, ενημερώνεται, καθαρίζει, τσεκάρει θερμοκρασίες, δίσκους και δίκτυο χωρίς να χρειάζεται να θυμάσαι απ’ έξω ούτε τα autoremove ούτε τα sensors.