forum.math.uoa.gr

Forum του Τμήματος Μαθηματικών
Ημερομηνία 22 Σεπ 2017, 10:05

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]




Δημιουργία νέου θέματος Απάντηση στο θέμα  [ 7 δημοσιεύσεις ] 
Συγγραφέας Μήνυμα
 Θέμα δημοσίευσης: Οδηγίες εγκατάστασης του OpenBSD
ΔημοσίευσηΔημοσιεύτηκε: 12 Νοέμ 2006, 21:34 
Χωρίς σύνδεση
Επίτιμος Administrator
Άβαταρ μέλους

Εγγραφη: 18 Φεβ 2006, 22:25
Δημοσ.: 1377
Τοποθεσια: Nowhere Land
To παρόν κείμενο υποδεικνύει έναν τρόπο εγκατάστασης του OpenBSD. Πολλά βήματα του οδηγού αποτελούν προσωπικές μου επιλογές άρα σαφώς και δεν αποτελούν μονόδρομο στο πώς θα διαμορφώσετε το λειτουργικό.

Τονίζω και πάλι ότι το OpenBSD δεν είναι από τα λειτουργικά συστήματα που δίνουν έμφαση στην "ευκολία χρήσης". Η εμπειρία μου ωστόσο λέει ότι πολλές πατέντες "φιλικότητας προς τον χρήστη" άλλων λειτουργικών ενδέχεται να σας κάνουν τη ζωή πολύ πιο δύσκολη σε σύγκριση με την λακωνική και straightforward νοοτροπία του OpenBSD. Όταν ολοκληρώσετε την εγκατάσταση, θα λάβετε ένα μινιμαλιστικό πλην καθαρόαιμο σύστημα unix, με μόνο interface την κονσόλα. Από εκεί και πέρα, είναι στο χέρι σας να το διαμορφώσετε όπως εσείς κρίνετε σκόπιμο: από έναν απλό firewall ως το desktop PC που με το πιο βαρύ γραφικό περιβάλλον που υπάρχει. Με αυτόν τον τρόπο, το OpenBSD είναι ότι σας δίνει την δυνατότητα να εξερευνήσετε εις βάθος τους μηχανισμούς της λειτουργίας του, κάτι που άλλες υλοποιήσεις επιλέγουν να κρύβουν από τον απλό χρήστη. Αν έχετε διάθεση να μάθετε και να πειραματιστείτε, το OpenBSD είναι για εσάς. Αν πάλι θέλετε αυτoματοποιημένη εγκατάσταση με όμορφα γραφικά και συνοδεία μουσικής, σας παραπέμπω εδώ.

Τι θα χρειαστείτε:
  • Έναν υπολογιστή: αν ο υπολογιστής είναι καινούριας τεχνολογίας (δηλ. δεν έχει περάσει χρόνος από τότε που τον αγοράσατε), ενδέχεται το OpenBSD να μην αναγνωρίσει κάποιες συσκευές του, και σε κάθε περίπτωση μην περιμένετε να σας παίξει η κάρτα τηλεόρασης ή η αναλογική τιμονιέρα με συμπλέκτη. Αν θέλετε οπωσδήποτε να βρείτε drivers για κάτι τέτοια, τότε μάλλον θα πρέπει να στραφείτε προς κάποιο λίνουξ.
  • Ένα CD εγκατάστασης. Αν δεν έχετε φτιάξει ήδη ένα, μπορείτε να κατεβάσετε το .iso που σας παρέχουμε και να το κάψετε σε ένα CD.
  • Προορισμός της Εγκατάστασης: Με άλλα λόγια σε τι δίσκο να το εγκαταστήσω; Aν υπάρχει ήδη κάποιο άλλο σύστημα εγκατεστημένο στον υπολογιστή, προτείνω ανεπιφύλακτα να διαθέσετε ξεχωριστό σκληρό δίσκο για το OpenBSD. Θα σας γλιτώσει από πολύ κόπο και ασυμβατότητες. Και ένας παλιός δίσκος με 6 GB αρκεί συνήθως. Αν δε διαθέτετε 2ο δίσκο, μπορείτε να βρείτε αρκετά φθηνούς στα stock-άδικα της Στουρνάρη. Φυσικά, αν μπορείτε να διαθέσετε υπολογιστή που να τρέχει αποκλειστικά OpenBSD θα ήταν ακόμα καλύτερα.
  • Σύνδεση στο internet: To ΟpenBSD έχει σχεδιαστεί για να λειτουργεί κυρίως μέσα σε δίκτυα υπολογιστών. Επίσης μια σύνδεση στο net είναι απαραίτητη για την εγκατάσταση επιπροσθέτων πακέτων λογισμικού. Καλό είναι λοιπόν (αν όχι απαραίτητο) να διαθέτετε μια σύνδεση adsl με modem που υποστηρίζει ethernet (ειναι σχεδόν βέβαιο ότι αν διαθέτετε USB modem, αυτό δε θα λειτουργεί με το OpenBSD). Θα ήταν επίσης χρήσιμο να έχετε εξοικειωθεί με την λειτουργία απλών τοπικών δικτύων (διευθυνσοδότηση ip, gateways κ.ο.κ.)
Ας αρχίσουμε λοιπόν... Καταρχάς boot-άρουμε to CD εγκατάστασης στο PC. H οθόνη γεμίζει με ακαταλαβίστηκα μπλε γράμματα που σημαίνει ότι ο kernel του CD φορτώνει. Κάποια στιγμή τα μπλε γράμματα σταματάνε και εμφανίζεται το παρακάτω μήνυμα
Κώδικας:
rootdev=0x1100 rrootdev=0x2f00 rawdev=0x2f02
erase ^?, werase ^W, kill ^U, intr ^C, status ^T
(I)nstall, (U)pgrade or (S)hell?

Καθώς εμείς θέλουμε να κάνουμε εγκατάσταση, γράφουμε "i" και πατάμε enter.
Κώδικας:
Welcome to the OpenBSD/i386 4.0 install program.

This program will help you install OpenBSD in a simple and rational way. At
any prompt except password prompts you can run a shell command by typing
'!foo', or escape to a shell by typing '!'. Default answers are shown in []'s
and are selected by pressing RETURN. At any time you can exit this program by
pressing Control-C and then RETURN, but quitting during an install can leave
your system in an inconsistent state.

Specify terminal type: [vt220]

Όπως αναφέρουν και οι οδηγίες, η default επιλογή σε κάθε ερώτηση εμφανίζεται μέσα σε αγκύλες και επιλέγεται πατώντας απλά enter. Στις πρώτες 2 επιλογές βάζουμε τα defaults:
Κώδικας:
Specify terminal type: [vt220] Enter
kbd(8) mapping? ('L' for list) [none] Enter

IS YOUR DATA BACKED UP? As with anything that modifies disk contents, this
program can cause SIGNIFICANT data loss.

It is often helpful to have the installation notes handy. For complex disk
configurations, relevant disk hardware manuals and a calculator are useful.

Proceed with install? [no]

Δεδομένου ότι θέλετε (;) να προχωρήσετε στην εγκατάσταση, γράφετε "yes" και πατάτε enter.
Κώδικας:
Cool!  Let's get to it...

