Skip to content

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

Contributors

Languages