Skip to content

Une collection de scripts utiles pour l'administration, la configuration et la maintenance des systèmes Ubuntu et Debian.

License

Notifications You must be signed in to change notification settings

NDXDeveloper/ubuntu-debian-scripts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ubuntu Debian Scripts Collection

License: MIT Ubuntu Debian Shell

Une collection de scripts utiles pour l'administration, la configuration et la maintenance des systèmes Ubuntu et Debian.

🚀 Fonctionnalités

  • Installation automatisée : Scripts de post-installation et configuration d'environnement
  • Maintenance système : Nettoyage, mises à jour et optimisation
  • Configuration serveur : Nginx, Apache, bases de données, firewall
  • Utilitaires : Monitoring, sauvegarde, analyse de logs
  • Scripts de développement : Configuration d'environnements de développement

📋 Prérequis

  • Ubuntu 20.04+ ou Debian 11+
  • Bash 4.0+
  • Droits sudo pour certains scripts

🚀 Installation rapide

Installation automatique

# Cloner le repository
git clone https://github.com/NDXDeveloper/ubuntu-debian-scripts.git
cd ubuntu-debian-scripts

# Lancer l'installation
chmod +x install.sh
./install.sh

Le script d'installation va :

  • ✅ Créer le dossier ~/scripts
  • ✅ Copier tous les scripts dans ce dossier
  • ✅ Les rendre exécutables
  • ✅ Ajouter le dossier au PATH
  • ✅ Configurer votre environnement

Après l'installation, rechargez votre shell :

exec bash

Désinstallation

./uninstall.sh

📦 Scripts disponibles

📊 Administration Système (admin/)

check-updates - Vérification des mises à jour

Vérifie toutes les mises à jour disponibles sur votre système (APT, Snap, Flatpak).

Utilisation :

check-updates                    # Vérification complète
check-updates --summary-only     # Afficher uniquement le résumé
check-updates --security-only    # Uniquement les mises à jour de sécurité
check-updates --no-snap          # Ignorer Snap
check-updates --no-flatpak       # Ignorer Flatpak

update - Mise à jour automatique du système

Met à jour automatiquement tous les paquets du système avec options avancées.

Utilisation :

update                           # Mise à jour standard
update -s                        # Avec création de snapshot Timeshift
update --dist-upgrade            # Mise à jour avec gestion avancée des dépendances
update -l                        # Activer le logging
update --log-stats               # Voir les statistiques des logs
update --clean-logs              # Nettoyer les fichiers de log

Fonctionnalités :

  • ✅ Mise à jour APT (upgrade ou dist-upgrade)
  • ✅ Mise à jour Snap
  • ✅ Mise à jour Flatpak
  • ✅ Création de snapshot avant mise à jour (Timeshift)
  • ✅ Vérification de l'espace disque
  • ✅ Logging avec rotation automatique
  • ✅ Proposition de redémarrage si nécessaire

list-apps - Liste des applications installées

Affiche la liste complète des applications Flatpak et Snap installées avec détails.

Utilisation :

list-apps                        # Affiche toutes les applications

Affiche :

  • 📦 Applications Flatpak (nom, ID, version)
  • 📱 Applications Snap (nom, version, révision, éditeur)
  • 📊 Résumé avec total

list-scripts - Liste des scripts disponibles

Liste tous les scripts disponibles dans ~/scripts avec leurs informations.

Utilisation :

list-scripts                     # Liste simple
list-scripts -d                  # Liste détaillée
list-scripts -i <nom>            # Informations sur un script spécifique
list-scripts -r <nom>            # Exécuter un script interactivement
list-scripts -e <nom>            # Éditer un script
list-scripts --check             # Vérifier l'intégrité des scripts

add-scripts-to-path - Ajouter un dossier au PATH

Ajoute un dossier de scripts à votre variable PATH de manière permanente.

Utilisation :

add-scripts-to-path              # Ajoute ~/scripts au PATH
add-scripts-to-path ~/bin        # Ajoute un autre dossier
add-scripts-to-path --check      # Vérifier si un dossier est dans PATH

Supporte : Bash, Zsh, Fish

🧹 Maintenance Système (maintenance/)

system-deep-clean - Nettoyage avancé du système

Nettoyage en profondeur du système avec confirmation pour chaque action.

Utilisation :

system-deep-clean                # Mode interactif (recommandé)
system-deep-clean --dry-run      # Simulation sans suppression
system-deep-clean --auto         # Mode automatique (sans confirmation)

Ce qui est nettoyé :

  • 🗂️ Cache APT et paquets orphelins
  • 📱 Anciennes versions Snap
  • 📋 Logs système anciens (> 7 jours)
  • 💥 Rapports de crash
  • 🗑️ Fichiers temporaires
  • 📦 Cache des gestionnaires de paquets
  • 🌐 Cache des navigateurs (optionnel)

Sécurité :

  • Mode safe par défaut (demande confirmation)
  • Mode dry-run pour tester
  • Affichage de l'espace libéré
  • Logging optionnel

📁 Structure du projet

