2016 m. rugsėjo 25 d., sekmadienis

Kaip padaryti gnu/linux ekrano kopiją?

Gnome Screenshot 

Print Screen - Automatiškai padarys viso ekrano kopiją.
$ gnome-screenshot # iš komandinės eilutės.
$ import -window root img.png # Viso ekrano kopijavimas.

Shift + Print Screen - Ekrano kopija pasirenkant dalį.
$ gnome-screenshot -a # komandinės eilutės komanda.
$ import -frame nuotrauka.png imagemagick komanda.
$ gnome-screenshot -w -d 3 # Po 3 sekundžių pažymėtas langas bus nukopijuotas.

Ekrano nuotrauka bus padaryta po 4 sekundžių, pakeičiant mastelį.
$ import -window root -resize 640 -pause 4 nuotrauka.png 

Ekrano kopijavimui ir greitam retušavimui

$ sudo apt-get install shutter

Ekrano kopijos naudojant scrot

Nuotolinė nuotrauka naudojant scrot
$ sudo apt-get install scrot -y #Diegimas
$ scrot -s /tmp/test.png

Nuotrauka per ssh

DISPLAY=:0.0 import -window root /tmp/shot.png

ssh user@remote-host "DISPLAY=:0.0 import -window root -format png -"| display -format png -

Nuotrauka per internetinę kamerą:

$ mplayer tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0 -fps 15 -vf screenshot


Kita

$ apt-get install imagemagick # Jei neveikia import komanda

2016 m. rugsėjo 22 d., ketvirtadienis

Sistemos gelbėjimas

Gelbėjimas užmiršus slaptažodį:

Centos7:
Kraunantis sistemai paspausti, e,
Prie linijos kur yra "linux16..." nuspausti End  ir po "...UTF-8 " prirašyti ir nuspausti Ctrl+X:
...UTF-8 rd.break

Užsikrovus užmountinti /sysroot/:
mount -o remount,rw /sysroot/
chroot /sysroot/

Dabar galime passwd komanda pakeisti slaptažodį.
touch /.autorelabel #sistemos perženklinimui

2016 m. rugsėjo 20 d., antradienis

Ekrano dubliavimas, įrašinėjimas, streaminimas

OBS Studio  - Nemokama transliavimo/įrašinėjimo programa skirta gnu/Linux, Windows, Mac operacinėms sistemoms.

SimpleScreenRecorder - Ekrano įrašinėjimo, streeminimo programa, skirta gnu/Linux operacinei sistemai.


Screenleap nemokamai leidžia prisijungti iki 8 žmonių, veikia su chrome naršykle.


2016 m. rugsėjo 17 d., šeštadienis

gnu/Linux tinklo nustatymai

nmtui - programa leidžianti per terminalą pakeisti tinklo nustatymus:
nmtui pasirinkimų langas
Atvaizduoja tinklo sąsajų informaciją:
$ ip a 
$ ip address #arba
$ ip -c addr # spalvotas atvaizdavimas
$ ifconfig #arba


Tam tikros sąsajos atvaizdavimas:
$ ifconfig eth0 

Visų ir atskirų tinklo sąsajų valdymas:
$ sudo systemctl {stop disable restart enable} NetworkManager.service

ifdown eth0 #išjungia eth0 sąsaja
ifup eth0 #įjungia eth0 sąsaja

Kitos komandos:
$ ip a | grep inet #Atvaizduoja visus ip adresus

Centos/Redhat tinklo nustatymų katalogas: /etc/sysconfig/network-scripts
Debian/Ubuntu tinklo nustatymų katalogas: /etc/network/

Centos/Redhat

dhcp pavyzdys:
DEVICE=eth0
HWADDR=F0:DE:F1:28:46:D9
TYPE=Ethernet
BOOTPROTO=dhcp
ONBOOT=yes
USERCTL=no

Pavyzdys su statiniu IP:
DEVICE=eth1
HWADDR=00:1B:21:0A:E8:5E
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
IPADDR=192.168.0.140
NETMASK=255.255.255.0
GATEWAY=192.168.0.1


