Category Archives: Ελεύθερο Λογισμικό

Στήσιμο και ρύθμιση τοπικού DNS server για ορισμό τοπικών domain.

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

Έτσι λοιπόν στην προσομοίωση λέω ότι και καλά η εταιρεία μου έχει ένα website http://example.com το οποίο είναι public facing και hosted κάπου αλλού και στο «ενδοεταιρικό» μου δίκτυο έχω 2 «ενδοεταιρικές» web εφαρμογές την http://app1.intranet.example.com και την http://app2.intranet.example.com. Προκειμένου να λύσω αυτό το πρόβλημα ύστερα από αναζήτηση λέει ότι θα πρέπει να στήσω τον δικόν μου «ενδοεταιρικό» dns server.

Έτσι λοιπόν σε έναν server που χρησιμοποιώ στο εικονικό «ενδοεταιρικό» δίκτυο που τρέχει ubuntu εγκατέστησα τον bind9 με την δύσκολα-να-μαντέψεις εντολή:


sudo apt-get install bind9 

Εφόσον εγκατασταθεί θα πρέπει να:

  • Ρυθμίσουμε τον σέρβερ να προωθεί ότι domain δεν έχει σχέση με το intranet σε δημόσιους DNS servers
  • Να ορίσουμε DNS ζώνες για τα εσωτερικά domains.

Έτσι ύστερα από ώρες αναζήτησης βρήκα ότι έπρεπε να κάνω τα εξής: Στο /etc/bind/named.conf (για ubuntu 14.04) όρισα τα εξής:


options {
	directory "/var/cache/bind";
	querylog yes;

	// If there is a firewall between you and nameservers you want
	// to talk to, you may need to fix the firewall to allow multiple
	// ports to talk.  See http://www.kb.cert.org/vuls/id/800113

	// If your ISP provided one or more IP addresses for stable 
	// nameservers, you probably want to use them as forwarders.  
	// Uncomment the following block, and insert the addresses replacing 
	// the all-0's placeholder.

	 forwarders {
		8.8.8.8;
		8.8.4.4;
	 };

	//========================================================================
	// If BIND logs error messages about the root key being expired,
	// you will need to update your keys.  See https://www.isc.org/bind-keys
	//========================================================================
	dnssec-validation auto;

	auth-nxdomain no;    # conform to RFC1035
	listen-on-v6 { any; };
};

