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

Содержание

Журнал

Пятница (12/21/18)

/dev/pts/6
12:49:15
$# docker volume create -d lvm --opt size=0.2G --name foobar1

12:49:31
$# sudo apt-get install go-md2man

/dev/pts/0
12:53:49
$GOLANG=$(which go) make
make: *** No targets specified and no makefile found.  Stop.
12:54:03
$cd go
go/     gopath/
12:54:03
$cd go/
api/  bin/  doc/  lib/  misc/ pkg/  src/  test/
12:54:25
$cd go

12:55:23
$ll
total 200
drwxr-xr-x  2 user user  4096 Dec 15 02:36 api
-rw-r--r--  1 user user 55284 Dec 15 02:36 AUTHORS
drwxr-xr-x  2 user user  4096 Dec 15 02:48 bin
-rw-r--r--  1 user user  1339 Dec 15 02:36 CONTRIBUTING.md
-rw-r--r--  1 user user 71070 Dec 15 02:36 CONTRIBUTORS
drwxr-xr-x  8 user user  4096 Dec 15 02:36 doc
-rw-r--r--  1 user user  5686 Dec 15 02:36 favicon.ico
drwxr-xr-x  3 user user  4096 Dec 15 02:36 lib
-rw-r--r--  1 user user  1479 Dec 15 02:36 LICENSE
drwxr-xr-x 15 user user  4096 Dec 15 02:48 misc
-rw-r--r--  1 user user  1303 Dec 15 02:36 PATENTS
drwxr-xr-x  9 user user  4096 Dec 15 02:48 pkg
-rw-r--r--  1 user user  1607 Dec 15 02:36 README.md
-rw-r--r--  1 user user    26 Dec 15 02:36 robots.txt
drwxr-xr-x 46 user user  4096 Dec 15 02:36 src
drwxr-xr-x 22 user user 12288 Dec 15 02:48 test
-rw-r--r--  1 user user     8 Dec 15 02:36 VERSION
12:55:49
$docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
a5a6f2f73cd8: Pulling fs layer
a5a6f2f73cd8: Pull complete
1ba02017c4b2: Pull complete
33b176c904de: Pull complete
Digest: sha256:5d32f60db294b5deb55d078cd4feb410ad88e6fe77500c87d3970eca97f54dba
Status: Downloaded newer image for nginx:latest
12:57:43
$docker pull redis
Using default tag: latest
latest: Pulling from library/redis
^C
12:57:59
$cd ../gopath/
bin/ src/
12:57:59
$cd ../gopath/src/g
github.com/ golang.org/
12:57:59
$cd ../gopath/src/github.com/
coreos/        docker/        projectatomic/ projectatpmic/ Sirupsen/
12:57:59
$cd ../gopath/src/github.com/projectat
projectatomic/ projectatpmic/
12:57:59
$cd ../gopath/src/github.com/projectatomic/docker-lvm-plugin/

12:58:29
$docker pull redis
                             GOLANG=$(which go) make
go-md2man -in man/docker-lvm-plugin.8.md -out docker-lvm-plugin.8
make: go-md2man: Command not found
Makefile:15: recipe for target 'man' failed
make: *** [man] Error 127
12:58:36
$sudo apt-get install go-md2man
[sudo] password for user:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  go-md2man
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 504 kB of archives.
After this operation, 1,670 kB of additional disk space will be used.
Get:1 http://ftp.by.debian.org/debian stretch/main amd64 go-md2man amd64 1.0.6+ds-1+b1 [504 kB]
Fetched 504 kB in 0s (41.8 MB/s)
Selecting previously unselected package go-md2man.
(Reading database ... 144443 files and directories currently installed.)
Preparing to unpack .../go-md2man_1.0.6+ds-1+b1_amd64.deb ...
Unpacking go-md2man (1.0.6+ds-1+b1) ...
Setting up go-md2man (1.0.6+ds-1+b1) ...
Processing triggers for man-db (2.7.6.1-2) ...
12:59:01
$GOLANG=$(which go) make
go-md2man -in man/docker-lvm-plugin.8.md -out docker-lvm-plugin.8
/home/user/go//bin//go build -o docker-lvm-plugin .
12:59:16
$sudo systemctl restart docker-lvm-plugin

