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

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


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

Mon, Nov 01, 2021

ΠΛΗΡΗΣ ΟΔΗΓΟΣ εγκατάστασης και ρυθμίσεων του Visual Studio Code σε Linux, για τις γλώσσες python, C και java

Visual Studio Code

ΠΡΟΛΟΓΟΣ

Έχουμε δει σε προηγούμενο άρθρο την Εγκατάσταση του Visual Studio Code σε openSUSE. Σε αυτό το άρθρο θα δείξουμε λίγο πιο ολοκληρωμένες ενέργειες. Αφορμή της συγγραφής του άρθρου αυτού ήταν η αποτυχία ρύθμισης και χρήσης του Visual Studio Code με τις γλώσσες προγραμματισμού Python, C και Java. Η αρχική εγκατάσταση έγινε μέσω flatpak (θα το δουμε παρακάτω) αλλά δεν μπορούσε να γίνει ρύθμιση με Java. Είχα ψάξει στα γρήγορα τι είναι καλύτερο για το VSCode, το flatpak ή το αρχείο deb/rpm και βρήκα αυτό στο reddit. Σίγουρα υπάρχουν και άλλα αποτελέσματα. Εδώ κάποιος ανέφερε ότι στο flatpak υπάρχουν κάποια θέματα debugging οπότε αποφάσισα και εγώ να κάνω εγκατάσταση από deb/rpm. Όμως έπρεπε να κρατήσω και τα extensions που έχω εγκατεστημένα (για να μην ψάχνω). Βρήκα και τρόπο γι'αυτό. Οπότε εδώ θα προσπαθήσω να τα αναφέρω όλα.

ΕΓΚΑΤΑΣΤΑΣΗ Visual Studio Code

Θα δούμε τους πιο γνωστούς τρόπους εγκατάστασης του Visual Studio Code.

ΕΓΚΑΤΑΣΤΑΣΗ με αρχεία deb/rpm

Για διανομές όπως είναι η openSUSE, Fedora, Red Hat, Ubuntu, Debian και παράγωγά τους, μπορείτε να κατεβάσετε το αντίστοιχο αρχείο για τη διανομή σας (rpm για τις 3 πρώτες και deb για τις άλλες 2). Κάντε την λήψη των αρχείων από εδώ:
Η εγκατάσταση είναι απλή. Μπορείτε με διπλό κλικ πάνω στο αρχείο, οπότε θα ανοίξει ο διαχειριστής αρχείων εγκατάστασης της διανομής σας και στη συνεχεια θα πατήσετε το κουμπί εγκατάστασης. Εναλλακτικά μπορείτε να το εγκαταστήσετε με τερματικό με τις εντολές:
Για Ubuntu, Debian:
sudo dpkg -i code*.deb

Για Fedora, Red Hat, openSUSE:
sudo rpm -i code*.rpm

Σε Arch Linux θα βρείτε πολλές εκδόσεις. Προτιμήστε την έκδοση visual-studio-code-bin που θα την βρείτε από το αποθετήριο AUR (ανάλογα με ποιον AUR helper χρησιμοποιείτε, αλλάξτε την εντολή).
yay -S visual-studio-code-bin

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

ΕΓΚΑΤΑΣΤΑΣΗ με flatpak

Εάν έχετε εγκατεστημένο το flatpak στον υπολογιστή σας (δείτε πως γίνεται αυτό), μπορείτε να εγκαταστήσετε το Visual Studio Code με την παρακάτω εντολή:
flatpak install com.visualstudio.code

Αν και έχει άλλες δυο εκδόσεις του Visual Studio Code (vscodium και code-OSS), επιλέξτε την παραπάνω έκδοση.

ΕΓΚΑΤΑΣΤΑΣΗ με snap

Οι διανομές που χρησιμοποιούν τα πακέτα snap (Ubuntu κυρίως), μπορείτε να το εγκαταστήσετε είτε από την σελίδα snapcraft είτε με την παρακάτω εντολή:
sudo snap install --classic code

Εάν δεν έχετε snap εγκατεστημένο, δείτε στην διανομή σας πως εγκαθίσταται. Παράδειγμα, δείτε στην openSUSE εδώ.

ΕΓΚΑΤΑΣΤΑΣΗ προσθέτων για το λειτουργικό


ΕΓΚΑΤΑΣΤΑΣΗ για Python

Για την εγκατάσταση της Python δεν θα χρειαστεί να κάνουμε κάτι γιατί είναι ήδη εγκατεστημένη στο σύστημα. Συνήθως είναι και κάποια έκδοση 2.x και κάποια έκδοση 3.x. Δείτε τις εκδόσεις με τις εντολές:
Για python 2:
python --version

Για python 3:
python3 --version

Ενώ μπορείτε να κάνετε αναβάθμιση του pip με την εντολή:
pip install --upgrade pip

Ενώ για αναβάθμιση όλων των πακέτων που έχετε εγκατεστημένα, μπορείτε να εισάγετε την εντολή:
pip3 list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip3 install -U


ΕΓΚΑΤΑΣΤΑΣΗ για C

Και εδώ δεν θα χρειαστούν πολλά γιατί είναι ήδη εγκατεστημένη στον υπολογιστή σας. Πρέπει να είναι εγκατεστημένο το πακέτο gcc. Αυτό βρίσκεται στο build-essential
Για Ubuntu/Debian:
sudo apt install build-essential

Για openSUSE:
sudo zypper in gcc

Για Arch Linux:
sudo packam -S gcc

Για να δείτε ποιά έκδοση μεταγλωττιστή έχετε, μπορείτε να χρησιμοποιήσετε την εντολή:
gcc --version

Δοκιμάστε το κλασικό Hello world. Γράψτε στο τερματικό nano hello.c και εισάγετε τον κώδικα για την C. Στη συνέχεια εκτελέστε τις εντολές:
$ gcc -o hello hello.c $ ./hello


ΕΓΚΑΤΑΣΤΑΣΗ για Java

