Το προφίλ μας στο Google Plus
0

Το Raspbian στο Raspberry Pi

Λίγο καιρό πριν εκδηλώθηκε για άλλη μια φορά η αγάπη μας προς το Raspberry, οπότε κι αγοράσαμε ένα πακέτο με το Pi 3 model B. Στην κάρτα Micro SD που το συνόδευε υπήρχε το NOOBS και πρώτη μας δουλειά ήταν να το αντικαταστήσουμε μ’ ένα image του Raspbian.

Το πακέτο το βρήκαμε στο γερμανικό Amazon και περιλαμβάνει ό,τι χρειάζεται κάποιος που προορίζει το Raspberry Pi για χρήση server, συνεπώς δεν έχει ανάγκη για οθόνη, πληκτρολόγιο ή ποντίκι. Όπως ήδη αναφέραμε, στην κάρτα Micro SD υπήρχε το NOOBS (New Out Of Box Software). Ο εν λόγω installer απαιτεί οθόνη και πληκτρολόγιο, ίσως και ποντίκι. Για να είμαστε ειλικρινείς, κατά την αγορά δεν είχαμε δώσει καμία σημασία στο περιεχόμενο της Micro SD. Λίγες μέρες αργότερα, όταν ξεκινήσαμε για πρώτη φορά το Raspberry Pi και δεν μπορούσαμε να κάνουμε SSH login από ένα MacBook, αμέσως πήραμε το καλώδιο HDMI που υπάρχει στο πακέτο και συνδέσαμε τη συσκευή στην τηλεόραση. Είδαμε τότε το αρχικό μενού του NOOBS, από το οποίο επιλέγουμε λειτουργικό σύστημα προς εγκατάσταση. Θέλαμε το Raspbian και κάλλιστα θα μπορούσαμε να το εγκαταστήσουμε με τη βοήθεια του NOOBS. Αντί όμως να ψάξουμε για πληκτρολόγιο και ποντίκι κλείσαμε το Pi, βάλαμε την κάρτα Micro SD στον SanDisk adapter που επίσης περιλαμβάνεται στο πακέτο, τον συνδέσαμε στη θύρα SD του laptop και φροντίσαμε για τα περαιτέρω.

Στο άρθρο που τώρα διαβάζετε συζητάμε για το πώς περνάμε manually το Raspbian στο Raspberry Pi 3, βεβαίως και για το πώς ρυθμίζουμε το λειτουργικό ώστε να συμπεριφέρεται όπως ακριβώς θέλουμε και να είναι σαφώς ασφαλέστερο. Σε επόμενα άρθρα θα δείξουμε, αναλυτικά και βήμα προς βήμα, μερικά ενδιαφέροντα πρότζεκτ που έχουμε κατά νου και τα υλοποιούμε γύρω από το Raspberry Pi. Στο πρώτο απ’ αυτά τα άρθρα θα ασχοληθούμε με το NextCloud, τον πολλά υποσχόμενο διάδοχο του πάλαι ποτέ ownCloud. Αλλά ας πάρουμε τα πράγματα από την αρχή.

Λήψη Raspbian και μεταφορά στη Micro SD
Ένα image του συγκεκριμένου λειτουργικού συστήματος μπορούμε να κατεβάσουμε από εδώ. Θα γνωρίζετε βεβαίως ότι το Raspbian βασίζεται στο Debian, ίσως και ότι για download διατίθενται δύο εκδοχές: η PIXEL και η LITE. Η πρώτη προορίζεται για χρήση desktop και η δεύτερη κυρίως για server. Επιλέγοντας την εκδοχή LITE μετά από λίγο έχουμε στο δίσκο μας το αρχείο 2016-09-23-raspbian-jessie-lite.zip — ή τουλάχιστον αυτό κατεβάσαμε εμείς την ημέρα του download. Αφού το αποσυμπιέσουμε παίρνουμε το 2016-09-23-raspbian-jessie-lite.img: πρόκειται για το image file που γράφουμε πάνω στη Micro SD. Ένα βολικό κι αξιόπιστο εργαλείο για τη διαδικασία της εγγραφής είναι το Etcher, το οποίο διατίθεται δωρεάν (υπάρχουν εκδοχές για Linux, macOS και Windows). Το εργαλείο είναι απλούστατο στη χρήση και δεν υπάρχει κάποιο σχόλιο που αξίζει να κάνουμε.

Το Etcher είναι ένα άριστο εργαλείο για τη σωστή εγγραφή images σε κάρτες SD και USB flash drives. Διατίθεται για Linux, macOS και Windows. Στο στιγμιότυπο το βλέπουμε να γράφει το image του Raspbian στη συσκευή /dev/disk2 (η Micro SD).

