Почему в state присутствует только unconn

от admin

Name already in use

snet-hw / 4-04_Network_L4_net.md

  • Go to file T
  • Go to line L
  • Copy path
  • Copy permalink

1 contributor

Users who have contributed to this file

  • Open with Desktop
  • View raw
  • Copy raw contents Copy raw contents

Copy raw contents

Copy raw contents

Домашнее задание к занятию «4.4. L4-сеть»

Узел А отправил узлу В SYN-запрос.

Какова длина сегмента?

Приведите ответ в свободной форме.

Длина сегмента по SYN-запросу — флаг [S] — SYN (Start Connection) — равна 0. Это можно увидеть на скрине из утилиты tcpdump ниже.

  • Узел А инициировал соединение с узлом В .
  • Через некоторое время узел А получил SYN , ACK .

В каком TCP состоянии будет узел А после получения такого ответа?

Приведите ответ в свободной форме.

Узел А после получения ответа SYN , ACK от узла В будет находиться в состоянии ESTABLISHED или соединение установлено .

  1. Может ли во флагах TCP одновременно быть установлены флаги SYN и FIN при штатном режиме работы сети?
  2. Почему да или нет?

Приведите ответ в свободной форме.

  1. При штатном режиме работы сети во флагах TCP флаги SYN и FIN не могут быть одноврененно установлены.
  2. Они не могут быть одноврененно установлены потому, что будет нарушен принцип трехстороннего рукопожатия (в три этапа). По этому принципу соединение сначала устанавливается с флагом SYN , а после передачи данных завершается с флагом FIN .

ss -ula sport = :53 на хосте имеет следующий вывод:

  1. Почему в State присутствует только UNCONN ?
  2. Может ли там присутствовать TIME-WAIT ?

Приведите ответ в свободной форме.

При выводе данной команды в State присутствует только UNCONN потому, что в UDP есть только два вида сокетов:

  • неприсоединенный сокет UDP — это сокет UDP, создаваемый по умолчанию;
  • присоединенный сокет UDP — результат вызова функции connect для сокета UDP; Соответственно, данная команда выводит все прослушиваемые UDP-сокеты. Так как соединения по 53 порту не установлено, сокет находится в состоянии UNCONN .

Флаг TIME-WAIT в данном случае присутствовать не может, так как речь идет о UDP-соединении. Данный флаг ( TIME-WAIT ) устанавливается при завершении TCP-соединения. А UDP — это протокол, который не требует обмена сообщениями и не требует предварительно установленной корреляции между двумя конечными точками.

  1. Может ли сложиться ситуация, при которой большое число соединений TCP на хосте находятся в состоянии TIME-WAIT ?
  2. Если да, то является ли она хорошей или плохой?

Подкрепите свой ответ пояснением той или иной оценки.

Приведите ответ в свободной форме.

  1. Теоретически, такой ситуации не должно сложиться. Так как хост, получивший флаги FIN и ACK , переходит в состояние TIME-WAIT . Это состояние характеризуется параметром MSL или Maximum Segment Lifetime. В RFC 793 timeout TIME-WAIT задан как 2MSL. В моей установленной ВМ по умолчанию параметр tcp_fin_timeout = 60 секундам. Соответственно, через 60 секунд соединение из TIME-WAIT должно перейти в состояние CLOSED . Возможно, такая ситуация будет иметь место на высоконагруженном сервере, к которому за единицу времени будет совершено большое количество обращений.

5-1

  1. Если данная ситуация возникнет на высоконагруженном сервере, предположу, что ничего хорошего она не принесет. По сути, сервер начнет подтормаживать.

Дополнительные задания (со звездочкой*)

Эти задания дополнительные (не обязательные к выполнению) и никак не повлияют на получение вами зачета по этому домашнему заданию. Вы можете их выполнить, если хотите глубже и/или шире разобраться в материале.

Если бы вы строили систему удаленного сбора логов, какой протокол транспортного уровня вы выбрали бы и почему?

  • Система удаленного сбора логов — система, в которой несколько хостов отправяют на центральный узел генерируемые приложениями логи. Предположим, что логи – текстовая информация.
  • Проверьте ваше предположение самостоятельно, узнав о стандартном протоколе syslog .

