Linux Stability

Giorgos Keramidas keramida at FreeBSD.ORG
Sat May 25 01:47:01 EEST 2002


On 2002-05-24 21:30, Lycourgus Papageorgiou wrote:
> On Fri, 2002-05-24 at 02:51, Giorgos Keramidas wrote:
> > > 4. Σίγουρα το πιό μονολιθικό πράγμα που έχω δει, αλλά έχει απίστευτη
> > >    διαχείριση των πόρων (μάλλον επειδή είναι τόσο hardware specific).
> >
> > Ούτε το Linux είναι microkernel.  Κι αυτό μονολιθικό kernel έχει.
> > Γιατί δεν κατάλαβα τι εννοείς πάλι;
>
> Ναι το Linux δεν έχει microkernel. Αλλά έχει modules. Έχω την εντύπωση
> ότι το BSD δεν έχει modules (τουλάχιστον από την επιφανειακή επαφή που
> είχα μαζί του δεν είδα κάτι τέτοιο). Δεν χρησιμοποιώ τον όρο
> "μονολιθικός" όπως ο ορισμός του Tannenbaum αλλά σαν αρχιτεκτονική
> δόμηση. Όπως είναι και τρέχει ο kernel του προσθέτεις τη μ... που σου
> λέει η Nvidia για να δουλέψουν οι χαζοdrivers της. Δεν ξέρω αν το BSD
> έχει αυτό το feature αλλά νομίζω πως όχι.

Το FreeBSD έχει modules εδώ και πολύ καιρό.  Τουλάχιστον από το
3.2-RELEASE που το χρησιμοποιώ εγώ.

> > - Τι είναι οι χακιές, και πώς μέτρησες ότι το FreeBSD είναι πιο
> >   ανθεκτικό σε αυτές;
>
> Απλούστατα, μπορείς να μετρήσεις τις αναφορές στο www.securityfocus.com
> και τη συχνότητα εμφάνισης τρυπών σε διάφορα λειτουργικά.

Μπα.  Το γεγονός ότι δεν ανακοινώνεται κάτι δεν σημαίνει πως δεν
υπάρχει.  Το FreeBSD και τα BSD έχουν ένα πλεονέκτημα σε σχέση με το
Linux, επειδή όλος ο κώδικας του βασικού συστήματος είναι διαθέσιμος
από ένα μέρος και μπορείς εύκολα να κάνεις audit το βασικό σύστημα
συνολικά (κάτι που είναι κάπως πιο δύσκολο να γίνει κεντρικά σε ένα
Linux distribution).  Αλλά αυτό δεν σημαίνει πως το BSD ή το Linux
είναι πιο ασφαλή.  Η πραγματική ασφάλεια μετριέται με άλλα κριτήρια,
και εξαρτάται τόσο από το βασικό λειτουργικό όσο και από τα
third-party προγράμματα που τρέχει.

> Βέβαια οφείλω να ομολογήσω ότι δεν το έψαξα και πολύ. Τώρα δεν με
> ενδιαφέρει η απάντηση, αλλά απλά θέλω να δείξω ότι μπροστά στο Linux
> το FreeBSD δημιουργεί πολλούς πονοκεφάλους. (Μπορεί να μην είχα
> εμπειρία σε εγκατάσταση FreeBSD, αλλά ο κακόμοιρος θεώρησα ότι με
> τόσες εγκαταστάσεις Linux και πολύ λιγότερες Solaris, δεν θα ήταν
> τόσο δύσκολο να τα καταφέρω).

Όλη η διαδικασία της εγκατάστασης περιγράφεται με λεπτομέρεια στο
documentation που υπάρχει online.  Μη μου πεις ότι κάποτε όταν
πρωτοέστησες Linux δεν χρειάστηκε ποτέ να διαβάσεις τίποτα! :P

