posted by qubix on December 25, 2012

Μου έκατσε σήμερα η ιδέα καθότι διακοπές να δω τι κατανάλωση κάνει το laptop μου!
E, λοιπόν έβαλα το powertop και είδα μια κατανάλωση..17.8W !!! Η τιμή είναι μεγάλη για laptop γενικώς...οπότε έπρεπε να πάρω τα μέτρα μου.
που κάνει την κατανάλωση να ανεβαίνει?
1) cpu - αλλά εδώ ήταν ενεργοποιημένος ο cpu governor ο οποίος ρίχνει την συχνότητα λειτουργίας ανάλογα με τον φόρτο εργασίας
2) hdd ο οποίος ειδικά αν δεν είναι ssd (επειδή έχει μηχανικά μέρη) καταναλώνει αρκετή ενέργεια
3) άλλες συσκευές όπως ήχος, GPU, wifi κλπ για τα οποία οι ρυθμίσεις είναι pain in the ass, όταν μπορούν να γίνουν..

τέλος πάντων, αποφάσισα να πάω με τον εύκολο δρόμο, δηλαδή την εγκατάσταση του laptop-mode-tools το οποίο τρέχει στο background και ενεργοποιεί διάφορα πραγματάκια.
Πριν κάνω αυτό όμως, κοίταξα στο powertop πως πάμε από ρυθμίσεις συστήματος μέχρι τώρα (στο μενού "tunables"). Τα μόνα με status "bad" ήταν του wifi, VM writeback timeout, enable audio codec power management.
Τα έκανα όλα good πατώντας το enter ή μάλλον όχι όλα γιατί η κάρτα wifi (intel 3945ABG) ΔΕΝ έχει ενεργοποιημένο το power saving(!!).
Anywayz αποφάσισα πως προς το παρών μπορώ να ζήσω χωρίς αυτό (αν και θα ψάξω για καμιά 5100 που έχει ενεργοποιημένο το pm...) οπότε έκλεισα χαρούμενος το powertop. ΔΥΣΤΥΧΩΣ βέβαια..το powertop διαμαρτυρήθηκε:
cannot load from file /var/cache/powertop/saved_parameters.powertop
Οπότε τσέκαρα και όντως, δεν υπάρχει τέτοιο αρχείο οπότε και περιχαρής πήγα και το έφτιαξα με touch και πάει το warning.
Το καλό είναι πως η κατανάλωση μειώθηκε στα 13.5W με το που άλλαξα τις εν λόγω ρυθμίσεις.
ΔΥΣΤΥΧΩΣ και πάλι, το powertop ΔΕΝ γράφει τις αλλαγές..κάθε φορά που κάνω επανεκκίνηση, τα ίδια settings εμφανίζονται "bad"...

Συνέχεια στο επόμενο post..

posted by qubix on December 25, 2012

Λοιπόν αποφάσισα να εγκαταστήσω έναν liquorix kernel στην lmde (linux mint debian edition) στο laptop μου, αφενός μεν για να ξεφύγω από τον 3.2 kernel του mint, αφετέρου δε για να δω τυχόν διαφορές!
Η εγκατάσταση είναι πολύ εύκολη:

1)προσθέτουμε στο /etc/apt/sources.list το
deb http://liquorix.net/debian sid main
2)κάνουμε apt-get update για να τραβήξουμε τα νέα πακέτα
3)θα δούμε μια προειδοποίηση πως κάτι δεν είναι signed και πάει λέγοντας οπότε χρειάζεται να κάνουμε
apt-get install '^liquorix-([^-]+-)?keyring.?'
ώστε να εγκατασταθεί το keyring του liquorix
4)κάνουμε install τον kernel που θέλουμε και τέλος!
Φυσικά..δεν πήγαν όλα ρολόι...
Το dkms (dynamic kernel module system) διαμαρτυρήθηκε με το σφάλμα:
dkms.conf: Error! No 'BUILT_MODULE_NAME' directive specified for record #0.
Τι στα windoze είναι αυτό??
Ένα search για να δούμε τι σόι dkms modules έχουμε εγκατεστημένα, θα μας λύσει την απορία!
dpkg -l | grep dkms
Αποτέλεσμα:
είχα δύο πακέτα dkms, ένα του ndiswrapper (χαζομάρα για να τρέχεις drivers των windoze όταν everything else fails..) και του virtualbox. E γενικώς στην περίπτωσή μου δεν χρειάζομαι κανένα από τα δύο οπότε και τα έστειλα στον κουβά... :P (ειδικά αυτό το ndiswrapper...)
πάω τώρα για το reboot! wish me luck...

