Arch Linux και Package Signing

dsyrmalis | Δευ, 03/28/2011 - 22:12 | 2' | 8

Σε ένα partition του υπολογιστή μου έχω πάντα και μια "κυλιόμενη" διανομή. Ο λόγος; Για να βλέπω τις εξελίξεις στο λογισμικό και στον κόσμο του Linux γενικότερα.
Η διανομή που έχω τώρα για αυτό το σκοπό είναι το Sabayon Linux 5.5, με βασικό σύστημα αρχείων το BrfFS. Παλιότερα είχα και μια δεύτερη στον ίδιο ρόλο. Το Arch Linux.Αν και το Arch είχε πολλά θετικά στοιχεία, τo άφησα πίσω μου για δύο λόγους:
1. Δεν είχα χρόνο να συντηρώ τόσα πολλά συστήματα.
2. Η έλλειψη package signing, την οποία θεωρώ μεγάλο μειονέκτημα.

Φαίνεται πως το θέμα αυτό έχει έρθει δυναμικά και πάλι στο προσκήνιο, έπειτα απο ένα δημοσίευμα στο lwn.net με τίτλο "Arch Linux and (the lack of) package signing".
Η απάντηση δεν άργησε να έρθει απο το blog του developer του Arch, Dan McGee όπου με τη σειρά του δίνει τη δική του εξήγηση για το πρόβλημα. Ο διάλογος για το όλο θέμα έχει μάλλον φτάσει σε επίπεδο flamewar αλλά παρουσιάζει μεγάλο ενδιαφέρον.
Θα βρείτε τις εξελίξεις και τη συζήτηση στις παρακάτω διευθύνσεις:

(α) http://lwn.net/SubscriberLink/434990/4c611307c60a7ae1/

(β) http://www.toofishes.net/blog/real-story-behind-arch-linux-package-sign…

(γ) http://igurublog.wordpress.com/2011/03/24/lwn-picks-up-on-package-signi…

Δώσε αστέρια!

MO: (ψήφοι: 0)

Σχόλια

Βασικά ο ignorantguru δίκιο έχει και μια χαρά τα λέει ο άνθρωπος.Απλά οι arch devs έχουν ρίξει την ευθύνη σε αυτόν προσπαθώντας να τη βγάλουν "καθαρή".

Με απαντήσεις του στυλ "αν ξέρεις κάτσε γράψε patches και βοήθησε μας"**  δεν κερδίζουν κάτι,από τη στιγμή που οι ίδιοι δεν κάνουν και τίποτα ..Από το 2006 όπου αναφέρει ο Dan για το bug του package signing δεν έκαναν και πολλά,οπότε είναι σαν να ειρωνεύονται.

** εντάξει θα μου πείτε αυτή είναι και η φιλοσοφία του opensource..είναι από τα λίγα σημεία όπου οι devs έχουν δίκιο.

Νομίζω πως σε ένα τόσο σοβαρό και βασικό ζήτημα δεν  μπορεί να χρησιμοποιηθεί απο τους devs του Arch η δικαιολογία της φιλοσοφίας του opensource·  Σε άλλα ζητήματα όπως μια καθυστέρηση σε αναβαθμίσεις, ναι. Εδώ όμως έχουμε κάτι άλλο. Οι ίδιοι οι devs θα έπρεπε να είχαν πιέσει σε αυτή την κατεύθυνση και να είχαν άλλες προτεραιότητες. Και δεν μιλάμε για μήνες, αλλά για χρόνια. Κατα την άποψη μου είναι λάθος τους και συμφωνώ και με αυτά που λες. Πάντως και αυτός ο ignorantguru δεν παίζεται.  Άφησε σχόλιο στο blog του άλλου με pgp signature, προφανώς για να του τη σπάσει...(??)

Μην ξεχνάτε πως μιλάμε για μια καθαρά κοινοτική διανομή χωρίς επι πληρωμή developers.

Και αυτή η διαφορά είναι σημαντική.

Επίσης δεν βρίσκω το επιχείρημα « αν σου αρέσει το τάδε feature, βρέξε τον πισινό σου» παράταιρο. Από την στιγμή που ο dev δεν πληρώνεται έχει κάθε δικαίωμα να δουλέψει σε αυτό που τον φτιάχνει.

Το ερώτημα είναι που βρίσκονται όλοι αυτοί που θέλουν το pckage signing, ούτε ένας δεν προσφέρθηκε να προσθέσει αυτό το πολύτιμο feature.

Υπάρχουν και άλλες κοινοτικές διανομές και μάλιστα με μικρότερη κοινότητα οι οποίες όμως έχουν αυτή τη λειτουργία. Το θέμα εδώ είναι πως προσφέρθηκαν patch, αλλά απο τους devs θεωρήθηκε πως το package signing δεν είναι προτεραιότητα. Για την ακρίβεια όπως ισχυρίζεται ο ignorantguru δεν του απάντησαν καν. Δεν μπορούμε φυσικά να έχουμε απαίτηση απο devs που δεν πληρώνονται να κάνουν τα πάντα. Αλλά απο την άλλη μιλάμε για Linux. Και δεν μπορεί η ασφάλεια μιας διανομής να είναι με νοοτροπία Windows.