Το Etcher είναι ένα άριστο εργαλείο για τη σωστή εγγραφή images σε κάρτες SD και USB flash drives. Διατίθεται για Linux, macOS και Windows. Στο στιγμιότυπο το βλέπουμε να γράφει το image του Raspbian στη συσκευή /dev/disk2 (η Micro SD).

Προσοχή, προσοχή, προσοχή!
Τη στιγμή που διαβάζετε το παρόν είναι πιθανό να έχετε ήδη κατεβάσει τη νεότερη έκδοση του Raspbian, η οποία σε σχέση μ’ αυτή που χρησιμοποιήσαμε για τις ανάγκες του άρθρου εισάγει μια σειρά από βελτιώσεις ασφαλείας. Στο πλαίσιο αυτών, ο OpenSSH server είναι απενεργοποιημένος. Το γεγονός μάλλον περνά απαρατήρητο απ’ όσους έχουν την εκδοχή PIXEL. Εκείνοι όμως που έχουν την εκδοχή LITE και το Raspberry Pi τους είναι (σκοπίμως) headless, προς μεγάλη τους απογοήτευση θα διαπιστώσουν ότι δεν μπορούν να κάνουν SSH login στο σύστημα. Η λύση είναι να φτιάξουμε ένα αρχείο με όνομα “ssh” (χωρίς τα εισαγωγικά), κάτω από τον κατάλογο /boot. Ο εν λόγω κατάλογος αποτελεί το mount point της ομώνυμης κατάτμησης που είναι διαμορφωμένη κατά vfat. Έτσι, η δημιουργία του αρχείου γίνεται πανεύκολα ανεξαρτήτως του λειτουργικού που τρέχει ο υπολογιστής μας. Στην επόμενη εκκίνηση του Raspbian το αρχείο ssh θα εντοπιστεί κι αυτό θα σηματοδοτήσει την ενεργοποίηση αλλά και την εκκίνηση του OpenSSH server, όπως επίσης και τη διαγραφή του προαναφερθένος αρχείου. Κι ένα τελευταίο σχόλιο: Αν στην προηγούμενη πρόταση εντοπίσατε έναν πλεονασμό (ενεργοποίηση κι εκκίνηση), είναι που δεν έχετε ακόμη διαβάσει το άρθρο μας περί Systemd.

Εκκίνηση του Raspberry και πρώτη σύνδεση μέσω SSH
Αφού βάλουμε τη Micro SD με το Raspbian στο Raspberry Pi (στο εξής RasPi), συνδέσουμε τη συσκευή με ένα καλώδιο Ethernet στον router και βεβαίως στο ρεύμα, λίγα δευτερόλεπτα αργότερα θα μπορούμε να κάνουμε login μέσω SSH. Ποιο είναι όμως το IP του RasPi μας; Ένας τρόπος για να το βρούμε είναι σαρώνοντας το τοπικό δίκτυο, π.χ., με τη βοήθεια του nmap. Εναλλακτικά, κοιτάζουμε στο web panel του router και ψάχνουμε για τη νέα συσκευή. Δείτε τα δύο screenshots που ακολουθούν, διαβάστε τις αντίστοιχες περιγραφές.

Σάρωση του τοπικού δικτύου με χρήση του nmap. Η παράμετρος -sn εκτελεί ένα απλό ping scan, το οποίο για την περίπτωσή μας είναι ακριβώς ό,τι χρειάζεται. Όπως βλέπετε, η τελευταία συσκευή που βρέθηκε είναι το RasPi μας (το hostname του Raspbian είναι χαρακτηριστικό).

Σάρωση του τοπικού δικτύου με χρήση του nmap. Η παράμετρος -sn εκτελεί ένα απλό ping scan, το οποίο για την περίπτωσή μας είναι ακριβώς ό,τι χρειάζεται. Όπως βλέπετε, η τελευταία συσκευή που βρέθηκε είναι το RasPi μας (το hostname του Raspbian είναι χαρακτηριστικό).

Ιδού το RasPi μέσα από το web panel του τοπικού router. Διαφορετικοί routers είναι πιθανό να έχουν εντελώς διαφορετικά web panels. Ψάξτε για τη σελίδα όπου παρατίθενται όλες οι συσκευές του τοπικού δικτύου. Χάρη στο hostname που στέλνει το Raspbian στον όποιο διαθέσιμο DHCP server, δεν θα δυσκολευτείτε να εντοπίσετε τη συσκευή.

Ιδού το RasPi μέσα από το web panel του τοπικού router. Διαφορετικοί routers είναι πιθανό να έχουν εντελώς διαφορετικά web panels. Ψάξτε για τη σελίδα όπου παρατίθενται όλες οι συσκευές του τοπικού δικτύου. Χάρη στο hostname που στέλνει το Raspbian στον όποιο διαθέσιμο DHCP server, δεν θα δυσκολευτείτε να εντοπίσετε τη συσκευή.

