Apories FreeBSD apo xristi Debian

Giorgos Keramidas keramida at ceid.upatras.gr
Mon Jul 7 14:03:24 EEST 2008


On Mon, 7 Jul 2008 10:35:40 +0300, Antonis Christofides <anthony at itia.ntua.gr> wrote:
> Τον τελευταίο καιρό, που έπρεπε να ρημπούτ το σέρβερ κάθε εβδομάδα
> λόγω των βαλνεραμπίλιτιζ του κέρνελ, κάποια στιγμή αναρωτήθηκα: μήπως
> είμαι μ*****ς; Και τώρα που έρχονται καινούργιοι δίσκοι και θα πρέπει
> να κάνω ένα μεγάλο χάρντγουεαρ απγκρέιντ σκέφτηκα μήπως το συνδυάσω.
>
> Οι απορίες μου είναι, υποθέτω, αυτές που κάθε χρήστης Debian θα είχε
> αντιμετωπίζοντας το ίδιο ερώτημα:
>
> 1) Θα θέλει όντως λιγότερη συντήρηση ο server; (για να πάρετε μια ιδέα
>    τι κάνει, τρέχει bind, exim, apache2, zope+plone, django,
>    postgresql, openldap, samba, nfs)

Οχι απαραίτητα.  Υπάρχουν διαφορές μεταξύ Linux και FreeBSD, αλλά δε
νομίζω ότι είναι τόσο απλό να πει κανείς «με το FreeBSD δε θα έχω kernel
bugs» ή «στο FreeBSD θα τρέχω bind αλλά δε θα έχει τρύπες».

> 2) Υπάρχει mailing list με όλα τα security updates μαζί, όπως
> συμβαίνει στο Debian; Ή θα πρέπει να γραφτώ στη λίστα του bind, στη
> λίστα του exim, στη λίστα του apache, στη λίστα της σάμπας, κλπ.
> κλπ. κλπ.;

Ναι, υπάρχει τέτοια λίστα.  Αυτός ακριβώς είναι ο σκοπός της λίστας
`freebsd-security-notifications':

  http://lists.freebsd.org/mailman/listinfo/freebsd-security-notifications

Τα ίδια security advisories είναι διαθέσιμα και ως RSS feed:

  http://www.freebsd.org/security/rss.xml

Υπάρχουν κι ένα σωρό άλλες λίστες.  Η διαφορά της sec-notifications
είναι ότι όπως και η freebsd-announce είναι moderated, οπότε περνάνε
ΜΟΝΟ εκείνα τα posts που όντως είναι security notifications ή announces.

> 3) Έχει αυτόματα dependencies στην εγκατάσταση λογισμικού;

Τα ίδια τα Ports, δεν είναι τίποτα άλλο παρά ένα σύστημα για καταγραφή
των dependencies.  Δεν επιβάλλουν αυτά τα dependencies όμως.  Ο πιο
πολύς κόσμος χρησιμοποιεί εργαλεία όπως το portupgrade, το portmaster ή
άλλα, για να μπορεί να κάνει πιο σωστό dependency tracking από κάτι
απλοϊκό όπως «ε ας βάλω και το gettext, κάποιος θα το χρειαστεί».

Το portupgrade χρησιμοποιώ κι εγώ εδώ και χρόνια.  Μπορεί να στήσει είτε
precompiled packages, από το latest package build run του
ftp.freebsd.org, είτε να κάνει αυτό build τα ports που χρειάζεται.

> 4) Τι άλλο πλεονέκτημα θα έχω και τι άλλο μειονέκτημα;

Παραείναι γενική αυτή η ερώτηση.  Θα προσπαθήσω πάντως να γράψω κάτι σαν
2-3 παραγράφους με τα πιο σημαντικά σημεία.

Ένα ακόμα UNIX-like σύστημα είναι και το FreeBSD, οπότε σε καθημερινή
βάση δε θα βρεις και πολλές διαφορές.  Το ίδιο postfix version που
τρέχει σε debian θα μπορείς και σε FreeBSD να το στήσεις με ακριβώς τις
ίδιες ρυθμίσεις.  Στο /etc/mail/sendmail.mc που χρησιμοποιώ τώρα στο
laptop μου, που τρέχει FreeBSD, είναι 90% ίδιο με τις ρυθμίσεις που
έτρεχε πριν από 10+ χρόνια το Slackware που είχα στο σπίτι.  Με λίγο
προσοχή για `Linuxisms', ακόμα και τα shell scripts που είχα γράψει
χρόνια πριν τρέχουν απαράλλαχτα σε FreeBSD.

