Βρείτε σε ποιο πακέτο ανοίκει ένα εκτελέσιμο στο Linux

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

Στο Linux η ποιο προσφιλή μέθοδος εγκατάστασης λογισμικού είναι μέσο του package manager της εκάστοτε διανομής. Ένα πακέτο περιέχει τα εκτελέσιμα αρχεία του προγράμματος, τα αρχεία ρυθμίσεων και άλ…

Πηγή: Βρείτε σε ποιο πακέτο ανοίκει ένα εκτελέσιμο στο Linux

Υποβάθμιση πυρίνα σε ubuntu 14.04.5 LTS (Ναι υποβάθμιση)

Πολλές φορές το τελευταίο hardware stack την 14.04 έκδοσης του Ubuntu μπορεί να ΜΗΝ μας καλύπτει. Πχ. να τρέχεις ubuntu 14.04.05 σε ένα netbook με gma500 και να μην τρέχει το wi-fi παρόλο που έβαλες ΚΑΙ τους ιδιοταγείς οδηγούς της broadcomm (γκουχ γκουχ). Έτσι η υποβάθμιση είναι η λιγότερο ανώδυνη λύση (για εμένα).

Λοιπόν σηκώστε τα μανίκια και χαλαρώστε την ζώνη σας γιατί πάμε στο ζουμί:

  • Αναζητούμε για το τρέχων εγκατεστημένο πακέτο που εμπεριέχει το τελευταίο hardware stack.
    dpkg --get-selections | grep -v deinstall | grep "linux-image"

    Στην περίπτωση μου ήταν το (βλ εικόνα):
    1475943284

  • Και αργότερα εκτελούμε την εντολή:
    sudo apt-get install linux-image-generic-lts-trusty && sudo apt-get purge linux-image-generic-lts-xenial && sudo apt-get autoremove --purge

    Και κάνουμε επανεκκίνηση.

  • Μετά στο τερματικό εκτελούμε την εντολή:
    uname -r
  • Εμείς θέλουμε μια έκδοση πρίν την 4.χ.χ-χχ εάν η παραπάνω εντολή σας δίνει πχ. την έκδοση 4.4.0-38-generic, τότε εκτελείτε την εντολή:
    
    sudo apt-get purge linux-image-$(uname -r)
    

(Και αργότερα εγκαταστήστε ότι οδηγό δεν μπορούσε να τρέξει. 😉 )

Προκειμένου να αφαιρέσετε οποιοδήποτε νεοτερισμό😉

Εκτελέστε μια εφαρμογή με το ο χρήστης κάνει login σε ssh χωρίς πρόσβαση σε περιβάλλον κέλυφους.

Πολλάκις παρατηρήσατε ότι όταν κάνετε ssh στο giithub.com σας εμφανίζει τα κάτωθι:

PTY allocation request failed on channel 0
Hi pc-magas! You’ve successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

Έτσι όντας καλός χάκερ (Οκ συνείδηση είμαι ψωνάρα😉 ) σκεύτηκα:

Θα μπορούσα να τρέξω μια εφαρμογή απ’ ευθείας με το που κάνω ssh σε κάποιον server χωρίς να μπώ σε shell;

Και η απάντηση είναι ΝΑΙ.

Έτσι έκανα μια απλή εφαρμογή σε παλιά καλή C (να θυμηθούμε και τα φοιτητικά μας χρόνια):


#include <stdio.h>
int main(int argc, char *argv)
{
puts("Hello World!");
return 0;
}

To αποθήκευσα σαν hello.c και την έκανα compile:

gcc hello.c

Και μετά μετέφερα το a.out στον φάκελο /bin:


sudo mv a.out /bin/hello

Έτσι δίνοντας απλά hello στο terminal δείχνει το μύνημα «Hello world».

Χμμ εφόσον έχουμε το απλό application εάν το ορίσω σαν shell ενός χρήστη τι θα γίνει;

Έτσι λοιπόν έκανα έναν χρήστη ορίζοντας σαν shell το /bin/hello.


sudo adduser --s /bin/hello hello

Εφόσον συμπληρώσουμε τα πεδία που λείπουν τότε προσπαθούμε να συνδεθούμε μέσω του χρήστη hello.


sudo su hello

Και λαμβάνουμε το μύνημα «Hello world».

