my working environment preferences

Posted by superuser Thu, 31 Dec 2009 12:25:00 GMT

This is a collection of my working environment preferences including nearly everything: OS, Window Manager, Software, Editors, Mailserver, …

The idea for the creation of this list has been adopted from a Pistos’ gist

Environment

Software, Desktop

Software, Server

Programming

Posted in , ,  | Tags  | no comments

installing 3.9b1 wmii window manager on FreeBSD

Posted by superuser Fri, 06 Nov 2009 04:37:00 GMT

Please NOTE that now the port x11-wm/wmii-devel is updated on vers.3.9b1 , so what it follows is not needed !!!
# cd /usr/ports/x11-wm/wmii-devel && make install clean

Yesterday i spent a lot of hours to experiment with wmii window manager in FreeBSD. wmii is a small, dynamic window manager for X11. Offers tiling and classic modes to manage X11 windows, is higlhy scriptable and very well documented.

In FreeBSD ports collection, at the time of this writing, there are available two ports for wmii, the x11-wm/wmii and the newer x11-wm/wmii-devel. x11-wm/wmii port points to the latest stable version of 3..6, but it's reported as deprecated in the official website . On the other side x11-wm/wmii-devel targets to the s20090703 snapshot. In my case i wanted to install the latest recommended (beta) wmii 3.9b1. I have to say that FreeBSD port collection is one of the best packaging system and is updating in a fast and secure way by the ports engineers, but wmii is not the top famous window manager, so it's perfectly normal to not see a beta release here.

I'm not an expert FreeBSD porter but i made small changes on the Makefile of x11-wm/wmii-devel port to update at the latested 3.9b1 and it seems to work fine. You can download here my patch.

Take note that i considered the guidelines from this post, so i removed the dmenu and 9base dependencies of v.3.6 from the Makefile.

Tip for newbies: After applying the changes on wmii-devel's Makefile, do the following

# cd /usr/ports/x11-wm/wmii-devel 
# make makesum

to automatically generate the updated distinfo file of the port, and make install clean as usually

Posted in  | Tags , ,  | no comments

Επίθεση DoS στο vps μου, vnc και αλλαγή πόρτας ssh

Posted by superuser Mon, 05 Oct 2009 13:46:00 GMT

Το περασμένο Σαββατοκύριακο ο πάροχος του vps μου δέχθηκε μεγάλη επίθεση με σκοπό την εσκεμμένη αδρανοποίηση των υπηρεσιών των συστημάτων. Επιθέσεις αυτού του τύπου ονομάζονται και DoS attacks (Denial Of Service). Ο πάροχος αναγκάστηκε να μπλοκάρει την προεπιλεγμένη πόρτα ssh, μιας που οι επιθέσεις (14 ώρες !) αφορούσαν ως επί το πλείστον στην κλασσική πόρτα 22, και προέτρεψε όλους τους πελάτες να αλλάξουν πόρτα ssh. Το σύστημα μου είναι FreeBSD 7.1 vps

Η αλλαγή έπρεπε να γίνει μέσω VNC, μιας που η πόρτα 22 ήταν απενεργοποιημένη.

Εγκατέστησα το tsclient με υποστήριξη για vncviewer.

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

Για να συνδεθώ συμπλήρωσα τα απαραίτητα πεδία:

Παρατηρήστε ότι αν η θύρα (5129) είναι διαφορετική από την προκαθορισμένη 5800, τότε θα πρέπει να την προσθέσετε στο πεδίο Computer (όλα τα στοιχεία του παραδείγματος στη φωτογραφία είναι προφανώς ψεύτικα!)

O.K. Τώρα έχω εισέλθει στο σύστημα μου μέσω VNC και θέλω να αλλάξω την θύρα ssh.
Το μόνο που χρειάζεται να κάνετε είναι να ορίσετε την τιμή του Port στο /etc/ssh/sshd_config . Προσθέστε την νέα πόρτα (ή αφαιρέστε τον σχολιασμό από την ήδη υπάρχουσα καταχώρηση). Στην πείπτωση μου π.χ.