Πριν ξεκινήσουμε την εγκατάσταση, ας δούμε τις διαφορές μεταξύ JRE, OpenJDK και Oracle JDK.
  • JRE (Java Runtime Environment) είναι αυτό που χρειάζεται για να εκτελεστεί μια εφαρμογή που βασίζεται σε Java. Αυτό είναι το μόνο που χρειάζεστε εάν δεν είστε προγραμματιστής.
  • JDK (Java Development Kit) είναι αυτό που πρέπει να αναπτύξετε λογισμικό που σχετίζεται με την Java.
  • H OpenJDK είναι υλοποίηση ανοικτού κώδικα του Java Development Kit ενώ το Oracle JDK είναι η επίσημη έκδοση Oracle του Java Development Kit. Ενώ το OpenJDK είναι αρκετό για τις περισσότερες περιπτώσεις, ορισμένα προγράμματα όπως το Android Studio προτείνει τη χρήση του Oracle JDK για αποφυγή ζητήματος διεπαφής χρήστη.
Εδώ θα χρειαστεί να γίνουν κάποιες εγκαταστάσεις-ρυθμίσεις.

Για αρχή δείτε τι έκδοση java έχετε.
java -version

Εάν έχετε εγκατεστημένη την java, τότε σε ένα σύστημα Ubuntu θα δείτε τα παρακάτω:
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)

Ενώ σε ένα σύστημα που δεν έχει εγκατεστημένη την java, θα δείτε ένα αποτέλεσμα του τύπου:
The program ‘java’ can be found in the following packages:
* default-jre
* gcj-4.6-jre-headless
* openjdk-6-jre-headless
* gcj-4.5-jre-headless
* openjdk-7-jre-headless
Try: sudo apt-get install

Εγκατάσταση JRE

Για εγκατάσταση του Java Runtime Environment
sudo apt install default-jre

Εγκατάσταση OpenJDK

Για εγκατάσταση του OpenJDK
sudo apt install default-jdk

Εγκατάσταση openSUSE

Στο openSUSE να έχετε εγκατεστημένα τα παρακάτω:
sudo zypper in java-11-openjdk-devel java-11-openjdk java-11-openjdk-headless

Εγκατάσταση Oracle JDK

Για εγκατάσταση του Oracle JDK, κατεβάστε και εγκαταστείστε το αντίστοιχο αρχείο για την διανομή σας.

Εναλλακτικά σε Ubuntu based διανομές, μπορείτε να εισάγετε το αποθετήριο:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

Και στη συνέχεια για την java έκδοση 16 (αυτή κυκλοφορεί τελευταία. Αν θέλετε να αλλάξετε έκδοση, απλά αλλάξτε το νούμερο), μπορείτε να την εγκαταστήσετε με τις παρακάτω εντολές:
sudo apt install oracle-java16-installer
sudo apt install oracle-java16-set-default

Για openSUSE, υπάρχει διαθέσιμη τεκμηρίωση.

Για Arch Linux, υπάρχει και τεκμηρίωση στο wiki.

ΡΥΘΜΙΣΕΙΣ Visual Studio Code

Εγκαταστάσεις extensions

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

ΕΓΚΑΤΑΣΤΑΣΗ για Python

Για την Python χρειάζεται το πρόσθετο που μπορείτε να βρείτε στο Market place.

Ανοίξτε το VS Code Quick Open (με τα πλήκτρα Ctrl+P) και επικολήστε την εντολή:
ext install ms-python.python

Εναλλακτικά ανοίξτε την μηχανή αναζήτησης των extensions και αναζητήστε Python. Θα σας εμφανίσει πολλά. Εσείς επιλέξτε εκδότη την Microsoft (μπορείτε να επιλέξετε ότι άλλο θέλετε αλλά αυτό εφαρμόζει καλύτερα στο πρόγραμμα Visual Studio Code).

Καλό είναι να εγκαταστήσετε και το Jupyter, το Visual Studio IntelliCode και το Pylance.

Ανοίξτε το VS Code Quick Open (με τα πλήκτρα Ctrl+P) και επικολήστε την εντολή:
Jupyter:
ext install ms-toolsai.jupyter

Visual Studio IntelliCode:
ext install VisualStudioExptTeam.vscodeintellicode

Pylance:
ext install ms-python.vscode-pylance


Δείτε περισσότερα στην τεκμηρίωση στην σελίδα του Visual Studio Code.

ΕΓΚΑΤΑΣΤΑΣΗ για C

Για την C χρειάζεται το πρόσθετο που μπορείτε να βρείτε στο Market place.

Ανοίξτε το VS Code Quick Open (με τα πλήκτρα Ctrl+P) και επικολήστε την εντολή:
ext install ms-vscode.cpptools

Εναλλακτικά ανοίξτε την μηχανή αναζήτησης των extensions και αναζητήστε C/C++. Θα σας εμφανίσει πολλά. Εσείς επιλέξτε εκδότη την Microsoft (μπορείτε να επιλέξετε ότι άλλο θέλετε αλλά αυτό εφαρμόζει καλύτερα στο πρόγραμμα Visual Studio Code).

C/C++


Δείτε περισσότερα στην τεκμηρίωση στην σελίδα του Visual Studio Code.

ΕΓΚΑΤΑΣΤΑΣΗ για Java

Για την Java χρειάζεται το πρόσθετο που μπορείτε να βρείτε στο Market place.

Ανοίξτε το VS Code Quick Open (με τα πλήκτρα Ctrl+P) και επικολήστε την εντολή:
ext install vscjava.vscode-java-pack

To Extension Pack for Java, περιέχει τα παρακάτω:

Δείτε περισσότερα στην τεκμηρίωση στην σελίδα του Visual Studio Code.

Μεταφορά extensions

Αφού έγινε η εγκατάσταση, τώρα έπρεπε να μεταφέρω και τα extensions που είχα στην προηγούμενη εγκατάσταση (ή αν θέλετε να συγχρονίσετε δυο συστήματα να έχουν τα ίδια extensions). Υπάρχουν 2-3 τρόποι. Θα γράψω κάποιους.
Καταρχήν ανοίξτε το VSCode και ανοίξτε το τερματικό. Εκεί δώστε την παρακάτω εντολή:
code --list-extensions | xargs -L 1 echo code --install-extension