You will now initialize the disk(s) that OpenBSD will use. To enable all
available security features you should configure the disk(s) to allow the
creation of separate filesystems for /, /tmp, /var, /usr, and /home.

Available disks are: wd0, wd1.
Which one is the root disk? (or done) [wd0]

Εδώ χρειάζεται μεγάλη προσοχή, καθώς επιλογή λάθους δίσκου μπορεί να οδηγήσει στην καταστροφή (προφανώς αν διαθέτετε μόνο έναν δίσκο δε τίθεται τέτοιο ζήτημα). Εδώ εξετάζουμε το πιο πιθανό σενάριο όπου έχουμε δυο δίσκους: έναν με windows και έναν δεύτερο όπου θέλετε να εγκαταστήσετε το OpenBSD. Τα wd0 και wd1 είναι οι ονομασίες που αποδίδει το unix στους δίσκους και δεν βοηθούν και πολύ ώστε να καταλάβουμε which is which.
Ωστόσο η σειρά αρίθμησης ακολουθεί πάντα την ίδια λογική. Οι master σκληροί προηγούνται των slave στον ίδιο controller, ενώ οι σκληροί που βρίσκονται στον IDE0 controller προηγούνται των σκληρών του IDE1. Σκληροί δίσκοι που βρίσκονται σε PCI RAID ή IDE controllers προηγούνται των IDE0 και IDE1. Οι SCSI και USB δίσκοι έχουν ξεχωριστή ονομασία (sd0, sd1, ...). Έτσι, αν για παράδειγμα έχουμε τους δυο IDE σκληρούς δίσκους στον ίδιο controller, με τον windows σκληρό να είναι master και τον δεύτερο slave, τότε ο windows είναι ο wd0 και o wd1 είναι αυτός στον οποίο θέλουμε να κάνουμε την εγκατάσταση. Aν ωστόσο θέλετε να είστε 100% σίγουροι, πατήστε Ctrl+C για να βγείτε από το πρόγραμμα εγκατάστασης και στη γραμμή εντολών. Εκεί γράψτε:
Κώδικας:
# dmesg | grep wd0

wd0 at pciide0 channel 0 drive 0: <HITACHI_DK13FA-40B>
wd0: 16-sector PIO, LBA, 38154MB, 78140160 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5
dkcsum: wd0 matches BIOS drive 0x80

Στην πρώτη γραμμή έχει εμφανιστεί το label του σκληρού δίσκου WDC WD3000JB-00KFA0, που σημαίνει ότι ο wd0 είναι o Hitachi στα 40 GB.
Κώδικας:
# dmesg | grep wd1