Приведите ответ в свободной форме.

Если бы я строили систему удаленного сбора логов, я бы использовал протокол TCP, так как он обеспечивает:

  • надежную доставку данных;
  • сборку сегментов на стороне получателя;
  • контроль сессии;
  • контроль скорости передачи данных. Данные параметры необходимы в системе логирования, так как сама система играет важную роль в обеспечении бесперебойной и безопасной работы всей IT-инфраструктуры.

Syslog — отличный способ объединить логи из нескольких источников в одном месте. Протокол syslog по умолчанию собирает данные по протоколу UDP на 514 порте. Однако, так как UDP-сообщения не подтверждаются и не гарантируются, некоторые сетевые устройства отправляют данные Syslog через 1468 TCP порт для обеспечения доставки сообщений.

why ss(8) understands listening UDP ports differently than netstat(8)?

If I execute ss -lu in order to view all the listening UDP sockets, then none of the sockets are displayed. If I execute ss -au , which lists all(both listening and non-listening) UDP sockets, then "listening" sockets are displayed as UNCONN (see below).

What is the logic behind this? For example running atftpd listening for connections, should have state LISTEN not UNCONN, shouldn’t it?

Почему в state присутствует только unconn

почему ss (8) понимает прослушивание портов UDP иначе, чем netstat (8)?

UDP-сокет в состоянии UNCONN при использовании iproute2’ss

Почему в state присутствует только unconn

1-1

  • Узел А инициировал соединение с узлом В .
  • Через некоторое время узел А получил SYN , ACK .
  1. Может ли во флагах TCP одновременно быть установлены флаги SYN и FIN при штатном режиме работы сети?
  2. Почему да или нет?
  1. При штатном режиме работы сети во флагах TCP флаги SYN и FIN не могут быть одноврененно установлены.
  2. Они не могут быть одноврененно установлены потому, что будет нарушен принцип трехстороннего рукопожатия (в три этапа). По этому принципу соединение сначала устанавливается с флагом SYN , а после передачи данных завершается с флагом FIN .
  1. Почему в State присутствует только UNCONN ?
  2. Может ли там присутствовать TIME-WAIT ?
  • неприсоединенный сокет UDP — это сокет UDP, создаваемый по умолчанию;
  • присоединенный сокет UDP — результат вызова функции connect для сокета UDP; Соответственно, данная команда выводит все прослушиваемые UDP-сокеты. Так как соединения по 53 порту не установлено, сокет находится в состоянии UNCONN .
  1. Может ли сложиться ситуация, при которой большое число соединений TCP на хосте находятся в состоянии TIME-WAIT ?
  2. Если да, то является ли она хорошей или плохой?
  1. Теоретически, такой ситуации не должно сложиться. Так как хост, получивший флаги FIN и ACK , переходит в состояние TIME-WAIT . Это состояние характеризуется параметром MSL или Maximum Segment Lifetime. В RFC 793 timeout TIME-WAIT задан как 2MSL. В моей установленной ВМ по умолчанию параметр tcp_fin_timeout = 60 секундам. Соответственно, через 60 секунд соединение из TIME-WAIT должно перейти в состояние CLOSED . Возможно, такая ситуация будет иметь место на высоконагруженном сервере, к которому за единицу времени будет совершено большое количество обращений.

5-1

  1. Если данная ситуация возникнет на высоконагруженном сервере, предположу, что ничего хорошего она не принесет. По сути, сервер начнет подтормаживать.
  • Система удаленного сбора логов — система, в которой несколько хостов отправяют на центральный узел генерируемые приложениями логи. Предположим, что логи – текстовая информация.
  • Проверьте ваше предположение самостоятельно, узнав о стандартном протоколе syslog .
  • надежную доставку данных;
  • сборку сегментов на стороне получателя;
  • контроль сессии;
  • контроль скорости передачи данных. Данные параметры необходимы в системе логирования, так как сама система играет важную роль в обеспечении бесперебойной и безопасной работы всей IT-инфраструктуры.

andrey-grozov / devops-netology Goto Github PK

devops-netology’s People

Contributors

Watchers

Recommend Projects

React

A declarative, efficient, and flexible JavaScript library for building user interfaces.

Vue.js

Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