2016 m. rugsėjo 16 d., penktadienis

Žodžių sąrašai

Atfiltruotas lietuviškas žodynas paimtas iš čia:
Žodžiai: 145,369
Dydis: 1,5M
Atsisųsti

Anglų žodžių sąrašai:
1,493,677,782 words,
Dydis: 15GB
Nuoroda

Ubuntu/Debian žodžių sąrašas:
99,171 words,
/usr/share/dict/words
Nuoroda

Kitos nuorodos:
https://haveibeenpwned.com/ - Svetainė, kur galima patikrinti ar  tavo vartotojo duomenys buvo paviešinti.
https://www.leakedsource.com/ - Kita svetainė, kur galima pasitikrinti.

2016 m. rugsėjo 12 d., pirmadienis

Iso rašymas į USB

Iso diskų paruošimas:

Echer - palaiko įvairias operacines platformas.

Labai paprasta 3 žingsnių programėlė, leidžianti įrašyti .iso atvaizdą į USB atmintinę. 

Win32 (Windows) - Įrankis įrašantis atvaizdus į USB arba SD/CF korteles.


Rufus - (Windows)
Tinka  paruošiant viena iso. atvaizdą.
Oficiali svetainė

YUMI - (Windows)



Tinka norit į USB įrašyti kelis .iso atvaizdus.
Oficiali svetainė

UNetbootin (*nix)



Norint iš Linux į USB įrašyti kitą Linux distribuciją.
Oficiali svetainė

kiti nix įrankiai (nix)



Startup disk creator (usb-creator-gtk)


gnome-disk-utility (UDisks)
gnome-disk-utility diegimas:

$ sudo pacman -S gnome-disk-utility #Arch Linux
$ sudo yum install gnome-disk-utility #RHEL, CentOS, Fedora
$ sudo dnf install gnome-disk-utility # arba
$ sudo zypper in gnome-disk-utility #SUSE/openSUSE


USB paruošimas per komandinę eilutę. 

Turint omenyje, kad /dev/sdb įrenginys neuždėtas (angl. mount)
$ sudo dd if=/kelias/iki/.iso of=/dev/sdb bs=4M && sudo sync

Žemiau parodyta kaip į USB įrašoma linux kali distribucija, skirta Raspberry Pi2 modeliams:
$ xzcat kali-$version-rpi2.img.xz | dd of=/dev/sdb bs=512k

$ xzcat ubuntu.img.xz | sudo dd of=/dev/mmcblk0 #Kitas pavyzdys

Su ddrescue:
$ unxz ubuntu.img.xz
$ sudo ddrescue -D -d --force ubuntu.img /dev/mmcblk0

