Praleisti ir pereiti prie pagrindinio turinio

Pranešimai

Rodomi įrašai nuo 2017

Kaip patikrinti PyQt versija

Paprasčiausias būdas sužinoti kokia versija PyQt įdiegta yra tiesiog bandyti įkelti tos versijos bibliotekas. Tiesiog sukuriam nauja failą pavadinimu 'version.py' ir įkeliam sekantį kodą:

#!/usr/bin/python3
# -*- coding: utf-8 -*-

# versijai PyQt4 < 4.10
try:
from PyQt4.pyqtconfig import Configuration
except ImportError:
pass
else:
cfg = Configuration()
print("PyQt versija:", cfg.pyqt_version_str)
pass

# versijai PyQt4 ≥ 4.10
try:
from PyQt4.Qt import PYQT_VERSION_STR
except ImportError:
pass
else:
print("PyQt versija:", PYQT_VERSION_STR)
pass

# versijai PyQt5
try:
from PyQt5.Qt import PYQT_VERSION_STR
except ImportError:
pass
else:
print("PyQt versija:", PYQT_VERSION_STR)
pass


Belieka tik aktyvuoti scriptą sekančia komanda 'python3 version.py'.

Kaip parsisiųsti video ir muziką iš Youtube, Vimeo, Facebook linux aplinkoje

Kaip parsisiųsti videoYra nemažai įrankių, leidžiančių linux aplinkoje parsiųsti vaizdo įrašus iš svetainių. Tačiau kiekvienas iš jų turi savų trūkumų. Didžiausia problema šių programų, kad internetinės svetainės vis atnaujina savo kodą, dėl ko vieną dieną programa gali tiesiog nebeveikti.
Viena iš geriausiai prižiūrimų (atnaujinamų) programų linux aplinkai yra ClipGrab. Jos dėka galėsite ne tik atsiųsti video iš svetainių (Youtube, Vimeo, Facebook, Dailymotion) bet ir konvertuoti į norimą formatą (mp3, mpeg4 ir kt.). ClipGrab diegimas Štai keletas žingsnių kaip tai paprastai ir greitai padaryti linux aplinkoje terminalo pagalba: 1. Visų pirmą, kad programą pilnai veiktų diegiame vaizdo ir garso formatų iškodavimo bibliotekas sekančia komanda:  $ sudo apt-get install ffmpeg 
Jei įdiegti nepavyks, ir terminalo lange pamatysite užrašą 'E: Unable to locate package ffmpeg', vadinasi diegimas nepavyko ir teks pakartoti diegimą, tik prieš tai nurodyti programos saugyklos adresą. Tuom…

Kaip automatiškai perkrauti MySQL serverį jam sustojus

Naudojantis MySQL serveriu kartais taip jau nutinka, kad dėl neapskaičiuotų resursų ar staiga padidėjusių užklausų MySQL serveris pakimba. Tai gali kartotis nesistemingai ir dėl tokios retos klaidos nesinori gaišti laiko ir tiesiog tenka ranka perkrauti MySQL serverį (žinoma geriausia išsiaiškinti priežastį, kad to nebūtų - tačiau niekada negali žinoti). Paprastai pakibus MySQL serveriui tikrinant būseną matome sekantį atsakymą:  $ sudo service mysql status 
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; disabled; vendor preset: enabled)
   Active: inactive (dead) Taigi, kaip minėjau galime perkrauti rankiniu būdu ($ sudo service mysql restart), tačiau yra paprastesnis variantas. Galime paruošti scriptą, kuris pamatęs MySQL būseną 'inactive (dead)' perkraus MySQL serverį. Minetą scripto vykdymą galime atiduoti vykdyti numatytu laiku CRON tarnybai. Nesigilinsiu į scriptų rašymą šiai problemai išspręsti, nes buvo atrastas paprastas ko…

Multiple Viber, Skype, WhatsApp in Linux