Typescript

TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

TensorFlow

An Open Source Machine Learning Framework for Everyone

Django

The Web framework for perfectionists with deadlines.

Laravel

A PHP framework for web artisans

Bring data to life with SVG, Canvas and HTML.

Recommend Topics

javascript

JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

Some thing interesting about web. New door for the world.

server

A server is a program made to process requests and deliver data to clients.

Machine learning

Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

Visualization

Some thing interesting about visualization, use data art

Some thing interesting about game, make everyone happy.

Recommend Org

Facebook

We are working to build community through open source technology. NB: members must have two-factor auth.

andrey-grozov / devops-netology Goto Github PK

2.Мы устроились на работу в компанию, где раньше уже был DevOps Engineer. Он написал скрипт, позволяющий узнать, какие файлы модифицированы в репозитории, относительно локальных изменений. Этим скриптом недовольно начальство, потому что в его выводе есть не все изменённые файлы, а также непонятен полный путь к директории, где они находятся. Как можно доработать скрипт ниже, чтобы он исполнял требования вашего руководителя?

3.Доработать скрипт выше так, чтобы он мог проверять не только локальный репозиторий в текущей директории, а также умел воспринимать путь к репозиторию, который мы передаём как входной параметр. Мы точно знаем, что начальство коварное и будет проверять работу этого скрипта в директориях, которые не являются локальными репозиториями.

4.Наша команда разрабатывает несколько веб-сервисов, доступных по http. Мы точно знаем, что на их стенде нет никакой балансировки, кластеризации, за DNS прячется конкретный IP сервера, где установлен сервис. Проблема в том, что отдел, занимающийся нашей инфраструктурой очень часто меняет нам сервера, поэтому IP меняются примерно раз в неделю, при этом сервисы сохраняют за собой DNS имена. Это бы совсем никого не беспокоило, если бы несколько раз сервера не уезжали в такой сегмент сети нашей компании, который недоступен для разработчиков. Мы хотим написать скрипт, который опрашивает веб-сервисы, получает их IP, выводит информацию в стандартный вывод в виде: <URL сервиса> — <его IP>. Также, должна быть реализована возможность проверки текущего IP сервиса c его IP из предыдущей проверки. Если проверка будет провалена — оповестить об этом в стандартный вывод сообщением: [ERROR] <URL сервиса> IP mismatch: <старый IP> <Новый IP>. Будем считать, что наша разработка реализовала сервисы: drive.google.com, mail.google.com, google.com.

Домашнее задание к занятию «4.1. Командная оболочка Bash: Практические навыки»

2.На нашем локальном сервере упал сервис и мы написали скрипт, который постоянно проверяет его доступность, записывая дату проверок до тех пор, пока сервис не станет доступным. В скрипте допущена ошибка, из-за которой выполнение не может завершиться, при этом место на Жёстком Диске постоянно уменьшается. Что необходимо сделать, чтобы его исправить:

3.Необходимо написать скрипт, который проверяет доступность трёх IP: 192.168.0.1, 173.194.222.113, 87.250.250.242 по 80 порту и записывает результат в файл log. Проверять доступность необходимо пять раз для каждого узла.

4.Необходимо дописать скрипт из предыдущего задания так, чтобы он выполнялся до тех пор, пока один из узлов не окажется недоступным. Если любой из узлов недоступен — IP этого узла пишется в файл error, скрипт прерывается

Домашнее задание к занятию «3.9. Элементы безопасности информационных систем»

1.Запустить Vault-сервер в dev-режиме (дополнив ключ -dev упомянутым выше -dev-listen-address, если хотите увидеть UI).

3.Используя PKI Secrets Engine, создайте Root CA и Intermediate CA. Обратите внимание на дополнительные материалы по созданию CA в Vault, если с изначальной инструкцией возникнут сложности.

4.Согласно этой же инструкции, подпишите Intermediate CA csr на сертификат для тестового домена (например, netology.example.com если действовали согласно инструкции).

5.Поднимите на localhost nginx, сконфигурируйте default vhost для использования подписанного Vault Intermediate CA сертификата и выбранного вами домена. Сертификат из Vault подложить в nginx руками.