posted by qubix on October 6, 2012

Αν προσπαθείτε να εγκαταστήσετε το ADT plugin στο eclipse και σας βγάζει το error:
" Missing requirement: Android Development Tools 20.0.3.v201208082019-427395 (com.android.ide.eclipse.adt.feature.group 20.0.3.v201208082019-427395) requires 'org.eclipse.wst.sse.core 0.0.0' but it could not be found"
σημαίνει πως λείπουν πακέτα του eclipse τα οποία δεν περιλαμβάνονται στη βασική εγκατάσταση που κάνατε!
Μην ανησυχήτε, τα βήματα είναι απλά:



1) Επιλέξτε Help > Install New Software...
2) Κάντε Click στο link για Available Software Sites.
3) Βεβαιωθείτε πως υπάρχει ένα update site το Helios. Αν δεν υπάρχει, προσθέστε το πατώντας Add... και βάλτε το http://download.eclipse.org/releases/helios για Location.

δείτε και στο
https://developers.google.com/eclipse/docs/faq?hl=es#wstinstallerror

posted by qubix on December 14, 2012

 Ας πούμε πως θέλετε να εγκαταστήσετε το CDRTOOLS στο debian. ΑΝ μπορέσετε να το εγκαταστήσετε, αυτό που δεν ξέρετε είναι πως δεν βάζετε την κανονική έκδοσή του, αλλά μια..τροποποιημένη από το debian team, για λόγους άδειας χρήσης...

Περισσότερα για αυτό το θέμα στο
http://cdrecord.berlios.de/private/linux-dist.html
Ευτυχώς η εγκατάστασή του είναι πολύ εύκολη:
wget ftp://ftp.berlios.de/pub/cdrecord/cdrtools-3.00.tar.gz
tar -xvzf cdrtools-3.00.tar.gz
make
make install

η νεοεγκατεστημένη αυθεντική βερζιόν των cdrtools θα έχει εγκατασταθεί στο /opt/schily/ οπότε καλό είναι να το βάλουμε και στο path:
PATH=/opt/schily/bin:$PATH

posted by qubix on December 5, 2012

Υπάρχουν διάφορα προβλήματα με την σύνδεση win98 σε samba shares:

1) τα win98 δεν επιτρέπουν τα plaintext passwords κατά τη σύνδεση
2) τα win98 χρησιμοποιούν lanman password encryption η οποία έχει αποσυρθεί καιροοοοό

Αν προσπαθήσουμε να συνδεθούμε σε ένα share με win98 θα μας βγάλει το παράθυρο όπου θα ζητά το password και μάλιστα χωρίς να είναι δυνατό να επιλέξεις..username!
Αντί του username θα δούμε ένα \SHARE\IPC$ (λίστα με τα shares και τέτοια)

Η ΛΥΣΗ:

1) στον win98 client ενεργοποιούμε τα plaintext passwords
α) με cd εγκατάστασης
στο win98 installation CD, πάμε TOOLS->Mstutil, βρίσκουμε το PTXT_ON.inf,κάνουμε δεξί κλικ και εγκατάσταση. Αν δεν έχουμε το CD εγκατάστασης το κάνουμε manually
β) manually
i. Start->Run.
ii. γράφουμε regedit για να ανοίξει ο registry editor
iii. προσθέτουμε την DWORD value "EnablePlainTextPassword" (reg Dword) 01 00 00 00 σε μια από τις παρακάτω τοποθεσίες
Win98: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP
WinNT: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Rdr\Parameters

Σημείωση: στο "EnablePlainTextPassword" δεν υπαρχουν κενά και το γράφουμε χωρίς τα "" όπως το βλέπουμε με αυτά ακριβώς τα κεφαλαία και μικρά

2) στον win98 client δημιουργούμε έναν χρήστη ίδιο με αυτόν της samba στο linux

3) στον server
α) ενεργοποιούμε τα lanman passwords
στο section global προσθέτουμε τις γραμμές:
lanman auth = Yes
client lanman auth = Yes
β) λέμε στη samba να κάνει map τους bad users ως guests
στο section global προσθέτουμε το
map to guest = Bad User
γ) φτιάχνουμε έναν χρήστη της samba ίδιο με αυτόν που φτιάξαμε στα win98
smbpasswd -a user ή smbpasswd user αν ο user υπάρχει ήδη