Χμμ εάν προσπαθήσω να συνδεθώ μέσω ssh ώς χρήστης hello τι θα συμβεί;

Μα φυσικά θα εμφανιστεί το μήνυμα hello μαζί όμως με κάποια άλλα μηνύματα συστήματος.

Στο αρχικό παράδειγμα όμως δεν εμφανίζει τέτοια μηνύματα, πρέπει κάπως να τα «σιωπήσουμε» (και για κάποιο λόγο παίζει το soundtrack της ταινίας «Godfather» δεν ξέρω γιατί❓ ).

Αυτό γίνεται σχετικά εύκολα τρέχοντας:


sudo -u hello touch /home/hello/.hushlogin

Και παίρνουμε αυτό που θέλουμε.

Όμως τώρα μου ήρθε μια ιδέα εάν τρέχει μια εφαρμογή που τρέχει σε περιβάλλον ncurses (παράθυρα σε τερματικό σε απλά Ελληνικά);

Έτσι έβαλα στο hello.c τον κώδικα που βρήκα στο http://www.tldp.org/HOWTO/NCURSES-Programming-HOWTO/windows.html#WINDOWBASICS

εγκατέστησα την ncurses-dev


sudo apt-get install ncursed-dev

Και το έκανα ξανά compile:


gcc hello.c -lncurses

Και μετά ξαναμετέφερα το a.out στον φάκελο /bin:


sudo mv a.out /bin/hello

Τώρα πλέον έχουμε μια εφαρμογή με ένα περιβάλλον λιίγο ποιο φιλικό προς τον χρήστη μέσω ssh connection.

Τώρα που μπορεί να χρησιμέψει αυτό:

Στο να έχεις μια εφαρμογή σε έναν server και να επιτρέπεις σε συγκεκριμένα άτομα και συγκεκριμένους υπολογιστές να την τρέχουν χωρίς πολλά πολλά. Η εφαρμογή μπορεί να είναι το οτιδήποτε από την super secret εφαρμογή που να ελέγχει την εκτόξευση πυρηνικών κεφαλών μέχρι απλά ένα trollapp που να δείχνει σε asciiart την ταινία starwars.

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.

Εγκατάσταση Ionic Framework για ανάπτυξη υβριδικών mobile εφαρμογών σε Windows και Ubuntu GNU/Linux.

To ionic framework είναι ένα framework (σώπα σας είπα κάτι νέο) που συνδιάζει Angular.js και Apache cordova  προκειμένου μέσω javascript να μπορείς να δημιουργείς mobile εφαρμογές για IOS και Android.

Για να παίξει το εν λόγο framework θέλουμε την node.js, για windows την κατεβάζουμε από το https://nodejs.org/en/ και απλά πατάμε next next next ενώ σε Ubuntu linux δίνουμε:

sudo apt-get install nodejs npm

Μετά θα χρειαστούμε το git σε windows το κατεβάζουμε από την σελίδα http://www.git-scm.com/download/win ενώ σε linux δίνουμε στο τερματικό (Σε windows είναι σημαντικό να επιλέξετε να σας εγκαταστήσει και το bash κέλυφος (απλά πατήστε next next next) next next next):

sudo apt-get install git

Μετά σε windows ανοίγουμε το git-bash ενώ σε gnu/linux έχουμε ανοικτό το τερματικό μας.

Σημείωσεις:

  1. Σε Windows από εδώ και στο εξής οι εντολές θα τρέχουν από το git-bash.
  2. Σε Windows στις εντολές που αρχίζουν με sudo ΔΕΝ το βάζουμε.
    πχ. Η εντολή:

    sudo npm install -g ionic cordova

    Στο git-bash σε Windows θα την τρέξετε έτσι:

    npm install -g ionic cordova

Τώρα είτε στο terminal είτε στο git-bash δίνουμε τις εξής εντολή :

sudo npm install -g ionic cordova

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

  1. Να δημιουργήσουμε την δικιά μας εφαρμογή.
  2. Να συνεισφέρουμε στην ανάπτυξη ήδη υπάρχουσας εφαρμογής από το github.

Επιλογή 1:

Δίνουμε:

ionic start ^όνομα app^ tabs

Για το στυλ tabs του ionic:
Application with tabs generated by Ionic
ή

