Καθαρισμός Ubuntu - script - log

...το μέρος για να ξεκινήσετε!

Συντονιστής: adem1

Κανόνες Δ. Συζήτησης
Παρακαλώ να επιλέξετε, με προσοχή, την άδεια που θέλετε να έχουν οι οδηγοί που συγγράφετε.
Πληροφορίες για τις άδειες μπορείτε να βρείτε εδώ.
Άμα επιθυμείτε κάποια άλλη άδεια επικοινωνήστε με κάποιο Διαχειριστή είτε Συντονιστή.

Σημαντικό είναι να χρησιμοποιήσετε την υπηρεσία http://imagebin.ubuntu-gr.org για τις εικόνες.

Καθαρισμός Ubuntu - script - log

Δημοσίευσηαπό Learner » 12 Ιούλ 2015, 00:27

Αυτός ο οδηγός θα σας βοηθήσει να διατηρείτε το Ubuntu σας καθαρό από άχρηστα(αχρείαστα) πακέτα. Δεν είναι κάτι άλλο από 3 απλές εντολές τις οποίες όμως θα τις τοποθετήσουμε μέσα σε ένα script, το οποίο θα εκτελείται μια φορά το μήνα αυτόματα.
Μέσω του script επιτυγχάνεται και καθαρισμός από παλαιούς πυρήνες.

Οι εντολές έχουν παρθεί από εδώ και το συγκεκριμένο script το χρησιμοποιώ εδώ και αρκετούς μήνες χωρίς κάποιο πρόβλημα.
Είναι εντολές γενικής χρήσης και (κατά τη γνώμη μου και εμπειρία μου από την χρήση τους) ακίνδυνες.

Ανοίγουμε ένα τερματικό και εκτελούμε με τη σειρά (μπορείτε να κάνετε τις εντολές copy-paste μια-μια από εδώ στο τερματικό σας).

Κώδικας: Επιλογή όλων
sudo gedit /etc/cron.monthly/cleansystem

Με την παραπάνω εντολή θα ανοίξει ο κειμενογράφος gedit κενός.

Κάνουμε copy-paste μέσα τα παρακάτω

Μορφοποιημένος Κώδικας: Επιλογή όλων
#!/usr/bin/env bash
LOG=/var/log/cleansystem.log
aptget=/usr/bin/apt-get
echo "" >> $LOG
echo "*** $(date -R) ***" >> $LOG
echo "" >> $LOG
$aptget --purge autoremove -y >> $LOG
$aptget autoclean -y >> $LOG
$aptget purge $(dpkg -l | awk '/^rc/ { print $2 }') -y >> $LOG
echo "" >> $LOG
exit 0


[UPDATE 1]
Προστέθηκε στις εντολές η παράμετρος "-y" , διαφορετικά δεν λειτουργεί όπως πρέπει το script.
[UPDATE 2]
Αντικαταστάθηκε η sudo apt-get με $(which apt-get). Η sudo δεν χρειάζεται καθώς εκτελείται ούτως ή άλλως με δικαιώματα διαχειριστή μέσα στο /etc/cron.monthly/ , ενώ για να μην γίνει κάποιο μπέρδεμα με τα relative / absolute paths, η $(which apt-get) είναι καλύτερη.
[UPDATE 3]
Αντικατάσταση της $(which apt-get) με την $aptget.

Αποθηκεύουμε (save) το αρχείο και έπειτα εκτελούμε στο τερματικό
Κώδικας: Επιλογή όλων
sudo chmod 755 /etc/cron.monthly/cleansystem


Αυτό ήταν.
Πλέον, μια φορά το μήνα θα εκτελείται το script στο παρασκήνιο και τα αποτελέσματα θα καταγράφονται στο /var/log/cleansystem.log

Αν θέλετε να το δοκιμάσετε από τώρα εκτελέστε στο τερματικό
Κώδικας: Επιλογή όλων
sudo /etc/cron.monthly/cleansystem