Εμένα μου έβγαλε την παρακάτω λίστα.
code --install-extension formulahendry.code-runner
code --install-extension ms-python.python
code --install-extension ms-python.vscode-pylance
code --install-extension ms-toolsai.jupyter
code --install-extension ms-vscode.cmake-tools
code --install-extension ms-vscode.cpptools
code --install-extension redhat.java
code --install-extension twxs.cmake
code --install-extension VisualStudioExptTeam.vscodeintellicode
code --install-extension vscjava.vscode-java-debug
code --install-extension vscjava.vscode-java-dependency
code --install-extension vscjava.vscode-java-pack
code --install-extension vscjava.vscode-java-test
code --install-extension vscjava.vscode-maven

Την αντέγραψα σε ένα αρχείο txt και μετά την νέα εγκατάσταση, εκτέλεσα μια προς μια τις εντολές.

Εναλλακτικά υπάρχουν και πιο αυτοματοποιημένοι τρόποι. Δηλαδή θα φτιάξετε ένα αρχείο με τα extensions που έχετε εγκατεστημένα με την παρακάτω εντολή:
code --list-extensions > vscode-extensions.list

Μεταφέρετε το αρχείο vscode-extensions.list στο νέο σύστημα και μετά με την παρακάτω εντολή θα εγκατασταθούν.
cat vscode-extensions.list | xargs -L 1 code --install-extension


Διάφορες ρυθμίσεις

Μια ρύθμιση που την είχα κάνει στην εγκατάσταση με flatpak και δεν θυμόμουν ήταν αυτή με την οποία όταν εκτελούσα ένα πρόγραμμα σε C, άνοιγε το ενσωματωμένο τερματικό και εκεί έβλεπα τα αποτελέσματα. Βρήκα το How to run a C program in Visual Studio Code? όπου μας λέει όλα αυτά που ανέφερα παραπάνω (με την προσθήκη πως γίνεται και σε Windows). Σε ένα σημείο λέει ότι όταν εκτελείται ο κώδικας, τότε έχουμε ως έξοδο ένα Read-Only αποτέλεσμα χωρίς τη δυνατότητα να εισάγει ο χρήστης δεδομένα.
Read-Only Output
Οπότε λέει να προβούμε στην παρακάτω ρύθμιση.

* Ανοίγουμε Αρχείο>Επιλογές>Ρυθμίσεις (File>Preferences>Settings)
* Και αφού ανοίξει, κάντε κλικ στο Extensions για να καθορίσουμε τις ρυθμίσεις για τον C Compiler.
Extensions
* Μετακινηθείτε προς τα κάτω μέχρι να βρείτε το Run Code Configuration.
Run Code Configuration
* Μετακινηθείτε προς τα κάτω και κάντε κλικ στην επιλογή Run In Terminal.
Run In Terminal
Κλείστε και ανοίξτε ξανά το πρόγραμμα για να πάρει τις ρυθμίσεις. Τώρα όταν εκτελείτε ένα πρόγραμμα C, θα υπάρχει αλληλεπόδραση χρήστη με τον υπολογιστή.

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

Πηγές:
Visual Studio Code on Linux

Wed, Oct 13, 2021

Εγκατάσταση Eclipse στο Linux

Eclipse Logo

ΠΡΟΛΟΓΟΣ

Η συγγραφή κώδικα μπορεί να γίνει με πολλούς τρόπους. Υπάρχουν οι hardcore προγραμματιστές που χρησιμοποιούν vim, nano ή gedit (κάποιον επεξεργαστή κειμένου δηλαδή). Υπάρχουν και αυτοί που βρίσκονται στο στάδιο της εκμάθησης, οπότε καλό είναι να μάθουν να χρησιμοποιούν τα εργαλεία, τα IDE που παρέχει η κάθε γλώσσα προγραμματισμού. Βέβαια όταν μάθουν όλους τους αυτοματισμούς και ευκολίες που προσφέρουν, δύσκολα θα μετακινηθούν σε κειμενογράφους τύπου vim (άσχετα αν είναι πολύ δυνατό εργαλείο με πολλές δυνατότητες). Προσωπικά προτιμώ το Visual Studio Code για την συγγραφή κώδικα αλλά υπάρχουν και άλλα IDE, ανάλογα με την γλώσσα προγραμματισμού που δουλεύει ο καθένας. Εμείς εδώ θα δούμε την εγκατάσταση και ρύθμιση του Eclipse για χρήση με την γλώσσα Java.

ΕΓΚΑΤΑΣΤΑΣΗ

Θα δούμε τους τρόπους εγκατάστασης του Eclipse.

FLATPAK

Τελευταία, όλο και πιο πολύ διαδίδονται οι εγκαταστάσεις μέσω λύσεων flatpak/snap. Προσωπικά προτιμώ το flatpak. Στην λύση αυτή βλέπουμε να κατεβαίνει η έκδοση java που θα συνεργαστεί με το Eclipse. Δεν θα χρειαστεί να ρυθμίσετε τίποτα. Μπορείτε να βρείτε περισσότερα στην ιστοσελίδα.

Η εγκατάσταση γίνεται με την παρακάτω εντολή:
flatpak install flathub org.eclipse.Java

Σε Ubuntu 20.04.x, η έκδοση Flatpak είναι παλιά και δεν μπορείτε να εγκαταστήσετε το Eclipse. Οπότε πρέπει να το αναβαθμίσετε, προσθέτοντας το παρακάτω αποθετήριο.
sudo add-apt-repository ppa:alexlarsson/flatpak

sudo apt-get update

Είστε έτοιμοι. Απλά ανοίξτε το Eclipse και χρησιμοποιήστε το.

SNAP

Άλλη μια επιλογή, native για Ubuntu είναι η εγκατάσταση snap πακέτου. Για περισσότερες πληροφορίες, δείτε στην ιστοσελίδα.