logging{
 channel default_file {
        file "/var/log/named/default.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };

    category default { default_file; };
    category general { default_file; };
    category database { default_file; };
    category security { default_file; };
    category config { default_file; };
    category resolver { default_file; };
    category xfer-in { default_file; };
    category xfer-out { default_file; };
    category notify { default_file; };
    category client { default_file; };
    category unmatched { default_file; };
    category queries { default_file; };
    category network { default_file; };
    category update { default_file; };
    category dispatch { default_file; };
    category dnssec { default_file; };
    category lame-servers { default_file; };
};

acl "intranet" { 10.42.0.0/24; };
view "intranetView" {
	match-clients { "intranet"; };
	recursion yes;
	zone "intranet.example.com" {
		type master;
		file "/etc/bind/db.intranet";
	};
	include "/etc/bind/named.conf.default-zones";
};

view "outside" {
	match-clients { any; };
	recursion no;	
	include "/etc/bind/named.conf.default-zones";
};

Όπως παρατηρείτε χάριν ευκολίας χώρισα την ρύθμιση σε χρώματα για ευκολότερη μελέτη:

  1. Όσα είναι με αυτό το χρώμα υποδηλώνουν ποιους dns θα προωθεί τα requests για domains τα οποία δεν μπορεί να εξυπηρετήσει ο ίδιος ο bind. Προσωπικά προτείνω την χρήση αυτών των DNS.
  2. Όσα είναι με αυτό το χρώμα υποδηλώνει ρυθμίσεις για logging αυτές οι ρυθμίσεις μπορεί να παρθούν copy paste αλλά για να λειτουργήσουν θα πρέπει να εκτελέσετε τις εξής εντολές:
    sudo mkdir /var/log/named/
    sudo touch /var/log/named/default.log
    sudo chmod uag+w /var/log/named/default.log
    

     

  3. Τέλος όσα είναι με αυτό το χρώμα αποτελεί ρυθμίσεις οι οποίες:
    1. Ρυθμίζουν ποιο δίκτυο θα εξυπηρετεί τι. Εμείς ορίσαμε ότι το «εταιρικό» μας τοπικό δίκτυο (10.42.0.0/24) θα εξυπηρετείτε από το intranetView το οποίο εκεί έχουμε ορίσει τα «ενδοεταιρικά» μας domain που ορίζονται με εγγραφές zone οι οποίες έχουν την εξής μορφή:
      
      zone "^domain που εξυπηρετούν^" {
      		type master;
      		file "^αρχείο ρύθμισης ζώνης^";
      	};
      
    2. Ποιο network θα μπορεί εφόσον συνδεθεί στον σέρβερ να αναζητά για άλλα domain που δεν έχει ζώνη με την ρύθμιση recursion. Εμείς στην παραπάνω ρύθμιση επιτρέπουμε μόνο όσοι προέρχονται από το δίκτυο 10.42.0.0/24; να αναζητούν για άλλα domain.
    3. Και τέλος για να μην σπα σε κάθε view εγγραφή ορίσαμε εγγραφές για της προεγκατεστημένες ζώνες (include «/etc/bind/named.conf.default-zones»;)

Τώρα μας μένει πλέον να ορίσουμε την ζώνη μας για τον δικό μου σκοπό ύστερα από πειραματισμό βρήκα ότι είναι αυτή (αναμένετε εμπλουτισμός στο κομμάτι αυτό):

$TTL 604800
@ IN SOA intranet.example.com. root.example.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS root.example.com.
@ IN A 10.42.0.1
app1 IN A 10.42.0.1
app2 IN A 10.42.0.1

Όσο αφορά το κομμάτι της ζώνης ακόμα το ψάχνω αλλά προς το παρόν έχετε το παραπάνω σαν template.

Πλέον στον εκάστοτε υπολογιστή στον δίκτυο πρέπει να ορίσετε την Ιp που είναι εγκατεστημένος ο DNS server σαν DNS. Στις περισσότερες διανομές GNU/Linux αυτό γίνεται ως εξής:

  1. Κάνουμε δεξί κλικ στο εικονίδιο του δικτύου.
  2. Επιλέγουμε «Επεξεργασία συνδέσεων»/
  3. Επιλέγουμε την σύνδεσή μας και κάνουμε κλικ στο «Επεξεργασία».
  4. Μετά επιλέγουμε την καρτέλα DNS και ορίζουμε την Ip του μηχανήματος που εγκαταστήσαμε τον Bind server.

Ρύθμιση Virtualbox και Εικονικών Μηχανών που τρέχουν GNU/Linux για Μόνο-Οικοσεσπότη Σύνδεση (Host Only)

Πολλές φορές θα μας ήταν βολικό το να μπορούσαμε να επικοινωνούμε με τα εικονικά μας μηχανήματα από το Virtualbox με έναν τρόπο που να μας επιτρέπει να επικοινωνεί το μηχάνημα οικοδεσπότης (παρακάτω θα το διευκρινίζουμε σαν host) με το εικονικό μηχάνημα (παρακάτω θα το διευκρινίζουμε σαν guest) σαν να ήταν στο ίδιο δίκτυο χωρίς όμως απαραίτητα να μπορεί να το βλέπει κάποιο μηχάνημα εκτός οικοδεσπότη αλλά και χωρίς να πρέπει να ανοίξουμε θύρες μέσω Virtualbox προκειμένου να επικοινωνεί το host με το guest.

Αυτό μπορεί να μας χρειαστεί για περιπτώσεις όπως:

  • Μπορεί στο VM να τρέχει ένα υπό-ανάπτυξη λογισμικό και θέλουμε να προσομοιώνουμε καταστάσεις  που κάποιος μπορεί να επικοινωνεί απ’ ευθείας με το δίκτυο σε συγγεκριμένες θύρες.
  • Τα VM να τρέχουν να έχουν σαν host  laptop που συνδέετε σε δημόσια wi-fi έτσι το να έχουμε στα vm δίκτυο-γέφυρα να μην μας βολεύει. Έτσι θέτοντας μια ΝΑΤ εικονική κάρτα δικτύου και μία Host Only να μας είναι ποιο βολικό.
  • Οτιδήποτε άλλο ανάλογα με το σενάριο.

Ρύθμιση στο Virtualbox

Σημείωση: Υποθέτουμε ότι το περιβάλλον είναι στα Ελληνικά και το τρέχουμε σε Ubuntu Gnu/Linux 16.04.1.

  1. Πρώτα επιλέγετε Αρχείο -> Ρύθμιση -> Προτιμήσεις
  2. Στο παράθυρο που σαν ανοίγει επιλέγετε Δίκτυο
  3. Και μετά επιλέγετε την καρτέλα Μόνο-με-Οικοδεσπότη κάρτα και κάνετε κλικ στο εικονίδιοvirtualbox-%cf%80%cf%81%ce%bf%cf%84%ce%b9%ce%bc%ce%ae%cf%83%ce%b5%ce%b9%cf%82_002. Όπως βλέπετε στην παρακάτω εικόνα:

Πλέον για να έχετε ενεργή την επιλογή αυτή κάντε τα εξής βήματα:

  1. Στο εικονικό μηχάνημα που επιθυμείτε επιλέξτε το και κάντε κλικ στο κουμπί Ρυθμίσεις (με την προϋπόθεση ότι το μηχάνημα θα είναι κλειστό):
  2. Μετέπειτα στο παράθυρο που σας έχει ανοίξει επιλέγετε Δίκτυο.
  3. Και στον εικονικό Κάρτα Δικτύου της αρεσκεία της επιθυμία σας επιλέγετε τα εξής (ή δείτε την εικόνα για καλύτερη διευκόλυνση)
    1. Στο checkbox «Ενεργοποίηση Κάρτας δικτύου» εάν δεν είναι τσεκαρισμένο
    2. Και στο dropwown «Συνδεδεμένη σε» επιλέξτε «Μόνο-με-οικοδεσπότη» κάρτα

Πλέον τώρα έχετε μια διεπαφή για το Guest και το Host μόνο.

Ρύθμιση δικτύου στο Εικονικό μηχάνημα

Όσα Gnu/Linux distros έχουν από προεπιλογή κάποιο GUI όπως KDE, XFCE, Unity κλπ κλπ θα σας την αναγνωρίσει αμέσως και θα επιτευχθεί σύνδεση ειδάλλως θα πρέπει να γίνουν κατάλληλες ρυθμίσεις πχ σε ένα VM που τρέχει Ubuntu Server Edition.

Σε Ubuntu Linux Server vms πρέπει να εκτελέσετε τα εξής βήματα:

  1. Με την παρακάτω εντολή εντοπίζουμε το μη συνδεδεμένο δίκτυο
    
    ifconfig -a
    

    Συνήθως αυτή που δεν έχει IPv4 είναι η μη συνδεδεμένη.

  2. Mετά δίνουμε στο μη συνδεδεμένο interface δίκτυο. Για να γίνει αυτό δίνουμε:

    
    sudo nano /etc/network/interfaces
    

    Και μετά τοποθετούμε τα στο τέλος του κειμένου τα εξής (υποθέτουμε πως η μη συνδεδεμένη διεπαφή είναι η eth1):

    
    auto eth1
    iface eth1 inet dhcp
    

    Και με τον συνδιασμό Ctrl+O και Ctrl+Χ αποθηκεύουμε.

  3. Κάντε restart για να λάβετε τις νέες ρυθμίσεις.

 

Xubuntu Unity Edition

Xunity

Ένα desktop screenshot που είναι Unity σε XFCE Desktop

Μια από τις δυνατότητες που προσφέρει το Ελεύθερο λογισμικό είναι να μπορείς να ορίζεις τον υπολογιστή σου όπως θες εσύ σαν χρήστης. Όπως πχ. να έχεις και XFCE και Unity ταυτόχρονα και μάλιστα το Unity στα χρώματα του XFCE. Οι παρακάτω εντολές προϋποθέτουν ότι έχετε εγκατεστημένο το Xubuntu στον υπολογιστή σας.

Για να γίνει αυτό πρέπει να εκτελέσετε τις ακόλουθες εντολές:


sudo apt-get install unity ubuntu-session

Μετά κάνετε logout και login και απολαύστε τον συνδυασμό του XFCE στο Unity όσο το δυνατόν μινιμαλίστικη.

Για μια ποιο μινιμαλιστική έκδοση του unity δώστε:

sudo apt-get install ubuntu-session
sudo apt-get install unity unity-lens-* --no-install-recomends

Και απολαύστε την νέα διανομή Xubuntu Unity Edition!!!

Συνιστώμενα προγράμματα για αύξηση παραγωγικότητας σε Ubuntu GNU/Linux (Για εργαζόμενους στην πληροφορική).

Δουλεύοντας σαν προγραμματιστής υπάρχουν κάποια προγράμματα τα οποία μου έκαναν τη ζωή ποιο εύκολη. Προκειμένου να διευκολύνω και την δικιά σας ζωή σας τα λέω και σε εσάς. Γι αυτό πάρτε μάσκα βατραχοπέδιλα και ας κάνουμε την βουτιά μας!!!!

Guake terminal

Πολλές φορές θέλετε μια κονσόλα άμεσα προσβάσιμη αλλά η εναλλαγή μεταξύ πολλά παράθυρων συμπεριλαμβανομένου και του τερματικού δεν είναι και ότι ποιο βολικό. Με το Guake Terminal μπορείτε με το πάτημα ενός πλήκτρου να έχετε άμεσα μια κονσόλα διαθέσιμη. Βολικό όποτε έχετε μια οθόνη αντί για 2 που μπορείτε να έχετε την κονσόλα άμεσα διαθέσιμη. Προσωπικά το βολεύτικα ειδικά στον οικιακό desktop. Έτσι πχ. μπορείτε να έχετε τον editor που γράφετε κώδικα η μια ρύθμιση και εύκολα να το δοκιμάζετε.

Ιστοσελίδα: http://guake.org/
Στο Ubuntu υπάρχει στα αποθετήρια

Terminator

Πολλές φορές ειδικά σε μεγάλες οθόνες βολεύει να έχετε πολλαπλά τερματικά ανοικτά. Ακόμη πολλές φορές μπορεί να χρειαστεί να γράψετε την ίδια εντολή σε πολλά διαφορετικά terminal sessions πχ. να κάνετε χειροκίνητα update τους σέρβερ σας. Το terminator έχει το χαρακτηριστικό που μπορείτε ταυτόχρονα να γράφετε σε πολλαπλά τερματικά, γλιτώνοντας σας από την χαμαλοδουλειά.

Στο Ubuntu υπάρχει στα αποθετήρια

Shutter

Πολλές φορές θέλουμε όταν τραβάμε ένα screenshot να επισημάνουμε κάποια σημεία με βελάκια κλπ κλπ η και ακόμη από μια εικόνα μπορούμε να θέλουμε να επισημάνουμε κάποια πράγματα πχ. από ένα screenshot μιας ιστοδελίδας – εφαρμογής να θέλουμε να δείξουμε ένα σημείο που θέλει φτιάξιμο το CSS στον developer που προσλάβαμε. Το shutter απλά just rocks!!!!

Ιστοσελίδα http://shutter-project.org/
Στο Ubuntu υπάρχει στα αποθετήρια

Atom text editor

Ο atom είναι ένας text editor με πάρα πολλά plugins. Προσωπικά το χρησιμοποιώ για να αναπτύσω Dockerfiles για docker images αλλά και σαν sidekick με το IDE όταν γράφω κώδικα για να κάνω prettyfy Json αλλά και base64 decoding χωρίς να γράφω πολλές εντολές. Πραγματικά για μένα είναι ένας ελβετικός σουγιάς ελευθέρου λογισμικού. Από τους δημιουργούς του github με αγάπη.

Ιστοσελίδα http://atom.io/
Στο Ubuntu ΔΕΝ υπάρχει στα αποθετήρια θα πρέπει να κατεβάσετε το .deb από την παραπάνω ιστοσελίδα και να το εγκαταστήσετε χειροκίνητα.

Ubuntu Release Party στην Κύπρο

Η Κοινότητα Ubuntu της Κύπρου Διοργανώνει (αργοπορημένα) release Party για να γιορτάζει την κυκλοφορία της νέας έκδοσης 16.04 μακράς υποστήριξης της διανoμής GNU-Linux Ubuntu.

Θα διοργανωθεί στις 30/6/2016 19:00 στο hackerspace της Λεμεσού.

Διεύθυνση: Ναβαρίνου 16, Καθολική, Λεμεσός Κύπρος (http://www.limassolhackerspace.org/contact/)

Πληροφορίες στο:
http://loco.ubuntu.com/events/ubuntu-cy/3404-ubuntu-release-party/

Γράψτε Ιαπωνικά σε Ubuntu linux μέσω anthy

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

Για ubuntu 14.04 Κάνουμε τα εξής βήματα:

Κάνουμε κλικ στο εικονίδιο των ρυθμίσεων είτε ανοίγοντας το από την πλαϊνή μπάρα είτε αναζητώντας στο dash «ρυθμίσεις συστήματος» ή «settings»

1459970624

Έπειτα κάνουμε κλίκ στο «Γλωσσική υποστήριξη» (όπως βλέπετε στην παραπάνω εικόνα) και μετά κλικ στο «Εγκατάσταση/ Απομάκρυνση Γλωσσών».

Σημείωση: Όταν το ανοίξετε θα σας βγάλει ένα νέο παραθυράκι που σας λέει για ημιτελή γλωσσική υποστήριξη καλό είναι να εγκαταστήσετε τις γλώσσες.

Εφόσον κάνετε τις παραπάνω ενέργειες θα σας βγάλει το παρακάτω παραθυράκι. Εκεί θα αναζητήσετε τα «Γιαπωνέζικα» και θα κάνετε κλίκ στο checkbox στο πλάι.

1459971272

Και μετά κλικ στο κουμπί «Εφαρμογή αλλαγών». Θα κατεβάσει τα πακέτα και θα κάνει όλη την μαγεία μόνο του.

Με το πέρας της εγκατάστασης εάν κάνετε scrolldown στο παραθυράκι των γλωσσών θα δείτε την επιλογή των Ιαπωνικών (日本語 Διαβάζετε: nihongo)

Για ubuntu 16.04 δίνουμε τις εξής εντολές:


sudo apt-get install ibus-anthy anthy*
sudo apt-get install fonts-takao*

Σημείωση: Λειτουργεί και ο τρόπος τις 14.04 σε 16.04 αλλά εγκαθιστάτε ο mozc αντί του anthy. Ο οδηγός καλύπτει την μέθοδο anthy.

Ανεξαρτήτως έκδοσης κάντε logout και login ξανά.

Εφόσον κάναμε τα παρακάτω βήματα και τελείωσε η εγκατάσταση πάμε στο desktop μας και στο μενού γλωσσών και επιλέγουμε το:
1459972857

Και αναζητούμε «Γιαπωνέζικα» (Καλύτερα κατ εμέ να μεταφραζόταν Ιαπωνικά) και κάνουμε κλικ στο προσθήκη όπως βλέπετε και στην παρακάτω εικόνα:

1459974412
(Εάν δεν το βρίσκετε δοκιμάστε να κάνετε logout και login ξανά και εκτελέστε το παραπάνω βήμα.)

Kαι κάνουμε κλικ στο κουμπί «Προσθήκη»

Μετά στις ρυθμίσεις εισαγωγής μεταφέρουμε την Ιαπωνική διάταξη ΑΜΕΣΩΣ ΜΕΤΑ από την Αγγλική. Διότι για να δουλέψει το Anthy (προεπιλογή σε ubuntu 14.04) πρέπει η Ιαπωνική διάταξη να είναι η ΑΜΕΣΩΣ επόμενη από τα Αγγλικά όταν τις εναλλάσσετε.

Τώρα μπορείτε να γράψετε Ιαπωνικά.

Πως γράφουμε Ιαπωνικά

Στην Ιαπωνική γλώσσα υπάρχουν 3 είδη χαρακτήρων:

  1. Hiragana (χιραγκάνα)
  2. Katakana (κατακάνα)
  3. Kanji (κάντζι)

Τώρα μπορούμε στο μένου επιλογής γλώσσας να επιλέξουμε την επιλογή anthy είτε από μενού γλωσσών:
1466408843
Είτε με τον ίδιο τρόπο που εναλάσουμε από Ελληνικά σε Αγγλικά με τον ίδιο συνδιασμό πλήκτρων.

Για να γράψετε hiragana απλά δείτε το Πινακάκι που είναι στον σύνδεσμο: https://en.wikipedia.org/wiki/Hiragana# … f_hiragana (Εκεί που αναγράφει: «Table of hiragana») και απλά γράψτε με λατινικούς χαρακτήρες (ρομάντζι – ロマン字) και πατώντας Enter το μετατρέπει σε Hiragana. Για να γίνουν σε kanji απλά πατάτε στο space πριν πατήσετε enterν ε΄αν δεν είναι αυτό που θέλετε να γράψετε πατάτε space πολλές φορές μέχρι να βρεθεί η διαθέσιμη.

πχ. Για την λέξη たべもの (Μετάφραση: φαγώσιμα αντικείμενα) πληκτρολογείτε tabemono + Enter ενώ για να εμφανιστεί έτσι (με κάντζι) 食べ物 πληκτρολογείτε tabemono + Space + Enter.

Ενώ η εναλλαγή με κατακάνα γίνετε με τον τρόπο που λέει η παρακάτω εικόνα:
1466409148

Ακόμη για να δείτε τι πρέπει να πληκτολογείτε για να γράψετε katakana θα το δείτε στο: https://en.wikipedia.org/wiki/Katakana#Table_of_katakana. Αλλά έχει και κάποιιους έξτρα συνδιασμούς που δεν αναφέρονται στον πίνακα (βλ. παρακάτω).

Προσοχή:

Πολλές φορές ο χαρακτήρας は(ha) διαβάζεται σαν wa.
Όμως για να γράψετε προτάσεις όπως πχ:
私はげんきです。 (Μετάφραση: Είμαι καλά στην υγεία μου.)
Πληκτρολογείτε :
Watashi + Space+Enter+ha+enter+genki+enter+desu+.

(Δώστε βάση στα έντονα γράμματα στο παραπάνω παράδειγμα)

Ομοίως και για το を(wo) που πολλές φορές διαβάζεται σαν ο.
πχ. 私はすしをたべました。 (Μετάφραση: Εγώ έφαγα σούσι.)
Πληκτρολογείτε:
Watashi+space+enter+sushi+enter+wo+tabemashita+enter+.

Ακόμη πολλές φορές θέλουμε να βάλουμε ένα μικρό つ όταν η λέξη κατά την ανάγνωση χρειάζεται μια παύση. Όπως στην λέξη けっこん (Μετάφραση γάμος) απλά πληκτρολογούμε τον ήχο που κάνει παύση. Αυτός ο τρόπος ισχύει και για κατακάνα.
πχ. Για την λέξη けっこん πληκτρολογούμε kekkon+enter. Ομοίως και σε παρόμοιες λέξεις όπως ろっぴゃく πληκτρολογούμε roppyaku+enter.

Ακόμη σε Κατακάνα έχουμε και κάποιους έξτρα συνδιασμούς χαρακτήρων όπως チィ ( διαβάζετε τι ). Εάν γράψουμε ti θα μας βγεί チ γι αυτό γράφουμε tyi .

Ένας καλός μνημονικός κανόνας είναι ότι εάν δεν βγαίνει ο σωστός συνδυασμός πριν το πρώτο γράμμα του συνδυασμού βάλε ένα y. Πχ. Στο προηγούμενο παράδειγμά μας το πρώτο γράμμα είναι το t και η αντιστοιχία σε ρομάντζι είναι ti (όπως διαβάζουμε πάντα) ε μετά το τ βάζουμε ένα y.

USB Stick που εκκινά πολλές διανομές linux

Πολλές φορές θα μας είναι χρήσιμο αν είχαμε ένα στικάκι που να είχε την δυνατότητα να μπορεί να εκκινεί από παραπάνω από μια διανομές linux. Εξάλλου την σήμερον ημέρα τα στικάκια ξεπερνάνε άνετα τα 2GB κρίμα να έχετε ένα τόσο μεγάλο στικάκι και να έχει ανεκμετάλλευτο χώρο  :problem:.

Αυτό άνετα το πετυχαίνεται με διάφορες λύσεις αλλά εμείς θα σας δείξουμε την λύση που δεν θα θέλετε τίποτα εξτρά.

Λοιπόν τα υλικά μας είναι:

  • Το καλό μας τερματικό
  • Ένα στικάκι μεγάλης χωρητικότητας (κρίμα να έχετε τόσες διανομές και να μην μπορείτε να τις χωρέσετε  😉 )
  • Και βεβαίως βεβαίως διανομές Linux

Εκτέλεση:

Ανοίγουμε το τερματικό και γινόμαστε root:

sudo su

Μετά βλέπουμε όλους τους δίσκους και εντοπίζουμε το στικάκι μας:

fdisk -l

Καλό είναι να έχετε «καρφωμένο» μόνο το στικάκι που θέλετε να κάνετε multiboot για να μπορείτε να το βρείτε εύκολα

θα είναι της μορφής /dev/sdx1 όπου x ένα λατινικό γράμμα αναλόγως το σύστημα.

Στην συνέχεια θα κάνουμε 2 υποθέσεις:

  1. Ότι το στικάκι μας είναι το αρχείο συσκευής /dev/sdb
  2. Και αναλόγως ότι περιέχει ένα partition /dev/sdb1

Και το κάνουμε Unmount το partition:

umount /dev/sdb1

Τώρα έχουμε 2 επιλογές:

  1. Να το διαμορφώσουμε για να κάνει boot μόνο σε bios μηχανήματα (ο παλιός τρόπος).
  2. Να κάνει boot και σε bios και σε UEFI (o νέος τρόπος).

Ο παλιός τρόπος

Μετά διαμορφώνουμε το partition σαν fat32:

mkfs.vfat -F 32 -n MULTIBOOT /dev/sdb1

Και μετά κάνουμε το partition bootable:

fdisk /dev/sdb

Στo μενού που μας βγάζει πατάμε a και enter μετά πατάμε 1 και enter και μετά w και enter

Και προσαρτίζουμε το usb stick ξανά.

mkdir /media/όνομα_χρήστη/MULTIBOOT && mount /dev/sdb1 /media/όνομα_χρήστη/MULTIBOOT

Όπου όνομα_χρήστη το username που κάνεται login (είσοδο) στο σύστημα. Μπορείτε να το δείτε σε ένα διαφορετικό παράθυρο τερματικού δίνοντας την εντολή:

whoami

Εφόσον το προσαρτήσαμε εγκαθιστούμε τον grub2 στο στικάκι:

grub-install --force --no-floppy --target=i386-pc --recheck --boot-directory=/media/όνομα_χρήστη/MULTIBOOT /dev/sdb

Και τώρα βάζουμε τα .iso  αρχεία των διανομών στο στικάκι μας.

Ο Νέος τρόπος:

Κατ’ αρχάς εκτελούμε τις εξής εντολές για να κάνουμε 2 partitions (το UEFI χρειάζεται 2 partitions):


parted /dev/sdb -- mktable gpt
parted /dev/sdb -- mkpart biosgrub fat32 1MiB 4MiB
parted /dev/sdb -- mkpart efi fat32 4MiB -1
parted /dev/sdb -- set 1 bios_grub on
parted /dev/sdb -- set 2 esp on

Η τελευταία, εάν σας βγάλει κάποια μυνήματα, χαλαρουίτα μην ανυσυχείτε.

Είστε ok εάν η εντολή:

parted /dev/sdb -- print

Σας βγάλει ότι το στικάκι έχει 2 partitions.

Μετά διαμορφώνουμε το ΔΕΥΤΕΡΟ partition για το στικάκι μας (οι εντολές ΜΙΑ ΠΡΟΣ ΜΙΑ παρακαλώ):

mkfs -t vfat -n GRUB /dev/sdb2
mount /dev/sdb2 /mnt

Για να υποστηρίξει ο grub2 εγκατάσταση για EFI πρέπει να εγκατασταθούν κάποια πακετάκια:

apt install grub-efi-ia32-bin grub-efi-amd64-bin grub-pc-bin grub2-common

Και μετά εγκαθιστούμε τον grub στο στικάκι μας:

grub-install --removable --no-nvram --no-uefi-secure-boot \
     --efi-directory=/mnt --boot-directory=/mnt \
     --target=i386-efi

grub-install --removable --no-nvram --no-uefi-secure-boot \
     --efi-directory=/mnt --boot-directory=/mnt \
     --target=x86_64-efi

grub-install --removable --boot-directory=/mnt \
     --target=i386-pc /dev/sdb

Εφόσον το κάνουμε δημιουργούμε στον φάκελο grub το έγγραφο grub.cfg ως root. Οι ποιο κατάλληλοι τρόποι είναι:

  • Για τον παλιό τρόπο δίνουμε:
    sudo touch /media/όνομα_χρήστη/MULTIBOOT/boot/grub/grub.cfg
  • Για τον νέον τρόπο δίνουμε:
    sudo touch /mnt/grub/grub.cfg

Εκεί σε επιλογές menuentry βάζουμε τις επιλογές εκκίνησης για να ξεκινά ο grub από το iso της εκάστοτε διανομής που θέλουμε.

Για Ubuntu, Lubuntu, Kubuntu, Xubuntu θα έχει μια καταχώρηση του στύλ:

  • Για 32 bit:
    
    menuentry "Try Lubuntu 14.04 32 bit Desktop ISO" {
     loopback loop /
     linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ noeject quiet splash locale=el_GR.UTF-8 --
     initrd (loop)/casper/initrd.lz
    }
    
  • Για 64bit
    menuentry "Try Ubuntu 14.04 64 bit Desktop ISO" {
     loopback loop /
     linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/ noeject quiet splash locale=el_GR.UTF-8 --
     initrd (loop)/casper/initrd.lz
    }

Αν θέλετε να σας «πετάει» Απ’ ευθείας σε περιβάλλον εγκατάστασης μετά από το noeject βάλτε only-ubiquity έτσι οι επιλογές θα γίνουν:

  • Για 32 bit:
    
    menuentry "Try Lubuntu 14.04 32 bit Desktop ISO" {
     loopback loop /
     linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ noeject only-ubiquity quiet splash locale=el_GR.UTF-8 --
     initrd (loop)/casper/initrd.lz
    }
    
    
  • Για 64bit
    menuentry "Try Ubuntu 14.04 64 bit Desktop ISO" {
    loopback loop /
    linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/ noeject only-ubiquity quiet splash locale=el_GR.UTF-8 --
    initrd (loop)/casper/initrd.lz
    }

Ακόμη για Debian 8.6 έβαλα την εξής εγγραφή:

menuentry "Debian 8.6" {
loopback loop /debian-8.6.0-amd64-CD-1.iso
set background_color=black
linux    (loop)/install.amd/vmlinuz  iso-scan/filename=/debian-8.6.0-amd64-CD-1.iso vga=788 --- quiet
initrd   (loop)/install.amd/initrd.gz
}

Για άλλες διανομές μπορείτε να δείτε εδώ το πως θα βάλετε ένα menuentry στο grub2 που είναι εγκατεστημένο στο στικάκι:
https://help.ubuntu.com/community/Grub2/ISOBoot/Examples

Καθώς και να πείτε τις δικές σας προτάσεις για menuentry. O παραπάνω οδηγός δοκιμάστηκε σε Ubuntu 14.04LTS