Praleisti ir pereiti prie pagrindinio turinio

Pranešimai

Rodomi įrašai nuo 2018

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 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'.

Ubuntu server 18.04 phpVirtualBox diegimas

https://www.ostechnix.com/install-oracle-virtualbox-ubuntu-16-04-headless-server/

Atnaujinam serverio programine įrangą:
 $ sudo apt update 
 $ sudo apt upgrade 
 $ sudo apt dist-upgrade 

Įdiegiam sekančias būtinas programas ir perkraunam serverį:  $ sudo apt install build-essential dkms   $ sudo reboot 
Pridedam "Oracle" oficialų programos šaltinį:  $ sudo nano /etc/apt/sources.list 
 deb http://download.virtualbox.org/virtualbox/debian bionic contrib 

Pridedam "Oracle" viešąjį raktą
 $ wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add - 

Atnaujinam programų ųaltinius ir diegiam VirtualBox:  $ sudo apt update 
 $ sudo apt install virtualbox-5.2 

Įtraukiam naudojama vartotoja į vbox grupę:
 $ sudo usermod -a -G vboxusers $USER 

Patikrinam ar veikia 'vbox' tvarkyklės (drivers):
 $ sudo service vboxdrv status 

Jei 'vbox' tvarkyklės veikia galime parsisiųsti ir sudiegti 'expansion pack' (nepamirštam pasitikrinti ar tai…

Ubuntu server 18.04 phpMyAdmin diegimas/atnaujinimas

Diegiame phpMyAdmin iš numatyto šaltinio:
 $ sudo apt install phpmyadmin php-mbstring php-gettext 

Įgalinam 'phpenmod' modulį ir perkraunam 'apache2':
 $ sudo phpenmod mbstring 
 $ sudo service apache2 restart 
Ubuntu server 18.04 pagal nutylėjimą diegia distribucijoje numatytą versija 'phpMyAdmin'. Norint naudotis naujausia 'phpMyAdmin' versija reikia atlikti atnaujinimą rankiniu būdu sekančiais veiksmais:
1. Parsisiunčiam naujausia versija 'phpMyAdmin' (https://www.phpmyadmin.net/):  $ wget https://files.phpmyadmin.net/phpMyAdmin/4.8.4/phpMyAdmin-4.8.4-all-languages.zip 
2. Išskleidžiam archyvą:  $ unzip phpMyAdmin-4.8.4-all-languages.zip 
3. Pašalinam senus failus 'phpMyAdmin' iš direktorijos "/usr/share/phpmyadmin/":  $ rm -rf /usr/share/phpmyadmin/ 

4. Perkialiam naujos versijos turinį į numatytą direktoriją:
 $ mv $home/phpMyAdmin-4.8.4-all-languages /usr/share/phpmyadmin/ 
5. Pervardinam failą "config.sample.inc.php" į …

Ubuntu server 18.04 MySQL diegimas, slaptažodžio keitimas

Atnaujinam programų šaltinius:
 $ sudo apt update 

Diegiam MySQL serverį:
 $ sudo apt install mysql-server 

Po įdiegimo patartina atlikti pirminius saugumo nustatymus:
 $ sudo mysql_secure_installation 

Pasitaiko, kad po minėtų komandų prisijungti prie mysql nepavyksta dėl neaktyvios prieigos, jei taip nutiko reikėtų sekti sekančiu aprašymu, kad įgalinti prieiga:
1. Sustabdom MySQL:  $ sudo service mysql stop 
2. Sukuriam MySQL direktoriją:  $ sudo mkdir -p /var/run/mysqld 

3. Suteikiam MySQL vartotojui rašymo teisias direktorijai:  $ sudo chown mysql:mysql /var/run/mysqld 

4. Paleidžiam MySQL be teisių patikrinimo ir tinklo:  $ sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking & 

5.  Jungiames be slaptažodžio.  $ mysql -u root 

6. Suteikiam slaptažodį 'root' vartotojui.
 mysql> FLUSH PRIVILEGES;  mysql> USE mysql;  mysql> UPDATE user SET authentication_string=PASSWORD("newpasword") WHERE User='root';   mysql> UPDATE user SET plugin="mysql_…

Ubuntu server 18.04 tinklo kortos nustatymai

Visi tinko kortos nustatymai atliekami redaguojant sekantį failą /etc/netplan/*.yaml

Vienas iš pavyzdžių, kaip suteikti statinį ip adresą serveriui:  $ sudo nano /etc/netplan/50-cloud-init.yaml  network:     ethernets:         enp0s3:             addresses: [192.168.1.2/24]             gateway4: 192.168.1.1             nameservers:               addresses: [8.8.8.8,8.8.4.4]             dhcp4: no     version: 2
Tikrinam ar nustatymai gerai suvesti:
 $ sudo netplan --debug apply 
Jei klaidų nėra įgalinam naujus nustatymus:
 $ sudo netplan apply 
Tinklo kortų esamus parametrus galime pamatyti sekančia komanda:
 $ ifconfig 

Kaip užblokuoti nepageidaujamus botus/crawler`ius

1. .htaccess filo pagalba (variantas nr.1)RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^.*(bot_name_from_user_agent|bot_name_from_user_agent|bot_name_from_user_agent).*$ [NC]
## palydim bot`a/crawler`y namo (localhost)
RewriteRule ^/?.*$ "http\:\/\/127\.0\.0\.1" [R,L]
2. .htaccess filo pagalba (variantas nr.2)RewriteEngine On
BrowserMatchNoCase "bot_name_from_user_agent" bots
BrowserMatchNoCase "bot_name_from_user_agent" bots
Order Allow,Deny
Allow from ALL
## siunčiam toli toli (403 Forbidden) bot`a/crawler`y
Deny from env=bots
3. robots.txt failo pagalba Šis variantas yra pats 'švelniausias', kadangi ne visi bot`ai/crawler`iai laikosi nustatytų tinklo taisyklių ir tiesiog nesivargina kreipti dėmesio i robots.txt failą. Bėja, jei šiame faile neteisingai nurodysite bot`o/crawler`io pavadinimą rezultato nebus. Todėl šis metodas gal but tinka tokiems bot`ams/crawler`iam kaip GoogleBot, YandexBot, BingBot.

Tiesiog įrašome sekančias eilutes į robots.txt fa…

Enable remote connection to MySQL server (Ubuntu server 18.04)

1. Edit mysql config file:
 $ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf 

comment out following lines:
#bind-address = 127.0.0.1
#skip-networking 
2. Restart mysql server  $ sudo service mysql restart 
3. Log to mysql and change grand privileges (replace USERNAME and PASSWORD by you credentials):  mysql -u USERNAME -p   mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION; 
 mysql > FLUSH PRIVILEGES; 
4. Now you try connect remotely (replace HOSTNAME to server hostname or ip adress):  $ mysql -u root -p -h HOSTNAME

FreeCAD crach on start up

1. Go to /home/.local/share/applications and open your FreeCAD starter with an Editor
2. Change 'Exec' line to Exec=sh -c "LIBGL_DRI3_DISABLE=true freecad" --single-instance %U

OR

Run from terminal => LIBGL_DRI3_DISABLE=true freecad

AEON wallet install

1. On Debian/Ubuntu libgtest-dev only includes sources and headers. You must build the library binary manually.  $ sudo apt-get install libgtest-dev 
 $ cd /usr/src/gtest   $ sudo cmake .   $ sudo make   $ sudo mv libg* /usr/lib/ 
2. Install necessary dependencies: $ sudo apt update && sudo apt install build-essential cmake git libpcsclite-dev pkg-config libboost-all-dev libssl-dev libzmq3-dev libunbound-dev libsodium-dev libminiupnpc-dev libunwind8-dev liblzma-dev libreadline6-dev libldns-dev libexpat1-dev doxygen graphviz libpcsclite-dev 
3. Clone recursively to pull-in needed sub-module:
$ git clone --recursive https://github.com/aeonix/aeon
4. Build: $ cd aeon   $ make 
P.S. on Linux Mint 19 getting error in 40% :
In function ‘bool cryptonote::construct_miner_tx(size_t, size_t, uint64_t, size_t, uint64_t, const cryptonote::account_public_address&, cryptonote::transaction&, const blobdata&, size_t, uint8_t)’:
cc1plus: error: ‘void* __builtin_memset(void*, int, long u…

Automatinis disko prijungimas (automount) linux aplinkoje

1. Sukuriame direktoriją prie kurios bus prijungtas diskas:
mkdir /media/hdd

1. Sukuriame fstab failo atsargine kopija:
sudo cp /etc/fstab /etc/fstab.old

2. Surandam disko UUID kuri norime automatiškai prijungti:
sudo blkid
3. Sukuriame fstab faile disko prijungimo taisyklę:sudo nano /etc/fstab
UUID=<uuid> <direktorija> <failusistema> defaults 0 0 P.S. galima naudoti sekančią komandą, kad sužinoti disko pavadinimą, failų sistemos tipą ir UUID: lsblk -o NAME,FSTYPE,UUID
Po kompiuterio perkrovimo, jei fstab faile nepadarėte klaidų nurodytoje prijungimo direktorijoje matysite prijungto disko turini.

Anoniminio tinklo „Tor“ naudojimas linux (debian) aplinkoje

Kas tai yra „Tor“?  „Tor“ (The Onion Router, 'svogūninis maršrutizatorius') - technologija, veikianti sluoksninio maršruto parinktuvo principu, skirta informacijai anonimiškai siųsti ir gauti internetu. „Tor“ yra atvirojo kodo programa, pristatyta 2004 m. rugpjūčio 13 d. tryliktajame saugumo simpoziume USENIX. „Tor“ vartotojo akimis yra tiesiog modifikuota naršyklė „Mozilla Firefox“, veikianti operacinėse sistemose „Windows“, „Linux“, „Mac OS X“ ir kt. Veikimo principas „Tor“ šifruoja internautų siunčiamus duomenis svogūno principu, juos suskirstydama į daugybę sluoksnių. Šie duomenys pasiekia kitus „Tor“ savanorių kompiuterius. Visi signalai tarp savanorių kompiuterių bei signalai į serverį (tinklalapį), kurį norima pasiekti, yra užkoduoti. Kiekvienas kompiuteris žino tik apie signalą, einantį į jo kompiuterį ir iš jo kompiuterio. „Tor“ yra nemokamas proxy servisas, užtikrinantis aukštą anonimiškumo lygį, paprastumą ir patogumą. „Tor“ tinklo širdis yra vartotojų kompiuteriuo…

Kaip išsaugoti atsargines kopijas duomenų bazių MySQL

* Išsaugoti visas duomenų bazes esančias serveryje viename faile:
$ mysqldump -u vartotojovardas -p vartotojoslaptazodis --all-databases > failopavadinimas.sql
* Konkrečios duomenų bazės atsarginės kopijos kūrimas: $ mysqldump -u vartotojovardas -p vartotojoslaptazodis dbpavadinimas > failopavadinimas.sql
* Visų duomenų bazių atsarginė kopija išskyrus localios duomenų bazės (tokios kaip performance_schema): $ mysqldump -u root -p --all-databases --skip-lock-tables > alldb.sql
* Duomenų bazių išsaugojimas pagal pavadinimą atskiruose failuose: #!/bin/bash USER="zend" PASSWORD=""#OUTPUT="/Users/rabino/DBs"#rm "$OUTPUTDIR/*gz" > /dev/null 2>&1 databases=`mysql -u $USER -p$PASSWORD -e "SHOW DATABASES;" | tr -d "| " | grep -v Database`for db in $databases;doif[["$db"!=

HTTP pranešimo kodai

HTTP pranešimo kodus galime grupuoti sekančiai:
nuo 100 iki 200 yra vien informaciniai pranešimai;
nuo 200 iki 300 yra pranešimai, kad serveris priėmė užklausą;
nuo 200 iki 300 yra užklausos peradresavimo pranešimai;
nuo 400 iki 500 - pranešimai apie klaidas;
nuo 500 iki 600 - pranešimai apie rimtas serverio klaidas.

Vieni iš dažniausiai pasitaikančių:
100 Continue Tęsti 101 Switching Protocols Protokolų sukeitimas 201 Created Objektas sukurtas 202 Accepted Informacija priimta 203 No-Authoritive Inormation Nepatikima informacija 204 No Content Nėra turinio. Serveris įvykdė kliento užklausą HTTP protokolu, tačiau nerado jokios naujos informacijos, kurią galėtų perduoti klientui (pvz., tuo metu yra keičiamas WWW puslapis). 301 Moved Permanently Objektas visam laikui perkeltas į kitą vietą.
302 Moved Temporaly Objektas laikinai perkeltas į kitą vietą. 304 Not Modified Nepasikeitė. Paieškos sistemos dažnai perbėga per WWW svetaines ištirdamos, ar jų žinomi WWW puslapiai nėra pasikeitę. Šis k…

Kaip perkelti MySQL duomenis į kitą diską

Sustabdom mysql:
$ sudo service mysql stop

Perkeliam mysql duomenų aplanką į kitą diską:
$ sudo mv /var/lib/mysql /media/hdd/mysql
Sukuriam nuorodą į naują aplanką: $ sudo ln -s /media/hdd/mysql /var/lib/mysql
Keičiam AppArmor nustatymus: $ sudo nano /etc/apparmor.d/tunables/alias
Atvertame dokumente įterpiam sekančia eilutę: ... alias /var/lib/mysql/ -> /media/hdd/mysql/, ...
Perkraunam AppArmor: $ sudo service apparmor restart
Paleidžiam mysql: $ sudo service mysql start
Tikrinam ar mysql servizas dirba korektiskai: $ sudo service mysql status

MongoDB išdiegimas/pašalinimas

MongoDB išdiegimas/pašalinimas Kad galutinai pašalinti MongoDB iš sistemos, reikia ne tik išdiegti bet ir pašalinti duomenų bazės nustatymų failus, duomenų bazes ir žurnalus (log files).
Tam kad tai atlikti reikalingi sekantys veiksmai: 1) Uždarom MongoDB Tam, kad sustabdyti MondoDB naudojam sekančia komanda: sudo service mongod stop 2) Pašalinam MongoDB įdiegį. Tam, kad išdiegti MongoDB naudojam komandą: sudo apt-get purge mongodb-org* 3) Panaikinam MongoDB naudotas direktorijas. Panaikinam MongoDB duomnų bazes ir žurnalų direktorijas. sudo rm -r /var/log/mongodb sudo rm -r /var/lib/mongodb

MySQL klasterio (MySQL cluster) diegimas

Įžanga MySQL klasteris yra programinės įrangos technologija, užtikrinanti didelį duomenų prieinamumą ir pralaidumą. Yra nemažai sukurtų technologijų dideliems duomenų pralaidumams sukurti (pvz. Galera Cluster). Žymiai spartiems duomenų pralaidumams naudojama 'Sharding' technologija. Čia aptarsime tik klasterio diegimą, nesigilinsim į optimizavimo dalykus. Todėl mums pakaks trijų virtualių mašinų (paprastai dėl didesnio našumo naudojama ne mažiau kaip keturios mašinos - serveriai). Būtinos sąlygos Mums prireiks trijų virtualių mašinų: viena MySQL klasterio valdymui ir dvi duomenų saugojimui. Taigi pasinaudojant VBox arba VMware pasiruošiam tris virtualias mašinas sekančių charakteristikų:

Operacinė sistema - Ubuntu Server 16.04.41GB RAM8GB HDD1 CPUĮgalintas vietinis tinklas MySQL klasteris naudoja ne mažai operatyviosios atminties todėl kiekviena virtuali mašina turėtų turėti ne mažiau kaip 1GB atminties.
Vietinis tinklas su virtualiomis mašinomis turėtų atrodyti sekančiai:

192.…

MongoDB duomenų importavimas ir eksportavimas

JSON arba CSV formatu parengtų duomenų importavimas:
$ mongoimport -d duomenuBaze -c kolekcijosPavadinimas --type CSV --file failas.csv --headerline --username vardas --password slaptazodis --authenticationDatabase admin

$ mongoimport -d duomenuBaze -c kolekcijosPavadinimas --type JSON --file failas.json --username vardas --password slaptazodis --authenticationDatabase admin

JSON formatu parengtų duomenų eksportavimas: $ mongoexport --db duomenuBaze --collection kolekcijosPavadinimas --out failas.json --username vardas --password slaptazodis --authenticationDatabase admin