Η εγκατάσταση γίνεται με την παρακάτω εντολή:
sudo snap install eclipse --classic

Είστε έτοιμοι. Απλά ανοίξτε το Eclipse και χρησιμοποιήστε το.

ΛΗΨΗ ΑΠΟ ΙΣΤΟΣΕΛΙΔΑ

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

ΕΓΚΑΤΑΣΤΑΣΗ Java

Πριν ξεκινήσουμε την εγκατάσταση, ας δούμε τις διαφορές μεταξύ JRE, OpenJDK και Oracle JDK.
  • JRE (Java Runtime Environment) είναι αυτό που χρειάζεται για να εκτελεστεί μια εφαρμογή που βασίζεται σε Java. Αυτό είναι το μόνο που χρειάζεστε εάν δεν είστε προγραμματιστής.
  • JDK (Java Development Kit) είναι αυτό που πρέπει να αναπτύξετε λογισμικό που σχετίζεται με την Java.
  • H OpenJDK είναι υλοποίηση ανοικτού κώδικα του Java Development Kit ενώ το Oracle JDK είναι η επίσημη έκδοση Oracle του Java Development Kit. Ενώ το OpenJDK είναι αρκετό για τις περισσότερες περιπτώσεις, ορισμένα προγράμματα όπως το Android Studio προτείνει τη χρήση του Oracle JDK για αποφυγή ζητήματος διεπαφής χρήστη.
Για αρχή δείτε τι έκδοση java έχετε.
java -version

Εάν έχετε εγκατεστημένη την java, τότε σε ένα σύστημα Ubuntu θα δείτε τα παρακάτω:
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)

Έκδοση java σε openSUSE
Ενώ σε ένα σύστημα που δεν έχει εγκατεστημένη την java, θα δείτε ένα αποτέλεσμα του τύπου:
The program ‘java’ can be found in the following packages:
* default-jre
* gcj-4.6-jre-headless
* openjdk-6-jre-headless
* gcj-4.5-jre-headless
* openjdk-7-jre-headless
Try: sudo apt-get install

Εγκατάσταση JRE σε Debian/Ubuntu

Για εγκατάσταση του Java Runtime Environment
sudo apt install default-jre

Εγκατάσταση OpenJDK σε Debian/Ubuntu

Για εγκατάσταση του OpenJDK
sudo apt install default-jdk

Εγκατάσταση openSUSE

Στο openSUSE να έχετε εγκατεστημένα τα παρακάτω (έκδοση Java 11):
sudo zypper in java-11-openjdk-devel java-11-openjdk java-11-openjdk-headless

Εγκατάσταση Oracle JDK

Για εγκατάσταση του Oracle JDK, κατεβάστε και εγκαταστείστε το αντίστοιχο αρχείο για την διανομή σας.

Εναλλακτικά σε Ubuntu based διανομές, μπορείτε να εισάγετε το αποθετήριο:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

Και στη συνέχεια για την java έκδοση 16 (αυτή κυκλοφορεί τελευταία. Αν θέλετε να αλλάξετε έκδοση, απλά αλλάξτε το νούμερο), μπορείτε να την εγκαταστήσετε με τις παρακάτω εντολές:
sudo apt install oracle-java16-installer
sudo apt install oracle-java16-set-default

Γενικά σε openSUSE, υπάρχει διαθέσιμη τεκμηρίωση.

Για Arch Linux, υπάρχει και τεκμηρίωση στο wiki.

ΕΓΚΑΤΑΣΤΑΣΗ Eclipse

Η εγκατάσταση του Eclipse ακολουθεί. Μετακινηθείτε στην ιστοσελίδα των λήψεων. Πατήστε το Download x86_64 και θα κατέβει ένα αρχείο με το όνομα eclipse-inst-jre-linux64.tar.gz.

Αποσυμπιέστε το και μετακινηθείτε στον φάκελο. Εκεί πατήστε διπλό κλικ στο eclipse-inst.

Στο παράθυρο που θα ανοίξει, επιλέξτε Eclipse IDE for Java Developers.
Eclipse IDE for Java Developers

Στο παράθυρο αυτό, δεν φαινόταν τα γράμματα στο πεδίο Java 11+ VM. Μπορεί να φταίει το θέμα από το γραφικό περιβάλλον. Όπως και να έχει, πατήστε στο βελάκι και θα εμφανιστεί η διαδρομή της Java. Αν δεν βλέπετε τίποτα, τότε μάλλον πρέπει να τσεκάρετε πάλι εάν είναι εγκατεστημένη η Java.
Διαδρομή Java 11+ VM

Επιλέξτε και εάν θέλετε να προστεθεί εκκινητής στο μενού αλλά και στην επιφάνεια εργασίας. Πατήστε Install και περιμένετε.
Το Eclipse είναι έτοιμο για εγκατάσταση

Αναμένετε να ολοκληρωθεί η εγκατάσταση.
Εγκατάσταση Eclipse

Αφού ολοκληρωθεί η εγκατάσταση, πατήστε στο Launch για να εκκινήσει το πρόγραμμα.
Εκκίνηση του Eclipse

Θα σας ρωτήσει ποιον φάκελο θέλετε να χρησιμοποιήσετε ως φάκελο για να αποθηκεύετε τα αρχεία που θα φτάχνετε. Μπορείτε να αφήσετε τον φάκελο ως έχει. Πατήστε Launch και περιμένετε.
Eclipse workspace

Αναμένετε μέχρι να τελειώσει το άνοιγμα του Eclipse.
Άνοιγμα Eclipse

Αφού ανοίξει, μπορούμε να γράψουμε και το πρώτο πρόγραμμα Hello world για να δούμε εάν δουλεύει.

Και πλέον είμαστε έτοιμοι για να γράψουμε τα προγράμματά μας στην γλώσσα Java.

Περισσότερες πληροφορίες δείτε στην σελίδα https://wiki.eclipse.org/Eclipse/Installation

