Welcome to English Planet openSUSE

This is a feed aggregator that collects what the contributors to the openSUSE Project are writing on their respective blogs
To have your blog added to this aggregator, please read the instructions

Mon, Feb 19, 2024

Γιατί οι προγραμματιστές δεν γράφουν τεκμηρίωση;

Γιατί οι προγραμματιστές δεν γράφουν τεκμηρίωση
Όσοι με γνωρίζουν, επιμένω συνέχεια στους προγραμματιστές να γράψουν σχόλια στον κώδικά τους αλλά και να γράφουν τεκμηρίωση γενικότερα.
Πιστεύω ότι υπάρχουν δύο κύριοι λόγοι που οι προγραμματιστές δεν γράφουν τεκμηρίωση. Τα εργαλεία παίζουν το ρόλο τους, αλλά είναι άλλοι λόγοι.

Το γράψιμο είναι δύσκολο

Οι "μηχανικοί λογισμικού" δεν γράφουν γιατί η σαφής γραφή είναι πολύ, ΠΟΛΥ δύσκολη.

Η συγγραφή είναι ένα δύσκολο, απαιτητικό έργο. Απαιτεί να οργανώνουμε με σαφήνεια τις σκέψεις μας, να τις εξετάζουμε κριτικά και να τις εκφράζουμε καθαρά. Το εκφραστικό μέρος μπορεί να απλοποιηθεί σε κάποιο βαθμό (ανάλογα με την ποιότητα γραφής που απαιτείται).

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

Αυτός είναι ο λόγος για τον οποίο πολλοί άνθρωποι διαφωνούν σχετικά με την αξία των σχολίων στον κώδικα και τα πλεονεκτήματα της αυτο-τεκμηρίωσης κώδικα (ό,τι κι αν σημαίνει αυτό). Ο Kevlin Henney λέει ότι "το να ζητάμε σχόλια γύρω από περίπλοκο κώδικα είναι μάταιο, επειδή περιμένουμε από τους ίδιους ανθρώπους που δεν μπορούσαν να εκφραστούν καθαρά στον κώδικα να εκφραστούν καθαρά και κατανοητά με κείμενο (Αγγλικά)".

Η μη τεκμηρίωση δεν εμποδίζει την κυκλοφορία

Εάν ένας προγραμματιστής δεν γράψει τεκμηρίωση, η δουλειά του εξακολουθεί να έχει ολοκληρωθεί. Το να μην γράψει τεκμηρίωση δεν εμποδίζει την κυκλοφορία του προγράμματος (τουλάχιστον όχι αμέσως). Η ζημιά που προκαλείται από τη μη τεκμηρίωση τεχνικών αποφάσεων είναι σωρευτική. Όπως το τεχνικό χρέος, δεν προκαλεί ζημιά εδώ και τώρα.

Όπως ειπώθηκε και παραπάνω, η συγγραφή είναι πρωτίστως θέμα σκέψης και ανάλυσης. Στα περισσότερα μέρη, η συγγραφή κώδικα μπορεί να γίνει εύκολα. Ένας αποδιοργανωμένος σωρός κλάσεων και μεθόδων στον κώδικα μπορεί να λειτουργήσει - ένας σωρός λέξεων και παραγράφων δεν θα λειτουργήσει. Η γραφή ΠΡΕΠΕΙ να είναι σαφής εάν πρόκειται να είναι χρήσιμη. Ο κώδικας θα γίνει αποδεκτός (σε κάποιο βαθμό) αρκεί να κάνει τη δουλειά του. Και δεδομένου ότι οι περισσότεροι οργανισμοί επικεντρώνονται μόνο στην κυκλοφορία του προϊόντος, αυτό που δεν εμποδίζει την κυκλοφορία αγνοείται.

Οι δοκιμές (unit tests) αντιμετωπίζουν παρόμοιο πρόβλημα σε πολλές ομάδες. Για να ελέγξουμε τον κώδικα πρέπει να τον κατανοήσουμε (που απαιτεί περισσότερη προσπάθεια από τη σύνταξη του) και η απουσία δοκιμών δεν εμποδίζει την κυκλοφορία. Επομένως, συνήθως δεν υπάρχουν δοκιμές σε κώδικα.

Υπάρχει και το θέμα της παλαιότητας. Ακόμη και τα καλά έγγραφα είναι παρωχημένα, επομένως οι προγραμματιστές πρέπει να συνεχίζουν να επαναλαμβάνουν το σκέφτομαι-αναλύω-εκφράζω ξανά και ξανά καθώς κατασκευάζουν συστήματα. Έτσι, η αποφυγή της συγγραφής της τεκμηρίωσης είναι εύκολη. Έτσι, ακόμη και με τις καλύτερες προθέσεις, η τεκμηρίωση συμβαίνει συχνά μόνο σε στιγμές συγγραφής και καθαρισμού.

Τι γίνεται με τα εργαλεία

Δεν υπάρχει αμφιβολία ότι το σύνολο εργαλείων που χρησιμοποιούνται συνήθως για την τεκμηρίωση λογισμικού σήμερα είναι θλιβερά ανεπαρκή. Δεν σκεφτόμαστε τα έγγραφα ένα-ένα. Σκεφτόμαστε με όρους ιδεών και στόχων συγκεντρώνοντας πολλές έννοιες ταυτόχρονα. Το έγγραφο που προκύπτει είναι μόνο μια εκδήλωση της διαδικασίας σκέψης. Χρειαζόμαστε εργαλεία που μπορούν να μας βοηθήσουν να συγκεντρώνουμε ιδέες διαχρονικά για να λύσουμε το πρόβλημα. Τα Έγγραφα Google, το Confluence, το Markdown είναι όλα κακά εργαλεία για αυτόν τον τύπο γραφής.

Ωστόσο, μια νέα γενιά εργαλείων όπως το Notion και το Roam αντιμετωπίζουν αυτό το πρόβλημα της αξιοποίησης των εργαλείων. Ας ελπίσουμε ότι αυτά θα λειτουργήσουν όπως προβλέπεται και θα βοηθήσουν στη σκέψη που οδηγεί στη συγγραφή.

Ωστόσο, η έλλειψη δεύτερου εγκεφάλου δεν μπορεί πραγματικά να χρησιμοποιηθεί ως δικαιολογία για τη μη χρήση του πρώτου. Τα εργαλεία παίζουν το ρόλο τους, αλλά η προθυμία να αναλάβει τη διαδικασία είναι το πραγματικό εμπόδιο.

Πώς να δημιουργείτε λοιπόν τεκμηρίωση

Το λογισμικό γραφής μας δίδαξε ένα πράγμα. Αν θέλετε πραγματικά οι χρήστες σας να κάνουν κάτι, τότε αυτό θα πρέπει να είναι ένα βήμα που τους εμποδίζει στο ταξίδι τους με το προϊόν σας. Με τον ίδιο τρόπο, η προσαρμογή τεκμηρίωσης σε γραπτό κώδικα δεν πρόκειται ποτέ να λειτουργήσει. Ακόμα χειρότερα, είναι άχρηστη. Η συγγραφή έχει να κάνει με την κριτική σκέψη. Σκοπός της είναι να εξηγήσετε τη διαδικασία σκέψης και την πρόθεσή σας στον εαυτό σας και στο ακροατήριό σας (π.χ. την ομάδα σας). Η διαδικασία σκέψης είναι το σημείο όπου η τεκμηρίωση/συγγραφή προσθέτει αξία, όχι ως στατική καταγραφή ήδη υλοποιημένου κώδικα.

Οι υποστηρικτές του προγραμματισμού mob/pair και των XP συχνά υποτιμούν την τεκμηρίωση. Αλλά αν δεν υιοθετηθούν αυτές οι τεχνικές, η πρακτική της συγγραφής και της αναθεώρησης των τεχνικών εγγράφων είναι ο μόνος τρόπος με τον οποίο οι ομάδες οικοδομούν μια συλλογική κατανόηση αυτού που προσπαθούν να οικοδομήσουν. Αυτή η κοινή οικοδόμηση του κόσμου είναι που καθιστά αυτή τη διαδικασία κρίσιμη για τη μακροπρόθεσμη υγεία της ομάδας και της βάσης κώδικα.