Και μετά δείτε τα αποτελέσματα με
Κώδικας: Επιλογή όλων
cat /var/log/cleansystem.log
Τελευταία επεξεργασία από Learner και 13 Ιούλ 2015, 11:48, έχει επεξεργασθεί 4 φορά/ες συνολικά
Αιτία: [UPDATE 3]
About Me
NickTux@GitHub

Spoiler: show
1. Ubuntu 18.04 LTS
2. Intel Core i3 CPU M 380 2.53GHz ‖ RAM 6GB ‖ Acer Aspire 5733
3. Intel Integrated Graphics [8086:0046] {i915}
4. wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01)
Άβαταρ μέλους
Learner
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 9765
Εγγραφή: 08 Νοέμ 2010, 21:24
Τοποθεσία: Αθήνα
Launchpad: nicktux
IRC: NickTux
Εκτύπωση

Re: Καθαρισμός Ubuntu - script - log

Δημοσίευσηαπό George Pantelis » 12 Ιούλ 2015, 00:34

Ωραίος! :clap:
1 Γνώσεις Linux: Μέτριες ┃ Προγραμματισμού: Οχι ┃ Αγγλικών: Αριστο
2 EndeavourOS KDE plasma / Gnome, Ubuntu 22.04 5.15.0-30-generic 64bit (el_GR.UTF-8,Gnome ubuntu), Arch linux (VM)
3 Intel Core2 Duo CPU P8400 2.26GHz ‖ RAM 3908 MiB ‖ Dell Inc. 0F328M - Dell Inc. Latitude E6500
4 Intel Mobile 4 Series Chipset Integrated Graphics [8086:2a42] {i915
5 eth0: Intel 82567LM Gigabit Network Connection [8086:10f5] (rev 03) ⋮ wlan0: Intel WiFi Link 5100 [8086:4232]
Άβαταρ μέλους
George Pantelis
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 977
Εγγραφή: 23 Νοέμ 2013, 19:24
Τοποθεσία: Xαλκίδα
Launchpad: George Pantelis
Εκτύπωση

Re: Καθαρισμός Ubuntu - script - log

Δημοσίευσηαπό proffess77 » 12 Ιούλ 2015, 01:01

Εξαιρετικα !! Τα σεβη μου :D :D
UBUNTU 14.04 LTS 64bit
Intel Core i3-4030U CPU @ 1.90GHz × 4 ‖ RAM 3.8 GiB ‖ DELL inspiron 3542
Intel® Haswell Mobile Integrated Graphics
proffess77
babeTUX
babeTUX
 
Δημοσιεύσεις: 30
Εγγραφή: 25 Φεβ 2015, 21:41
Εκτύπωση

Re: Καθαρισμός Ubuntu - script - log

Δημοσίευσηαπό Logan » 12 Ιούλ 2015, 04:44

Μπράβο Νικ! :thumbup:
1 Γνώσεις Linux: όχι και μιάου! ┃ Προγραμματισμού:Ε.. ┃ Αγγλικών: Μέτρια
2 Arch Linux Gnome 4χχ
3 Intel Core i5-3210M CPU @ 2.50GHz ‖ RAM 7.7 GiB |
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915} ⋮ Advanced Micro Devices, Inc. [AMD/ATI] Thames [Radeon HD 7500M/7600M Series] [1002:6840] {radeon}
Refugees Welcome
Άβαταρ μέλους
Logan
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 816
Εγγραφή: 25 Νοέμ 2013, 19:42
Launchpad: loganlettuce
IRC: LoganL
Εκτύπωση

Re: Καθαρισμός Ubuntu - script - log

Δημοσίευσηαπό konnn » 12 Ιούλ 2015, 10:11