wd1 at pciide1 channel 0 drive 0: <WDC WD1200JB-00EVA0>
wd1: 16-sector PIO, LBA48, 114473MB, 234441648 sectors
wd1(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 5
wd1: no disk label
dkcsum: wd1 matches BIOS drive 0x81

Ενώ ο wd1 είναι ο Western Digital στα 120 GB. Τώρα που ξεκαθαρίσαμε τις ονομασίες, μπορούμε να επιστρέψουμε στο πρόγραμμα της εγκατάστασης. Από την γραμμή εντολών γράφουμε
Κώδικας:
# install

και επαναλαμβάνουμε τη διαδικασία από την αρχή
Κώδικας:
Available disks are: wd0, wd1.
Which one is the root disk? (or done) [wd0] wd1
Do you want to use *all* of wd1 for OpenBSD? [no]

Όπως ανάφερα και προηγουμένως, προτείνεται να χρησιμοποιήσετε ολόκληρο τον δίσκο για τις ανάγκες του OpenBSD. Αν ωστόσο επιμένετε και θέλετε να το εγκαταστήσετε ως partition πλάι σε κάποιο άλλο λειτουργικό (κακώς), σας παραπέμπω στο επίσημο FAQ του OpenBSD.
Κώδικας:
Do you want to use *all* of wd1 for OpenBSD? [no] yes
 
You will now create an OpenBSD disklabel inside the OpenBSD MBR
partition. The disklabel defines how OpenBSD splits up the MBR partition
into OpenBSD partitions in which filesystems and swap space are created.

The offsets used in the disklabel are ABSOLUTE, i.e. relative to the
start of the disk, NOT the start of the OpenBSD MBR partition.

Initial label editor (enter '?' for help at any prompt)
>

Τώρα έρχεται το δύσκολο κομμάτι: o χωρισμός του δίσκου σε partitions. Το OpenBSD για βέλτιστη λειτουργικότητα απαιτεί διαμερισμό σε πολλαπλά partitions. Ας κάνουμε μια σύντομη περιγραφή τους:
  • / (root) : είναι το βασικό partition του λειτουργικού, εκεί για παράδειγμα βρίσκεται ο kernel και τα βασικά προγράμματα. Το partition αυτό τοποθετείται στην αρχή του δίσκου για μέγιστη απόδοση. Συνήθως δεν απαιτεί παραπάνω από 150 MB.
  • swap : το partition για την αποθήκευση της swap memory. Συνήθως βάζουμε 2 φόρες το μέγεθος της μνήμης RAM, αν και κάτι τέτοιο δεν είναι κανόνας.
  • /tmp : partition για προσωρινή αποθήκευση αρχείων από προγράμματα του συστήματος. 256 MB είναι συνήθως αρκετά
  • /var : σε αυτό το partition αποθηκεύονται βάσεις δεδομένων, στατιστικά και logs του μηχανήματος καθώς και περιεχόμενα ιστοσελιδών (περιέχει δηλαδή δεδομένα μεταβαλλόμενα). Για κανονική χρήση 128 MB είναι αρκετά, ωστόσο αν σκοπεύετε να τρέξετε servers θα χρειαστείτε περισσότερο χώρο.
  • /usr : εδώ αποθηκεύονται όλα τα προγράμματα, η source και τα ports του OpenBSD. Aπαιτούνται τουλάχιστον 500 ΜΒ χώρου, αν και προφανώς θα χρειαστείτε αρκετά GB για μπορέσετε να εγκαταστήσετε ικανοποιητικό πλήθος εφαρμογών (προσωπικά βάζω 8 GB).
  • /home : στο home αποθηκεύονται τα προσωπικά αρχεία των χρηστών. Συνήθως εδώ μπαίνει ό,τι περισσεύει στον δίσκο ύστερα από τη δημιουργία των προηγουμένων partitions. Φροντίστε πάντως να περιέχει τουλάχιστον 1-2 GB.
Στο παράδειγμα μας, θεωρούμε ότι ο δίσκος έχει μέγεθος 20 GB και έχουμε μνήμη 128 MB. Για αρχή σβήνουμε όλα τα παλιά partitions του δίσκου
Κώδικας:
> d *

και προχωρούμε στην προσθήκη των νέων partitions
Κώδικας:
> a
offset: [3069360] Enter
size: [36030960] 128m                (αναθέτω 128 ΜΒ στο partition)
Rounding to nearest cylinder: 307440
FS type: [4.2BSD] Enter
mount point: [none] /
> a
offset: [3376800] Enter
size: [35723520] 300m
Rounding to nearest cylinder: 614880
FS type: [swap] Enter
> a
offset: [3991680] Enter
size: [35108640] 128m
Rounding to nearest cylinder: 245952
FS type: [4.2BSD] Enter
mount point: [none] /tmp
> a
offset: [4237632] Enter
size: [34862688] 1g                 ( αναθέτω 1 GB )
Rounding to nearest cylinder: 164304
FS type: [4.2BSD] Enter
mount point: [none] /var
> a
offset: [4401936] Enter
size: [34698384] 6g
Rounding to nearest cylinder: 12582864
FS type: [4.2BSD] Enter
mount point: [none] /usr
> a
offset: [16984800] Enter
size: [22115520] *
Rounding to nearest cylinder: 8388576
FS type: [4.2BSD] Enter
mount point: [none] /home

Γράφοντας την εντολή
Κώδικας:
> p m

Εμφανίζονται πληροφορίες για όλα τα partitions που δημιουργήσαμε. Aν το αποτέλεσμα δε μας ικανοποιεί, μπορούμε να σβήνουμε partitions με την εντολή 'd' και να ξαναπροσπαθούμε. Όταν η δημιουργία των partitions έχει ολοκληρωθεί, μπορούμε να συνεχίσουμε γράφοντας την εντολή
Κώδικας:
> q

Ακολουθεί το μήνυμα
Κώδικας:
Write new label?: [y] Enter

Mount point for wd0d (size=122976k)? (or 'none' or 'done') [/tmp] Enter
Mount point for wd0e (size=82152k)? (or 'none' or 'done') [/var] Enter
Mount point for wd0g (size=6291432k)? (or 'none' or 'done') [/usr] Enter
Mount point for wd0h (size=4194288k)? (or 'none' or 'done') [/home] Enter
Mount point for wd0d (size=122976k)? (or 'none' or 'done') [/tmp] done
No more disks to initialize.

OpenBSD filesystems:
wd0a /
wd0d /tmp
wd0e /var
wd0g /usr
wd0h /home

The next step *DESTROYS* all existing data on these partitions!
Are you really sure that you're ready to proceed? [no] y

Ακολούθως, το OpenBSD θα σας ζητήσει να συμπληρώσετε καποια στοιχεία του υπολογιστή:
Κώδικας:
Enter system hostname (short form, e.g. 'foo'): bender

το όνομα του υπολογιστή. Ήρθε η ώρα να γίνουν οι ρυθμίσεις του δικτύου:
Κώδικας:
Configure the network? [yes] Enter
Available interfaces are: bce0.
Which one do you wish to initialize? (or 'done') [bce0] Enter
Symbolic (host) name for bce0? [bender] Enter
The default media for bce0 is
        media: Ethernet autoselect (100baseTX full-duplex)
Do you want to change the default media? [no] Enter
IPv4 address for bce0? (or 'dhcp') 192.168.1.249    ( η ip του υπολογιστή )
Netmask? [255.255.255.0] Enter
IPv6 address for bce0? (or 'rtsol' or 'none') [none] Enter
No more interfaces to initialize.
DNS domain name? (e.g. 'bar.com') [my.domain] fake.foo   ( αν το PC δεν ανήκει σε κάποιο domain βάζετε τυχαίο όνομα )
DNS nameserver? (IP address or 'none') 192.168.1.1   ( ip του τοπικού DNS server )
Use the nameserver now? [yes] Enter
Default route? (IP address, 'dhcp' or 'none') [dhcp] 192.168.1.1 ( default gateway  )
Edit hosts with ed? [no] Enter
Do you want to do any manual network configuration? [no] Enter

Τώρα θα πρέπει να θέσετε τον κωδικό του root λογαριασμού. Ο root είναι ο superuser του υπολογιστή (κοινώς, είναι ο λογαριασμός του Administrator).
Κώδικας:
Password for root account? (will not echo) mys71k05_kWdik0s
Password for root account? (again) mys71k05_kWdik0s

Ήρθε η ώρα να εγκαταστήσουμε τα αρχεία του λειτουργικού!
Κώδικας:
Let's install the sets!
Location of sets? (cd disk ftp http or 'done') [cd] Enter
Available CD-ROMs are: cd0, cd1.
Which one contains the install media? (or 'done') [cd0] Enter
Pathname to the sets?  (or 'done') [4.0/i386] Enter

Θα εμφανιστεί μια λίστα με τα διαθέσιμα πακέτα. Εμείς θέλουμε να τα εγκαταστήσουμε όλα (τα πακέτα που ξεκινούν με 'x' περιέχουν το λογισμικό για τον X Server, την πλατφόρμα γραφικού περιβάλλοντος για UNIX)
Κώδικας:
Select sets by entering a set name, a file name pattern or 'all'. De-select
sets by prepending a '-' to the set name, file name pattern or 'all'. Selected
sets are labeled '[x]'.

        [X] bsd
        [X] bsd.rd
        [ ] bsd.mp
        [X] base40.tgz
        [X] etc40.tgz
        [X] misc40.tgz
        [X] comp40.tgz
        [X] man40.tgz
        [X] game40.tgz
        [ ] xbase40.tgz
        [ ] xetc40.tgz
        [ ] xshare40.tgz
        [ ] xfont40.tgz
        [ ] xserv40.tgz
Set name? (or 'done') [bsd.mp] all

        [X] bsd
        [X] bsd.rd
        [X] bsd.mp
        [X] base40.tgz
        [X] etc40.tgz
        [X] misc40.tgz
        [X] comp40.tgz
        [X] man40.tgz
        [X] game40.tgz
        [X] xbase40.tgz
        [X] xetc40.tgz
        [X] xshare40.tgz
        [X] xfont40.tgz
        [X] xserv40.tgz
Set name? (or 'done') [done] Enter
Ready to install sets? [yes] Enter

Ακολουθεί η εγκατάσταση των πακέτων
Κώδικας:
Getting bsd ...
100% |**************************************************|  5904 KB    00:09   
Getting bsd.rd ...
100% |**************************************************|  4889 KB    00:03   
Getting bsd.mp ...
100% |**************************************************|  5952 KB    00:03   
Getting base40.tgz ...
100% |**************************************************| 40675 KB    00:33   
Getting etc40.tgz ...
100% |**************************************************|  1133 KB    00:01   
Getting misc40.tgz ...
100% |**************************************************|  2233 KB    00:02   
Getting comp40.tgz ...
100% |**************************************************| 77933 KB    01:03   
Getting man40.tgz ...
100% |**************************************************|  7427 KB    00:07   
Getting game40.tgz ...
100% |**************************************************|  2548 KB    00:02   
Getting xbase40.tgz ...
100% |**************************************************| 10341 KB    00:08   
Getting xetc40.tgz ...
100% |**************************************************| 90762       00:00   
Getting xshare40.tgz ...
100% |**************************************************|  2027 KB    00:03   
Getting xfont40.tgz ...
100% |**************************************************| 32455 KB    00:25   
Getting xserv40.tgz ...
100% |**************************************************| 19418 KB    00:16
Location of sets? (cd disk ftp http or 'done') [done] Enter

O installer στη συνέχεια θα σας ζητήσει να κάνετε κάποιες τελικές ρυθμίσεις
Κώδικας:
Start sshd(8) by default? [yes] y

Γράψτε 'yes' αν θέλετε να κάνετε απομακρυσμένες συνδέσεις με SSH στον υπολογιστή (π.χ μέσω PuTTy)
Κώδικας:
Start ntpd(8) by default? [no] y

Ο ntpd είναι ένα ένας server συγχρονισμού της ώρας του υπολογιστή μέσω του internet. Μάλλον τον χρειάζεστε..
Κώδικας:
Do you expect to run the X Window System? [no] y

Επιλέξτε αν θέλετε να τρέχετε παραθυρικό περιβάλλον στον υπολογιστή...
Κώδικας:
Change the default console to com0? [no] Enter

Κατά πάσα πιθανότητα δε το χρειάζεστε αυτό...
Ακολουθεί η ρύθμιση του timezone
Κώδικας:
Saving configuration files......done.
Generating initial host.random file ......done.
What timezone are you in? ('?' for list) [Canada/Mountain] Europe/Athens

Ύστερα από κάποιες άλλες διεργασίες, θα σας εμφανιστεί το μήνυμα
Κώδικας:
CONGRATULATIONS! Your OpenBSD install has been successfully completed!
To boot the new system, enter halt at the command prompt. Once the
system has halted, reset the machine and boot from the disk.
#

Ακολουθήστε τις οδηγίες και αυτό ήταν! Μόλις το OpenBSD boot-άρει από τον δίσκο, θα σας ζητηθεί να κάνετε login. Μπορείτε να μπείτε με username "root" και κωδικό αυτόν που εισάγατε κατά την εγκατάσταση.

Στο δεύτερο μέρος του οδηγού θα κάνουμε μια περιήγηση του συστήματος και θα εγκαταστήσουμε κάποια στοιχειώδη προγράμματα.

To be continued....

(πηγή: OpenBSD FAQ)

_________________
\exists x.\varphi(x) \rightarrow \forall x.\varphi(x)


Κορυφή
 Προφίλ  
 
 Θέμα δημοσίευσης:
ΔημοσίευσηΔημοσιεύτηκε: 13 Νοέμ 2006, 23:43 
Χωρίς σύνδεση
Regular Forumer

Εγγραφη: 12 Μαρ 2006, 23:50
Δημοσ.: 442
Τοποθεσια: Άγιος Στέφανος
EIRIK ομολογώ ότι έκανες πού καλή δουλειά! Είναι πολύ καλός οδηγός γι' αυτόν που θέλει να αρχίσει μπράβο! Εμένα με δυσκόλεψε στην αρχή εγκατάσταση... Θυμάσαι φαντάζομαι πόσες φορές σε είχα ρωτήσει... :P

_________________
Maths are so beautiful as a statue....


Κορυφή
 Προφίλ  
 
 Θέμα δημοσίευσης: Διαμορφώνοντας το OpenBSD
ΔημοσίευσηΔημοσιεύτηκε: 22 Νοέμ 2006, 23:21 
Χωρίς σύνδεση
Επίτιμος Administrator
Άβαταρ μέλους

Εγγραφη: 18 Φεβ 2006, 22:25
Δημοσ.: 1377
Τοποθεσια: Nowhere Land
Τώρα που ολοκληρώσαμε με επιτυχία την εγκατάσταση του OpenBSD, θέλουμε να αρχίσουμε και να το χρησιμοποιούμε. Ωστόσο, το λειτουργικό σύστημα που έχουμε λάβει ως τώρα είναι μια βαρετή κονσόλα, χωρίς κάποια χρήσιμη λειτουργία. Ήρθε η ώρα να αρχίσουμε να φέρνουμε το OpenBSD στα μέτρα μας !

Ας κάνουμε καταρχάς μια περιήγηση στο σύστημά μας: H μαύρη οθόνη με τα άσπρα γράμματα που βλέπετε μπροστά σας είναι η κονσόλα. Το OpenBSD διαθέτει πολλές κονσόλες, τις οποίες μπορείτε να εναλλάσετε με χρήση του συνδυασμού Ctrl+Alt + [F1 - F6]. Μας δίνεται έτσι η δυνατότητα να κάνουμε πολλές εργασίες ταυτόχρονα με χρήση πολλαπλών κονσολών. Η κονσόλα 4 (αυτή που μπαίνει με το Ctrl+Alt+F5 δηλαδή) είναι το γραφικό περιβάλλον (προς το παρόν το μόνο που βλέπετε εκεί είναι μια μαύρη οθόνη).

Κάντε τώρα login ως root από κάποια κονσόλα. Το πρώτο που θα πρέπει να ελέγξετε είναι αν λειτουργεί η σύνδεση στο internet. Στη γραμμή εντολών, δώστε
Κώδικας:
# ping forum.math.uoa.gr

Aν σας εμφανιστoύν μηνύματα της μορφής
Κώδικας:
64 bytes from 195.134.81.166: icmp_seq=0 ttl=246 time=13.651 ms
64 bytes from 195.134.81.166: icmp_seq=1 ttl=246 time=12.708 ms

σημαίνει ότι υπάρχει σύνδεση με τον server του forum και άρα ο υπολογιστής σας έχει πρόσβαση στο internet! Για να διακόψετε τη διαδικασία, πατήστε Ctrl+C. Όπως και στο DOS, το Ctrl+C χρησιμεύει για τον τερματισμό προγραμμάτων που τρέχουν στην κονσόλα.

The OpenBSD Ports System

Και τώρα περνάμε στο ενδιαφέρον κομμάτι. Πώς εγκαθιστώ προγράμματα στο OpenBSD? H απάντηση είναι, μέσω των ports. Τα ports είναι μια συλλογή από scripts που τρέχουν αυτοματοποιημένες διαδικασίες κατεβάσματος, μεταγλώτισσης και εγκατάστασης για πάνω από 4000 open source προγράμματα στο OpenBSD.
Καλό ε? :wink: Ας δοκιμάσουμε να εγκαταστήσουμε τα ports στον υπολογιστή μας. Καταρχάς, τοποθετήστε το CD εγκατάστασης του OpenBSD στο drive. Με την εντολή
Κώδικας:
# mount /dev/cd0a /mnt

φορτώνουμε τα περιεχόμενα του CD στον φάκελο /mnt του file system (αν χρησιμοποιείτε το δεύτερο CD drive, κάνετε mount το /dev/cd1a ). Πηγαίντε τώρα στον φάκελο
Κώδικας:
# cd /mnt/4.0/

Εκεί θα βρείτε το αρχείο ports.tar.gz. Τρέξτε την εντολή
Κώδικας:
# tar xvfz ports.tar.gz -C /usr/

για να κάνετε extract τα αρχεία που περιέχει. Τα ports έχουν πλέον εγκατασταθεί στον υπολογιστή σας! Ας κάνουμε μια μικρή περιήγηση. Πηγαίντε στον φάκελο /usr/ports
Κώδικας:
# cd /usr/ports

και γράψτε ls για να δείτε τα περιεχόμενά του
Κώδικας:
# ls
.cvsignore      benchmarks      devel           java            net             shells
CVS             biology         editors         korean          news            sysutils
INDEX           books           education       lang            palm            telephony
Makefile        cad             emulators       mail            plan9           textproc
README          chinese         games           math            print           www
archivers       comms           graphics        mbone           productivity    x11
astro           converters      infrastructure  misc            russian
audio           databases       japanese        multimedia      security

Όπως βλέπετε υπάρχει μια πλήρης κατηγοριοποίηση των προγραμμάτων. Ας κάνουμε ενδεικτικά την εγκατάσταση ενός μικρού προγράμματος. Πηγαίντε στον φάκελο
Κώδικας:
# cd games/netris

Βρισκόμαστε τώρα στον φάκελο του παιχνιδιού netris. Τρέξτε τώρα την εντολή
Κώδικας:
# make install clean

που ουσιαστικά δίνει οδηγία στον υπολογιστή να κάνει compile (make), να εγκαταστήσει (install) και να καθαρίσει τον φάκελο από προσωρινά αρχεία (clean).
Κώδικας:
# make install clean
===>  Checking files for netris-0.52
>> netris-0.52.tar.gz doesn't seem to exist on this system.
>> Fetch ftp://ftp.netris.org/pub/netris/netris-0.52.tar.gz.
100% |*******************************************************************| 33135       00:01   
>> Size matches for /usr/ports/distfiles/netris-0.52.tar.gz
>> Checksum OK for netris-0.52.tar.gz. (sha1)
===>  Verifying specs:  c ncurses termcap
===>  found c.39.3 ncurses.10.0 termcap.10.0
===>  Extracting for netris-0.52
===>  Patching for netris-0.52
===>  Configuring for netris-0.52
Now do a 'make'

===>  Building for netris-0.52
cc -O2 -pipe   -c game.c
cc -O2 -pipe   -c curses.c
cc -O2 -pipe   -c shapes.c
cc -O2 -pipe   -c board.c
cc -O2 -pipe   -c util.c
cc -O2 -pipe   -c inet.c
cc -O2 -pipe   -c robot.c
cc -O2 -pipe   -c version.c
===>  Building package for netris-0.52
Create /usr/ports/packages/i386/all/netris-0.52.tgz
Link to /usr/ports/packages/i386/ftp/netris-0.52.tgz
Link to /usr/ports/packages/i386/cdrom/netris-0.52.tgz
===>  Installing netris-0.52 from /usr/ports/packages/i386/all/
netris-0.52: complete                                                                         
===>  Cleaning for netris-0.52

Όπως βλέπετε, το script αρχικά αναζητεί τα απαιτούμενα αρχεία πηγαίου κώδικα, τα κατεβάζει από το internet αν δεν υπάρχει, και προχωράει στο compile και την εγκατάσταση του προγράμματος. Ας δοκιμάσουμε τώρα το φρέσκο μας software
Κώδικας:
# netris

(ο χειρισμός του γίνεται με τα πλήκτρα I-J-K-L ):P

Πέρα από εντυπωσιακό, το ports system είναι και ιδιαίτερα χρήσιμο καθώς μας επιτρέπει να κάνουμε παρεμβάσεις στον κώδικα των προγραμμάτων για να τα φέρουμε στη μορφή που επιθυμούμε. Τα ports έχουν ωστόσο και μειονεκτήματα. Αν και το netris πήρε λίγα δευτερόλεπτα για να κάνει compile, πιο βαριά προγράμματα όπως η Java και ο firefox απαιτούν ώρες εντατικής λειτουργίας και περισσή ελεύθερη μνήμη και δίσκο. Αν δε θέλετε να αφήνετε τον υπολογιστή να κλείνει 12ωρα κάνοντας compile, υπάρχει και η λύση των packages.
Τα packages περιέχουν προμεταγλωττιμένα (pre-compiled) τα εκτελέσιμα αρχεία ενός προγράμματος. Ένα 98% των ports του OpenBSD υπάρχουν και σε packages διαθέσιμα προς κατέβασμα. Ας δούμε πώς ακριβώς μπορούμε να εγκαταστήσουμε ένα package. Καταρχάς, θα πρέπει να ορίσουμε από ποιον mirror θέλουμε να κατεβάζουμε packages ορίζοντας την μεταβλητή PKG_PATH. Καλό είναι να βάζουμε κάποιον κοντινό server για τον σκοπό αυτό
Κώδικας:
# export PKG_PATH=ftp://filoktitis.noc.uoa.gr/pub/OpenBSD/4.0/packages/i386/

Ας δοκιμάσουμε τώρα να κατεβάσουμε κάποιο package.
Κώδικας:
# pkg_add -v wget-1.10.2p0.tgz
parsing wget-1.10.2p0
Dependencies for wget-1.10.2p0 resolve to: gettext-0.14.5p1, libiconv-1.9.2p3 (todo: libiconv-1.9.2p3,gettext-0.14.5p1)
wget-1.10.2p0:parsing libiconv-1.9.2p3
wget-1.10.2p0:libiconv-1.9.2p3: complete                                                     
wget-1.10.2p0:parsing gettext-0.14.5p1
Dependencies for gettext-0.14.5p1 resolve to: expat-2.0.0, libiconv-1.9.2p3 (todo: expat-2.0.0)
wget-1.10.2p0:parsing expat-2.0.0
wget-1.10.2p0:expat-2.0.0: complete                                                           
wget-1.10.2p0:gettext-0.14.5p1: complete                                                     
installed /etc/wgetrc from /usr/local/share/examples/wget/sample.wgetrc                 | 29%
wget-1.10.2p0: complete

Όπως βλέπετε το pkg_add εγκατέστησε το wget και παράλληλα όλα τα άλλα προγράμματα που απαιτούνται για να λειτουργήσει σωστά (dependencies). To ερώτημα που τίθεται τώρα είναι "μα πώς μπορώ να γνωρίζω την ονομασία του package που με ενδιαφέρει?". Ας χρησιμοποιήσουμε το wget για να κατεβάσουμε ένα χρήσιμο αρχείο.
Κώδικας:
# cd
# wget http://pclab.math.uoa.gr/opendir/4.0-i386

To 4.0-i386 είναι μια λίστα με όλα τα διαθέσιμα πακέτα που υπάρχουν. Ας πούμε ότι θέλουμε να εντοπίσουμε όλα τα πακέτα του mozilla. Γράφουμε
Κώδικας:
# grep mozilla 4.0-i386
File: eclipse-sdk-mozilla-3.2p2.tgz     10 KB   09/23/06        12:04:00
File: mozilla-1.7.13p0.tgz      15127 KB        09/23/06        12:06:00
File: mozilla-devel-1.7.13p0.tgz        14386 KB        09/23/06        12:06:00
File: mozilla-firefox-1.5.0.5.tgz       11819 KB        09/23/06        12:06:00
File: mozilla-thunderbird-1.5.0.4.tgz   14026 KB        09/23/06        12:06:00

και εμφανίζονται όλα τα σχετικά packages. Εγκαταστήστε τώρα τα παρακάτω πακέτα
Κώδικας:
# pkg_add -v tcsh-6.14.00p0.tgz
# pkg_add -v colorls-3.9.tgz
# pkg_add -v most-4.9.5.tgz
# pkg_add -v vim-7.0.42-gtk2.tgz


Προσθέτοντας Νέους Χρήστες

Μάθημα ασφαλείας #1: Αποφεύγετε να χρησιμοποιείτε τον λογαριασμό root.
Επειδή ο root έχει δικαίωμα να κάνει κυριολεκτικά ο,τιδήποτε μέσα στο σύστημα, καλό είναι να χρησιμοποιούμε έναν λογαριασμό περιορισμένων δικαιωμάτων για την καθημερινή χρήση του μηχανήματος. Με τον τρόπο αυτό, περιορίζουμε τον κίνδυνο να πάθει το σύστημα ζημιά από ιούς, scripts και hackers ή από δικά μας λάθη. Θα δούμε στη συνέχεια πώς είναι δυνατόν να τρέχουμε εντολές που απαιτούν δικαιώματα root μέσω του περιορισμένου account.

Καταρχάς, πηγαίνουμε στον φάκελο όπου κάναμε mount το CD
Κώδικας:
# cd /mnt/

και στη συνέχεια κάνουμε extract το αρχείο conf.tgz
Κώδικας:
# tar xvfz conf.tgz -C /etc/skel/

και
Κώδικας:
# cp /etc/skel/.vimrc ~

Τρέχουμε τώρα την εντολή adduser. Την πρώτη φορά που θα εκτελεστεί, πρέπει να δώσετε και κάποιες επιπλέον πληροφορίες:
Κώδικας:
# adduser
Couldn't find /etc/adduser.conf: creating a new adduser configuration file
Reading /etc/shells
Enter your default shell: csh ksh nologin sh tcsh [ksh]: tcsh
Your default shell is: tcsh -> /usr/local/bin/tcsh
Default login class: daemon default staff [default]: Enter
Enter your default HOME partition: [/home]: Enter
Copy dotfiles from: /etc/skel no [/etc/skel]: Enter
Send message from file: /etc/adduser.message no [no]: Enter
Do not send message
Prompt for passwords by default (y/n) [y]: Enter
Default encryption method for passwords: auto blowfish des md5 old
[auto]: Enter
Use option ``-silent'' if you don't want to see all warnings and questions.

και στη συνέχεια προχωράμε στη διαδικασία προσθήκης νέου χρήστη:
Κώδικας:
Reading /etc/shells
Check /etc/master.passwd
Check /etc/group

Ok, let's go.
Don't worry about mistakes. There will be a chance later to correct any input.
Enter username []: eirik
Enter full name []: Giorgos Tsarpalis
Enter shell csh ksh nologin sh tcsh [tcsh]: Enter
Uid [1000]: Enter
Login group eirik [eirik]: Enter
Login group is ``eirik''. Invite eirik into other groups: guest no
[no]: Enter
Login class daemon default staff [default]: Enter
Enter password []: S3cR3t_p@ssW0rD
Enter password again []: S3cR3t_p@ssW0rD

Name:        eirik
Password:    ****
Fullname:    Giorgos Tsarpalis
Uid:         1000
Gid:         1000 (eirik)
Groups:      eirik
Login Class: default
HOME:        /home/eirik
Shell:       /usr/local/bin/tcsh
OK? (y/n) [y]:
Added user ``eirik''
Copy files from /etc/skel to /home/eirik
Add another user? (y/n) [y]: no
Goodbye!

Το νέο μας account είναι έτοιμο για χρήση. Πώς όμως θα μπορούμε να εκτελούμε λειτουργίες που απαιτούν δικαιώματα root μέσω του νέου account?

Η απάντηση είναι, μέσω του sudo. To sudo είναι μια εντολή που μας επιτρέπει να αποκτήσουμε προσωρινά δικαιώματα διαχειριστή, αρκεί φυσικά να εισάγουμε κάθε φορά τον κωδικό μας (όχι του root). Ας το ενεργοποιήσουμε. Καταρχάς, θέλουμε να θέσουμε τον vim ως τον default επεξεργαστή κειμένου μας.
Κώδικας:
# export EDITOR vim

Τρέξτε τώρα την εντολή
Κώδικας:
# visudo

για να αλλάξετε το αρχείο ρυθμίσεων του sudo. Βρείτε το σημείο που λέει
Κώδικας:
# Uncomment to allow people in group wheel to run all commands
# %wheel    ALL=(ALL)   ALL

και από κάτω προσθέστε την γραμμή
Κώδικας:
eirik   ALL=(ALL) ALL

όπου eirik βάζετε το username του δικού σας περιορισμένου λογαριασμού.
Το vim είναι έυκολο στη χρήση, ωστόσο αν δε γνωρίζετε τα βασικά, σας παραπέμπω στις σημειώσεις του Θάνου Τσουάνα. O λογαριασμός σας είναι έτοιμος :)