Port 1234

Αρκεί να ξαναφορτώσετε τη διεργασία sshd και είστε έτοιμοι!

# /etc/rc.d/sshd reload

Συνδεθείτε τώρα μέσω ssh αναφέροντας την νέα πόρτα:

 $ ssh myusername@my.vps.net  -p  1234

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

Εγκατάσταση FreeBSD 7.2 (2-βίντεο)

Posted by superuser Mon, 08 Jun 2009 10:11:00 GMT

Έφτιαξα 2 βίντεο για την εγκατάσταση του FreeBSD.

Στο πρώτο βίντεο περιγράφεται πως να κάνετε μια "ελάχιστη" (minimal) εγκατάσταση. Αυτός ο τρόπος προτιμάται για να μην επιβαρύνεται το σύστημα με άχρηστα πακέτα.

Στο δεύτερο βίντεο περιγράφεται πως να εγκαταστήσετε την Συλλογή των Ports, πως να συμπεριλάβετε τον πηγαίο στην εγκατάσταση, πως να ανανεώσετε τα Ports στην τελευταία (current) version, και ένα παράδειγμα εγκατάστασης πακέτου από τα Ports

Ελπίζω να διαφωτίσουν κάπως τη διαδικασία εγκατάστασης

Posted in  | Tags , ,  | no comments

installing-the-scite-editor-on-freebsd-7-2

Posted by superuser Sat, 09 May 2009 06:55:00 GMT

Scite Logo Scite is my favorite text editor the last two years. It’s simple, lightweight and let me execute my scripts just pressing the F5 button (appends the results in the same window). Good indentation and supports a large list of programming languages. Scite is built upon the Scintilla and can be downloaded from here

[updated on 02/10/2009] The following informations are valid only for versions up to 1.79. From version-2, SciTE is using by default gtk20

In order to complete the installation of Scite on FreeBSD (with all 6/7 version) you have to take note of the followings:

Firstly, install Scintilla from the Ports Collection with the option WITH_GTK=yes . By default the port is set up to be built with gtk1.2 and if you do so, the Scite installation will fail.

 # cd /usr/ports/x11-toolkits/scintilla 

  1. make WITH_GTK2=yes install clean

If you are wondering why this happen, take a look at the Makefile of Scintilla port.
.if defined(WITH_GTK2)
USE_GNOME= gtk20
PKGNAMESUFFIX:= -gtk2
.else
USE_GNOME= gtk12
MAKE_ARGS+= GTK1=yes
.endif

Now you’re ready to visit the Scite port

 # cd /usr/ports/editors/scite 

  1. make install clean

and the installation is completed!

Posted in  | 6 comments

FreeBSD Greek Documentation Project

Posted by superuser Sat, 26 Jul 2008 08:58:00 GMT

Το FreeBSD Documentation Project είναι υπεύθυνο για την τεκμηρίωση του FreeBSD και χωρίζεται σε διάφορους τομείς, όπως το website, άρθρα, το εγχειρίδιο χρήσης(handbook), τις σελίδες βοηθείας (man pages), τις συχνές ερωτήσεις(FAQ) κ.α.

Πριν από ένα χρόνο, τον Μάη του 2007, και ξεκινώντας από μηδενική βάση, δημιουργήθηκε μια ομάδα εθελοντών με στόχο την απόδοση της τεκμηρίωσης(documentation) του FreeBSD στην ελληνική γλώσσα. Σήμερα στην ελληνική ομάδα τεκμηρίωσης συμμετέχουν οι :

  • Γιώργος Ιορδάνου
  • Γιώργος Κεραμίδας
  • Μανώλης Κιαγιάς
  • Νίκος Κόκκαλης
  • Παναγιώτης Κρητικάκος
  • Στυλιανός Σιδερίδης
  • Αριστοτέλης Σταματόπουλος
  • Λεωνίδας Τσαμπρός
  • Βαγγέλης Τυπάλδος