6.Модифицировав /etc/hosts и системный trust-store, добейтесь безошибочной с точки зрения HTTPS работы curl на ваш тестовый домен (отдающийся с localhost). Рекомендуется добавлять в доверенные сертификаты Intermediate CA. Root CA добавить было бы правильнее, но тогда при конфигурации nginx потребуется включить в цепочку Intermediate, что выходит за рамки лекции. Так же, пожалуйста, не добавляйте в доверенные сам сертификат хоста.

Домашнее задание к занятию «3.8. Компьютерные сети, лекция 3»

1.ipvs. Если при запросе на VIP сделать подряд несколько запросов (например, for i in <1..50>; do curl -I -s 172.28.128.200>/dev/null; done ), ответы будут получены почти мгновенно. Тем не менее, в выводе ipvsadm -Ln еще некоторое время будут висеть активные InActConn. Почему так происходит?

2.На лекции мы познакомились отдельно с ipvs и отдельно с keepalived. Воспользовавшись этими знаниями, совместите технологии вместе (VIP должен подниматься демоном keepalived). Приложите конфигурационные файлы, которые у вас получились, и продемонстрируйте работу получившейся конструкции. Используйте для директора отдельный хост, не совмещая его с риалом! Подобная схема возможна, но выходит за рамки рассмотренного на лекции.

3.В лекции мы использовали только 1 VIP адрес для балансировки. У такого подхода несколько отрицательных моментов, один из которых – невозможность активного использования нескольких хостов (1 адрес может только переехать с master на standby). Подумайте, сколько адресов оптимально использовать, если мы хотим без какой-либо деградации выдерживать потерю 1 из 3 хостов при входящем трафике 1.5 Гбит/с и физических линках хостов в 1 Гбит/с? Предполагается, что мы хотим задействовать 3 балансировщика в активном режиме (то есть не 2 адреса на 3 хоста, один из которых в обычное время простаивает).

Домашнее задание к занятию «3.7. Компьютерные сети, лекция 2»

1.На лекции мы обсудили, что манипулировать размером окна необходимо для эффективного наполнения приемного буфера участников TCP сессии (Flow Control). Подобная проблема в полной мере возникает в сетях с высоким RTT. Например, если вы захотите передать 500 Гб бэкап из региона Юга-Восточной Азии на Восточное побережье США. Здесь вы можете увидеть и 200 и 400 мс вполне реального RTT. Подсчитайте, какого размера нужно окно TCP чтобы наполнить 1 Гбит/с канал при 300 мс RTT (берем простую ситуацию без потери пакетов). Можно воспользоваться готовым калькулятором. Ознакомиться с формулами, по которым работает калькулятор можно, например, на Wiki.

2.Во сколько раз упадет пропускная способность канала, если будет 1% потерь пакетов при передаче?

3.Какая максимальная реальная скорость передачи данных достижима при линке 100 Мбит/с? Вопрос про TCP payload, то есть цифры, которые вы реально увидите в операционной системе в тестах или в браузере при скачивании файлов. Повлияет ли размер фрейма на это?

4.Что на самом деле происходит, когда вы открываете сайт? 🙂 На прошлой лекции был приведен сокращенный вариант ответа на этот вопрос. Теперь вы знаете намного больше, в частности про IP адресацию, DNS и т.д. Опишите максимально подробно насколько вы это можете сделать, что происходит, когда вы делаете запрос curl -I http://netology.ru с вашей рабочей станции. Предположим, что arp кеш очищен, в локальном DNS нет закешированных записей.

5.Сколько и каких итеративных запросов будет сделано при резолве домена www.google.co.uk?

6.Сколько доступно для назначения хостам адресов в подсети /25? А в подсети с маской 255.248.0.0. Постарайтесь потренироваться в ручных вычислениях чтобы немного набить руку, не пользоваться калькулятором сразу.

7.В какой подсети больше адресов, в /23 или /24?

8.Получится ли разделить диапазон 10.0.0.0/8 на 128 подсетей по 131070 адресов в каждой? Какая маска будет у таких подсетей?

Домашнее задание к занятию «3.6. Компьютерные сети, лекция 1»