Αφού βρούμε τη διεύθυνση IP του RasPi, με τη βοήθεια του αγαπημένου μας SSH client θα συνδεθούμε στο λογαριασμό του Raspbian με username το pi και password το raspberry.

Την πρώτη φορά που επιχειρούμε σύνδεση μέσω SSH μάς ζητείται επιβεβαίωση για το fingerprint του RasPi. Μάλλον το απομακρυσμένο host δεν ανήκει σε κάποιον MiTM attacker, οπότε χωρίς άγχος δεχόμαστε την εγκυρότητα του fingerprint και προχωράμε :)

Την πρώτη φορά που επιχειρούμε σύνδεση μέσω SSH μάς ζητείται επιβεβαίωση για το fingerprint του RasPi. Μάλλον το απομακρυσμένο host δεν ανήκει σε κάποιον MiTM attacker, οπότε χωρίς άγχος δεχόμαστε την εγκυρότητα του fingerprint και προχωράμε :)

Τα απαραίτητα περί ασφάλειας
Προτείνεται τώρα ν’ αλλάξουμε το προκαθορισμένο password του χρήστη pi. Προς τούτο, αρκεί να τρέξουμε το εργαλείο passwd. Θα μας ζητηθεί το τρέχον password του pi, το οποίο όπως αναφέραμε είναι raspberry. Ακολούθως θα πληκτρολογήσουμε το νέο password — δύο φορές, για λόγους ασφαλείας. Και μετά απ’ αυτό, καλό θα ήταν να ρυθμίσουμε έτσι τον OpenSSH server του pi ώστε να δέχεται authentication *μόνο* με βάση τα κλειδιά SSH. Στο όλο θέμα έχουμε αναφερθεί και γράψει πολλές φορές. Αν όμως είναι η πρώτη φορά που διαβάζετε κάτι σχετικό, τότε: α) δείτε το αναλυτικό αυτό άρθρο, β) καλώς ήλθατε στο περιοδικό.

Βασικές ρυθμίσεις συστήματος
Για τη ρύθμιση του Raspbian υπάρχει το βολικό εργαλείο raspi-config, το οποίο λειτουργεί στην κονσόλα απλού κειμένου και το τρέχουμε με δικαιώματα διαχειριστή συστήματος. Μόλις αρχίσαμε να παίζουμε με το Raspbian, οπότε καλό είναι να εξερευνήσουμε και το σύστημα μενού του raspi-config. Δείτε μερικά χαρακτηριστικά screenshots.

Μετά την πρώτη μας σύνδεση στον προκαθορισμένο λογαριασμό χρήστη του Raspbian, καλό θα ήταν να τρέξουμε και το εργαλείο raspi-config (λειτουργεί στο περιβάλλον του τερματικού).

Μετά την πρώτη μας σύνδεση στον προκαθορισμένο λογαριασμό χρήστη του Raspbian, καλό θα ήταν να τρέξουμε και το εργαλείο raspi-config (λειτουργεί στο περιβάλλον του τερματικού).

Σε τι περιβάλλον θέλουμε να ξεκινά το Raspbian; Για τη χρήση που προορίζουμε το δικό μας δεν θέλουμε το περιβάλλον γραφικών, αλλά εκείνο της κονσόλας απλού κειμένου. Επίσης, δεν επιθυμούμε αυτόματη σύνδεση στο λογαριασμό του χρήστη μας. Κάτι τέτοιο θα ήταν επιθυμητό σε άλλα σενάρια, όπου ο κάτοχος του RasPi το έχει κυρίως για χρήση desktop και δεν υπάρχει κάποιος άλλος ο οποίος θα χρησιμοποιούσε τη συσκευή χωρίς να έχει σχετική άδεια.

Σε τι περιβάλλον θέλουμε να ξεκινά το Raspbian; Για τη χρήση που προορίζουμε το δικό μας δεν θέλουμε το περιβάλλον γραφικών, αλλά εκείνο της κονσόλας απλού κειμένου. Επίσης, δεν επιθυμούμε αυτόματη σύνδεση στο λογαριασμό του χρήστη μας. Κάτι τέτοιο θα ήταν επιθυμητό σε άλλα σενάρια, όπου ο κάτοχος του RasPi το έχει κυρίως για χρήση desktop και δεν υπάρχει κάποιος άλλος ο οποίος θα χρησιμοποιούσε τη συσκευή χωρίς να έχει σχετική άδεια.

