CVSUP (CSUP) | FreeBSD-stable & current

Posted by superuser Tue, 24 Apr 2007 21:08:00 GMT

ΠΡΟΣΟΧΗ!!! Αν δεν σας ενδιαφέρει να πειραματιστείτε τότε κρατήστε την stable έκδοση, αυτό που ακολουθεί δεν είναι για σας...

Μια Release στην FreeBSD είναι η πιο σταθερή έκδοση μιαν ορισμένη χρονική στιγμή. 3 ή 4 φορές τον χρόνο οι προγραμματιστές σταματούν να κάνουν αλλαγές και προσπαθούν να επιλύσουν όλα τα ζητήματα που αφορούν τη σταθερότητα του συστήματος. Το αποτέλεσμα αυτού του φινιρίσματος είναι μια Release. Η τελευταία Release είναι η 6.2 . Αν επιζητείτε σταθερότητα ή εργάζεστε σε σταθμούς εργασίας είναι καλό να έχετε την τελευταία σταθερή έκδοση και να ΜΗΝ κάνετε αλλαγές (εκτός αν είναι αναγκαίο).

Αν θέλετε να έχετε την τελευταία τρέχουσα (ονομάζεται current) έκδοση του Λ.Σ. FreeBSD ή είστε αναγκασμένοι να αναβαθμίσετε γιατί αλλιώς κάποιες εφαρμογές δεν λειτουργούν, τότε είναι ώρα να δούμε πως. Προσοχή, η αναβάθμιση μπορεί να έχει και αντίθετα αποτελέσματα. Μπορούμε να οδηγηθούμε και από μια λειτουργική εφαρμογή σε μια εφαρμογή με λάθη. Κάντε back-ups ...

Το cvsup (/usr/ports/net/cvsup) είναι ένα εξαιρετικό εργαλείο αναβάθμισης του συστήματος μας. Προϋποθέτει την ύπαρξη του source code στον υπολογιστή μας και η λειτουργία του χονδρικά βασίζεται στο να συγκρίνει τον νεότερο διαθέσιμο κώδικα από κάποιον σέρβερ με τον υπάρχον κώδικα στο σύστημα μας. Αν είναι οι κώδικες είναι οι ίδιοι δεν αλλάζει τίποτε, αν δει πως έχει αλλάξει η έκδοση τότε την αντικαθιστά με την νεότερη.

Για λεπτομερείς πληροφορίες ανατρέξτε στο cvsup.org ή/και στην σχετική σελίδα του FreeBSD HandBook.

Καταρχήν ελέγξτε αν το source code της stable έκδοσης σας περιέχεται στο σύστημα σας. Ελέγξτε αν ο φάκελος /usr/src έχει περιεχόμενο.

$ cd /usr/src && ls -l

Αν o φάκελος /usr/src είναι κενός τότε κατά πάσα πιθανότητα να μην έχετε αντιγράψει τον κώδικα. Θα τον μεταφέρουμε από το CD της εγκατάστασης της έκδοσης FreeBSD. Για να κάνετε mount δώστε:

# mount -t cd9660 /dev/cd0 /cdrom 
ή δείτε το σχετικό post.

Βρείτε τον φάκελο src στο CD (συνήθως στο /cdrom/Release-6.xx.xx/src) και μεταφερθείτε στον φάκελο:

cd /cdrom/Release-6.xx.xx/src 
, και εγκαταστήστε τον στο /usr/src με:
 ./install.sh all 
. Τώρα μεταφερθείτε στο /usr/src . Ο κώδικας έχει εγκατασταθεί; Λογικά ναι.

Ελέγξτε αν η εφαρμογή cvsup είναι εγκατεστημένη.

$ pkg_info | grep cvsup 

Αν δεν είναι εγκατεστημένο, τότε κάντε την εγκατάσταση από τις πόρτες σαν root

# cd /usr/ports/net/cvsup && make install clean 