Tue, Sep 07, 2021

Απενεργοποίηση ήχου κάμερας κατά την λήψη screenshot

Camera

ΠΡΟΒΛΗΜΑ

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

ΛΥΣΗ

Όσο και να έψαξα κάποια ρύθμιση, δεν βρήκα κάτι. Η λύση δόθηκε με την «διαγραφή» του ήχου και αντικατάστασή του με ένα κενό ήχο. Πως γίνεται αυτό;

Για αρχή μετονομάστε τον ήχο για να το έχετε σε περίπτωση που θέλετε να τον επαναφέρετε. Αυτό γίνεται με την εντολή (μία γραμμή):
sudo mv /usr/share/sounds/freedesktop/stereo/camera-shutter.oga /usr/share/sounds/freedesktop/stereo/camera-shutter-backup.oga

Αντικαταστήστε το με ένα κενό ήχο (μία γραμμή).
sudo ffmpeg -f lavfi -i anullsrc -t 0.5 -c:a libvorbis /usr/share/sounds/freedesktop/stereo/camera-shutter.oga

Σε περίπτωση που θέλετε να επαναφέρετε τον ήχο της κάμερας, απλά δώστε την εντολή (μία γραμμή):
sudo mv /usr/share/sounds/freedesktop/stereo/camera-shutter-backup.oga /usr/share/sounds/freedesktop/stereo/camera-shutter.oga

Αν έχετε βρει κάποιον άλλο τρόπο, αφήστε τον στα σχόλια.

Tue, Aug 17, 2021

Ποια είναι η ροή μετάφρασης στο GNOME

GNOME Logo

ΠΡΟΒΛΗΜΑ

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

ΠΡΟΛΟΓΟΣ

Εδώ θα δούμε πως μεταφράζουμε στο GNOME. Υπάρχουν αναλυτκές οδηγίες στην ιστοσελίδα του GNOME. Το GNOME χρησιμοποιεί μια διαδικτυακή εφαρμογή που ονομάζεται Damned Lies (DL) για να διαχειριστεί τη ροή της μεταφραστικής εργασίας και να παράγει στατιστικά στοιχεία για να παρακολουθεί την πρόοδο της μετάφρασης. Το DL προορίζεται ειδικά για χρήση στο GNOME. Παλαιότερα υπήρχε ένα ξεχωριστό εργαλείο που ονομαζόταν Vertimus αλλά έχει συγχωνευτεί σε DL. Οι συμμετέχοντες στη μετάφραση του GNOME ανήκουν σε ομάδες μετάφρασης, μία για κάθε γλώσσα στην οποία μεταφράζεται το GNOME και μπορούν να έχουν έναν από τους τρεις ρόλους: translator, reviewer και committer.

Ρόλοι μετάφρασης

1. Translators (μεταφραστές)

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

2. Reviewer (ελεγκτές)

Οι ελεγκτές είναι μεταφραστές του GNOME στους οποίους ανέθεσε ο συντονιστής της ομάδας να ελέγξουν τις πρόσφατα προτεινόμενες μεταφράσεις (από τους μεταφραστές). Έχουν πρόσβαση σε όλες τις ενέργειες που είναι διαθέσιμες σε μεταφραστές με την προσθήκη κάποιας εργασίας ανασκόπησης (κλειδώνουν ένα αρχείο μετάφρασης για να το διορθώσουν και το επισημαίνουν ως έτοιμο να συμπεριληφθεί-υποβληθεί στο GNOME).

3. Committer (καταχωριστές)

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

Η ροή μετάφρασης

Η ροή εργασίας που χρησιμοποιείται για τη διαχείριση των μεταφράσεων ονομάζεται Vertimus Workflow. Περιγράφει τις διάφορες καταστάσεις και ενέργειες που είναι διαθέσιμες κατά τη διαδικασία μετάφρασης μιας ενότητας. Την ροή μπορείτε να την δείτε στην παρακάτω φωτογραφία.
Vertimus Workflow

Αφού μάθαμε τον κάθε ρόλο, θα δούμε λίγο την διαδικασία.
Η Ελληνική κοινότητα, μεταφράζει εδώ.

  • Η βασική κατάσταση μιας ενότητας είναι Καμία τρέχουσα ενέργεια, η οποία εμφανίζεται ως «Ανενεργή» στο Damned lies.
  • Ένας μεταφραστής μπορεί στη συνέχεια να αποφασίσει να εργαστεί σε μια ενότητα, οπότε θα κάνει Ανάληψη για μετάφραση που αλλάζει την κατάσταση από Καμία τρέχουσα ενέργεια -> Ανάληψη για μετάφραση.
  • Ένα άλλο μονοπάτι που δίνει τη δυνατότητα σε κάποιον να κάνει Ανάληψη για μετάφραση είναι όταν το αρχείο μετακινείται από την κατάσταση Ανασκόπησης -> Μεταφράσεων. Αυτό συμβαίνει όταν μια ενότητα δεν έχει μεταφραστεί σωστά.
  • Όταν ολοκληρωθεί η μετάφραση, ο μεταφραστής μπορεί στη συνέχεια να ανεβάσει τη νέα μετάφραση, και έτσι αλλάζει την κατάσταση από τη Μετάφραση -> Μεταφρασμένο.
  • Και πάλι, εάν μια ενότητα χρειάζεται να βελτιωθεί μετά τη μετάφραση, μετακινείται από το Μεταφρασμένο -> Μετάφραση.
  • Λάβετε υπόψη ότι οι μεταφραστές μπορούν να προσθέσουν σχόλια σε οποιοδήποτε σημείο για να δώσουν περισσότερο περιεχόμενο στη δουλειά τους.
  • Αφού έχει μεταφραστεί από τον μεταφραστή, έχει ελεγχθεί για λάθη στη μετάφραση, τότε είναι έτοιμο να καταχωρηθεί από τον καταχωριστή στο αποθετήριο του GNOME.
    ΣΗΜΕΙΩΣΗ: Οι μεταφραστές πρέπει να έχουν εισάγει πλήρως το όνομά τους ώστε να μπορέσει να γίνει καταχώρηση του αρχείου. Αλλιώς θα πρέπει ο συντονιστής να επικοινωνήσει με τον μεταφραστή, να το συμπληρώσει για να μπορέσει να γίνει καταχώρηση σωστά. Όμως επειδή είμαστε εθελοντές και ο χρόνος του καθενός είναι πολύτιμος, υπάρχει περίπτωση απλά να γίνει καταχώρηση με χρήση όνομα άλλου μεταφραστή.

