Se hai un sistema Debian (o derivato) e stai cercando un modo semplice ma efficace per ottimizzare le prestazioni, sei nel posto giusto. In questa guida ti mostrerò come creare ed eseguire uno script Bash personalizzato che applicherà diverse ottimizzazioni al tuo sistema: dalla rete alla memoria, dal disco all’avvio.

Cosa fa lo script?
Lo script che andremo a utilizzare:
- Aggiorna il sistema
- Riduce l’uso dello swap
- Ottimizza la rete
- Configura il file system per migliorare le prestazioni
- Disabilita servizi non necessari
- Abilita TRIM automatico (per SSD)
- Riduce i log del kernel
- Rimuove pacchetti inutili
- Personalizza GRUB per un avvio più veloce
Inoltre, se un comando non è disponibile, lo script lo segnala in rosso e prosegue con gli altri comandi, garantendo massima sicurezza.
Salvataggio script:
#!/bin/bash
# =============================
# === Script: Velocizzare Debian ===
# === Author: Cristian Gallo ===
# === License: OpenSource ===
# =============================
echo "🚀 Inizio ottimizzazione di sistema Debian..."
# Controllo permessi
if [ "$EUID" -ne 0 ]; then
echo -e "\e[31m❌ Questo script deve essere eseguito come root.\e[0m"
exit 1
fi
# Funzione per stampare una linea separatrice
sep() {
echo "------------------------------"
}
# Funzione per verificare se un comando esiste
command_exists() {
command -v "$1" >/dev/null 2>&1
}
# Funzione per eseguire un comando o segnalare che non esiste
safe_run() {
local cmd="$1"
local name="$2"
if command_exists "$cmd"; then
eval "$name"
else
echo -e "\e[31m❌ Comando mancante: $cmd - procedo con i comandi successivi\e[0m"
fi
}
# Aggiornamento del sistema
sep
echo "🔄 Aggiornamento del sistema..."
safe_run "apt" "apt update && apt upgrade -y"
safe_run "apt" "apt autoremove --purge -y"
# Configurazione swappiness
sep
echo "🧠 Ottimizzazione memoria (swappiness)..."
echo "vm.swappiness=10" >> /etc/sysctl.conf
sysctl -p
# Configurazione vfs_cache_pressure
echo "vm.vfs_cache_pressure=50" >> /etc/sysctl.conf
# Transparent HugePages (THP)
echo "transparent hugepages..."
if [ -f /sys/kernel/mm/transparent_hugepage/enabled ]; then
echo always > /sys/kernel/mm/transparent_hugepage/enabled
else
echo -e "\e[31m❌ THP non supportato o disabilitato nel kernel\e[0m"
fi
# Configurazione rete avanzata
sep
echo "🌐 Ottimizzazione rete..."
cat <<EOF >> /etc/sysctl.conf
net.core.somaxconn = 1024
net.core.netdev_max_backlog = 5000
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 87380 16777216
net.ipv4.tcp_congestion_control = bic
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_syncookies = 1
net.ipv4.ip_local_port_range = 1024 65535
EOF
sysctl -p
# Montaggio filesystem con noatime
sep
echo "💾 Ottimizzazione file system..."
if grep -q 'noatime' /etc/fstab; then
echo "noatime già configurato"
else
sed -i 's/defaults/defaults,noatime,nodiratime,discard/' /etc/fstab
fi
# Attivazione TRIM automatico
echo "🔁 Abilito TRIM automatico..."
safe_run "systemctl" "systemctl enable fstrim.timer"
safe_run "systemctl" "systemctl start fstrim.timer"
# Disabilita servizi inutili
sep
echo "🔌 Disabilito servizi non necessari..."
for service in ModemManager bluetooth cups NetworkManager-wait-online; do
if systemctl list-units --type=service | grep -q "$service"; then
systemctl disable "$service" &>/dev/null
systemctl stop "$service" &>/dev/null
echo "✅ Servizio $service disabilitato"
else
echo -e "\e[31m❌ Servizio $service non presente - saltato\e[0m"
fi
done
# Ottimizzazione GRUB (scheduler I/O + avvio veloce)
sep
echo "⚙️ Ottimizzazione GRUB..."
if [ -f /etc/default/grub ]; then
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="[^"]*/& elevator=deadline quiet splash/' /etc/default/grub
safe_run "update-grub" "update-grub"
else
echo -e "\e[31m❌ File /etc/default/grub non trovato - GRUB non configurato\e[0m"
fi
# Ridurre log level del kernel
echo "kernel.printk = 3 3 3 3" >> /etc/sysctl.conf
# Pulizia cache APT
sep
echo "🧹 Pulizia cache APT..."
safe_run "apt" "apt clean"
# Rimozione pacchetti inutili
echo "🗑 Rimozione pacchetti orfani..."
safe_run "deborphan" "apt install --yes deborphan && deborphan --guess-all | xargs apt purge -y"
# Fine
sep
echo -e "\e[32m✅ Ottimizzazione completata!\e[0m"
echo "👉 Riavvia il sistema per applicare tutte le modifiche:"
echo "sudo reboot"
- Lo script presentato in questa guida è stato redatto con il supporto di Qwen Chat e non è stato sviluppato autonomamente. Il contenuto della guida è puramente illustrativo e ha lo scopo di mostrare come alcune configurazioni avanzate su sistemi Debian Linux possano essere semplificate e rese accessibili anche agli utenti meno esperti o ai principianti.
Configurazione:
Copiare lo script e digitare nel terminale di debian Linux il seguente comando:
nano velocizzare_debian.sh

Dopo aver incollato il contenuto dello script (come mostrato negli screenshot), premete CTRL + X, digitate y per confermare il salvataggio e premete Invio per completare l’operazione.





Avvio:
Prima di avviarlo occorre avere i permessi per eseguirlo quindi dobbiamo digitare nel terminale il seguente comando:
sudo chmod +x ./velocizzare_debian.sh
Inserire la password dell’utente per confermare l’esecuzione con privilegi elevati. Nell’esempio, sto lavorando su Kali Linux all’interno di un ambiente virtuale; la password utilizzata è: kali
Ora occorre proprio digitare il comando per avviare lo script:
sudo ./velocizzare_debian.sh
Ecco i risultati nelle immagini che seguono:




Adesso vedrete quali comandi sono stati eseguiti e quali no, per via di eventuali comandi mancanti. Ma niente paura: lo script ha funzionato ed è partito correttamente!