Ο μόνος τρόπος για να καταστεί βιώσιμη η διαδικασία συγγραφής τεκμηρίωσης είναι να την καταστήσουμε ανασταλτικό παράγοντα για την ανάπτυξη λογισμικού. Να την κάνουμε ελαφριά αλλά υποχρεωτική. Θα πρέπει να γίνει μέρος της διαδικασίας αντί να είναι ένα ακόμη πράγμα που πρέπει να κάνουμε. Μερικά πράγματα που έχουν λειτουργήσει για αυτό από την εμπειρία μου.
  • Γράψτε τεκμηρίωση πριν τον κώδικα. Εκτός αν η αλλαγή είναι ασήμαντη, κάθε προγραμματιστής γράφει ένα σημείωμα για το τι πρόκειται να κάνει και το περνάει από την υπόλοιπη ομάδα. Στο τέλος της συζήτησης, η πραγματική συγγραφή κώδικα θα πρέπει να γίνει ασήμαντη.
  • Γράψτε απλά. Μην περιπλέκετε το κείμενο, τουλάχιστον μέχρι να γίνει συνήθεια. Τα διαγράμματα, οι φανταχτερές ενότητες κ.λπ. μπορούν να περιμένουν. Γράψτε πολύ απλά για το τι σκεφτήκατε, τι κάνετε και γιατί. Ακόμη και αν το έγγραφο μπορεί να χρησιμεύσει ως βασικός δείκτης για την υπόλοιπη ομάδα τώρα και στο μέλλον, είναι εξαιρετικά πολύτιμο.
  • Τεκμηριώστε την απόφαση με τις εναλλακτικές τους - Αντί να τεκμηριώνετε λεπτομερώς την πραγματική υλοποίηση (η οποία μπορεί να αλλάξει με την πάροδο του χρόνου), επικεντρωθείτε στην τεκμηρίωση των επιλογών και του λόγου για τον οποίο έγιναν. Αυτό είναι κάτι που ο κώδικας δεν μπορεί ποτέ να εξηγήσει και ως εκ τούτου η καταγραφή του τον κάνει πολυτιμότερο. Οι λεπτομέρειες μπορούν να τεκμηριωθούν με βάση τον χρόνο που είστε διατεθειμένοι να επενδύσετε.
  • Κάντε την αναζητήσιμη - Καμία ποσότητα τεκμηρίωσης δεν θα έχει καμία χρησιμότητα εάν οι χρήστες δεν μπορούν να την βρουν. Χρησιμοποιήστε εργαλεία που υποστηρίζουν την αναζήτηση κειμένου. Αυτός είναι ένας από τους λόγους για τους οποίους δεν μου αρέσουν τα Έγγραφα Google για τεκμηρίωση. Είναι εξαιρετικό για τη συγγραφή, αλλά απλά απαίσιο για τη συνεργασία και την ανακάλυψη της πληροφορίας.
  • Παρακολουθήστε τις αλλαγές. Ορισμένοι οργανισμοί χρησιμοποιούν τον έλεγχο εκδόσεων (version control όπως πχ github) για να παρακολουθούν τις αλλαγές στο σχεδιασμό του συστήματος με την πάροδο του χρόνου. Αυτό είναι υπέροχο. Αλλά αν δεν έχετε φτάσει ακόμα εκεί, κρατήστε ένα έγγραφο ανά χαρακτηριστικό και συνεχίστε να βάζετε σε αυτό ενημερώσεις με ημερομηνία, ώστε η εξέλιξη να μπορεί να παρακολουθείται σε ένα μέρος με ελάχιστη ταλαιπωρία.
Γιατί οι προγραμματιστές δεν γράφουν τεκμηρίωση
Η ελπίδα είναι ότι καθώς η ομάδα φαίνεται να αντιλαμβάνεται τα πλεονεκτήματα της ύπαρξης και της αναθεώρησης ορισμένων εγγράφων (π.χ. τα νέα μέλη χρειάζονται λιγότερη βοήθεια) και η συγγραφή γίνεται συνήθεια, η πρακτική θα γίνει αυτοσυντηρούμενη. Μέχρι τότε, θα πρέπει να αντιμετωπίζεται όπως η γυμναστική ή η δίαιτα - επώδυνη αλλά απαραίτητη.

Sun, Dec 10, 2023

Γνωριμία με το Open Build Service

open build service
Το Open Build Service (OBS) είναι μια πλατφόρμα ανοικτού κώδικα που παρέχει ένα πλήρες σύστημα αυτοματοποιημένης δημιουργίας πακέτων λογισμικού από τον πηγαίο κώδικα. Αρχικά αναπτύχθηκε από την εταιρεία SUSE, αλλά τώρα είναι διαθέσιμο ως ένα ελεύθερο λογισμικό υπό την άδεια GPL.

Το Open Build Service παρέχει ένα ολοκληρωμένο περιβάλλον για την κατασκευή πακέτων λογισμικού για πολλές διανομές Linux, όπως το openSUSE, το Fedora, το Debian, το Ubuntu και πολλές άλλες. Επιπλέον, υποστηρίζει τη δημιουργία πακέτων για αρχιτεκτονικές διαφορετικές από το x86, όπως ARM και PowerPC. Με το OBS, οι προγραμματιστές μπορούν να ανεβάζουν τον κώδικά τους, να ορίζουν τις απαιτούμενες εξαρτήσεις και να δημιουργούν αυτόματα πακέτα λογισμικού για πολλές πλατφόρμες και διανομές.

Τα πλεονεκτήματα του Open Build Service είναι πολλά. Πρώτον, παρέχει μια ενοποιημένη πλατφόρμα για τη δημιουργία πακέτων λογισμικού για πολλαπλές διανομές, εξοικονομώντας χρόνο και πόρους στους προγραμματιστές. Δεύτερον, προσφέρει αυτοματοποιημένες διαδικασίες για τη δημιουργία και την ενημέρωση των πακέτων, προσφέροντας ένα σταθερό και επαναληπτικό περιβάλλον. Τέλος, παρέχει ευέλικτες δυνατότητες προσαρμογής και διαμόρφωσης, επιτρέποντας στους χρήστες να προσαρμόσουν τις διαδικασίες κατασκευής και να προσθέσουν πρόσθετες λειτουργίες ανάλογα με τις ανάγκες τους.

Παρά τα πλεονεκτήματα του Open Build Service, υπάρχουν και μειονεκτήματα που πρέπει να ληφθούν υπόψη. Πρώτον, η εκμάθηση και η εξοικείωση με το σύστημα μπορεί να απαιτήσει χρόνο και προσπάθεια, ειδικά για νέους χρήστες. Δεύτερον, η συντήρηση και η διαχείριση των υποδομών του OBS μπορεί να απαιτήσει επιπλέον πόρους και επιδεξιότητες. Αυτό μπορεί να το παρέχει το openSUSE στην ιστοσελίδα https://build.opensuse.org/.

Χρήστες του Open Build Service

Όσον αφορά στους χρήστες του Open Build Service, αυτοί κυμαίνονται από ανεξάρτητους προγραμματιστές μέχρι μεγάλες επιχειρήσεις. Οι προγραμματιστές μπορούν να αξιοποιήσουν το OBS για να διευκολύνουν τη διαδικασία της κατασκευής, της δοκιμής και της διανομής του λογισμικού τους σε πολλές πλατφόρμες και διανομές. Από την άλλη πλευρά, οι μεγάλες επιχειρήσεις μπορούν να αξιοποιήσουν το OBS για τη δημιουργία ενός ενοποιημένου κέντρου κατασκευής λογισμικού, που επιτρέπει τον έλεγχο και τη διαχείριση των πακέτων σε διάφορες διανομές και πλατφόρμες.

Όσον αφορά στον τρόπο χρήσης του Open Build Service, οι χρήστες μπορούν να ανεβάζουν τον κώδικα τους στο σύστημα στην ιστοσελίδα https://build.opensuse.org/ και να ορίζουν τις απαιτούμενες εξαρτήσεις για την κατασκευή του πακέτου. Στη συνέχεια, μπορούν να εκκινήσουν τη διαδικασία κατασκευής, η οποία περιλαμβάνει τη συγκέντρωση και τη σύνθεση των απαιτούμενων στοιχείων για την παραγωγή του τελικού πακέτου με τη χρήση ενός αρχείο spec. Οι χρήστες μπορούν να διαμορφώσουν τις διαδικασίες κατασκευής, να προσθέσουν πρόσθετες ενέργειες και να διαχειριστούν τις εξαρτήσεις τους. Τέλος, το OBS παρέχει διάφορα εργαλεία και δυνατότητες για την αυτοματοποίηση της διαδικασίας κατασκευής, τη διαχείριση των πακέτων και την ενημέρωση του λογισμικού.

openSUSE Build Service
Συνοψίζοντας, το Open Build Service είναι μια πλατφόρμα λογισμικού ανοιχτού κώδικα που προορίζεται για τη δημιουργία και την αυτοματοποίηση της διαδικασίας κατασκευής πακέτων λογισμικού. Παρέχει πλεονεκτήματα, όπως την υποστήριξη πολλαπλών διανομών και αρχιτεκτονικών, την αυτοματοποίηση και την προσαρμοστικότητα. Χρησιμοποιείται από προγραμματιστές και επιχειρήσεις για τη δημιουργία και τη διαχείριση πακέτων λογισμικού σε διάφορες πλατφόρμες και διανομές. Με τη βοήθεια του OBS, οι χρήστες μπορούν να αυτοματοποιήσουν και να διαχειριστούν τη διαδικασία κατασκευής πακέτων λογισμικού.

Wed, Nov 01, 2023

OpenQA - Το εργαλείο ελέγχου ποιότητας λογισμικού που αυξάνει την αξιοπιστία και την αποτελεσματικότητα

openqa
Το openQA είναι ένα εργαλείο αυτοματοποιημένου ελέγχου ποιότητας λογισμικού (QA), που χρησιμοποιείται για τον έλεγχο της λειτουργικότητας, της απόδοσης και της αξιοπιστίας μιας εφαρμογής. Βασίζεται στην αυτοματοποίηση των διαδικασιών ελέγχου, χρησιμοποιώντας τεχνικές δοκιμής για να ελέγξει το λογισμικό και να εντοπίσει πιθανά σφάλματα ή ασυνέπειες.

Υπάρχουν αρκετοί λόγοι για τους οποίους κάποιος θα μπορούσε να χρησιμοποιήσει το openQA για τον έλεγχο της ποιότητας του λογισμικού του. Καταρχήν, η αυτοματοποίηση των διαδικασιών ελέγχου επιτρέπει την εκτέλεση γρήγορων και αξιόπιστων δοκιμών, εξοικονομώντας χρόνο και πόρους στη διάρκεια της διαδικασίας ανάπτυξης του λογισμικού. Επιπλέον, η αυτοματοποίηση μπορεί να εξασφαλίσει υψηλότερη ακρίβεια και συνέπεια στις δοκιμές, αποτρέποντας την ανθρώπινη παραμέληση και λανθασμένες εκτελέσεις.