ubuntu-debian-scripts/
├── 📄 install.sh             # Script d'installation automatique
├── 📄 uninstall.sh           # Script de désinstallation
├── 📄 README.md              # Ce fichier
├── 📄 LICENSE                # Licence MIT
├── 📂 admin/                 # Scripts d'administration système
│   ├── check-updates.sh      # Vérification des mises à jour
│   ├── update.sh             # Mise à jour automatique du système
│   ├── list-apps.sh          # Liste des applications Flatpak/Snap
│   ├── list-scripts.sh       # Liste des scripts disponibles
│   └── add-scripts-to-path.sh # Ajouter un dossier au PATH
├── 📂 maintenance/           # Scripts de maintenance
│   └── system-deep-clean.sh  # Nettoyage avancé du système
└── 📂 docs/                  # Documentation additionnelle

🎯 Utilisation

Après l'installation, tous les scripts sont disponibles directement dans votre terminal (sans .sh) :

# Scripts d'administration
check-updates              # Vérifier les mises à jour
update                     # Mettre à jour le système
list-apps                  # Lister les applications installées
list-scripts               # Lister les scripts disponibles
add-scripts-to-path        # Ajouter un dossier au PATH

# Scripts de maintenance
system-deep-clean          # Nettoyage en profondeur

Exemple de workflow typique :

# 1. Vérifier les mises à jour disponibles
check-updates

# 2. Mettre à jour avec snapshot
update -s

# 3. Nettoyer le système
system-deep-clean

# 4. Vérifier les applications installées
list-apps

🛠️ Installation manuelle

Si vous préférez installer manuellement :

# 1. Créer le dossier
mkdir -p ~/scripts

# 2. Copier les scripts
cp admin/*.sh ~/scripts/

# 3. Rendre exécutables
chmod +x ~/scripts/*.sh

# 4. Ajouter au PATH dans ~/.bashrc
echo '' >> ~/.bashrc
echo '# scripts perso' >> ~/.bashrc
echo 'if [[ ":$PATH:" != *":$HOME/scripts:"* ]]; then' >> ~/.bashrc
echo '    export PATH="$HOME/scripts:$PATH"' >> ~/.bashrc
echo 'fi' >> ~/.bashrc

# 5. Recharger
exec bash

🤝 Contribution

Les contributions sont les bienvenues !

Comment contribuer :

  1. Fork le projet
  2. Créer une branche (git checkout -b feature/nouvelle-fonctionnalite)
  3. Commiter vos changements (git commit -am 'Ajout: nouvelle fonctionnalité')
  4. Pusher (git push origin feature/nouvelle-fonctionnalite)
  5. Ouvrir une Pull Request

Guidelines :

  • ✅ Testez sur au moins 2 distributions (Ubuntu + Debian)
  • ✅ Ajoutez une option --help à vos scripts
  • ✅ Utilisez des couleurs pour améliorer la lisibilité
  • ✅ Gérez les erreurs correctement
  • ✅ Documentez votre code avec des commentaires
  • ✅ Respectez le style de code existant

🐛 Bugs et suggestions

Vous avez trouvé un bug ou avez une suggestion ? Ouvrez une issue sur GitHub !

📝 Roadmap

Fonctionnalités à venir :

  • Script de sauvegarde automatique (backup)
  • Script d'installation d'environnement de développement
  • Script de configuration serveur web (Nginx/Apache)
  • Script de monitoring des ressources système en temps réel
  • Script de gestion avancée des logs
  • Script de configuration firewall (UFW)
  • Notifications desktop pour les mises à jour importantes
  • Script d'audit de sécurité
  • Interface TUI (Text User Interface) pour gérer tous les scripts
  • Export des rapports en HTML/PDF

📄 Licence

Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.

👨‍💻 Auteur

Nicolas DEOUX

🙏 Remerciements

  • La communauté Ubuntu/Debian pour la documentation
  • Tous les contributeurs du projet
  • Les mainteneurs de Snap et Flatpak

⚠️ Avertissement

Ces scripts peuvent modifier la configuration de votre système.

Recommandations :

  • Testez d'abord dans une machine virtuelle ou un environnement de test
  • Lisez le code avant d'exécuter (c'est du bash, c'est lisible !)
  • Faites des sauvegardes régulières
  • L'auteur n'est pas responsable des éventuels dommages

💡 Astuces

Créer des alias personnalisés

# Ajouter dans ~/.bashrc
alias maj='check-updates && update -s'           # Vérif + mise à jour avec snapshot
alias clean='system-deep-clean --dry-run'        # Simulation de nettoyage
alias apps='list-apps'                           # Lister les apps rapidement
alias scripts='list-scripts -d'                  # Liste détaillée des scripts

Vérifier les mises à jour au démarrage du terminal

# Ajouter dans ~/.bashrc
check-updates --summary-only

⭐ Si ce projet vous est utile, n'hésitez pas à mettre une étoile sur GitHub !

About

Une collection de scripts utiles pour l'administration, la configuration et la maintenance des systèmes Ubuntu et Debian.

Resources

License

Stars

Watchers

Forks

Languages