12:59:41
$vi /etc/docker/
12:59:41
$vi /etc/docker/docker-lvm-plugin
13:00:28
$to create logical volumes using docker lvm plugin. You can choose an existinn
g to create logical volumes using docker lvm plugin. You can choose an existinn
d volume group name by listing volume groups on your system using `vgs` commann
# OR create a new volume group using `vgcreate` command.
# e.g. vgcreavg1volume_group_one /dev/hda where /dev/hda is your partition or
~
~
~
~
~
~
...
~
~
~
~
~
~
~
~
~
"/etc/docker/docker-lvm-plugin" 7L, 444C written
/dev/pts/6
13:01:04
$ssh m3
The authenticity of host 'm3 (172.20.13.189)' can't be established.
ECDSA key fingerprint is SHA256:rPDJPvc+lz3cxz2KjCqU1ABB/MPL1qiQ/GBwUxPCjMw.
Are you sure you want to continue connecting (yes/no)? password
Please type 'yes' or 'no': yes
Warning: Permanently added 'm3,172.20.13.189' (ECDSA) to the list of known hosts.
user@m3's password:
Linux m3 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.
...
# OR create a new volume group using `vgcreate` command.
# e.g. vgcreate volume_group_one /dev/hda where /dev/hda is your partition or
# whole disk on which physical volumes were created.
VOLUME_GROUP=vg1
user@m3:~$
user@m3:~$
user@m3:~$
user@m3:~$ exit
logout
Connection to m3 closed.
/dev/pts/0
13:01:51
$docker volume ls
DRIVER              VOLUME NAME
lvm                 foobar1
local               myvol
13:01:58
$pwd
/home/user/gopath/src/github.com/projectatomic/docker-lvm-plugin
13:02:41
$ll ~/gopath/src/g
github.com/ golang.org/
13:02:41
$ll ~/gopath/src/github.com/
coreos/        docker/        projectatomic/ projectatpmic/ Sirupsen/
13:02:41
$cd ~/gopath/src/github.com/

13:03:02
$ll
total 20
drwxr-xr-x 3 user user 4096 Dec 21 14:53 coreos
drwxr-xr-x 5 user user 4096 Dec 21 14:53 docker
drwxr-xr-x 3 user user 4096 Dec 21 14:19 projectatomic
drwxr-xr-x 2 user user 4096 Dec 21 14:18 projectatpmic
drwxr-xr-x 3 user user 4096 Dec 21 14:19 Sirupsen
13:03:03
$ll projectatpmic/
total 0
13:03:15
$rm -r projectatpmic/

13:03:23
$ll
total 16
drwxr-xr-x 3 user user 4096 Dec 21 14:53 coreos
drwxr-xr-x 5 user user 4096 Dec 21 14:53 docker
drwxr-xr-x 3 user user 4096 Dec 21 14:19 projectatomic
drwxr-xr-x 3 user user 4096 Dec 21 14:19 Sirupsen
13:04:18
$cd

13:04:21
$ll
total 123772
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  7 user user      4096 Dec 21 12:54 docker-lvm-plugin
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 root root       203 Dec 20 16:26 ec2.yaml
-rw-r--r--  1 user user     13380 Dec 21 10:42 get-docker.sh
-rw-r--r--  1 user user        13 Dec 17 15:13 github.txt
...
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         0 Dec 21 12:43 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
-rwxr-xr-x  1 user user       116 Dec 20 16:39 test_script.sh
drwxr-xr-x  2 user user      4096 Dec 17 12:15 Videos
13:04:25
$sudo vg
vgcfgbackup    vgconvert      vgextend       vgmknodes      vgs
vgcfgrestore   vgcreate       vgimport       vgreduce       vgscan
vgchange       vgdisplay      vgimportclone  vgremove       vgsplit
vgck           vgexport       vgmerge        vgrename
13:04:25
$sudo vg
vgcfgbackup    vgconvert      vgextend       vgmknodes      vgs
vgcfgrestore   vgcreate       vgimport       vgreduce       vgscan
vgchange       vgdisplay      vgimportclone  vgremove       vgsplit
vgck           vgexport       vgmerge        vgrename
13:04:25
$sudo vgdisplay
  --- Volume group ---
  VG Name               vg1
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               1020.00 MiB
  PE Size               4.00 MiB
  Total PE              255
  Alloc PE / Size       52 / 208.00 MiB
  Free  PE / Size       203 / 812.00 MiB
  VG UUID               m7v3HN-4Cen-rHyc-U11B-I4oq-FYhQ-QHMMLj
13:13:40
$cd