ΠΗΓΕΣ/ΠΕΡΙΣΣΟΤΕΡΗ ΑΝΑΓΝΩΣΗ

Fri, Jul 23, 2021

Μοντέλα ανάπτυξης και συνεργασίας openSUSE και SLE

openSUSE

Τύποι διανομών Linux

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

Πρώτα λοιπόν, υπάρχουν τρεις βασικοί τύποι διανομών Linux που καθορίζονται από τους κύκλους κυκλοφορίας τους και, συνεπώς, από το κοινό τους:

Κυλιόμενη Έκδοση:

  • Τελευταία λέξη της τεχνολογίας
  • Κυκλοφορία το συντομότερο δυνατό (CI / CD)
  • Παραδείγματα: openSUSE Tumbleweed, ArchLinux, Manjaro, Gentoo

Τακτική Έκδοση:

  • Κυκλοφορία από μια έως δύο φορές το χρόνο
  • Ενημερώνει ολόκληρη τη διανομή σε κάθε κυκλοφορία
  • Παραδείγματα: Ubuntu, Fedora, Debian

Έκδοση μακροπρόθεσμης υποστήριξης / Εκδόσεις για επιχειρήσεις:

  • Αργός ρυθμός "ανάπτυξης" (περίπου κυκλοφορεί ετησίως)
  • Ελάχιστα προγράμματα αναβαθμίζονται μεταξύ των δευτερευουσών κυκλοφοριών. Μόνο η κύρια κυκλοφορία φέρνει μεγάλες αλλαγές
  • Παραδείγματα: openSUSE Leap, Ubuntu LTS, SUSE Linux Enterprise Server, SUSE Linux Enterprise Desktop, RHEL

Αυτή είναι η βάση για την κατανόηση των σχέσεων μεταξύ SUSE Linux Enterprise και το openSUSE. Όπως θα δούμε στην επόμενη ενότητα, τα openSUSE Tumbleweed, openSUSE Leap και SUSE Linux Enterprise συνδέονται μεταξύ τους.

Κοινή ανάπτυξη openSUSE & SLE

Ακολουθεί μια απλή εικόνα που περιγράφει τη σχέση μεταξύ του openSUSE & SLE από την ημερομηνία κυκλοφορίας του Leap 15.0 (25 Μαΐου 2018):
Κοινή ανάπτυξη openSUSE & SLE

Το Factory Project είναι το αποθετήριο για ανάπτυξη κώδικα όπου βασίζονται όλες οι διανομές SUSE και openSUSE, ΔΕΝ είναι διανομή Linux! Είναι η άμεση πηγή για το openSUSE Tumbleweed και τελικά καταλήγει στις διανομές openSUSE Leap και SUSE Linux Enterprise. Με απλά λόγια, το Factory είναι το αποθετήριο ανάπτυξης για το openSUSE και το SUSE!

Τώρα ίσως αναρωτιέστε ποια είναι η σχέση Factory and openSUSE Tumbleweed; Είναι πολύ απλό! Το Factory λαμβάνει μια συνεχή ροή κώδικα χωρίς καμία σωστή Διασφάλιση Ποιότητας εκτός από κάποια ανασκόπηση κώδικα (κυρίως από bots), οπότε η κοινότητα του openSUSE δημιουργεί στιγμιότυπα του Factory που έχουν δοκιμαστεί με το openQA. Όταν ένα στιγμιότυπο είναι απαλαγμένο από σφάλματα, αποτελεί ενημέρωση για το openSUSE Tumbleweed, ως εκ τούτου χαρακτηρίζεται ως κυλιόμενη έκδοση.

Στη συνέχεια πιο κάτω στην εικόνα είναι η σχέση μεταξύ openSUSE Tumbleweed, openSUSE Leap και SUSE Linux Enterprise.

Με βάση το κοινό πρόγραμμα, το openSUSE Leap και το SLE έχουν ένα προβλέψιμο χρονικό πλαίσιο κυκλοφορίας: μια κυκλοφορία κάθε 12 μήνες και μια επικάλυψη υποστήριξης 6 μηνών για την προηγούμενη και τη νέα κυκλοφορία. Επομένως έρθει η στιγμή, γίνεται ένα στιγμιότυπο του openSUSE Tumbleweed και οι διανομές openSUSE Leap και SLE θα χρησιμοποιήσουν αυτό το στιγμιότυπο για να δημιουργηθούν οι επόμενες εκδόσεις των διανομών.

Με αυτήν την εικόνα, βλέπουμε ότι είναι μόνο μια ομάδα πηγών πακέτων που θα χρησιμοποιήθούν για την κατασκευή της αντίστοιχης διανομής. Αλλά προτού δούμε πως χτίζεται, σημειώστε ότι είναι μια απλοποιημένη προβολή επειδή υπάρχει πάντα εναλλαγή μεταξύ openSUSE Leap / SLE και openSUSE Tumbleweed. Δεν είναι συγχρονισμός πακέτων προς μια κατεύθυνση, επειδή κατά τη φάση ανάπτυξης των διανομών, εντοπίζονται σφάλματα και φυσικά οι διορθώσεις υποβάλλονται πίσω στο Factory, έτσι ώστε το openSUSE Tumbleweed να λαμβάνει επίσης διορθώσεις από τη διαδικασία.