Μέχρι τον Δεκέμβριο του 2007 η επικοινωνία μεταξύ των μελών γινότανε μέσω email με πολλές κοινοποιήσεις. Καθώς η ομάδα και η εργασία είχε εξελιχθεί ήταν ώρα για τη δικιά μας mailing list : freebsd-doc-el . Αν επιθυμείτε να λάβετε μέρος στο project, η λίστα είναι το πρώτο μέρος που θα πρέπει να επισκεφτείτε. Γραφτείτε και στείλτε ένα post.

Στο project έχουμε τη τιμή και τη χαρά να συμμετέχουν ο Γιώργος Κεραμίδας (μέλος της Core Team του FreeBSD) και ο Μανώλης Κιαγιάς (doc/www committer του FreeBSD). Συντονίζουν, διορθώνουν και τελειοποιούν την δουλειά των υπολοίπων. Το project επεκτείνεται πέραν της δουλειάς των μεταφράσεων, καθότι συχνά λαμβάνουμε μέρος σε παρουσιάσεις (π.χ. Πανεπιστήμιο Πειραιώς, Fosscomm).

Αν θέλετε μπορείτε να γράψετε δικά σας πρωτότυπα άρθρα, και να διατηρείτε το δικό σας repository με την δικιά σας εργασία μεταφράσεων. Στο hg.hellug.gr μπορείτε να δείτε τα διάφορα mercurial repositories που διατηρούν μέλη της ομάδας για την εργασία τεκμηρίωσης.

Χάρις στο freebsdgr.org του Μανώλη Κιαγιά μπορείτε να δείτε την εργασία τεκμηρίωσης σε html. Πιο συγκεκριμένα:

  • Το Εγχειρίδιο του FreeBSD (Η κύρια πηγή τεκμηρίωσης του FreeBSD. Δεν πρόκειται για ένα απλό εγχειρίδιο. Είναι ένα πραγματικό βιβλίο. Η ομάδα έχει καταφέρει να ολοκληρώσει το πρώτο μέρος (10+ κεφάλαια) και συνεχίζει ακάθεκτη. Ελέγξτε την υψηλή ποιότητα μεταφράσεων και τη καθαρότητα του λόγου. Αυτό είναι αποτέλεσμα των διαδικασιών εργασίας. Μετά την μετάφραση από τα μέλη ακολουθεί μία ή και περισσότερες διορθώσεις, και ελέγχονται σχεδόν τα πάντα (τεχνική ορολογία, σύνταξη, ορθογραφία, ...) πριν φτάσει να ενσωματωθεί με τον υπόλοιπο κορμό.)
  • Συχνές Ερωτήσεις για το FreeBSD 5.X και 6.X(το FAQ του FreeBSD)

