O The_Mentor πρότεινε:The_Mentor έγραψε:[...]
Σαν λύση BackupΔημιουργούμε ένα script file
- Κώδικας: Επιλογή όλων
$!/bin/sh
dpkg --get-selections | grep '[[:space:]]install$' | awk '{print $1}' > package_list
και το κάνουμε εκτελέσιμο με
- Κώδικας: Επιλογή όλων
sudo chmod a+x /etc/cron.daily/package_list
Όπως βλέπετε το έχουμε βάλει και στο cron.daily ώστε να παίρνει καθημερινά backup την λίστα των πακέτων μας...
Και ο medigeek αντιπρότεινε:medigeek έγραψε:[...]
Και πάλι μια κάπως διαφορετική μέθοδος για δημιουργία του script:
- Κώδικας: Επιλογή όλων
echo -e '#!/bin/bash\nmkdir -p /home/backup/\naptitude search "~i" -F "%p" > /home/backup/package_list' | sudo tee /etc/cron.daily/package_list
sudo chmod +x /etc/cron.daily/package_list
Δοκιμάζοντας και τις δυο μεθόδους, βρήκα καλύτερη μία συνδυαστική λύση διότι:
1. H εντολή αναζήτησης του medigeek δημιουργεί ένα text file, αλλά τα διπλά/τριπλά ονόματα των πακέτων δεν είναι
σε μία γραμμή. Είναι έτσι:
aacgain
acpi-
support
acpid
adduser
aisleriot
alacarte
alsa-
base
alsa-
utils
amrnb
amrwb
anacron
app-install-
data
app-install-data-
partner
Βέβαια, όποιο script θα διαβάσει το text file, θα καταλάβει που έχει συμβεί carriage return και δεν θα μπερδευτεί.
Μπερδεύομαι όμως εγώ!
## Έτσι προτίμησα να χρησιμοποιήσω την εντολή αναζήτησης του The_Mentor
2. Η δημιουργία Backup φακέλου από τον medigeek είναι πλεονέκτημα.
## Έτσι προτίμησα την εντολή του medigeek.
Το αποτέλεσμα ήταν ένας συνδυασμός των εντολών των δύο φίλων και βγήκε αυτό:
- Κώδικας: Επιλογή όλων
#!/bin/sh
echo -e '#!/bin/bash\nmkdir -p /home/backup/
dpkg --get-selections | grep '[[:space:]]install$' | awk '{print $1}' > /home/backup/package_list' | sudo tee /etc/cron.daily/package_list
sudo chmod +x /etc/cron.daily/package_list
Το δοκίμασα και τρέχει μια χαρά. Κάνει καθημερινό backup της λίστας των πακέτων και προσθέτει τα νέα
Ευχαριστώ και τους δύο για την ιδέα που με απασχόλησε δημιουργικά!