2.Узнайте о том, сколько действительно независимых (не пересекающихся) каналов есть в разделяемой среде WiFi при работе на 2.4 ГГц. Стандарты с полосой 5 ГГц более актуальны, но регламенты на 5 ГГц существенно различаются в разных странах, а так же не раз обновлялись. В качестве дополнительного вопроса вне зачета, попробуйте найти актуальный ответ и на этот вопрос.

3.Адрес канального уровня – MAC адрес – это 6 байт, первые 3 из которых называются OUI – Organizationally Unique Identifier или уникальный идентификатор организации. Какому производителю принадлежит MAC 38:f9:d3:55:55:79?

4.Каким будет payload TCP сегмента, если Ethernet MTU задан в 9001 байт, размер заголовков IPv4 – 20 байт, а TCP – 32 байта?

5.Могут ли во флагах TCP одновременно быть установлены флаги SYN и FIN при штатном режиме работы сети? Почему да или нет?

6. ss -ula sport = :53 на хосте имеет следующий вывод:

7.Обладая знаниями о том, как штатным образом завершается соединение (FIN от инициатора, FIN-ACK от ответчика, ACK от инициатора), опишите в каких состояниях будет находиться TCP соединение в каждый момент времени на клиенте и на сервере при завершении. Схема переходов состояния соединения вам в этом поможет.

8.TCP порт – 16 битное число. Предположим, 2 находящихся в одной сети хоста устанавливают между собой соединения. Каким будет теоретическое максимальное число соединений, ограниченное только лишь параметрами L4, которое параллельно может установить клиент с одного IP адреса к серверу с одним IP адресом? Сколько соединений сможет обслужить сервер от одного клиента? А если клиентов больше одного?

9.Может ли сложиться ситуация, при которой большое число соединений TCP на хосте находятся в состоянии TIME-WAIT? Если да, то является ли она хорошей или плохой? Подкрепите свой ответ пояснением той или иной оценки.

10.Чем особенно плоха фрагментация UDP относительно фрагментации TCP?

11.Если бы вы строили систему удаленного сбора логов, то есть систему, в которой несколько хостов отправяют на центральный узел генерируемые приложениями логи (предположим, что логи – текстовая информация), какой протокол транспортного уровня вы выбрали бы и почему? Проверьте ваше предположение самостоятельно, узнав о стандартном протоколе syslog.

12.Сколько портов TCP находится в состоянии прослушивания на вашей виртуальной машине с Ubuntu, и каким процессам они принадлежат?

13.Какой ключ нужно добавить в tcpdump, чтобы он начал выводить не только заголовки, но и содержимое фреймов в текстовом виде? А в текстовом и шестнадцатиричном?

14.Попробуйте собрать дамп трафика с помощью tcpdump на основном интерфейсе вашей виртуальной машины и посмотреть его через tshark или Wireshark (можно ограничить число пакетов -c 100). Встретились ли вам какие-то установленные флаги Internet Protocol (не флаги TCP, а флаги IP)? Узнайте, какие флаги бывают. Как на самом деле называется стандарт Ethernet, фреймы которого попали в ваш дамп? Можно ли где-то в дампе увидеть OUI?

Домашнее задание к занятию «3.5. Файловые системы»

2.Могут ли файлы, являющиеся жесткой ссылкой на один объект, иметь разные права доступа и владельца? Почему?

5.Используя sfdisk, перенесите данную таблицу разделов на второй диск.

6.Соберите mdadm RAID1 на паре разделов 2 Гб.

7.Соберите mdadm RAID0 на второй паре маленьких разделов.

8.Создайте 2 независимых PV на получившихся md-устройствах.

9.Создайте общую volume-group на этих двух PV.

10.Создайте LV размером 100 Мб, указав его расположение на PV с RAID0.

11.Создайте mkfs.ext4 ФС на получившемся LV.

12.Смонтируйте этот раздел в любую директорию, например, /tmp/new.

13.Поместите туда тестовый файл, например wget https://mirror.yandex.ru/ubuntu/ls-lR.gz -O /tmp/new/test.gz.

14.Прикрепите вывод lsblk.

15.Протестируйте целостность файла:

16.Используя pvmove, переместите содержимое PV с RAID0 на RAID1.

17.Сделайте —fail на устройство в вашем RAID1 md.