Δοκιμάστε τώρα να κάνετε login με τα στοιχεία του νέου σας λογαριασμού:
Κώδικας:
OpenBSD 4.0 (GENERIC) #1107: Sat Sep 16 19:15:58 MDT 2006

Welcome to OpenBSD: The proactively secure Unix-like operating system.

Please use the sendbug(1) utility to report bugs in the system.
Before reporting a bug, please try to reproduce it with the latest
version of the code.  With bug reports, please try to ensure that
enough information to reproduce the problem is enclosed, and if a
known fix for it exists, include that as well.

I have the simplest tastes.  I am always satisfied with the best.                               
                -- Oscar Wilde
[22:15]eirik@sandbox ~>

Γράφοντας την εντολή pwd
Κώδικας:
[22:15]eirik@sandbox ~> pwd
/home/eirik

Θα δείτε ότι πλέον βρίσκεστε στο directory /home/eirik. Αυτό είναι το "σπίτι" του χρήστη σας (κάτι αντίστοιχο με το Documents & Settings των Windows), με τη διαφορά ότι μόνο εδώ μπορείτε να σώζετε και να αλλάζετε αρχεία. Για οποιαδήποτε άλλη επέμβαση εκτός αυτού του directory, θα χρειαστείτε δικαιώματα root, δηλαδή θα πρέπει να χρησιμοποιήσετε το sudo. Ας δοκιμάσουμε να εγκαταστήσουμε ένα νέο package:
Κώδικας:
[22:21]eirik@sandbox ~> grep windowmaker 4.0-i386
File: windowmaker-0.92.0p2.tgz  1591 KB         09/23/06        12:07:00
File: windowmaker-extra-0.1p0.tgz       200 KB  09/23/06        12:07:00
File: windowmaker-lang-0.92.0p1.tgz     707 KB  09/23/06        12:07:00
[22:25]eirik@sandbox ~> pkg_add -v windowmaker-0.92.0p2.tgz
/usr/sbin/pkg_add: must be run as root

