Журнал лабораторных работ

Содержание

Журнал

Четверг (12/20/18)

/dev/pts/0
10:38:31
$~
total 24
-rw-r--r-- 1 user user   112 Dec 17 16:45 Hello_world.md
-rw-r--r-- 1 user user    33 Dec 17 16:01 README.md
drwxr-xr-x 2 user user  4096 Dec 20 12:24 scripts
-rw-r--r-- 1 user user 10979 Dec 20 12:24 start_log
10:38:39
$vi scripts/create_infrustructure.sh
10:39:19
$mv s
scripts/   start_log
10:39:19
$mv s
scripts/   start_log
10:39:19
$mv start_log ~/

10:39:29
$ll
total 12
-rw-r--r-- 1 user user  112 Dec 17 16:45 Hello_world.md
-rw-r--r-- 1 user user   33 Dec 17 16:01 README.md
drwxr-xr-x 2 user user 4096 Dec 20 12:39 scripts
10:39:31
$git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
        modified:   scripts/create_infrustructure.sh
no changes added to commit (use "git add" and/or "git commit -a")
10:40:43
$git push
Username for 'https://github.com': DmitrySnitko
Password for 'https://DmitrySnitko@github.com':
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 1.34 KiB | 0 bytes/s, done.
Total 4 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/DmitrySnitko/aws
   3552fde..f8e0dcf  master -> master
10:41:07
$man scp
прошло 85 минут
12:06:09
$ll
total 12
-rw-r--r-- 1 user user  112 Dec 17 16:45 Hello_world.md
-rw-r--r-- 1 user user   33 Dec 17 16:01 README.md
drwxr-xr-x 2 user user 4096 Dec 20 12:39 scripts
12:06:12
$cd ~

12:06:16
$ll
total 72
drwxr-xr-x 4 user user  4096 Dec 20 12:39 aws
-rw-r--r-- 1 root root   127 Dec 18 10:52 credentials.csv
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Desktop
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Documents
drwxr-xr-x 2 user user  4096 Dec 18 12:50 Downloads
-rw-r--r-- 1 user user    13 Dec 17 15:13 github.txt
-rw------- 1 user user   389 Dec 19 10:57 m7_id_rsa.pub
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Music
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Pictures
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Public
-rw------- 1 user user  1766 Dec 19 10:44 ssh-key
-rw-r--r-- 1 user user   389 Dec 19 10:44 ssh-key.pub
-rw-r--r-- 1 user user 10979 Dec 20 12:24 start_log
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Templates
-rw-r--r-- 1 user user    77 Dec 17 14:45 test.json
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Videos
12:06:20
$man scp
12:06:36
$ssh m0
user@m0's password:
Linux instructor 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Dec 20 14:04:42 2018 from 172.20.13.186
l3-agent is already running: pid=1843; pidfile=/home/user/.lilalo/l3-agent.pid
user@instructor:~$ ll
-bash: ll: command not found
user@instructor:~$ ls
1.json           Desktop    github.txt     Pictures  qrencode.conf
aws              Documents  m0_id_rsa.pub  Public    Templates
credentials.csv  Downloads  Music          q-        Videos
user@instructor:~$ exit
logout
Connection to m0 closed.
12:06:52
$scp m0 qrencode.conf
cp: cannot stat 'm0': No such file or directory
12:07:09
$scp user@m0 qrencode.conf
cp: cannot stat 'user@m0': No such file or directory
12:07:20
$man scp
12:07:42
$scp user@m0:qrencode.conf
usage: scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
           [-l limit] [-o ssh_option] [-P port] [-S program]
           [[user@]host1:]file1 ... [[user@]host2:]file2
12:07:47
$scp m0:qrencode.conf
usage: scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
           [-l limit] [-o ssh_option] [-P port] [-S program]
           [[user@]host1:]file1 ... [[user@]host2:]file2
12:07:55
$man scp
12:08:57
$scp -C m0:qrencode.conf
usage: scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
           [-l limit] [-o ssh_option] [-P port] [-S program]
           [[user@]host1:]file1 ... [[user@]host2:]file2