18.Подтвердите выводом dmesg, что RAID1 работает в деградированном состоянии.

19.Протестируйте целостность файла, несмотря на «сбойный» диск он должен продолжать быть доступен:

Домашнее задание к занятию «3.4. Операционные системы, лекция 2»

2.Ознакомьтесь с опциями node_exporter и выводом /metrics по-умолчанию. Приведите несколько опций, которые вы бы выбрали для базового мониторинга хоста по CPU, памяти, диску и сети.

4.Можно ли по выводу dmesg понять, осознает ли ОС, что загружена не на настоящем оборудовании, а на системе виртуализации?

5.Как настроен sysctl fs.nr_open на системе по-умолчанию? Узнайте, что означает этот параметр. Какой другой существующий лимит не позволит достичь такого числа (ulimit —help)?

6.Запустите любой долгоживущий процесс (не ls, который отработает мгновенно, а, например, sleep 1h) в отдельном неймспейсе процессов; покажите, что ваш процесс работает под PID 1 через nsenter. Для простоты работайте в данном задании под root (sudo -i). Под обычным пользователем требуются дополнительные опции (—map-root-user) и т.д.

7. Найдите информацию о том, что такое :()< :|:& >;:. Запустите эту команду в своей виртуальной машине Vagrant с Ubuntu 20.04 (это важно, поведение в других ОС не проверялось). Некоторое время все будет «плохо», после чего (минуты) – ОС должна стабилизироваться. Вызов dmesg расскажет, какой механизм помог автоматической стабилизации. Как настроен этот механизм по-умолчанию, и как изменить число процессов, которое можно создать в сессии?

Домашнее задание к занятию «3.3. Операционные системы, лекция 1»

1.Какой системный вызов делает команда cd? В прошлом ДЗ мы выяснили, что cd не является самостоятельной программой, это shell builtin, поэтому запустить strace непосредственно на cd не получится. Тем не менее, вы можете запустить strace на /bin/bash -c ‘cd /tmp’. В этом случае вы увидите полный список системных вызовов, которые делает сам bash при старте. Вам нужно найти тот единственный, который относится именно к cd.

2.Попробуйте использовать команду file на объекты разных типов на файловой системе. Например:

3.Предположим, приложение пишет лог в текстовый файл. Этот файл оказался удален (deleted в lsof), однако возможности сигналом сказать приложению переоткрыть файлы или просто перезапустить приложение – нет. Так как приложение продолжает писать в удаленный файл, место на диске постепенно заканчивается. Основываясь на знаниях о перенаправлении потоков предложите способ обнуления открытого удаленного файла (чтобы освободить место на файловой системе).

4.Занимают ли зомби-процессы какие-то ресурсы в ОС (CPU, RAM, IO)?

5.В iovisor BCC есть утилита opensnoop:

6.Какой системный вызов использует uname -a? Приведите цитату из man по этому системному вызову, где описывается альтернативное местоположение в /proc, где можно узнать версию ядра и релиз ОС.

7.Чем отличается последовательность команд через ; и через && в bash? Например:

8.Из каких опций состоит режим bash set -euxo pipefail и почему его хорошо было бы использовать в сценариях?

9.Используя -o stat для ps, определите, какой наиболее часто встречающийся статус у процессов в системе. В man ps ознакомьтесь (/PROCESS STATE CODES) что значат дополнительные к основной заглавной буквы статуса процессов. Его можно не учитывать при расчете (считать S, Ss или Ssl равнозначными).

Домашнее задание к занятию «3.1. Работа в терминале, лекция 2»

1.Какого типа команда cd? Попробуйте объяснить, почему она именно такого типа; опишите ход своих мыслей, если считаете что она могла бы быть другого типа.

2.Какая альтернатива без pipe команде grep <some_string> <some_file> | wc -l? man grep поможет в ответе на этот вопрос. Ознакомьтесь с документом о других подобных некорректных вариантах использования pipe.

3.Какой процесс с PID 1 является родителем для всех процессов в вашей виртуальной машине Ubuntu 20.04?

4.Как будет выглядеть команда, которая перенаправит вывод stderr ls на другую сессию терминала?

5.Получится ли одновременно передать команде файл на stdin и вывести ее stdout в другой файл? Приведите работающий пример.