> >   * Do not claim that you wrote this.
> >   * Do not sue us if it breaks.
> >
> > Αυτό έχει πάμπολλα πλεονεκτήματα για κάποιες χρήσεις του FreeBSD, που
> > δεν είναι δυνατόν για λόγους άδειας να γίνουν πραγματικότητα με κάποιο
> > GPL πρόγραμμα.
>
> Απλά, επειδή είμαι ιδεολογικά συνδεδεμένος με την GPL, δεν
> πολυσυμπαθώ την BSD license. Μου ταιριάζει καλύτερα η GPL (τώρα αυτά
> είναι προσωπικά γούστα οπότε δεν νομίζω ότι χρειάζεται περισσότερη
> ανάλυση).

Ανάλογα με την εφαρμογή και η άδεια.  Η GPL είναι καλή σαν ιδέα, και
κάποια από τα πράγματα που έχω κατά καιρούς φτιάξει χαίρομαι που είναι
με άδεια GPL.  Υπάρχουν διάφοροι λόγοι γιατί κάποιος να προτιμήσει
GPL, και άλλοι λόγοι γιατί και πότε να προτιμήσει BSD license, αλλά
μακριά από μας το BSD vs. GPL vs. Artistic vs. Whatever flamewar...

> > > Επίσης στο OpenBSD περιφανεύονται ότι δεν έχει χακευτεί ποτέ από
> > > κανέναν.
> >
> > Το οποίο είναι τελικά ένα marketting trick του Theo de Raadt, αλλά ας
> > μην το κάνουμε θέμα.  Εμείς, στην ομάδα που αναπτύσσει το FreeBSD,
> > είμαστε πάντα έτοιμοι να ανακοινώσουμε ότι υπάρχει κάποιο security
> > πρόβλημα, και προτιμάμε να διορθώσουμε το πρόβλημα και να ενημερώσουμε
> > τους χρήστες για το πως θα το διορθώσουν.
>
> Χμμμ... Αυτός είναι ο αυτοαποκαλούμενος Θεός? Αν μπορείς να με
> διαβεβαιώσεις ότι είναι marketing τρυκ τότε δεν μπορώ να πώ τίποτα άλλο.
> Απλά δεν ξέρω.

Ναι φυσικά.  Διαβάζεις το κλασικό motto του OpenBSD "Τάδε χρόνια χωρίς
local exploit."  Και μετά διαβάζεις τα security announcements για
OpenSSH.  Γελάς με την ψυχή σου και προχωράς :)

> > Αφού διαβάσεις και κατανοήσεις το άρθρο του Matt Dillon για το virtual
> > memory του FreeBSD, από το
> > http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/vm-design
> > είμαι σίγουρος ότι θα δεις πως δεν ήταν τόσο η μνήμη :-)
> >
> > Τι δείχνει το output της top(1) ?
>
> Νομίζω ότι αυτό έδειχνε. Αλλά δεν έχω τώρα επαφή με BSD οπότε δεν
> μπορώ να σε διαβεβαιώσω. Πάντως επιμένω ότι το FreeBSD πέταγε σε
> σχέση με το Linux 2.4.10.

Με δουλεύεις έτσι; Σε ρωτάω "δείξε μου το output της top" και μου
απαντάς "ναι αυτό έδειχνε";  Τι να πω :-/

> > Με ένα κατάλληλο boot loader πολλά γίνονται, αλλά γιατί να κάνεις
> > ταρζανιές, τη στιγμή που πολύ απλά μπορείς να είσαι σίγουρος ότι
> > το μηχάνημά σου θα κάνει μια χαρά boot αν χρησιμοποιήσεις ένα
> > primary partition, ανεξαρτήτως λειτουργικού ή BIOS;
>
> Ναι, έχεις μία διαφορετική αντίληψη. Το χαρακτηρίζω καφρίλα για
> desktop όχι σαν λειτουργικό.  Αν ήταν user friendly, θα σε ρώταγε
> (όπως κάνουν οι γνωστές διανομές Linux ότι σε παλιά BIOS δεν μπορείς
> να bootάρεις από εκείνο το σημείο) αν επιμένεις να το θές έτσι. Όχι
> να σου λέει "πάρτα ρε!! δεν μπαίνω εκεί" ;- ))

