Το Guake είναι ένα μικρό εργαλείο το οποίο κάθεται στην περιοχή ειδοποιήσεων του GNOME2 (ή του GNOME3 με Fallback), και ανοίγει το τερματικό μόνο με την πίεση του πλήκτρου F12. Το βρίσκω εξαιρετικά χρήσιμο εργαλείο, και το έχω εγκατεστημένο σε όλα μου τα συστήματα.
Πιο κάτω ακολουθούν οδηγίες για την εγκατάσταση του Guake, με μεταγλώττιση του πηγαίου κώδικα, σε ένα φρεσκοεγκατεστημένο σύστημα με CentOS6, δεδομένου ότι δεν υπάρχει στα προεπιλεγμένα αποθετήρια — για τους πιστούς των .rpm, είμαι σίγουρος ότι θα υπάρχει σε εναλλακτικά αποθετήρια.
Λήψη και αποσυμπίεση
Η τελευταία έκδοση του πηγαίου κώδικα βρίσκεται στη σελίδα Downloads. Τη στιγμή που γράφονται αυτές οι γραμμές είναι η 0.4.2.
[marios@centos6 marios]$ cd Downloads
[marios@centos6 Downloads]$ wget http://guake.org/downloads/3
[marios@centos6 Downloads]$ tar zxvf 3
[marios@centos6 Downloads]$ cd guake-0.4.2
Εγκατάσταση εξαρτήσεων
Το Guake χρειάζεται τα πακέτα: gcc, make, intltool, gtk2-devel (παρέχει την εξάρτηση gtk+-2.0) και pygtk2-devel (παρέχει την εξάρτηση pygtk-2.0). Μερικά από αυτά τα πακέτα μπορεί να υπάρχουν ήδη στο σύστημά σας, οπότε το yum απλά θα τα παραβλέψει.
[marios@centos6 guake-0.4.2]$ su
Password:
[root@centos6 guake-0.4.2]# yum install gcc make intltool gtk2-devel pygtk2-devel
configure, make και make install
Σε αυτό το σημείο υπάρχουν όλες οι εξαρτήσεις στο σύστημα και μπορείτε να προχωρήσετε με ρύθμιση, μεταγλώττιση και εγκατάσταση από τον πηγαίο κώδικα. Σημειώστε ότι αν κάνετε αυτή τη δουλειά μέσω απομακρυσμένης πρόσβασης με ssh ή telnet, τότε το configure θα σας εμφανίσει το σφάλμα «could not import gtk». Αυτό οφείλεται στο σφάλμα 450189, το οποίο έχει διορθωθεί στις πρόσφατες εκδόσεις του Fedora αλλά όχι του RHEL ή του CentOS. Επομένως, χρειάζεται να εκτελέσετε τουλάχιστον το configure από τοπική σύνδεση στο ίδιο το σύστημα.
[root@centos6 guake-0.4.2]# ./configure
[root@centos6 guake-0.4.2]# make
[root@centos6 guake-0.4.2]# make install
Αυτό ήταν, το Guake είναι τώρα εγκατεστημένο και έτοιμο για χρήση. Μπορείτε να το βρείτε στο μενού Applications » Accessories » Guake Terminal. Προσωπικά, προτιμώ να το προσθέτω και στις εφαρμογές που εκκινούν με κάθε νέα συνεδρία μου στο GNOME, από το μενού System » Preferences » Startup Applications.
Υπάρχουν περιπτώσεις στο MediaWiki που ένα άρθρο δεν μπορεί να διαγραφεί μέσω της συνηθισμένης διεπαφής, οπότε χρειάζεται σκάλισμα της βάσης δεδομένων. Αυτός ο οδηγός περιγράφει τον τρόπο.
Προτού προχωρήσετε σε οποιαδήποτε παρέμβαση στη βάση δεδομένων σας, οπωσδήποτε πρέπει να κρατήσετε ένα αντίγραφο ασφαλείας ολόκληρης της βάσης. Επίσης, αν το Wiki σας έχει έντονη δραστηριότητα, μπορείτε προσωρινά να αποτρέψετε οποιεσδήποτε αλλαγές στις σελίδες, προσθέτωντας μια γραμμή στο αρχείο LocalSettings.php: $wgReadOnly = 'Το Wiki είναι προσωρινά μη διαθέσιμο για επεξεργασία.';.
Δομή της βάσης δεδομένων
Η δομή της βάσης δεδομένων του MediaWiki υπάρχει στην τεκμηρίωση, στο άρθρο Database Layout. Για το κάθε άρθρο που εμφανίζεται στο Wiki εμπλέκονται τουλάχιστον τρεις από τους πίνακες της βάσης:
- Στον πίνακα page αποθηκεύεται μια λίστα με τους τίτλους όλων των άρθρων. Όταν χρειάζεται να εμφανιστεί ένα άρθρο, γίνεται αναζήτηση σε αυτόν τον πίνακα με βάση τον τίτλο, και ανακτάται η τιμή του πεδίου
page_latest.
- Με την τιμή
page_latest γίνεται αναζήτηση στον πίνακα revision. Σ’ αυτόν τον πίνακα αποθηκεύονται μερικά μεταδεδομένα (δηλαδή όχι καθαυτό το περιεχόμενο) για κάθε αλλαγή που γίνεται στο Wiki. Για να εμφανιστεί ένα άρθρο, από αυτόν τον πίνακα ανακτούνται οι τιμές rev_id και rev_text_id.
- Τέλος, με την τιμή
rev_text_id που βρέθηκε στο προηγούμενο βήμα, γίνεται αναζήτηση στον πίνακα text, και ανακτάται η τιμή του πεδίου old_text, η οποία αποτελεί και το περιεχόμενο του άρθρου. Ο πίνακας text αποθηκεύει ολόκληρο το περιεχόμενο από κάθε αναθεώρηση κάθε άρθρου του Wiki.
Διαγραφή των καταχωρήσεων
Το πρώτο βήμα είναι να αναζητήσετε τον τίτλο του άρθρου στον πίνακα page, στη στήλη page_title. Οι τίτλοι αποθηκεύονται με τα διαστήματα αλλαγμένα σε κάτω παύλες (underscore) και με τους χαρακτήρες ειδικά διαμορφωμένους σε δεκαεξαδικούς χαρακτήρες UTF-8, αν περιέχεται στον τίτλο χαρακτήρας άλλος από τα Αγγλικά. Δυστυχώς, δεν έχω βρει εύκολο τρόπο να κάνετε τη μετατροπή. Μπορείτε να αναζητήσετε στο διαδίκτυο για βοηθήματα, όπως για παράδειγμα αυτός ο πίνακας μετατροπής χαρακτήρων. Εναλλακτικά, αν χρησιμοποιείτε κάποιο πρόγραμμα όπως το PhpMyAdmin, μπορείτε να εξάγετε ολόκληρο τον πίνακα σε CSV, να τον ανοίξετε με ένα πρόγραμμα όπως το OpenOffice Calc και να δείτε τα περιεχόμενά του κανονικά.
Όταν βρείτε τον τίτλο που θέλετε, σημειώστε την τιμή του πεδίου page_id που αντιστοιχεί στον τίτλο, και διαγράψτε αυτή τη γραμμή από τον πίνακα, εκτελώντας κάτι σαν DELETE FROM my_database.mw_page WHERE mw_page.page_id = 1234. Από αυτή τη στιγμή και μετά, η σελίδα δεν είναι διαθέσιμη στο Wiki, το περιεχόμενό της όμως παραμένει στη βάση δεδομένων.
Για να εξαφανιστεί εντελώς η σελίδα από τη βάση δεδομένων και να μην μείνουν «σπασμένες» αναφορές σ’ αυτήν, θα πρέπει να διαγράψετε και όλες τις αναθεωρήσεις της από τον πίνακα revision, καθώς και όλα τα αλλαγμένα κείμενα από τον πίνακα text.
Μπορείτε να δείτε όλες τις αναθεωρήσεις που θα διαγραφούν, εκτελώντας κάτι σαν SELECT * FROM mw_revision WHERE mw_revision.rev_page = 1234, αλλά προτού τις διαγράψετε, θα χρειαστείτε τα αντίστοιχα rev_text_id, τα οποία θα τα χρησιμοποιήσετε αργότερα. Για να τα δείτε, εκτελέστε SELECT rev_text_id FROM my_database.mw_revision WHERE mw_revision.rev_page = 1234. Κρατήστε κάπου ξεχωριστά αυτό το αποτέλεσμα, θα σας χρειαστεί μετά. Τώρα μπορείτε να διαγράψετε τις αναθεωρήσεις, εκτελώντας κάτι σαν DELETE FROM my_database.mw_revision WHERE mw_revision.rev_page = 1234.
Τέλος, από τον πίνακα text θα πρέπει να διαγράψετε τα κείμενα των παλιών αναθεωρήσεων της σελίδας. Το πεδίο old_id αυτού του πίνακα, είναι ίδιο με το rev_text_id που κρατήσατε προηγουμένως. Μπορείτε λοιπόν να διαγράψετε ένα ένα τα κείμενα, εκτελώντας επανηλειμμένα κάτι σαν DELETE FROM my_database.mw_text WHERE mw_text.old_id = 100, αλλάζωντας το «100» σε ό,τι αντιστοιχεί στα δικά σας δεδομένα.
Linux
I finished reading Sams – Teach yourself Red Hat Linux. This book tries to cover the very basics of a wide range of topics, from installation and basic usage on the desktop and on the console, to systems administration, user management, nfs, smb, web and ftp serving and basic security. Therefore, this is a good book for the beginner who aims high. So, I should have read it a few years ago – I felt bored at times.
More Google+ hoopla:
Misc