Το openQA χρησιμοποιείται από μια ποικιλία οργανισμών και κοινοτήτων που αναπτύσσουν λογισμικό. Παραδείγματα οργανισμών που χρησιμοποιούν το openQA περιλαμβάνουν την openSUSE, τόσο για την διανομή όσο και άλλως προγραμμάτων και εργαλείων, και το Fedora QA. Και οι δύο οργανισμοί χρησιμοποιούν το openQA για να ελέγξουν την ποιότητα των νέων εκδόσεων του λογισμικού τους πριν από την κυκλοφορία τους, εντοπίζοντας πιθανά σφάλματα και διασφαλίζοντας την ομαλή λειτουργία του συστήματος.

Η χρήση του openQA συνίσταται σε μια σειρά βημάτων. Καταρχήν, πρέπει να δημιουργηθούν σενάρια δοκιμών που θα εκτελεστούν αυτοματοποιημένα. Αυτά τα σενάρια μπορούν να περιλαμβάνουν ενέργειες όπως πλοήγηση στην εφαρμογή, εισαγωγή δεδομένων και επαλήθευση αποτελεσμάτων. Έπειτα, τα σενάρια δοκιμών εκτελούνται αυτοματοποιημένα σε ένα περιβάλλον ελέγχου, όπου το openQA παρακολουθεί την εκτέλεσή τους και ελέγχει τα αποτελέσματα. Οποιαδήποτε ασυμφωνία ή σφάλμα που εντοπίζεται από το openQA αναφέρεται και αναλύεται για περαιτέρω έρευνα και διόρθωση.

Ένα παράδειγμα χρήσης του openQA είναι η διαδικασία έλεγχου της νέας έκδοσης μιας διανομής Linux, όπως η openSUSE. Το openQA εκτελεί αυτοματοποιημένα δοκιμαστικά σενάρια σε διάφορα συστήματα, μοντέλα και περιβάλλοντα για να δοκιμάσει τη λειτουργικότητα και τη σταθερότητα της διανομής. Εάν το openQA ανιχνεύσει οποιαδήποτε σφάλματα, αποτυχίες ή ασυνέπειες, θα δημιουργήσει αναφορές για να επισημάνει τα προβλήματα προς τους προγραμματιστές, οι οποίοι θα αναλάβουν τη διόρθωση και την επανεξέταση του κώδικα. Αυτός είναι ο λόγος που η openSUSE Tubleweed καταφέρνει να εισάγει πρώτη (αν όχι πρώτη, τότε από τις πρώτες διανομές), τις τελευταίες εκδόσεις των προγραμμάτων, των GUI κλπ.

openqa test overview
Συνοψίζοντας, το openQA είναι ένα ισχυρό εργαλείο αυτοματοποιημένου ελέγχου ποιότητας λογισμικού που χρησιμοποιείται για να αυξήσει την αξιοπιστία, την αποτελεσματικότητα και την ποιότητα των εφαρμογών λογισμικού. Με την αυτοματοποίηση των διαδικασιών ελέγχου, το openQA επιτρέπει στις οργανώσεις να εξοικονομήσουν χρόνο και πόρους, ενώ παρέχει ακρίβεια και συνέπεια στις δοκιμές. Οι κοινότητες και οργανισμοί όπως η openSUSE και το Fedora χρησιμοποιούν το openQA για τον έλεγχο και τη βελτίωση των λογισμικών τους, ενώ επιτρέπει στους προγραμματιστές να εντοπίζουν και να διορθώνουν πιθανά σφάλματα. Αυτό το εργαλείο συμβάλλει στην ανάπτυξη υψηλής ποιότητας και αξιόπιστου λογισμικού για τους χρήστες.

Tue, Aug 01, 2023

Εξερευνώντας τη δύναμη του openSUSE MicroOS: Μια επαναστατική διανομή Linux

openSUSE Micro OS
Στην εποχή του containerization και των cloud-native εφαρμογών, η αποτελεσματική διαχείριση της ανάπτυξης λογισμικού είναι ζωτικής σημασίας για τη διατήρηση της σταθερότητας, της ασφάλειας και της επεκτασιμότητας. Το openSUSE MicroOS, ένα καινοτόμο λειτουργικό σύστημα που βασίζεται στα θεμέλια του openSUSE, προσφέρει μια εξορθολογισμένη και βελτιστοποιημένη πλατφόρμα για φόρτο εργασίας που βασίζεται σε containers. Σχεδιασμένο για να απλοποιεί την ανάπτυξη και τη λειτουργία εφαρμογών που βασίζονται σε containers, το openSUSE MicroOS συνδυάζει τις καλύτερες πτυχές της αξιοπιστίας του openSUSE και του μοντέλου ατομικών ενημερώσεων που πρωτοπορεί το CoreOS. Αυτό το άρθρο διερευνά τα βασικά χαρακτηριστικά και τα οφέλη του openSUSE MicroOS και πώς δίνει τη δυνατότητα στους προγραμματιστές και τους διαχειριστές συστημάτων να αγκαλιάσουν το μέλλον του containerization.

Αποδοτικές ατομικές ενημερώσεις

Το openSUSE MicroOS διακρίνεται για το μοντέλο ατομικών ενημερώσεων, εξασφαλίζοντας συνεκτικές και αξιόπιστες ενημερώσεις χωρίς να διαταράσσονται οι εφαρμογές που εκτελούνται. Χρησιμοποιώντας τη λειτουργία transactional updates, το λειτουργικό σύστημα εφαρμόζει αυτόματα τις ενημερώσεις ως ενιαία μονάδα, εξαλείφοντας τις πολυπλοκότητες που σχετίζονται με τους παραδοσιακούς μηχανισμούς ενημέρωσης. Η προσέγγιση αυτή μειώνει σημαντικά τον κίνδυνο αποτυχιών του συστήματος που προκαλούνται από μερικές ενημερώσεις και απλοποιεί τη διαδικασία επαναφοράς σε περίπτωση τυχόν προβλημάτων.

Αμετάβλητο σύστημα αρχείων

Στην καρδιά του openSUSE MicroOS βρίσκεται ένα αμετάβλητο σύστημα αρχείων root μόνο για ανάγνωση. Με την υιοθέτηση ενός αμετάβλητου σχεδιασμού, το λειτουργικό σύστημα διασφαλίζει ότι τα βασικά στοιχεία του συστήματος παραμένουν αναλλοίωτα, ενισχύοντας τη σταθερότητα και την ασφάλεια. Οποιεσδήποτε τροποποιήσεις ή εγκαταστάσεις αποθηκεύονται σε container και αποθηκεύονται σε ξεχωριστά στιγμιότυπα με δυνατότητα εγγραφής, τα οποία μπορούν εύκολα να απορριφθούν ή να ανακληθούν αν χρειαστεί. Αυτή η προσέγγιση επιτρέπει επίσης καλύτερη αναπαραγωγιμότητα και εγγυάται ότι το σύστημα παραμένει σε γνωστή και προβλέψιμη κατάσταση.

Εστίαση σε container

Το openSUSE MicroOS έχει σχεδιαστεί με μια νοοτροπία που είναι πρώτα από τα container. Ενσωματώνεται καλά με τεχνολογίες container όπως το Docker και το Kubernetes, παρέχοντας μια απρόσκοπτη εμπειρία για προγραμματιστές και διαχειριστές. Με το βελτιστοποιημένο σύστημα του host, το openSUSE MicroOS προσφέρει ελάχιστο αποτύπωμα, μειώνοντας την επιφάνεια επίθεσης και βελτιστοποιώντας τη χρήση των πόρων. Επιπλέον, η ενσωμάτωσή του με πλατφόρμες ενορχήστρωσης container επιτρέπει την αποτελεσματική κλιμάκωση, εξισορρόπηση φορτίου και διαχείριση εφαρμογών με container.

Ενισχυμένη ασφάλεια και απομόνωση

Η ασφάλεια αποτελεί πρωταρχικό μέλημα στα σύγχρονα υπολογιστικά περιβάλλοντα. Το openSUSE MicroOS ενσωματώνει διάφορα χαρακτηριστικά για να διασφαλίσει ισχυρή ασφάλεια και απομόνωση για τα φορτία εργασίας που βασίζονται σε container. Χρησιμοποιώντας τεχνολογίες όπως το SELinux και το AppArmor, το λειτουργικό σύστημα επιβάλλει αυστηρούς ελέγχους πρόσβασης και απομονώνει τα container, αποτρέποντας τη μη εξουσιοδοτημένη πρόσβαση και μειώνοντας τον αντίκτυπο των πιθανών ευπαθειών. Επιπλέον, το μοντέλο ατομικής ενημέρωσης διασφαλίζει την άμεση εφαρμογή των επιδιορθώσεων ασφαλείας, ελαχιστοποιώντας το παράθυρο έκθεσης σε γνωστές ευπάθειες.

Ευκολία διαχείρισης

Το openSUSE MicroOS προσφέρει μια βελτιωμένη και διαισθητική εμπειρία διαχείρισης. Με εργαλεία οι διαχειριστές μπορούν να διαχειρίζονται εύκολα τις ενημερώσεις, τις επαναφορές και τη διαχείριση στιγμιότυπων, διασφαλίζοντας τη συνέπεια και την αξιοπιστία του συστήματος. Επιπλέον, το εργαλείο Yomi απλοποιεί την ανάπτυξη και τη διαχείριση των συστοιχιών Kubernetes, διευκολύνοντας τη δημιουργία και τη συντήρηση περιβαλλόντων container. Αυτά τα εργαλεία διαχείρισης, σε συνδυασμό με το μοντέλο ατομικών ενημερώσεων, μειώνουν σημαντικά τον διαχειριστικό φόρτο, επιτρέποντας στους διαχειριστές συστημάτων να επικεντρωθούν σε εργασίες υψηλότερης αξίας.

Κατεβάστε το openSUSE MicroOS