Στην εταιρία SUSE, ο ανοικτός κώδικας είναι στα γονίδια των υπαλλήλων, οπότε πάντα συνεισφέρουν στο openSUSE, αλλά από το 2017, η υπεύθυνη ομάδα για την κυκλοφορία της SUSE είχε επιβάλει έναν κανόνα που ονομάζεται «Factory First Policy», ο οποίος αναγκάζει τις υποβολές κώδικα για το SLE να προωθηθούν πρώτα στο Factory πριν εισαχθούν στην διανομή SLE. Αυτή είναι η συνέχεια της αρχής «Upstream First» στο επίπεδο διανομής. Με αυτό τον τρόπο, μειώνεται η προσπάθεια συντήρησης και αξιοποιείται η κοινότητα.

Όταν γίνεται μια υποβολή κώδικα από υπάλληλο της SUSE για την ενσωμάτωση στην SLE15, ένας αυτοματοποιημένος έλεγχος θα διασφαλίσει ότι έγινε παρόμοια υποβολή στο αποθετήριο Factory. Εάν δεν έγινε, η υποβολή θα απορριφθεί αυτόματα και θα απαιτήσει από την υπεύθυνη ομάδα για την κυκλοφορία της SUSE να ρίξει μια πιο προσεκτική ματιά και να ζητήσει την υποβολή κώδικα στο αποθετήριο Factory. Με αυτήν την πολιτική «Factory First Policy», διασφαλίζεται ότι οποιαδήποτε ανάπτυξη της SLE ωθείται και στο openSUSE ακόμη και πριν γίνει δεκτή στην SLE!

Πώς «χτιζόταν» οι openSUSE & SLE μέχρι τώρα

Ας δούμε λίγο τεχνικά πώς δημιουργήθηκαν οι διανομές openSUSE & SLE μέχρι την έκδοση openSUSE Leap 15.2 και την SUSE Linux Enterprise 15 Service Pack 2.
Πώς «χτίζονται» οι openSUSE & SLE μέχρι τώρα

Η κορυφή της εικόνας αναφέρθηκε στο προηγούμενο τμήμα του άρθρου. Γίνεται χρήση της ίδιας ομάδας πηγών πακέτων για τη δημιουργία της openSUSE Leap και της SUSE Linux Enterprise Server.

Αυτό συμβαίνει επειδή το openSUSE Leap και το SLE ήθελαν
  • να μοιράζονται άμεσα μια βασική σειρά πακέτων (πράσινο σκούρο διαμάντι στην κορυφή)
  • να έχουν «επιπλέον» πακέτα (πράσινα ανοικτό σχήμα «V») που μπορούν να ενημερώνονται πιο συχνά ή να έχουν διαφορετικό επίπεδο υποστήριξης

Για την openSUSE είναι πολύ απλό, το μεγαλύτερο διαμάντι (πράσινο σκούρο + πράσινο ανοικτό) αντιπροσωπεύει ολόκληρη τη διανομή του openSUSE Leap με όλα τα επίσημα πακέτα.

Για την SUSE Linux Enterprise, οι επίσημες διανομές και πακέτα είναι μόνο το πράσινο σκούρο διαμάντι στην κορυφή! Αλλά το υπόλοιπο πράσινο ανοικτό "V" θα είναι διαθέσιμο στο Package Hub. Το Package Hub είναι το αποθετήριο κοινότητας που δημιουργήθηκε από την κοινότητά για τις SUSE Linux Enterprise Server και Desktop, αλλά φυσικά το SUSE δεν υποστηρίζει άμεσα αυτά τα πακέτα, αλλά υποστηρίζονται από την κοινότητα.

Το σημαντικό εδώ είναι ότι η openSUSE Leap 15.2 και η SLE 15 SP2 χρησιμοποιούν τις ίδιες πηγές πακέτων και μοιράζονται τις ίδιες λίστες πακέτων, αλλά δεν χρησιμοποιούν τα ίδια εκτελέσιμα (binaries) rpm!

openSUSE & SLE στο μέλλον

Μόλις είδαμε τη «περίεργη συμβίωση», αλλά πώς μπορεί να γίνει καλύτερη; Είναι εύκολη, απλοποιώντας τη μεγάλη εικόνα:
openSUSE & SLE στο μέλλον

Στην προηγούμενη ενότητα (Πώς «χτιζόταν» οι openSUSE & SLE μέχρι τώρα) η διαδικασία χρησιμοποιήθηκε από τουλάχιστον τις 3 τελευταίες κυκλοφορίες, αλλά η SUSE πίστεψε ότι θα μπορούσε να κάνει περισσότερα, οπότε έκανε την πρόταση Closing the Leap Gap (Κλείσιμο του χάσματος με την Leap) στην κοιντότητα openSUSE, κατά τη φάση ανάπτυξης της SLE 15 SP2. Για να συντομεύσουμε την ιστορία, η πρόταση ήταν να συμπεριληφθούν τα προκατασκευασμένα αρχεία binaries από το SLE, εκτός από τα πηγαία binaries που ήδη παρέχονται, για να αυξηθεί η συμβατότητα. Για περισσότερες λεπτομέρειες σχετικά με όλες τις πτυχές αυτής της πρότασης, δείτε την σελίδα openSUSE FAQ.

Οι αλλαγές έγιναν επειδή για ομαλότερη μετανάστευσης μεταξύ των SLE και openSUSE Leap αλλά και για μια πιο άμεση συνεργασία με την κοινότητα openSUSE. Επομένως, η SUSE διευκολύνει την κοινότητα να συνεισφέρει απευθείας στο openSUSE και το SLE μέσω νέων αποκλειστικών καναλιών. Έτσι, η κοινότητα εξακολουθεί να είναι σε θέση να διαμορφώσει και να υποβάλει αλλαγές στην επόμενη έκδοση διανομής με αυτήν το νέο τρόπο.

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