Ακόμη και σε desktop δεν βλέπω το λόγο κάποιος να κάνει multiboot πάνω
από 2 διαφορετικά λειτουργικά.  Άντε να έχεις Windows γιατί καμιά φορά
μπορεί να χρειαστεί να παίξεις κάνα game.  Άντε να έχεις και Linux για
να κάνεις τη δουλειά σου σε Unix περιβάλλον.  Άντε να έχεις και ένα
τρίτο primary partition για να παίζεις με νέα λειτουργικά.  Πες ότι
έχεις κι ένα primary partition για swap.  Δεν βλέπω την ανάγκη να
κάνεις "boot από logical".

Μην ξεχνάς εδώ ότι το FreeBSD δεν κάνει boot από logical partition.
Αν κάνεις boot π.χ. από το /dev/ad0s1a μετά μπορείς άνετα να κάνεις
mount ότι partition σου κατέβει, όπως π.χ. /dev/ad0s5a (label a, του
partition 5 [πρώτο logical partition], στο δίσκο ad0 [primary master])

	# mount -t ffs /dev/ad0s5a /mnt

Μόνο για boot χρειάζεται το primary partition :P

> Φυσικά το τρέχω και στο σπίτι μου στο Linux.

Ναι καμία αντίρρηση.  Κι εγώ τρέχω σε FreeBSD και NetBSD το bind :)

> Εννοώ ότι το φτιάχνουν BSDάδες και στη συνέχεια το κάνουν port για
> άλλα λειτουργικά. Θεωρώ ότι αφού καταρχήν το φτιάχνουν σε τέτοιο
> λειτουργικό και μετά το κάνουν port στα υπόλοιπα, ότι εκεί θα είναι
> αποδοτικότερο.

Οι διαφορές είναι σε library calls κυρίως.  Π.χ. αν μετρήσει κανείς
πόσο χρόνο κάνει να ανοίξει ένα αρχείο στο FreeBSD με open() και πόσο
χρόνο κάνει να ανοίξει ένα αρχείο με open() στο NetBSD, μπορεί να βρει
απειροελάχιστες διαφορές.  Αυτό όμως δεν είναι θέμα των
προγραμματιστών του BIND.  Είναι περισσότερο θέμα των προγραμματιστών
που φτιάχνουν το UNIX interface & API ενός λειτουργικού.

> Επίσης δεν μπορώ να θυμηθώ την version του bind αλλά ήταν γύρω στην
> 8.xx (μπορεί η 8.2) που είχε security hole στο Linux και οχι στο
> BSD. Και υπάρχουν πάρα πολλά προγράμματα τα οποία έχουν τρύπες σε
> κάποιο λειτουργικό και όχι σε ένα άλλο, επειδή μάλλον η διαδικασία
> του port δεν έγινε σωστά.

Μέχρι το "επειδή" καλά τα πήγαινες.  Δεν είναι το porting που δεν
πετυχαίνει, είναι ότι τα ίδια interfaces, τα ίδια library calls, τα
ίδια functions, σε διαφορετικά λειτουργικά είναι εσωτερικά υλοποιημένα
με διαφορετικούς τρόπους και μπορεί άνετα το ένα λειτουργικό να έχει
πρόβλημα στο system-call που λέγεται foo() ενώ όλα τα άλλα να μην
έχουν κανένα απολύτως πρόβλημα με το συγκεκριμένο syscall.

> Πιστεύω να κατάλαβες τον τρόπο σκέψης μου γιατί για BSD προτιμώ το
> bind (αν και δεν έχω δουλέψει κάποιο άλλο).

Δεν έχει πολύ λογική, γιατί ακριβώς όπως σε κάποια πράγματα έχει
πρόβλημα το Linux και δεν έχει το BSD, υπάρχουν άλλα που έχει πρόβλημα
μόνο το BSD και όχι το Linux.

