Λόγο της, rolling φύσης του το Arch, δεν υπάρχει εφαρμογή, βιβλιοθήκη, drivers, αρχεία συστήματος που να μην αναβαθμίζονται ΠΑΝΤΑ στην τελευταία σταθερή τους έκδοση. Πολλές φορές όμως κάποιοι drivers / firmwares μπορεί να καταργηθούν και να εμφανίζεται ένα μήνυμα «WARNING: Possibly missing firmware for module: Όνομα-firmware»Ας δούμε πόσο απλά μπορούμε να το λύσουμε. Στο παράδειγμα θα χρησιμοποιήσω μια προσωπική περίπτωση όπου μετά από αρκετό καιρό και κάθε φορά που γινόταν αναβάθμιση ο πυρήνας μου εμφάνιζε το εξής μήνυμα κατά την ενημέρωση των driver:
==> WARNING: Possibly missing firmware for module: wd719x ==> WARNING: Possibly missing firmware for module: aic94xx
Φαίνεται λοιπόν ότι δεν μπορεί να βρει κάποιους drivers / firmware. Φυσικά το WARNING είναι απλά μια προειδοποίηση την οποία και να την αγνοήσετε πολύ πιθανόν να μην το χρειάζεστε. Παρόλα αυτά ο ψυχαναγκασμός απαιτεί να τους ψάξουμε στο AUR:
yaourt -Ss wd719x aur/aic94xx-firmware 30-9 Adaptec SAS 44300, 48300, 58300 Sequencer Firmware for AIC94xx driver
Ωραία ! Βρήκαμε το ακριβές όνομά του πακέτου το οποίο θα κάνουμε εγκατάσταση. Πάμε και στο επόμενο:
yaourt -Ss aic94xx aur/aic94xx-firmware 30-9 Adaptec SAS 44300, 48300, 58300 Sequencer Firmware for AIC94xx driver
Τέλεια ! Πάμε τώρα να τα εγκαταστήσουμε :
yaourt -S aic94xx-firmware wd719x-firmware
Τέλος, ενημερώνουμε και τον πυρήνα για τους νέους drivers / firmwares:
sudo mkinitcpio -p linux
.
Λογικά, κατά την ενημέρωση του πυρήνα, δεν θα βλέπετε πλέον κάποιο WARNING
Θα μπορούσε κάποιος εύκολος τρόπος με κάποιο script + regex να γινόταν αυτό αυτόματα σωστά? Γιατί το yaourt να μην το κάνει ή έστω κάποιο άλλο app/script.. Λες να το φτιάξουμε, με κανένα ifάκι κλπ?
Φυσικά και γίνεται. Απλά «παραβιάζει» τον κανόνα του KISS που εφαρμόζει το Arch. Με λίγα λόγια θα πρέπει ο τελικός χρήστης να έχει τον έλεγχο και να κάνει αυτό που θέλει και όχι το λειτουργικό να παίρνει πρωτοβουλίες