1. Add new user 'user_1' (you need to create an account for each viber account).
2. Give privileges for new user:
$ sudo visudo

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
%user_1 ALL=(ALL) NOPASSWD: ALL

# Allows login without a password witch command 'su' %vartotojas ALL=(user_1) NOPASSWD:ALL
3. Create sh script 'viber', and allow execute: #!/bin/sh sudo su - user_1 -c 'sudo /opt/viber/Viber'


Script for Skype: #!/bin/sh sudo su - user_1 -c 'sudo /link/to/file %U'
Script for WhatsApp: sudo su - user_1 -c 'sudo /link/to/file'

Kaip saugiai ištrinti failus ir direktorijas

Dažniausiai ištrinant failus paprastu būdu nėra saugiausias būdas. Naudojantis itin jautria medžiaga ar slaptu turiniu (tokie kaip vartotojo duomenys, slaptažodžių failai) paprastas ištrynimas reiškia, kad panaikinti duomenys lieka egzistuoti kažkur disko sektoriuose ir turint tam tikras žinias galima duomenis atstatyti. Šį kartą aptarsiu keletą būdų kaip saugiai ištrinti failus ar direktorijas iš disko Linux aplinkoje. 1 būdasShred komanda leidžia perrašyti ištrinto failo duomenis taip saugiai paslepiant egzistavusi turinį netikrais atsitiktiniais duomenimis.
 $ shred -zvu -n 5 passwords.list 
Kaip matote minėta komanda panaudota su tam tikrais raktais: -z – atlieka paskutinį perrašymą nuliais kad paslėpti perrašymą;-v – rodo operacijos progresą;-u – po failo perrašymo ištrina failą;-n – nurodo kiek kartų atlikti perrašymą (pagal nutylėjimą atlieka tris kartus). Paminėjau tik keletą galimų raktų, norint pamatyti pilną aprašymą galimų nustatymų iškviečiame detalų aprašymą sekančia koma…

Kaip saugiai ištrinti duomenis iš disko

Kartais tiesiog ištrinti duomenis iš disko nėra saugu. Paprastai ištrynus failus ir net pašalinus iš šiukšlinės yra gan nesunku atstatyti duomenis su tam skirtomis programomis. Žinant tai, parduoti kompiuterį ar diską be saugaus duomenų ištrynimo yra tiesiog nesaugu. Tam, kad duomenis visiškai ištrinti iš disko yra naudojamas specialios programos. Bet prieš kalbant kaip tai padaryti reiktų atminti, kad visiško ištrynimo yra keletas metodų kurie priklauso nuo laikmenos tipo:
Seni kietieji diskai (HDD - Hard Disk Drive): dėl tuometinių technologijų, turi tarpus tarp duomenų įrašų eilučių. Todėl turint specialus įrankius, net ir po saugaus ištrynimo galima duomenis atkurti. Kad to išvengti saugų ištrynimą reikėtų atlikti ne vieną kartą, o tai reiškia gan ilgą procesą laiko atžvilgiu.Nauji kietieji diskai: šiuo metu nėra technologijos leidžiančios po vieno saugaus ištrynimo atkurti duomenis.Puslaidininkiai diskai (SSD - Solid State Drive): saugus ištrynimas šiems diskams reiškia tarnavimo…

Nemokami pokalbiai, konferencijos, susirašinėjimas (Mumble)

Laiko `chatui` nėra! Reikia pasikalbėti!Nemažai, kam tenka susidurti skirtingose situacijose (žaidžiant, programuojant ir t.t.) kai reikia čia ir dabar pasikalbėti su kažin kur nutolusiu žmogumi. Tarkim žaidžiate Minecraft žaidimą ir kiekvieną kartą rašinėti žinutes nėra labai jau patogu, ar tiesiog žaidžiate kokį nors veiksmo žaidimą tinkle ir kiekviena sekundė komandoje yra esmine - laiko `chatui` nėra. Tai ką daryti? Pasirodo yra gan paprastas tam sprendimas ir jis vadinasi Mumble. Tai tiesiog programa kurios pagalba galima vykdyti pokalbius, konferencijas ar susirašinėjimą tarp kompiuterių (dar vadinama Voip arba Audio Chat). Esmė programos paprasta - jungiamasi prie Mumble serverio kuriame gali būti kuriamos klasės į kurias jungiasi vartotojai. Toje pačioje klasėje esantys vartotojai girdi vienas kita, bei gali rašyti ir tekstinius pranešimus. Pasakysite o kam to reikia, juk galima naudotis Skype ar panašia programa. Žinoma jūs būsite teisūs, tačiau naudodamiesi Skype ar kita Vo…