13:18:26
$aws
aws                   aws.cmd               aws_zsh_completer.sh
aws_bash_completer    aws_completer
13:18:26
$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:19:15
$l
Display all 113 possibilities? (y or n)
l2ping                       localectl
l2test                       localedef
l3                           lodraw
l3-agent                     loffice
l3cd                         lofromtemplate
l3_close_session             logger
l3-config                    login
l3_fix_prompt                loginctl
l3mass_upload                logname
...
libreoffice                  lsmod
libwacom-list-local-devices  lsns
lightsoff                    lsof
line                         lspci
link                         lspgpot
linkicc                      lsusb
linux32                      luit
linux64                      lwp-download
linux-boot-prober            lwp-dump
linux-check-removal          lwp-mirror
13:19:15
$l
bash: l: command not found
13:19:20
$cd aws/

прошло 30 минут
13:49:44
$mkdir docker/qrencode
mkdir: cannot create directory ‘docker/qrencode’: No such file or directory
13:49:54
$mkdir docker

13:49:57
$mkdir docker/qrencode

13:50:00
$cd docker/qrencode/

13:50:07
$ll
total 0
13:50:13
$vi Dockerfile
/dev/pts/4
13:51:44
$uname -a
Linux m6 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux
13:51:52
$cat /etc/r
rc0.d/          rc4.d/          reportbug.conf  rpc
rc1.d/          rc5.d/          resolvconf/     rsyslog.conf
rc2.d/          rc6.d/          resolv.conf     rsyslog.d/
rc3.d/          rcS.d/          rmt             rygel.conf
13:51:52
$cat /etc/r
rc0.d/          rc4.d/          reportbug.conf  rpc
rc1.d/          rc5.d/          resolvconf/     rsyslog.conf
rc2.d/          rc6.d/          resolv.conf     rsyslog.d/
rc3.d/          rcS.d/          rmt             rygel.conf
13:52:01
$ll aws/scripts/install
ls: cannot access 'aws/scripts/install': No such file or directory
13:53:52
$cat aws/scripts/install
install2.sh  install.sh
13:53:52
$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
curl https://raw.githubusercontent.com/DmitrySnitko/AWS/master/config/qrencode.conf | sudo tee /etc/nginx/sites-available/default
mkdir -p "$DIR"/log/
nohup ve/bin/python bin/srv.py >> "$DIR"/log/qrencode.log 2>&1 &
sudo /etc/init.d/nginx restart
13:53:55
$systemctl restart docker-lvm-plugin
             curl http://localhost:8003/Hello
█████████████████████████████
█████████████████████████████
████ ▄▄▄▄▄ █▀█ █ █ ▄▄▄▄▄ ████
████ █   █ █▄█▄▄▀█ █   █ ████
████ █▄▄▄█ █   ▄▄█ █▄▄▄█ ████
████▄▄▄▄▄▄▄█ █▄█▄█▄▄▄▄▄▄▄████
████  █▄▀▀▄ █▀▄ ▄▀▄ ▄█▄ ▀████
████ ██▀▀ ▄▀▀▄▀▄▀▀    ▄▀ ████
████▄▄▄▄██▄▄  █▄█   ▀█▀██████
████ ▄▄▄▄▄ █▄▀▀▄▄█ ▀ ▄▄ ▀████
████ █   █ █▀█▀█▄  ▀▄▀▀▀ ████
████ █▄▄▄█ █▀ ▄ ▀▄▄█▄█▄█▄████
████▄▄▄▄▄▄▄█▄▄███▄█▄█▄█▄█████
█████████████████████████████
█████████████████████████████
/dev/pts/0
13:56:06
$pwd
/home/user/aws/docker/qrencode
13:56:17
$docker build
"docker build" requires exactly 1 argument.
See 'docker build --help'.
Usage:  docker build [OPTIONS] PATH | URL | -
Build an image from a Dockerfile
13:56:37
$docker build .
Sending build context to Docker daemon  2.048kB
Step 1/5 : FROM debian:8
8: Pulling from library/debian
4b105072aa89: Downloading  4.816MB/54.36MB
^C
13:57:08
$vi Dockerfile
13:57:34
$docker build .
Sending build context to Docker daemon  2.048kB
Step 1/5 : FROM debian
 ---> 4879790bd60d
Step 2/5 : RUN git clone https://github.com/chubin/qrenco.de
 ---> Running in 040f75b2520b
/bin/sh: 1: git: not found
The command '/bin/sh -c git clone https://github.com/chubin/qrenco.de' returned a non-zero code: 127
13:57:38
$vi Dockerfile
13:58:04
$docker build .
Sending build context to Docker daemon  2.048kB
Step 1/6 : FROM debian
 ---> 4879790bd60d