Είμαι ο τελευταίος που θα υπερασπιστεί την επιλογή των dev του arch να μην υπάρχει κάποιο (έστω ελλιπές) package signing scheme στην διανομή για τόσα χρόνια... Αυτός άλλωστε είναι και ο λόγος που δεν την χρησιμοποιώ -από τις αντιδράσεις φίλων archers είχα αρχίσει να νομίζω ότι είμαι o μόνος περίεργοςLaughing.
Φοβάμαι όμως ότι γινόμαστε άδικοι και λυπάμαι που το LWN δεν έκανε καλύτερη έρευνα πάνω στο ζήτημα πριν παρουσιάσει το άρθρο το οποίο (ξανα)έφερε στην επιφάνεια το πρόβλημα.
 Αν ρίξει κάποιος μια ματιά στην ml του pacman θα διαπιστώσει πως τόσο patches όσο και η συζήτηση για το ζήτημα είναι κάτι πολύ συχνό, εδώ και περίπου ένα χρόνο, από τότε δηλαδή που ο Denis A. Altoé Falqueto θέλησε να ασχοληθεί σοβαρά με το πρόβλημα. Με αφορμή ένα σχετικό θέμα στα arch fora, μελέτησε το πως είχαν υλοποιηθεί τα σχετικά μέτρα σε άλλες διανομές, έστειλε στην ml μια  πρόταση για το τι πρέπει να γίνει  και ξεκίνησε τη δουλειά... Ανέσυρε ότι κώδικα είχε γραφτεί για τον σκοπό τα προηγούμενα χρόνια, τον εκσυγχρόνισε μαζί με τους devs, τον έδωσε για review και έγραψε ένα μικρό αλλά πολύ σημαντικό κομάτι που έλειπε - το pacman-key. Οι devs ανταποκρίθηκαν, έδωσαν συμβουλες, έκαναν υποδείξεις, και  μετά την έκδοση του pacman 3.5 (πριν λίγες μέρες) άρχισαν να περνούν στο κεντρικό tree την δουλειά που είχε γίνει...
Κάποια στιγμή (σχετικά άργά) σε αυτή την διαδικασία εμφανίστηκε φάντης μπαστούνι ο κύριος IgnorantGuru, ο οποίος, χωρίς να έχει ιδέα για τα παραπάνω (θυμίζω: υποτίθεται ότι ενδιαφερόταν για το πρόβλημα...) άρχισε να κάνει υποδείξεις και bug reports για μια ενδιάμεση και άμεση λύση, για την οποία έγραψε και ένα scipt -σύγκριση checksums από διαφορετικούς mirrors. Με δεδομένη όμως τη δουλειά που είχε ήδη γίνει, δύσκολα θα μπορούσαν να υιοθετηθούν άμεσα οι προτάσεις του, κάποιες από τις οποίες είναι πολύ καλές, π.χ. αντικατάσταση md5 με sha256 για integrity checking. 
Σίγουρα θα μπορούσε να υπάρχει κάποια λύση ενδιάμεση, που δεν θα καθυστερούσε (db/package signing με το verification να αφήνεται στο χρήστη ή σε κάποιο wrapper του pacman), αλλά απ' ότι φαίνεται οι devs ήθελαν ολοκληρωμένη λύση, που σημαίνει αλλαγές στον pacman, στα db scripts, στο makepkg κ.λ.π. Προσωπικά διαφωνώ με την επιλογή τους, καθώς πιστεύω ότι μια ενδιάμεση/γρήγορη λύση θα ήταν καλύτερη στρατηγική μέχρι την ολοκλήρωση της δουλειάς.
Ο τρόπος που παρουσίασε το πρόβλημα ο Ignorant Guru είναι -στην καλύτερη περίπτωση- παραπλανητικός.Αλαζόνες και μη συνεργάσιμοι developers, o πτωχός πλην τίμιοςTongue out coder που προσπαθεί  να βελτιώσει την αγαπημένη του διανομή αλλά δεν τον αφήνουν και τελικά η δικαίωση του από το έγκυρο LWN είναι ωραία συστατικά για ένα καλό σενάριο... το οποίο όμως δεν είναι αλήθεια. Οι κακοί και αλαζόνες developers δέχτηκαν και συνεργάστηκαν με έναν εξίσου άγνωστο σε αυτούς για το ίδιο ζήτημα και είναι αυτοί που έχουν γράψει το 90% της λύσης. 

 

Mobinmob η εφαρμογή-scipt που αναφέρεσαι είναι το paccheck;
Δες πάντως και το θετικό της υπόθεσης. Με την συζήτηση που "ξέσπασε" προχωρά επιτέλους το ζήτημα.
Και στο Chakra το παλεύουν το ζήτημα απο ότι βλέπω. Γενικότερα πάντως να σου πω πως σε κάποια σημεία ο φανατισμός των φίλων του Arch είναι πολύ μεγάλος και πολλοί απο αυτούς βγάζουν όλες τις άλλες διανομές, περίπου άχρηστες. Οπότε ας ακούσουν και αυτοί λίγες παρατηρήσεις.

Το paccheck είναι, ακριβώς...
Σίγουρα είναι ωραία παρενέργεια η πίεση που ασκήθηκε στη διανομή -και το γεγονός πως αρκετός κόσμος άκουσε, για πρώτη ίσως φορά, για το package signing. Ουδέν κακόν αμιγές καλού.
Είχα δει το σχετικό θέμα στα forum του chackra. Φαίνεται να επιλέγουν μια πιο άμεση λύση (detached signature για για κάθε πακέτo χωρίς ενσωμάτωση δυνατότητας ελέγχου στον package manager- ακόμα χρησιμοποιούν τον pacman). Μακάρι να συνεχίσουν. Αν δεν με απατά η μνήμη μου το ίδιο είχα δει να αναφέρεται στο manual του fugalware.

Είμαι περίεργος να δω όταν ενσωματωθεί, πόσο θα επηρρεαστούν οι επιδόσεις του Pacman. Μέχρι τώρα πάντως είναι ίσως ότι πιο γρήγορο έχω δει σε package manager.