MongoDB (NoSQL) ir MySQL palyginimas

MongoDB (NoSQL) ir MySQL palyginimas MongoDB struktūra Kiekviena Mongo duomenų bazė turi sekančia struktūrą: Collections - duomenų lentelės;Views - tik peržiūrai reikalingi duomenys (statiniai);GridFS Buckets - naudojamas dideliems failams saugoti (paveikslėliams) iki 16Mb dydžio;System -> skirta talpinti indeksus ir vartotojus. Stuktūros skirtumaiMySQL terminasMongoDB terminasTable (lentelė)Collection (kolekcija)Row (eilutė)Document (dokumentas)Column (stulpelis)Field (sritis)Joins (jungtys)Embedded documents, linking (nuorodos) Funkcijų palyginimas

MongoDB tvarkyklės diegimas PHP7

MongoDB tvarkyklės diegimas PHP7 Norint naudotis MongoDB (NoSQL) programuojant PHP turime Apache2 serveriui įgalinti tam skirtą tvarkyklę. Bet prieš tai teks įdiegti sekančias tvarkykles, kad galėtumėm sėkmingai išdiegti MongoDB tvarkyklę:  $ sudo apt-get install php-pear   $ sudo apt-get install php7.0-dev 

Diegiame SSL tvarkykles:  $ sudo apt-get install libssl-dev
 $ sudo apt-get install libcurl4-openssl-dev
 $ sudo apt-get install libcurl4-openssl-dev pkg-config libssl-dev libsslcommon2-dev 

P.S. po diegimo galim pasitikrinti:  $ php -m  turetumem rasti openssl

3. Tuomet galime jau diegti MongoDB:
 $ sudo pecl install mongodb 

Diegimo pabaigoje turi parodyti sękancia informacija:
<Installing '/usr/lib/php/20151012/mongodb.so'>
<install ok: channel://pecl.php.net/mongodb-1.1.8> <configuration option "php_ini" is not set to php.ini location> <You should add "extension=mongodb.so" to php.ini>
Tam, kad įgalinti MongoDB naudojimą PHP, turime p…

MongoDB tvarkyklės diegimas Python3

MongoDB tvarkyklės diegimas Python3 Tam, kad galėtumėm naudoti MongoDB (NoSQL) su Python3 reikia sudiegti tvarkykles. Tai labai paprasta padaryti pasinaudojant Python komanda 'pip' (Python package index). Jei neturite idiegto minėto paketo, diegiame sekančia komanda:  $ sudo apt-get install python3-pip 
MongoDB tvarkyklė dar vadinama PyMongo, diegiama sekančia komanda terminale:
 $ sudo pip3 install pymongo 

Pats MongoDB naudojimas programuojant yra gan paprastas, žemiau pateikiu trumpa pavyzdį kaip prisijungti prie duomenų bazės

#!/usr/bin/env python3
# coding: utf-8

# importuojam mongodb tvarkyklę
from pymongo import MongoClient

# importuojam pprint, jis mums leis aiškiau atvaizduoti duomenis iš duomenų bazės
from pprint import pprint
# sekantis prisijungimo variantas prie duomenų bazės kai nėra reikalaujama vartotojo
client = MongoClient('mongodb://localhost:27017/')
# vienas iš variantų prisijungti prie duomenų bazės jei reikalaujamas vartotojo vardas ir slaptažodis
username = u…

