historydev, протокол smtp очень простой. Делаем telnet адрес_сервера 25 и пишем команды протокола:
$ telnet *** 25
Trying ***...
Connected to ***.
Escape character is '^]'.
220 mx.***.ru ESMTP server HELO mx.***.ru
250 mx.***.ru MAIL From:<***@***.ru>
250 2.1.0 Ok RCPT To:<***@***.ru>
250 2.1.5 Ok
DATA
354 End data with . Subject: Hello
From: foo@bar.ru
To: lorem@ipsum.ru
Hello!
.
250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as C1C5A70B207
historydev, гипертекст (html), кстати, не часть протокола http. Он просто отдаёт некоторый контент в байтах. Какой - протоколу неважно. Это может быть html, xml, json, pbf, txt, jpg и вообще любой текстовый или бинарный файл. Отдельная фича - websocket поверх http-запроса.
http тоже интересно потыкаться в особенности, например, в chunked encoding.
historydev, ну если есть возможность, предлагаю попробовать также pop3 и imap, прочитать те самые отпрвленные по smtp письма :) Про ftp я уже говорил. Можно ещё irc, например.
... А лучше научиться сразу делать override'ы к сервисам systemd и не портить файлы, управляемые пакетным менеджером. В конце концов, их для этого и придумали.
По описанию - да, это L7. И да, это можно назвать протоколом.
В чём собственно вопрос? Если хочется понять живые протоколы, то рекомендую попробовать руками из telnet делать HTTP-запросы, поиграться с ftp-сервером или отправить письмо по SMTP.
Нужно в первую очередь искать не курсы, а определяться с темами, которыми придётся непосредственно заниматься.
Сисадмин - очень широкая и разнообразная сфера деятельности. Она включает как администрирование компьютеров обычных пользователей, так и управление сложными разпределёнными системами на тысячах серверов. И ещё много вариаций посередине. И всё это - очень много разных тем, технологий, навыков и компетенций.
В некоторых библиотеках с этим бывают проблемы. Например, в cx-Oracle BLOB и CLOB нужно как-то замысловато обрабатывать. Я в sqlite3 не пробовал с бинарными данными.
Хотя вру, один раз имел дело: https://github.com/shurshur/sastms - но это обёртка над имеющимися данными в SAS.Планете. И там тоже без лишних телодвижений всё работало как надо.
ghostiki, просто базы плохо предназнаены для хранения объёмных данных. В своё время в mysql, например, размер строки в таблице не мог превышать 1000 байт (на все поля).
Можно посмотреть устройство любого, например, форума. Или тот же Wordpress. Везде картинки хранятся отдельно, а в базе указывается только имя и разного рода метаданные (ну там размер, формат, подпись итд).
А почему не получится тестовую базу создать? Можно даже инициализировать её с помощью ORM, даже сделать из этого отдельные тесты, которые проверяют, что база создалась и в ней количество и состав данных соответствуют ожидаемому...
Даже в Windows это негарантированная операция, потому что если поверх что-то успелось записаться (а в системе постоянно что-то пишется на диск), то, увы, всё.
uwu79, ну скорее всего она примерно то же самое делает. Но иногда может потребоваться какие-то свои специфические задачи, и там может пригодиться знание того, как с помощью SNMP доставать соответствующие данные.