12:09:10
$scp m0:qrencode.conf ~/
user@m0's password:
qrencode.conf                                 100%  766     1.4MB/s   00:00
12:11:34
$ll
total 76
drwxr-xr-x 4 user user  4096 Dec 20 12:39 aws
-rw-r--r-- 1 root root   127 Dec 18 10:52 credentials.csv
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Desktop
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Documents
drwxr-xr-x 2 user user  4096 Dec 18 12:50 Downloads
-rw-r--r-- 1 user user    13 Dec 17 15:13 github.txt
-rw------- 1 user user   389 Dec 19 10:57 m7_id_rsa.pub
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Music
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Pictures
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Public
-rw-r--r-- 1 user user   766 Dec 20 14:11 qrencode.conf
-rw------- 1 user user  1766 Dec 19 10:44 ssh-key
-rw-r--r-- 1 user user   389 Dec 19 10:44 ssh-key.pub
-rw-r--r-- 1 user user 10979 Dec 20 12:24 start_log
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Templates
-rw-r--r-- 1 user user    77 Dec 17 14:45 test.json
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Videos
прошло 17 минут
12:29:06
$ll
total 80
drwxr-xr-x 4 user user  4096 Dec 20 12:39 aws
-rw-r--r-- 1 root root   127 Dec 18 10:52 credentials.csv
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Desktop
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Documents
drwxr-xr-x 2 user user  4096 Dec 18 12:50 Downloads
-rw-r--r-- 1 user user    13 Dec 17 15:13 github.txt
-rw------- 1 user user   389 Dec 19 10:57 m7_id_rsa.pub
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Music
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Pictures
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Public
-rw-r--r-- 1 user user   766 Dec 20 14:11 qrencode.conf
-rw-r--r-- 1 user user   805 Dec 20 14:29 qrencode_V2.conf
-rw------- 1 user user  1766 Dec 19 10:44 ssh-key
-rw-r--r-- 1 user user   389 Dec 19 10:44 ssh-key.pub
-rw-r--r-- 1 user user 10979 Dec 20 12:24 start_log
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Templates
-rw-r--r-- 1 user user    77 Dec 17 14:45 test.json
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Videos
12:29:07
$cat qrencode_V2.conf
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    access_log  /var/log/nginx/access.log;
    error_log  /var/log/nginx/error.log;
    location / {
        proxy_pass         http://127.0.0.1:8003;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $remote_addr;
...
        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;
        proxy_buffer_size          4k;
        proxy_buffers              4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
        expires                    off;
    }
}
12:29:16
$cat qrencode.conf
server {
    listen [::]:80;
    access_log  /var/log/nginx/access.log  main;
    error_log  /var/log/nginx/error.log;
    location / {
        proxy_pass         http://127.0.0.1:8003;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $remote_addr;
        client_max_body_size       10m;
        client_body_buffer_size    128k;
        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;
        proxy_buffer_size          4k;
        proxy_buffers              4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
        expires                    off;
    }
}
12:29:28
$rm qrencode.conf

12:30:05
$mv qrencode_V2.conf qrencode.conf