Kaip įdiegti Minecraft servetį?

Pasiruošiam Ubuntu Serverį Minecraft serverį diegsime į Ubuntu Server 16.04 (geriausia tokį serverį turėti atskirame kompiuteryje, arba jei turite galingą kompiuterį pasinaudoti VBox). Minecraft serverio diegimą aprašysiu tik linux vartotojams, likusių operacinių vartotojams linkiu sėkmės :)
1. Jungiamės prie serverio SSH pagalba (atsidarom terminalą Ctrl+Alt+T, ir renkam "ssh vartotojoVardas@serverioIP").
2. Tikrinam ar turime įdiegtą Java ir kokios versijos:
 $ java -version 
3. Greičiausiai pamatysime atsakymą, kad Java nėra įdiegta ir pasiūlymą diegti pagal nutylėjimą arba norimą versiją. Jei išvysite Java versija, vadinasi įdiegta ir šį žingsnį turite praleisti:  $ sudo apt-get install default-jdk 
4. Toliau tikrinam ar turime įdiegta 'screen'. Ši programa leis paleisti Java serverį ir naudotis terminalu vienu metu (įprastai Ubuntu Server 16.04 jau turi šį įdiegį).  $ sudo apt-get install screen 
Diegiam Minecraft serverį 1. Sukuriam direktoriją kurioje bus Minecr…

Python naudojimas HTML kode

Python naudojimas HTML kodeBūti ar nebūti Python vietoje PHP? Kai tenka nemažai programuoti ir kurti kodą įvairiose srityse, niekur nedingsi teks išpažinti ne vieną programavimo kalbą pradedant nuo HTML, CSS, JavaScript (na žinoma dabar kai kurie HTML ir CSS jau aplamai neskaito programavimu) PHP, Bash, Python ir kitas kalbas naudojamas serveriuose ar linux aplinkoje. Tenka nemažai susimastyti, tai kam vistiktai tas PHP serveryje. Juk šį kalba išskirtinai tik taip vadinamam 'back-end`o' programavimui, kurti PHP kalba scriptus tiesiog nepatogu ir gaunasi aplamai keistas nesusipratimas (nepatogumas). Tačiau atvirkščiai Python puikiai tinka kurti scriptus, programas, ar net GUI. Klausimas "būti ar nebūti Python vietoje php" jau senai kankina nevieną programuotoją ir tiesa ta, kad kai kurie gan sėkmingai tai taiko praktikoje. Yra keli metodai įgalinti Python vietoje PHP veikti HTML kode. Vieni iš geriausiai žinomų modulių yra 'mod-python', 'mod-wsgi', &#…

Kaip įdiegti MongoDB

MongoDB yra viena iš galimų NoSQL tipo duomenų bazių. Trumpai apžvelgsiu įdiegimą minėtos duomenų bazės į Ubuntu Server  (16.x).
1. Pridedam MongoDB oficialų licenzijos raktą:
 $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 

2. Pridedam šaltinį į MangoDB bibliotekas:  $ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list 

3. Atnaujinam šaltinių sąrašo duomenis:
 $ sudo apt-get update 

4.Diegiam MongoDB:
$ sudo apt-get install -y mongodb-org 5.Kad netikėtai nebūtų atnaujinta duomenų bazė į naujausią versiją, galime papaildyti nustatymus sekančiai:echo "mongodb-org hold" | sudo dpkg --set-selections echo "mongodb-org-server hold" | sudo dpkg --set-selections echo "mongodb-org-shell hold" | sudo dpkg --set-selections echo "mongodb-org-mongos hold" | sudo dpkg --set-selections…

Saugumo nustatymai MongoDB

Pagal nutylėjimą įdiegta MongoDB saugumo nustatymų neturi. Todėl reikėtų duomenų bazėje sukurti vartotoja su 'root' teisėmis ir slaptažodžiu.

1. Kad pridėti nauja vartotoją einame į MongoDB terminalą:
 $ mongo 