Step 2/6 : RUN apt-get install git
 ---> Running in 068a2d3dd407
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package git
The command '/bin/sh -c apt-get install git' returned a non-zero code: 100
13:58:50
$vi Dockerfile
13:59:04
$docker build .
Sending build context to Docker daemon  2.048kB
Step 1/6 : FROM debian
 ---> 4879790bd60d
Step 2/6 : RUN apt-get update
 ---> Running in bf38df24df58
Ign:2 http://cdn-fastly.deb.debian.org/debian stretch InRelease
Get:3 http://cdn-fastly.deb.debian.org/debian stretch-updates InRelease [91.0 kB]
Get:4 http://cdn-fastly.deb.debian.org/debian stretch Release [118 kB]
Get:1 http://security-cdn.debian.org/debian-security stretch/updates InRelease [94.3 kB]
Get:5 http://cdn-fastly.deb.debian.org/debian stretch-updates/main amd64 Packages [5152 B]
Get:6 http://cdn-fastly.deb.debian.org/debian stretch Release.gpg [2434 B]
Get:7 http://security-cdn.debian.org/debian-security stretch/updates/main amd64 Packages [463 kB]
Get:8 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 Packages [7089 kB]
Fetched 7863 kB in 1min 24s (93.3 kB/s)
Reading package lists...
Removing intermediate container bf38df24df58
 ---> cbaca1d3680f
Step 3/6 : RUN git clone https://github.com/chubin/qrenco.de
 ---> Running in 6dbc7733e7a4
/bin/sh: 1: git: not found
The command '/bin/sh -c git clone https://github.com/chubin/qrenco.de' returned a non-zero code: 127
14:00:39
$vi Dockerfile
14:01:47
$docker build .
Sending build context to Docker daemon  2.048kB
Step 1/7 : FROM debian:9
9: Pulling from library/debian
Digest: sha256:df6ebd5e9c87d0d7381360209f3a05c62981b5c2a3ec94228da4082ba07c4f05
Status: Downloaded newer image for debian:9
 ---> 4879790bd60d
Step 2/7 : RUN apt-get update
 ---> Using cache
 ---> cbaca1d3680f
Step 3/7 : RUN apt-get install -y git-core python-virtualenv
...
New python executable in /ve/bin/python2
Also creating executable in /ve/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
Running virtualenv with interpreter /usr/bin/python2
Removing intermediate container 81f2a74e2d0a
 ---> edf05361a0f9
Step 7/7 : RUN ve/bin/pip install -r requirements.txt
 ---> Running in 969ec2117e5d
Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
The command '/bin/sh -c ve/bin/pip install -r requirements.txt' returned a non-zero code: 1
14:06:30
$vi Dockerfile
14:08:13
$docker build .
Sending build context to Docker daemon  2.048kB
Step 1/6 : FROM debian:9
 ---> 4879790bd60d
Step 2/6 : RUN apt-get update
 ---> Using cache
 ---> cbaca1d3680f
Step 3/6 : RUN apt-get install -y git-core python-virtualenv
 ---> Using cache
 ---> 2610b9e17537
Step 4/6 : RUN git clone https://github.com/chubin/qrenco.de
...
New python executable in /qrenco.de/ve/bin/python2
Also creating executable in /qrenco.de/ve/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
Running virtualenv with interpreter /usr/bin/python2
Removing intermediate container dc48b7f1f7db
 ---> b36f6e88b554
Step 6/6 : RUN qrenco.de/ve/bin/pip install -r requirements.txt
 ---> Running in 7c930fe4a3eb
Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
The command '/bin/sh -c qrenco.de/ve/bin/pip install -r requirements.txt' returned a non-zero code: 1
14:08:29
$vi Dockerfile
14:08:53
$~
RUN apt-get update
               /qrenco.de/ve/
RUN /qrenco.de/ve/bin/pip install -r requirements.txt
RUN git clone https://github.com/chubin/qrenco.de
~
~
~
~
~
~
...
~
~
~
~
~
~
~
~
~
"Dockerfile" 8L, 219C written
14:10:49
$docker build .
Sending build context to Docker daemon  2.048kB
Step 1/6 : FROM debian:9
 ---> 4879790bd60d
Step 2/6 : RUN apt-get update
 ---> Using cache
 ---> cbaca1d3680f
Step 3/6 : RUN apt-get install -y git-core python-virtualenv
 ---> Using cache
 ---> 2610b9e17537
Step 4/6 : RUN git clone https://github.com/chubin/qrenco.de
...
New python executable in /qrenco.de/ve/bin/python2
Also creating executable in /qrenco.de/ve/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
Running virtualenv with interpreter /usr/bin/python2
Removing intermediate container 7012df70aa49
 ---> 59e2cdab9f5f