12:30:13
$ll
total 76
drwxr-xr-x 4 user user  4096 Dec 20 12:39 aws
-rw-r--r-- 1 root root   127 Dec 18 10:52 credentials.csv
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Desktop
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Documents
drwxr-xr-x 2 user user  4096 Dec 18 12:50 Downloads
-rw-r--r-- 1 user user    13 Dec 17 15:13 github.txt
-rw------- 1 user user   389 Dec 19 10:57 m7_id_rsa.pub
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Music
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Pictures
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Public
-rw-r--r-- 1 user user   805 Dec 20 14:29 qrencode.conf
-rw------- 1 user user  1766 Dec 19 10:44 ssh-key
-rw-r--r-- 1 user user   389 Dec 19 10:44 ssh-key.pub
-rw-r--r-- 1 user user 10979 Dec 20 12:24 start_log
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Templates
-rw-r--r-- 1 user user    77 Dec 17 14:45 test.json
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Videos
/dev/pts/4
12:30:46
$ssh admin@ec2-34-245-158-109.eu-west-1.compute.amazonaws.com
&dmin@ip-10-3-1-61:~$ nohup ve/bin/python bin/srv.py >> ~/log/qrencode.log 2>&1 &
[1] 11249
admin@ip-10-3-1-61:~$ sudo etc/init.d/nginx restart
sudo: etc/init.d/nginx: command not found
[1]+  Exit 127                nohup ve/bin/python bin/srv.py >> ~/log/qrencode.log 2>&1
admin@ip-10-3-1-61:~$
admin@ip-10-3-1-61:~$
admin@ip-10-3-1-61:~$
admin@ip-10-3-1-61:~$ curl http://127.0.0.1/test
<html>
...
~
~
~
admin@ip-10-3-1-61:~$
admin@ip-10-3-1-61:~$
admin@ip-10-3-1-61:~$
admin@ip-10-3-1-61:~$
admin@ip-10-3-1-61:~$ exit
logout
Connection to ec2-34-245-158-109.eu-west-1.compute.amazonaws.com closed.
/dev/pts/0
12:35:17
$ssh m0
user@m0's password:
Linux instructor 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Dec 20 14:28:25 2018 from 172.20.13.186
l3-agent is already running: pid=1843; pidfile=/home/user/.lilalo/l3-agent.pid
user@instructor:~$ ll
...
git clone https://github.com/chubin/qrenco.de
cd qrenco.de
virtualenv ve/
ve/bin/pip install -r requirements.txt
mkdir -p log/
nohup ve/bin/python bin/srv.py >> log/qrencode.log 2>&1 &
sudo /etc/init.d/nginx restart
user@instructor:~$ exit
logout
Connection to m0 closed.
12:39:25
$ll
total 76
drwxr-xr-x 4 user user  4096 Dec 20 12:39 aws
-rw-r--r-- 1 root root   127 Dec 18 10:52 credentials.csv
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Desktop
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Documents
drwxr-xr-x 2 user user  4096 Dec 18 12:50 Downloads
-rw-r--r-- 1 user user    13 Dec 17 15:13 github.txt
-rw------- 1 user user   389 Dec 19 10:57 m7_id_rsa.pub
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Music
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Pictures
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Public
-rw-r--r-- 1 user user   805 Dec 20 14:29 qrencode.conf
-rw------- 1 user user  1766 Dec 19 10:44 ssh-key
-rw-r--r-- 1 user user   389 Dec 19 10:44 ssh-key.pub
-rw-r--r-- 1 user user 10979 Dec 20 12:24 start_log
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Templates
-rw-r--r-- 1 user user    77 Dec 17 14:45 test.json
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Videos
12:39:26
$cat qrencode.conf
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    access_log  /var/log/nginx/access.log;
    error_log  /var/log/nginx/error.log;
    location / {
        proxy_pass         http://127.0.0.1:8003;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $remote_addr;
...
        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;
        proxy_buffer_size          4k;
        proxy_buffers              4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
        expires                    off;
    }
}
12:39:36
$ll
total 76
drwxr-xr-x 4 user user  4096 Dec 20 12:39 aws
-rw-r--r-- 1 root root   127 Dec 18 10:52 credentials.csv
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Desktop
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Documents
drwxr-xr-x 2 user user  4096 Dec 18 12:50 Downloads
-rw-r--r-- 1 user user    13 Dec 17 15:13 github.txt
-rw------- 1 user user   389 Dec 19 10:57 m7_id_rsa.pub
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Music
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Pictures
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Public
-rw-r--r-- 1 user user   805 Dec 20 14:29 qrencode.conf
-rw------- 1 user user  1766 Dec 19 10:44 ssh-key
-rw-r--r-- 1 user user   389 Dec 19 10:44 ssh-key.pub
-rw-r--r-- 1 user user 10979 Dec 20 12:24 start_log
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Templates
-rw-r--r-- 1 user user    77 Dec 17 14:45 test.json
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Videos
12:39:37
$mv qrencode.conf aws/

12:39:52
$ll aws/
total 16
-rw-r--r-- 1 user user  112 Dec 17 16:45 Hello_world.md
-rw-r--r-- 1 user user  805 Dec 20 14:29 qrencode.conf
-rw-r--r-- 1 user user   33 Dec 17 16:01 README.md
drwxr-xr-x 2 user user 4096 Dec 20 12:39 scripts
12:39:55
$mv aws/qrencode.conf aws/scripts/

12:40:11
$ll aws/scripts/
total 8
-rwxr-xr-x 1 user user 2114 Dec 20 12:39 create_infrustructure.sh
-rw-r--r-- 1 user user  805 Dec 20 14:29 qrencode.conf
12:41:38
$ll aws/
total 16
drwxr-xr-x 2 user user 4096 Dec 20 14:41 config
-rw-r--r-- 1 user user  112 Dec 17 16:45 Hello_world.md
-rw-r--r-- 1 user user   33 Dec 17 16:01 README.md
drwxr-xr-x 2 user user 4096 Dec 20 14:41 scripts
12:41:41
$cd aws/