Όπως μπορείτε να δείτε, η σχέση μεταξύ του openSUSE και του SLE δεν είναι από μόνη της περίπλοκη, αλλά είναι αλήθεια ότι επιλέχθηκε η συμβίωση που επιτρέπει τη δημιουργία ορίων μεταξύ μιας κοινοτικής διανομής κυλιόμενης κυκλοφορίας (openSUSE Tumbleweed), μιας κοινοτικής διανομής LTS (openSUSE Leap) και μιας εταιρική διανομή (SLE). Με την πρόταση Closing the Leap Gap, αυτό που θέλει η SUSE να επιτύχει είναι να συνεχίσει να βελτιώνει την αποτελεσματικότητα της συνεισφοράς από και προς την κοινότητα και την εταιρική πλευρά.

Μοιραζόμαστε περισσότερα από τον κώδικα

Τέλος, η κοινότητα openSUSE και το SUSE μοιράζονται κάτι περισσότερο από απλώς κώδικα! Αλλά αν σταθούμε καθαρά στην ανάπτυξης λογισμικού, πρέπει να μιλήσουμε για το πώς τα openSUSE και SLE δημιουργούνται και δοκιμάζονται κατά τη φάση της συνδεδεμένης ανάπτυξής τους.

Στη συνέχεια, θα μιλήσουμε για μερικές από τις υποκείμενες διαδικασίες που συνδέουν τα πάντα μαζί, αλλά και για τα εξαιρετικά εργαλείο που χρησιμοποιούμε: Open Build Service (build) και openQA (test).

Περαιτέρω αναγνώσεις / βίντεο: ΠΗΓΗ:
https://www.suse.com/c/how-suse-builds-its-enterprise-linux-distribution-part-5/ (τροποποιημένο)

Mon, Jul 05, 2021

Εγκατάσταση GitKraken, ότι πιο εύκολο για διαχείριση αποθετηρίων Git

GitKraken

ΠΡΟΒΛΗΜΑ

Την σήμερον ημέρα το ερώτημα που πλανάται είναι, για να είσαι influencer, πόσους ακόλουθους πρέπει να έχεις στα social media; Στον κόσμο των προγραμματιστών, μέτρο σύγκρισης είναι το Gihub/Gitlab. Πόσους ακόλουθους έχεις; Πόσα αποθετήρια; Πόσα από αυτά είναι επισημασμένα; Πόσα contributions είχες τελευταία; Πόσο πράσινος (ή μπλε) είναι ο πίνακας με την συνεισφορά σου; Όλα αυτά τα ερωτήματα είναι τα αντίστοιχα των influencers που αφορούν τους προγραμματιστές. Αυτά αποτελεούν ουσιαστικά το βιογραφικό τους (άντε μαζί με το προφίλ τους στο Linkedin). Με αυτά μπορούν να ζητήσουν εργασία (ή να τους ζητήσουν recruiters).

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

ΛΥΣΗ

Την λύση στην ερώτηση έρχεται να δώσει ένα καταπληκτικό πρόγραμμα. Το πρόγραμμα ονομάζεται GitKraken. Τι είναι αυτό που το κάνει μοναδικό; Ο κυριότερος λόγος είναι ότι η διαδικασία για να υποβάλλετε τον κώδικά σας στο αποθετήριο γίνεται με γραφικό τρόπο. Αυτό διευκολύνει τους αρχάριους χρήστες ΑΦΑΝΤΑΣΤΑ. Τα χαρακτηριστικά του προγράμματος δεν σταματούν εκεί. Ακόμα και ένας προχωρημένος χρήστης μπορεί να αυτοματοποιήσει τις καθημερινές του εργασίες και να εξοικονομήσει χρόνο.

Στο παρόν άρθρο θα δούμε πως μπορείτε να εγκαταστήσετε το GitKraken. Σε επόμενα άρθρα θα δούμε πως μπορείτε να το χρησιμοποιήσετε αποδοτικά, θα δούμε κάποια κολπάκια κλπ.

ΕΓΚΑΤΑΣΤΑΣΗ

Πολλοί είναι οι τρόποι εγκατάστασης.

ΑΡΧΕΙΑ deb/rpm

Κατεβάστε το πρόγραμμα:

Για Ubuntu LTS 16.04+, Debian 9+
deb

Για RHEL 7+, CentOS 7+, Fedora 31+
rpm

Οι παραπάνω τρόποι, δεν χρειάζονται ιδιαίτερη ανάλυση. Κατεβάζετε το αρχείο και με διπλό κλικ θα ανοίξει ο εγκαταστάτης πακέτων της διανομής σας. Με απλό Next>Next>Finish θα εγκατασταθεί το πρόγραμμα.

FLATPAK

Αφού έχετε εγκαταστήσει το Flatpak στον υπολογιστή σας, μπορείτε να το εγκαταστήσετε εύκολα με την εντολή:
flatpak install com.axosoft.GitKraken

Αν παλι είστε οπτικοί τύποι, μπορείτε να το εγκαταστήσετε από το αποθετήριο του flathub (εδώ). Πατήστε απλά Install και θα εγκατασταθεί (αφού έχετε εγκαταστήσει το flatpak μαζί με το αποθετήριο στον υπολογιστή σας).

SNAP

Αφορά κυρίως την διανομή Ubuntu αλλά και όσες διανομές έχουν ενεργοποιημένη την τεχνολογία SNAPS.
Επισκεφθείτε το snapcraft (εδώ) και πατήστε το κουμπί Install. Θα ανοίξει ο εγκαταστάτης του υπολογιστή σας και θα το εγκαταστήσετε πολύ απλά.

ΕΓΓΡΑΦΗ

Για την καλύτερη λειτουργία και για να αποκομίσετε τα μέγιστα από το πρόγραμμα, πρέπει να κάνετε λογαριασμό. Επισκεφθείτε την ιστοσελίδα του GitKraken και δημιουργήστε τον λογαριασμό σας. Χρησιμοποιόντας τον παραπάνω σύνδεσμο, θα μπείτε και σε κλήρωση για δωροκάρτα των 100€ από την AMAZON.

ΣΚΟΝΑΚΙ

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

Κατεβάστε το σκονάκι

Δείτε πόσο εύκολη είναι η χρήση (θα ακολουθήσουν και άλλα tips).



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