Logan έγραψε:Μπράβο Νικ! :thumbup:
1 Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Προχωρημένος
2 Desktop : Ubuntu 16.04 64bit
a Intel Core i3 CPU 530 2.93GHz ‖ RAM 3824 MiB ‖ Intel DH55HC -
b nVidia Device [10de:1040] (rev a1)
c eth0: Intel 82578DC Gigabit Network Connection
3 Notebook : Ubuntu 16.04 64 bit
a Intel Core i3-2365M CPU @ 1.40GHz ‖ RAM 3854 MiB ‖ LENOVO 20197
b Intel 2nd Generation Core Processor Family Integrated Graphics Controller
c 5 wlan0: Intel Centrino Wireless-N 2230 ⋮ eth0: Realtek RTL8101E/RTL8102E

Αυτόματη υπογραφή.
Άβαταρ μέλους
konnn
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 3568
Εγγραφή: 12 Ιούλ 2010, 17:54
Τοποθεσία: Καλαμάτα
Launchpad: konnn
Εκτύπωση

Re: Καθαρισμός Ubuntu - script - log

Δημοσίευσηαπό melitz » 12 Ιούλ 2015, 10:35

You should add a "-y" at the end of every line cause it gets stuck waiting for input. Like this:

sudo apt-get --purge autoremove -y >> $LOG
sudo apt-get autoclean -y >> $LOG
sudo apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }') -y >> $LOG

Nice Job! :-)
melitz
babeTUX
babeTUX
 
Δημοσιεύσεις: 1
Εγγραφή: 05 Ιουν 2011, 17:39
Εκτύπωση

Re: Καθαρισμός Ubuntu - script - log

Δημοσίευσηαπό Learner » 12 Ιούλ 2015, 13:11

melitz έγραψε:You should add a "-y" at the end of every line cause it gets stuck waiting for input. Like this:

sudo apt-get --purge autoremove -y >> $LOG
sudo apt-get autoclean -y >> $LOG
sudo apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }') -y >> $LOG

Nice Job! :-)


Great and correct observation. Fixed.
Thanks.
About Me
NickTux@GitHub

Spoiler: show
1. Ubuntu 18.04 LTS
2. Intel Core i3 CPU M 380 2.53GHz ‖ RAM 6GB ‖ Acer Aspire 5733
3. Intel Integrated Graphics [8086:0046] {i915}
4. wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01)
Άβαταρ μέλους
Learner
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 9765
Εγγραφή: 08 Νοέμ 2010, 21:24
Τοποθεσία: Αθήνα
Launchpad: nicktux
IRC: NickTux
Εκτύπωση

Re: Καθαρισμός Ubuntu - script - log

Δημοσίευσηαπό Th P » 12 Ιούλ 2015, 17:00