Step 6/6 : RUN /qrenco.de/ve/bin/pip install -r requirements.txt
 ---> Running in d1a09d50796d
Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
The command '/bin/sh -c /qrenco.de/ve/bin/pip install -r requirements.txt' returned a non-zero code: 1
14:11:36
$vi Dockerfile
14:12:56
$docker build .
Sending build context to Docker daemon  2.048kB
Step 1/5 : FROM debian:9
 ---> 4879790bd60d
Step 2/5 : RUN apt-get update
 ---> Using cache
 ---> cbaca1d3680f
Step 3/5 : RUN apt-get install -y git-core python-virtualenv
 ---> Using cache
 ---> 2610b9e17537
Step 4/5 : RUN git clone https://github.com/chubin/qrenco.de
...
  Downloading https://files.pythonhosted.org/packages/9f/e0/accfc1b56b57e9750eba272e24c4dddeac86852c2bebd1236674d7887e8a/certifi-2018.11.29-py2.py3-none-any.whl (154kB)
Collecting six>=1.5 (from python-dateutil->-r requirements.txt (line 4))
  Downloading https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl
Collecting MarkupSafe>=0.23 (from Jinja2>=2.10->flask->-r requirements.txt (line 2))
  Downloading https://files.pythonhosted.org/packages/bc/3a/6bfd7b4b202fa33bdda8e4e3d3acc719f381fd730f9a0e7c5f34e845bd4d/MarkupSafe-1.1.0-cp27-cp27mu-manylinux1_x86_64.whl
Installing collected packages: greenlet, gevent, click, Werkzeug, itsdangerous, MarkupSafe, Jinja2, flask, urllib3, idna, chardet, certifi, requests, six, python-dateutil
Successfully installed Jinja2-2.10 MarkupSafe-1.1.0 Werkzeug-0.14.1 certifi-2018.11.29 chardet-3.0.4 click-7.0 flask-1.0.2 gevent-1.3.7 greenlet-0.4.15 idna-2.8 itsdangerous-1.1.0 python-dateutil-2.7.5 requests-2.21.0 six-1.12.0 urllib3-1.24.1
Removing intermediate container 1ead7788877b
 ---> 9c9805ca9955
Successfully built 9c9805ca9955
14:13:45
$vi Dockerfile
14:17:45
$docker build .
Sending build context to Docker daemon  2.048kB
Step 1/7 : FROM debian:9
 ---> 4879790bd60d
Step 2/7 : RUN apt-get update
 ---> Using cache
 ---> cbaca1d3680f
Step 3/7 : RUN apt-get install -y git-core python-virtualenv qrencode
 ---> Running in 2ad6ce3b2bc3
Reading package lists...
Building dependency tree...
...
 ---> bc47d2505dde
Step 6/7 : EXPOSE 8003
 ---> Running in a627df02b3ab
Removing intermediate container a627df02b3ab
 ---> 3fd56104ee06
Step 7/7 : CMD qrenco.de/ve/bin/python qrenco.de/bin/srv.py
 ---> Running in 2e9ba8dc1bd7
Removing intermediate container 2e9ba8dc1bd7
 ---> 6c8536bee66c
Successfully built 6c8536bee66c
14:24:58
$docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS               NAMES
d1a09d50796d        59e2cdab9f5f        "/bin/sh -c '/qrenco…"   14 minutes ago      Exited (1) 14 minutes ago                         dazzling_chaplygin
7c930fe4a3eb        b36f6e88b554        "/bin/sh -c 'qrenco.…"   16 minutes ago      Exited (1) 16 minutes ago                         zen_raman
969ec2117e5d        edf05361a0f9        "/bin/sh -c 've/bin/…"   18 minutes ago      Exited (1) 18 minutes ago                         angry_mayer
6dbc7733e7a4        cbaca1d3680f        "/bin/sh -c 'git clo…"   24 minutes ago      Exited (127) 24 minutes ago                       reverent_lewin
068a2d3dd407        4879790bd60d        "/bin/sh -c 'apt-get…"   26 minutes ago      Exited (100) 26 minutes ago                       silly_keldysh
040f75b2520b        4879790bd60d        "/bin/sh -c 'git clo…"   27 minutes ago      Exited (127) 27 minutes ago                       gifted_nightingale
14:25:09
$docker images
REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE
<none>              <none>              6c8536bee66c        About a minute ago   337MB
<none>              <none>              9c9805ca9955        12 minutes ago       337MB
<none>              <none>              59e2cdab9f5f        15 minutes ago       305MB
<none>              <none>              b36f6e88b554        17 minutes ago       305MB
<none>              <none>              edf05361a0f9        19 minutes ago       305MB
nginx               latest              568c4670fa80        3 weeks ago          109MB
ubuntu              latest              93fd78260bd1        4 weeks ago          86.2MB
debian              9                   4879790bd60d        5 weeks ago          101MB
debian              latest              4879790bd60d        5 weeks ago          101MB
busybox             latest              59788edf1f3e        2 months ago         1.15MB
14:26:11
$vi Dockerfile
14:30:02
$docker --rm build -t qrencode .
unknown flag: --rm
See 'docker --help'.
Usage:  docker [OPTIONS] COMMAND
A self-sufficient runtime for containers
Options:
      --config string      Location of client config files (default
                           "/home/user/.docker")
  -D, --debug              Enable debug mode
  -H, --host list          Daemon socket(s) to connect to
  -l, --log-level string   Set the logging level
