Με αφορμή το πρόσφατο σπάσιμο στη δική μου αναβάθμιση λοιπόν, είπα να αυτοματοποιήσω λιγάκι τη διαδικασία με ένα απλό σκριπτάκι ώστε να μη χρειάζεται να ψάχνω τι έσπασε, τουλάχιστον όσον αφορά το βασικό προεγκαταστημένο σύστημα.
Και μιας που το έφτιαξα, το ποστάρω εδώ μήπως θελήσει να το χρησιμοποιήσει και κάποιος άλλος που θα βρεθεί σε παρόμοια θέση.
Το σκριπτάκι αυτό κάνει για όλα τα επίσημα flavours του Ubuntu (Ubuntu, Kubuntu, Xubuntu, Lubuntu, Ubuntu GNOME, Ubuntu MATE, UbuntuKylin, UbuntuStudio, Mythbuntu, Edubuntu).
Οι ενέργειες που κάνει είναι οι παρακάτω:
- Βρίσκει την έκδοση του λειτουργικού (πχ 14.04) και την αρχιτεκτονική του (64 ή 32 bit).
- Τρέχει κάποιες εντολές apt-get για την ενημέρωση και τον καθαρισμό του συστήματος.
- Κατεβάζει το αρχείο manifest της έκδοσης. Αυτό είναι ένα αρχείο που περιγράφει όλα τα προεγκαταστημένα πακέτα που θα έπρεπε να έχει το λειτουργικό.
- Επανεγκαθιστά όλα τα παραπάνω πακέτα.
Αυτό σημαίνει πως αν έχει σπάσει κάποιο κομμάτι από το βασικό σύστημα, αυτό θα επανεγκατασταθεί (ίσως να χρειαστεί να τρέξει το σκριπτ δύο φορές).
Παρακάτω το σκριπτ:
Spoiler: show
Για να το χρησιμοποιήσετε:
- Αντιγράφετε σε έναν κειμενογράφο τον κώδικα.
- Το σώζετε με ένα όνομα της επιλογής σας.
- Το μετατρέπετε σε εκτελέσιμο αρχείο.
- Μεταφέρεστε στον φάκελο που το αποθηκεύσατε.
- Τρέχετε το σκριπτάκι βάζοντας ως παράμετρο το flavour του λειτουργικού σας.
Για παράδειγμα, αν έχετε αποθηκεύσει το σκριπτάκι ως repair και έχετε εγκαταστημένο το Ubuntu GNOME. τότε δίνετε από το τερματικό την εντολή- Κώδικας: Επιλογή όλων
./repair ubuntu-gnome
Για όποιον βαριέται να αντιγράφει, μπορεί να κατεβάσει το σκριπτάκι από το αποθετήριο στο Github όπου βρίσκεται στον προσωπικό του φάκελο και να το χρησιμοποιεί από εκεί με την παρακάτω εντολή:
- Κώδικας: Επιλογή όλων
wget -O repair https://raw.githubusercontent.com/fkol-k4/generic_files/master/systemfiles-ubuntu/usr/local/bin/custom/custom_repair-basics; chmod +x repair
Για όποιον επιπλέον βαριέται να μεταφέρεται στον φάκελο με το script και θέλει να το εκτελεί από οπουδήποτε, με την παρακάτω το script θα κατέβει στο /usr/local/bin/ το οποίο βρίσκεται στο $PATH του λειτουργικού, οπότε πλέον καλείται από οπουδήποτε και χωρίς το πρόθεμα ./, δηλ. απλά με repair ubuntu-gnome:
- Κώδικας: Επιλογή όλων
sudo su -c 'mkdir -p /usr/local/bin; wget -O /usr/local/bin/repair https://raw.githubusercontent.com/fkol-k4/generic_files/master/systemfiles-ubuntu/usr/local/bin/custom/custom_repair-basics; chmod +x /usr/local/bin/repair'
Σημειώσεις:
- Το script δεν διορθώνει τα πάντα φυσικά, αλλά τα προεγκαταστημένα πακέτα καλύπτουν πολλές βασικές λειτουργίες οπότε μπορεί να χρησιμοποιηθεί για πολλές περιπτώσεις
- Μπορείτε να τρέξετε το σκριπτάκι στην εγκατάστασή σας ακόμα και αν δεν έχετε κανένα πρόβλημα. Δεν κάνει ζημιά στην εγκατάσταση, κατεβάζει όμως πολλά πακέτα και τα επανεγκαθιστά ένα-ένα οπότε είναι και αρκετά χρονοβόρο αλλά και ιντερνετοβόρο (sic), οπότε ίσως να θέλετε να το αποφύγετε
- Δώστε σαν παράμετρο το σωστό flavour. Αν πχ έχετε εγκαταστημένο Xubuntu, δώστε 'xubuntu' για παράμετρο. Αν δώσετε άλλο (πχ kubuntu), δεν θα διαγράψει μεν αυτό που ήδη έχετε, θα εγκαταστήσει όμως ολόκληρο το άλλο flavour. Εκτός αν θέλετε και τα δύο, οπότε τότε είναι εντάξει.
- Δυστυχώς μιας και για τις άλλες Ubuntu - based διανομές (πχ Linux Mint, elementaryOS κτλ) δεν βρήκα δημοσιευμένα αρχεία manifest, το script δεν γίνεται να λειτουργήσει γι αυτές. Επίσης δεν γίνεται να λειτουργήσει σε εγκαταστάσεις τις οποίες κάποιος έχει χτίσει κομμάτι-κομμάτι (τουλάχιστον όχι χωρίς κάποιες μετατροπές), αν και χρήστες με τέτοιες εγκαταστάσεις το χρειάζονται λιγότερο.
- Patches - bug reports are welcome!!!
- Το δημοσιεύω στα Γενικά μιας και δεν ξέρω που ακριβώς πρέπει να πάει (οδηγός δεν είναι και έργο λογισμικού δεν το λες κιόλας...). Αν βρείτε καλύτερη θέση, ξέρετε...