Αν εξαιρέσεις τις binary εφαρμογές που είναι διαθέσιμες μόνο για κάποιο
άλλο σύστημα (όπως π.χ. flash players, nvidia amd64 έκδοση από drivers,
και μερικά ακόμα), σχεδόν όλες οι εφαρμογές μπορούν να τρέξουν και σε
FreeBSD.  Οτιδήποτε είναι διαθέσιμο σε source μορφή μπορεί να γίνει
`port'.  Αυτό ακριβώς είναι η χρησιμότητα του Ports system.  Με ένα tiny
Makefile και λίγα patch files που προσαρμόζουν το build του προγράμματος
στην ιδιοσυγκρασία του FreeBSD, έχουν γίνει port με αυτό τον τρόπο πάνω
από 16.000 χιλιάδες πακέτα.  Το killer feature των ports είναι ότι τα
Ports αποτελούν ένα thin wrapper γύρω από τα «random» configure, build
και install processes από χιλιάδες πακέτα.  Αυτό το thin wrapper αρκεί
για να είναι ομοιόμορφος και το ίδιο εύκολος ο τρόπος με τον οποίο
γίνεται build, install, upgrade και uninstall κάθε πακέτο.  Συνήθως
αρκεί απλά ΜΙΑ εντολή, όπως

    portupgrade -rN editors/emacs

για να στηθεί οποιοδήποτε πακέτο από source.  Το ίδιο πακέτο μπορεί να
στηθεί από precompiled μορφή από τα έτοιμα πακέτα του ftp.freebsd.org
με

    portupgrade -rN -PP editors/emacs

Τα Ports αναλαμβάνουν να κατεβάσουν το source, να ελέγξουν ότι το source
είναι έγκυρο με MD5 και SHA-256 checksums, να αποσυμπιέσουν το source,
να τρέξουν το εκάστοτε configure script με ότι παραμέτρους χρειάζονται,
να χτίσουν και να στήσουν το πακέτο, ή (αν έχει χρησιμοποιηθεί prebuilt
πακέτο) να κατεβάσουν το πακέτο και να το στήσουν.

Όλα τα 3rd-party πακέτα στήνονται στo /usr/local.  Το /usr κι οτιδήποτε
εκτός /usr/local είναι `out of reach' για τα 3rd-party πακέτα.  Εκεί
μπορεί μόνο το «βασικό σύστημα» να κάνει αλλαγές.

Τελευταίο σημαντικό σημείο που είναι «διαφορετικό» είναι ότι το βασικό
σύστημα είναι ένα ξεχωριστό, αυτόνομα αναπτυσσόμενο σετ από εργαλεία.
Μπορεί κανείς να στήσει ένα πλήρες UNIX με λιγότερο από 200 MB χώρο, που
έχει ssh, email, dns, ένα functional compiler και όλα όσα χρειάζεται για
να «στήσει» έξτρα πακέτα.  Το βασικό σύστημα αναπτύσσεται από ένα κοινό
repository πηγαίου κώδικα και ακολουθεί αυστηρά ελεγχόμενο release
policy.  Ο λόγος γι αυτό είναι ότι έτσι έχει κανείς την εγγύηση ότι ο
πυρήνα ενός branch (όπως του 6.X-STABLE release branch) είναι σταθερός
μεν, δέχεται security fixes και updates, αλλά δεν αλλάζει από τη μια
μέρα στην άλλη το kernel API του.  Ετσι αν κάποιος χτίσει μια εφαρμογή
πάνω σε 6.0-RELEASE αυτή θα μπορεί να τρέχει ακόμα και σε binary μορφή,
χωρίς καμία αλλαγή, και σε 6.1-RELEASE και σε 6.2-RELEASE και σε κάποιο
release που έχει γίνει από το 6-X branch χρόνια μετά.

                                 - - -

Περισσότερα μπορείς να βρεις online στο documentation του FreeBSD:

* Dru Lavigne. ``FreeBSD: An Open Source Alternative to Linux''.
  http://www.freebsd.org/doc/en_US.ISO8859-1/articles/linux-comparison/

* Bruce Montague. ``Why you should use a BSD style license for your Open
  Source Project''.  http://www.freebsd.org/doc/en_US.ISO8859-1/articles/bsdl-gpl/

* Carlos Horowicz. ``Argentina.com : A Case Study''
  http://www.freebsd.org/doc/en_US.ISO8859-1/articles/casestudy-argentina.com/

* Greg Lehey. ``Explaining BSD''.
  http://www.freebsd.org/doc/en_US.ISO8859-1/articles/explaining-bsd/

* John Ferrell. ``FreeBSD Quickstart Guide for Linux Users''
  http://www.freebsd.org/doc/en_US.ISO8859-1/articles/linux-users/

* The FreeBSD Documentation Project. ``Choosing the FreeBSD Version That
  Is Right For You''.
  http://www.freebsd.org/doc/en_US.ISO8859-1/articles/version-guide/



More information about the Linux-greek-users mailing list