...
  start       Start one or more stopped containers
  stats       Display a live stream of container(s) resource usage statistics
  stop        Stop one or more running containers
  tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
  top         Display the running processes of a container
  unpause     Unpause all processes within one or more containers
  update      Update configuration of one or more containers
  version     Show the Docker version information
  wait        Block until one or more containers stop, then print their exit codes
Run 'docker COMMAND --help' for more information on a command.
14:30:28
$docker --rm -t qrencode build .
unknown flag: --rm
14:30:40
$docker -t qrencode build --rm .
unknown shorthand flag: 't' in -t
14:30:54
$docker build --rm -t qrencode .
Sending build context to Docker daemon  2.048kB
Step 1/7 : FROM debian:9
 ---> 4879790bd60d
Step 2/7 : RUN apt-get update
 ---> Using cache
 ---> cbaca1d3680f
Step 3/7 : RUN apt-get install -y git-core python-virtualenv qrencode
 ---> Using cache
 ---> 808986793eb3
Step 4/7 : RUN git clone https://github.com/chubin/qrenco.de
...
 ---> bc47d2505dde
Step 6/7 : EXPOSE 8003
 ---> Using cache
 ---> 3fd56104ee06
Step 7/7 : CMD cd qrenco.de && ve/bin/python bin/srv.py
 ---> Running in 6da25479ab34
Removing intermediate container 6da25479ab34
 ---> 303c628cb1f4
Successfully built 303c628cb1f4
Successfully tagged qrencode:latest
14:31:12
$docker --help
Usage:  docker [OPTIONS] COMMAND
A self-sufficient runtime for containers
Options:
      --config string      Location of client config files (default
                           "/home/user/.docker")
  -D, --debug              Enable debug mode
  -H, --host list          Daemon socket(s) to connect to
  -l, --log-level string   Set the logging level
                           ("debug"|"info"|"warn"|"error"|"fatal")
                           (default "info")
...
  start       Start one or more stopped containers
  stats       Display a live stream of container(s) resource usage statistics
  stop        Stop one or more running containers
  tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
  top         Display the running processes of a container
  unpause     Unpause all processes within one or more containers
  update      Update configuration of one or more containers
  version     Show the Docker version information
  wait        Block until one or more containers stop, then print their exit codes
Run 'docker COMMAND --help' for more information on a command.
14:32:00
$docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
qrencode            latest              303c628cb1f4        56 seconds ago      337MB
<none>              <none>              6c8536bee66c        7 minutes ago       337MB
<none>              <none>              9c9805ca9955        18 minutes ago      337MB
<none>              <none>              59e2cdab9f5f        21 minutes ago      305MB
<none>              <none>              b36f6e88b554        23 minutes ago      305MB
<none>              <none>              edf05361a0f9        25 minutes ago      305MB
nginx               latest              568c4670fa80        3 weeks ago         109MB
ubuntu              latest              93fd78260bd1        4 weeks ago         86.2MB
debian              9                   4879790bd60d        5 weeks ago         101MB
debian              latest              4879790bd60d        5 weeks ago         101MB
busybox             latest              59788edf1f3e        2 months ago        1.15MB
14:32:48
$ps -a
  PID TTY          TIME CMD
  530 tty1     00:00:00 gnome-session-b
  557 tty1     00:00:05 gnome-shell
  640 tty1     00:00:00 Xwayland
  882 tty1     00:00:00 gnome-settings-
  967 tty2     00:02:31 Xorg
  973 tty2     00:00:00 gnome-session-b
 1048 tty2     00:03:24 gnome-shell
 1145 tty2     00:00:02 gnome-settings-
 1167 tty2     00:00:00 tracker-miner-u