Δείγμα configuration------

[global]
    server string = %h
    map to guest = Bad User
    obey pam restrictions = Yes
    pam password change = Yes
    passwd program = /usr/bin/passwd %u
    passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
    unix password sync = Yes
    lanman auth = Yes
    client lanman auth = Yes
    syslog = 0
    log file = /var/log/samba/log.%m
    max log size = 1000
    dns proxy = No
    panic action = /usr/share/samba/panic-action %d

[printers]
    comment = All Printers
    path = /var/spool/samba
    create mask = 0700
    printable = Yes
    browseable = No

[print$]
    comment = Printer Drivers
    path = /var/lib/samba/printers

[mainshare]
    comment = main share data folder
    path = /home/user/share
    read only = No
    create mask = 0777
    directory mask = 0777
    guest ok = Yes
posted by qubix on October 6, 2012

Η λογοκρισία δεν θα περάσει

gerontas_partition.jpg

posted by qubix on April 5, 2012

Ας υποθέσουμε πως θέλετε να κάνετε upgrade ένα μέρος μόνο των εγκατεστημένων πακέτων που έχετε. Για παράδειγμα έχετε εγκαταστήσει το mate και θέλετε να το κάνετε upgrade χωρίς όμως ένα μαζικό apt-get update ή ακόμη χειρότερα apt-get dist-upgrade.

Αυτό που θέλουμε είναι
1) ποιά πακέτα του mate έχουν εγκατασταθεί?
αυτό δεν είναι και πολύ δύσκολο, το dpkg -l μπορεί να μας δείξει τι υπάρχει εγκατεστημένο και με ένα pipe σε grep να διαλέξουμε τα mate πακέτα

dpkg - l | grep mate

2)κατάλληλη μορφή της λίστας με τα εγκατεστημένα πακέτα
το πρόβλημα είναι πως θα έχουμε τα αποτελέσματα σε μια μορφή που δεν είναι χρήσιμη για να την περάσουμε στο apt

ii  libmate      1.2.0-2~wheezy    MATE library
ii  libmate-common  1.2.0-2~wheezy    MATE library (common files)
ii  libmatecanvas   1.2.0-1  powerful object-oriented display engine


τη λύση δίνει η γνωστή-άγνωστη AWK η οποία μπορεί να πάρει input μια συμβολοσειρά και να τη χωρίσει σε πεδία, από τα οποία εμείς θα της πούμε τι να δείξει

awk '{print $2}'

στην περίπτωση του output μας από το dpkg, το $1 αντιστοιχεί στο "ii", το $2 στο εκάστοτε όνομα του πακέτου, το $3 στην έκδοση κ.ο.κ

αν τώρα κάνουμε pipe το ouput του dpkg και της grep στην AWK, θα έχουμε:

dpkg -l | grep mate | awk '{print $2}'

το οποίο δίνει

libmate
libmate-common
libmatecanvas


πολύ καλύτερα αλλά μπορεί να βελτιωθεί κιάλλο!
Από το manual της AWK βλέπουμε πως μπορούμε να αλλάξουμε την εξορισμού "ανά σειρά" απάντηση στο input που της δίνουμε σε ότι θέλουμε, οπότε στην περίπτωσή μας βολεύει το κενό (space)->

awk 'BEGIN {ORS = " "} ; { print $2 }'

όπου ORS = το πως θα ενώσει τις απαντήσεις στο output η AWK

οπότε τώρα η one-liner εντολή μας γίνεται:

dpkg -l | grep mate | awk 'BEGIN {ORS = " " } ; { print $2 }'

το output της οποίας πλέον είναι:

libmate-common mate-applets mate-applets-common ...κοκ


3)apt-get install
Άρα τώρα μπορούμε να χρησιμοποιήσουμε την παραπάνω one-liner σε συνδυασμό με το apt ως εξής:

apt-get install `dpkg -l | grep mate- | awk 'BEGIN {ORS = " " } ; { print $2 }'`

προσέξτε πως έβαλα την one-liner μέσα σε δύο " ` ", αυτό ισοδυναμεί με το output της one-liner δλδ πρώτα θα εκτελεστεί ότι έχουμε στα "`" και μετά θα περαστεί στο apt!

Μετά αρκεί να πατήσουμε ένα "y" και enter :]

posted by qubix on March 4, 2012