12:41:47
$ll config/
total 4
-rw-r--r-- 1 user user 805 Dec 20 14:41 qrencode.conf
12:41:50
$cat config/qrencode.conf
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    access_log  /var/log/nginx/access.log;
    error_log  /var/log/nginx/error.log;
    location / {
        proxy_pass         http://127.0.0.1:8003;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $remote_addr;
...
        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;
        proxy_buffer_size          4k;
        proxy_buffers              4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
        expires                    off;
    }
}
12:42:03
$cat scripts/
create_infrustructure.sh  qrencode.conf
install.sh
12:42:03
$cat scripts/qrencode.conf
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    access_log  /var/log/nginx/access.log;
    error_log  /var/log/nginx/error.log;
    location / {
        proxy_pass         http://127.0.0.1:8003;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $remote_addr;
...
        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;
        proxy_buffer_size          4k;
        proxy_buffers              4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
        expires                    off;
    }
}
12:42:09
$rm scripts/qrencode.conf

12:42:16
$ll scripts/
total 8
-rwxr-xr-x 1 user user 2114 Dec 20 12:39 create_infrustructure.sh
-rw-r--r-- 1 user user  371 Dec 20 14:41 install.sh
12:42:20
$ll
total 16
drwxr-xr-x 2 user user 4096 Dec 20 14:41 config
-rw-r--r-- 1 user user  112 Dec 17 16:45 Hello_world.md
-rw-r--r-- 1 user user   33 Dec 17 16:01 README.md
drwxr-xr-x 2 user user 4096 Dec 20 14:42 scripts
12:42:26
$cat scripts/install.sh
sudo apt-get update
sudo apt-get install -y nginx git-core qrencode python-virtualenv
git clone https://github.com/chubin/qrenco.de
cd qrenco.de
virtualenv ve/
ve/bin/pip install -r requirements.txt
sudo cp config/qrencode.conf /etc/nginx/sites-available/default
mkdir -p ~/log/
nohup ve/bin/python bin/srv.py >> ~/log/qrencode.log 2>&1 &
sudo etc/init.d/nginx restart
12:43:09
$git status
On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        config/
        scripts/install.sh
nothing added to commit but untracked files present (use "git add" to track)
12:43:20
$git add scripts/install.sh

12:44:35
$git add config/

12:44:42
$git commit -m 'Added scripts and config for QRencode'
[master 79a6a40] Added scripts and config for QRencode
 2 files changed, 40 insertions(+)
 create mode 100644 config/qrencode.conf
 create mode 100644 scripts/install.sh
12:45:52
$git push
Username for 'https://github.com': DmitrySnitko
Password for 'https://DmitrySnitko@github.com':
Counting objects: 6, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (6/6), 1.03 KiB | 0 bytes/s, done.
Total 6 (delta 0), reused 0 (delta 0)
To https://github.com/DmitrySnitko/aws
   f8e0dcf..79a6a40  master -> master
12:46:14
$cd ~

/dev/pts/4
12:49:15
$ssh admin@ec2-34-245-158-109.eu-west-1.compute.amazonaws.com
Linux ip-10-3-1-61 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Dec 20 11:31:40 2018 from 81.25.35.90
admin@ip-10-3-1-61:~$
admin@ip-10-3-1-61:~$
admin@ip-10-3-1-61:~$
...
admin@ip-10-3-1-61:~$
admin@ip-10-3-1-61:~$
admin@ip-10-3-1-61:~$
admin@ip-10-3-1-61:~$
admin@ip-10-3-1-61:~$
admin@ip-10-3-1-61:~$
admin@ip-10-3-1-61:~$
admin@ip-10-3-1-61:~$
admin@ip-10-3-1-61:~$ Connection to ec2-34-245-158-109.eu-west-1.compute.amazonaws.com closed by remote host.
Connection to ec2-34-245-158-109.eu-west-1.compute.amazonaws.com closed.
/dev/pts/0
12:53:51
$ll
total 72
drwxr-xr-x 5 user user  4096 Dec 20 14:41 aws
-rw-r--r-- 1 root root   127 Dec 18 10:52 credentials.csv
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Desktop
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Documents
drwxr-xr-x 2 user user  4096 Dec 18 12:50 Downloads
-rw-r--r-- 1 user user    13 Dec 17 15:13 github.txt
-rw------- 1 user user   389 Dec 19 10:57 m7_id_rsa.pub
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Music
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Pictures
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Public
-rw------- 1 user user  1766 Dec 19 10:44 ssh-key
-rw-r--r-- 1 user user   389 Dec 19 10:44 ssh-key.pub
-rw-r--r-- 1 user user 10979 Dec 20 12:24 start_log
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Templates
-rw-r--r-- 1 user user    77 Dec 17 14:45 test.json
drwxr-xr-x 2 user user  4096 Dec 17 12:15 Videos
12:54:40
$cd aws/