Τα συγχαρηρήρια κι` από μένα!

Ερώτηση (μιας και δεν σκαμπάζω από κώδικα):

Θα μπορούσε το -y να είναι και σε συνεχόμενες εντολές στο συγκεκριμένο script;

πχ:



Κώδικας: Επιλογή όλων
#!/usr/bin/env bash
    LOG=/var/log/cleansystem.log
    echo "" >> $LOG
    echo "*** $(date -R) ***" >> $LOG
    echo "" >> $LOG
    $(which apt-get) sudo apt-get --purge autoremove
    -y sudo apt-get -y clean && sudo apt-get -y autoclean && sudo apt-get -y autoremove
    -y aptitude search '~c' -F '%p' | xargs -n 30 sudo aptitude -y purge
    -y purge $(dpkg -l | awk '/^rc/ { print $2 }') -y >> $LOG
    echo "" >> $LOG
    exit 0

Επίσης στο τέλος μήπως θά έπρεπε να μπει και το
Κώδικας: Επιλογή όλων
sudo apt-get update
;

Φιλικά
Θανάσης Π.
Σταθερή είναι η διανομή που προσπαθείς ανεπιτυχώς να κρασσάρεις
Linux: Low┃Προγραμματισμός: No┃Αγγλικά: Good
Είμαι αναλφάβητος, ανιστόρητος και άξιος της μοίρας μου
Άβαταρ μέλους
Th P
powerTUX
powerTUX
 
Δημοσιεύσεις: 1981
Εγγραφή: 02 Μάιος 2009, 10:46
Τοποθεσία: Θεσσαλονίκη
IRC: ThP1
Εκτύπωση

Re: Καθαρισμός Ubuntu - script - log

Δημοσίευσηαπό Learner » 12 Ιούλ 2015, 17:18

Th P έγραψε:Θα μπορούσε το -y να είναι και σε συνεχόμενες εντολές στο συγκεκριμένο script;

Αν θέλεις να κάνεις τις εντολές συνεχόμενες, π.χ σε μια γραμμή πρέπει να τις χωρίσεις, είτε με && είτε με ;
πχ.
Κώδικας: Επιλογή όλων
$(which apt-get) --purge autoremove -y && sudo apt-get -y clean && sudo apt-get -y autoclean && sudo apt-get -y autoremove

To && δηλώνει ότι αν δεν εκτελεστεί η προηγούμενη εντολή σωστά (για κάποιο λόγο) τότε δεν προχωρά στην επόμενη. Τελειώνει εκεί.
Αντίθετα το ; δεν ενδιαφέρεται για τέτοια. Θα προχωρήσει στην εκτέλεση των επόμενων εντολών ακόμη και αν οι προηγούμενες έχουν αποτύχει.

Th P έγραψε:Επίσης στο τέλος μήπως θά έπρεπε να μπει και το

Κώδικας: Επιλογή όλων
sudo apt-get update

Δεν είναι απαραίτητο, αν και νομίζω ότι γίνεται αυτόματα με την sudo apt-get --purge autoremove (δηλαδή η ανανέωση των πηγών λογισμικού, διαβάζει τα σχετικά αρχεία από τα /etc/apt/sources.list και /etc/apt/sources.list.d/ )
About Me
NickTux@GitHub

Spoiler: show
1. Ubuntu 18.04 LTS
2. Intel Core i3 CPU M 380 2.53GHz ‖ RAM 6GB ‖ Acer Aspire 5733
3. Intel Integrated Graphics [8086:0046] {i915}
4. wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01)
Άβαταρ μέλους
Learner
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 9765
Εγγραφή: 08 Νοέμ 2010, 21:24
Τοποθεσία: Αθήνα
Launchpad: nicktux
IRC: NickTux
Εκτύπωση

Re: Καθαρισμός Ubuntu - script - log

Δημοσίευσηαπό Th P » 12 Ιούλ 2015, 17:30

Ευχαριστώ πολύ για την άμεση απάντηση!

Δεν το ήξερα αυτό για την αυτόματη ανανέωση των πηγών λογισμικού με την sudo apt-get --purge autoremove.
Χρησιμοποιώ εδώ και πολύ καιρό τις εντολές καθαρισμού του medigeek που λέει στο τέλος "μην ξεχάσετε να ανανεώσετε τον apt".
Τώρα θα δοκιμάσω και το δικό σου script και απ`ότι φαίνεται θα μείνει για περιοδική manual χρήση μόνο το sudo apt-get upgrade && sudo apt-get dist-upgrade
Σταθερή είναι η διανομή που προσπαθείς ανεπιτυχώς να κρασσάρεις
Linux: Low┃Προγραμματισμός: No┃Αγγλικά: Good
Είμαι αναλφάβητος, ανιστόρητος και άξιος της μοίρας μου
Άβαταρ μέλους
Th P
powerTUX
powerTUX
 
Δημοσιεύσεις: 1981
Εγγραφή: 02 Μάιος 2009, 10:46
Τοποθεσία: Θεσσαλονίκη
IRC: ThP1
Εκτύπωση

Επόμενο

  • ΣΧΕΤΙΚΑ ΘΕΜΑΤΑ
    ΑΠΑΝΤΗΣΕΙΣ
    ΠΡΟΒΟΛΕΣ
    ΣΥΓΓΡΑΦΕΑΣ

Επιστροφή στο Οδηγοί - How to - Tutorials

cron