Μερικές φορές ακόμη και σε κάποια εγκατάσταση linux, μπορεί να παγώσει το desktop και να μην αποκρίνεται ούτε το πληκτρολόγιο, ούτε το ποντίκι. Οι φίλες/φίλοι που έχουν windows σίγουρα έχουνε άφθονες τέτοιες εμπειρίες, αλλά συμβαίνει και στο linux!

Το καλό με το linux όμως είναι πως υπάρχουν τρόποι αντιμετώπισης του "παγώματος" χάρις στην αρχιτεκτονική του που επιτρέπει στο σύστημα να παγώνει το desktop, αλλά πίσω από αυτό, τα υπόλοιπα να παίζουν κανονικά!

Τι κάνουμε λοιπόν?? Ο σκοπός μας είναι είτε να ξεκολλήσουμε το σύστημα, είτε να κάνουμε επανεκκίνηση χωρίς το "κουμπί"!. Δοκιμάζουμε με την παρακάτω σειρά:

1) πατάμε Alt-Backspace για να κάνουμε restart το γραφικό περιβάλλον

2) πατάμε Alt-F1 για να ανοίξει ένα text-mode και από εκεί να κάνουμε login στην κονσόλα με τα στοιχεία του χρήστη μας. Μετά με sudo bash ή su (αν έχουμε ενεργοποιημένο root χρήστη) μπορούμε να κάνουμε ένα κανονικό reboot χωρίς κίνδυνο να χαθούν αρχεία ή να προκαλέσουμε βλάβη στο σύστημα αρχείων.

3) Αν τα παραπάνω δεν πετυχαίνουν, το κουμπί SysRq (ή αλλιώς Print Screen) μπορεί να μας βοηθήσει να κάνουμε μια καθαρή επανεκκίνηση:

Πατάμε διαδοχικά:
* alt+sysrq+r (επαναφορά του πληκτρολογίου)
* alt+sysrq+s (συγχρονισμός αρχείων)
* alt+sysrq+e (στέλνει το σήμα τερματισμού σε όλες τις διεργασίες εκτός από την "init")
* alt+sysrq+i (στέλνει το σήμα "kill" σε όλες τις διεργασίες εκτός από την "init")
* alt+sysrq+u (κάνει mount το σύστημα αρχείων σε read-only mode, οπότε δε θα γίνει fsck μετά το reboot)
* alt+sysrq+b (κάνει επανεκκίνηση. Χωρίς τα προηγούμενα βήματα κάνει "hard reset").
 

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

Τα γράμματα μπορούμε εύκολα να τα θυμόμαστε:

"Reboot System Even If Utterly Broken"


Ένας άλλος τρόπος:
"Raising Skinny Elephants Is Utterly Boring"


 

posted by qubix on February 9, 2012

πως rendάρει ο M$ Internet Explorer μια ιστοσελίδα??

IE crazyness...

posted by qubix on January 18, 2012

Μερικές φορές είναι αναγκαίο να σταματήσετε το simplenews από το να στείλει μερικές χιλιάδες mails, λόγω λάθους ή αναθεώρησης στο περιεχόμενο του newsletter που έχετε ήδη αρχίσει να στέλνετε ή για οποιοδήποτε λόγο. Αυτό είναι εφικτό απευθείας από τη βάση δεδομένων:

  1. Πάρτε bakcup την βάση δεδομένων του site ή κάντε copy το table simplenews_mail_spool. Για πλήρες backup μπορείτε να χρησιμοποιήσετε το module Backup and Migrate .

  2. Ανοίχτε το phpMyAdmin, και βρείτε το table  simplenews_newsletter table στη βάση του drupal site σας.
  3. Ψάξτε για newsletters που είναι σε κατάσταση αποστολής από το field s_status το οποίο θα είναι 1. Μπορείτε να τρέξετε το:
     SELECT * FROM simplenews_newsletter WHERE s_status = 1
    Από τα αποτελέσματα διαλέξτε ποιο newsletter θέλετε να σταματήσετε, αντιστοιχίζοντας το node id του (μπορείτε να βρείτε το node id κάνοντας edit το εν λόγω newsletter από το admin panel)

  4. Αλλάξτε το s_status από 1 (αποστέλλεται) είτε σε 0 ( δεν στάλθηκε ) ή 2 ( σταλμένο ).

  5. Αδειάστε το  simplenews_mail_spool table ( εδώ είναι όλα τα μέηλ που βρίσκονται στην ουρά για αποστολή )
    Μπορείτε να το κάνετε με TRUNCATE:
    TRUNCATE TABLE simplenews_mail_spool

     

Έτοιμο!  

hyperworks