Η ομάδα έχει και ένα κανάλι IRC (#bsddocs) που χρησιμοποιεί για chat. Θα βρείτε σχεδόν πάντα κάποια άτομα εκεί για να σας κατοπίσουν σχετικά.
IRC: Server: eu.irc.gr, us.irc.gr, Channel: #bsddocs

Για τη συμμετοχή στο project δεν χρειάζονται ιδιαίτερες γνώσεις ή ικανότητες. Αντιθέτως, νομίζω πως συμμετέχοντας είναι μια καλή ευκαιρία να εμπλουτίσετε τις γνώσεις σας και να συμμετέχετε ενεργά σε μια ομάδα open source. Σας δίνεται η δυνατότητα να συνεργαστείτε σε μία ομάδα εργασίας, και τέλος είναι ένα επιπλέον εφόδιο που μπορείτε να προσθέσετε στο βιογραφικό σας. Στο FreeBSD Documentation Project Primer μπορείτε να πάρετε μια γεύση για το πως θα δουλέψετε με την τεκμηρίωση, αν και δεν είναι αναγκαίο να γνωρίζετε καν τι είναι SGML.

Posted in  | Tags , , , ,  | no comments

Εγκατάσταση MySQL 5.x σε FreeBSD 6.x/7

Posted by superuser Thu, 10 Apr 2008 20:25:00 GMT

Αν επιχειρήσετε να ξεκινήσετε την MySQL-5 στο FreeBSD - ή κάποιο άλλο πακέτο (Joomla, Drupal, ...) που εξαρτάται από αυτήν - πιθανώς να συναντήσετε κάποια δυσκολία στην εκκίνηση της διεργασίας 'mysqld'.Μερικά συνήθη σφάλματα που πιθανώς να δείτε είναι:

localhost# Starting mysqld daemon with databases from /var/db/mysql
STOPPING server from pid file /var/db/mysql/localhost.pid
080410 21:14:27  mysqld ended 
ή
080410 21:10:52  mysqld started
080410 21:10:52  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.
080410 21:10:52  mysqld ended
ή
/usr/local/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!

Καταρχήν, αν δεν έχετε εγκαταστήσει ακόμη τον σέρβερ MySQL-5 αρκεί να ακολουθήσετε την διαδικασία εγκατάστασης από τις "Πόρτες" του FreeBSD {

# cd /usr/ports/databases/mysql50-server
Πιθανώς να επιθυμείτε να εγκαταστήσετε την MySQL με υποστήριξη για χαρακτήρες UTF-8 (συνήθες για την ελληνική γλώσσα, αλλά και για εφαρμογές που δουλεύουν UTF) . Σε αυτή την περίπτωση χρησιμποιήστε την εντολή :
make WITH_CHARSET=utf8 install clean 
στον κατάλογο /usr/ports/databases/mysql50-server (η προσθήκη "WITH_CHARSET=utf8" κάνει τη διαφορά). Αν αντιθέτως δεν θέλετε προεπιλεγμένα κωδικοποίηση utf-8, αγνοήστε αυτή την παράγραφο. Δώστε μόνο
# make install clean
}

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

# /usr/local/bin/mysql_install_db
Ελέγξτε ότι έχει δημιουργηθεί ο κατάλογος /var/db/mysql. Σε αυτό ακριβώς το σημείο οφείλονται και τα προαναφερθέντα μηνύματος σφάλματος. Ο κατάλογος /var/db/mysql δεν έχει τα κατάλληλα δικαιώματα χρήσης για τους χρήστες της ομάδας mysql και ο ιδιοκτήτης του καταλόγου είναι ο root. Με τις ακόλουθες δύο εντολές γραμμής θα αλλάξω τον ιδιοκτήτη και την ομάδα προς αποφυγήν των σφαλμάτων.
# chown -R mysql /var/db/mysql/
# chgrp -R mysql /var/db/mysql/

Ας ξεκινήσουμε τώρα την διεργασία mysqld

/usr/local/bin/mysqld_safe -user=mysql &
[1] 2783
localhost# Starting mysqld daemon with databases from /var/db/mysql
Μμμ, όλα εντάξει. Από δω και πέρα δεν χρειάζεται να ενεργούμε σαν root, επομένως κάνουμε logon σαν απλός χρήστης.

Το τελευταίο βήμα μας, πριν ξεκινήσουμε να δουλεύουμε με την MySQL, είναι να εισάγουμε τον κωδικό πρόσβασης του root της MySQL(ουδεμία σχέση έχει με τον root του συστήματος).

$ /usr/local/bin/mysqladmin -u root password newpassword
(όπου newpassword βάλτε τον δικό σας κωδικό πρόσβασης του root για την MySQL).

Είμαστε έτοιμοι για να τρέξουμε mysql:

$ mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.51a FreeBSD port: mysql-server-5.0.51a

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

Η διαδικασία εγκατάστασης καθώς και της επίλυσης των σφαλμάτων κατά την έναρξη της διεργασίας mysqld αναφέρεται εκτενώς σε διάφορα blog/τεκμηριώσεις/... Η αναφορά στο παρόν blog γίνεται για προσωπική διευκόλυνση,και για κάποιους πιθανώς που απλά προσπαθούν να εγκαταστήστουν κάποιον web application server που χρειάζεται MySQL.

Posted in  | Tags , , , , , , , , ,  | 1 comment

Σαρωτές Usb(Scanners) και FreeBSD 6.x

Posted by superuser Sun, 02 Dec 2007 08:38:00 GMT

Πως να συνδέσετε επιτυχώς το σαρωτή σας στο FreeBSD

Μόλις έκανα την πρώτη μου σάρωση στο FreeBSD!!! Είναι Κυριακή πρωί και έτσι είπα να μοιραστώ μαζί σας την εμπειρία μου. Ο σαρωτής μου είναι ένας usb AGFA SnapScan e25. Η διαδικασία που ακολούθησα βασίζεται σε μεγάλο μέρος στην σελίδα Image Scanners του εγχειριδίου της FreeBSD.

Ο πυρήνας GENERIC στο FreeBSD 6.2 περιέχει τους απαραίτητους οδηγούς (drivers) για σαρωτές usb. Συνδέστε τον σαρωτή σας στη θύρα usb. Αν ο σαρωτής αναγνωρίζεται από το σύστημα θα το δείτε στο αρχείο αναφοράς dmesg. Μόλις συνδέσετε το καλώδιο usb ελέγξτε το αρχείο αναφοράς:

# dmesg | grep uscanner0
 uscanner0: AGFA SNAPSCAN, rev 1.00/1.00, addr 2
Ο σαρωτής μου αναγνωρίστηκε από το σύστημα. Δεν χρειάζεται να φορτώσω κάποιους άλλους οδηγούς.

Το SANE (Scanner Access Now Easy) είναι το εργαλείο διασύνδεσης με τον σαρωτή σας. Περιέχεται στα Ports του FreeBSD και αποτελείται από 2 κομμάτια. Εγκαταστούμε πρώτα το sane-backends (usr/ports/graphics/sane-backends) που είναι απαραίτητο.

# cd /usr/ports/graphics/sane-backends
# make install clean
Ελέγξτε αν όλα είναι εντάξει:
# sane-find-scanner -q
found USB scanner (vendor=0x06bd, product=0x2095) at /dev/uscanner0
και
# scanimage -L
device `snapscan:/dev/uscanner0' is a AGFA SNAPSCAN e25 flatbed scanner

Δοκιμάστε τώρα να σαρώσετε ένα έγγραφο/εικόνα (θα ονομάσω το αρχείο μου test.pnm):

# scanimage >/home/user/Desktop/test.pnm
[snapscan] Cannot open firmware file /usr/local/share/sane/snapscan/your-firmwarefile.bin.
[snapscan] Edit the firmware file entry in snapscan.conf.
Δεν ήμουν τυχερός. Αρκετοί σαρωτές usb χρειάζονται ένα αρχείο .bin (ονομάζεται firmware file) για να λειτουργήσουν. Το αρχείο θα το βρείτε στο CD που παρέχει ο κατασκευαστής για τα Windows. Στην περίπτωση μου έβαλα το CD του σαρωτή AGFA SnapScan e25, και βρήκα στον φάκελο DRIVERS το κατάλληλο αρχείο Snape25.bin . Για μια μεγάλη γκάμα σαρωτών Acer, BenQ, Agfa, Epson, Guillemot / Hercules και Mitsubishi μπορείτε να συμβουλευτείτε τη σελίδα SnapScan Backend for SANE για να βρείτε τον ακριβή τύπο του αρχείου .bin που κάνει στην περίπτωση σας. Αφού βρείτε το αρχείο (στην περίπτωση μου ήταν το Snape25.bin), το αντιγράφετε στον κοινό φάκελο του sane:
#  cp Snape25.bin /usr/local/share/sane/snapscan/
και το δηλώνουμε στο σχετικό αρχείο ρυθμίσεων του sane:
# cd /usr/local/etc/sane.d/
# vi snapscan.conf
#------------------------------ General -----------------------------------

# Change to the fully qualified filename of your firmware file, if
# firmware upload is needed by the scanner
firmware /usr/local/share/sane/snapscan/Snape25.bin
Στην περίπτωση σας δείτε στον φάκελο /usr/local/etc/sane.d/ για τον δικό σας σαρωτή (υπάρχουν ρυθμιστικά αρχείων διαφόρων κατασκευαστών:
# cd /usr/local/etc/sane.d/
# ls
abaton.conf             genesys.conf            ricoh.conf
agfafocus.conf          gt68xx.conf             s9036.conf
apple.conf              hp.conf                 saned.conf
artec.conf              hp4200.conf             sceptre.conf
artec_eplus48u.conf     hp5400.conf             sharp.conf
avision.conf            ibm.conf                sm3840.conf
bh.conf                 leo.conf                snapscan.conf
canon.conf              lexmark.conf            sp15c.conf
canon630u.conf          ma1509.conf             st400.conf
coolscan.conf           matsushita.conf         stv680.conf
coolscan2.conf          microtek.conf           tamarack.conf
dc210.conf              microtek2.conf          teco1.conf
dc240.conf              mustek.conf             teco2.conf
dc25.conf               mustek_usb.conf         teco3.conf
dist                    nec.conf                test.conf
dll.conf                net.conf                u12.conf
dmc.conf                pie.conf                umax.conf
epson.conf              plustek.conf            umax1220u.conf
fujitsu.conf            plustek_pp.conf         umax_pp.conf

Ας ξαναπροσπαθήσω τώρα να κάνω τη σάρωση:

# scanimage >/home/vag/Desktop/test.pnm
[snapscan] Scanner warming up - waiting 30 seconds.
Τα καταφέραμε! Το σκάνερ ζεσταίνεται και σαρώνει κανονικά!

Όπως είπα και παραπάνω το SANE αποτελείται και από ένα άλλο κομμάτι, το οποίο είναι το sane-frontend (usr/ports/graphics/sane-frontend) - ένα γραφικό περιβάλλον που προσφέρει προχωρημένες δυνατότητες σάρωσης (φωτοτυπίες, fax, κλπ) διόρθωση χρωμάτων, πολλαπλή σάρωση κ.α. Δεν είναι αναγκαίο για τη λειτουργία σάρωσης - με την γραμμή εντολών τα καταφέραμε πρωτίτερα, αλλά βοηθάει πολύ. Σύμφωνα με το εγχειρίδιο του FreeBSD, μια διάσημη εναλλακτική λύση στο frontend είναι το Xsane (usr/ports/graphics/xsane). Δυστυχώς δεν τα έχω δοκιμάσει ακόμα. Αν κάποιος έχει εμπειρία με κάποιο γραφικό περιβάλλον σάρωσης ας αφήσει το σχόλιο του....

Σαρώστε με FREEBSD!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

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

FreeBSD και Bluetooth

Posted by superuser Sun, 23 Sep 2007 20:53:00 GMT

Επικοινωνία μεταξύ Bluetooth συσκευών και FreeBSD

Στις ακόλουθες παραγράφους περιγράφεται πως να ρυθμίσετε το FreeBSD σύστημα σας ώστε να επικοινωνεί με συσκευές που υποστηρίζουν το πρωτόκολλο επικοινωνίας Bluetooth

Το Bluetooth είναι μια ασύρματη τεχνολογία ραδιοσυχνοτήτων για την δημιουργία ατομικών δικτύων με εμβέλεια 1,10 ή 100 μέτρων που εκπέμπουν στην ελεύθερη ζώνη των 2,4GHz. Για να μπορεί να επιτευχθεί επικοινωνία κάθε συσκευή θα πρέπει να έχει μικροτσιπ πομποδέκτη που θα εκπέμπει και θα λαμβάνει ραδιοσυχνότητες. Κινητά τηλέφωνα, μερικοί φορητοί υπολογιστές και πολλές μικροσυσκευές έχουν ενσωματωμένο το τσιπ. Αν δεν υπάρχει το τσιπ, θα πρέπει να χρησιμοποιήσουμε usb αντάπτορα (Bluetooth USB dongle). Η εμβέλεια εξαρτάται από την κλάση του τσιπ. Κλάση1: 100μ., Κλαση 2:10μ. Κλάση3:1μ.

Κατ' αρχήν φορτώστε τους οδηγούς (drivers) στον πυρήνα (kernel).

#  kldload ng_ubt 

( ή προσθέστε την ακόλουθη γραμμή στο /boot/loader.conf
#  ng_ubt_load="YES"
και θα φορτωθούν κατά την εκκίνηση. )

Τοποθετήστε τον αντάπτορα bluetooth (usb-dongle) στον υπολογιστή σας και ελέξτε ότι αναγνωρίζεται ο αντάπτορας από το σύστημα:

# dmesg | grep ubt0 

Για την εκκίνηση της στοίβας Bluetooth (Bluetooth stack):

# cp /usr/share/examples/netgraph/bluetooth/rc.bluetooth  /etc/rc.bluetooth

και ξεκινήστε με:
# /etc/rc.bluetooth start ubt0

Αναζήτηση νέων συσκευών:

# hccontrol -n ubt0hci inquiry 
Inquiry result, num_responses=1 Inquiry result #0 BD_ADDR: 00:0e:6d:87:73:2a Page Scan Rep. Mode: 0x1 Page Scan Period Mode: 00 Page Scan Mode: 00 Class: 50:02:04 Clock offset: 0x5255 Inquiry complete. Status: No error [00]

Παρατηρήστε πως η διεύθυνση BD_ADDR είναι η διεύθυνση του απομακρυσμένου πομποδέκτη bluetooth. Είναι σαν την MAC διεύθυνση των καρτών δικτύου. Στην ουσία πρόκειται για ένα δίκτυο, αλλά η μόνη διαφορά έγκυται στο ότι το δίκτυο δημιουργείται στιγμιαία (AD HOC) από την παρουσία δύο ή περισσοτέρων συσκευών Bluetooth. Κάθε φορά που θα θέλουμε να αναφερθούμε από τον υπολογιστή μας στην συγκεκριμένη συσκευή θα χρησιμοποιούμε αυτήν την διεύθυνση (στην περίπτωση της δικής σας συσκευής, θα έχετε διαφορετικό BD_ADDR).

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

# hccontrol -n ubt0hci remote_name_request 00:0e:6d:87:73:2a 
BD_ADDR: 00:0e:6d:87:73:2a Name: Nokia6600

Επειδή θα πρέπει να αναφερόμαστε συχνά στη συσκευή Bluetooth για να μην αναφέρουμε συνέχεια την BD_ADDR καλό είναι να απομνημνεύσουμε το συμβατικό όνομα με αυτήν την διεύθυνση. Πηγαίνουμε στο /etc/bluetooth/hosts και προσθέτουμε την αντιστοιχία της BD_ADDR με το όνομα που επιθυμούμε.

# $Id: hosts,v 1.1 2003/05/21 17:48:40 max Exp $
# $FreeBSD: src/etc/bluetooth/hosts,v 1.1.10.1 2005/11/23 18:03:32 emax Exp $
#
# Bluetooth Host Database
#
# This file should contain the Bluetooth addresses and aliases for hosts.
#
# BD_ADDR               Name [ alias0 alias1 ... ]

# 00:11:22:33:44:55     phone
00:0e:6d:87:73:2a  Nokia6600 

Έπειτα θα πρέπει να θέσουμε τον κωδικό αναγνώρισης (pair) μεταξύ των δύο συσκευών. Προσθέτουμε στο /etc/bluetooth/hcsecd.conf τη συσκευή μας. Το pin είναι της επιλογής σας.

device {
        bdaddr  00:0e:6d:87:73:2a;
        name    "Nokia6600";
        key     nokey;
        pin     "1234";
}

Μπορεί να επιτευχθεί σύνδεση σε επίπεδο πρωτοκόλλου μεταξύ του υπολογιστή και της απομακρυσμένης συσκευής bluetooth:

# hccontrol -n ubt0hci create_connection  00:0e:6d:87:73:2a

όπως επίσης να κάνετε PING στην απομακρυσμένη συσκευή:
# l2ping -a 00:0e:6d:87:73:2a
0 bytes from 00:0e:6d:87:73:2a seq_no=0 time=48.633 ms result=0 0 bytes from 00:0e:6d:87:73:2a seq_no=1 time=37.551 ms result=0 0 bytes from 00:0e:6d:87:73:2a seq_no=2 time=28.324 ms result=0 0 bytes from 00:0e:6d:87:73:2a seq_no=3 time=46.150 ms result=0
Όλα πλέον αρχίζουν να μοιάζουν με το κλασσικό ενσύρματο δίκτυο.

Ξεκινάμε τον δαίμονα Service Discovery Protocol (SDP). Στην ουσία ανιχνεύουμε τις υπηρεσίες που προσφέρει η απομακρυσμενη συσκευή Bluetooth:

# sdpd

Οι προσφερόμενες υπηρεσίες είναι:
# sdpcontrol -a 00:0e:6d:87:73:2a browse

Όταν απλά θέλουμε να μεταφέρουμε αρχεία, φωτογραφίες, μουσική, βίντεο ή επαφές, τότε χρειάζεται από τα παραπάνω να έχουμε απλά ξεκινήσει την στοίβα bluetooth και το sdpd. Για την μεταφορά των δεδομένων θα πρέπει να χρησιμοποιήσουμε την εφαρμογή obexapp (από τις πόρτες /usr/ports/comms/obexapp).
Για να ανεβάσουμε αρχεία στην απομακρυσμένη συσκευή Bluetooth δίνουμε:

# obexapp -a 6600 -C OPUSH
obex>
Για να ανεβάσουμε το αρχείο /home/user/test δίνουμε:
obex> put /home/user/test

Για να κατεβάσουμε ένα αρχείο από την απομακρυσμένη συσκευή στον υπολογιστή μας, φτιάχνουμε κατ'αρχήν έναν φάκελο bluetooth στον /home/user κατάλογο μας. Π.χ. φτιάχνω τον φάκελο /home/user/bluetooth και δίνω την εντολή:

#obexapp -s -S -C 10 -u user -r /home/user/bluetooth

Στην θέση του user πρέπει να βάλετε το username σας. Τώρα μπορείτε να μεταφέρετε τα αρχεία από το κινητό σαε επιλέγοντας ως προορισμό τον υπολογιστή σας (στην περίπτωση μου το κινητό Nokia 6660 βρίσκει τον υπολογιστή σαν localhost(ubt0).

Το κεφάλαιο Bluetooth είναι μια πολύ έξυπνη και νέα τεχνολογία που έχει ακόμη πολλές δυνατότητες. Νομίζω πως το Unix προσφέρει πολλούς τρόπους εξερεύνησης και πειραματισμών με την εν λόγω τεχνολογία.

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

Κρίσιμες Εκδόσεις Ασφαλείας στο FreeBSD

Posted by superuser Tue, 07 Aug 2007 19:37:00 GMT

Το εργαλείο freebsd-update (binary security updates)

Στην τελευταία έκδοση του FreeBSD (6.2) το εργαλείο freebsd-update έγινε μέρος του βασικού συστήματος. Πρόκειται για ένα εργαλείο που μας επιτρέπει να φορτώνουμε κρίσιμες εκδόσεις ασφαλείας και να διορθώνουμε bugs errors του συστήματος. Η χρήση εκτελέσιμων(binary) επιτρέπει και σε ένα γενικό χρήστη να φορτώσει τις ενημερώσεις δίχως να χρειάζεται να δουλέψει με τον πηγαίο κώδικα (patch, compile, ...).

Πριν ξεκινήσετε θα πρέπει να έχετε ενημερώσει τον κώδικα του συστήματος με CVSUP ή portsnap και να έχετε αναβαθμίσει τις πόρτες σας στην τελευταία έκδοση με portmanager ή portupgrade (δείτε παλαιότερο post)

.

Η διαδικασία που ακολουθεί είναι πραγματικά αστεία:

# freebsd-update fetch   #κατεβάζει τις ενημερώσεις (τα patches)

# freebsd-update install  #τις εγκαθιστά

# shutdown -r now  #επανεκκίνηση

Τσεκάρετε την νέα έκδοση του συστήματος σας με
# uname -a

Posted in  | Tags , , , ,  | no comments