Το openSUSE MicroOS είναι διαθέσιμο για δωρεάν λήψη από τον ιστότοπο του openSUSE. Μπορείτε να κατεβάσετε το openSUSE MicroOS για μια ποικιλία αρχιτεκτονικών, συμπεριλαμβανομένων των x86_64, ARMv6, ARMv7 και ARMv8.

Συμπέρασμα

Το openSUSE MicroOS είναι ένα εξαιρετικό λειτουργικό σύστημα που φέρνει στο προσκήνιο τη δύναμη των container. Με το μοντέλο ατομικής ενημέρωσης, το αμετάβλητο σύστημα αρχείων, τη σχεδίαση που εστιάζεται σε container, τις βελτιωμένες δυνατότητες ασφαλείας και τα απλοποιημένα εργαλεία διαχείρισης, το openSUSE MicroOS παρέχει μια στέρεη βάση για την αποτελεσματική και ασφαλή εκτέλεση φόρτου εργασίας με container. Είτε είστε προγραμματιστής που αναζητά ένα σταθερό και βελτιστοποιημένο περιβάλλον είτε διαχειριστής συστήματος που αναζητά βελτιωμένες δυνατότητες διαχείρισης, το openSUSE MicroOS είναι μια συναρπαστική επιλογή που συνδυάζει τα δυνατά σημεία του openSUSE με τα πλεονεκτήματα των σύγχρονων τεχνολογιών container.

Θα βρείτε ερωτήσεις και απαντήσεις σχετικά με το Micro OS στο formum του openSUSE.

Βίντεο

Δείτε κάποια βίντεο σχετικά με το Micro OS.


Thu, Feb 23, 2023

Νους υγιής εν κώδικα υγιεί

Open Source Software
Αυτό είναι εμπνευσμένο θέμα που το έχω αγαπήσει ιδιαίτερα.

Ένα υγιές μυαλό οδηγεί σε υγιή κώδικα. Το ένα είναι απαραίτητο για να έχουμε το άλλο. Το θέμα το λάτρεψα διότι συνέβη και σε εμένα κατά τη διάρκεια του έτους. Πέρασε χρόνος που δεν αισθανόμουν ιδιαίτερα καλά λόγω προσωπικών θεμάτων.

Νομίζω ότι είναι απαραίτητο να υπενθυμίσουμε στους εαυτούς μας ότι δεν είμαστε ρομπότ. Χρειαζόμαστε ελεύθερο χρόνο κάθε τόσο και πρέπει να ισορροπήσουμε σωστά τη ζωή μας. Θα πρέπει να ζείτε τη ζωή σας. Δεν πρέπει να ξοδεύετε κάθε στιγμή που ξυπνάτε στο project που δουλεύετε, διότι δεν είναι υγιές. Μπορείτε να ξοδέψετε ένα μεγάλο μέρος του χρόνου σας σε projects που σας ευχαριστούν.

Το πιο σημαντικό πράγμα είναι να λέτε συχνά ΟΧΙ. Αυτό είναι και δικό μου λάθος. Μπορείτε να πειτε ΟΧΙ δεν μπορώ όταν κάποιος σας ρωτά "Μπορείς να κάνεις αυτό;". Βέβαια μπορείτε να πείτε και ΝΑΙ μερικές φορές. Μην τα ισοπεδώνουμε.

Υπάρχουν άλλα σημαντικά πράγματα.
  • Ένα από τα πιο σημαντικά πράγματα είναι ο ύπνος. Να κοιμάστε πολλές ώρες. Να ξεκουραστείτε.
  • Επίσης σημαντικές είναι οι φιλίες. Μπορείτε να έχετε φιλίες. Φιλίες εντός του project είτε εκτός. Θα σας κάνουν να αισθανθείτε περίφημα.
  • Υιοθετήστε έναν έναν υγιεινό τρόπο ζωής και ίσως μερικές φορές σκεφτείτε τη δική σας κατάσταση του μυαλού. Πώς αισθάνεστε και πώς σας κάνει να νιώθετε το project που συνεισφέρετε. Ίσως επειδή ίσως σας αγχώνουν, είναι καλό να καταλάβετε γιατί αγχώνεστε και έτσι κάνετε σωστά την ερώτηση στον εαυτό σας.

Να έχετε υπόψη σας ότι τα projects ανοικτού λογισμικού αποτελούν μια εθελοντική προσπάθεια. Δεν βγάζετε κάτι από αυτό, σωστά; Οπότε θα πρέπει να έχετε στο νού σας να πάρετε κάτι από αυτό. Ίσως είναι απόλαυση, ίσως είναι απλώς η αίσθηση της κοινότητας, η αίσθηση της φιλίας που βιώνουμε. Αυτό που σίγουρα δεν θέλετε να έχετε είναι να χάσετε τον ύπνο σας. Γι' αυτό αν υπάρχει ένα ιδιαίτερα δύσκολο πρόβλημα που αντιμετωπίζετε στην καθημερινή σας δουλειά στο project σας, απλώς ρωτήστε κάποιον άλλο. Πάρτε τη γνώμη κάποιου άλλου. Μην χάσετε τον ύπνο σας. Ο ύπνος είναι πολύ σημαντικός. Φυσικά μερικές φορές μπορεί απλώς να χρειαστεί να αποστασιοποιηθείτε από τα πράγματα.

Ορίστε μερικές συμβουλές, μερικές πολύ γενικές συμβουλές:

  • Να ξέρετε τα όριά σας. Μην αγχώνεστε πολύ αν δεν μπορείτε να διορθώσετε όλα τα σφάλματα στον κόσμο. Τα μισά από αυτά μπορεί να ειναι ΟΚ. Μην απλώσετε το εύρος ζώνης σας, ακόμα και αν πιστεύετε ότι αυτό που θα κάνετε θα σας αποφέρει ευχαρίστηση.
  • Μερικές φορές είναι εντάξει να κάνετε διακοπές για μερικά χρόνια. Εννοώ ότι μπορείτε να απέχετε από το project ανοικτού λογισμικού που συνεισφέρετε. Όλη η κοινότητα θα σας αγαπά ακόμα όταν επιστρέψετε. Και ελπίζω ότι θα επιστρέψετε.
  • Δεν χρειάζεται να σχεδιάζετε υπερβολικά τη ζωή σας. Να είστε ελεύθεροι να δεσμευτείτε στο project που σας άρεσε και συνεισφέρατε τόσο χρόνο, μόνο και μόνο επειδή συντηρείτε ένα κομμάτι λογισμικού δεν σημαίνει ότι έχετε το παντρευτήκατε και πρέπει να το συντηρείτε για πάντα. Μπορεί να κάνετε ένα βήμα πίσω και να μπείτε σε ένα άλλο έργο πχ έρευνας και ανάπτυξης.
  • Αν διαπιστώσετε ότι κάτι δεν σας προσφέρει ικανοποίηση, δεν σας προσφέρει απόλαυση, μειώστε τον χρόνο που διαθέτετε σε αυτό. Καλύτερα είναι να το αφήσετε τελείως, ιδιαίτερα αν είναι μια λίστα αλληλογραφίας ή κάτι άλλο που δεν οδηγεί σε τίποτα παραγωγικό ούτως ή άλλως
Healthy Git

Νους υγιής εν κώδικα υγιεί

Open Source Software
Αυτό είναι εμπνευσμένο θέμα που το έχω αγαπήσει ιδιαίτερα.

Ένα υγιές μυαλό οδηγεί σε υγιή κώδικα. Το ένα είναι απαραίτητο για να έχουμε το άλλο. Το θέμα το λάτρεψα διότι συνέβη και σε εμένα κατά τη διάρκεια του έτους. Πέρασε χρόνος που δεν αισθανόμουν ιδιαίτερα καλά λόγω προσωπικών θεμάτων.

Νομίζω ότι είναι απαραίτητο να υπενθυμίσουμε στους εαυτούς μας ότι δεν είμαστε ρομπότ. Χρειαζόμαστε ελεύθερο χρόνο κάθε τόσο και πρέπει να ισορροπήσουμε σωστά τη ζωή μας. Θα πρέπει να ζείτε τη ζωή σας. Δεν πρέπει να ξοδεύετε κάθε στιγμή που ξυπνάτε στο project που δουλεύετε, διότι δεν είναι υγιές. Μπορείτε να ξοδέψετε ένα μεγάλο μέρος του χρόνου σας σε projects που σας ευχαριστούν.

Το πιο σημαντικό πράγμα είναι να λέτε συχνά ΟΧΙ. Αυτό είναι και δικό μου λάθος. Μπορείτε να πειτε ΟΧΙ δεν μπορώ όταν κάποιος σας ρωτά "Μπορείς να κάνεις αυτό;". Βέβαια μπορείτε να πείτε και ΝΑΙ μερικές φορές. Μην τα ισοπεδώνουμε.

Υπάρχουν άλλα σημαντικά πράγματα.
  • Ένα από τα πιο σημαντικά πράγματα είναι ο ύπνος. Να κοιμάστε πολλές ώρες. Να ξεκουραστείτε.
  • Επίσης σημαντικές είναι οι φιλίες. Μπορείτε να έχετε φιλίες. Φιλίες εντός του project είτε εκτός. Θα σας κάνουν να αισθανθείτε περίφημα.
  • Υιοθετήστε έναν έναν υγιεινό τρόπο ζωής και ίσως μερικές φορές σκεφτείτε τη δική σας κατάσταση του μυαλού. Πώς αισθάνεστε και πώς σας κάνει να νιώθετε το project που συνεισφέρετε. Ίσως επειδή ίσως σας αγχώνουν, είναι καλό να καταλάβετε γιατί αγχώνεστε και έτσι κάνετε σωστά την ερώτηση στον εαυτό σας.

