Product SiteDocumentation Site

3.4. Сдача самостоятельных работ

Для сдачи самостоятельных работ используется специальная утилита report, создающая tar‑архив с записью команд в системе.
  1. С помощью команды report <#Lab> <hostname> запустите запись отчёта на обеих машинах:
    [root@first ~]# report 3 first
    Report is started. Task: 03; host: first.
    Use exit or ^D to finish.
    [root@01-first ~]#
    
    [root@second ~]# report 3 second
    Report is started. Task: 03; host: second.
    Use exit or ^D to finish.
    [root@01-second ~]#
    
    Затем необходимо будет выполнять указанные в самостоятельной работе команды. Сейчас выполним на каждой виртуальной машине следующие команды:
    • ip a show eth1
    • ping -c5 <адрес другого абонента>
  2. На каждой машине выполните описанные команды в режиме report. Затем завершите запись с помощью команды exit или сочетания клавиш Ctrl+D.
    [root@01-first ~]# ip a show eth1
    3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
       link/ether 08:00:27:da:00:dd brd ff:ff:ff:ff:ff:ff
       altname enp0s8
       altname enx080027da00dd
       inet 10.9.0.1/24 scope global eth1
          valid_lft forever preferred_lft forever
    [root@01-first ~]# ping -c5 10.9.0.2
    PING 10.9.0.2 (10.9.0.2) 56(84) bytes of data.
    64 bytes from 10.9.0.2: icmp_seq=1 ttl=64 time=0.531 ms
    64 bytes from 10.9.0.2: icmp_seq=2 ttl=64 time=0.635 ms
    64 bytes from 10.9.0.2: icmp_seq=3 ttl=64 time=0.712 ms
    64 bytes from 10.9.0.2: icmp_seq=4 ttl=64 time=0.558 ms
    64 bytes from 10.9.0.2: icmp_seq=5 ttl=64 time=0.927 ms
    
    --- 10.9.0.2 ping statistics ---
    5 packets transmitted, 5 received, 0% packet loss, time 4132ms
    rtt min/avg/max/mdev = 0.531/0.672/0.927/0.142 ms
    [root@01-first ~]#
    <^D>exit
    Report is stopped.
    [root@first ~]#
    
    [root@01-second ~]# ip a show eth1
    3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
       link/ether 08:00:27:e1:50:ee brd ff:ff:ff:ff:ff:ff
       altname enp0s8
       altname enx080027e150ee
       inet 10.9.0.2/24 scope global eth1
          valid_lft forever preferred_lft forever
    [root@01-second ~]# ping -c5 10.9.0.1
    PING 10.9.0.1 (10.9.0.1) 56(84) bytes of data.
    64 bytes from 10.9.0.1: icmp_seq=1 ttl=64 time=0.648 ms
    64 bytes from 10.9.0.1: icmp_seq=2 ttl=64 time=0.780 ms
    64 bytes from 10.9.0.1: icmp_seq=3 ttl=64 time=0.832 ms
    64 bytes from 10.9.0.1: icmp_seq=4 ttl=64 time=0.569 ms
    64 bytes from 10.9.0.1: icmp_seq=5 ttl=64 time=0.758 ms
    
    --- 10.9.0.1 ping statistics ---
    5 packets transmitted, 5 received, 0% packet loss, time 4004ms
    rtt min/avg/max/mdev = 0.569/0.717/0.832/0.095 ms
    [root@01-second ~]# exit
    exit
    Report is stopped.
    [root@second ~]#
    
    После записи в домашнем каталоге появится файл report.<#Lab>.<hostname>. С помощью ls -l можно убедиться в предварительной корректности записи (число после слова root показывает размер файла, он должен быть ненулевой), а с помощью команды report <report-name> можно «проиграть» запись команд.
  3. С помощью команды report <report-name> запустите получившиеся отчёты.
    [root@first ~]# ls -l
    total 12
    drwxr-xr-x 2 root root 4096 May 12 17:18 bin
    -rw-r--r-- 1 root root 2621 Oct 13 12:28 report.03.first
    drwx------ 2 root root 4096 May 12 17:19 tmp
    
    [root@first ~]# report report.03.first
    Replay report.03.first
    [root@01-first ~]# ip a show eth1
    3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
       link/ether 08:00:27:da:00:dd brd ff:ff:ff:ff:ff:ff
       altname enp0s8
       altname enx080027da00dd
       inet 10.9.0.1/24 scope global eth1
          valid_lft forever preferred_lft forever
    [root@01-first ~]# ping -c5 10.9.0.2
    PING 10.9.0.2 (10.9.0.2) 56(84) bytes of data.
    64 bytes from 10.9.0.2: icmp_seq=1 ttl=64 time=0.531 ms
    64 bytes from 10.9.0.2: icmp_seq=2 ttl=64 time=0.635 ms
    64 bytes from 10.9.0.2: icmp_seq=3 ttl=64 time=0.712 ms
    64 bytes from 10.9.0.2: icmp_seq=4 ttl=64 time=0.558 ms
    64 bytes from 10.9.0.2: icmp_seq=5 ttl=64 time=0.927 ms
    
    --- 10.9.0.2 ping statistics ---
    5 packets transmitted, 5 received, 0% packet loss, time 4132ms
    rtt min/avg/max/mdev = 0.531/0.672/0.927/0.142 ms
    [root@01-first ~]#
    exit
    
    Replay report.03.first finished
    [root@first ~]#
    
    [root@second ~]# ls -l
    total 12
    drwxr-xr-x 2 root root 4096 May 12 17:18 bin
    -rw-r--r-- 1 root root 2498 Oct 13 12:29 report.03.second
    drwx------ 2 root root 4096 May 12 17:19 tmp
    [root@second ~]# report report.03.second
    Replay report.03.second
    [root@01-second ~]# ip a show eth1
    3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
       link/ether 08:00:27:e1:50:ee brd ff:ff:ff:ff:ff:ff
       altname enp0s8
       altname enx080027e150ee
       inet 10.9.0.2/24 scope global eth1
          valid_lft forever preferred_lft forever
    [root@01-second ~]# ping -c5 10.9.0.1
    PING 10.9.0.1 (10.9.0.1) 56(84) bytes of data.
    64 bytes from 10.9.0.1: icmp_seq=1 ttl=64 time=0.648 ms
    64 bytes from 10.9.0.1: icmp_seq=2 ttl=64 time=0.780 ms
    64 bytes from 10.9.0.1: icmp_seq=3 ttl=64 time=0.832 ms
    64 bytes from 10.9.0.1: icmp_seq=4 ttl=64 time=0.569 ms
    64 bytes from 10.9.0.1: icmp_seq=5 ttl=64 time=0.758 ms
    
    --- 10.9.0.1 ping statistics ---
    5 packets transmitted, 5 received, 0% packet loss, time 4004ms
    rtt min/avg/max/mdev = 0.569/0.717/0.832/0.095 ms
    [root@01-second ~]# exit
    exit
    
    Replay report.03.second finished
    [root@second ~]#
    
    Следующим шагом необходимо перенести полученные отчёты из виртуальных машин в основную систему.

    Предупреждение

    Настройка порта для передачи данных может быть проведена ещё при стартовой настройке виртуальных машин, но в таком случае выводы некоторых команд могут сильнее отличаться от показанных в лабораторных.
    Поскольку настройка проводится над виртуальными машинами, для её проведения необходимо выключить машины, используя команду poweroff.
  4. Выключите машины с помощью команды poweroff или передачей сигнала о завершении работы из VirtualBox.

    Важно

    Не выключайте машины «отключением питания» (пункт power off the machine при выключении через VirtualBox) во избежание ошибок в сохранении данных.
    [root@first ~]# poweroff
    ------------------------------------------
    [root@second ~]# poweroff
    
    Для передачи используется последовательный порт (COM‑порт), настраиваемый на запись в файл (Port Mode: Raw File). В качестве названия выводимого файла необходимо указать соответствующее имя файла report.<#Lab>.<hostname>.
    *Имена файлов внутри ВМ и в основной системе, вообще говоря, не обязаны быть одинаковыми. Но для удобства проверки мы просим использовать те же имена.
  5. Настройте на устройствах COM‑порты для передачи данных из виртуальных машин.
    Настройка COM-соединения для передачи отчётов на ВМ first
    Настройка COM-соединения для передачи отчётов на ВМ second
  6. Вновь запустите виртуальные машины.
    Для передачи данных, аналогично работе с виртуальными каналами, необходимо настроить порты для передачи, после чего передать на них файлы‑отчёты. По итогу команды для передачи всегда будут одинаковыми (не забывайте пользоваться автодополнением через Tab для записи длинных команд):
    1. stty raw -echo < /dev/ttyS1
    2. cat > report.<#Lab>.<hostname> > /dev/ttyS1
  7. С помощью описанных выше команд перешлите файлы отчётов с виртуальных машин в вашу систему.
    [root@first ~]# ls
    bin  report.03.first  tmp
    [root@first ~]# stty raw -echo < /dev/ttyS1
    [root@first ~]# cat report.03.first > /dev/ttyS1
    [root@first ~]# poweroff
    
    [root@second ~]# ls
    bin  report.03.second  tmp
    [root@second ~]# stty raw -echo < /dev/ttyS1
    [root@second ~]# cat report.03.second > /dev/ttyS1
    [root@second ~]# poweroff
    
    После этого в вашей системе появятся соответствующие файлы. Для проверки корректности убедитесь, что полученные файлы ненулевого объёма (в среднем — несколько килобайт).
    В случае использования собственной системы Linux можно установить утилиту report из репозитория и проверять корректность записанного файла также прогоном в утилите:
    [USER@USERsPC] ls | grep report
    report.03.first
    report.03.second
    [USER@USERsPC] report report.03.first
    tar: ./CPU.txt: time stamp 2025-10-13 15:25:57 is 8649.335340872 s in the future
    tar: ./IN.txt: time stamp 2025-10-13 15:28:02 is 8774.335237496 s in the future
    tar: ./BOTH.txt: time stamp 2025-10-13 15:28:02 is 8774.335184105 s in the future
    tar: ./TIME.txt: time stamp 2025-10-13 15:28:02 is 8774.335138278 s in the future
    tar: ./OUT.txt: time stamp 2025-10-13 15:28:02 is 8774.335085218 s in the future
    tar: .: time stamp 2025-10-13 15:25:57 is 8649.334813324 s in the future
    Replay report.03.first
    [root@01-first ~]# ip a show eth1
    3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
       link/ether 08:00:27:da:00:dd brd ff:ff:ff:ff:ff:ff
       altname enp0s8
       altname enx080027da00dd
       inet 10.9.0.1/24 scope global eth1
          valid_lft forever preferred_lft forever
    [root@01-first ~]# ping -c5 10.9.0.2
    PING 10.9.0.2 (10.9.0.2) 56(84) bytes of data.
    64 bytes from 10.9.0.2: icmp_seq=1 ttl=64 time=0.531 ms
    64 bytes from 10.9.0.2: icmp_seq=2 ttl=64 time=0.635 ms
    64 bytes from 10.9.0.2: icmp_seq=3 ttl=64 time=0.712 ms
    64 bytes from 10.9.0.2: icmp_seq=4 ttl=64 time=0.558 ms
    64 bytes from 10.9.0.2: icmp_seq=5 ttl=64 time=0.927 ms
    
    --- 10.9.0.2 ping statistics ---
    5 packets transmitted, 5 received, 0% packet loss, time 4132ms
    rtt min/avg/max/mdev = 0.531/0.672/0.927/0.142 ms
    [root@01-first ~]#
    exit
    Replay report.03.first finished
    [USER@USERsPC]