Κάτι που ορισμένοι (ονόματα δεν λέμε) ξεχνούν να κάνουν για το RasPi τους, είναι να καθορίζουν τη σωστή ζώνης ώρας. Η σχετική επιλογή στο σύστημα μενού του raspi-config μάς υπενθυμίζει αυτή την παράλειψη.

Κάτι που ορισμένοι (ονόματα δεν λέμε) ξεχνούν να κάνουν για το RasPi τους, είναι να καθορίζουν τη σωστή ζώνης ώρας. Η σχετική επιλογή στο σύστημα μενού του raspi-config μάς υπενθυμίζει αυτή την παράλειψη.

Μια από τις ρυθμίσεις που, για εμάς τουλάχιστον, είναι απαραίτητη, αφορά στον καθορισμό hostname για το λειτουργικό. Από προεπιλογή, το hostname είναι raspberrypi.

Μια από τις ρυθμίσεις που, για εμάς τουλάχιστον, είναι απαραίτητη, αφορά στον καθορισμό hostname για το λειτουργικό. Από προεπιλογή, το hostname είναι raspberrypi.

Ιδού το νέο hostname του Raspbian. Ναι, το edition name του τεύχους 056 επιμένει :D

Ιδού το νέο hostname του Raspbian. Ναι, το edition name του τεύχους 056 επιμένει :D

Σημείωση για τα locales
Στο raspi-config θα παρατηρήσετε ότι υπάρχει επιλογή για τον καθορισμό των locales. Αν και κάναμε τις επιλογές μας, λίγο αργότερα στο τερματικό παίρναμε προειδοποιήσεις περί “κενών” μεταβλητών locales (π.χ., τέτοια μηνύματα είχαμε κατά τη διάρκεια εγκαταστάσεων/αναβαθμίσεων πακέτων). Αν θέλετε να είστε βέβαιος ότι τα locales έχουν τεθεί σωστά, με δικαιώματα διαχειριστή κάντε τις επεμβάσεις σας στο αρχείο /etc/default/locale και κατόπιν δώστε sudo locale-gen. Καλού κακού, κάντε και μια επανεκκίνηση με ένα sudo reboot. Δείτε, παρεμπιπτόντως, τα περιεχόμενα του /etc/default/locale στο δικό μας RasPi:

pi@nordostbahnhof:~ $ cat /etc/default/locale 
#  File generated by update-locale
LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LANGUAGE=en_US.UTF-8

Αναβάθμιση και προσωρινός επίλογος
Στο σημείο αυτό το Raspbian είναι σχεδόν έτοιμο για οποιονδήποτε ρόλο σκοπεύουμε να του δώσουμε. Το μόνο που μένει είναι να κάνουμε και μια αναβάθμιση. Όπως στο Debian, στο Ubuntu, στο Mint και σε τόσες άλλες διανομές Linux που βασίζονται στο πρώτο, έτσι και στο Raspbian χρησιμοποιούμε το apt-get:

pi@nordostbahnhof:~ $ sudo apt-get update
pi@nordostbahnhof:~ $ sudo apt-get upgrade

Κατά την πρώτη αναβάθμιση που κάναμε στο Raspbian, είδαμε ότι πρόκειται ν' αναβαθμιστεί κι ο πυρήνας του λειτουργικού. Αμέσως μετά από μια τέτοια αλλαγή πρέπει ν' ακολουθεί και μια επανεκκίνηση του συστήματος -- κι αν όχι 'αμέσως μετά' τότε σίγουρα 'το συντομότερο δυνατόν'.

Κατά την πρώτη αναβάθμιση που κάναμε στο Raspbian, είδαμε ότι πρόκειται ν’ αναβαθμιστεί κι ο πυρήνας του λειτουργικού. Αμέσως μετά από μια τέτοια αλλαγή πρέπει ν’ ακολουθεί και μια επανεκκίνηση του συστήματος — κι αν όχι “αμέσως μετά” τότε σίγουρα “το συντομότερο δυνατόν”.

Σε επόμενο άρθρο δείχνουμε πώς εγκαθιστούμε και ρυθμίζουμε το NextCloud στο Raspbian. Σκοπός μας είναι να αποκτήσουμε ένα σύστημα που έχει τη λειτουργικότητα του Dropbox και βρίσκεται αποκλειστικά υπό τον έλεγχό μας, άρα μπορούμε να του εμπιστευόμαστε την αποθήκευση των δεδομένων μας — ευαίσθητων ή όχι. Πρώτα, όμως, εγκαθιστούμε τον Apache web server και του δίνουμε δωρεάν και έγκυρο πιστοποιητικό από το Let’s Encrypt.

Leave a Reply

You must be logged in to post a comment.

Σύνδεση

Αρχείο δημοσιεύσεων