DriveDroid (Android telefonas turi būti nuroot'intas)
Aplikacija leidžia android įrenginiuose įrašyti .iso atvaizdus.
Nuoroda


2016 m. rugsėjo 8 d., ketvirtadienis

Grupės ir Vartotojai

Naujo vartotojo kūrimas:
$ sudo useradd -s /bin/sh -c "Jurgės Gama" jurga

Naujo vartotojo slaptažodžio keitimas:
$ sudo passwd jurga

Grupės kūrimas:
$ sudo groupadd burtininkai

$ cat /etc/group | grep burti*
burtininkai:x:1002:

Sukuriam dokumentą su kita grupe:
$ sudo newgrp burtininkai

$ touch burtininkų_grupės_dokumentas; ll
total 16
drwxrwxr-x  2 sup  sup          4096 Rgs  8 23:30 ./
drwxrwxrwt 16 root root        12288 Rgs  8 23:28 ../
-rw-r--r--  1 root burtininkai     0 Rgs  8 23:30 burtininkų_grupės_dokumentas
-rw-rw-r--  1 sup  sup             0 Rgs  8 23:29 failas

Grupės pavadinimo keitimas:
$ groupmod -n magai burtininkai 


Pridėjimas į grupę:

Sukūrus naują vartotoją, jam priskiriamas gid - grupės id, kuris yra toks pats kaip ir jo uid.

Paprastesnis būdas pridėti į grupę:

  •  sudo adduser <vartotojas> grupė

$ sudo adduser jurga audio
Adding user `jurga' to group `audio' ...
Adding user jurga to group audio
Done.
Patikriname vartotojo grupes:
$ id jurga
uid=1003(jurga) gid=1004(jurga) groups=1004(jurga),29(audio)


Sudėtingesnis būdas sukurti vartotoją ir pridedam į burtininkai grupę:

  • sudo useradd <vartotojas>  -a -G grupė
    Prideda antrinę grupę, prie grupių, kurioms jau priklauso vartotojas.
  • sudo useradd <vartotojas>  -G grupė
    Dėmesio! Prideda tik šia grupę ištrinant kitas.
$ sudo useradd Virgilijus
$ sudo usermod Virgilijus -a -G burtininkai
$ groups Virgilijus #Kuriose grupėse yra vartotojas?
Virgilijus : Virgilijus burtininkai
$ id Virgilijus 
uid=1401(Virgilijus) gid=1401(Virgilijus) groups=1401(Virgilijus),1503(burtininkai)

Saugumas

Slaptažodžio galiojimas:

$ sudo chage -l jurga #Informacija apie slaptažodžio galiojimą
$ sudo change jurga #Keičiam jurgos slatažodžio nustatymus

$ chage -E 2020-01-01 jurga #Keičiam slaptažodžio galiojimą nurodant datą


Vartotojo rakinimas:

Užrakinant vartotoją, pakeičiamas /etc/shadow dokumentas. Prirašant prie slaptažodžio mašos sumos "!".
$ sudo usermod jurga --lock
jurga:!$6$SpjTSO6U$.... #shadow įrašas

$ sudo usermod jurga --unlock
jurga:$6$SpjTSO6U$.... #shadow įrašas



Pavyzdžiai:
Katalogų dalinimasis

2016 m. rugsėjo 7 d., trečiadienis

Django

Django python3 diegimas:
$ pip3 install django

Sukuriame naują projektą:
$ django-admin startproject naujas_projektas
$ tree naujas_projektas/
naujas_projektas/
├── manage.py
└── naujas_projektas
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py
1 directory, 5 files


manage.py   - leidžia prieiti prie db, ...
__init__.py - python paketo katalogas.
settings.py - visos svetainės nustatymai.
urls.py     - url nuorodos, nuorodas suriša su funcionalumu
wsgi        - ...


Sukuriam aplikaciją:
$ ~ /naujas_projektas/ python3 manage.py startapp aplikacija
$ tree aplikacija/
aplikacija/
├── admin.py
├── apps.py
├── __init__.py
├── migrations
│   └── __init__.py
├── models.py
├── tests.py
└── views.py

migrations - pirminio kodo ir duombazės prijungimas
__init__.py - python paketo katalogas.
admin.py    - vartotojų, postų valdymas, ...
apps.py     - aplikacijos nustatymai
models.py   - aplikacijos duombazės šablonas, ...
tests.py    - testu automatizacija..,
views.py    - 1.funkcijos kurios priima užklausas ir daro atsakus, 2. rodo kaip info atvaizduojama aplikacijoje


Aplikacijos diegimas:
settings.py dokumente prie INSTALLED_APPS sąrašo reikia pridėti aplikacijos pavadinimą, tam, kad butų naudojami modeliai:
INSTALLED_APPS = [
    #...
    'myapp',
    #...
]

Sukuria administratoriaus slaptažodį:
python3 manage.py createsuperuser

Sinkronizuoja kodą su duomenų baze:
$ python3 manage.py migrate
$ python3 manage.py migrate aplikacija #sichnronizuoja pakeitus model.py katalogą

Django http serverio paleidimas:
$ python3 manage.py runserver
...
Starting development server at http://127.0.0.1:8000/
...



Šaltiniai:
https://youtu.be/CHjXtRrhqxc?list=PL6gx4Cwl9DGBlmzzFcLgDhKTTfNLfX1IK - Django pamokos [en].