Δοκιμάστε τώρα την ίδια εντολή με το πρόθεμα sudo:
Κώδικας:
[22:25]eirik@sandbox ~> sudo pkg_add -v windowmaker-0.92.0p2.tgz

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

Password:
parsing windowmaker-0.92.0p2
Dependencies for windowmaker-0.92.0p2 resolve to: libungif-4.1.4, gettext-0.14.5p1, jpeg-6bp3, png-1.2.12, tiff-3.8.2p0, libiconv-1.9.2p3 (todo: libungif-4.1.4)
windowmaker-0.92.0p2:parsing libungif-4.1.4
windowmaker-0.92.0p2:libungif-4.1.4: complete                                                 
installed /etc/WindowMaker/WMGLOBAL from /usr/local/share/examples/WindowMaker/WMGLOBAL*| 99%
installed /etc/WindowMaker/WMRootMenu from /usr/local/share/examples/WindowMaker/WMRootMenu
installed /etc/WindowMaker/WMState from /usr/local/share/examples/WindowMaker/WMState
installed /etc/WindowMaker/WMWindowAttributes from /usr/local/share/examples/WindowMaker/WMWindowAttributes
installed /etc/WindowMaker/WindowMaker from /usr/local/share/examples/WindowMaker/WindowMaker
windowmaker-0.92.0p2: complete