Να έχετε υπόψη σας ότι τα projects ανοικτού λογισμικού αποτελούν μια εθελοντική προσπάθεια. Δεν βγάζετε κάτι από αυτό, σωστά; Οπότε θα πρέπει να έχετε στο νού σας να πάρετε κάτι από αυτό. Ίσως είναι απόλαυση, ίσως είναι απλώς η αίσθηση της κοινότητας, η αίσθηση της φιλίας που βιώνουμε. Αυτό που σίγουρα δεν θέλετε να έχετε είναι να χάσετε τον ύπνο σας. Γι' αυτό αν υπάρχει ένα ιδιαίτερα δύσκολο πρόβλημα που αντιμετωπίζετε στην καθημερινή σας δουλειά στο project σας, απλώς ρωτήστε κάποιον άλλο. Πάρτε τη γνώμη κάποιου άλλου. Μην χάσετε τον ύπνο σας. Ο ύπνος είναι πολύ σημαντικός. Φυσικά μερικές φορές μπορεί απλώς να χρειαστεί να αποστασιοποιηθείτε από τα πράγματα.

Ορίστε μερικές συμβουλές, μερικές πολύ γενικές συμβουλές:

  • Να ξέρετε τα όριά σας. Μην αγχώνεστε πολύ αν δεν μπορείτε να διορθώσετε όλα τα σφάλματα στον κόσμο. Τα μισά από αυτά μπορεί να ειναι ΟΚ. Μην απλώσετε το εύρος ζώνης σας, ακόμα και αν πιστεύετε ότι αυτό που θα κάνετε θα σας αποφέρει ευχαρίστηση.
  • Μερικές φορές είναι εντάξει να κάνετε διακοπές για μερικά χρόνια. Εννοώ ότι μπορείτε να απέχετε από το project ανοικτού λογισμικού που συνεισφέρετε. Όλη η κοινότητα θα σας αγαπά ακόμα όταν επιστρέψετε. Και ελπίζω ότι θα επιστρέψετε.
  • Δεν χρειάζεται να σχεδιάζετε υπερβολικά τη ζωή σας. Να είστε ελεύθεροι να δεσμευτείτε στο project που σας άρεσε και συνεισφέρατε τόσο χρόνο, μόνο και μόνο επειδή συντηρείτε ένα κομμάτι λογισμικού δεν σημαίνει ότι έχετε το παντρευτήκατε και πρέπει να το συντηρείτε για πάντα. Μπορεί να κάνετε ένα βήμα πίσω και να μπείτε σε ένα άλλο έργο πχ έρευνας και ανάπτυξης.
  • Αν διαπιστώσετε ότι κάτι δεν σας προσφέρει ικανοποίηση, δεν σας προσφέρει απόλαυση, μειώστε τον χρόνο που διαθέτετε σε αυτό. Καλύτερα είναι να το αφήσετε τελείως, ιδιαίτερα αν είναι μια λίστα αλληλογραφίας ή κάτι άλλο που δεν οδηγεί σε τίποτα παραγωγικό ούτως ή άλλως
Healthy Git

Tue, Jun 21, 2022

Εγκατάσταση και ρυθμίσεις του i3-wm στο openSUSE

i3 logo

ΕΠΙΛΟΓΗ ΓΡΑΦΙΚΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ

Κατά την μετάβασή σας από Windows σε Linux, θα επιλέξετε ποια διανομή σας βολεύει περισσότερο (από πλευράς εργαλείων για την δουλειά που θέλετε τον υπολογιστή) και στη συνέχεια επιλέγετε ποιο γραφικό περιβάλλον σας αρέσει περισσότερο. Προσωπικά χρησιμοποιώ GNOME και έχω μάθει τις περισσότερες ρυθμίσεις του. Δεν συστήνω άλλο γραφικό περιβάλλον σε νέους χρήστες, γιατί γνωρίζω ότι θα μου τηλεφωνήσουν για κάποια ρύθμιση και είμαι σίγουρος ότι μπορώ να τους βοηθήσω.

Τελευταία χρησιμοποιώ για εκπαιδευτικούς σκοπούς κάποιους υπολογιστές με όχι και τόσο προηγμένες δυνατότητες. Μιλάμε για 1GB μνήμη, για 4GB μνήμη. Έχω εγκατεστημένο ένα θεωρητικά απλό γραφικό περιβάλλον, αλλά έχω εγκαταστήσει και τον διαχειριστή παραθύρων i3wm. Με βόλεψε αρκετά και πλέον δεν μου είναι δύσκολο να το χρησιμοποιήσω και σε πιο δυνατούς υπολογιστές. Οπότε ξεκίνησα την εγκατάσταση και την ρύθιση. Βρήκα κάποια έτοιμα αρχεία ρυθμίσεων και προσάρμοσα έτσι όπως με βολεύουν. Θα τα μοιραστώ μαζί σας εδώ.

ΕΓΚΑΤΑΣΤΑΣΗ

Η εγκατάσταση είναι πολύ απλή. Υπάρχει στο wiki στο openSUSE. Γίνεται με μια απλή εντολή:
sudo zypper install i3 dmenu i3status

Επειδή θα χρειαστούμε και κάποια εργαλεία (θα αναφέρω παρακάτω) καλύτερα να τα εγκαταστήσετε με τη μία, με την εντολή:
sudo zypper install i3 i3status i3lock dmenu gtk-doc gobject-introspection dh-autoreconf autoconf lxappearance automake libtool glib2-devel feh arandr rofi compton gtk-chtheme libnotify4 NetworkManager-applet maim xclip byzanz feh perl-Sys-MemInfo

Έτοιμο...
openSUSE i3wm


ΡΥΘΜΙΣΕΙΣ

Το παιχνίδι θα παιχτεί στις ρυθμίσεις. Στο τέλος θα σας έχω link με τις δικές μου ρυθμίσεις. Εδώ θα δούμε 2-3 πραγματάκια. Όλα θα ρυθμιστούν στο αρχείο .config/i3/config.

ΠΛΗΚΤΡΟ MOD

Πλήκτρο mod είναι αυτό που χρησιμοποιείται για διάφορες λειτουργίες (όπως να ανοίξετε ένα πρόγραμμα). Εγώ χρησιμοποιώ το πλήκτρο Windows (ή super key), επειδή θα χρησιμοποιήσω το alt για αλλαγή γλώσσας. Το πλήκτρο ρυθμίζεται κατά την πρώτη εκκίνηση του i3wm αλλά μπορείτε να το αλλάξετε και μετά. Εγώ έχω αυτά στην κορυφή του αρχείου config.
# Alt key
# set $mod Mod1


# Windows key
set $mod Mod4


ΔΙΚΤΥΟ

Το δίκτυο είναι μεγάλο μανίκι. Στο netbook χρησιμοποιώ το wicd-curses. Στο openSUSE χρησιμοποιώ το nm-applet (στην φωτογραφία είναι αυτό που βλέπετε κάτω δεξιά). Γενικά υπάρχει τρόπος σύνδεσης στο ασύρματο δίκτυο μέσω τερματικού, αλλά δυσκολεύει πολλούς (και εμένα). Οπότε έψαξα ένα πιο εύκολο τρόπο. Το συγκεκριμένο applet έγινε εγκατάσταση με το πακέτο NetworkManager-applet. Πρόσθεσα στο τέλος του αρχείου config τις γραμμές.
# Network
exec nm-applet


Εάν είστε λίγο πιο hardcore τύποι, μπορείτε να συνδεθείτε με τη βοήθεια του YaST. Όμως καλύτερα να ανοίξετε ένα τερματικό (mod+enter) και να γράψετε την εντολή:
nmtui

openSUSE i3wm nmtui

Βλέπετε ότι η οθόνη είναι μεν στο τερματικό αλλά μπορείτε να χρησιμοποιήσετε τα βελάκια. Εάν επιλέξετε το ενεργοποιήστε μια σύνδεση, θα μπορείτε να επιλέξετε το ασύρματο δίκτυο που επιθυμείτε...
openSUSE i3wm επιλογή ασύρματου δικτύου


ΕΝΑΛΛΑΓΗ ΓΛΩΣΣΑΣ

Όπως είπα παραπάνω, άφησα το πλήκτρο alt για να κάνω την αλλαγή της γλώσσας. Πρόσθεσα στο τέλος του αρχείου config την εντολή:
# Layout
exec "setxkbmap -layout us,el"
exec "setxkbmap -option 'grp:alt_shift_toggle'"

Μια άλλη εναλλακτική είναι να προσθέστε την παρακάτω γραμμή.
# Layout
exec_always "setxkbmap -option 'grp:alt_shift_toggle' -layout us,el -variant ,qwerty"

Στο αρχείο /etc/locale.conf είχα τα παρακάτω:
LANG="el_GR.UTF-8"

Ίσως να χρειάζεται να είναι διαφορετικό. Αν δεν σας αλλάζει η γλώσσα, θα πρεπει να πειράξετε αυτό το αρχείο.

ΠΡΟΣΘΗΚΗ WALLPAPER

Αυτό δεν είναι απαραίτητο. Απλά προσφέρει λίγη ομορφιά. Θα χρειστεί να έχετε εγκατεστημένο το πρόγραμμα feh. Εγώ έχω μια φωτογραφία και την έχω προσέσει σταθερά με την παρακάτω γραμμή στο τέλος του αρχείου config.
# Wallpaper
exec --no-startup-id feh --bg-scale ~/Pictures/opensuse-wallpaper.jpg