...
 1194 tty2     00:00:00 tracker-miner-a
 1693 pts/3    00:00:00 ssh
 2654 tty2     00:06:32 firefox-esr
 2697 tty2     00:02:34 Web Content
 2744 tty2     00:03:44 Web Content
 3105 tty2     00:00:47 Web Content
15605 pts/8    00:00:00 su
15606 pts/8    00:00:00 bash
15955 tty2     00:00:35 Web Content
27924 pts/1    00:00:00 ps
14:32:52
$docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS               NAMES
d1a09d50796d        59e2cdab9f5f        "/bin/sh -c '/qrenco…"   21 minutes ago      Exited (1) 21 minutes ago                         dazzling_chaplygin
7c930fe4a3eb        b36f6e88b554        "/bin/sh -c 'qrenco.…"   24 minutes ago      Exited (1) 24 minutes ago                         zen_raman
969ec2117e5d        edf05361a0f9        "/bin/sh -c 've/bin/…"   26 minutes ago      Exited (1) 26 minutes ago                         angry_mayer
6dbc7733e7a4        cbaca1d3680f        "/bin/sh -c 'git clo…"   32 minutes ago      Exited (127) 32 minutes ago                       reverent_lewin
068a2d3dd407        4879790bd60d        "/bin/sh -c 'apt-get…"   34 minutes ago      Exited (100) 34 minutes ago                       silly_keldysh
040f75b2520b        4879790bd60d        "/bin/sh -c 'git clo…"   35 minutes ago      Exited (127) 35 minutes ago                       gifted_nightingale
14:32:59
$docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS               NAMES
d1a09d50796d        59e2cdab9f5f        "/bin/sh -c '/qrenco…"   22 minutes ago      Exited (1) 22 minutes ago                         dazzling_chaplygin
7c930fe4a3eb        b36f6e88b554        "/bin/sh -c 'qrenco.…"   24 minutes ago      Exited (1) 24 minutes ago                         zen_raman
969ec2117e5d        edf05361a0f9        "/bin/sh -c 've/bin/…"   27 minutes ago      Exited (1) 26 minutes ago                         angry_mayer
6dbc7733e7a4        cbaca1d3680f        "/bin/sh -c 'git clo…"   32 minutes ago      Exited (127) 32 minutes ago                       reverent_lewin
068a2d3dd407        4879790bd60d        "/bin/sh -c 'apt-get…"   35 minutes ago      Exited (100) 35 minutes ago                       silly_keldysh
040f75b2520b        4879790bd60d        "/bin/sh -c 'git clo…"   35 minutes ago      Exited (127) 35 minutes ago                       gifted_nightingale
14:33:24
$docker rm d1a09d50796d 7c930fe4a3eb 969ec2117e5d 6dbc7733e7a4 068a2d3dd407 040f75b2520b
d1a09d50796d
7c930fe4a3eb
969ec2117e5d
6dbc7733e7a4
068a2d3dd407
040f75b2520b
14:34:09
$docker rmi 6c8536bee66c
Deleted: sha256:6c8536bee66c23d39d466575ab130550985931620a448327ac0c11f9727c442f
14:34:33
$docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
qrencode            latest              303c628cb1f4        3 minutes ago       337MB
nginx               latest              568c4670fa80        3 weeks ago         109MB
ubuntu              latest              93fd78260bd1        4 weeks ago         86.2MB
debian              9                   4879790bd60d        5 weeks ago         101MB
debian              latest              4879790bd60d        5 weeks ago         101MB
busybox             latest              59788edf1f3e        2 months ago        1.15MB
14:35:09
$docker run --rm -p 8003:8003 qrencode
::ffff:172.17.0.1 - - [2018-12-21 13:36:13] "GET /abc HTTP/1.1" 200 1320 0.007041
::ffff:172.17.0.1 - - [2018-12-21 13:36:44] "GET /Hello HTTP/1.1" 200 1320 0.007042
^P^P^P^C^C
exit
^C
^[[17;6~
exit
^Z
/dev/pts/6
14:35:56
$curl localhost:8003/abc
█████████████████████████████
█████████████████████████████
████ ▄▄▄▄▄ ███▄█ █ ▄▄▄▄▄ ████
████ █   █ █▄█▄█▀█ █   █ ████
████ █▄▄▄█ ██ ▀ ▄█ █▄▄▄█ ████
████▄▄▄▄▄▄▄█ █ █▄█▄▄▄▄▄▄▄████
████  ▄▀  ▄  ▀ ▀▄ ▄▀█▀▄▀▀████
████▀▄  ▀▄▄█ ▄  ▀ ▄ ▀██▄▄████
██████▄█▄█▄█▀▀▄▄█▄ ▄█▀█▀ ████
████ ▄▄▄▄▄ █ ▄ █▄█▀█▄ █ ▄████
████ █   █ █▄██▀▄▀▄▀▄▀  ▄████
████ █▄▄▄█ █ ▀█ ▀ ▄ ▀▀█▀▄████
████▄▄▄▄▄▄▄█▄▄█▄█▄▄▄██▄▄▄████
█████████████████████████████
█████████████████████████████
14:36:39
$curl localhost:8003/Hello
█████████████████████████████
█████████████████████████████
████ ▄▄▄▄▄ █▀█ █ █ ▄▄▄▄▄ ████
████ █   █ █▄█▄▄▀█ █   █ ████
████ █▄▄▄█ █   ▄▄█ █▄▄▄█ ████
████▄▄▄▄▄▄▄█ █▄█▄█▄▄▄▄▄▄▄████
████  █▄▀▀▄ █▀▄ ▄▀▄ ▄█▄ ▀████
████ ██▀▀ ▄▀▀▄▀▄▀▀    ▄▀ ████
████▄▄▄▄██▄▄  █▄█   ▀█▀██████
████ ▄▄▄▄▄ █▄▀▀▄▄█ ▀ ▄▄ ▀████
████ █   █ █▀█▀█▄  ▀▄▀▀▀ ████
████ █▄▄▄█ █▀ ▄ ▀▄▄█▄█▄█▄████
████▄▄▄▄▄▄▄█▄▄███▄█▄█▄█▄█████
█████████████████████████████
█████████████████████████████
14:38:06
$docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
970d748be20a        qrencode            "/bin/sh -c 'cd qren…"   2 minutes ago       Up 2 minutes        0.0.0.0:8003->8003/tcp   jolly_mendeleev
14:38:27
$docker rm -f 970d748be20a
970d748be20a
/dev/pts/0
14:38:45
$pwd
/home/user/aws/docker/qrencode
14:38:54
$cd ~/aws/

14:39:01
$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)
        docker/
nothing added to commit but untracked files present (use "git add" to track)
14:39:06
$git add docker/

14:39:15
$git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)
        new file:   docker/qrencode/Dockerfile