> Nαι, ο καθένας  μπορεί να υποστηρίζει ότι θέλει.  Προσωπική μου
> άποψη είπα (και επιμένω). Θεωρώ τον εαυτό μου σχετικά έμπειρο user
> και μου έκανε εντύπωση που ταλαιπωρήθηκα τόσο πολύ για να το στήσω.
> Και όταν βρώ χρόνο σίγουρα θα ξαναπροσπαθήσω.

Χωρίς να θέλω να σε προσβάλλω, αλλά το ότι είναι κάποιος έμπειρος
(όπως λες) με το Linux δεν σημαίνει απολύτως τίποτα.  Ναι, μπορεί να
ξέρεις σχεδόν όλες τις βασικές εντολές που περιμένει να βρει κανείς σε
ένα UNIX λειτουργικό σύστημα, αλλά υπάρχουν πάρα πολλά χαρακτηριστικά
του Linux που χαρακτηρίζονται κατά καιρούς σαν ``linux-isms''.
Υπάρχουν επίσης διαφορές που οφείλονται στο γεγονός πως το BSD
ακολουθεί το BSD στυλ στα features και χαρακτηριστικά που υλοποιεί,
ενώ το Linux είναι μάλλον πιο πολύ προς SysV.  Γίνονται προσπάθειες να
φτάσει το FreeBSD να έχει υλοποιήσει το 100% από τα πρότυπα SUSv2 και
SUSv3 (Single Unix Specification, μπορείτε να βρείτε τα πρότυπα στα
URL που έχω στο κάτω μέρος), και σιγά σιγά φτάνει προς μια κατάσταση
που θεωρείται "stardard".  Αντίστοιχες προσπάθειες κάνει και η FSF ή
άλλοι που γράφουν λογισμικό ευρέως διαδεδομένο σε Linux.  Αυτό είναι
καλό γενικά.  Μα ακόμα, υπάρχουν διαφορές μεταξύ των διαφόρων UNIX.
Οπότε για να μπορέσεις να δουλέψεις αποδοτικά και χωρίς προβλήματα στο
FreeBSD που είναι για σένα ένα μάλλον νέο λειτουργικό σύστημα, είναι
απαραίτητο να αφιερώσεις κάποιο χρόνο για να δεις τι παίζει και πως :)

Λες ότι θα ξαναπροσπαθήσεις.  Φυσικά.  Και πρέπει να ξαναπροσπαθήσεις.
Όπως είπες και παραπάνω:

	> Βέβαια οφείλω να ομολογήσω ότι δεν το έψαξα και πολύ.

Λοιπόν, σαν κάποιος που χρησιμοποιεί αποκλειστικά FreeBSD (εκτός από
μια μικρή περίοδο που λόγω Java έβαλα Linux σε ένα partition κι έκανα
dual-boot με FreeBSD 5.0-CURRENT) μπορώ να σου πώ ότι δεν έχει
σημαντικές διαφορές στα πιο πολλά πράγματα από το Linux όσον αφορά στο
τι τρέχει και τι δεν τρέχει σε FreeBSD.  Οι διαφορές είναι κυρίως σε
άλλα πράγματα.  Στο πως γίνεται update, στο ότι έχεις όλο τον κώδικα
για όλο το βασικό σύστημα σε ένα κεντρικό σημείο.  Στον τρόπο που
μπορείς κι εσύ να βοηθήσεις στην ανάπτυξή του.  Σε διάφορα πράγματα,
που για άλλους είναι σημαντικά και για άλλους όχι.

Χαιρετώ.

Αναφορές
========

[SUSv2] Single Unix Specification, version 2.
	http://www.opengroup.org/onlinepubs/007908799/

[SUSv3] Single Unix Specification, version 3
	http://www.opengroup.org/onlinepubs/007904975/mindex.html

-- 
Giorgos Keramidas    - http://www.FreeBSD.org
keramida at FreeBSD.org - The Power to Serve



More information about the Linux-greek-users mailing list