και η εγκατάσταση θα γίνει κανονικά, αν δώσουμε σωστά τον κωδικό. Παρατηρήστε ότι πρέπει να γράφουμε την εντολή sudo σε κάθε εντολή που απαιτεί δικαιώματα root.

Δίνοντας χρώμα στην κονσόλα

Στη γραμμή εντολών δώστε
Κώδικας:
[22:30]eirik@sandbox ~>wget http://pclab.math.uoa.gr/opendir/OpenBSD/ttys

και στη συνέχεια
Κώδικας:
[22:30]eirik@sandbox ~> sudo mv ttys /etc

και επανεκκινήστε τον υπολογιστή
Κώδικας:
[22:31]eirik@sandbox ~> sudo reboot

Μόλις η διαδικασία ολοκληρωθεί, ξανακάντε login και τρέξτε το netris. Παρατηρήστε τη διαφορά! :D

Δοκιμάζοντας το Γραφικό Περιβάλλον

Θέλουμε τώρα να ξεκινήσουμε να λειτουργούμε με το γραφικό περιβάλλον του UNIX, τον X Server. Δώστε την εντολή
Κώδικας:
[22:35]eirik@sandbox ~> startx

Στο 80% των περιπτώσεων, η απεικόνιση θα είναι σωστή και χωρίς προβλήματα. Ωστόσο, υπάρχει η πιθανότητα το hardware να μην υποστηρίζεται σωστά χωρίς την δημιουργία ενός custom αρχείου ρυθμίσεων, το xorg.conf (ούτως ή άλλως, όλοι θα χρειαστείτε να φτιάξετε ένα δικό σας xorg.conf -π.χ για υποστήριξη ελληνικών). Αν σας εμφανίζεται κάποιο πρόβλημα, σας παραπέμπω στο αντίστοιχο section του FAQ του OpenBSD:

http://www.openbsd.org/faq/faq11.html#amd64i386

Αν θέλετε το γραφικό περιβάλλον να ξεκινά αυτόματα με κάθε εκκίνηση του OpenBSD
Κώδικας:
[22:58]eirik@bender ~> sudo vim /etc/rc.conf.local

και εκεί τοποθετήστε τη γραμμή
Κώδικας:
xdm_flags=""

και τέλος
Κώδικας:
[22:58]eirik@bender ~> ln -fs ~/.xinitrc ~/.xsession

Υπάρχουν πολλά διαφορετικά γραφικά περιβάλλοντα διαθέσιμα για το OpenBSD. Άλλα λιτά και μινιμαλιστικά όπως ο windowmaker και ο icewm, αλλά και βαριά με πληθώρα γραφικών όπως τα KDE και gnome. Ας υποθέσουμε ότι θέλουμε να περάσουμε το KDE στο OpenBSD
Κώδικας:
[23:01]eirik@sandbox ~> grep kdebase 4.0-i386
File: kdebase-3.5.4.tgz         29909 KB        09/23/06        12:05:00
[23:04]eirik@sandbox ~> sudo pkg_add -v kdebase-3.5.4.tgz

Μόλις ολοκληρωθεί η εγκατάσταση, κάντε edit το .xinitrc
Κώδικας:
[23:04]eirik@sandbox ~> vim ~/.xinitrc

και αλλάξτε τη γραμμή
Κώδικας:
exec wmaker

ώστε να γράφει
Κώδικας:
exec startkde

Την επόμενη φορά που θα ξεκινήσετε τον X θα έχετε αυτό το όμορφο γραφικό περιβάλλον. :)

Απομακρυσμένη Πρόσβαση στον Υπολογιστή σας

Χρησιμοποιώντας το PuTTy, μπορείτε να συνδέεστε από μηχανήματα Windows μέσω δικτύου στη γραμμή εντολών του ΟpenBSD. Απλά εισάγετε την ip ή domain name του υπολογιστή και πατάτε open, εισάγοντας στη συνέχεια τα στοιχεία σας όπως κανονικά. Προσοχή, για να συνδέεστε στον υπολογιστή μέσω internet, κατά πάσα πιθανότητα θα απαιτηθεί να κάνετε port forwarding τη θύρα 22 (SSH) στον υπολογιστή.

Ωραία μας τα είπες. Τώρα πώς βγαίνω;

Για να κλείσουμε τον υπολογιστή χρησιμοποιούμε πάντα την εντολή halt ως root
Κώδικας:
[23:15]eirik@sandbox ~> sudo halt -p


Και κάπου εδώ τελειώνει το εισαγωγικό tutorial. Μην παραλέιψετε να διαβάσετε το FAQ του OpenBSD. Οι εντολές "help", "man" και "man afterboot" είναι επίσης πολύ χρήσιμες. Good Luck! :)

_________________
\exists x.\varphi(x) \rightarrow \forall x.\varphi(x)


Κορυφή
 Προφίλ  
 
 Θέμα δημοσίευσης:
ΔημοσίευσηΔημοσιεύτηκε: 29 Νοέμ 2006, 21:57 
Χωρίς σύνδεση
Forum Administrator
Άβαταρ μέλους

Εγγραφη: 10 Μαρ 2006, 14:02
Δημοσ.: 227
Τοποθεσια: Εδώ
Η παράνοια συνεχίζεται

Κάποιες φορές για το OpenBSD εμφανίζονται κάποια patch που διορθώνουν κενά ασφαλείας που τυχών υπάρχουν.

Σε αυτό το post θα δώσουμε κάποιες βασικές οδηγίες για το πως πατσάρουμε προγράμματα αλλά και το πυρήνα του λειτουργικού.
Όλες οι εντολές από εδώ και κάτω προϋποθέτουν ότι είμαστε συνδεδεμένοι ως root ή κάθε σε κάθε εντολή προηγείται το sudo (Ο eirik έχει γράψει σχετικά).

Όπως παραπάνω είδαμε πως φτιάχνουμε το port tree τώρα θα περάσουμε τον κώδικα του λειτουργικού και του πυρήνα.
Για το κώδικα του λειτουργικού εκτελούμε τις παρακάτω εντολές (Με την προϋπόθεση ότι έχουμε κάνει mount το cd στο /mnt):

Κώδικας:
cd /mnt/4.0
tar xvfz src.tar.gz -C /usr/src


Ανάλογα για τον πυρήνα:

Κώδικας:
tar xvfz sys.tar.gz -C /usr/src


Τώρα που έχουμε τον κώδικα πάμε να τον πατσάρουμε.

Κώδικας:
cd /usr/src


Φτιάχνουμε εδώ ένα φάκελο για τα patch μας:

Κώδικας:
mkdir patches