ionic start ^όνομα app^ sidemenu

Για να δημιουργία του στυλ με πλαινό μενού του ionic:
Application with sidebar generated by Ionic
(Δεν σας δείχνω την επιλογή bare διότι δεν βολεύει αν θέλετε να αρχίσετε μια νέα εφαρμογή η αν μαθένετε το framework)

Όπου ^ονομα app^ είναι πως θέλετε να ονομάσετε μια την εφαρμογή σας. Σας επισημαίνω ότι θα δημιουργηθεί ένας φάκελος στον τρέχων φάκελο που είστε στο τερματικό η στο git bash (που ουσιαστικά είναι το bash κέλυφος που χρησιμοποιεί το gnu/linux σε windows περιβάλλον)

Όταν μας ρωτήσει «Create an ionic.io account to send Push Notifications and use the Ionix View app» πορς το παρόν δίνουμε n. (Ειδάλλως y αν το χρειάζεστε για κάτι άλλο προσωπικά ΔΕΝ το έχω χρησιμοποιήσει.)

πχ. Αν δώσω την εντολή:

ionic start sample tabs

Θα δημιουργήσει τον φάκελο sample και θα βάλει μέσα σε αυτό τα κατάλληλα αρχεία για να δημιουργήσει ένα βασικό σκελετό εφαρμογής με tabs.

Θα το δούμε ότι δημιουργήθηκε ο φάκελος δίνοντας:

ls

Και εντοπίζοντας με το μάτι τον φάκελο που δημιουργήθηκε.

Μετά δίνουμε:

cd ^όνομα app^

Και μετά:

ionic serve

Για να το δοκιμάσετε στον browser σας. Αν πάτε πίσω στην κονσόλα (η στο git bash) και πατήσετε q και μετά enter θα κλείσει η «υποτυπώδης» web server που σας δείχνει την εφαρμογή.

Σημείωση: Η παραπάνω εντολή ενδεχομένως να σας βγάλει επιλογή δικτύου επιλέγουμε το 2 (localhost). Ακόμη
Τα windows θα σας βγάλει ένα μήνυμα για το εάν επιτρέπετε αυτήν την εφαρμογή να τρέχει στο δίκτυο όπου σαφώς λέμε ότι το επιτρέπουμε.

Για την Επιλογή 2:

Για την επιλογή αυτή θα υποθέσουμε ότι έχουμε ένα αποθετήριο στο github και θέλουμε να το κάνουμε clone.

Δημιουργούμε έναν φάκελο με την εντολή:

mkdir ^όνομα φακέλου^

Και μετά δίνουμε:

cd ^όνομα φακέλου^

Και μετά κάνουμε clone το github αποθετήριo:

git clone ^repo_name^ .

Σημείωση: μην ξέχάσετε την . στο τέλος.

Όπου ^όνομα φακέλου^ ένα χαρακτηριστικό όνομα για τον φάκελο που θα φιλοξενήσει το project.
Όπου ^repo_name^ copy paste από το github ή bitbucket. (Για github βλ. τα βελάκια στην παρακάτω εικόνα)
Field fto copy the repo

Πχ. Πως να κατεβάσετε τον κώδικα του faster (μιας εφαρμογής που δημιουργήθηκε από στο #crownpolicy #transport hackathon):

Έστω τον φάκελο που θέλουμε να αποθηκεύσουμε την εφαρμογή ονομάζεται faster έτσι θα δώσουμε (είτε στο τερματικό του gnu/linux είτε στο git bash):

mkdir faster
cd faster
git clone git@github.com:kawai-developers/faster.git .

Και για να δούμε πως παίζει δίνουμε:

ionic serve

Φόρτωση σελίδας JSP από Servlet

Ο τρόπος που κάνουμε render ένα περιεχόμενο σε Servlet δεν είναι βολικός. Ειδικά για Desighners ποιο βολικό είναι να δίνει στεγνή HTML και ο Developer να βάζει 2-3 προσθήκες κώδικα για functionality. Ειδικά σε One (Single)-page applications αυτό δεν είναι καθόλου βολικό. Γι αυτό δύνεται η δυνατότητα να φορτώνεις μια σελίδα JSP εντός ενός servlet.
Συνέχεια ανάγνωσης