Το cvsup εκτελεί ένα configuration file ανάλογα με ποιο κομμάτι του συστήματος μας θέλουμε να αναβαθμίσουμε. Όλα τα configuration files βρίσκονται υπό μορφή παραδείγματος στο /usr/share/examples/cvsup/ .

  • cvs-supfile (για αναβάθμιση ολόκληρου του συστήματος, προσωπικά πιστεύω πως είναι περιττό)
  • doc-supfile (για αναβάθμιση της τεκμηρίωσης (documentation) - Αποφάσισα να βοηθήσω λίγο με την μετάφραση της τεκμηρίωσης του FreeBSD στα ελληνικά, και θα γράψω γι'αυτό προσεχώς - εγώ το χρησιμοποιώ αν και ακόμα δεν αξιώθηκα να ξεκινήσω τις μεταφράσεις)
  • ports-supfile (για αναβάθμιση των πορτών - Γι'αυτό θα γίνει εκτενής αναφορά).

Ας υποθέσουμε πως θέλω να αναβαθμίσω ολόκληρη την λίστα των πορτών. Αντιγράφω το ports-supfile στο /usr/src

# cp /usr/share/examples/cvsup/ports-supfile /usr/src/ 
και κάνω μερικές μετατροπές στο αρχείο /usr/src/ports-supfile.

Ανοίξτε το /usr/src/ports-supfile με τον αγαπημένο σας κειμενογράφο και αλλάξτε:

  • Θέστε τον σέρβερ απ'τον οποίο θα αναβαθμίσετε τις πόρτες σας. Εγώ χρησιμοποιώ τον ελληνικό cvsup.gr.FreeBSD.org (βλέπε ntua.gr) λόγω απόστασης
    *default host=cvsup.gr.FreeBSD.org 
  • Αν επιθυμείτε να αναβαθμίσετε όλες τις πόρτες τότε δεν χρειάζεστε καμμιά άλλη αλλαγή. Ελέγξτε μόνο στον τομέα ##PORTS COLLECTIONS## πως αναφέρεται η επιλογή
    ports-all 
    (δίχως δίεση - η δίεση πως ότι ακολουθεί στη γραμμή είναι σχόλιο)
  • Αν θέλετε να αναβαθμίσετε μόνο κάποιες κατηγορίες πορτών (για παράδειγμα μόνο τις editors και finance) και όχι όλες τις υπόλοιπες είναι απλό. Καταργώ με μια δίεση την επιλογή ports-all
    # ports-all
    και σβήνω τις διέσεις από τις επιλογές ports-editors και ports-finance
     ports-editors 
    #ports-emulators
    ports-finance

    Σώστε το αρχείο και κλείστε τον κειμενογράφο σας. Είμαστε έτοιμοι να αναβαθμίσουμε τον κορμό των πορτών (port tree). Από root δώστε :

    # cd /usr/src 
    # cvsup ports-supfile


    Έχοντας αναβαθμίσει τον κορμό των πορτών μπορούμε να αναβαθμίσουμε κάθε εφαρμογή ξεχωριστά ή όλες μαζί χρησιμοποιώντας τα εργαλεία portmanager ή portupgrade. Προσωπικά προτιμώ το portmanager (/usr/ports/ports-mgmt/portmanager). Αν για παράδειγμα θέλω να ανανεώσω όλες τις εφαρμογές - πρέπει να είναι εγκατεστημένο το portmanager - δίνω:

    # portmanager -u 

    Ενώ αν πρόκειται για κάποια συγκεκριμένη εφαρμογή (π.χ. για το gnumeric (/usr/ports/math/gnumeric):
    # portmanager math/gnumeric 

    Αυτός είναι και ένας εναλλακτικός τρόπος να εγκαταστούμε μια εφαρμογή εκτός του τρόπου που είδαμε προηγούμενα.
    Αν πάλι προτιμάτε το portupgrade (/usr/ports/ports-mgmt/portupgrade), για αναβάθμιση όλων των πορτών:
    # portupgrade -a 

    και για κάθε εφαρμογή ξεχωριστά (π.χ. για το gnumeric (/usr/ports/math/gnumeric):
    # portupgrade -R gnumeric 

    upgrade & have fun!

    Comments

    Re: CVSUP (CSUP) | FreeBSD-stable & current mporeis na mou peis pos mporo na kano recompile ton kernel (FreeBSD) apo RELEASE se RELEASE-security (style: uname -a FreeBSD pandora.ispeeds.net 6.2-RELEASE-security FreeBSD 6.2-RELEASE-security #0: Tue Mar 13 03:41:49 EST 2007 ) Den einai RELENG . Ta exw dokimasei ola ta RELENS. Thnx Καταχωρήθηκε από: simon at December 23,2007 14:08

    Re: CVSUP (CSUP) | FreeBSD-stable & current Μμμ...Δεν έχω κάνει ποτέ recompile σε security release (υπάρχει κάτι τέτοιο;). Συνήθως περνάω τις Κρίσιμες Εκδόσεις Ασφαλείας με freebsd-update. Έχω γράψει ένα σχετικό post, αν μπορεί να σε βοηθήσει. Κατεβάζω τα patches (binaries) και τα εγκαθιστώ. H Release εμφανίζεται ως "FreeBSD 6.2-Release-p4". Καταχωρήθηκε από: superuser at December 24,2007 14:25

    Re: CVSUP (CSUP) | FreeBSD-stable & current

    pandora.ispeeds.net 6.2-RELEASE-security FreeBSD 6.2-RELEASE-security #0: Tue Mar 13 03:41:49 EST 2007 )
    
    o server pandora.ispeeds.net einai RELEASE-security apla den ksero pos ginetai... Καταχωρήθηκε από: simon at December 25,2007 12:46

    Posted in  | Tags , , , , ,  | no comments

  • Εγκατάσταση FreeBSD 6.2 (Πόρτες, προγράμματα)

    Posted by superuser Mon, 09 Apr 2007 12:07:00 GMT

    Μετά την επανακκίνηση κάντε login. Αν ακολουθήσατε κατά γράμμα τις συμβουλές μας τότε ο υπολογιστής σας δεν περιέχει κανένα πρόγραμμα. Για να βλέπετε οποισδήποτε στιγμή ποια προγράμματα είναι εγκατεστημένα δώστε:

    $ pkg_info

    Στην περίπτωση μας εμφανίζεται μόνο το

    linux_base-fc-4_9   Base set of packages ...

    Πρώτη εφαρογή που πρέπει να προσθέσουμε ειναι η συλλογή πορτών. Οι πόρτες στην FreeBSD είναι μια λίστα χιλιάδων εφαρμογών, προγραμμάτων που μας επιτρέπει να τα εγκαταστήσουμε άμεσα στον υπολογιστή μας. Δεν χρειάζεται καμμιά ιδιαίτερη ικανότητα προγραμματισμού για να κάνετε την εγκατάσταση.

    Ας εγκαταστήσουμε την συλλογή πορτών (Collection Ports) από το Sysinstall (απλά και μόνο για να δείτε πως μπορούμε ανά πάσα στιγμή να δουλεύουμε και με αυτό το εργαλείο). Από το shell σαν root δίνω:

    # /usr/sbin/sysinstall
    και μου εμφανίζεται το Sysinstall Main Menu. Για να επιλέξετε να εγκαταστήσετε τις πόρτες επιλέξτε Configure(Do post-install configuration of FreeBSD) και μετά distributions(Install Additional Distribution Sets). Η τελευταία επιλογή είναι ports(The FreeBSD ports Collection). Την επιλέγουμε και εγκαθίσταται αυτόματα. Βγαίνουμε από το Sysinstall. Αυτη τη διαδικασία θα μπορούσαμε να την ακολουθούμε για όλα τα πακέτα προγραμμάτων που θέλουμε να φορτώνουμε. Όμως θα δούμε στη συνέχεια ποσο απλά μπορεί να γίνει κατ'ευθείαν από τις πόρτες.

    Πηγαίνουμε στις πόρτες:

    $ cd /usr/ports
    Εδώ βρίσκονται μια σειρά από κατηγορίες προγραμμάτων. Μπείτε σε μερικές απ'αυτές να πάρετε μια ιδέα ή δείτε εδώ. Για παράδειγμα, ας υποθέσουμε πως θέλουμε να εγκαταστήσουμε το σχεδιαστικό πρόγραμμα gimp. Κατ'αρχήν θέλω να βρω σε ποια πόρτα βρίσκεται με την εντολή whereis:
    # whereis gimp
    και η απάντηση είναι:
    gimp: /usr/ports/graphics/gimp
    . Μεταφέρομαι στην πόρτα
    # cd /usr/ports/graphics/gimp
    . Για να εγκαταστήσω το εκάστοτε πρόγραμμα δίνω το μαγικό
     # make install clean 
    . Αυτό είναι όλο. Ας δούμε όμως λίγο από ποια προγράμματα/libraries εξαρτάται το gimp: aalib-1.4.r5_2, expat-2.0.0_1, fontconfig-2.4.2,1, freetype2-2.2.1_1, gettext-0.16.1_1, gimp-print-4.2.7_2, glib-1.2.10_12, gmake-3.81_1, gtk-1.2.10_17, jpeg-6b_4, libdrm-2.0.2, libiconv-1.9.2_2, libijs-0.35_1, libtool-1.5.22_4, perl-5.8.8, pkg-config-0.21, png-1.2.14, tiff-3.8.2_1, xorg-libraries-6.9.0_1 . Ακολουθώντας την μέθοδο εγκατάστασης μέσω πορτών και μέσω FTP (μια γρήγορη σύνδεση είναι απαραίτητη) δεν χρειάζεται ν'ανησηχούμε για την τυχόν έλλειψη κάποιας βιβλιοθήκης ή σχετικής εφαρμογής, διοτι αν κάτι λείπει, το σύστημα θα φροντίσει να το κατεβάσει μέσω FTP και εγκαταστήσει από μόνο του.

    Επομένως για κάθε εφαρμογή που θέλω να εγκαταστήσω πηγαίνω στην πόρτα της (/usr/ports/...) και εκτελώ make install clean. Η εντολή make στην ουσία εκτελεί το αρχείο Makefile που περιέχεται στην directory της πόρτας. Μεταγλωττίζει (κάνει compile) τον πηγιαίο κώδικα και δημιουργεί το εκτελέσιμο πρόγραμμα. Η εντολή make install εγκαθιστά το πρόγραμμα στους τοπικούς φακέλους μας - συνήθως /usr/local/... - και η εντολή make clean σβήνει τους μεταφρασμένους κώδικες που δεν χρειάζονται πια αφού έχουν εγκατασταθεί το πρόγραμμα. Και όντως μπορείτε να εκτελέσετε μία-μία τις τρεις εντολές. Δείτε τα εγκατεστημένα πακέτα με

    $ pkg_info
    . Καλή εγκατάσταση.


    ____________________________________________________

    Comments Re: Εγκατάσταση FreeBSD 6.2 (Πόρτες, προγράμματα) afou exw egatasthsh to kde pos mporo na kanw to pc na ksekinaei automata se kde perivalon? Καταχωρήθηκε από: tux at January 17,2008 13:37

    Re: Εγκατάσταση FreeBSD 6.2 (Πόρτες, προγράμματα) Πρόσθεσε σε μια νέα γραμμή στο αρχείο /etc/rc.conf :

    kdm_enable="YES"
    Κάνε επανακκίνηση και αν είναι σωστά εγκατεστημένο το KDE - και κυρίως αν το xorg αν είναι σωστά ρυθμισμένο - θα ξεκινήσει αυτόματα. Καταχωρήθηκε από: superuser at January 17,2008 15:00

    Re: Εγκατάσταση FreeBSD 6.2 (Πόρτες, προγράμματα) evala to kdm_enable="YES" sto /etc/rc.conf ekana reboot kai tpt .Otan kano egatastash to gnome kai bazo sto /etc/rc.conf gdm_enable="YES" mpeno amesos se grafiko perivalon gnome xwris na pirakso ka8olou to xorg.conf des to /etc/X11/xorg.conf mou

    Section "ServerLayout"
    Identifier "X.org Configured"
    Screen 0 "Screen0" 0 0
    InputDevice "Mouse0" "CorePointer"
    InputDevice "Keyboard0" "CoreKeyboard"
    EndSection
    
    Section "Files"
    RgbPath "/usr/local/share/X11/rgb"
    ModulePath "/usr/local/lib/xorg/modules"
    FontPath "/usr/local/lib/X11/fonts/misc/"
    FontPath "/usr/local/lib/X11/fonts/TTF/"
    FontPath "/usr/local/lib/X11/fonts/OTF"
    FontPath "/usr/local/lib/X11/fonts/Type1/"
    FontPath "/usr/local/lib/X11/fonts/100dpi/"
    FontPath "/usr/local/lib/X11/fonts/75dpi/"
    EndSection
    
    Section "Module"
    Load "GLcore"
    Load "dbe"
    Load "dri"
    Load "extmod"
    Load "glx"
    Load "record"
    Load "xtrap"
    Load "freetype"
    Load "type1"
    EndSection
    
    Section "InputDevice"
    Identifier "Keyboard0"
    Driver "kbd"
    EndSection
    
    Section "InputDevice"
    Identifier "Mouse0"
    Driver "mouse"
    Option "Protocol" "auto"
    Option "Device" "/dev/sysmouse"
    Option "ZAxisMapping" "4 5 6 7"
    EndSection
    
    Section "Monitor"
    Identifier "Monitor0"
    VendorName "Monitor Vendor"
    ModelName "Monitor Model"
    EndSection
    
    Section "Device"
    ### Available Driver options are:-
    ### Values: : integer, : float, : "True"/"False",
    ### : "String", : " Hz/kHz/MHz"
    ### [arg]: arg optional
    #Option "ShadowFB" # []
    #Option "DefaultRefresh" # []
    #Option "ModeSetClearScreen" # []
    Identifier "Card0"
    Driver "vesa"
    VendorName "ATI Technologies Inc"
    BoardName "Unknown Board"
    BusID "PCI:1:0:0"
    EndSection
    
    Section "Screen"
    Identifier "Screen0"
    Device "Card0"
    Monitor "Monitor0"
    SubSection "Display"
    Viewport 0 0
    Depth 1
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 4
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 8
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 15
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 16
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 24
    EndSubSection
    EndSection
    Καταχωρήθηκε από: tux at January 18,2008 13:25

    Re: Εγκατάσταση FreeBSD 6.2 (Πόρτες, προγράμματα) Αν ξεκινά κανονικά στο gnome δεν υπάρχει πρόβλημα με το xorg.conf. Προσπάθησε να δώσεις σαν root:

    # echo "exec startkde" > ~/.xinitrc
    
    και δώσε αμέσως μετά (δίχως reboot)
    # startx
    
    Αν ξεκινήσει το KDE τότε πιθανώς να μην ισχύει πια το kdm_enable="YES" που σου είπα προηγούμενα (είδα πως στο handbook πως δεν αναφέρεται πια. Εγώ χρησιμοποιώ gnome). Αν δεν ξεκινήσει, με την διαδικασία αυτή, στείλε το αρχείο αναφοράς του Xorg (/var/log/Xorg.x.log). Τσέκαρε πριν με pkg_info αν όντως το kde είναι εγκατεστημένο. Καταχωρήθηκε από: superuser at January 20,2008 00:13

    Posted in  | Tags , , , , ,  | no comments