pasirenkam 'admin' duomenų bazę:
 > use admin 

ir pridedam naują vartotoją su 'root' privilegijomis ir slaptažodžiu:
> db.createUser({user: "pavadinimas", pwd: "slaptazodis", roles:["root"]}) 
išeiname iš duomenų bazės:
 > exit 

2. Sekantis žingsnis įgalinti autentifikavimą prie duomenų, tam redaguojame duomenų bazės nustatymo failą:
 $ sudo nano /etc/mongod.conf 

saugumo srityje (# security) panaikiname komentavimo žymę ir pridedam eilutę nurodančia autentifikavimo būtinumą, visa tai turi atrodyti sekančiai:  security: 
   authorization: enabled 

jei tai ne vietinio tinklo serveris teks pakeisti ir sekančias eilutes:
net:   port: 27017 # bindIp: 127.0.0.1 <- komentuojam sekančia eilutę

P.S. jei tai nutoles serveris bindI…

Kaip pakeisti MySQL slaptažodį terminale

Pirmiausia prisijungiam prie MySQL:
$ mysql -u<username> -p

Pasirenkam MySQL duomenę bazę:
$ use mysql;

Keičiam slaptažodį į naują sekančia komanda:
$ update user set authentication_string=PASSWORD('<tavo naujas slaptazodis>') where User='<username>';

Galiausiai perkraunam privilegijas:
$ flush privileges;

Štai ir viskas, išeiname iš MySQL:
$ quit;



Ubuntu server 18.04 laiko juostos pakeitimas

Kokia laiko juosta nustatyta galime pasitikrinti sekančia komanda:
 $ date 

arba tiesiog tirkindami laiko juostos failą:
 $ more /etc/timezone 

Tam kad pakeisti laiko juosta tiesiog naudojame komandą ir sekame nustatymo instrukciją:
 $ sudo dpkg-reconfigure tzdata

Kaip optimizuoti visas MySQL duomenų bazių lenteles viena komanda

Tam, kad sumažinti užimamą vietą lentelių MySQL InnoDB, reikalinga optimizacija. Antraip InnoDB lentelių duomenų failai tiesiog didės kiekvieną kartą atnaujinant, įterpiant ar keičiant duomenis įrašuose.

Demesio:
- Atminkite kad to neverta daryti realiam serveryje su didelėmis duomenų bazėmis, nes optimizacija gali užtrukti nemažai laiko. mysqlcheck --all-databases --optimize --skip-write-binlog  Kad atlikti duomenų optimizacija serveryje tik tų lentelių kurios yra ne didesnes kaip 10Mb, siūlau sekančią išeitį su bash skriptu:


#!/bin/bash mysql -e "SHOW DATABASES" | while read database therest; do         mysql -D$database -e "SHOW TABLE STATUS WHERE Data_free>10000000 AND Data_free/Data_length > 0.1" | while read tblname therest; do                 mysqlcheck --optimize --skip-write-binlog $database $tblname         done done

SERVER: hostname keitimas (kompiuterio vardo keitimas)

Linux aplinkoje tam kad pakeisti kompiuterio (host) pavadinimą turime redaguoti sekančius failus:

$ sudo nano /etc/hostname

Šis failas tiesiog laiko savyje pavadinimą, tereikia įrašyti naują (nepamirštam galimų simbolių taisyklės), pvz: naujasvardas

$ sudo nano /etc/hosts

Sekančiame faile rasime keletą eilučių:
127.0.0.1       localhost
127.0.1.1       senasvardas

Esminė eilutė yra ta kuri prasideda 127.0.1.1 adresu, tiesiog keičiame į sekantį įraša 127.0.1.1       naujasvardas
Pakeitimai įsigalioje po perkrovimo, tačiau įgalinti galima ir be perkrovimo sekančia komanda:  $ sudo service hostname start

Taip pat yra galimybe pakeisti pavadinima esamai sesijai sekančia komanda:  $ sudo hostname naujasvardas