14:39:16
$git commit -m 'Docker script added'
[master b5b07ce] Docker script added
 1 file changed, 10 insertions(+)
 create mode 100644 docker/qrencode/Dockerfile

Файлы

  • /etc/r
  • aws/scripts/install.sh
  • /etc/r
    >
    rc0.d/          rc4.d/          reportbug.conf  rpc
    rc1.d/          rc5.d/          resolvconf/     rsyslog.conf
    rc2.d/          rc6.d/          resolv.conf     rsyslog.d/
    rc3.d/          rcS.d/          rmt             rygel.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
    curl https://raw.githubusercontent.com/DmitrySnitko/AWS/master/config/qrencode.conf | sudo tee /etc/nginx/sites-available/default
    mkdir -p "$DIR"/log/
    nohup ve/bin/python bin/srv.py >> "$DIR"/log/qrencode.log 2>&1 &
    sudo /etc/init.d/nginx restart
    

    Статистика

    Время первой команды журнала12:49:15 2018-12-21
    Время последней команды журнала14:39:16 2018-12-21
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %15.84
    Процент синтаксически неверно набранных команд, % 2.97
    Суммарное время работы с терминалом *, час 1.33
    Количество командных строк в единицу времени, команда/мин 1.27
    Частота использования команд
    docker30|============================| 28.30%
    cd14|=============| 13.21%
    vi12|===========| 11.32%
    ll9|========| 8.49%
    sudo5|====| 4.72%
    cat4|===| 3.77%
    git4|===| 3.77%
    mkdir3|==| 2.83%
    pwd3|==| 2.83%
    l2|=| 1.89%
    vg2|=| 1.89%
    #2|=| 1.89%
    systemctl2|=| 1.89%
    GOLANG=$(which2|=| 1.89%
    curl2|=| 1.89%
    ps1|| 0.94%
    create_infrustructure.sh1|| 0.94%
    rm1|| 0.94%
    to1|| 0.94%
    apt-get1|| 0.94%
    ~1|| 0.94%
    aws1|| 0.94%
    ssh1|| 0.94%
    vgdisplay1|| 0.94%
    uname1|| 0.94%
    ____
    *) Интервалы неактивности длительностью 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$