6.Получится ли вывести находясь в графическом режиме данные из PTY в какой-либо из эмуляторов TTY? Сможете ли вы наблюдать выводимые данные?

7.Выполните команду bash 5>&1. К чему она приведет? Что будет, если вы выполните echo netology > /proc/$$/fd/5? Почему так происходит?

8.Получится ли в качестве входного потока для pipe использовать только stderr команды, не потеряв при этом отображение stdout на pty? Напоминаем: по умолчанию через pipe передается только stdout команды слева от | на stdin команды справа. Это можно сделать, поменяв стандартные потоки местами через промежуточный новый дескриптор, который вы научились создавать в предыдущем вопросе.

9.Что выведет команда cat /proc/$$/environ? Как еще можно получить аналогичный по содержанию вывод?

10.Используя man, опишите что доступно по адресам /proc//cmdline, /proc//exe.

11.Узнайте, какую наиболее старшую версию набора инструкций SSE поддерживает ваш процессор с помощью /proc/cpuinfo.

12.При открытии нового окна терминала и vagrant ssh создается новая сессия и выделяется pty. Это можно подтвердить командой tty, которая упоминалась в лекции 3.2. Однако:

13.Бывает, что есть необходимость переместить запущенный процесс из одной сессии в другую. Попробуйте сделать это, воспользовавшись reptyr. Например, так можно перенести в screen процесс, который вы запустили по ошибке в обычной SSH-сессии.

14.sudo echo string > /root/new_file не даст выполнить перенаправление под обычным пользователем, так как перенаправлением занимается процесс shell’а, который запущен без sudo под вашим пользователем. Для решения данной проблемы можно использовать конструкцию echo string | sudo tee /root/new_file. Узнайте что делает команда tee и почему в отличие от sudo echo команда с sudo tee будет работать.

Домашнее задание к занятию «3.1. Работа в терминале, лекция 1»

8.Ознакомиться с разделами man bash, почитать о настройках самого bash:

9.В каких сценариях использования применимы скобки <> и на какой строчке man bash это описано?

10.Основываясь на предыдущем вопросе, как создать однократным вызовом touch 100000 файлов? А получилось ли создать 300000?

11.В man bash поищите по /[[. Что делает конструкция [[ -d /tmp ]]

12.Основываясь на знаниях о просмотре текущих (например, PATH) и установке новых переменных; командах, которые мы рассматривали, добейтесь в выводе type -a bash в виртуальной машине наличия первым пунктом в списке:

13.Чем отличается планирование команд с помощью batch и at?

Домашнее задание к занятию «2.4. Инструменты Git»

1. Найдите полный хеш и комментарий коммита, хеш которого начинается на aefea.

2. Какому тегу соответствует коммит 85024d3?

3. Сколько родителей у коммита b8d720? Напишите их хеши.

4. Перечислите хеши и комментарии всех коммитов которые были сделаны между тегами v0.12.23 и v0.12.24.

5.Найдите коммит в котором была создана функция func providerSource, ее определение в коде выглядит так func providerSource(. ) (вместо троеточего перечислены аргументы).

6.Найдите все коммиты в которых была изменена функция globalPluginDirs.

7.Кто автор функции synchronizedWriters?

Домашнее задание к занятию «2.1. Системы контроля версий.»

В файле README.md опишите своими словами какие файлы будут проигнорированы в будущем благодаря добавленному

devops-netology’s People

Contributors

Watchers

Recommend Projects

React

A declarative, efficient, and flexible JavaScript library for building user interfaces.

Vue.js

�� Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

Typescript

TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

TensorFlow

An Open Source Machine Learning Framework for Everyone

Django

The Web framework for perfectionists with deadlines.

Laravel

A PHP framework for web artisans

Bring data to life with SVG, Canvas and HTML. ������

Recommend Topics

javascript

JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

Some thing interesting about web. New door for the world.

server

A server is a program made to process requests and deliver data to clients.

Machine learning

Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

Visualization

Some thing interesting about visualization, use data art

Some thing interesting about game, make everyone happy.

Recommend Org

Facebook

We are working to build community through open source technology. NB: members must have two-factor auth.

Читать:
Куда скачиваются файлы с mega

Похожие статьи