Μια εναλλακτική, είναι να φτιάξετε ένα κατάλογο Wallpapers μέσα στον κατάλογο Pitures και να βάλετε όλα τα αρχεία που σας αρέσουν. Στη συνέχεια προσθέστε την παρακάτω γραμμή στο τέλος του αρχείου config και κάθε φορά που ανοίγει ο υπολογιστής, θα εμφανίζεται διαφορετική φωτογραφία στο background.
# Wallpaper
exec --no-startup-id feh --randomize --bg-scale ~/Pictures/Wallpapers/*


ΗΧΟΣ

Η αυξομοίωση του ήχου είναι ένα πρόβλημα. Πρόσθεσα τα παρακάτω:
# Volume
bindsym $mod+comma exec amixer set Master -q 5%-
bindsym $mod+period exec amixer set Master -q 5%+

Ουσιαστικά πατώντας το mod και το κόμμα, μειώνεται ο ήχος ενώ με το mod και την τελεία, αυξάνεται ο ήχος.

ΛΗΨΗ ΣΤΙΓΜΙΟΤΥΠΟΥ ΟΘΟΝΗΣ

Δοκίμασα πολλές λύσεις. Κάποιες δούλεψαν, κάποιες όχι. Θα γράψω πρώτα αυτή που χρησιμοποιώ και μετά τις υπόλοιπες. Σχεδόν για όλες τις λύσεις, χρειάζεται να έχετε εγκατεστημένα τα προγράμματα maim, xclip, byzanz.

Κάπου ενδιάμεσα στο αρχείο config πρόσθεσα τις παρακάτω γραμμές.
# Printscreen
# Screenshots
bindsym Print exec --no-startup-id maim "/home/$USER/Pictures/Screenshot-$(date -Iseconds | cut -d'+' -f1).png"
bindsym $mod+Print exec --no-startup-id maim --window $(xdotool getactivewindow) "/home/$USER/Pictures/Screenshot-$(date -Iseconds | cut -d'+' -f1).png"
bindsym Shift+Print exec --no-startup-id maim --select "/home/$USER/Pictures/Screenshot-$(date -Iseconds | cut -d'+' -f1).png"

## Clipboard Screenshots
bindsym Ctrl+Print exec --no-startup-id maim | xclip -selection clipboard -t image/png
bindsym Ctrl+$mod+Print exec --no-startup-id maim --window $(xdotool getactivewindow) | xclip -selection clipboard -t image/png
bindsym Ctrl+Shift+Print exec --no-startup-id maim --select | xclip -selection clipboard -t image/png

Τελειώσαμε με το αρχείο config. Απλά για reference, σας αφήνω από την ιστοσελίδα του project, την χρήση του πληκτρολογίου.
i3 χρήση πληκτρολογίου


i3 χρήση πληκτρολογίου

Επίσης μπορείτε να κατεβάσετε και το αρχείο pdf με όλες τις λειτουργίες των συνδυασμών των πλήκτρων.

ΡΥΘΜΙΣΕΙΣ ΑΡΧΕΙΟΥ .i3status.conf

Αυτο είναι ένα αρχείο που θα το αποθηκεύσετε στο home. Ουσιαστικά θα κάνει την ρύθμιση με τις πληροφορίες που θέλετε να φαίνεται στην κάτω μπάρα.
i3 status μπάρα
Βλέπουμε στην παραπάνω μπάρα, εμφανίζονται με την σειρά:
  1. Ένταση ηχείων
  2. Κατανάλωση μνήμης
  3. Φόρτωση διεργασιών (αριθμός των διεργασιών έτοιμων προς εκτέλεση για τα τελευταία 1 λεπτό, 5 λεπτά, 15 λεπτά)
  4. Ελεύθερος αποθηκευτικός χώρος στο /home
  5. Ασύρματο δίκτυο (IP, ποιότητα, ταχύτητα)
  6. Ενσύρματο δίκτυο (IP, ποιότητα, ταχύτητα)
  7. Ημερομηνία και ώρα
  8. nm-applet (για σύνδεση στο ασύρματο με την χρήση ποντικιού)


Δείτε μερικές φωτογραφίες:

i3 dmenui3 dmenu: Με την χρήση του πλήκτρου mod (πλήκτρο με το σήμα των windows) και το d, ανοίγει το πλαίσιο αυτό. Εδώ πληκτρολογείτε το πρόγραμμα που θελετε να ανοίξετε.

i3 τερματικάΥπάρχουν και προγράμματα που μπορείτε να κάνετε αυτό (Tmux). Εδώ βλέπουμε 3 τερματικά ανοικτά (μπορείτε να έχετε και άλλα προγράμματα ανοικτά)

i3 FirefoxΕδώ είναι ανοικτό το Firefox με 2 παράθυρα ανοικτά και τακτοποιημένα σε καρτέλες (πάνω φαίνεται να είναι χωρισμένα στη μέση)


Όλα τα αρχεία βρίσκονται εδώ:

  • Αποθήκευση του config στον φάκελο .config/i3/
  • Αποθήκευση του αρχείου .i3status.conf στον φάκελο του χρήστη (~)


Είχα γράψει παλιά ένα άρθρο:
Διαχειριστής παραθύρων i3. Ότι πιο γρήγορο έχω χρησιμοποιήσει...στο openSUSE

Περιέχει παλιές ρυθμίσεις. Αυτό είναι ανανεωμένο με τελευταίες πληροφορίες.

Tue, Feb 08, 2022

Αυτόματη εγκατάσταση openSUSE με χρήση του autoyast

ΠΡΟΒΛΗΜΑ

Έστω ότι έχετε να εγκαταστήσετε πολλούς ίδιους υπολογιστές σε ένα εργαστήριο ή μια εταιρία. Ο παραδοσιακός τρόπος σκέψης είναι είτε να βάλετε να εγκαθίστανται οι υπολογιστές ανά 2 (ώστε να τους προσέχετε), είτε να εγκαταστήσετε ένα υπολογιστή, έτσι όπως το θέλετε (με προγράμματα κλπ), στη συνέχεια να πάρετε το image του δίσκου με το clonezilla (δείτε πως) και να το περάσετε στους άλλους υπολογιστές.

Ο πιο έξυπνος τρόπος είναι να κάνετε όλη αυτή τη διαδικασία με τη χρήση του autoyast.

Εδώ θα δούμε αρχικά πως δημιουργείται το αρχείο autoinst.xml και στη συνέχεια πως γίνεται η εγκατάσταση χωρίς χέρια.

ΕΓΚΑΤΑΣΤΑΣΗ autoyast

Πρώτα πρέπει να εγκαταστήσουμε το module.
sudo zypper in autoyast2 autoyast2-installation

ΔΗΜΙΟΥΡΓΙΑ ΑΡΧΕΙΟΥ autoinst.xml

Η δημιουργία μπορεί να γίνει με 2 τρόπους. Ο ένας είναι να ξεκινήσετε να γράφετε μόνοι σας το αρχείο αυτό με τη χρήση της τεκμηρίωσης. Δεν το συνιστούμε, γιατί θα πάρει πάρα πολύ χρόνο με τις δοκιμές. Ο άλλος πιο εύκολος τρόπος είναι να εγκαταστήσετε έναν υπολογιστή με openSUSE (Leap ή Tumbleweed) και στη συνέχεια να εκτελέσετε μια εντολή, ώστε να λάβετε το αρχείο που θα δημιουργηθεί. Πάμε να δούμε πως γίνεται αυτό και ποιες ιδιαιτερότητες έχει.

Ανοίξτε τερματικό και δώστε την εντολή:
sudo yast2 clone_system
Όπως λέει και η οθόνη, το αποτέλεσμα, θα βρεθεί στον κατάλογο /root/autoinst.xml.
Δημιουργία autoinst.xml
Πρέπει να περιμένετε λίγο γιατί κλωνοποιεί όλο το σύστημά σας.
Αναμονή για δημιουργία του aytoinst.xml
Μια εναλλακτική λύση είναι η εντολή:
/sbin/yast2 autoyast
Θα σας ανοίξει το γραφικό YaST για να κάνετε τις ρυθμίσεις και μετά να αποθηκεύσετε.
YaST δημιουργία του αρχείου autoinst.xml
Επειδή κατά την εγκατάσταση, μπορεί να σας ρωτήσει (δείτε παρακάτω φωτογραφία) για κάποια GPG κλειδιά πχ από το Packman ή άλλα αποθετήρια, μπορείτε να ρυθμίσετε εδώ να τα αποδέχεστε. Μπορείτε να πάρετε και να επεξεργαστείτε το αρχείο, σύμφωνα με τα δεδομένα σας και με ένα απλό επεξεργαστή κειμένου. Απλά δείτε στην τεκμηρίωση που είναι αυτό που θέλετε να αλλάξετε. Υπάρχουν κάποια σημεία που πρέπει να δούμε πιο προσεκτικά, αλλά θα τα εξηγηθούν προς το τέλος.

ΕΓΚΑΤΑΣΤΑΣΗ ΜΕ ΧΡΗΣΗ ΑΡΧΕΙΟΥ autoinst.xml

Ξεκινήστε τον υπολογιστή με το DVD του openSUSE (Leap ή Tumbleweed). Στην οθόνη που εμφανίζεται, πατήστε τα βελάκια να μετακινηθείτε στο Installation. Στο πλαίσιο γράψτε την παρακάτω εντολή.
netsetup=1 autoyast=https://raw.githubusercontent.com/iosifidis/dot-files/master/openSUSE/autoinst-t.xml

Εγκατάσταση με autoyast
Στην παραπάνω εικόνα, να σημειώσουμε τα εξής:

1. Χρησιμοποιείται η έκδοση openSUSE Tumbleweed.
2. Ξεκινάει το δίκτυο με το netsetup=1. Θα μας ρωτήσει εάν θέλουμε να ρυθμίσουμε μόνοι μας το δίκτυο ή να πάρει τις ρυθμίσεις από τον DHCP.
3. Γίνεται χρήση ενός αρχείου από το github. Ποιες είναι πιο σημαντικές τιμές που παίρνει η παράμετρος autoyast;

- autoyast=usb:///PATH: Ανακτά το αρχείο ελέγχου από συσκευές USB (το autoyast θα αναζητήσει όλες τις συνδεδεμένες συσκευές USB).
- autoyast=https://[user:password@]SERVER/PATH: Ανακτά το αρχείο ελέγχου από έναν διακομιστή με χρήση HTTPS. Το όνομα χρήστη και το συνθηματικό είναι προαιρετικά.

Περιμένετε λοιπόν να τελειώσει. Θα κάνει και επανεκκίνηση να ξέρετε. Και είστε έτοιμοι.
Autoyast κατά την εγκατάσταση


ΠΙΘΑΝΑ ΠΡΟΒΛΗΜΑΤΑ

1. Ερωτήματα κατά την εγκατάσταση

Όπως ειπώθηκε, αν έχετε προσθέσει και αποθετήρια που είναι εκτός openSUSE, θα ερωτηθείτε εάν αποδέχεστε το κλειδί. Οπότε έτσι "διακόπτεται" η εγκατάσταση χωρίς χέρια.
Αποδοχή Untrusted GnuPG key
Μπορείτε όμως να τα αλλάξετε, όπως είπαμε παραπάνω.

2. Χρήστης και συνθηματικό

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

Στο παραπάνω αρχείο, βλέπουμε την γραμμή:
Χρήστης autoyast
Εδώ βλέπουμε τον χρήστη yolo και ως κωδικό βλέπουμε να είναι κρυπτογραφημένο το suserocks (πράγματι, το openSUSE rocks). Από την τεκμηρίωση βλέπουμε ότι μπορεί να μπει και χωρίς encryption.

Το ίδιο θα βρείτε (με τον ίδιο κωδικό) και για τον χρήστη root. Όμως τι συμβαίνει αν τυχόν θέλουμε άλλον χρήστη; Αρχικά μπορείτε να αλλάξετε το αρχείο (αναζητείστε στο αρχείο για yolo και αντικαταστήστε με αυτό που θέλετε). Εναλλακτικά μπορείτε να κάνετε την εγκατάσταση, να μπείτε στον χρήστη root και να διαγράψετε τον χρήστη yolo. Στην συνέχεια φτιάξτε έναν χρήστη, όπως θέλετε εσείς.

3. Κατατμήσεις

Το θέμα των κατατμήσεων είναι το μόνο που μπορεί να αντιμετωπίσετε πρόβλημα. Υπάρχουν πολλά σενάρια. Ένα σενάριο είναι να είναι παλιός υπολογιστής με bios. Άλλο ένα σενάριο είναι ο παλιός υπολογιστής να είναι dual boot. Το άλλο σενάριο είναι να είναι νέου τύπου υπολογιστής με UEFI και τέλος αυτός ο υποογιστής να είναι dual boot. Σε όλες αυτές τις περιπτώσεις φανταστείτε ότι ο χώρος στον δίσκο είναι διαφορετικός κάθε φορά (ειδικά στις περιπτώσεις dual boot) και έτσι θα χρειαστεί διαφορετικό αρχείο autoyast. Μπορείτε να μελετήσετε την τεκμηρίωση εδώ αλλά και από την SUSE εδώ.

Στο αρχείο που βρήκατε παραπάνω, οι κατατμήσεις παρουσιάζονται παρακάτω:
Κατατμήσεις autoyast

Να τα δούμε λίγο αναλυτικά:
1. Κατάτμηση root (/): με σύστημα αρχείων ext4 και χωρητικότητα 30GB.
2. Κατάτμηση swap: με χωρητικότητα 8GB.
3. Κατάτμηση home (/home): με σύστημα αρχείων ext4 και χωρητικότητα στο auto.

Στην τεκμηρίωση αναφέρει ότι το autoyast μπορεί να δημιουργήσει τον προεπιλεγμένο τρόπο εγκατάστασης με το root με σύστημα αρχείων btrfs και το home με σύστημα XFS. Επίσης αναφέρει ότι σε περίπτωση που λείπει κάποια κατάτμηση, μπορεί να την δημιουργήσει αυτό. Επειδή δεν τα έχω δοκιμάσει, δεν μπορώ να εκφέρω γνώμη, αλλά για να το λέει στην επίσημη τεκμηρίωση, μάλλον θα ισχύει.

Πηγές για περισσότερη μελέτη:
1. Τεκμηρίωση https://doc.opensuse.org/projects/autoyast/.
2. Παράμετροι για την εκκίνηση https://doc.opensuse.org/documentation/leap/startup/html/book-startup/cha-boot-parameters.html

Fri, Jan 07, 2022

Εγκατάσταση openSUSE σε απομακρυσμένο υπολογιστή

openSUSE logo

ΠΡΟΒΛΗΜΑ

Είστε γνώστης του λειουργικού Linux και εδώ και ένα χρόνο έχετε "πρήξει" τον φίλο σας πόσο καλό είναι, έτσι ώστε να το εγκαταστήσει και αυτός. Όμως είναι ανένδοτος παραθυράς.

Σας τυχαίνει μια θέση εργασίας που είναι μακρυά από τον τόπο κατοικίας σας (είτε στην ίδια χώρα είτε σε άλλη). Προφανώς δέχεστε και μετακομίζετε.

Αφού έχετε τακτοποιήσει τη ζωή σας, δέχεστε ένα τηλέφωνο από τον φίλο σας και σας λέει να εγκαταστήσετε γι'αυτόν μια διανομή Linux στον υπολογιστή του. Τώρα φίλε μου είναι αργά....

ΗΘΙΚΟ ΔΙΔΑΓΜΑ: Εάν έχετε ένα φίλο που ασχολείται με το άθλημα και εσείς του απαντάτε κάτι του στυλ: "Μου αρέσουν πολύ τα Linux και η όλη φιλοσοφία. Όταν πάρω νέο laptop θα σου δώσω το παλιό να μου περάσεις τα Linux για να πειραματιστώ" (δείτε και άλλες παρόμοιες δικαιολογίες), τότε μην περιμένετε ποτε θα πάρετε το νέο laptop. Μπορεί να ΜΗΝ αγοράσετε ΠΟΤΕ νέο laptop. Μπορεί όταν το πάρετε, ο φίλος σας να έχει μετακομίσει ή απλά να μην έχει και τόσο ελεύθερο χρόνο να σας διαθέσει αφού μπορεί να έχει κάνει οικογένεια.

THE END...

Ο λόγος του άρθρου αυτού είναι δεν καταλήγει στο παραπάνω δίδαγμα. Θα δείξουμε πως μπορεί κάποιος να κάνει εγκατάσταση openSUSE σε απομακρυσμένο υπολογιστή.

ΤΙ ΘΑ ΧΡΕΙΑΣΤΕΙ

  • Υπολογιστής (host) που θα γίνει η εγκατάσταση
  • Λήψη του DVD εγκατάστασης openSUSE (είτε Leap, είτε Tumbleweed)
  • Ένα στικάκι 8GB+
  • Υπολογιστής (remote)
  • Να προηγηθεί το ξεκαθάρισμα του χώρου που θα εγκατασταθεί (αν είναι dual boot τότε να γίνει χώρος μέσα από τα Windows. Μπορεί και από το Linux αλλά χρειάζεται να έχει προηγηθεί defragment)
  • Να υπάρχει γνώση πως κάνουμε port forward στο router

ΠΡΟΕΤΟΙΜΑΣΙΑ

1. Λήψη του DVD εγκατάστασης openSUSE (είτε Leap, είτε Tumbleweed).

2. Επειδή το DVD είναι περίπου 4.5GB θα χρειαστεί ένα στικάκι από 8GB και πάνω. Μπορείτε να περάσετε το ISO στο USB με 2 τρόπους. Ο ένας είναι με τη χρήση του Etcher, ενώ ο άλλος είναι με τη χρήση του Ventoy. Προσωπικά προτιμώ το Ventoy γιατί μπορώ να βάλω στο στικάκι και άλλες διανομές. Να μην πάει χαμένος χώρος. Εσείς επιλέξτε ότι σας βολεύει.

3. Εάν έχετε BIOS, αγνοήστε αυτό το βήμα. Απενεργοποιείστε το Secure Boot ενώ μπορείτε να αφήσετε το UEFI.

4. Εάν δεν κάνετε εγκατάσταση dual boot (Windows και Linux), τότε αγνοήστε. Πρέπει να φτιάξετε τα partitions μέσα από τα windows. Ανοίξτε το Disk Management και επιλέξτε τον δίσκο που θα κάνετε εγκατάσταση το Linux. Εκεί θα πρέπει να μικρύνετε το partition και να φτιάξετε ένα νέο partition.

5. Κάνετε εκκίνηση του υπολογιστή από το USB. Επιλέξτε Installation.
openSUSE Installation

6. Εκεί θα πρέπει να γράψετε τα εξείς:
netsetup=1 vnc=1
openSUSE installation values

Ας αναλύσουμε το παραπάνω.

ΔΙΚΤΥΟ

netsetup=τιμη
Εδώ ουσιαστικά ενεργοποιούμε το δίκτυο στην εγκατάσταση. Με την τιμή 1, απλά του λέμε ότι θέλουμε να το ενεργοποιήσουμε. Σε επόμενη φάση, θα μας ρωτήσει αν θέλουμε να ρυθμιστεί αυτόματα το DHCP.
Ερώτημα για αυτόματη ρύθμιση του DHCP

Άλλες τιμές είναι οι εξής:
- netsetup=dhcp: Εδώ του λέμε ότι θέλουμε να γίνει αυτόματη λήψη στοιχείων μέσω DHCP. Θα εμφανιστεί η παρακάτω οθόνη, και θα συνεχίσει η διαδικασία.
Λήψη ρυθμίσεων από DHCP

- netsetup=-dhcp: Εδώ του λέμε ότι θέλουμε να εισάγουμε εμείς τις ρυθμίσεις δικτύου. Θα εμφανιστεί η παρακάτω οθόνη, και θα συνεχίσει η διαδικασία.
Χειροκίνητη ρύθμιση DCHP

Εκτός της IP, θα σας ζητήσει και την διεύθυνση geteway, name server.

VNC

vnc=1
Εδώ ουσιαστικά ενεργοποιούμε τον VNC server κατά την εγκατάσταση. Θα μας εμφανιστεί η οθόνη για να εισάγουμε το συνθηματικό.
Εισαγωγή συνθηματικού

Αυτό μπορεί να μην εμφανιστεί εάν εισάγετε το συνθηματικό (πχ opensuse) στην αρχή. Δηλαδή εάν δώσετε την εντολή:
vnc=1 vncpassword=opensuse
Τελικά, θα καταλήξετε στην παρακάτω οθόνη.
Δίκτυο VNC

7. Port foward στο Router σας. Ποιες πόρτες πρέπει να ανοίξουν; Για αρχή πρέπει να ανοίξετε τις TCP 5901 και TCP 5801 για την διεπαφή μέσω browser. Όπως βλέπετε στην παραπάνω φωτογραφία, λέει ότι θα χρησιμοποιηθεί η πόρτα TCP 5801.

7.1 Εάν δεν θέλετε να στέλνετε την εξωτερική σας IP (δεν συνίσταται), καλό είναι να στήσετε ένα ddns και να δώσετε αυτό στον φίλο σας.

8. Αφού δώσετε στον φίλο σας την εξωτερική IP σας (ή το ddns), τον κωδικό που εισάγατε στο vnc, τότε αυτός ξεκινάει την δράση.

Υπάρχουν δυο επιλογές:
8.1 Η πρώτη επιλογή είναι να χρησιμοποιήσει το vnc από τερματικό. Αν ο απομακρυσμένος υπολογιστής είναι ubuntu, πρέπει να εγκαταταθεί ένα προγραμματάκι:
sudo apt install gvncviewer
Αφού ανοίξει το τερματικό και θα δώσει (αν η IP είναι η 192.168.1.100 όπως την θέσαμε παραπάνω):
Για Ubuntu:
gvncviewer 192.168.1.100:1

Για openSUSE:
vncviewer 192.168.1.100:1
Η παραπάνω πόρτα είναι η 5801.
Σύνδεση μέσω VNC στο απομακρυσμένο σύστημα

Αφού εισάγει το συνθηματικό που ορίστηκε στην αρχή στο σύστημα host, τότε περιμένει να γίνει η σύνδεση και θα δεί την παρακάτω εικόνα.
Εγκατάσταση openSUSE στο απομακρυσμένο σύστημα
Εδώ βλέουμε στα δεξιά το απομακρυσμένο σύστημα (είναι σε VirtualBox για τις δοκιμές ώστε να γραφτεί το άρθρο), στα αριστερά είναι το τερματικό του απομακρυσμένου υπολογιστή και στο κέντρο είναι αυτό που βλέπει ο απομακρυσμένος χρήστης για να προχωρήσει στην εγκατάσταση.

8.1.1 Αντίστοιχα, μπορεί να ανοίξετε το Gnome-boxes και να δημιουργήσει νέα σύνδεση σε απομακρυσμένο υπολογιστή. Στο παράθυρο που θα ανοίξει, πληκτρολογεί:
vnc://192.168.1.100:5901
GNOME Boxes σύνδεση

Και αφού εισάγει το συνθηματικό του vnc του host, τότε θα συνδεθεί.
GNOME Boxes εγκατάσταση


8.2 Πιο όμορφο είναι μέσω browser. Όπως μας έχει πει παραπάνω, πρέπει να μπορεί να εκτελεί προγράμματα Java. Εδώ πρέπει να χρησιμοποιήσει την IP διεύθυνση που δώσατε κατά την ρύθμιση DHCP (192.168.1.100):
192.168.1.100:5801
Περιηγητής με vnc
Εδώ πατάει σύνδεση και του ζητείται το συνθηματικό.
Εισαγωγή συνθηματικού VNC στον περιηγητή
Και καταλήγουμε στην εικόνα να ξεκινήσουμε την εγκατάσταση.
Εγκατάσταση openSUSE μέσω περιηγητή


BONUS

Η εγκατάσταση μπορεί να γίνει και μέσω ssh. Είναι προτιμότερη μέσω ssh δίοτι είναι πιο ασφαλές περιβάλλον. Πως γίνεται αυτό; Ουσιαστικά είναι ίδια διδικασία. Κατά την έναρξη, δίνετε τα παρακάτω:
netsetup=1 ssh=1 ssh.password=opensuse
Εγκατάσταση με ssh
Με την ίδια λογική για το netsetup. Το έχω δοκιμάσει και χωρίς το netsetup και δουλεύει μια χαρά.

- ssh=1: Ενεργοποιεί την εγκατάσταση μέσω ssh.

- ssh.password=κωδικός: Καθορίζει το συνθηματικό SSH του χρήστη root για την εγκατάσταση.

ssh ready
Και τώρα θα δούμε επίσης 2 τρόπους.

1ος τρόπος: GNOME-BOXES

Στο Gnome Boxes πρέπει να δημιουργήσει νέα σύνδεση σε απομακρυσμένο υπολογιστή. Στο παράθυρο που θα ανοίξει, πληκτρολογεί:
Σύνδεση gnome-boxes με SSH
Θα ανοίξει ένα παράθυρο, όπου πρέπει να αποδεχτεί το κλειδί και να πληκτρολογήσει το συνθηματικό (είχαμε δώσει opensuse).
Gnome Boxes password
Στη συνέχεια για να ξεκινήσει η εγκατάσταση, βλέπουμε τι μας λέει και εκτελούμε την εντολή:
yast.ssh
Gnome Boxes εγκατάσταση openSUSE μέσω ssh
2ος τρόπος: Τερματικό

Στο τερματικό εκτελούμε την παρακάτω εντολή:
ssh root@IP
Θα μας ζητήσει το συνθηματικό και θα μπούμε. Επόμενο βήμα να εκτελέσουμε την εντολή:
yast.ssh
Είσοδος με χρήση ssh μεσω τερματικού εγκατάσταση openSUSE
Και είμαστε έτοιμοι να εγκαταστήσουμε το openSUSE.
Εγκατάσταση με χρήση ssh μέσω τερματικού και εγκατάσταση openSUSE


Για το πως θα γίνει η εγκατάσταση, υπάρχουν πολλοί οδηγοί στην σελίδα μου αλλά μπορείτε να βρείτε και εδώ.

Πηγές για περισσότερη μελέτη:
1. Wiki https://en.opensuse.org/SDB:Remote_installation.
2. Παράμετροι για την εκκίνηση https://doc.opensuse.org/documentation/leap/startup/html/book-startup/cha-boot-parameters.html

Wed, Nov 17, 2021

Μετράμε την ταχύτητα δικτύου με το speedtest-cli

ΜΕΤΡΗΣΗ ΤΑΧΥΤΗΤΑΣ ΔΙΚΤΥΟΥ

Όπως μερικοί έχουν κόλλημα με τα γρήγορα αυτοκίνητα και με την ταχύτητα, οι περισσότεροι από εμάς, έχουν κόλλημα με την ταχύτητα (bandwith) του δικτύου τους. Πως γίνεται η μέτρηση;

Υπάρχουν εταιρίες που έχουν φτιάξει δικές τους μετρήσεις όπως πχ https://www.speedtest.gr/, cablenet, npref αλλά οι πιο γνωστές είναι οι Speedtest και η fast.com. To speedtest είναι διαθέσιμο και από τερματικό στις περισσότερες διανομές.

ΠΡΟΒΛΗΜΑ

Έχω εγκαταστήσει λοιπόν την εφαρμογή από τα επίσημα αποθετήρια. Ξεκινάω να κάνω ένα έλεγχο στο τερματικό με την εντολή.
speedtest-cli

Και λαμβάνω το αποτέλεσμα:
Retrieving speedtest.net configuration...
Traceback (most recent call last):
  File "/usr/bin/speedtest-cli", line 11, in module
    load_entry_point('speedtest-cli==2.0.0', 'console_scripts', 'speedtest-cli')()
  File "/usr/lib/python3/dist-packages/speedtest.py", line 1832, in main
    shell()
  File "/usr/lib/python3/dist-packages/speedtest.py", line 1729, in shell
    secure=args.secure
  File "/usr/lib/python3/dist-packages/speedtest.py", line 1009, in __init__
    self.get_config()
  File "/usr/lib/python3/dist-packages/speedtest.py", line 1081, in get_config
    map(int, server_config['ignoreids'].split(','))
ValueError: invalid literal for int() with base 10: ''


Δεν είναι ένα πρόγραμμα που εξαρτάται η ζωή μας από αυτό αλλά καλό είναι να μπορούμε να το εκτελούμε.

ΛΥΣΗ

1. Αφαιρέστε το πρόγραμμα που έχετε εγκαταστήσει
Για Ubuntu:
sudo apt remove speedtest-cli

Για openSUSE:
sudo zypper rm speedtest-cli


2. Στο τερματικό εκτελέστε την εντολή:
pip3 install speedtest_cli


3. Όταν τελειώσει η εγκατάσταση, στο τερματικό γράψτε την εντολή:
nano ~/.profile


Και στο τέλος του αρχείου προσθέστε την γραμμή:
PATH="$PATH:$HOME/.local/bin"


4. Αφού αποθηκεύσετε, εκτελέστε την εντολή:
source ~/.profile


Είστε έτοιμοι να εκτελέσετε το πρόγραμμα στο τερματικό και να δείτε την ταχύτητα του δικτύου σας.