12:55:04
$ll
total 16
drwxr-xr-x 2 user user 4096 Dec 20 14:41 config
-rw-r--r-- 1 user user  112 Dec 17 16:45 Hello_world.md
-rw-r--r-- 1 user user   33 Dec 17 16:01 README.md
drwxr-xr-x 2 user user 4096 Dec 20 14:43 scripts
12:55:07
$vi scripts/
12:55:07
$vi scripts/install.sh
12:58:30
$ll
total 16
drwxr-xr-x 2 user user 4096 Dec 20 14:41 config
-rw-r--r-- 1 user user  112 Dec 17 16:45 Hello_world.md
-rw-r--r-- 1 user user   33 Dec 17 16:01 README.md
drwxr-xr-x 2 user user 4096 Dec 20 14:58 scripts
13:06:24
$vi scripts/
13:06:24
$vi scripts/create_infrustructure.sh
13:07:38
$scr
screen
screendump
script
scriptreplay
scrollkeeper-config
scrollkeeper-extract
scrollkeeper-gen-seriesid
scrollkeeper-get-cl
scrollkeeper-get-content-list
scrollkeeper-get-extended-content-list
scrollkeeper-get-index-from-docpath
scrollkeeper-get-toc-from-docpath
scrollkeeper-get-toc-from-id
scrollkeeper-install
scrollkeeper-preinstall
scrollkeeper-rebuilddb
scrollkeeper-uninstall
scrollkeeper-update
13:07:38
$sc
scanimage
scanin
scour
scp
scp-dbus-service
screen
screendump
script
scriptreplay
scrollkeeper-config
...
scrollkeeper-get-content-list
scrollkeeper-get-extended-content-list
scrollkeeper-get-index-from-docpath
scrollkeeper-get-toc-from-docpath
scrollkeeper-get-toc-from-id
scrollkeeper-install
scrollkeeper-preinstall
scrollkeeper-rebuilddb
scrollkeeper-uninstall
scrollkeeper-update
13:07:38
$sc
scanimage
scanin
scour
scp
scp-dbus-service
screen
screendump
script
scriptreplay
scrollkeeper-config
...
scrollkeeper-get-content-list
scrollkeeper-get-extended-content-list
scrollkeeper-get-index-from-docpath
scrollkeeper-get-toc-from-docpath
scrollkeeper-get-toc-from-id
scrollkeeper-install
scrollkeeper-preinstall
scrollkeeper-rebuilddb
scrollkeeper-uninstall
scrollkeeper-update
13:07:38
$script
script        scriptreplay
13:07:38
$script
script        scriptreplay
13:07:38
$ll
total 16
drwxr-xr-x 2 user user 4096 Dec 20 14:41 config
-rw-r--r-- 1 user user  112 Dec 17 16:45 Hello_world.md
-rw-r--r-- 1 user user   33 Dec 17 16:01 README.md
drwxr-xr-x 2 user user 4096 Dec 20 15:07 scripts
13:08:09
$scripts/create_infrustructure.sh stop
{
    "TerminatingInstances": [
        {
            "InstanceId": "i-0e56250ab6d290dbc",
            "CurrentState": {
                "Code": 32,
                "Name": "shutting-down"
            },
            "PreviousState": {
                "Code": 16,
                "Name": "running"
            }
        }
    ]
}
13:08:24
$scripts/create_infrustructure.sh start
An error occurred (InvalidIPAddress.InUse) when calling the RunInstances operation: Address 10.3.1.61 is in use.
i-00bd4454bf75b5769 i-01fdcf52b7928288c i-0e56250ab6d290dbc
ec2-34-241-132-131.eu-west-1.compute.amazonaws.com
13:10:33
$scripts/create_infrustructure.sh stop
^[[A{
    "TerminatingInstances": [
        {
            "InstanceId": "i-0ea5cd2718815c25c",
            "CurrentState": {
                "Code": 32,
                "Name": "shutting-down"
            },
            "PreviousState": {
                "Code": 0,
...
                "Code": 48,
                "Name": "terminated"
            },
            "PreviousState": {
                "Code": 48,
                "Name": "terminated"
            }
        }
    ]
}
13:20:07
$cd ~

13:20:56
$vi scripts/create_infrustructure.sh
/dev/pts/4
13:21:57
$ssh m0
user@m0's password:
Linux instructor 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Dec 20 15:35:06 2018 from 172.20.13.186
l3-agent is already running: pid=1843; pidfile=/home/user/.lilalo/l3-agent.pid
user@instructor:~$
...
Usage:
  $0 start|stop
EOF
  exit 1
fi
user@instructor:~$ xit
-bash: xit: command not found
user@instructor:~$ exit
logout
Connection to m0 closed.
прошло 14 минут
/dev/pts/0
13:35:58
$ stop

13:35:59
$vi scripts/install.sh
13:36:18
$~

13:36:19
$git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
        modified:   scripts/create_infrustructure.sh
        modified:   scripts/install.sh
no changes added to commit (use "git add" and/or "git commit -a")
13:37:28
$vi scripts/install.sh
13:38:00
$~

13:38:01
$vi scripts/create_infrustructure.sh
прошло 14 минут
13:52:32
$git commit -m 'Scripts correction'
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
        modified:   scripts/create_infrustructure.sh
        modified:   scripts/install.sh
no changes added to commit
13:52:56
$git a
add        am         annotate   apply      archive
13:52:56
$git add scripts/

13:53:34
$git commit -m 'Scripts correction'
[master 90f1013] Scripts correction
 2 files changed, 28 insertions(+), 7 deletions(-)
13:53:40
$git push
Username for 'https://github.com': DmitrySnitko
Password for 'https://DmitrySnitko@github.com':
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 838 bytes | 0 bytes/s, done.
Total 5 (delta 3), reused 0 (delta 0)
remote: Resolving deltas: 100% (3/3), completed with 3 local objects.
To https://github.com/DmitrySnitko/aws
   79a6a40..90f1013  master -> master
13:54:07
$scr
screen
screendump
script
scriptreplay
scrollkeeper-config
scrollkeeper-extract
scrollkeeper-gen-seriesid
scrollkeeper-get-cl
scrollkeeper-get-content-list
scrollkeeper-get-extended-content-list
scrollkeeper-get-index-from-docpath
scrollkeeper-get-toc-from-docpath
scrollkeeper-get-toc-from-id
scrollkeeper-install
scrollkeeper-preinstall
scrollkeeper-rebuilddb
scrollkeeper-uninstall
scrollkeeper-update
13:54:07
$~/aws/scripts/create_infrustructure.sh
/home/user/aws/scripts/create_infrustructure.sh: line 13: initial_command: command not found
#!/bin/sh
curl https://raw.githubusercontent.com/DmitrySnitko/AWS/master/scripts/install.sh | su -c 'bash -s' admin
Usage:
  /home/user/aws/scripts/create_infrustructure.sh start|stop
13:54:20
$~/aws/scripts/create_infrustructure.sh start
/home/user/aws/scripts/create_infrustructure.sh: line 13: initial_command: command not found
#!/bin/sh
curl https://raw.githubusercontent.com/DmitrySnitko/AWS/master/scripts/install.sh | su -c 'bash -s' admin
/home/user/aws/scripts/create_infrustructure.sh: line 69: initial_command: command not found
An error occurred (Blocked) when calling the RunInstances operation: This account is currently blocked and not recognized as a valid account. Please contact aws-verification@amazon.com if you have questions.
null
13:54:47
$vi ~/aws/scripts/create_infrustructure.sh
13:55:31
$git add scripts/

13:56:10
$cd

13:56:14
$cat aws/scripts/install.sh
DIR="$HOME/qrencode"
mkdir -p "$DIR"
cd "$DIR"
sudo apt-get update
sudo apt-get install -y nginx git-core qrencode python-virtualenv
git clone https://github.com/chubin/qrenco.de
cd qrenco.de
virtualenv ve/
ve/bin/pip install -r requirements.txt
#sudo cp config/qrencode.conf /etc/nginx/sites-available/default
sudo curl https://raw.githubusercontent.com/DmitrySnitko/AWS/master/config/qrencode.conf > /etc/nginx/sites-available/default/grencode.conf
mkdir -p ~/log/
nohup ve/bin/python bin/srv.py >> ~/log/qrencode.log 2>&1 &
sudo /etc/init.d/nginx restart
13:56:32
$aw
awk                   aws_bash_completer    aws_completer
aws/                  aws.cmd               aws_zsh_completer.sh
13:56:32
$aw
awk                   aws_bash_completer    aws_completer
aws/                  aws.cmd               aws_zsh_completer.sh
13:56:32
$aws/scripts/create_infrustructure.sh start
An error occurred (Blocked) when calling the RunInstances operation: This account is currently blocked and not recognized as a valid account. Please contact aws-verification@amazon.com if you have questions.
null
13:56:59
$aws/scripts/create_infrustructure.sh start
An error occurred (Blocked) when calling the RunInstances operation: This account is currently blocked and not recognized as a valid account. Please contact aws-verification@amazon.com if you have questions.
null
прошло 29 минут
14:25:59
$git add aws/scripts/install.sh
fatal: Not a git repository (or any of the parent directories): .git
14:26:09
$git add aws/scripts/
fatal: Not a git repository (or any of the parent directories): .git
14:26:14
$cd aws/

Файлы

  • aws/scripts/install.sh
  • config/qrencode.conf
  • qrencode.conf
  • qrencode_V2.conf
  • scripts/
  • scripts/install.sh
  • scripts/qrencode.conf
  • aws/scripts/install.sh
    >
    DIR="$HOME/qrencode"
    mkdir -p "$DIR"
    cd "$DIR"
    sudo apt-get update
    sudo apt-get install -y nginx git-core qrencode python-virtualenv
    git clone https://github.com/chubin/qrenco.de
    cd qrenco.de
    virtualenv ve/
    ve/bin/pip install -r requirements.txt
    #sudo cp config/qrencode.conf /etc/nginx/sites-available/default
    sudo curl https://raw.githubusercontent.com/DmitrySnitko/AWS/master/config/qrencode.conf > /etc/nginx/sites-available/default/grencode.conf
    mkdir -p ~/log/
    nohup ve/bin/python bin/srv.py >> ~/log/qrencode.log 2>&1 &
    sudo /etc/init.d/nginx restart
    
    config/qrencode.conf
    >
    server {
        listen 80 default_server;
        listen [::]:80 default_server;
        access_log  /var/log/nginx/access.log;
        error_log  /var/log/nginx/error.log;
        location / {
            proxy_pass         http://127.0.0.1:8003;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $remote_addr;
            client_max_body_size       10m;
            client_body_buffer_size    128k;
            proxy_connect_timeout      90;
            proxy_send_timeout         90;
            proxy_read_timeout         90;
            proxy_buffer_size          4k;
            proxy_buffers              4 32k;
            proxy_busy_buffers_size    64k;
            proxy_temp_file_write_size 64k;
            expires                    off;
        }
    }
    
    qrencode.conf
    >
    server {
        listen 80 default_server;
        listen [::]:80 default_server;
        access_log  /var/log/nginx/access.log;
        error_log  /var/log/nginx/error.log;
        location / {
            proxy_pass         http://127.0.0.1:8003;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $remote_addr;
            client_max_body_size       10m;
            client_body_buffer_size    128k;
            proxy_connect_timeout      90;
            proxy_send_timeout         90;
            proxy_read_timeout         90;
            proxy_buffer_size          4k;
            proxy_buffers              4 32k;
            proxy_busy_buffers_size    64k;
            proxy_temp_file_write_size 64k;
            expires                    off;
        }
    }
    
    qrencode_V2.conf
    >
    server {
        listen 80 default_server;
        listen [::]:80 default_server;
        access_log  /var/log/nginx/access.log;
        error_log  /var/log/nginx/error.log;
        location / {
            proxy_pass         http://127.0.0.1:8003;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $remote_addr;
            client_max_body_size       10m;
            client_body_buffer_size    128k;
            proxy_connect_timeout      90;
            proxy_send_timeout         90;
            proxy_read_timeout         90;
            proxy_buffer_size          4k;
            proxy_buffers              4 32k;
            proxy_busy_buffers_size    64k;
            proxy_temp_file_write_size 64k;
            expires                    off;
        }
    }
    
    scripts/
    >
    create_infrustructure.sh  qrencode.conf
    install.sh
    
    scripts/install.sh
    >
    sudo apt-get update
    sudo apt-get install -y nginx git-core qrencode python-virtualenv
    git clone https://github.com/chubin/qrenco.de
    cd qrenco.de
    virtualenv ve/
    ve/bin/pip install -r requirements.txt
    sudo cp config/qrencode.conf /etc/nginx/sites-available/default
    mkdir -p ~/log/
    nohup ve/bin/python bin/srv.py >> ~/log/qrencode.log 2>&1 &
    sudo etc/init.d/nginx restart
    
    scripts/qrencode.conf
    >
    server {
        listen 80 default_server;
        listen [::]:80 default_server;
        access_log  /var/log/nginx/access.log;
        error_log  /var/log/nginx/error.log;
        location / {
            proxy_pass         http://127.0.0.1:8003;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $remote_addr;
            client_max_body_size       10m;
            client_body_buffer_size    128k;
            proxy_connect_timeout      90;
            proxy_send_timeout         90;
            proxy_read_timeout         90;
            proxy_buffer_size          4k;
            proxy_buffers              4 32k;
            proxy_busy_buffers_size    64k;
            proxy_temp_file_write_size 64k;
            expires                    off;
        }
    }
    

    Статистика

    Время первой команды журнала10:38:31 2018-12-20
    Время последней команды журнала14:26:14 2018-12-20
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, % 9.90
    Процент синтаксически неверно набранных команд, % 0.99
    Суммарное время работы с терминалом *, час 2.38
    Количество командных строк в единицу времени, команда/мин 0.71
    Частота использования команд
    ll18|=================| 17.82%
    git16|===============| 15.84%
    vi10|=========| 9.90%
    cat8|=======| 7.92%
    create_infrustructure.sh7|======| 6.93%
    cd7|======| 6.93%
    scp6|=====| 5.94%
    mv6|=====| 5.94%
    ssh5|====| 4.95%
    man4|===| 3.96%
    ~3|==| 2.97%
    aw2|=| 1.98%
    script2|=| 1.98%
    rm2|=| 1.98%
    scr2|=| 1.98%
    sc2|=| 1.98%
    stop1|| 0.99%
    ____
    *) Интервалы неактивности длительностью 30 минут и более не учитываются

    Справка

    Для того чтобы использовать LiLaLo, не нужно знать ничего особенного: всё происходит само собой. Однако, чтобы ведение и последующее использование журналов было как можно более эффективным, желательно иметь в виду следующее:
    1. В журнал автоматически попадают все команды, данные в любом терминале системы.

    2. Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.

    3. Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
      $ l s-l
      bash: l: command not found
      

    4. Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
      $ test 5 -lt 4
      Обратите внимание на то, что код завершения команды может быть отличен от нуля не только в тех случаях, когда команда была выполнена с ошибкой. Многие команды используют код завершения, например, для того чтобы показать результаты проверки

    5. Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
      $ find / -name abc
      find: /home/devi-orig/.gnome2: Keine Berechtigung
      find: /home/devi-orig/.gnome2_private: Keine Berechtigung
      find: /home/devi-orig/.nautilus/metafiles: Keine Berechtigung
      find: /home/devi-orig/.metacity: Keine Berechtigung
      find: /home/devi-orig/.inkscape: Keine Berechtigung
      ^C
      

    6. Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
      # id
      uid=0(root) gid=0(root) Gruppen=0(root)
      

    7. Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
      $ vi ~/.bashrc
      2a3,5
      >    if [ -f /usr/local/etc/bash_completion ]; then
      >         . /usr/local/etc/bash_completion
      >        fi
      

    8. Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
      $ patch ~/.bashrc
      В данном случае изменения применяются к файлу ~/.bashrc

    9. Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.

      Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.

    10. Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.

    11. Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора

    12. Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.

    13. Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.

    14. Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:

      $ whoami
      
      user
      
      $ #^ Интересно, кто я?
      
      в журнале это будет выглядеть так:
      $ whoami
      
      user
      
      Интересно, кто я?

    15. Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:

      $ whoami
      
      user
      
      $ cat > /dev/null #^ Интересно, кто я?
      
      Программа whoami выводит имя пользователя, под которым 
      мы зарегистрировались в системе.
      -
      Она не может ответить на вопрос о нашем назначении 
      в этом мире.
      
      В журнале это будет выглядеть так:
      $ whoami
      user
      
      Интересно, кто я?
      Программа whoami выводит имя пользователя, под которым
      мы зарегистрировались в системе.

      Она не может ответить на вопрос о нашем назначении
      в этом мире.
      Для разделения нескольких абзацев между собой используйте символ "-", один в строке.

    16. Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=

    17. Содержимое файла может быть показано в журнале. Для этого его нужно вывести с помощью программы cat. Если вывод команды отметить симоволами #!, содержимое файла будет показано в журнале в специально отведённой для этого секции.
    18. Для того чтобы вставить скриншот интересующего вас окна в журнал, нужно воспользоваться командой l3shot. После того как команда вызвана, нужно с помощью мыши выбрать окно, которое должно быть в журнале.
    19. Команды в журнале расположены в хронологическом порядке. Если две команды давались одна за другой, но на разных терминалах, в журнале они будут рядом, даже если они не имеют друг к другу никакого отношения.
      1
          2
      3   
          4
      
      Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.

    О программе

    LiLaLo (L3) расшифровывается как Live Lab Log.
    Программа разработана для повышения эффективности обучения Unix/Linux-системам.
    (c) Игорь Чубин, 2004-2008

    $Id$