Με την wget κατεβάζουμε τα patch από κάποιον ftp . Είναι αρκετά μικρά και άρα δεν θα μας καθυστερήσουν. Εγώ τα κατέβασα από τον ftp του OpenBSD που είναι και επίσημος (ftp://ftp.openbsd.org/pub/OpenBSD/patches/4.0/common).

Κώδικας:
cd /usr/src/patches
wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/4.0/common/001_httpd.patch


Και έχουμε κατεβάσει το 1ο patch του OpenBSD 4.0 όμοια και για τα άλλα.

Τώρα αρχίζει το ενδιαφέρον. Υπάρχουν δύο ειδών patch για τον πυρήνα και για τα προγράμματα. Η εγκατάστασή τους διαφέρει και γι'αυτό θα τα ξεχωρίσουμε.

Πρώτα πως ξεχωρίζουμε το είδος των patch. Γράφοντας την εντολή vim (όνομα αρχείου) θα διαβάσουμε το περιεχόμενο του αρχείου .patch που θέλουμε να εγκαταστήσουμε. Στις πρώτες του γραμμές θα δούμε κάτι τέτοιο:

Κώδικας:
Apply by doing:
   cd /usr/src
   patch -p0 < 001_httpd.patch

And then rebuild and install httpd and its modules:
   cd usr.sbin/httpd
   make -f Makefile.bsd-wrapper obj
   make -f Makefile.bsd-wrapper cleandir
   make -f Makefile.bsd-wrapper depend
   make -f Makefile.bsd-wrapper
   make -f Makefile.bsd-wrapper install

If httpd had been started, you might want to run
   apachectl stop
before running "make install", and
   apachectl start
afterwards.


Το παραπάνω είναι patch για τον apache server στο OpenBSD 4.0 και αφορά patch για πρόγραμμα και οχι τον πυρήνα.
Αν όμως βλέπαμε αυτό:

Κώδικας:
Apply by doing:
   cd /usr/src
   patch -p0 < 003_systrace.patch

And then rebuild your kernel.


Θα ξέραμε στα σίγουρα ότι πρέπει να πατσάρουμε τον πυρήνα.
Πάμε πρώτα στα προγράμματα (που είναι και πολύ πιο απλά). Εκτελούμε τις εντολές:

Κώδικας:
cd /usr/src
patch -p0 < patches/001_httpd.patch  //Γιατί στον φάκελο patches τοποθετήσαμε τα patch
cd usr.sbin/httpd  //Γιατί έτσι μας λένε οι οδηγίες να κάνουμε
make -f Makefile.bsd-wrapper obj
make -f Makefile.bsd-wrapper cleandir
make -f Makefile.bsd-wrapper depend
make -f Makefile.bsd-wrapper
make -f Makefile.bsd-wrapper install //Ομοίως γιατί το λέει στις οδηγίες.


Πάμε τώρα στον πυρήνα. Καλό είναι πρώτα να περνάμε όλα τα patch που υπάρχουν για τον πυρήνα και μετά να το κάνουμε rebuild μια και καλή.
Για να περάσουμε patch κάνουμε ότι και πριν:

Κώδικας:
cd /usr/src
patch -p0 < patches/003_systrace.patch


Τώρα όμως τα πράγματα αλλάζουν. Πρώτα ας κάνουμε αντίγραφο του παλιού πυρήνα για τη περίπτωση που κάτι πάει στραβά.

Κώδικας:
cp /bsd /bsd.old


Και ξεκινάμε. Πρώτα πρέπει να σετάρουμε τον πυρήνα.

Κώδικας:
cd /usr/src/sys/arch/i386/conf/
config GENERIC
Don't forget to run "make depend"


Μετά κάνουμε compile και εγκαθιστούμε τον νέο πυρήνα.

Κώδικας:
cd /usr/src/sys/arch/i386/compile/GENERIC/
make clean
make depend
make
make install


Κάνουμε επανεκκίνηση στο σύστημά μας και αν όλα πήγαν καλά ο νέος πυρήνας θα φορτωθεί κανονικά.
Αν όμως δεν πήγαν όλα καλά θα δούμε κάτι σαν το παρακάτω:

Κώδικας:
Using drive 0, partition 3.
Loading...
probing : pc0 com0 apm mem[634K 319M a20=on]
disk: fd0 hd0+
>> OpenBSD/i386 BOOT 2.06
boot>


Έχουμε το backup οπότε αρκεί να γράψουμε bsd.old:

Κώδικας:
Using drive 0, partition 3.
Loading...
probing : pc0 com0 apm mem[634K 319M a20=on]
disk: fd0 hd0+
>> OpenBSD/i386 BOOT 2.06
boot>bsd.old


Αυτά για τώρα (συνεχίζεται...)[/code]

_________________
"A program with a colorful GUI is like a woman with too much makeup. Shiny on the outside - awful on the inside."


Κορυφή
 Προφίλ  
 
 Θέμα δημοσίευσης: openbsd + netmod
ΔημοσίευσηΔημοσιεύτηκε: 02 Μαρ 2007, 14:26 
Χωρίς σύνδεση

Εγγραφη: 02 Μαρ 2007, 14:13
Δημοσ.: 2
Κώδικας:

Mporei na mou pei kapios pos mporo na kano syndesh me openbsd 4 kai netmod (dial up)? px... sto freebsd pame sto cd /etc ftiaxnoume to touch resolv conf bazoume mesa to dns  mas kai meta pame sto cd /etc/ppp  anigoume to arxeio ppp.conf kanoume tis ri8miseis mas kai meta dial   ppp -auto papchap... EYXARISTW....


Κορυφή
 Προφίλ  
 
 Θέμα δημοσίευσης:
ΔημοσίευσηΔημοσιεύτηκε: 02 Μαρ 2007, 17:27 
Χωρίς σύνδεση
Επίτιμος Administrator
Άβαταρ μέλους

Εγγραφη: 18 Φεβ 2006, 22:25
Δημοσ.: 1377
Τοποθεσια: Nowhere Land
Προσωπικά δεν έχω ασχοληθεί με το PPP στο OpenBSD, οπότε δοκίμασε να διαβάσεις το παρακάτω:

http://www.openbsd.org/faq/faq6.html#PPP

_________________
\exists x.\varphi(x) \rightarrow \forall x.\varphi(x)


Κορυφή
 Προφίλ  
 
 Θέμα δημοσίευσης: openbsd
ΔημοσίευσηΔημοσιεύτηκε: 02 Μαρ 2007, 21:21 
Χωρίς σύνδεση

Εγγραφη: 02 Μαρ 2007, 14:13
Δημοσ.: 2
Κώδικας:

xaotikh einai i katastash:-)   mipos mporeis na mou peis an mporo na to kanw na "diavazei" thn cd..era ?Oste na mporeso na trekso apo thn cd..era to kde kai na kano syndesh meso kppp...  Thanks


Κορυφή
 Προφίλ  
 
Τελευταίες δημοσιεύσεις:  Ταξινόμηση κατά  
Δημιουργία νέου θέματος Απάντηση στο θέμα  [ 7 δημοσιεύσεις ] 

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]


Μελη σε συνδεση

Μέλη σε αυτή την Δ. Συζήτηση : Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης


Δεν μπορείτε να δημοσιεύετε νέα θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να απαντάτε σε θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επεξεργάζεστε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να διαγράφετε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση

Αναζήτηση για:
Μετάβαση σε:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group