/ тренировки / изучение_английского / употребление_каких-нибудь_легальных_веществ / ожидание_приключений / и кончено же вайбкодинг на С и С++ /
Подтянулся 18 раз. Не курил сутки. Вмазал габапентина для собак 800 мг, заказанного на озоне. Альхамдулилля! Нет мухамеда кроме аллаха!
Добью до 25 подтягиваний. Тогда надо будет купить пояс для добавления веса. В день 2г белка на кг веса. Брикет творога, пару литров кефира, йогурт, чечевица, пару котлет. Нужны также каллории хз скока надо. Тренировки не пропускаю. Даже когда приболел что-то делаю. Может через 3 года стану 90 кг. И конечно же сон.
Сейчас уже есть чатгпт с которым можно как с преподом по английскому пиздеть. Самое неприятное что большинство курсов по английскому, принципиально ничем не отличаются от чатагпт. Преподы там сами нихуя не знают, и умеют только с индусами общаться. Кому такое общение нужно? Напомните плиз, когда вы в последний раз общались диалогами из учебника: хелоу май френд май нейм из эйван фаггот, айм фром рязань итс зе бьтифл сити ин раша. Передать что-то осмысленное намного сложнее чем грамматически корректный пердёж губами.
Прикиньте кароч какие-нить диалоги с реальными людьми выстаивать необычные. Чё все по шаблону говорят. Можно наверное чонить техничное придумать вдруг чо будиии.
Может когда-нибудь приключения какие-нибудь начнутся я хз, чёт ничо не происходит крутова такова надо подумать чо надо сделать. Надо перестать быть душным и тупым, тогда наверн приключения будут.
Клод ебошит. Профессии "программист" больше не существует, есть только профессия "промпт-инженер claude opus 5". Всего 20$ а радости скока! не могу не наиграться. Всякие интересные штуки выдаёт. Правда, я уже нагенерил столько что дальше тока читаю это говно. Получается пол-месяца клод просто так простаивает ничо не генерит. Можно ему всякие глупости тогда скормить, типо тест на гея, программа которая пишет хелов вород. Мммм.. сладкий нерослом, хлебоходы, собачки-вертушки, степашки и пирамидки. Тик-ток зондбе пекаль драбаш!! Обожаю.
1280x720, 0:58
Нагенерил слопа. Прочитал. А ведь это даже вполне себе неплохо. Надо отправить это в издательство - подумал я. Им понравилось. Отправили договор по которому можно получить какие-то копейки. Осталось лишь оформить по их требованиям. Прикольно. Вдруг из этого что-нибудь выйдет.
Танненбаум это кал. Это кака. Как распознать долбоеба который не читал танненбаума? Он посоветует ёбанного таннанбаума. Это не книга это набор какой-то абсолютно бессвязной хуйни чтобы выглядеть умнее. Научиться по ней или даже что-то понять невозможно вообще. Есть книга олифера вроде бы получше (не читал). Но она тоже не особо практичная. Болтать про всякие пакеты интересно. А как на счёт выявить и доказать связанность на L2 уровне, на практике. Прямо доказать что фреймы не принимаются. Что на счёт этого? В книгах по сетям явно не хватает практики.
Никто не хочет взять меня на работу крутым наносеком. Обнаружил что есть свободная вакансия. Написал начальнику другого отдела. Он сказал "молодой человек это не для вас написано". Ну.. ладно, чё я лезеть буду. Через месяц вакансия всё так и висит. Ну я подумал хули не берут, написал им ещё раз. Говорят - нахуй джуны не нужны, обучать их лень, и уйдут потом к другому рабовладельцу. Что за шиза? Наоборот по-моему. Какой мидл согласиться работать за 1200$?! Даж если согласиться, чё он может в любую секунду уйти, нахуй вы ему нужны. Ещё и непонятно что это за "мидл" - это к тому что много волков. Джун же будет работать без повышения зарплаты минимум года 3 чтобы стать мидлом и уже потом лутать наносеки. Реально обучить его можно за месяца 3 всему базовому - и пусть он дальше делает задачи. Ещё и сразу понятно что он не волк, можно посмотреть что он знает вообще, какой он человек. Возможно кстати в этом и заключается проблема. Они пиздят, что джуны не нужны. Они просто посчитали что я недостаточно умный. Надо больше учиться. Эх... Вот сейчас читаю книжку, так хотелось бы чашечку кофе и сигаретку. Ну да ладно, я уже настроился терпеть, буду ненавидеть себя если весь эксперимент сорву ради 15 минут удовольствия.
Танненбаум это кал. Это кака. Как распознать долбоеба который не читал танненбаума? Он посоветует ёбанного таннанбаума. Это не книга это набор какой-то абсолютно бессвязной хуйни чтобы выглядеть умнее. Научиться по ней или даже что-то понять невозможно вообще. Есть книга олифера вроде бы получше (не читал). Но она тоже не особо практичная. Болтать про всякие пакеты интересно. А как на счёт выявить и доказать связанность на L2 уровне, на практике. Прямо доказать что фреймы не принимаются. Что на счёт этого? В книгах по сетям явно не хватает практики.
Никто не хочет взять меня на работу крутым наносеком. Обнаружил что есть свободная вакансия. Написал начальнику другого отдела. Он сказал "молодой человек это не для вас написано". Ну.. ладно, чё я лезеть буду. Через месяц вакансия всё так и висит. Ну я подумал хули не берут, написал им ещё раз. Говорят - нахуй джуны не нужны, обучать их лень, и уйдут потом к другому рабовладельцу. Что за шиза? Наоборот по-моему. Какой мидл согласиться работать за 1200$?! Даж если согласиться, чё он может в любую секунду уйти, нахуй вы ему нужны. Ещё и непонятно что это за "мидл" - это к тому что много волков. Джун же будет работать без повышения зарплаты минимум года 3 чтобы стать мидлом и уже потом лутать наносеки. Реально обучить его можно за месяца 3 всему базовому - и пусть он дальше делает задачи. Ещё и сразу понятно что он не волк, можно посмотреть что он знает вообще, какой он человек. Возможно кстати в этом и заключается проблема. Они пиздят, что джуны не нужны. Они просто посчитали что я недостаточно умный. Надо больше учиться. Эх... Вот сейчас читаю книжку, так хотелось бы чашечку кофе и сигаретку. Ну да ладно, я уже настроился терпеть, буду ненавидеть себя если весь эксперимент сорву ради 15 минут удовольствия.
Там ещё и этот издатель написал требует какую-то хуйню в поприетарных древних форматах под виндой. Чем им попенсорс не нравиться. Сидят на каком-то древнем говне под виндой без нормального функционала, прост пиздец. Ну ладно, вечером под wine всю эту хуйню надо попробовать прогнать может получится.
Вперёд, задавим работохуету хард-скилами. Для начала, база всего - виртуализация. libvirt, qemu. Изучив досканально работу с виртуальными машинами можно будет проводить эксперементы!
База kvm. На линупсе есть значит qemu - эмулятор всего подряд. На нём можно поднять виртуалку как отдельный процесс. Он даст вывод как console RS-232 порт, так и в VNC умеет. Кроме того, он крутой он может в аппаратную виртуализацию. Аппаратная виртуализация - это у нас сам проц умеет разделять память и cpu чобы он обслуживался как отдельная ОС. Там посмотрите ваш проц умеет в intel VT-x например. Правда переферийное оборудование как правило он не умеет разделять, т.е. даже при аппаратной виртуализации - диск проходит через гостевую ОС либо через scsi драйвер. Для того чтобы работать с системой виртуализации нам ясен хуй нужен модуль ядра. Обычно такой модуль называют гипервизором. на линуксе это kvm. Подрубаем его через modprobe и можем теперь qemu запускать виртуалки.
```
qemu-system-x86_64 -enable-kvm -m 2G -smp 2 -drive file=disk.qcow2,format=qcow2
```
ну чё мы делаем `ps aux | grep qemu` и находим наш процесс.
На этом в общем-то в книге всё заканчивается. Плюс немного про nbd показывают приколюхи, и про распаковку debian bootrstap. Подробнее бы изучить что делает qemu, мне кажется это важнее для дальнейшего понимания. Но пока пох. Потом скормлю всё это клоду он мне выдаст базу какие-нибудь интересные детали на шисят страниц.
Далее нам сразу вешают libvirt. Это уже "прослойка" над qemu. На мой взгляд довольно нелепая. bhyve-vm в этом плане намного более минималистичен. Ну.. что есть то есть. Основная служба libvirtd.
```
systemctl status libvirtd
```
Клент для управления всем эти хозяйством - virsh. Он не просто назван sh это реально shell с командами чисто под виртуалки. По сути он заведует конфигурациями и автостартом виртуалок. Также там крутые вещи типо storage pool и c сеткой там бриджи делает, что сокращает время тыкания этого вручную. Домен - это файлик xml который описывает конфиг нашей ВМки - хранится вот тута /etc/libvirt/qemu
мы можем задефинить домен, уничтожить его. Мы може запустить виртуалку по этому домену
```
virsh list --all
virsh start kvm1
virsh shutdown kvm1
virsh destroy kvm1
virsh reboot kvm1
virsh console kvm1
virsh edit kvm1
virsh dumpxml kvm1
```
Всё что нужно знать по сути. Плюс можно посмотреть какой vCPU к какой виртуалке принадлежит. Настроить там выделенные ресурсы чтобы исключить throtlling.
Проброс каталогов 9P + virtio. Хз как это работает там подробно ничерта не обьяснено. Но тема интеренсая. Сам по себе протокол 9P интересная штука, можно было бы на виртуалке поднять plan9 покопаться в нём.
Сторож пул.
```
virsh pool-define pool.xml
virsh pool-start file_virtimages
virsh pool-autostart file_virtimages
virsh vol-create-as file_virtimages debian.qcow2 20G --format qcow2
virsh vol-list file_virtimages
```
Мде. Хуита. Это полезно для облака наверное, но облако надо покупать за даллары. В данном случае pool-start не делает буквально ничего, он просто проверят существует ли каталог. Хз вот это надо бы по-подробнее потом выкатить. Но будем отныне все образы определять в sotage pools, так всё равно удобнее.
Управление секретами. Либвирт предоставляет апи чтобы создавать хранить и использовать секреты. Какие нахуй секреты? Чё вы в них хранить собрались. Давно уже есть контейнеры, кубер, можно на bare-metal серваках кластер поднять, и секреты в кубере передавать. Зачем виртуалкам секреты? А вот - меняй мышление. Это другой слой инфраструктуры. Какому-нибудь распределённому хранилищу типо Ceph явно нужны credentials, чё он же не будет всем подряд выдавать стораж. Стало быть нужны секреты.
Ну чиво тут.
```
virsh secret-list
```
нививо нет :(
```
Create the following secrets definition:
```
<secret ephemeral='no'>
<description>Passphrase for the iSCSI target server</description>
<usage type='iscsi'>
<target>iscsi_secret</target>
</usage>
</secret>
```
во такое предлагают написать. Это просто пустышка для хранения секрета.
```
virsh secret-define secret-demo.xml
virsh secret-set-value 6526cae6-7e1e-4047-873d-6431fdeb33e9 $( echo "MyFatCock123" | base64 )
```
задефинили доабвили значение туда. хранится всё это в `/etc/libvirt/secrets/`
```
cat /etc/libvirt/secrets/6526cae6-7e1e-4047-873d-6431fdeb33e9.base64 | base64 -d
```
Иии... зачем мы всё это делали если он не зашифрован даже? А ни зачем, тут как в kubernetes, сам по себе секрет ничего не шифрует. Он просто удобен для хранения.
```
<pool type='iscsi'>
<name>iscsi_virtimages</name>
<source>
<host name='iscsi-target.linux-admins.net'/>
<device path='iqn.2004-04.ubuntu:ubuntu16:iscsi.libvirtkvm'/>
<auth type='chap' username='iscsi_user'>
<secret usage='iscsi_secret'/>
</auth>
</source>
<target>
<path>/dev/disk/by-path</path>
</target>
</pool>
```
Типо вот так его встроить можно. А потом заменить без изменения конфигурации. Ну норм. Я в этом не разбираюсь пока не нужно. Но потом пригодится сто проц, там к CKS подготовиться.
Сети. Наконец-то самый полезный раздел. Надо сказать, до этого, я как долбич поднимал отдельную VM с pfsence чтобы она была как маршрутизатор, и вручную соединял в бридж типо на L2 уровне. Слишком муторно. Сейчас нам покажут как сделать по красоте.
>To be able to connect the virtual machines to the host OS or to each other, we are going to use the Linux bridge and the Open vSwitch (OVS)
Облом. Да неужели? Походу для работы сетки будет использоваться сторонее ПО, а именно OVS. А я думал libvirt всё может.
Ну. Начнём с того что ваще может сделать libvirt. Он может создать tap интерфейс - виртуальная сетевуха. Вот эта штука меня манит. Как работает tap? Мы же можем наконец-то изучить получается L1 и L2 уровни. На реальной сетевухе мы это сделать не можем, там 802.2 вроде бы ваще поприетарный хз, там муть какая-то. А тут tap - иммитация. То есть это может быть в будущем хорошим решением для лабораторок как посмотреть иммитацию того что происходит на L2 уровне. Люблю смотреть на внутренности.
Короч, автор предлагает создавать бриджи через `brctl` . Звучит ес честно как плохая идея. У нас же netplan + ip link на современных бубунтах. Так что хз даже. Ну.. попробую пойти наперекор автору и делать как я хочу! тогда будет много ошибок может в результате открою для себя что-то интересное!
>Recent Linux kernel with enabled 802.1d Ethernet bridging optionsTo check whether your kernel is compiled with those features or exposed as kernel modules, run the following command
Пох. На современном linux всё уже есть. Мы чё в 2008 чтобы проверять ещё чё там в ядре встроено, для красноглазиков-гентушников.
Надо создать бридж по заданию. А я не помню ничо :P
```
Usage: ip link add [link DEV | parentdev NAME] [ name ] NAME
[ txqueuelen PACKETS ]
[ address LLADDR ]
[ broadcast LLADDR ]
[ mtu MTU ] [index IDX ]
[ numtxqueues QUEUE_COUNT ]
[ numrxqueues QUEUE_COUNT ]
[ netns { PID | NETNSNAME | NETNSFILE } ]
type TYPE [ ARGS ]
man ip-link
```
Вродь всё понятно. Делаем
```
ip link add br-demo type bridge
ip link
```
Круто! Создалось. ВОт так линух инженер ебошим. Чатгпт должен похвалить меня - снизил нагрузку на его серваки, не стал тревожить по тупым вопросам - "подскажи сколько будет 1+1". Идём дальше.
>ifconfig virbr0 up
сук.. пиздец какой ifconfig, это древнешее зло только на freebsd актуально. Книга 2016 года. Неужели так время быстро идёт.
```
ip link set up br-demo
ip link
```
Ну.. ничо не произошло. А чё ожидали то если он ни к чему не подключен то он и должен быть DOWN. Далее, просят повесить айпишник на бридж. Ану-давай
```
ip addr add 10.0.0.2/24 dev br-demo
ip a
```
>List the virtual interfaces on the host OS
Но у меня нет... а блин, я ж ничего и не запустил :P
```
virsh start kvm1
ip a
```
Соединим
```
ip link set vnet0 master br-demo
ip a
```
ну всё теперь он в UP. Далле требуют
>Enable the Spanning Tree Protocol (STP) on bridge and obtain more information
чё за хиня? Не понимаю! Блокирую!. Ну лан потом разберёмся, у нас долгий путь. Чатгпт говорит что это защита от петель. Можно включить
```
ip link set br-demo type bridge stp_state 1
```
ну пох включим пусть будет. Так подключились к нашему дебиану
```
virsh console kvm1
```
нифига не пингуется! Это virbr0 мешает. Удалим его
```
ip link del virbr0
```
всё заработало. Добавит можно ещё туда основной интерфейс так он будет в интырнет выходить. Ооо нет пиздос всё накрылось интернет на хосте пропал.
>A new Linux bridge was created with the name and IP address defined in the /etc/libvirt/qemu/networks/default.xml configuration file
Ну и нах мы вручную бриджи создавали?
ТАм дальше пишут про DHCP, типо libvirt пользуется dnsmasq может там автоматически адреса раздавать.
IP бриджа в VM это ip шлюза. сам vnet0 внутри ОС может занимать любые ip. Короч всё по стандарту. Хз чё тут интересного.
Там ещё и этот издатель написал требует какую-то хуйню в поприетарных древних форматах под виндой. Чем им попенсорс не нравиться. Сидят на каком-то древнем говне под виндой без нормального функционала, прост пиздец. Ну ладно, вечером под wine всю эту хуйню надо попробовать прогнать может получится.
Вперёд, задавим работохуету хард-скилами. Для начала, база всего - виртуализация. libvirt, qemu. Изучив досканально работу с виртуальными машинами можно будет проводить эксперементы!
База kvm. На линупсе есть значит qemu - эмулятор всего подряд. На нём можно поднять виртуалку как отдельный процесс. Он даст вывод как console RS-232 порт, так и в VNC умеет. Кроме того, он крутой он может в аппаратную виртуализацию. Аппаратная виртуализация - это у нас сам проц умеет разделять память и cpu чобы он обслуживался как отдельная ОС. Там посмотрите ваш проц умеет в intel VT-x например. Правда переферийное оборудование как правило он не умеет разделять, т.е. даже при аппаратной виртуализации - диск проходит через гостевую ОС либо через scsi драйвер. Для того чтобы работать с системой виртуализации нам ясен хуй нужен модуль ядра. Обычно такой модуль называют гипервизором. на линуксе это kvm. Подрубаем его через modprobe и можем теперь qemu запускать виртуалки.
```
qemu-system-x86_64 -enable-kvm -m 2G -smp 2 -drive file=disk.qcow2,format=qcow2
```
ну чё мы делаем `ps aux | grep qemu` и находим наш процесс.
На этом в общем-то в книге всё заканчивается. Плюс немного про nbd показывают приколюхи, и про распаковку debian bootrstap. Подробнее бы изучить что делает qemu, мне кажется это важнее для дальнейшего понимания. Но пока пох. Потом скормлю всё это клоду он мне выдаст базу какие-нибудь интересные детали на шисят страниц.
Далее нам сразу вешают libvirt. Это уже "прослойка" над qemu. На мой взгляд довольно нелепая. bhyve-vm в этом плане намного более минималистичен. Ну.. что есть то есть. Основная служба libvirtd.
```
systemctl status libvirtd
```
Клент для управления всем эти хозяйством - virsh. Он не просто назван sh это реально shell с командами чисто под виртуалки. По сути он заведует конфигурациями и автостартом виртуалок. Также там крутые вещи типо storage pool и c сеткой там бриджи делает, что сокращает время тыкания этого вручную. Домен - это файлик xml который описывает конфиг нашей ВМки - хранится вот тута /etc/libvirt/qemu
мы можем задефинить домен, уничтожить его. Мы може запустить виртуалку по этому домену
```
virsh list --all
virsh start kvm1
virsh shutdown kvm1
virsh destroy kvm1
virsh reboot kvm1
virsh console kvm1
virsh edit kvm1
virsh dumpxml kvm1
```
Всё что нужно знать по сути. Плюс можно посмотреть какой vCPU к какой виртуалке принадлежит. Настроить там выделенные ресурсы чтобы исключить throtlling.
Проброс каталогов 9P + virtio. Хз как это работает там подробно ничерта не обьяснено. Но тема интеренсая. Сам по себе протокол 9P интересная штука, можно было бы на виртуалке поднять plan9 покопаться в нём.
Сторож пул.
```
virsh pool-define pool.xml
virsh pool-start file_virtimages
virsh pool-autostart file_virtimages
virsh vol-create-as file_virtimages debian.qcow2 20G --format qcow2
virsh vol-list file_virtimages
```
Мде. Хуита. Это полезно для облака наверное, но облако надо покупать за даллары. В данном случае pool-start не делает буквально ничего, он просто проверят существует ли каталог. Хз вот это надо бы по-подробнее потом выкатить. Но будем отныне все образы определять в sotage pools, так всё равно удобнее.
Управление секретами. Либвирт предоставляет апи чтобы создавать хранить и использовать секреты. Какие нахуй секреты? Чё вы в них хранить собрались. Давно уже есть контейнеры, кубер, можно на bare-metal серваках кластер поднять, и секреты в кубере передавать. Зачем виртуалкам секреты? А вот - меняй мышление. Это другой слой инфраструктуры. Какому-нибудь распределённому хранилищу типо Ceph явно нужны credentials, чё он же не будет всем подряд выдавать стораж. Стало быть нужны секреты.
Ну чиво тут.
```
virsh secret-list
```
нививо нет :(
```
Create the following secrets definition:
```
<secret ephemeral='no'>
<description>Passphrase for the iSCSI target server</description>
<usage type='iscsi'>
<target>iscsi_secret</target>
</usage>
</secret>
```
во такое предлагают написать. Это просто пустышка для хранения секрета.
```
virsh secret-define secret-demo.xml
virsh secret-set-value 6526cae6-7e1e-4047-873d-6431fdeb33e9 $( echo "MyFatCock123" | base64 )
```
задефинили доабвили значение туда. хранится всё это в `/etc/libvirt/secrets/`
```
cat /etc/libvirt/secrets/6526cae6-7e1e-4047-873d-6431fdeb33e9.base64 | base64 -d
```
Иии... зачем мы всё это делали если он не зашифрован даже? А ни зачем, тут как в kubernetes, сам по себе секрет ничего не шифрует. Он просто удобен для хранения.
```
<pool type='iscsi'>
<name>iscsi_virtimages</name>
<source>
<host name='iscsi-target.linux-admins.net'/>
<device path='iqn.2004-04.ubuntu:ubuntu16:iscsi.libvirtkvm'/>
<auth type='chap' username='iscsi_user'>
<secret usage='iscsi_secret'/>
</auth>
</source>
<target>
<path>/dev/disk/by-path</path>
</target>
</pool>
```
Типо вот так его встроить можно. А потом заменить без изменения конфигурации. Ну норм. Я в этом не разбираюсь пока не нужно. Но потом пригодится сто проц, там к CKS подготовиться.
Сети. Наконец-то самый полезный раздел. Надо сказать, до этого, я как долбич поднимал отдельную VM с pfsence чтобы она была как маршрутизатор, и вручную соединял в бридж типо на L2 уровне. Слишком муторно. Сейчас нам покажут как сделать по красоте.
>To be able to connect the virtual machines to the host OS or to each other, we are going to use the Linux bridge and the Open vSwitch (OVS)
Облом. Да неужели? Походу для работы сетки будет использоваться сторонее ПО, а именно OVS. А я думал libvirt всё может.
Ну. Начнём с того что ваще может сделать libvirt. Он может создать tap интерфейс - виртуальная сетевуха. Вот эта штука меня манит. Как работает tap? Мы же можем наконец-то изучить получается L1 и L2 уровни. На реальной сетевухе мы это сделать не можем, там 802.2 вроде бы ваще поприетарный хз, там муть какая-то. А тут tap - иммитация. То есть это может быть в будущем хорошим решением для лабораторок как посмотреть иммитацию того что происходит на L2 уровне. Люблю смотреть на внутренности.
Короч, автор предлагает создавать бриджи через `brctl` . Звучит ес честно как плохая идея. У нас же netplan + ip link на современных бубунтах. Так что хз даже. Ну.. попробую пойти наперекор автору и делать как я хочу! тогда будет много ошибок может в результате открою для себя что-то интересное!
>Recent Linux kernel with enabled 802.1d Ethernet bridging optionsTo check whether your kernel is compiled with those features or exposed as kernel modules, run the following command
Пох. На современном linux всё уже есть. Мы чё в 2008 чтобы проверять ещё чё там в ядре встроено, для красноглазиков-гентушников.
Надо создать бридж по заданию. А я не помню ничо :P
```
Usage: ip link add [link DEV | parentdev NAME] [ name ] NAME
[ txqueuelen PACKETS ]
[ address LLADDR ]
[ broadcast LLADDR ]
[ mtu MTU ] [index IDX ]
[ numtxqueues QUEUE_COUNT ]
[ numrxqueues QUEUE_COUNT ]
[ netns { PID | NETNSNAME | NETNSFILE } ]
type TYPE [ ARGS ]
man ip-link
```
Вродь всё понятно. Делаем
```
ip link add br-demo type bridge
ip link
```
Круто! Создалось. ВОт так линух инженер ебошим. Чатгпт должен похвалить меня - снизил нагрузку на его серваки, не стал тревожить по тупым вопросам - "подскажи сколько будет 1+1". Идём дальше.
>ifconfig virbr0 up
сук.. пиздец какой ifconfig, это древнешее зло только на freebsd актуально. Книга 2016 года. Неужели так время быстро идёт.
```
ip link set up br-demo
ip link
```
Ну.. ничо не произошло. А чё ожидали то если он ни к чему не подключен то он и должен быть DOWN. Далее, просят повесить айпишник на бридж. Ану-давай
```
ip addr add 10.0.0.2/24 dev br-demo
ip a
```
>List the virtual interfaces on the host OS
Но у меня нет... а блин, я ж ничего и не запустил :P
```
virsh start kvm1
ip a
```
Соединим
```
ip link set vnet0 master br-demo
ip a
```
ну всё теперь он в UP. Далле требуют
>Enable the Spanning Tree Protocol (STP) on bridge and obtain more information
чё за хиня? Не понимаю! Блокирую!. Ну лан потом разберёмся, у нас долгий путь. Чатгпт говорит что это защита от петель. Можно включить
```
ip link set br-demo type bridge stp_state 1
```
ну пох включим пусть будет. Так подключились к нашему дебиану
```
virsh console kvm1
```
нифига не пингуется! Это virbr0 мешает. Удалим его
```
ip link del virbr0
```
всё заработало. Добавит можно ещё туда основной интерфейс так он будет в интырнет выходить. Ооо нет пиздос всё накрылось интернет на хосте пропал.
>A new Linux bridge was created with the name and IP address defined in the /etc/libvirt/qemu/networks/default.xml configuration file
Ну и нах мы вручную бриджи создавали?
ТАм дальше пишут про DHCP, типо libvirt пользуется dnsmasq может там автоматически адреса раздавать.
IP бриджа в VM это ip шлюза. сам vnet0 внутри ОС может занимать любые ip. Короч всё по стандарту. Хз чё тут интересного.
Со школниками повеселее. Они быстрые, вроде бы можно поучиться на них. Но всё равно они же маленькие, их удары ну... не больно. Даже синяков нет. Поэтому вайба бойцовского клуба нет. Не хватает безумия. Помню в моём пгт когда ходил на мма, там было строгое правило "пиздиться до смерти". И соперники абсолютно разные, кто-то сильнее, кто-то слабее, от кого-то вообще каждый удар как молотком по ебалу. Но в этом была своя какая-то игра - ты не мог просто пропустить удар, или запыхаться отойти - потому-что никто не щадил никого, и если ты устал - то всё терпи пока тебя на полу пиздят. Вот тебе мотиация не уставать.
А тут... Ну ударит тебя школьник и что? Да ничего, можно просто стоять на месте по ебалу получать ничо не будет ни царапины.
Хотя может быть для моего уровня это и норм. Да! Пожалуй для моего уровня это норм. Я бы мог натренироваться на школьниках и уже потом может в какую-то более жёсткую секцию пойти. Но проблема в том что спаррингов мало. Надо каждый день хотя бы по два по три раунда попиздиться. Нет. Только один раз в неделю. Остальное физуха и груша. Ну... что есть то есть. Зато рядом с домом. Другого ничего рядом нет.
Может сейчас к соревнованиям готовится будут будут почаще пиздица. Тогда мб ваще коллег позвать было бы весело мне кажется.
Прикол. В моей деревне такого нет
Бридж - это программный свитч внутри ядра. Собсна я чё-то читал про работу свитча. В отличии от концентратора, он работает только когда к нему приходят кадры. Он смотрит таблицу соответствия MAC->физический_порт, и если соответствия не находит - делает бродкаст всем. А если кто-то уже обращался к нему и оставил след своего MAC - то отправляет только ему. Помогает экономить пропускную способность! Чё у нас есть
```
bridge fdb show br br-demo
```
fdb - Forwarding Database entry. Вот эта таблица и есть то что у бриджа в памяти. Формат такой
<MAC> dev <КАКОЙ_ПОРТ> <self/master ЧЕЙ> ... флаги.
Но у нас тут не порты, а воткнутые в него интерфейсы.
нам как раз важно self и master - они говорят чья это таблица. Две совершенно разные сущности с похожим выводом.
self - запись в фильтре самой сетевухи. нам оно нафиг не нужно. Грепаем его с -v. У нас остаются три записи. Рассмотрим их.
52:54:00:cb:0e:fc dev vnet0 master br-demo
Флагов нет - значит выученная. Бридж не знал этот адрес, пока однажды из vnet0 не прилетел кадр с таким src MAC. Бридж записал: "раз оттуда пришло - значит туда и слать".
Читается: адрес 52:54:00:cb:0e:fc достижим через порт vnet0
fe:54:00:cb:0e:fc dev vnet0 master br-demo permanent
тот же порт, но принципиально другой смысл. permanent - не выучено, а прописано ядром при добавлении порта в бридж. Это MAC самого vnet0
b2:5d:7b:21:0a:3e dev br-demo master br-demo permanent
ломает шаблон. Палучаица к бриджу можно попасть через бридж. В железном мире этому соответствует внутренний порт к процессору свитча - тот, через который ходит управление. Его нет на морде, в него не воткнёшь кабель, но в таблице он есть. Читается: адрес b2:5d:7b:21:0a:3e - это сам хост. Кадр на него никуда не пересылается, а уходит вверх по стеку локальной машине.
Собсна при отладке смотрите всё что не permanent, всё что не self. Если не создаются записи - кадры походу теряються раньше или хз надо паниковать.
Кмк можно заметить тут два MAC образовалось - один ens3 другой vnet0. Суть в том что это два разных интерфейса, но между ними прослойка virtio. Кадры передаются в нём как есть. И собственно если наша виртуалка пингует шлюз - она оставляет след в виде своего MAC-адреса. А если мы с хоста пингуем виртуалку - то у нас в таблице получается он идёт на MAC ens3.
То есть пакетов с dest MAC vnet0 вообще нет. Пакеты нацелены на MAC ens3. А vnet0 работает просто как прослойка - к ней идёт по ehternet кадр, а дальше он при помощи магии virtio всё перекидывает на виртуалку.
И это всё?! В главе больше ничо полезного не пишут. Дальше идём к TheOpen vSwitch. Там же вначале говорилось мы что-то сделаем крутое. К тому же вон там что было
Networking (help keyword 'network'):
net-autostart autostart a network
net-create create a network from an XML file
net-define define an inactive persistent virtual network or modify an existing pers
Я думал это даёт что-то.
Так, ну дальше удаялем бридж. Нинужон. Будем OVS использовать
```
apt install openvswitch-switch
```
Просят убедиться что ovs работает ` ps aux | grep switch`,
```
systemctl status openvswitch-switch.service
```
Как нам этим теперь пользоваться. Чо это ваще. Щас посмотиим.
```
ovs-vsctl add-br br-demo
ovs-vsctl show
ovs-vsctl add-port br-demo vnet0
```
Трепещи перри утокнос! Мы создали... бридж!
Бридж - это программный свитч внутри ядра. Собсна я чё-то читал про работу свитча. В отличии от концентратора, он работает только когда к нему приходят кадры. Он смотрит таблицу соответствия MAC->физический_порт, и если соответствия не находит - делает бродкаст всем. А если кто-то уже обращался к нему и оставил след своего MAC - то отправляет только ему. Помогает экономить пропускную способность! Чё у нас есть
```
bridge fdb show br br-demo
```
fdb - Forwarding Database entry. Вот эта таблица и есть то что у бриджа в памяти. Формат такой
<MAC> dev <КАКОЙ_ПОРТ> <self/master ЧЕЙ> ... флаги.
Но у нас тут не порты, а воткнутые в него интерфейсы.
нам как раз важно self и master - они говорят чья это таблица. Две совершенно разные сущности с похожим выводом.
self - запись в фильтре самой сетевухи. нам оно нафиг не нужно. Грепаем его с -v. У нас остаются три записи. Рассмотрим их.
52:54:00:cb:0e:fc dev vnet0 master br-demo
Флагов нет - значит выученная. Бридж не знал этот адрес, пока однажды из vnet0 не прилетел кадр с таким src MAC. Бридж записал: "раз оттуда пришло - значит туда и слать".
Читается: адрес 52:54:00:cb:0e:fc достижим через порт vnet0
fe:54:00:cb:0e:fc dev vnet0 master br-demo permanent
тот же порт, но принципиально другой смысл. permanent - не выучено, а прописано ядром при добавлении порта в бридж. Это MAC самого vnet0
b2:5d:7b:21:0a:3e dev br-demo master br-demo permanent
ломает шаблон. Палучаица к бриджу можно попасть через бридж. В железном мире этому соответствует внутренний порт к процессору свитча - тот, через который ходит управление. Его нет на морде, в него не воткнёшь кабель, но в таблице он есть. Читается: адрес b2:5d:7b:21:0a:3e - это сам хост. Кадр на него никуда не пересылается, а уходит вверх по стеку локальной машине.
Собсна при отладке смотрите всё что не permanent, всё что не self. Если не создаются записи - кадры походу теряються раньше или хз надо паниковать.
Кмк можно заметить тут два MAC образовалось - один ens3 другой vnet0. Суть в том что это два разных интерфейса, но между ними прослойка virtio. Кадры передаются в нём как есть. И собственно если наша виртуалка пингует шлюз - она оставляет след в виде своего MAC-адреса. А если мы с хоста пингуем виртуалку - то у нас в таблице получается он идёт на MAC ens3.
То есть пакетов с dest MAC vnet0 вообще нет. Пакеты нацелены на MAC ens3. А vnet0 работает просто как прослойка - к ней идёт по ehternet кадр, а дальше он при помощи магии virtio всё перекидывает на виртуалку.
И это всё?! В главе больше ничо полезного не пишут. Дальше идём к TheOpen vSwitch. Там же вначале говорилось мы что-то сделаем крутое. К тому же вон там что было
Networking (help keyword 'network'):
net-autostart autostart a network
net-create create a network from an XML file
net-define define an inactive persistent virtual network or modify an existing pers
Я думал это даёт что-то.
Так, ну дальше удаялем бридж. Нинужон. Будем OVS использовать
```
apt install openvswitch-switch
```
Просят убедиться что ovs работает ` ps aux | grep switch`,
```
systemctl status openvswitch-switch.service
```
Как нам этим теперь пользоваться. Чо это ваще. Щас посмотиим.
```
ovs-vsctl add-br br-demo
ovs-vsctl show
ovs-vsctl add-port br-demo vnet0
```
Трепещи перри утокнос! Мы создали... бридж!
Даж до 20 пока не дотягиваю. Подтянлся 20 раз. Но последние два-три раза еле-еле до подбородка, не чистыми. Со стороны не защитали бы.
Пореджбайтимся немнога :D. Рукопашный бой против ножа! Что за далбаеба тупорылая. Начнём с комментаторов.
>ыыы развивайте бег, лучшая защита это бег
Когда твоей мамаше живот вспорят ты тоже просто убежишь? Потом будешь ныть в участке "ой ой какой-высиран ЧВО маю мамашку то того..". Ну.. ты ж народ-бурундук ёпта, зачем тебе мамка лоооол чел, отнесись с пониманием.. Кловн. Ваще почему ты решил что ты быстрее нападающего с ножом? Ну ходишь ты там с палочками своими бегаешь, бабушка-бегунок на дальшей дистанции. Нападающий чел два метра ростом, спринтер, догонит тебя и в спину тебе десяток ударов нанесёт, умник блядь. Как это в тупорылой бошке происходит что "боевые искусства - хуита не работает"... а беееег.. беег это другое.. он то коненчо же поможет.. занимаясь бегом ты любой автомобиль перегонишь. А занимаясь боксом конечно же ничо не сможешь. Бойцы шизофреники. Зачем они лезут кулаками в бой против ножа!? Это самоубийство. Нож нашинкует твой пресс как куринную грудку, ему насрать сколько ты там кокококчался. Очевидно нужно держать дистанцию, а не сокращать. Надо бить ногами. И у бойца Му-тай, который Натан - это прокнуло, что какбе подтверждает мой тезис на практике. В том раунде Натан тупо сложил напополам агрессора мощной уширой. Ноги длиннее, ноги мощнее. Первое что надо сделать - прописать фронт-кик или лоу-кик по коленям, чтобы замедлить агрессора. Достаточно мощный удар способен сломать коленные чашечки - и всё это вин. Лишённый способности передвигаться чел с ножом просто не сможет тебя атаковать, вот тут можно спокойно убежать - и никто тебя не догонит. Ну а если противник не стоит перед тобой как боевой соперник для спарринга, то тут вообще ничего не поможет - у тебя просто нет времени реагировать, ты не сможешь ни убежать, ни балончик достать, ни травмат, вообще ничего. Например если в метро какой-нибудь сумасшедший просто сзади тебя ножом пырнул. Даже пикнуть не успеешь. Каратист вообще шиз, придумал ручкой отбиваться. Ещё одно доказательство что "просто заниматься" - недостаточно. Набор психологических комплексов мешает развитию. Под ними формируется представление будто бы есть два исхода:
1. стараешься на максимум -> выгораешь через короткое время -> всё что ты сделал не возымело эффекта на длительной дистанции
2. делаешь немного каждый день -> постепенно накапливаешь какие-то результаты -> всё (якобы) хорошо.
Как бы ни так. Во втором случае результат будет таков что ты занимался всю жизнь полной хуйней и ничерта не развил. Стоит понимать, что бог не даёт испытаний которые мы не смогли бы преодолеть. Невозможно выйти из зоны комфорта. Невозможно "стараться на максимум" - организм такого просто не допустит. Не надо жалеть себя. То что тебе кажется "максимумом" - это далеко от максимума на процентов эдак шисят. Выгорание происходит только из-за ожиданий. Стоии принять за парадигму: стараться на "максимум" и делать это всегда. Только тогда возможна деятельность. Отчаяния, сомнения, страх и жалость не должны забирать контроль над этим механизмом - если покопать глубже, за ними ничего не стоит. Они как назгулы - вводят в оцепенение и парализуют слабых. Будь счастлив, друк!
Даж до 20 пока не дотягиваю. Подтянлся 20 раз. Но последние два-три раза еле-еле до подбородка, не чистыми. Со стороны не защитали бы.
Пореджбайтимся немнога :D. Рукопашный бой против ножа! Что за далбаеба тупорылая. Начнём с комментаторов.
>ыыы развивайте бег, лучшая защита это бег
Когда твоей мамаше живот вспорят ты тоже просто убежишь? Потом будешь ныть в участке "ой ой какой-высиран ЧВО маю мамашку то того..". Ну.. ты ж народ-бурундук ёпта, зачем тебе мамка лоооол чел, отнесись с пониманием.. Кловн. Ваще почему ты решил что ты быстрее нападающего с ножом? Ну ходишь ты там с палочками своими бегаешь, бабушка-бегунок на дальшей дистанции. Нападающий чел два метра ростом, спринтер, догонит тебя и в спину тебе десяток ударов нанесёт, умник блядь. Как это в тупорылой бошке происходит что "боевые искусства - хуита не работает"... а беееег.. беег это другое.. он то коненчо же поможет.. занимаясь бегом ты любой автомобиль перегонишь. А занимаясь боксом конечно же ничо не сможешь. Бойцы шизофреники. Зачем они лезут кулаками в бой против ножа!? Это самоубийство. Нож нашинкует твой пресс как куринную грудку, ему насрать сколько ты там кокококчался. Очевидно нужно держать дистанцию, а не сокращать. Надо бить ногами. И у бойца Му-тай, который Натан - это прокнуло, что какбе подтверждает мой тезис на практике. В том раунде Натан тупо сложил напополам агрессора мощной уширой. Ноги длиннее, ноги мощнее. Первое что надо сделать - прописать фронт-кик или лоу-кик по коленям, чтобы замедлить агрессора. Достаточно мощный удар способен сломать коленные чашечки - и всё это вин. Лишённый способности передвигаться чел с ножом просто не сможет тебя атаковать, вот тут можно спокойно убежать - и никто тебя не догонит. Ну а если противник не стоит перед тобой как боевой соперник для спарринга, то тут вообще ничего не поможет - у тебя просто нет времени реагировать, ты не сможешь ни убежать, ни балончик достать, ни травмат, вообще ничего. Например если в метро какой-нибудь сумасшедший просто сзади тебя ножом пырнул. Даже пикнуть не успеешь. Каратист вообще шиз, придумал ручкой отбиваться. Ещё одно доказательство что "просто заниматься" - недостаточно. Набор психологических комплексов мешает развитию. Под ними формируется представление будто бы есть два исхода:
1. стараешься на максимум -> выгораешь через короткое время -> всё что ты сделал не возымело эффекта на длительной дистанции
2. делаешь немного каждый день -> постепенно накапливаешь какие-то результаты -> всё (якобы) хорошо.
Как бы ни так. Во втором случае результат будет таков что ты занимался всю жизнь полной хуйней и ничерта не развил. Стоит понимать, что бог не даёт испытаний которые мы не смогли бы преодолеть. Невозможно выйти из зоны комфорта. Невозможно "стараться на максимум" - организм такого просто не допустит. Не надо жалеть себя. То что тебе кажется "максимумом" - это далеко от максимума на процентов эдак шисят. Выгорание происходит только из-за ожиданий. Стоии принять за парадигму: стараться на "максимум" и делать это всегда. Только тогда возможна деятельность. Отчаяния, сомнения, страх и жалость не должны забирать контроль над этим механизмом - если покопать глубже, за ними ничего не стоит. Они как назгулы - вводят в оцепенение и парализуют слабых. Будь счастлив, друк!
Для форматирования книги требуется поприетарный софт 2003 года... его найти то в интернете не так прсто, а уж запустить под wine та ещё беда. Скачал, запускаю - запускается но вылетает. Ну... не беда! Клод поможет. Скормил ему все логи, скриншоты ошибок, статьи на wine где написано что он запускается. Он проанализировал, сказал какие dll-ки скачать как их заменить, чё в реестр добавить, какие либки докачать. За 6 промптов сделали! В такие моменты понимаешь что он хоть и искуственный, но в отличии от меня - интеллект. Я бы, мягко говоря, копаться в этом не стал.
Та самая почта с названием testuser где в первые же полчаса будут абсолютно честные 20 тысяч писем
Рахмет брат, связь
Не меняй тг заебал, я тебя потом где искать буду? В степях казахстана, в юрте adidas наверное только да
Пока ещё не вырубает можно поковырять kvm-ки. Там самое интересное началось.
Когда libvritd стартует он сразу же поднимает "сетку" из `/etc/libvirt/qemu/networks/`. В частности там лежит default.xml.
```
cat /etc/libvirt/qemu/networks/default.xml
<network>
<name>default</name>
<uuid>01d27d80-d66c-4a00-b532-8cbec1f52402</uuid>
<forward mode='nat'/>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='52:54:00:27:81:83'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
</dhcp>
</ip>
</network>
```
Уже по названию видно что вот из-за этой срани у меня и появляется virbr0 постоянно. Хотя я его удалял. И даже делал `virsh net-undefine`. Через какой-то момент возвращалось. Виной всему `libvirt-daemon-config-network` - он видит что у меня нет дефолтной сетки и добавляет. Если у инстанса сеть не задана - он подключается к дефолт-сети автоматом.
Далее, мы видим в xml-ке forwarding mode - NAT. Но бридж у нас не трогает NAT как мы в предыдущий раз проверили - в fdb MAC адрес фиксируется устройства внутри вм именно - ens3. NAT происходит уже после IP уровня при помощи netfilter - так что это вообще не про L2. NAT нам нужен чтобы подменить IP VM-ок. Например:
сеть vm'ок: 10.0.0.0/24
сеть хоста: 192.168.0.0/24
ну собственно с vm1 отправляется пакет с src 10.0.0.3 без NAT получается google бы принял пакет от 10.0.0.3. Принял - хорошо. А кому обратно отправить? 10.0.0.3 хз где его тут нигде нет. Обратный маршрут сломан. А вот если мы добавляем nat, у нас src 10.0.0.3 на хосте подменяется на 192.168.0.14 и гугл приняв пакет уже знает, так это ответить вот тому хосту ubuntu5. Пример немного нелепый конечно. Потому что тут можно доебаться, сказать а чё схуя ли гугл знает наш приватный ip хоста. Но там по сути просто поставить ещё одно звено - маршрутизатор с белым ip на wan. И тогда обратный маршрут ломается не на стороне гугл а как раз на стороне этого ролтона с белым ip - он не знает куда отправить 10.0.0.3. Если так подумать.. проблема решаема! мы же можем настроить маршрут на роутере - и тогда он будет знать на какой хост слать пакет если адресат 10.0.0.3. Но это звучит как что-то очень муторное и тупое. Зачем? NAT - идеально. С другой стороны у роутинга есть плюс - мы можем достучаться с любой другой сети к 10.0.0.3 по этому правилу. А вон NAT он работает только изнутри наружу. Вмка может открывать tcp кому угодно, а снаружи без whole punching не достучишься.
Итак, чё это ваще за "сеть"? Её также можем задефинить, убрать, хмлдамп и другие операции:
```
virsh net-define nat_net.xml
virsh net-start nat_net
virsh net-autostart nat_net
virsh net-list
```
Чё он делает? Он просто автоматом делать всё то же что и мы в предыдущем посте. Создаёт бридж, накладывает на него ip, при необходимости, если задано настраивает всякие правила netfiler там nat, форвардинг, соль, перец итд ещё чиво. Есть три режима
```
<forward mode='nat'/> #1.стандарт. можно выходить в сеть и пинговаться с хоста. Но с дальейших узлов никак не определишь
<forward mode='route'/> #2. без nat чисто бридж и ip, с обратным маршрутом сам занимайся
<forward mode='bridge'/> #3. ваще без всего. Только L2 бридж без ip даже.
Ща бы хорошо разобрать dnsmasq и iptables правила чё там происходит. Но уже вырубает. Послезавтра тогда тока.
Пока ещё не вырубает можно поковырять kvm-ки. Там самое интересное началось.
Когда libvritd стартует он сразу же поднимает "сетку" из `/etc/libvirt/qemu/networks/`. В частности там лежит default.xml.
```
cat /etc/libvirt/qemu/networks/default.xml
<network>
<name>default</name>
<uuid>01d27d80-d66c-4a00-b532-8cbec1f52402</uuid>
<forward mode='nat'/>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='52:54:00:27:81:83'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
</dhcp>
</ip>
</network>
```
Уже по названию видно что вот из-за этой срани у меня и появляется virbr0 постоянно. Хотя я его удалял. И даже делал `virsh net-undefine`. Через какой-то момент возвращалось. Виной всему `libvirt-daemon-config-network` - он видит что у меня нет дефолтной сетки и добавляет. Если у инстанса сеть не задана - он подключается к дефолт-сети автоматом.
Далее, мы видим в xml-ке forwarding mode - NAT. Но бридж у нас не трогает NAT как мы в предыдущий раз проверили - в fdb MAC адрес фиксируется устройства внутри вм именно - ens3. NAT происходит уже после IP уровня при помощи netfilter - так что это вообще не про L2. NAT нам нужен чтобы подменить IP VM-ок. Например:
сеть vm'ок: 10.0.0.0/24
сеть хоста: 192.168.0.0/24
ну собственно с vm1 отправляется пакет с src 10.0.0.3 без NAT получается google бы принял пакет от 10.0.0.3. Принял - хорошо. А кому обратно отправить? 10.0.0.3 хз где его тут нигде нет. Обратный маршрут сломан. А вот если мы добавляем nat, у нас src 10.0.0.3 на хосте подменяется на 192.168.0.14 и гугл приняв пакет уже знает, так это ответить вот тому хосту ubuntu5. Пример немного нелепый конечно. Потому что тут можно доебаться, сказать а чё схуя ли гугл знает наш приватный ip хоста. Но там по сути просто поставить ещё одно звено - маршрутизатор с белым ip на wan. И тогда обратный маршрут ломается не на стороне гугл а как раз на стороне этого ролтона с белым ip - он не знает куда отправить 10.0.0.3. Если так подумать.. проблема решаема! мы же можем настроить маршрут на роутере - и тогда он будет знать на какой хост слать пакет если адресат 10.0.0.3. Но это звучит как что-то очень муторное и тупое. Зачем? NAT - идеально. С другой стороны у роутинга есть плюс - мы можем достучаться с любой другой сети к 10.0.0.3 по этому правилу. А вон NAT он работает только изнутри наружу. Вмка может открывать tcp кому угодно, а снаружи без whole punching не достучишься.
Итак, чё это ваще за "сеть"? Её также можем задефинить, убрать, хмлдамп и другие операции:
```
virsh net-define nat_net.xml
virsh net-start nat_net
virsh net-autostart nat_net
virsh net-list
```
Чё он делает? Он просто автоматом делать всё то же что и мы в предыдущем посте. Создаёт бридж, накладывает на него ip, при необходимости, если задано настраивает всякие правила netfiler там nat, форвардинг, соль, перец итд ещё чиво. Есть три режима
```
<forward mode='nat'/> #1.стандарт. можно выходить в сеть и пинговаться с хоста. Но с дальейших узлов никак не определишь
<forward mode='route'/> #2. без nat чисто бридж и ip, с обратным маршрутом сам занимайся
<forward mode='bridge'/> #3. ваще без всего. Только L2 бридж без ip даже.
Ща бы хорошо разобрать dnsmasq и iptables правила чё там происходит. Но уже вырубает. Послезавтра тогда тока.
Купил новые перчатки. Ну и кал. Не нравятся вообще. На фотках другие были. Мне больше перчатки для рукопашного боя нравятся, там можно найти довольно годные варианты из ткани, отечественного производства. Дешёвые, качественные. А посмотришь боксёрские перчатки - там одна китайская паль. Бюджетных нет. Никаких нет. Либо плати 500$ за оригинал, либо бери паль.
Кажется научился правильно передвигаться и наносить удары совсем недавно. Хотя тренируюсь суммарно где-то год. Поэтому кстати походу лучше новичкам начинать с бокса. Не с ММА. В ММА много всего, и борьба и пинки ногами и удары локтями. Кусаться за уши разве что нельзя (и то не факт). Из-за объема возможных действий обучение происходит медленнее. На той секции где мы чисто пиздились техники никакой не научился. В чистом боксе есть время отдельно потренировать удары кулаками и движения на ногах. Это фундамент. А дальше уже можно добавлять кикбоксинг, борьбу и прочее.
Итак, стойка. Мысленно прочертите на полу квадрат. Ваши ноги всегда должны находиться в противоположных углах этого квадрата. Перемещением ног вы можете расширять квадрат или сужать. Главное, ни в коем случае не ставить ноги на одну ось или перекрещивать их. Причина проста - теряется равновесие по одной из осей. Если ноги стоят фронально, то достаточно встречного кика чтобы тебя опрокинуть. Передняя стопа смотрит прямо, задняя стора может быть развёрнута за 30-45° при желании. Передвигаемся на подушечках стоп, практически на носках. Точнее, всегда передвигаемся на носках! Не надо шагать с пятки на носок - это частая ошибка. Привыкните передвигаться на подушечках, так быстрее. Правило движения простые - первой шагает та нога, в чью сторону движемся. Если наступаем вперёд - первой от пола отрывается передняя нога. Если отступаем - задняя. После шага первой ногой, вторая нога подступает на то же расстояние. Ошибка которую часто делают - задняя нога волочиться по полу. Старайтесь отрывать ноги от земли, так развивается скорость. Ноги немного согнуты в коленях, как в мортал комбат. Единственное исключение когда можно коснуться пяткой до пола - это джеб. Одновременно со взмахом руки, необходимо произвести подшаг, с разворотом передней стопы на 90 градусов, после чего упереться пяткой в пол на секунду снова поднять ногу на носок и вернуть назад. Упор в пятку позволяет сохранить равновесие. Без него удар будет слабее, и что хуже - потеряется равновесие прт развороте плеч. Кажется удар производства не рукой, а всеми мышцами корпуса. Корпус необходимо разворачивать строго в горизонтальной плоскости. Частая ошибка что корпус разаорачивают с наклоном. Корпус должен быть развёрнут примерно на 45° - не больше. При слишком сильном развороте также теряется устойчивость, скорость, и вдобавок сложно смотреть на соперника развернувшись на 90°. Про зрение стоит поговорить отдельно. Вы всегда должны смотреть на соперника. Не в глаза и не в корпус, а в целом видеть целиком все части тела и все его движения. Для эффективной атаки довольно полезно сломать ритм по которому живёт противник. Новички часто делают типовые удары в такт, джеб-крос-джеб-крос, после чего отходят ожидая атаки. Так вот, если сделать вид что ты уходишь в защиту - неопытный соперник сразу может пойти в атаку, и в этот момент когда он только собрался атаковать, можно прописать двойку - это собьёт его планы. Он уйдет в защиту. Но не стоит стоит соответствовать его ожиданиям. Вместо дальнейшего давления можно тоже уйти в защиту. Соперник подумает что атака завершена и попробует снова нанести удар - в этот момент надо снова идти в атаку. Бокс это вам не шахматы, тут думать надо. Основной лёгкий удар - это джеб. Делаем подшаг передней ногой, вместе с ней кидаем руку, развооачивая корпус. Но что делать дальше зависит уже от вашей фантазии. Вы можете вернуть переднюю ногу назад - тем самым вы произвели удар и остались на том же месте. Вы можете оставить переднюю ногу как есть, и подшагнуть задней ногой вперёд - тогда вы переместитесь немного вперёд. Наиболее естественно вместо простого перемещения вперёд, сразу бить кросс правой рукой. Для этого полагаете правой ногой сразу же вкручивая её на носок, и выкидываете правую руку, разворачивая корпус. Удары правой считаются наиболее мощными так как угол поворота корпуса намного больше. Боковые удары - хуки, делаются аналогичным образом. Для них механника ног остаётся абсолютно той же. Изменяется только движение рук. Важно научиться наносить много ударов. Забудьте про контрпанч. Контрпанчеры - ничего не смогут сделать если их пушить волной атак. Давить количеством ударов намного сложнее чем отходить и выжидать момента - для атаки нужно потратить много сил. Поэтому не ленитесь и в первую очередь учитесь атаковать. Защита тоже важна. Точнее гораздо важнее выполнять её правильно. Начнём с простого движения, именуемого "оттяжкой". Часто новички выполняют её как сгибание спины назад. Это ошибка. Так вы теряете равновесие. Оттяжка представляет собой просто перемещение корпуса к задней ноге. Рассчитана она не на то чтобы отходить назад, а наоборот, чтобы после неё кинуть крос правой. Аналогичная ошибка возникает при уклонах. Важно понимать что уклоны не подразумевают изгиба корпуса вбок. Вообще ни в каком виде. Если вы сгибаетесь вбок - это ошибка. Звучит парадоксально, но единственное куда мы можем согнуться при уклонах - это прямо. Уклон на самом деле вообще состоит из присяда. Мы приседаем и немного сгибаем корпус вперёд, целиком разворачиваясь в в нужную для нас сторону. Вот так работает уклон. Возвращась из состояния полуприсяда, не забудь выкинуть удар в печень. Возьмите себе за хорошую манеру - из каждого защитного движения наносить удар - это может быть неожиданно для соперника. Кроме того, есть движение, о котором часто забывают - циркульные перемещения. Отшагивая каждый раз назад, рано или поздно вы упрётесь в угол и в нем пожалуй вас и побьют. Отличная альтернатива, шагать не назад, а разворачиваться на 90°. Во-первых вы уходите от удара, во вторых оказываетесь в довольно невыгодном для соперника положении - ваш хук слева уже готов влепить в лоб противнику. Да, именно в лоб, потому что противник оказывается боком от вас.
Вот такой вот балет. Когда он начнёт казаться слишком скучным - можно переходить на ММА. Стоит боксёр, ожидает удара, а ему по ногам лоу-кик прилетает. Он смотрит на ноги, думает "что это вообще" и тут ему двоечка в голову и бросок через бедро. Ничего не понятно. Решил боксёр атаковать - но не тут то было, его встречает фронт-кик. Вот так примерно. ММА это как расширенная версия бокса с модами. Но тот кто не играл на ванилле, может запутаться в модах и ничего не понять.
Купил новые перчатки. Ну и кал. Не нравятся вообще. На фотках другие были. Мне больше перчатки для рукопашного боя нравятся, там можно найти довольно годные варианты из ткани, отечественного производства. Дешёвые, качественные. А посмотришь боксёрские перчатки - там одна китайская паль. Бюджетных нет. Никаких нет. Либо плати 500$ за оригинал, либо бери паль.
Кажется научился правильно передвигаться и наносить удары совсем недавно. Хотя тренируюсь суммарно где-то год. Поэтому кстати походу лучше новичкам начинать с бокса. Не с ММА. В ММА много всего, и борьба и пинки ногами и удары локтями. Кусаться за уши разве что нельзя (и то не факт). Из-за объема возможных действий обучение происходит медленнее. На той секции где мы чисто пиздились техники никакой не научился. В чистом боксе есть время отдельно потренировать удары кулаками и движения на ногах. Это фундамент. А дальше уже можно добавлять кикбоксинг, борьбу и прочее.
Итак, стойка. Мысленно прочертите на полу квадрат. Ваши ноги всегда должны находиться в противоположных углах этого квадрата. Перемещением ног вы можете расширять квадрат или сужать. Главное, ни в коем случае не ставить ноги на одну ось или перекрещивать их. Причина проста - теряется равновесие по одной из осей. Если ноги стоят фронально, то достаточно встречного кика чтобы тебя опрокинуть. Передняя стопа смотрит прямо, задняя стора может быть развёрнута за 30-45° при желании. Передвигаемся на подушечках стоп, практически на носках. Точнее, всегда передвигаемся на носках! Не надо шагать с пятки на носок - это частая ошибка. Привыкните передвигаться на подушечках, так быстрее. Правило движения простые - первой шагает та нога, в чью сторону движемся. Если наступаем вперёд - первой от пола отрывается передняя нога. Если отступаем - задняя. После шага первой ногой, вторая нога подступает на то же расстояние. Ошибка которую часто делают - задняя нога волочиться по полу. Старайтесь отрывать ноги от земли, так развивается скорость. Ноги немного согнуты в коленях, как в мортал комбат. Единственное исключение когда можно коснуться пяткой до пола - это джеб. Одновременно со взмахом руки, необходимо произвести подшаг, с разворотом передней стопы на 90 градусов, после чего упереться пяткой в пол на секунду снова поднять ногу на носок и вернуть назад. Упор в пятку позволяет сохранить равновесие. Без него удар будет слабее, и что хуже - потеряется равновесие прт развороте плеч. Кажется удар производства не рукой, а всеми мышцами корпуса. Корпус необходимо разворачивать строго в горизонтальной плоскости. Частая ошибка что корпус разаорачивают с наклоном. Корпус должен быть развёрнут примерно на 45° - не больше. При слишком сильном развороте также теряется устойчивость, скорость, и вдобавок сложно смотреть на соперника развернувшись на 90°. Про зрение стоит поговорить отдельно. Вы всегда должны смотреть на соперника. Не в глаза и не в корпус, а в целом видеть целиком все части тела и все его движения. Для эффективной атаки довольно полезно сломать ритм по которому живёт противник. Новички часто делают типовые удары в такт, джеб-крос-джеб-крос, после чего отходят ожидая атаки. Так вот, если сделать вид что ты уходишь в защиту - неопытный соперник сразу может пойти в атаку, и в этот момент когда он только собрался атаковать, можно прописать двойку - это собьёт его планы. Он уйдет в защиту. Но не стоит стоит соответствовать его ожиданиям. Вместо дальнейшего давления можно тоже уйти в защиту. Соперник подумает что атака завершена и попробует снова нанести удар - в этот момент надо снова идти в атаку. Бокс это вам не шахматы, тут думать надо. Основной лёгкий удар - это джеб. Делаем подшаг передней ногой, вместе с ней кидаем руку, развооачивая корпус. Но что делать дальше зависит уже от вашей фантазии. Вы можете вернуть переднюю ногу назад - тем самым вы произвели удар и остались на том же месте. Вы можете оставить переднюю ногу как есть, и подшагнуть задней ногой вперёд - тогда вы переместитесь немного вперёд. Наиболее естественно вместо простого перемещения вперёд, сразу бить кросс правой рукой. Для этого полагаете правой ногой сразу же вкручивая её на носок, и выкидываете правую руку, разворачивая корпус. Удары правой считаются наиболее мощными так как угол поворота корпуса намного больше. Боковые удары - хуки, делаются аналогичным образом. Для них механника ног остаётся абсолютно той же. Изменяется только движение рук. Важно научиться наносить много ударов. Забудьте про контрпанч. Контрпанчеры - ничего не смогут сделать если их пушить волной атак. Давить количеством ударов намного сложнее чем отходить и выжидать момента - для атаки нужно потратить много сил. Поэтому не ленитесь и в первую очередь учитесь атаковать. Защита тоже важна. Точнее гораздо важнее выполнять её правильно. Начнём с простого движения, именуемого "оттяжкой". Часто новички выполняют её как сгибание спины назад. Это ошибка. Так вы теряете равновесие. Оттяжка представляет собой просто перемещение корпуса к задней ноге. Рассчитана она не на то чтобы отходить назад, а наоборот, чтобы после неё кинуть крос правой. Аналогичная ошибка возникает при уклонах. Важно понимать что уклоны не подразумевают изгиба корпуса вбок. Вообще ни в каком виде. Если вы сгибаетесь вбок - это ошибка. Звучит парадоксально, но единственное куда мы можем согнуться при уклонах - это прямо. Уклон на самом деле вообще состоит из присяда. Мы приседаем и немного сгибаем корпус вперёд, целиком разворачиваясь в в нужную для нас сторону. Вот так работает уклон. Возвращась из состояния полуприсяда, не забудь выкинуть удар в печень. Возьмите себе за хорошую манеру - из каждого защитного движения наносить удар - это может быть неожиданно для соперника. Кроме того, есть движение, о котором часто забывают - циркульные перемещения. Отшагивая каждый раз назад, рано или поздно вы упрётесь в угол и в нем пожалуй вас и побьют. Отличная альтернатива, шагать не назад, а разворачиваться на 90°. Во-первых вы уходите от удара, во вторых оказываетесь в довольно невыгодном для соперника положении - ваш хук слева уже готов влепить в лоб противнику. Да, именно в лоб, потому что противник оказывается боком от вас.
Вот такой вот балет. Когда он начнёт казаться слишком скучным - можно переходить на ММА. Стоит боксёр, ожидает удара, а ему по ногам лоу-кик прилетает. Он смотрит на ноги, думает "что это вообще" и тут ему двоечка в голову и бросок через бедро. Ничего не понятно. Решил боксёр атаковать - но не тут то было, его встречает фронт-кик. Вот так примерно. ММА это как расширенная версия бокса с модами. Но тот кто не играл на ванилле, может запутаться в модах и ничего не понять.
Рассмотрим поверхностно работу netfilter. Для начала что это вообще. netfiler - это модуль ядра который обрабатывает сетевой трафик. Грубо говоря фаервол. netfiler устроен как набор хуков, каждый из которых обрабатывает по своему пакет. Вот такие хуки:
PREROUTING - как очевидно из названия, переопределяет маршрут, т.е. перед тем как роутить можно что-то изменить.
INPUT - обработка тех пакетов которые идут на наш хост (dest наш ip например)
FORWARD - обработка пакетов которые идут на другой хост, но попали к нам. Т.е. на L2 уровне MAC наш, но IP dest другой.
OUTPUT - пакет с src нашим, т.е мы отправитель, это обработка исходящих пакетов
POSTROUTING - это уже после того как ядро linux решило кому отправить пакет - можно что-то сделать.
Собственно iptables - утилита для работы с netfiler. Как понятно из названия, она содержит таблицы. Каждая таблица использует несколько хуков. И так вот они эти таблицы, их всего 4:
filter - отбрасывает или пропускает пакет
nat - выполняет nat
mangle - может изменять поля заголовка
raw - хз чё делает
В каждой таблице мы можем делать цепочки - набор правил.
Синтаксис iptables следующий
```
iptables [-t таблица ] <операция> <цепочка> <условия> -j <действия>
```
Операций не так много -L - list посмотреть правила, -A - добавить праило в цепочку, -D удалить правило, -N добавить цепочку, -X удалить цепочку. Собственно когда мы делаем пресловутое
```
iptables -L -n
```
это ничто инное как iptables -t filter -L. По умолчанию смотрится таблица filter.
Далее. Условия. Это какое-то условие для пакета. Синтаксис такой -s - источник пакета, -d - дестинешн, -p протокол, -i выходной интерфейс.
-j = jump действия, что делать с пакичем. ACCEPT - пропустить? DROP - выкинуть молча, REJECT - выкинуть с icmp ответом, RETURN - выйти из цепочки. Чем вообще RETURN отличается от ACCEPT? ACCEPT - терминальное действие. Если пакет разрешили - всё он проходит. А RETURN - значит обработать другими цепочками если они там есть.
SNAT - подменить source, DNAT - подменть destination. MASQUERADE - то же что и SNAT но только автоматом взять source с исходного интерфейса.
Так, посмотрим чё нам сгенерило libvrit:
```
iptables -L -n -t nat
```
например у меня
```
target prot opt source destination
MASQUERADE tcp -- 10.0.0.0/24 !10.0.0.0/24 masq ports: 1024-65535
MASQUERADE udp -- 10.0.0.0/24 !10.0.0.0/24 masq ports: 1024-65535
MASQUERADE all -- 10.0.0.0/24 !10.0.0.0/24
```
По-русски читается как "если пакет пришёл из локалки и адресован не в локалку, то подмени его src на ip хоста (маскарад - автоматический snat).
Во такая мини-практика по iptables. Вообще всё это в подробностях охота рассмотреть позже, при чём с примерами на С, чтобы прямо прогнать в лабораторных условиях как это работает. Но пока ограничимся вот такой вот сноской.
Круто, теперь мы подняли две kvm-ки и обеспечили между ними сеть. Я нормальный так-то, но люблю приколы! Необычные такие, я люблю эксперемент, мне не прёт обычный секс есть такой момент. 😈😈😈 Всегда хотел проверить, а что если мы по сети будем скармливать байты через dd и запишем диск одной системы на другую! Итак:
```
dd if=/dev/ada0 bs=16M status=progress | ssh root@10.0.0.244 'dd of=/dev/sda bs=16M status=progress'
```
Как вы уже поняли, у меня одна виртуалка FreeBSD а другая debian. И мы с freebsd по ssh побитово копируем содержимое диска на диск Debian. Полностью. То есть после ребута мы должны вместо Debian получить FreeBSD. Ну.. это в лучшем случае. В худшем всё должно сломаться, так как диски работают и записывают что-то прямо во время работы, это должно дать неконсистенность. Плюсом у них будут одинаковые mac и id прописан, это наверное тоже не очень хорошо для сети.
Ну чё у нас тут.
```
root@debian:~# reboot
Call to Reboot failed: Access denied
root@debian:~# ls
ls: reading directory '.': Bad message
root@debian:~# ls /
-bash: /usr/bin/ls: Input/output error
```
Так... ничерта не можем. Делаем хардребут с хоста тогда
```
root@localhost:/vm# virsh destroy kvm1
Domain 'kvm1' destroyed
root@localhost:/vm# virsh start kvm1
Domain 'kvm1' started
```
И у нас внатуре запустился FreeBSD! И почему так не делают для миграций? В теории можно же так мигрировать что угодно куда угодно. Вон работает. Для консистености всё то же самое можно просто в rescueCD сделать.
Пойду посплю. Сон даёт бодрость и рост мышц. Надо побольше спать, прямо часов по 10.
Рассмотрим поверхностно работу netfilter. Для начала что это вообще. netfiler - это модуль ядра который обрабатывает сетевой трафик. Грубо говоря фаервол. netfiler устроен как набор хуков, каждый из которых обрабатывает по своему пакет. Вот такие хуки:
PREROUTING - как очевидно из названия, переопределяет маршрут, т.е. перед тем как роутить можно что-то изменить.
INPUT - обработка тех пакетов которые идут на наш хост (dest наш ip например)
FORWARD - обработка пакетов которые идут на другой хост, но попали к нам. Т.е. на L2 уровне MAC наш, но IP dest другой.
OUTPUT - пакет с src нашим, т.е мы отправитель, это обработка исходящих пакетов
POSTROUTING - это уже после того как ядро linux решило кому отправить пакет - можно что-то сделать.
Собственно iptables - утилита для работы с netfiler. Как понятно из названия, она содержит таблицы. Каждая таблица использует несколько хуков. И так вот они эти таблицы, их всего 4:
filter - отбрасывает или пропускает пакет
nat - выполняет nat
mangle - может изменять поля заголовка
raw - хз чё делает
В каждой таблице мы можем делать цепочки - набор правил.
Синтаксис iptables следующий
```
iptables [-t таблица ] <операция> <цепочка> <условия> -j <действия>
```
Операций не так много -L - list посмотреть правила, -A - добавить праило в цепочку, -D удалить правило, -N добавить цепочку, -X удалить цепочку. Собственно когда мы делаем пресловутое
```
iptables -L -n
```
это ничто инное как iptables -t filter -L. По умолчанию смотрится таблица filter.
Далее. Условия. Это какое-то условие для пакета. Синтаксис такой -s - источник пакета, -d - дестинешн, -p протокол, -i выходной интерфейс.
-j = jump действия, что делать с пакичем. ACCEPT - пропустить? DROP - выкинуть молча, REJECT - выкинуть с icmp ответом, RETURN - выйти из цепочки. Чем вообще RETURN отличается от ACCEPT? ACCEPT - терминальное действие. Если пакет разрешили - всё он проходит. А RETURN - значит обработать другими цепочками если они там есть.
SNAT - подменить source, DNAT - подменть destination. MASQUERADE - то же что и SNAT но только автоматом взять source с исходного интерфейса.
Так, посмотрим чё нам сгенерило libvrit:
```
iptables -L -n -t nat
```
например у меня
```
target prot opt source destination
MASQUERADE tcp -- 10.0.0.0/24 !10.0.0.0/24 masq ports: 1024-65535
MASQUERADE udp -- 10.0.0.0/24 !10.0.0.0/24 masq ports: 1024-65535
MASQUERADE all -- 10.0.0.0/24 !10.0.0.0/24
```
По-русски читается как "если пакет пришёл из локалки и адресован не в локалку, то подмени его src на ip хоста (маскарад - автоматический snat).
Во такая мини-практика по iptables. Вообще всё это в подробностях охота рассмотреть позже, при чём с примерами на С, чтобы прямо прогнать в лабораторных условиях как это работает. Но пока ограничимся вот такой вот сноской.
Круто, теперь мы подняли две kvm-ки и обеспечили между ними сеть. Я нормальный так-то, но люблю приколы! Необычные такие, я люблю эксперемент, мне не прёт обычный секс есть такой момент. 😈😈😈 Всегда хотел проверить, а что если мы по сети будем скармливать байты через dd и запишем диск одной системы на другую! Итак:
```
dd if=/dev/ada0 bs=16M status=progress | ssh root@10.0.0.244 'dd of=/dev/sda bs=16M status=progress'
```
Как вы уже поняли, у меня одна виртуалка FreeBSD а другая debian. И мы с freebsd по ssh побитово копируем содержимое диска на диск Debian. Полностью. То есть после ребута мы должны вместо Debian получить FreeBSD. Ну.. это в лучшем случае. В худшем всё должно сломаться, так как диски работают и записывают что-то прямо во время работы, это должно дать неконсистенность. Плюсом у них будут одинаковые mac и id прописан, это наверное тоже не очень хорошо для сети.
Ну чё у нас тут.
```
root@debian:~# reboot
Call to Reboot failed: Access denied
root@debian:~# ls
ls: reading directory '.': Bad message
root@debian:~# ls /
-bash: /usr/bin/ls: Input/output error
```
Так... ничерта не можем. Делаем хардребут с хоста тогда
```
root@localhost:/vm# virsh destroy kvm1
Domain 'kvm1' destroyed
root@localhost:/vm# virsh start kvm1
Domain 'kvm1' started
```
И у нас внатуре запустился FreeBSD! И почему так не делают для миграций? В теории можно же так мигрировать что угодно куда угодно. Вон работает. Для консистености всё то же самое можно просто в rescueCD сделать.
Пойду посплю. Сон даёт бодрость и рост мышц. Надо побольше спать, прямо часов по 10.
Итак, в прошлый раз мы разобрали network типа "nat". Самый удобный универсальный способ сделать сетку.
Теперь рассмотрим тип bridge. Мы можем сделать сеть и без NAT! точнее, название "сеть" тут звучит немного нелепо, потому что фактически мы не создаём "сеть". В такой конфигурации, виртуальные машины будут находится в той же сети что и хост. Для начала, мы можем нафиг вырубить nf-call-iptables:
```
sysctl -w net.bridge.bridge-nf-call-iptables=0
```
Он нам нафиг ненужон, так как наш хостовый eth будет соединён на L2 уровне с vrbridge. И всё.
итак, заменим тип дефолтного бриджа на bridge. Демо-бридж можно удалить.
```
vim /etc/libvirt/qemu/networks/default.xml
cat /etc/libvirt/qemu/networks/default.xml
<network>
<name>default</name>
<forward mode='bridge'/>
<bridge name='virbr0'/>
<network/>
virsh net-dumpxml default
ip l del virbr0
systemctl stop libvirtd
systemctl start libvirtd
virsh net-dumpxml default
virsh net-start default
```
закоментили/вырезали IP., mac, uuid и прочую хуйню. У нас нет своего сегмента IP. Мы в сети прямо хостовой системы vm'ки держим.
Ну чё у нас `ip l` нихрена нет? Почему libvirt не создал нам бридж?
https://libvirt.org/formatnetwork.html
> bridge. This network describes either 1) an existing host bridge that was configured outside of libvirt
цитата из офф документации. Этот тип сети ожидает от нас созданный нами бридж. Он ничо не создаёт. Значит создаим ему бридж:
```
ip link add virbr0 type bridge
ip link set virbr0 up
ip addr flush dev enp4s0
ip link set enp4s0 master virbr0
ip addr add 192.168.0.100/24 dev virbr0
ip route add default via 192.168.0.1
ping 8.8.8.8
```
Всё норм. Мы перекатили ip нашей хост сети на бридж. Потом подсоединили enp4s0 к бриджу. настроили iP и роут. Персистентно в netplan это
```
network:
version: 2
renderer: networkd
ethernets:
enp4s0:
dhcp4: false
bridges:
virbr0:
interfaces: [enp4s0]
dhcp4: true
parameters:
stp: true
forward-delay: 0
```
Проверим. Запустим нашу vm'ку
```
virsh start kvm1
ifconfig
ping 8.8.8.8
```
И что мы видим? На vmке DHCP назначил адрес 192.168.0.101/24 - из нашей сети. Мы спокойно пингуем 8.8.8.8 безо всяких NAT. Потому что мы теперь в одной L3 сети. Бриджу тут чисто на L2 уровне работает как свитч.
Вот такой вот вариант организации сети.
Итак, в прошлый раз мы разобрали network типа "nat". Самый удобный универсальный способ сделать сетку.
Теперь рассмотрим тип bridge. Мы можем сделать сеть и без NAT! точнее, название "сеть" тут звучит немного нелепо, потому что фактически мы не создаём "сеть". В такой конфигурации, виртуальные машины будут находится в той же сети что и хост. Для начала, мы можем нафиг вырубить nf-call-iptables:
```
sysctl -w net.bridge.bridge-nf-call-iptables=0
```
Он нам нафиг ненужон, так как наш хостовый eth будет соединён на L2 уровне с vrbridge. И всё.
итак, заменим тип дефолтного бриджа на bridge. Демо-бридж можно удалить.
```
vim /etc/libvirt/qemu/networks/default.xml
cat /etc/libvirt/qemu/networks/default.xml
<network>
<name>default</name>
<forward mode='bridge'/>
<bridge name='virbr0'/>
<network/>
virsh net-dumpxml default
ip l del virbr0
systemctl stop libvirtd
systemctl start libvirtd
virsh net-dumpxml default
virsh net-start default
```
закоментили/вырезали IP., mac, uuid и прочую хуйню. У нас нет своего сегмента IP. Мы в сети прямо хостовой системы vm'ки держим.
Ну чё у нас `ip l` нихрена нет? Почему libvirt не создал нам бридж?
https://libvirt.org/formatnetwork.html
> bridge. This network describes either 1) an existing host bridge that was configured outside of libvirt
цитата из офф документации. Этот тип сети ожидает от нас созданный нами бридж. Он ничо не создаёт. Значит создаим ему бридж:
```
ip link add virbr0 type bridge
ip link set virbr0 up
ip addr flush dev enp4s0
ip link set enp4s0 master virbr0
ip addr add 192.168.0.100/24 dev virbr0
ip route add default via 192.168.0.1
ping 8.8.8.8
```
Всё норм. Мы перекатили ip нашей хост сети на бридж. Потом подсоединили enp4s0 к бриджу. настроили iP и роут. Персистентно в netplan это
```
network:
version: 2
renderer: networkd
ethernets:
enp4s0:
dhcp4: false
bridges:
virbr0:
interfaces: [enp4s0]
dhcp4: true
parameters:
stp: true
forward-delay: 0
```
Проверим. Запустим нашу vm'ку
```
virsh start kvm1
ifconfig
ping 8.8.8.8
```
И что мы видим? На vmке DHCP назначил адрес 192.168.0.101/24 - из нашей сети. Мы спокойно пингуем 8.8.8.8 безо всяких NAT. Потому что мы теперь в одной L3 сети. Бриджу тут чисто на L2 уровне работает как свитч.
Вот такой вот вариант организации сети.
Итак, перечитываем главы про стораж.
Диски можно задать явынм способом. В конфиге домена в разделе devices:
```
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/vm/debian.qcow2'/>
<target dev='vda' bus='virtio'/>
</disk>
```
тут type='file' - источник файл. Бывает ещё block - блочное устройство, network - это ceph, nbd, nfs. volume - из пула.
driver type - ну тут raw либо qcow2. Там ещё какие-то форматы есть, типо для vmware, но пока пох.
target dev='vda' - имя. По идее тут только указать можно только реальные имена типо sda, vda. Хз на чо влияет мб scsi
Порядок диско выбирается seabios. можно указать его явно.
Вот и вся ручная конфиг диска. Но мы будем делать что-то более крутое. Потыкаем сторажпул. На файлах он бесполезен, но полезно знать на будущее в целом механнику. Storage pool - по сути конфиг позволящий отделить захардкоженый путь от образа. То есть, при явном задании образа, чтобы поменять путь - надо лезть в конфиг домена. Мы можем вынести этот конфиг в отдельный xml
```
<pool type='dir'>
<name>vm</name>
<target>
<path>/vm</path>
</target>
</pool>
```
Чё это значит? это значит что каталог /vm теперь является источником для образом.
мы его также можем задефинить.
```
virsh pool-define pool.xml
virsh pool-list
virsh pool-start vm
virsh pool-autostart vm
```
Теперь, в конфиге vm'ки мы пишем следующий девайс:
```
<disk type='volume' device='disk'>
<driver name='qemu' type='qcow2'/>
<source pool='vm' volume='debian.qcow2'/>
<target dev='vda' bus='virtio'/>
</disk>
```
Обращаем внимание.. теперь в конфигурации нет явного пути. Есть только пул и образ который он хочет взять из пула. То есть мы свободно можем перенести каталог /vm куда-угодно, и наша виртуалка ничего не заметит. Мы можем даже сделать диск сетевым - но тут какая-то тупость, нам тогда придётся qcow2 поменять на raw и имя подходящее сделать. Короче кривовато сделано, но в рамках одного типо хранилища по-удобнее будет.
Итак, задефинил я пул в /vm/images положил туда образы всяких систем. Посмотреть какие у нас волюмы есть можно командой
```
virsh vol-list demo-pool --details
```
Почему так? Какой ещё vol- ? vol - это короче абстракция над volume - они могут быть хоть сетевыми хоть файловыми - всё делает один vol-. Пока не будем копаться в этом. Коротко, мы можем делать вот так
```
virsh vol-create-as vm disk.qcow2 20G --format qcow2
virsh vol-info disk.qcow2 --pool vm
virsh vol-path disk.qcow2 --pool vm
virsh vol-delete disk.qcow2 --pool vm
virsh vol-clone src.qcow2 dst.qcow2 --pool vm
```
указываем пул и создаём там чё хотим, вне зависимости от того сеф это или блокдевайс ваще.
После того как мы задефинили пул должен появиться в
```
ls /etc/libvirt/storage/
```
Теперь создадим виртуалку. Кста тут можно генерить xml как yaml в кубере при помощи `--print-xml`. Тут есть и `--dry-run` . Ща будут полезны потому что устанавливаю виртуалку с пула я впервые! Попытаемся.. man virt-install
> Use --disk=? to see a list of all available sub options.
удобно
`virt-install --name 'debian-12' --memory 1024 --disk=?`
```
root@localhost:/vm# virt-install --name 'debian-12' --memory 1024 --disk vol=debian-12-nocloud-amd64-20260909-2596.qcow2 --dry-run
ERROR Error: --disk vol=debian-12-nocloud-amd64-20260909-2596.qcow2: Storage volume must be specified as vol=poolname/volname
virt-install --name 'debian-12' --memory 1024 --disk vol=demo-pool/debian-12-nocloud-amd64-20260909-2596.qcow2 --autoconsole text --import --hvm --dry-run --print-xml > debian-12.xml
virsh define debian-12.xml
virsh start debian-12
virsh console debian-12
```
еее! оно запустилось. Вообще во время обучения никогда не спрашивайте чатгпт - старайтесь искать по старинке по мануалам. Почему? потому что так возникает больше проблем. Проблемы - это хорошо, они дают опыт. Чисто для тренировочных целей лучше всё по старинке копать.
Лучше разделить главы. Опишу более инересное в след посте
Итак, перечитываем главы про стораж.
Диски можно задать явынм способом. В конфиге домена в разделе devices:
```
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/vm/debian.qcow2'/>
<target dev='vda' bus='virtio'/>
</disk>
```
тут type='file' - источник файл. Бывает ещё block - блочное устройство, network - это ceph, nbd, nfs. volume - из пула.
driver type - ну тут raw либо qcow2. Там ещё какие-то форматы есть, типо для vmware, но пока пох.
target dev='vda' - имя. По идее тут только указать можно только реальные имена типо sda, vda. Хз на чо влияет мб scsi
Порядок диско выбирается seabios. можно указать его явно.
Вот и вся ручная конфиг диска. Но мы будем делать что-то более крутое. Потыкаем сторажпул. На файлах он бесполезен, но полезно знать на будущее в целом механнику. Storage pool - по сути конфиг позволящий отделить захардкоженый путь от образа. То есть, при явном задании образа, чтобы поменять путь - надо лезть в конфиг домена. Мы можем вынести этот конфиг в отдельный xml
```
<pool type='dir'>
<name>vm</name>
<target>
<path>/vm</path>
</target>
</pool>
```
Чё это значит? это значит что каталог /vm теперь является источником для образом.
мы его также можем задефинить.
```
virsh pool-define pool.xml
virsh pool-list
virsh pool-start vm
virsh pool-autostart vm
```
Теперь, в конфиге vm'ки мы пишем следующий девайс:
```
<disk type='volume' device='disk'>
<driver name='qemu' type='qcow2'/>
<source pool='vm' volume='debian.qcow2'/>
<target dev='vda' bus='virtio'/>
</disk>
```
Обращаем внимание.. теперь в конфигурации нет явного пути. Есть только пул и образ который он хочет взять из пула. То есть мы свободно можем перенести каталог /vm куда-угодно, и наша виртуалка ничего не заметит. Мы можем даже сделать диск сетевым - но тут какая-то тупость, нам тогда придётся qcow2 поменять на raw и имя подходящее сделать. Короче кривовато сделано, но в рамках одного типо хранилища по-удобнее будет.
Итак, задефинил я пул в /vm/images положил туда образы всяких систем. Посмотреть какие у нас волюмы есть можно командой
```
virsh vol-list demo-pool --details
```
Почему так? Какой ещё vol- ? vol - это короче абстракция над volume - они могут быть хоть сетевыми хоть файловыми - всё делает один vol-. Пока не будем копаться в этом. Коротко, мы можем делать вот так
```
virsh vol-create-as vm disk.qcow2 20G --format qcow2
virsh vol-info disk.qcow2 --pool vm
virsh vol-path disk.qcow2 --pool vm
virsh vol-delete disk.qcow2 --pool vm
virsh vol-clone src.qcow2 dst.qcow2 --pool vm
```
указываем пул и создаём там чё хотим, вне зависимости от того сеф это или блокдевайс ваще.
После того как мы задефинили пул должен появиться в
```
ls /etc/libvirt/storage/
```
Теперь создадим виртуалку. Кста тут можно генерить xml как yaml в кубере при помощи `--print-xml`. Тут есть и `--dry-run` . Ща будут полезны потому что устанавливаю виртуалку с пула я впервые! Попытаемся.. man virt-install
> Use --disk=? to see a list of all available sub options.
удобно
`virt-install --name 'debian-12' --memory 1024 --disk=?`
```
root@localhost:/vm# virt-install --name 'debian-12' --memory 1024 --disk vol=debian-12-nocloud-amd64-20260909-2596.qcow2 --dry-run
ERROR Error: --disk vol=debian-12-nocloud-amd64-20260909-2596.qcow2: Storage volume must be specified as vol=poolname/volname
virt-install --name 'debian-12' --memory 1024 --disk vol=demo-pool/debian-12-nocloud-amd64-20260909-2596.qcow2 --autoconsole text --import --hvm --dry-run --print-xml > debian-12.xml
virsh define debian-12.xml
virsh start debian-12
virsh console debian-12
```
еее! оно запустилось. Вообще во время обучения никогда не спрашивайте чатгпт - старайтесь искать по старинке по мануалам. Почему? потому что так возникает больше проблем. Проблемы - это хорошо, они дают опыт. Чисто для тренировочных целей лучше всё по старинке копать.
Лучше разделить главы. Опишу более инересное в след посте
Страшно узнать сколько стоит заказное убийство. РЕШЕНО! Покупаю GLO! Меньше душить на боксе будет я думаю. Так то если честно бросать курить я не хочу. Просто это сразу бьёт по выносливости что меня раздражает - я не хочу терять выносливость. А под сигами она теряется. Если выбирать между спортом и сигаретами то спорт эффекта больше дают. Спорт недооценивают по эффекту. Кажется: "ряя спортом только какие-то зоже-додики занимаются типо битардиум левиосы, бабки-таблетки на палочках ходят хуйней страдают от безделия". Но на самом деле нет. Занимаясь каким-нибудь мощным спортом тебя неплохо так накрывает, ноги становятся подвижнее, плечи осанка чувствуется. Если попробовать забить и просто ебашить алкашку - парадоксально но кайф будет меньше, намного меньше. Все вредные привычки переоценены - им приписывают больше кайфа чем они дают на самом деле.
Дальше. У нас есть возможность создавать сетевые интерфейсы.
```
virsh iface-list --all
```
Блин он показывает даже наши настоящие интерфейсы. В примере книги создали интерфейс и уничтожили его. Зачем тогда было создавать?! Показал бы что с ним можно сделать. Зачем он вообще? Если нам на виртуалке нужно два интерфейса то это через <devices> делается. А тут мы создаём интерфейс на стороне хост системы. А... я кажется понял. Это чтобы делать бриджи не вручную. Ну оч сомнительное решение. Я изначально говорил что libvirt перегруженный кал, и что vm-bhyve на BSD намного лучше сделан.
Дальше глава про миграцию на другой хост. Ну.. у меня только один хост. Прочитал.. столько устаревшей мути по iSCSI. Это уже давно не используется. Единственное что подаётся мол виртуалка это xml + диск. Собственно единственные полезные команды
# manual
virsh dumpxml vm1 > vm1.xml
virsh -c qemu+ssh://kvm2/system define vm1.xml
virsh undefine vm1
virsh -c qemu+ssh://kvm2/system start vm1
# live - одна команда
virsh migrate --live --persistent --undefinesource vm1 qemu+ssh://kvm2/system
libvirt просто открывает коннект по ssh с сокетом на другой машине и делает с ним всё то что мы указали по удалёнке. И всё..
live-миграция переносит память виртуалки прямо на хост. Т.е выполняется без простоя. Она делается во много итераций чтобы сохранисть консистентность. Если передача данных быстрее чем память изменяется то можно передать виртуалку. Т.е. она по страницам память отправляет. Если страница памяти успела измениться когда была отправлена - он помечает её на переотправку. Цикл не сходится когда память меняется быстрее чем идёт отправка. В такой ситукции миграция шла бы вечна. Чтобы это исключить есть параметр
`virsh migrate --live --auto-converge vm1 qemu+ssh://kvm2/system`
Он искусственно затормиживает виртуалку гостя, выдавая ей меньше процессорного времени, чтобы миграция сошлась.
`virsh migrate --live --postcopy vm1 qemu+ssh://kvm2/system`
это принципиально иное. Гость сразу переключается на kvm2 с неполной памятью. Когда он обращается к странице, которой ещё нет- page fault, kvm2 запрашивает её у kvm1 по сети, гость ждёт миллисекунды. Постепенно всё подтягивается.
Разбор флагов
--live - без остановки, тот самый итеративный процесс. Без флага будет пауза на всё время передачи памяти.
--persistent - определить домен на kvm2 постоянно, записать XML. Без флага домен появится как transient: работает, но при выключении исчезнет бесследно.
--undefinesource - убрать определение с kvm1.
В общем-то всё что стоит знать что он переносит только память. Диск он не переносит. В чём удобство использования сетевых диском - что при падении одной ноды - можно запросто все xml мигировать за секунды при гигабитной сетке и всё.
Можно вообще потренить миграцию при помощи nested виртуализации - т.е. раскатать на виртуалке ещё виртуалку. Но пох. Потом может потренюсь. Пока дёмдальше.
Мониторинг и резервное копирование. Довольно полезно для DevOps. В заббиксе настраивать мониторинг по libvirt.
Чому нас обучат в этой главе. Начинается глава вот с этого мусора
```
virsh nodecpustats --percent
virsh nodememstats
```
Зачем нам знать статы ноды, если у нас есть top, ps aux итд команды? И ВОТ ТУТ происходит настоящее открытие для меня. Libvirt - это API server. То есть мы можем удалённо смотреть статистику ноды через единный интерфейс:
` virsh -c qemu:///system list`
Полная форма URL
driver[+transport]://[username@][hostname][:port]/[path][?extraparameters]
драйвер это под какой технологией у нас libvirt работает. Ну унас qemu.
Вот это всё
```
virsh vcpuinfo debian-12
virsh cpu-stats --total debian-12
virsh dominfo debian-12
virsh dommemstat --live debian-12
virsh domblklist debian-12
```
Всё уже было. Хз зачем нужно повторять. Dominfo - это конфиг. Т.е. они смотрят что там в xml записано. Used memory - самая обманчивая строка. Это не "занято гостем", это currentMemory из XML - сколько памяти гостю предъявлено. Dommemstat - вот это уже реально использование, скока памяти он занял.
domblklist и domblkstat - диски. Первое просто конфиг по тому что подключено. Второе это посмотреть iops, latency.
cpu-stats - использованяе cpu.
vcpuinfo - Вот это оч интересная команда. Она пказывает суммарное время сколько цпу отработал. Плюс она показывает аффинити по ядрам. Про это надо потом придумать лабораторки отельно, потому что на этом аффинити можно прочувствовать разницу между VPS и VDS. Во втором случае throtling ограничивается и ядра выделенны. То есть есть строгий SLA по steal time
`virsh domblkerror debian-12`
Вот это выглядит максимально полезным Показывает диски, на которых гость встал из-за ошибки
Страшно узнать сколько стоит заказное убийство. РЕШЕНО! Покупаю GLO! Меньше душить на боксе будет я думаю. Так то если честно бросать курить я не хочу. Просто это сразу бьёт по выносливости что меня раздражает - я не хочу терять выносливость. А под сигами она теряется. Если выбирать между спортом и сигаретами то спорт эффекта больше дают. Спорт недооценивают по эффекту. Кажется: "ряя спортом только какие-то зоже-додики занимаются типо битардиум левиосы, бабки-таблетки на палочках ходят хуйней страдают от безделия". Но на самом деле нет. Занимаясь каким-нибудь мощным спортом тебя неплохо так накрывает, ноги становятся подвижнее, плечи осанка чувствуется. Если попробовать забить и просто ебашить алкашку - парадоксально но кайф будет меньше, намного меньше. Все вредные привычки переоценены - им приписывают больше кайфа чем они дают на самом деле.
Дальше. У нас есть возможность создавать сетевые интерфейсы.
```
virsh iface-list --all
```
Блин он показывает даже наши настоящие интерфейсы. В примере книги создали интерфейс и уничтожили его. Зачем тогда было создавать?! Показал бы что с ним можно сделать. Зачем он вообще? Если нам на виртуалке нужно два интерфейса то это через <devices> делается. А тут мы создаём интерфейс на стороне хост системы. А... я кажется понял. Это чтобы делать бриджи не вручную. Ну оч сомнительное решение. Я изначально говорил что libvirt перегруженный кал, и что vm-bhyve на BSD намного лучше сделан.
Дальше глава про миграцию на другой хост. Ну.. у меня только один хост. Прочитал.. столько устаревшей мути по iSCSI. Это уже давно не используется. Единственное что подаётся мол виртуалка это xml + диск. Собственно единственные полезные команды
# manual
virsh dumpxml vm1 > vm1.xml
virsh -c qemu+ssh://kvm2/system define vm1.xml
virsh undefine vm1
virsh -c qemu+ssh://kvm2/system start vm1
# live - одна команда
virsh migrate --live --persistent --undefinesource vm1 qemu+ssh://kvm2/system
libvirt просто открывает коннект по ssh с сокетом на другой машине и делает с ним всё то что мы указали по удалёнке. И всё..
live-миграция переносит память виртуалки прямо на хост. Т.е выполняется без простоя. Она делается во много итераций чтобы сохранисть консистентность. Если передача данных быстрее чем память изменяется то можно передать виртуалку. Т.е. она по страницам память отправляет. Если страница памяти успела измениться когда была отправлена - он помечает её на переотправку. Цикл не сходится когда память меняется быстрее чем идёт отправка. В такой ситукции миграция шла бы вечна. Чтобы это исключить есть параметр
`virsh migrate --live --auto-converge vm1 qemu+ssh://kvm2/system`
Он искусственно затормиживает виртуалку гостя, выдавая ей меньше процессорного времени, чтобы миграция сошлась.
`virsh migrate --live --postcopy vm1 qemu+ssh://kvm2/system`
это принципиально иное. Гость сразу переключается на kvm2 с неполной памятью. Когда он обращается к странице, которой ещё нет- page fault, kvm2 запрашивает её у kvm1 по сети, гость ждёт миллисекунды. Постепенно всё подтягивается.
Разбор флагов
--live - без остановки, тот самый итеративный процесс. Без флага будет пауза на всё время передачи памяти.
--persistent - определить домен на kvm2 постоянно, записать XML. Без флага домен появится как transient: работает, но при выключении исчезнет бесследно.
--undefinesource - убрать определение с kvm1.
В общем-то всё что стоит знать что он переносит только память. Диск он не переносит. В чём удобство использования сетевых диском - что при падении одной ноды - можно запросто все xml мигировать за секунды при гигабитной сетке и всё.
Можно вообще потренить миграцию при помощи nested виртуализации - т.е. раскатать на виртуалке ещё виртуалку. Но пох. Потом может потренюсь. Пока дёмдальше.
Мониторинг и резервное копирование. Довольно полезно для DevOps. В заббиксе настраивать мониторинг по libvirt.
Чому нас обучат в этой главе. Начинается глава вот с этого мусора
```
virsh nodecpustats --percent
virsh nodememstats
```
Зачем нам знать статы ноды, если у нас есть top, ps aux итд команды? И ВОТ ТУТ происходит настоящее открытие для меня. Libvirt - это API server. То есть мы можем удалённо смотреть статистику ноды через единный интерфейс:
` virsh -c qemu:///system list`
Полная форма URL
driver[+transport]://[username@][hostname][:port]/[path][?extraparameters]
драйвер это под какой технологией у нас libvirt работает. Ну унас qemu.
Вот это всё
```
virsh vcpuinfo debian-12
virsh cpu-stats --total debian-12
virsh dominfo debian-12
virsh dommemstat --live debian-12
virsh domblklist debian-12
```
Всё уже было. Хз зачем нужно повторять. Dominfo - это конфиг. Т.е. они смотрят что там в xml записано. Used memory - самая обманчивая строка. Это не "занято гостем", это currentMemory из XML - сколько памяти гостю предъявлено. Dommemstat - вот это уже реально использование, скока памяти он занял.
domblklist и domblkstat - диски. Первое просто конфиг по тому что подключено. Второе это посмотреть iops, latency.
cpu-stats - использованяе cpu.
vcpuinfo - Вот это оч интересная команда. Она пказывает суммарное время сколько цпу отработал. Плюс она показывает аффинити по ядрам. Про это надо потом придумать лабораторки отельно, потому что на этом аффинити можно прочувствовать разницу между VPS и VDS. Во втором случае throtling ограничивается и ядра выделенны. То есть есть строгий SLA по steal time
`virsh domblkerror debian-12`
Вот это выглядит максимально полезным Показывает диски, на которых гость встал из-за ошибки
Бтв у вассермана кстати есть пульт для управления вселенной с такой же кнопочкой но он его проебал где то в одном из тысячи карманов своей жилетки
Спасибо компании GLO за то что мой гойский гемоGLOбин стал более нанотехнологичным
Ну.. одна пачка гло стоит как пачка сигарет. А чем айкос от гло отличается я ваще? Не ебу если честно, я думал это одно и тоже. Рядом с домом гло был. Вот туда и пошёл.
Поинтересовался в гугле сколько у этих продаванш зарплата. Просто пиздец. Там дай бог 30к. Там камера. Видеоконтроль. Их реально пасут по камерам . Если продаван завис в телефоне или не сделал "улыбку 32 зуба" на видео - опять штраф. Так что та няшная улыбающаяся девочка, зачитывающая мантры про "очищение рецепторов", отрабатывает свои деньги на грани нервного срыва. Ей за это доплачивают ровно настолько, чтобы она не уволилась прямо в ту самую смену, пока я заёбанный стоял с пачкой стиков. Просто пиздец. :'( Мне уже неприятно пользоваться glo . За дешёвым девайсом тянется шлейф корпоративного лицемерного цирка, душных скриптов и понимания, что за мой счёт на кассе "имели"в этот момент живого человека ради галочки в отчёте. Хотя чё я сам тут заливаю в уши мелодраму. Чё няша не могла жопой повертеть на техсобесе и в it устроиться. Всё у неё норм. Её может муж ваще содежит и ебёт этими же стиками от айкос, а на работу ходит чтобы дома не ебланила.
В том то и суть, что видимо ни в чем. Одно и то же, только к одному добавили приписку про нанотехнологии
>Поинтересовался в гугле сколько у этих продаванш зарплата. Просто пиздец. Там дай бог 30к
Стандартная зп наемного скота в снг. Айтишники скоро столько же получать будут. Занимай очередь к нанотехнологичному бачку магазина Чижик на заднем дворе, вместе фриганить будете
Написана и составлена благодаря клод опус 5 бтв
>только к одному добавили приписку про нанотехнологии
Всм а айкос не нано-сижки? Хз в чём их устройство. Ахахах карликовые сигареты
>Айтишники скоро столько же получать будут. Занимай очередь
Спс я лучше пушечным мясом в скелю завербуюсь.
Так тип айкос ваще выпаривает сигареты, ну тип вставляешь сижку и эта хуйня там коптиться. На вкус кста как сено какое-то хз
>Спс я лучше пушечным мясом в скелю завербуюсь.
Дык так оно и будет лоооол. Если не повезет остаца промпт-инженером, все пойдем на реальные работы за копье
Я вчера увидел как на астре игры собтрают. Да гавно поделки конечно, но суть в том, что любой васян щас тебе соберет КОНТРА СИТИ. За дохуя токенов конеш, но соберет. И это еще и будет работать
Ебало инфоцыган с фейковыми трейлерами несуществующих мобильных игр имаджинируй. Буквально залезли на их территорию
А дальше то будет хуже
>Так тип айкос ваще выпаривает сигареты
Этот девайст наверн тоже, я не читал хз не разбираюсь. Главное что выглядит нанотехнологично, коробочка электронная какая-то с какими-то специальными сигаретами ууууу киберпук! Так то я больше по снюсу. Но в казахстане он запрещён. Гло вроде менее будет лёгкие засирать значит выносливость повыше должна быть, дышать на тренях проще будет.
>Дык так оно и будет лоооол. Если не повезет остаца промпт-инженером, все пойдем на реальные работы за копье
Ну и ебись оно всё конём. Чё теперь мне только и заниматься тем что думать как всё будет плохо и как нас выпнут на мороз? Вообще как я в прошлом дневнике и пришёл к выводу, все вот эти рассуждения, народ-бурундук, народ-кукаретик - всё это мусор. Надо больше погружаться в реальность. Надо больше делать, и не важно что делать, распасться на мясные кусочки от дрона или ебошить изучать линух, квмки итд, или видеоролики на ютуб записывать. Главное чтобы действия были настоящими. Вот только это что-то да значит. Только на этом начинается жизнь.
>на астре игры собтрают.
А мне чёт астра каловым показалась. Клод опус 5 точно такие же игры генерит. Более того, у нас тут на работе еблан один - вообще ничего не знает. Он короче на клоде сгенерил VPN для телефона. По инструкции от клода поднял VPS. И теперь продаёт его. Лол. Не знаю покупают ли, но сам факт - клод тебе и вротэнд и бекенд высрет.
>А дальше то будет хуже
Расслаб булки, подставь жопу и попытайся получить удовольствие, в случае если изнасилование неизбежно. Неиронично моя позиция. Страхи, сомнения, отчаяние и жалость не должны забирать контроль над тобой - если покопать глубже, за ними ничего не стоит. Они как назгулы - вводят в оцепенение и парализуют слабых, а дальше уже убивают как лёгкую добычу.
Ну соберёт и чё? Дальше что?
Поч нет. Так-то от такого можно получить норм нечаяно. Но и запиздить такого легко - он же жирный и неповоротливый.
Вообще внешний вид это штука странная. Ты никогда не можешь определить по внешнему виду мощь соперника. У нас вот ходит старый скуф, ебало = гопник с урала. И он пиздец мощный и дерзкий, любого в нокаут отправит. И ходит короче качок кореец такой широкоплечий в два раза массивнее вроде. Но он как раз постоянно по ебалу получает - потому что он медленнее. А есть вообще чел дрыщавый дрыщавый. Но при этом пиздецки сухой - может отжаться на одних руках тупо. Это физически сложно представить чтобы подняться на одни руки с висящими на воздухе ногами. А он так отжимается. Так он вообще каждый удар как пуля. Так что хз. Мощный соперник может быть и худым и жирным и дрыщём и качком - ты никогда не знаешь насколько он натренирован, насколько он вообще психологически агрессивен. По внешнему виду это определить невозможно.
Это даже к сравнению женщин можно привести. Они же тоже иногда занимаются единоборствами. При чём некоторые пиздятся довольно мощно и технично. Но почему-то в большинстве драк женщина против мужчины побеждает именно мужчина, хотя у женщины в отдельном случае даже мощь удара больше. Банально - мужчина агрессивнее. Чистая психология.
На втором месте взрывная сила против мышечной массы. Огромные гипертрофированные мышцы качка требуют много кислорода и энергии, а главное - часто закрепощают и снижают скорость прохождения нервного импульса. Быстрый удар рождается не в банках по 50 сантиметров, а в умении включить всё тело в одну секунду, от стопы через бедро и корпус в кулак. Нет, это не значит что качок не может быть крутым бойцом. Вон тот же усик - 90 кг горилла. Суть в том что если просто накачать мышцы - то это само по себе тебя бойцом не делает. Более того, для того чтобы "накачть" мышцы даже тренироваться не обязательно - вон под анаболиками они сами растут. Но это "пустые" мышцы, они по большей части наполнены водой. Нужны именно функциональные мышцы, а этого без труда не добиться. Хотя анаболики конечно мощная штука и по сути позволяют тренироваться без остановки - практически читы.
Ну по внешке ты скорее не определишь занимается чем-то чел или нет, это да. Но тут скорее из-за того что бокс штука универсальная, ну тип банально разные весовые категории. Нету такого шобы все пришли на бокс и через год тайсонами становились. Если ты маленький и юркий, ну бушь баксировать хуй знает в легковесах. А внешне как был мимозой, так и останешься. Но при этом по ебучке даж оппоненту больше тебя можешь настучать. Но ключевое тут именно можешь
Опять же, любой чел который больше тебя в 2 раза может тебя тупо перевернуть и нихуя ты с ним не сделаешь. Ну тип как жирный тарзан Дацик, тупо лег на Тарасова и все. Тот бля так и пролежал весь бой нюхая говяжьи шторы на труханах Дацика. Ну а хуле ты ему сделаешь?
Тож самое когда емеля с кокляевым бился. Если бы были поравиала мма, я чет не уверен что емеля бы также легко отправить кокляева танцевать чечетку. Тот бы просто мог его поднять и переебнуть
Короч антропометрия и силовые оч решают если ими правильно пользоваца, ну и если вы не соревнуетесь в конкретной дисциплине, где ты ограничен в функционале
Опять же, в уличных драках если жирдяй заземляется удачно на более легкого оппонента, для второго это гг плюс конечная. Ты тупо не встанешь из под него
>нету такого шобы все пришли на бокс и через год тайсонами становились.
Нету такого чтобы ты и через 100 лет тайсоном стал. Если у тебя нет сноровки - ты никогда ничем не станешь. Генетика, скорость реакции, тип нервной системы. Эти вещи не покупаются абонементом в зал. Из среднего или слабого исходного материала можно сделать крепкого середняка, но чемпиона мира из человека без природных задатков не вылепит никакой тренер.
>если ты маленький и юркий, ну бушь баксировать хуй знает в легковесах
>Опять же, любой чел который больше тебя в 2 раза может тебя тупо перевернуть и нихуя ты с ним не сделаешь.
Не обязательно. Гугли крокоп против хонг ман чой. Маленький и юркий чех вынес огромного чеда. Буквально давид против голиафа. Это классика физики против биомеханики. Масса решает только тогда, когда она умеет двигаться. Если огромный шкаф неповоротлив, а легкий боец бьет точно в уязвимые точки
> в уличных драках
Думаю ни для кого не секрет что бокс - это балет. Буквально. Это боевое ИСКУССТВО. Все драки в каком-то смысле "постановочные". Это нормально, это блядь изначальный смысл всех боевых искусств. Вас не смущает что они называются "искусства" а не "турнир по набиванию ебал, кто кого убъёт".
Банальный пример - костя цзю. Вот он дрался не постановочно - один удар - нокаут. Всё. бой закончен. Так происходит настоящая драка. Кому интересно это смотреть? Да никому!! Профессиональный спорт ВСЕГДА БЫЛ индустрий развлечений. Зритель платит за зрелище, драму и красивую "игру", а не за то, чтобы смотреть пять раунд скучной возни у канатов каких-то психов.
Интересно именно когда происходит крутая игра, завораживающая драка. Вот это искусство. Не понимаю почему у тренера например бомбит на то когда бойцы очевидно продались и играют постанову. Он говорит типо "зачем так унижаться". В чём унижение?! Чел который в театре играет пьеро он тоже унижается?!
Бокс это как ММО арена PvP за вара. Тебе надо прожимать абилки в тайминг, чувствовать что делает соперник, ломать тайминг, станить его (хотя пинки ногами и стан это уже про ММА). Вот это бокс. Вдобавок, он офигенно разминает тебе мыщцы, укрепляет осанку, в каком-то смысле помогает выместить накопившуюся агрессию. Что может быть лучше, игра которая дарит тебе чувство физического и ментального здоровья. Если тебе интересно такой вид спорта то почему тебя вообще должно смущать кого ты там набьёшь в уличной драке итд.
>нету такого шобы все пришли на бокс и через год тайсонами становились.
Нету такого чтобы ты и через 100 лет тайсоном стал. Если у тебя нет сноровки - ты никогда ничем не станешь. Генетика, скорость реакции, тип нервной системы. Эти вещи не покупаются абонементом в зал. Из среднего или слабого исходного материала можно сделать крепкого середняка, но чемпиона мира из человека без природных задатков не вылепит никакой тренер.
>если ты маленький и юркий, ну бушь баксировать хуй знает в легковесах
>Опять же, любой чел который больше тебя в 2 раза может тебя тупо перевернуть и нихуя ты с ним не сделаешь.
Не обязательно. Гугли крокоп против хонг ман чой. Маленький и юркий чех вынес огромного чеда. Буквально давид против голиафа. Это классика физики против биомеханики. Масса решает только тогда, когда она умеет двигаться. Если огромный шкаф неповоротлив, а легкий боец бьет точно в уязвимые точки
> в уличных драках
Думаю ни для кого не секрет что бокс - это балет. Буквально. Это боевое ИСКУССТВО. Все драки в каком-то смысле "постановочные". Это нормально, это блядь изначальный смысл всех боевых искусств. Вас не смущает что они называются "искусства" а не "турнир по набиванию ебал, кто кого убъёт".
Банальный пример - костя цзю. Вот он дрался не постановочно - один удар - нокаут. Всё. бой закончен. Так происходит настоящая драка. Кому интересно это смотреть? Да никому!! Профессиональный спорт ВСЕГДА БЫЛ индустрий развлечений. Зритель платит за зрелище, драму и красивую "игру", а не за то, чтобы смотреть пять раунд скучной возни у канатов каких-то психов.
Интересно именно когда происходит крутая игра, завораживающая драка. Вот это искусство. Не понимаю почему у тренера например бомбит на то когда бойцы очевидно продались и играют постанову. Он говорит типо "зачем так унижаться". В чём унижение?! Чел который в театре играет пьеро он тоже унижается?!
Бокс это как ММО арена PvP за вара. Тебе надо прожимать абилки в тайминг, чувствовать что делает соперник, ломать тайминг, станить его (хотя пинки ногами и стан это уже про ММА). Вот это бокс. Вдобавок, он офигенно разминает тебе мыщцы, укрепляет осанку, в каком-то смысле помогает выместить накопившуюся агрессию. Что может быть лучше, игра которая дарит тебе чувство физического и ментального здоровья. Если тебе интересно такой вид спорта то почему тебя вообще должно смущать кого ты там набьёшь в уличной драке итд.
Кстати Тайсон был трусом в начале карьеры, тренер его не только физически он ещё и ментально его тренировал. Алсо я на словах терпила, но когда ситуация прижала выскочил против двух быдланов, правда отхватил, но терпеть унижения не стал.
> Алсо я на словах терпила, но когда ситуация прижала выскочил против двух быдланов, правда отхватил, но терпеть унижения не стал.
Ты нормальный. У тебя есть сноровка. Можно ещё пизже менталку прокачать, чтобы ты даже не думал что ты терпила, и вообще не задумывался ни о чём, сразу бы выскакивал автоматом как зверь и жил по своим правилам, распостраняя их на окружающий мир. Тем и живём.
И ещё не раз видел как чел чмырил весь коллектив, а когда приезжали люди поговорить с ним это говно обсирало свои штанишки и начинало буквально давить на жалость, мол у меня мама больная или сердечко колит, даже когда речь шла по разам выйти. Ну и кто теперь крутой? Короче всё это хуйня про дерзость и абсолютное бесстрашие, все боятся.
>все боятся
Ты просто оправдываешь страх. Это типо индульгенция для бездействия? Все боятся. На любого найдётся рыба покрупнее. Зарабатываешь 500к в месяц? Ха, найдётся стартапер который 3 миллиона в неделю получает. Бьёшь ебальники как дюба? На тебя найдётся свой усик. Это никогда не закончиться. И ты не должен об этом думать . Как уже говорил неоднократно, за этими мыслями нет ничего. Ты можешь долго их копать - и просто вглядываться в бездну, которая парализует тебя. Мусолить тему "все боятся" можно бесконечно. Мне это не интересно. Надо стараться уходить в реальный мир. Факт в том что характер поддаётся изменению. Всю остальную беллетристику можешь оставить чтобы кадрить женщин, может им эти рассуждения покажутся романтичными.
Ты же понимаешь, что есть такая как штука как эго? Ну типа, с точки зрения логики да, все равны, но кто-то ровнее. Но с другой стороны, когда понимаешь, что не сможешь быть лучшим, возникает вопрос, а нахуя тогда ваще етим занимаца типа. Ну пойдешь ты на бокс, кого-то наебнешь, а потом тебя опрокинут без шансов. И что и чего. И смысл дальше по еблу получать. Максимум мотивацию на реванш найдешь. Но если и его с треском проигтаешь, то и заниматься дальше этой хуйней не хочется
Чё-то перестал ненавидеть тяночек. Подобрел. Чё на них злиться вечно. Если у них изимод, значит они круче. Зачем ссориться с тем кто мощнее тебя. Злость от бессилия ни к чему не приводит. К тому же на практике женщины в общем-то такие же люди. Я говорил что они, якобы носят маску. Ну, так все люди носят маски, в том числе и мужчины. Личность штука гибкая, она меняется в зависимости от контекста. Кто-то называет это личностным ростом, кто-то лицемерием, называйте как хотите, суть одна, по Юнгу весь тот набор мыслей - это просто павлиний хвост. Красивая оболочка, рекламный постер. Существуют только вульгарные первичные потребности: голод, любовь, личные девиации, желание посрать. Всё остальное - просто способы добиться закрытия потребностей. Тот кто не может реализовать свои желания закапывается в самообман, выдумывая тысячу поводов что это ему на самом деле не нужно и цель его жизни в другом. Так что когда я говорил что женщины не умеют по-настоящему любить - в общем-то этого не умеют делать и мужчины. Да и я усомнился в заинтересованности в сексе. Позиция была в том что женщинам не нравится секс, они все абсолютно фригидны. Но, нравится ли секс мужчинам? Из всех тик-токов и рекламных постеров трубят что да - мужчины только этого и желают. В таком случае, почему не изобрели натуральную дырку из мяса и не продавали бы её всему мужскому населению. Мужчинам не интересен половой акт. Никому не интересен половой акт. Всем интересно социальное взаимодействие которое с ним связано. Вся эротика и порнография заточена под образы и сюжеты. Всем нужна драма, контекст, статус, ощущение нужности и сюжет. Секс и близость - это всегда надстройка из психологии и социума.. Эротика не отделима от социума. Корпоративная этика хочет заставить нас думать, что вот социум это когда ты такой абсолютно нейтральный оффисный цветочек говоришь шаблонными фразами. Нет. Это крохотная часть социума. В социум входит множество аспектов включая и секс. По этой же причине, на проституток которые не общаются с клиентами больше всего жалоб. Мужчина приходит туда не для того чтобы посувать свой короткоствол в мясную кобуру. Мужчина приходит в живой тетр, где за деньги можно поучаствовать в сеансе любви. В добавок ко всему абзацу, представление о женщинах во многом искажено реджбайтовыми тик-токами, цель которых взорвать пукан у мужского населения тем самым получив популярность. Отсюда и эти "женщинам теперь нужно чтобы у тебя зп был от миллиона". Псиоп из троль-паст захватывает разум. Надо это игнорировать. Реальность такова, что хоть у женщин и изимод - это не значит что любая писечка может стать директором просто повеляв задницой. Знаете почему? Потому что женщин много. Женщины конкурируют с другими женщинами. Одна может только глазки строить, а другая может и глазки строить и кубернетес кластер траблшутить. Ну и кого взять - очевидно. Чед может взять себе одну девушку. Но чё вы думаете, эта девушка забила слот и сидит как предмет? Когда чед начнёт брать вторую - первая почувствует запах конкуренции, жадность. Поэтому начнёт вставлять палки в колёса чеду. Так что чед не сможет вывести 10 женщин за раз - они коллективно его ёбнут. А инцелы.. проблема инцелов не в том что они 170. У нас начальник карлан 150 - у него жена есть, довольно красивая альтушка. Проблема инцелов в том что они душные и скучные, в общем то как и я. Вопрос "что ты можешь им дать? кто ты такой чтобы быть любымым?". Вопрос простой, словно проходишь собеседование. Забудь весь этот бред про чедиков, собачек и карланов. Попробуй залезть в черепную коробку другому человеку, и подумать: а почему его внимание вообще должно быть обращено на тебя? Ты ж не миллион долларов, чтобы тебя все любили. Стало быть и ожидать благодати с неба не приходится.
В такой момент окружение становится невероятно тяжёлым. Кажется, у меня нет времени на подобные рассуждения (те что выше).
Чё-то перестал ненавидеть тяночек. Подобрел. Чё на них злиться вечно. Если у них изимод, значит они круче. Зачем ссориться с тем кто мощнее тебя. Злость от бессилия ни к чему не приводит. К тому же на практике женщины в общем-то такие же люди. Я говорил что они, якобы носят маску. Ну, так все люди носят маски, в том числе и мужчины. Личность штука гибкая, она меняется в зависимости от контекста. Кто-то называет это личностным ростом, кто-то лицемерием, называйте как хотите, суть одна, по Юнгу весь тот набор мыслей - это просто павлиний хвост. Красивая оболочка, рекламный постер. Существуют только вульгарные первичные потребности: голод, любовь, личные девиации, желание посрать. Всё остальное - просто способы добиться закрытия потребностей. Тот кто не может реализовать свои желания закапывается в самообман, выдумывая тысячу поводов что это ему на самом деле не нужно и цель его жизни в другом. Так что когда я говорил что женщины не умеют по-настоящему любить - в общем-то этого не умеют делать и мужчины. Да и я усомнился в заинтересованности в сексе. Позиция была в том что женщинам не нравится секс, они все абсолютно фригидны. Но, нравится ли секс мужчинам? Из всех тик-токов и рекламных постеров трубят что да - мужчины только этого и желают. В таком случае, почему не изобрели натуральную дырку из мяса и не продавали бы её всему мужскому населению. Мужчинам не интересен половой акт. Никому не интересен половой акт. Всем интересно социальное взаимодействие которое с ним связано. Вся эротика и порнография заточена под образы и сюжеты. Всем нужна драма, контекст, статус, ощущение нужности и сюжет. Секс и близость - это всегда надстройка из психологии и социума.. Эротика не отделима от социума. Корпоративная этика хочет заставить нас думать, что вот социум это когда ты такой абсолютно нейтральный оффисный цветочек говоришь шаблонными фразами. Нет. Это крохотная часть социума. В социум входит множество аспектов включая и секс. По этой же причине, на проституток которые не общаются с клиентами больше всего жалоб. Мужчина приходит туда не для того чтобы посувать свой короткоствол в мясную кобуру. Мужчина приходит в живой тетр, где за деньги можно поучаствовать в сеансе любви. В добавок ко всему абзацу, представление о женщинах во многом искажено реджбайтовыми тик-токами, цель которых взорвать пукан у мужского населения тем самым получив популярность. Отсюда и эти "женщинам теперь нужно чтобы у тебя зп был от миллиона". Псиоп из троль-паст захватывает разум. Надо это игнорировать. Реальность такова, что хоть у женщин и изимод - это не значит что любая писечка может стать директором просто повеляв задницой. Знаете почему? Потому что женщин много. Женщины конкурируют с другими женщинами. Одна может только глазки строить, а другая может и глазки строить и кубернетес кластер траблшутить. Ну и кого взять - очевидно. Чед может взять себе одну девушку. Но чё вы думаете, эта девушка забила слот и сидит как предмет? Когда чед начнёт брать вторую - первая почувствует запах конкуренции, жадность. Поэтому начнёт вставлять палки в колёса чеду. Так что чед не сможет вывести 10 женщин за раз - они коллективно его ёбнут. А инцелы.. проблема инцелов не в том что они 170. У нас начальник карлан 150 - у него жена есть, довольно красивая альтушка. Проблема инцелов в том что они душные и скучные, в общем то как и я. Вопрос "что ты можешь им дать? кто ты такой чтобы быть любымым?". Вопрос простой, словно проходишь собеседование. Забудь весь этот бред про чедиков, собачек и карланов. Попробуй залезть в черепную коробку другому человеку, и подумать: а почему его внимание вообще должно быть обращено на тебя? Ты ж не миллион долларов, чтобы тебя все любили. Стало быть и ожидать благодати с неба не приходится.
В такой момент окружение становится невероятно тяжёлым. Кажется, у меня нет времени на подобные рассуждения (те что выше).
>Но с другой стороны, когда понимаешь, что не сможешь быть лучшим, возникает вопрос, а нахуя тогда ваще етим занимаца типа
"Понимаешь"? С чего ты взял что ты что-то "понимаешь"? Твои вопросы вообще верифицируемы, чтобы их вообще возможно было "понять"? Я виж только бурную рефлексию, направленную на оцепенение. Понимания и знаний в этом нет никакого. Это просто пустота в которую ты смотришь.
>Ну пойдешь ты на бокс, кого-то наебнешь, а потом тебя опрокинут без шансов
А в африке дети голодают... Ну.. бывает..
>Проблема инцелов в том что они душные и скучные, в общем то как и я
Чушь. Ты довольно смешной и забавный чел. Единственное, что в тебе есть, пожалуй, странного, это то что тебя иногда заносит. Ты как будто бы готов до бесконечности спорить на тему, где считаешь себя правым. При этом не замечая того, что тема начала утомлять
Это буквально единственное, что я в тебе замечал
Ну помимо того что ты ха, педик!
>Ты как будто бы готов до бесконечности спорить на тему, где считаешь себя правым
Нет, я просто не знаю момента когда диалог закончен. Типо чел со мной спорит. Ну.. мне прикольно.. почему бы не ответить. А может я его заебал уже! :(
Это и называется "душный" кстати.
Ну в интернет диалогах пох, а телку такое заебет. Ну типа ты ему слово, он тебе три научные статьи. Это и мэнов иногда бесит, че уж говорить про баб. Мне кажется чю у тебя есть, ну наверное чето интересное можешь рассказать. Ток научица более лаконичнее пиздеть, ну и темку переводить в другое русло, избегать споров короч
Ну и милим быть по возможности, типа там поддерживать как-то и т.д. И найдешь свою серьёзку на изи
Ну вот о чём и речь. Когда споришь, думаешь только о себе, "чего бы спиздануть чтобы дальше интересно было". Слишком эгоистично. Явно отсутствие навыков общения сказывается. Надо во всю эту картину впысывать собеседника, и думать об его интересах то же. Может это его уже раздражает.
>Ты ваще не думал бросать?
Нет. Мне нравится.
Мне не нравится потом на спарринге задыхаться через минуту, создавая лёкгую живую грушу для школьников. Вот-с может получиться усидеть на двух стульях при помощи наносижек.
Когда бросал алкоголь я просто перестал пить. Просто проснулся и такой "блин не хочу пить". Иду среди маказина привычно захожу в разел пива. Смотрю на пиво и такой "нет чёт ваще не хочется". Вот это называется "не хочу пить". А когда ты там блин сидишь корчишься по абстрактным причинам типо "надо", "мама сказала вредно" и потом через 4 дня снова начинаешь - это хуйня какая-то. Почему бы просто не признать что тебе нравиться. Ну будут в тебя тыкать зожники пальцем и чё и чего. Похуй ваще.
Ты возможно просто не проспиртовался до такой стадии, когда не пить уже не можешь. Тип, ты же наверняка видел трясущегося дона симона на мармышках. Вот это вот оно и есть. Ну и с сигами также
Ты тупо НЕ МОЖЕШЬ их бросить. Даже по своему опыту могу сказать, что каждый раз как я бросаю курить у меня часа через 2 поднимается температура тела и начинает гореть кожа. То есть меня неиронично начинает колдоебить
Я хз какой у тебя стаж и по скольку ты конкретно куришь. Но если ты прям капитальная прокуратура, хуй ты там че бросишь просто так
>каждый раз как я бросаю курить у меня часа через 2 поднимается температура тела и начинает гореть кожа. То есть меня неиронично начинает колдоебить
Да. Но это всего три дня будет длиться. На четвёртый день тебе станет значительно лучше. Ну потерпи ёпт, если хочешь курить. Чё плохого с того что ты просто 3 дня поваляешься, отдохнёшь и не будешь ничего делать?
>Ну и с сигами также
Не не, у сигарет как раз прикол в том что чтобы бросить курить достаточно просто перестать курить (внезапно!).
С алкоголем там другая ситуация. Алкашки действительно могут умереть если не выпьют. Алкоголь встраивается в обмен веществ. Им нужны таблетки специальные чтобы бросить. И это не нитотиновый мел типо табекса, а реально вот прямо если они не будут пить таблетки они могут умереть.
С никотином ничего подобного нет. Ты хоть 10 лет кури - если просто перестаешь это делать - не умрёшь. Твой организм тебе ещё и спасибо скажет.
>Поинтересовался в гугле сколько у этих продаванш зарплата
Зависит от города. В ДС вряд ли платят 30к, потому что есть много дноработ, где платят 50-100к.
Да. Вже как.. пол-года походу как выписался в хохлы-обрыги и стал аццким русофобом 47. Добро пожаловать в мой тред.
Да бля каким тупорылым надо быть чтобы в 2026 любить рашку. Уже даже прожжёные зетники типо фасольки и абу съебали по казахстанам и армениям. Скоро сам путин съебёт в грузию будет рофлить над вами.
>ЫЫЫ Я НЕ ХОЧУ МОБКУ В СЕНТЯБРЕ ТАМ МОГУТ УБИТЬ НА ЭСВЭОУ
>КОГДА СТРАНА ВО МНЕ ТАК НУЖДАЛАСЬ В СЕНТЯБРЕ Я ПЕРЕСЕК ВЕРХНИЙ ЛАРС
>Я НЕ ХОЧУ ЗАЩИЩАТЬ СТРАНУ ОТ НАЦИСТОВ ТАМ МОГУТ УБИТЬ
> у меня часа через 2 поднимается температура тела и начинает гореть кожа
Кста, тоже самое сёдня ощутил. Этот гло ебучий не заменяет сигареты, поэтому дебаф от сижек в общем-то кроет. Тож кажые 2 часа поднималась температура и какой-то хуйней отхаркивался. Но каждый раз потом отпускало и становилось постепенно лучше. Если хочешь бросить тебе это придётся в любом случае пержить. Представь что ты просто заболел и тебе нужно полежать отдохнуть пока всё само не пройдёт.
>пикрелейтед
Вот такое будущее нас ждет, если к власти придет алкоголик. Все черные будут висеть на столбах, мгага
>Если хочешь бросить тебе это придётся в любом случае пержить. Представь что ты просто заболел и тебе нужно полежать отдохнуть пока всё само не пройдёт.
Это оч сложно пережить, потому что сиги по факту такой же наркотик как и все остальные, просто оч лайтовый. Табачные корпорации просто пролоббировали решения благодаря которым табачка разрешена, но в целом сиги порадают под 4ю категорию наркотиков. Хотя мб там и не категориями это все измеряется, а видами, я уже не помню. Но по степени воздействия на организм это такая же отрава, причем даже более сильная, чем условная трава. Но трава запрещена, а табачка нет. Потому что у сильных мира сего интерес имеется. Как и когда то имелся выращивать опиаты и насильно толкать в Китай. Там где крутятся деньги снимут любые запреты и ограничения, лишь бы денюжка капала на балансик. Поэтому гуков коомили опиумом, а гоев до сих пор кормят табачкой. Синдром отмены от которой тоже довольно неприятный, хоть и не настолько критичный, как при отказе от геры
Там не только резкое повышение температуры тела. Там и тошнота, и озноб, и резкий скачок давления с барабанящей болью в висках. Может резко подскочить чувство голода, что ты обжираться начнешь в три ложки. Повышенная сонливлсть. Чувство тревоги. Может и суставы начать резко ломить.
Короче хватает прелестей. И не каждый может, а главное хочет это перетерпеть. Потому что есть и психологическая зависимость. Если ты привык перекуривать каждый раз после завершения какой либо задачи, можешь без сигарет впасть в фрустрацию и запаниковать, потому что возникнет чувство пустоты, которую тебе нечем заполнить
В общем, тяжело это. Не говоря уже о том, что многие кому удается бросить, все равно возвращаются к курению спустя полгода-год. Ну а хуле, все доступно. В любом киоске продается. А тяга то никуда не денется. Ни через год, ни через два, ни через десять. Стоит войти в ритм и все, всю жизнь будешь на невидимом неосязаемом крючке, которым тебя вновь может подковырнуть
>пикрелейтед
Вот такое будущее нас ждет, если к власти придет алкоголик. Все черные будут висеть на столбах, мгага
>Если хочешь бросить тебе это придётся в любом случае пержить. Представь что ты просто заболел и тебе нужно полежать отдохнуть пока всё само не пройдёт.
Это оч сложно пережить, потому что сиги по факту такой же наркотик как и все остальные, просто оч лайтовый. Табачные корпорации просто пролоббировали решения благодаря которым табачка разрешена, но в целом сиги порадают под 4ю категорию наркотиков. Хотя мб там и не категориями это все измеряется, а видами, я уже не помню. Но по степени воздействия на организм это такая же отрава, причем даже более сильная, чем условная трава. Но трава запрещена, а табачка нет. Потому что у сильных мира сего интерес имеется. Как и когда то имелся выращивать опиаты и насильно толкать в Китай. Там где крутятся деньги снимут любые запреты и ограничения, лишь бы денюжка капала на балансик. Поэтому гуков коомили опиумом, а гоев до сих пор кормят табачкой. Синдром отмены от которой тоже довольно неприятный, хоть и не настолько критичный, как при отказе от геры
Там не только резкое повышение температуры тела. Там и тошнота, и озноб, и резкий скачок давления с барабанящей болью в висках. Может резко подскочить чувство голода, что ты обжираться начнешь в три ложки. Повышенная сонливлсть. Чувство тревоги. Может и суставы начать резко ломить.
Короче хватает прелестей. И не каждый может, а главное хочет это перетерпеть. Потому что есть и психологическая зависимость. Если ты привык перекуривать каждый раз после завершения какой либо задачи, можешь без сигарет впасть в фрустрацию и запаниковать, потому что возникнет чувство пустоты, которую тебе нечем заполнить
В общем, тяжело это. Не говоря уже о том, что многие кому удается бросить, все равно возвращаются к курению спустя полгода-год. Ну а хуле, все доступно. В любом киоске продается. А тяга то никуда не денется. Ни через год, ни через два, ни через десять. Стоит войти в ритм и все, всю жизнь будешь на невидимом неосязаемом крючке, которым тебя вновь может подковырнуть
>что сиги по факту такой же наркотик как и все остальные, просто оч лайтовый
Всё что угодно - наркотик, если он внесён в список наркотиков.
>Но трава запрещена, а табачка нет.
Вот-с в таком мире и живём.
Вообще единственная причина запрета наркотиков - это монополизация их торговли спецслужбами и гэбнёй.
Эксперементы на мышах опровергли. Мыши становятся наркоманами только если их запирают в клетке где буквально нечего делать кроме как долбить. В клетке где созданы приятные условия, где есть другие мыши с которыми можно социально взаимодействовать - никто из мышей не становится зависимым все может только пробуют раз и всё.
Также и с людьми. Во времена когда наркотики продавали барыги, у них был термин "Кит" это чел которому понравилось и он будет постоянным клиентом. Т.е. только из 10 человек где-то едвали иногда один подсаживался на герыч.
Более того, поп-культура рисует наркоманов как гангстеров-головорезов, психопатов которым нельзя доверять. Но на практике, наркоманы чаще всего просто обычные люди, ничем вообще не отличающиеся от чела который курит. Они также ходят на работу, платят налоги, занимаются спортом. Просто торч курит травку вместо сиг. А потом может пойти играть в тенис.
А падение Китая от опиума - сильно приувеличена. У них там и так была разруха после восстаний и давления соседних держав. Они там по 14-16 часов в сутки изнурительно ебошили. Конечно они все посели на опиум - подсадить их на это довольно тонкий шаг.
> И не каждый может, а главное хочет это перетерпеть. Потому что есть и психологическая зависимость.
Психологическая зависимость это и значит "не хочу бросать курить". Психологическая зависимость - это когда ты все симптомы перетерпел, а потом снова решил начать.
>многие кому удается бросить, все равно возвращаются к курению спустя полгода-год
О, это я. Даж через 3 года кабекнуться может.
>к моба играм как относишься?
Как 100-летний дед. Не понимаю. Блокирую!!!
Не умею в них играть. Сложна сложна непонятна. Что дота, что лол, чмобики какие-то по карте ходят разноцветные деруться походу чо происходит ваащее стращна вырубай. Хуже только хойка.
`ps aux | grep qemu | grep 'debian-11' | grep 'monitor'`
Получим что-то типо
`-chardev socket,id=charmonitor,fd=37,server=on,wait=off -mon chardev=charmonitor,id=monitor,mode=control`
Это так называемый "монитор" - это и есть наш сокет. Он работает по протоколу QMP или HMP (qemu monitor protocol ничего необычного). Поищем теперь этот сокет
```
root@localhost:/vm/images# ss -xlp | grep debian-11
u_str LISTEN 0 1 /var/lib/libvirt/qemu/domain-3-debian-11/monitor.sock 105835 * 0 users:(("qemu-system-x86",pid=17852,fd=37))
```
вот он у нас. Теперь мы можем по нему "пообщаться" наверное!
`nc -U /var/lib/libvirt/qemu/domain-3-debian-11/monitor.sock`
НЕ МОЖЕМ. Ничего не происходит. Ну и ещё бы. Обратим внимание на ` Recv-Q Send-Q` в выводе ss. Там Send-Q = 1. То есть он принимает только одно соединение. Выполним ss -xlp ещё раз мы заметим как Recv-Q прибавился.
Дело в том что сейчас у нас уже подключен libvirt к этмоу процессу.
`ss -xp | grep monitor.sock`
Остановим libvirt
`systemctl stop libvirtd.service libvirtd.socket libvirtd-ro.socket libvirtd-admin.socket`
И подключимся
```
root@localhost:/vm/images# nc -U /var/lib/libvirt/qemu/domain-3-debian-11/monitor.sock
{"QMP": {"version": {"qemu": {"micro": 1, "minor": 2, "major": 10}, "package": "Debian 1:10.2.1+ds-1ubuntu3"}, "capabilities": ["oob"]}}
{"execute": "qmp_capabilities"}
{"return": {}}
{"execute": "query-status"}
{"return": {"status": "running", "running": true}}
{"execute":"query-name"}
{"return": {"name": "debian-11"}}
```
Опана! Работает. Мы только что отправили по голому протоколу L4 unix-socket данные, т.е. вручную пообщались по QMP. Запросили `{"execute":"query-name"}` - там выдало debian-11.
Собсна как вы понимаете, раз ранее подключен libvirt, мы подобные запросы можем писать через более привычный интерфейс
```
systemctl start libvirtd.service libvirtd.socket libvirtd-ro.socket libvirtd-admin.socket
virsh qemu-monitor-command debian-11 --hmp 'info status'
```
QEMU Monitor - это условно передняя панель физического сервера. Т.е. мы можем через него вырубить kvm, можем включить, проверить индикаторы, добавить диск, отключить диск, подключить ipmi. Вот за эту область отвечает монитор. Чего он делать не может - так это лезть внутрь ОС. Благодаря монитору мы можем собрать общую информацию о потреблении виртуальной машины, но мы ничего не можем знать о потреблении процессов внутри.
Для этого создадим отдельный сокет:
```
ps aux | grep debian-11 | grep socket
virt-xml debian-11 --add-device --channel unix,target.type=virtio,target.name=lab.test.0
virsh destroy debian-11 && virsh start debian-11
ps aux | grep debian-11 | grep socket
```
Обратим внимание как у нас запустился qemu. Channel в <devices> трансформируется в chardev по синаксису qemu. У нас добавился fd=30.
-chardev socket,id=charchannel1,fd=30,server=on,wait=off
-chardev socket,id=charmonitor,fd=37,server=on,wait=off
У нас создался канал через сокеты с хостом и вмкой. Проверим:
```
#на хосте
ss -xlp | grep debian-11
ls -lah /run/libvirt/qemu/channel/4-debian-11/lab.test.0
#на вмке
ls /dev/virtio-ports/lab.test.0
```
Вот такой вот крутая штука это channel. С одной стороны девайс-поток, с другой сокет. Мы даже можем по этому пайпу пошушукаться немного:
```
#на вмке (думаю очевидно что на вмке)
tail -f /dev/virtio-ports/lab.test.0
#на хосте
echo "privet iz hosta" | socat - UNIX-CONNECT:/run/libvirt/qemu/channel/4-debian-11/lab.test.0
```
Это и есть весь механизм. Никакой сети, никакой магии- байты через virtio.
Так вот, существует уже готовая служба `qemu-guest-agent` которая позволяет через этот сокет делать всякие вещи с вмкой находясь на хосте. Для начала с хоста выполним
` virsh domifaddr debian-11 --source agent`
Не открывается? ну очевидно потому что мы гуест-эйджент ещё не установили. Установим же
```
apt install qemu-guest-agent
systemctl enable --now qemu-guest-agent
```
И закономерно получим `A dependency job for qemu-guest-agent.service failed. See 'journalctl -xe' for details.`. В журнале должно быть что-то типа
`Sep 20 17:45:01 localhost systemd[1]: Timed out waiting for device dev-virtio\x2dports-org.qemu.guest_agent.0.device - /dev/virtio-ports/org.qemu.guest_agent.0.`
Очевидно в конфигурации он ожидает другое устройство. Думаю, рассказывать где искать конфиги не требуется. Если читатель таки решил поднять виртуалки, надеюсь пользоваться линуксом то он умеет хотя бы как-то.
```
systemctl status qemu-guest-agent.service
vim /lib/systemd/system/qemu-guest-agent.service
root@localhost:/vm/images# find /etc/ -name 'qemu-guest-agent'
/etc/init.d/qemu-guest-agent
root@localhost:/vm/images# vim /etc/init.d/qemu-guest-agent
root@localhost:/vm/images# systemctl enable --now qemu-guest-agent
root@debian:~# man qemu-ga
root@debian:~# vim /lib/systemd/system/qemu-guest-agent.service
root@debian:~# systemctl daemon-reload
root@debian:~# systemctl start qemu-guest-agent
root@debian:~# systemctl status qemu-guest-agent
```
Хотя нет, наебал. Всё-таки тут есть подвоха. qemu-ga почему-то по-умолчанию настроен конкретно на своё название девайса. И конфига у него нет. Можно создать конфиг. Но я тупо в юните прописал
```
root@debian:~# systemctl cat qemu-guest-agent.service
# /lib/systemd/system/qemu-guest-agent.service
[Unit]
Description=QEMU Guest Agent
BindsTo=dev-virtio\x2dports-lab.test.0.device
After=dev-virtio\x2dports-lab.test.0.device
[Service]
ExecStart=-/usr/sbin/qemu-ga --path=/dev/virtio-ports/lab.test.0
Restart=always
RestartSec=0
[Install]
```
Ну что чюваки. Агент готов. Теперь с хоста повторим команду
`virsh domifaddr debian-11 --source agent`
иии.. нихрена не получилось. Почему?
>With qemu, if name is "org.qemu.guest_agent.0", then libvirt can interact with a guest agent installed in the guest
Это значение захардкожено. Блядь...
Ну... наебал значит. Придётся делать всё по нормальному имени. Но пока мы этого не сделали можем проверить как мы подключаемся к сокету агента:
```
root@localhost:/vm/images# nc -U /run/libvirt/qemu/channel/8-debian-11/lab.test.0
{"execute":"guest-ping"}
{"return": {}}
{"execute":"guest-info"}
{"return": {"version": "5.2.0", и так далее...
```
Тут уже работает протокол QGA. По нему мы можем управлять системой, запускать команды например:
```
по тому же сокету
"execute": "guest-exec",
"arguments": {
"path": "/usr/bin/uptime",
"capture-output": true
}
}
{"return": {"pid": 420}}
{
"execute": "guest-exec-status",
"arguments": {
"pid": 420
}
}
{"return": {"exitcode": 0, "out-data": "IDE0OjUwOjIyIHVwIDE1IG1pbiwgIDEgdXNlciwgIGxvYWQgYXZlcmFnZTogMC4wMCwgMC4wMCwgMC4wMAo=", "exited": true}}
^C
root@localhost:/vm/images# echo 'IDE0OjUwOjIyIHVwIDE1IG1pbiwgIDEgdXNlciwgIGxvYWQgYXZlcmFnZTogMC4wMCwgMC4wMCwgMC4wMAo=' | base64 -d
14:50:22 up 15 min, 1 user, load average: 0.00, 0.00, 0.00
```
Вот так и работают команды агента. А теперь вернём всё на нормальное имя канала. Надеюсь вы сохранили конфиг))
Ну короче пару строчек поменять, всё перезагрузить, и вуа-ля
```
root@localhost:/vm/images# virsh domifaddr debian-11 --source agent
Name MAC address Protocol Address
-------------------------------------------------------------------------------
lo 00:00:00:00:00:00 ipv4 127.0.0.1/8
- - ipv6 ::1/128
ens3 52:54:00:44:85:fb ipv4 10.0.0.245/24
- - ipv6 fe80::5054:ff:fe44:85fb/64
```
Вот virsh domifaddr работает по тому же протоколу.
`ps aux | grep qemu | grep 'debian-11' | grep 'monitor'`
Получим что-то типо
`-chardev socket,id=charmonitor,fd=37,server=on,wait=off -mon chardev=charmonitor,id=monitor,mode=control`
Это так называемый "монитор" - это и есть наш сокет. Он работает по протоколу QMP или HMP (qemu monitor protocol ничего необычного). Поищем теперь этот сокет
```
root@localhost:/vm/images# ss -xlp | grep debian-11
u_str LISTEN 0 1 /var/lib/libvirt/qemu/domain-3-debian-11/monitor.sock 105835 * 0 users:(("qemu-system-x86",pid=17852,fd=37))
```
вот он у нас. Теперь мы можем по нему "пообщаться" наверное!
`nc -U /var/lib/libvirt/qemu/domain-3-debian-11/monitor.sock`
НЕ МОЖЕМ. Ничего не происходит. Ну и ещё бы. Обратим внимание на ` Recv-Q Send-Q` в выводе ss. Там Send-Q = 1. То есть он принимает только одно соединение. Выполним ss -xlp ещё раз мы заметим как Recv-Q прибавился.
Дело в том что сейчас у нас уже подключен libvirt к этмоу процессу.
`ss -xp | grep monitor.sock`
Остановим libvirt
`systemctl stop libvirtd.service libvirtd.socket libvirtd-ro.socket libvirtd-admin.socket`
И подключимся
```
root@localhost:/vm/images# nc -U /var/lib/libvirt/qemu/domain-3-debian-11/monitor.sock
{"QMP": {"version": {"qemu": {"micro": 1, "minor": 2, "major": 10}, "package": "Debian 1:10.2.1+ds-1ubuntu3"}, "capabilities": ["oob"]}}
{"execute": "qmp_capabilities"}
{"return": {}}
{"execute": "query-status"}
{"return": {"status": "running", "running": true}}
{"execute":"query-name"}
{"return": {"name": "debian-11"}}
```
Опана! Работает. Мы только что отправили по голому протоколу L4 unix-socket данные, т.е. вручную пообщались по QMP. Запросили `{"execute":"query-name"}` - там выдало debian-11.
Собсна как вы понимаете, раз ранее подключен libvirt, мы подобные запросы можем писать через более привычный интерфейс
```
systemctl start libvirtd.service libvirtd.socket libvirtd-ro.socket libvirtd-admin.socket
virsh qemu-monitor-command debian-11 --hmp 'info status'
```
QEMU Monitor - это условно передняя панель физического сервера. Т.е. мы можем через него вырубить kvm, можем включить, проверить индикаторы, добавить диск, отключить диск, подключить ipmi. Вот за эту область отвечает монитор. Чего он делать не может - так это лезть внутрь ОС. Благодаря монитору мы можем собрать общую информацию о потреблении виртуальной машины, но мы ничего не можем знать о потреблении процессов внутри.
Для этого создадим отдельный сокет:
```
ps aux | grep debian-11 | grep socket
virt-xml debian-11 --add-device --channel unix,target.type=virtio,target.name=lab.test.0
virsh destroy debian-11 && virsh start debian-11
ps aux | grep debian-11 | grep socket
```
Обратим внимание как у нас запустился qemu. Channel в <devices> трансформируется в chardev по синаксису qemu. У нас добавился fd=30.
-chardev socket,id=charchannel1,fd=30,server=on,wait=off
-chardev socket,id=charmonitor,fd=37,server=on,wait=off
У нас создался канал через сокеты с хостом и вмкой. Проверим:
```
#на хосте
ss -xlp | grep debian-11
ls -lah /run/libvirt/qemu/channel/4-debian-11/lab.test.0
#на вмке
ls /dev/virtio-ports/lab.test.0
```
Вот такой вот крутая штука это channel. С одной стороны девайс-поток, с другой сокет. Мы даже можем по этому пайпу пошушукаться немного:
```
#на вмке (думаю очевидно что на вмке)
tail -f /dev/virtio-ports/lab.test.0
#на хосте
echo "privet iz hosta" | socat - UNIX-CONNECT:/run/libvirt/qemu/channel/4-debian-11/lab.test.0
```
Это и есть весь механизм. Никакой сети, никакой магии- байты через virtio.
Так вот, существует уже готовая служба `qemu-guest-agent` которая позволяет через этот сокет делать всякие вещи с вмкой находясь на хосте. Для начала с хоста выполним
` virsh domifaddr debian-11 --source agent`
Не открывается? ну очевидно потому что мы гуест-эйджент ещё не установили. Установим же
```
apt install qemu-guest-agent
systemctl enable --now qemu-guest-agent
```
И закономерно получим `A dependency job for qemu-guest-agent.service failed. See 'journalctl -xe' for details.`. В журнале должно быть что-то типа
`Sep 20 17:45:01 localhost systemd[1]: Timed out waiting for device dev-virtio\x2dports-org.qemu.guest_agent.0.device - /dev/virtio-ports/org.qemu.guest_agent.0.`
Очевидно в конфигурации он ожидает другое устройство. Думаю, рассказывать где искать конфиги не требуется. Если читатель таки решил поднять виртуалки, надеюсь пользоваться линуксом то он умеет хотя бы как-то.
```
systemctl status qemu-guest-agent.service
vim /lib/systemd/system/qemu-guest-agent.service
root@localhost:/vm/images# find /etc/ -name 'qemu-guest-agent'
/etc/init.d/qemu-guest-agent
root@localhost:/vm/images# vim /etc/init.d/qemu-guest-agent
root@localhost:/vm/images# systemctl enable --now qemu-guest-agent
root@debian:~# man qemu-ga
root@debian:~# vim /lib/systemd/system/qemu-guest-agent.service
root@debian:~# systemctl daemon-reload
root@debian:~# systemctl start qemu-guest-agent
root@debian:~# systemctl status qemu-guest-agent
```
Хотя нет, наебал. Всё-таки тут есть подвоха. qemu-ga почему-то по-умолчанию настроен конкретно на своё название девайса. И конфига у него нет. Можно создать конфиг. Но я тупо в юните прописал
```
root@debian:~# systemctl cat qemu-guest-agent.service
# /lib/systemd/system/qemu-guest-agent.service
[Unit]
Description=QEMU Guest Agent
BindsTo=dev-virtio\x2dports-lab.test.0.device
After=dev-virtio\x2dports-lab.test.0.device
[Service]
ExecStart=-/usr/sbin/qemu-ga --path=/dev/virtio-ports/lab.test.0
Restart=always
RestartSec=0
[Install]
```
Ну что чюваки. Агент готов. Теперь с хоста повторим команду
`virsh domifaddr debian-11 --source agent`
иии.. нихрена не получилось. Почему?
>With qemu, if name is "org.qemu.guest_agent.0", then libvirt can interact with a guest agent installed in the guest
Это значение захардкожено. Блядь...
Ну... наебал значит. Придётся делать всё по нормальному имени. Но пока мы этого не сделали можем проверить как мы подключаемся к сокету агента:
```
root@localhost:/vm/images# nc -U /run/libvirt/qemu/channel/8-debian-11/lab.test.0
{"execute":"guest-ping"}
{"return": {}}
{"execute":"guest-info"}
{"return": {"version": "5.2.0", и так далее...
```
Тут уже работает протокол QGA. По нему мы можем управлять системой, запускать команды например:
```
по тому же сокету
"execute": "guest-exec",
"arguments": {
"path": "/usr/bin/uptime",
"capture-output": true
}
}
{"return": {"pid": 420}}
{
"execute": "guest-exec-status",
"arguments": {
"pid": 420
}
}
{"return": {"exitcode": 0, "out-data": "IDE0OjUwOjIyIHVwIDE1IG1pbiwgIDEgdXNlciwgIGxvYWQgYXZlcmFnZTogMC4wMCwgMC4wMCwgMC4wMAo=", "exited": true}}
^C
root@localhost:/vm/images# echo 'IDE0OjUwOjIyIHVwIDE1IG1pbiwgIDEgdXNlciwgIGxvYWQgYXZlcmFnZTogMC4wMCwgMC4wMCwgMC4wMAo=' | base64 -d
14:50:22 up 15 min, 1 user, load average: 0.00, 0.00, 0.00
```
Вот так и работают команды агента. А теперь вернём всё на нормальное имя канала. Надеюсь вы сохранили конфиг))
Ну короче пару строчек поменять, всё перезагрузить, и вуа-ля
```
root@localhost:/vm/images# virsh domifaddr debian-11 --source agent
Name MAC address Protocol Address
-------------------------------------------------------------------------------
lo 00:00:00:00:00:00 ipv4 127.0.0.1/8
- - ipv6 ::1/128
ens3 52:54:00:44:85:fb ipv4 10.0.0.245/24
- - ipv6 fe80::5054:ff:fe44:85fb/64
```
Вот virsh domifaddr работает по тому же протоколу.
Сейчас везде zabbix/prometheus + grafana. Так что главу автора в мусор. Мы сделаем свою гаву! про графану и заббикс!
Что могут делать системы мониторинга? В основнм пять вещей:
Сбор - достать число или состояние с машины.
Хранение - сложить значения с отметкой времени, чтобы была история.
Правила - решить,какое значение означает проблему.
Оповещение - сообщить человеку - почта, Telegram, вебхук
Визуализация - графики и дашборды.
Ремарка. В будущем собираюсь отдельно подробно изучить и zabbix и prometheus, и git и gitlab, и iptables. Именно подробно во всех нюансах. Однако некоторую "первичную" сводку хочу написать, как мост к другим точкам развития. Говорят что я еблан конешно. Зачем всё это изучать? Делать надо! Запилить свой проектик, тогда будет что сказать. И они правы (те кто так говорят). Но к сожалению мне обычно изучение намного интереснее. Вот "проект" что за ебать его в сраку "проект"? Ну высрал ты типовое решение. Это нейронка всё сделать может, блядь нахуй этим вообще заниматься?! Почему хрюши смотрят на то как соискатели делают кал который давно нейронка может сделать. Намного интереснее разобраться и понимать что происходит. Вот сгенерила нейрока проектик - его же НУЖНО прочитать. Иначе как ты поймёшь что она создала. Для того чтобы всё прочитать лучше знать всё в нюаснах как это работает, чтобы предьявить ей если найдёшь баги или неточности. Вот это интереснее! Можно просто заставить клод написать тебе проект, изучить как он работает, при необходимости подправить что-нибудь, и демонстрировать как свой!
Итак. zabbix и prometheus - это системы мониторинга.
Zabbix позиционируется как цельная система мониторинга со всем подряд: она может и собирать и хранить и анализировать и есть алертить и есть webgui даже всратенький. Архитектурное различие от графаны - это `push` - агент заббикса шлёт данные на сервер. Сервер просто ждёт данных.
Prometheus уже работает по архитектуре 'pull` - он сам отправляет http-запросы каждому экспортеру. Прометеус более компактный. Он умеет только собирать метрики, хранить их, и обрабтывать. Алертить он не умеет, для этого отдельный софт - alertmanager
А что за grafana? А grafana это вообще не система мониторинга. Это система визаулизации. Она не умеет ни собирать метрики, ни обрабатывать их. Но она умеет принимать данные и строить по ним графики. А также, она умеет алертить.
Ну, начнём с азов как всегда. Prometheus-server ставится на сервак который собственно будет обрабатывать запросы от нод. Если этот сервак умрёт - алертов не будет, мы никак не узнаем что система сломалась. Разумно этот сервер поставить вообще на отдельной физической ноде. А ещё лучше, поднять кластер отдельно с prometheus и распределённой реплицируемой БД который бы мониторил сам себя в том числе, и свои балансировщики, и нагрузку. Представили это? У меня бошка перегривается только от такой мысли. Для нашего лабораторного стенда мы сделаем максмально тупую схему где prometheus-server будет расположен просто ещё на одной vm-ке. Например.. пусть это будет centos9 для разнообразия. Создадим такой домен.
Так.. пароль как всегда не установлен. qcow2 помонтировать как loop не можем. Вспомним практику из первой главы с network block device
```
root@localhost:/vm/images# modprobe nbd
root@localhost:/vm/images# ls /dev/nbd*
root@localhost:/vm/images# qemu-nbd --format=qcow2 -c=/dev/nbd0 CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2
root@localhost:/vm/images# lsblk
root@localhost:/vm/images# mount /dev/nbd0p4 /mnt
root@localhost:/vm/images# mount --bind /sys /mnt/sys
root@localhost:/vm/images# mount --bind /proc /mnt/proc
root@localhost:/vm/images# mount --bind /dev /mnt/dev
root@localhost:/vm/images# chroot /mnt
[root@localhost /]# passwd
[root@localhost /]# touch /.autorelabel
[root@localhost /]# sync
[root@localhost /]# exit
root@localhost:/vm/images# umount /mnt/dev /mnt/sys /mnt/proc
root@localhost:/vm/images# umount /mnt
root@localhost:/vm/images# qemu-nbd -d /dev/nbd0
root@localhost:/vm/images# rmmod nbd
```
Всё, проперделись, сбросили пароль вот таким вот гумозным способом. Чатгпт как всегда хуйню какую-то галлюцинирует из несуществующих команд, а клод как-то стыдно напрягать по таким пустякам поэтому вот так сбрасываем пароль, старым дедовским методом.
Для начала надо проверить доступны ли на этой ноде qemu-agent запросы. Нах нам qemu agent? Понятия не имею. Ну... наверное мы же всё таки libvirt изучаем стало быть мы будем мерить метрики не самой vm-ки, а метрики хоста "что она знает о vm-ке" - т.е. метрики компьют-ноды простым языком. Но тут я внёс путианницу.. в качестве хоста у нас тоже виртуалка centos-9. Просто не охота засирать основную систему графанами всякими. Но как? У нас же все xml на хосте, как ты будешь смотреть guest-agent на виртуалке? А вот тут и применим сетевые способности libvirt. Создадим пользака на хосте guest, добавим его в группу libvirt, и с centos9 настроим ssh-ключи чобы пароль не вводить каждый раз.
`[root@localhost ~]# virsh -c qemu+ssh://guest@10.0.0.1/system list --all`
вот так.
Получается схема стала максимально дебильной. Прометеус у нас на vm-centos-9, на нём node_exporter, который черпает инфу с guest-agent который на хосте!, и на каждом vm ещё по node_exporter просто так для сравнения. Прямо как батин суп.. ухх бля..
Итак. Устанавливаем экспортер на одну из вм-ок.
```
apt install prometheus-node-exporter
systemctl status prometheus-node-exporter
curl localhost:9100/metrics
```
Из вывода курл, как видно, экспортер - это мини-HTTP-сервер который по запросу выдаёт метрики.
```
# HELP go_memstats_alloc_bytes_total Total number of bytes allocated, even if freed.
# TYPE go_memstats_alloc_bytes_total counter
go_memstats_alloc_bytes_total 4.727312e+06
```
Установим теперь сам прометеус на centos9 (он в epel есть)
`dnf install prometheus`
И вы не поверите, получаем
`[10955.199051] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/user.slice/user-0.slice/session-5.scope,task=dnf,pid=16062,uid=0
`
Этому говну не хватило озу. Невероятно! Но мы то опытные virsh инженеры. Ща добавим
user@localhost:~$ virsh setmem centos-9 4096 --live
dnf решил устроить себе пир на всю оперативку.
`[ 23.680595] ---[ end Kernel panic - not syncing: System is deadlocked on memory ]---`
Блядь. Ахуительна. "опытный инженер". Забыл буковку "М" - поставил 4096 кб памяти т.е. 4мб... не 4гб.
Ну ладно, запустили всё норм
```
[root@centos9 ~]# vim /etc/prometheus/prometheus.yml
[root@centos9 ~]# systemctl start prometheus
```
Сам прометеус уже напичкан вебмордой который по совместительству ещё и api
http://10.0.0.228:9090/query
Кста довольно прикольно помоему сделано. Намного пизже чем заббикс. Зачем заббиксом пользуются? Вот чё мы видим (см пикрил 1). Наш deibian11.local в up. Ну чё ещё тут тыкнуть можно не знаю.
Чё дальше? node_exporter в госте не скажет, что гость завис например при iowait. Для него это просто таймаут. Знать что случилось может только гипервизор
На centos9 как всегда нет норм пакета чтобы установить нормальный prometheus-libvirt-exporter. В учебнике под их хуйню скрипт делают. Скормим этот скрипт ботохуете, пусть он адаптирует нам его под прометеус. У node_exporter есть textfile collector он читает файлы .prom из каталога и публикует их вместе со своими метриками. Любой скрипт, пишущий туда текст в правильном формате, становится экспортером.
Чёт заибався в этими метриками. Их лучше бы отдельно изучать. Там ведь ещё алерты по ним настроить, заббикс. Пох. Потом. Для первого ознакомления сойдёт.
Сейчас везде zabbix/prometheus + grafana. Так что главу автора в мусор. Мы сделаем свою гаву! про графану и заббикс!
Что могут делать системы мониторинга? В основнм пять вещей:
Сбор - достать число или состояние с машины.
Хранение - сложить значения с отметкой времени, чтобы была история.
Правила - решить,какое значение означает проблему.
Оповещение - сообщить человеку - почта, Telegram, вебхук
Визуализация - графики и дашборды.
Ремарка. В будущем собираюсь отдельно подробно изучить и zabbix и prometheus, и git и gitlab, и iptables. Именно подробно во всех нюансах. Однако некоторую "первичную" сводку хочу написать, как мост к другим точкам развития. Говорят что я еблан конешно. Зачем всё это изучать? Делать надо! Запилить свой проектик, тогда будет что сказать. И они правы (те кто так говорят). Но к сожалению мне обычно изучение намного интереснее. Вот "проект" что за ебать его в сраку "проект"? Ну высрал ты типовое решение. Это нейронка всё сделать может, блядь нахуй этим вообще заниматься?! Почему хрюши смотрят на то как соискатели делают кал который давно нейронка может сделать. Намного интереснее разобраться и понимать что происходит. Вот сгенерила нейрока проектик - его же НУЖНО прочитать. Иначе как ты поймёшь что она создала. Для того чтобы всё прочитать лучше знать всё в нюаснах как это работает, чтобы предьявить ей если найдёшь баги или неточности. Вот это интереснее! Можно просто заставить клод написать тебе проект, изучить как он работает, при необходимости подправить что-нибудь, и демонстрировать как свой!
Итак. zabbix и prometheus - это системы мониторинга.
Zabbix позиционируется как цельная система мониторинга со всем подряд: она может и собирать и хранить и анализировать и есть алертить и есть webgui даже всратенький. Архитектурное различие от графаны - это `push` - агент заббикса шлёт данные на сервер. Сервер просто ждёт данных.
Prometheus уже работает по архитектуре 'pull` - он сам отправляет http-запросы каждому экспортеру. Прометеус более компактный. Он умеет только собирать метрики, хранить их, и обрабтывать. Алертить он не умеет, для этого отдельный софт - alertmanager
А что за grafana? А grafana это вообще не система мониторинга. Это система визаулизации. Она не умеет ни собирать метрики, ни обрабатывать их. Но она умеет принимать данные и строить по ним графики. А также, она умеет алертить.
Ну, начнём с азов как всегда. Prometheus-server ставится на сервак который собственно будет обрабатывать запросы от нод. Если этот сервак умрёт - алертов не будет, мы никак не узнаем что система сломалась. Разумно этот сервер поставить вообще на отдельной физической ноде. А ещё лучше, поднять кластер отдельно с prometheus и распределённой реплицируемой БД который бы мониторил сам себя в том числе, и свои балансировщики, и нагрузку. Представили это? У меня бошка перегривается только от такой мысли. Для нашего лабораторного стенда мы сделаем максмально тупую схему где prometheus-server будет расположен просто ещё на одной vm-ке. Например.. пусть это будет centos9 для разнообразия. Создадим такой домен.
Так.. пароль как всегда не установлен. qcow2 помонтировать как loop не можем. Вспомним практику из первой главы с network block device
```
root@localhost:/vm/images# modprobe nbd
root@localhost:/vm/images# ls /dev/nbd*
root@localhost:/vm/images# qemu-nbd --format=qcow2 -c=/dev/nbd0 CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2
root@localhost:/vm/images# lsblk
root@localhost:/vm/images# mount /dev/nbd0p4 /mnt
root@localhost:/vm/images# mount --bind /sys /mnt/sys
root@localhost:/vm/images# mount --bind /proc /mnt/proc
root@localhost:/vm/images# mount --bind /dev /mnt/dev
root@localhost:/vm/images# chroot /mnt
[root@localhost /]# passwd
[root@localhost /]# touch /.autorelabel
[root@localhost /]# sync
[root@localhost /]# exit
root@localhost:/vm/images# umount /mnt/dev /mnt/sys /mnt/proc
root@localhost:/vm/images# umount /mnt
root@localhost:/vm/images# qemu-nbd -d /dev/nbd0
root@localhost:/vm/images# rmmod nbd
```
Всё, проперделись, сбросили пароль вот таким вот гумозным способом. Чатгпт как всегда хуйню какую-то галлюцинирует из несуществующих команд, а клод как-то стыдно напрягать по таким пустякам поэтому вот так сбрасываем пароль, старым дедовским методом.
Для начала надо проверить доступны ли на этой ноде qemu-agent запросы. Нах нам qemu agent? Понятия не имею. Ну... наверное мы же всё таки libvirt изучаем стало быть мы будем мерить метрики не самой vm-ки, а метрики хоста "что она знает о vm-ке" - т.е. метрики компьют-ноды простым языком. Но тут я внёс путианницу.. в качестве хоста у нас тоже виртуалка centos-9. Просто не охота засирать основную систему графанами всякими. Но как? У нас же все xml на хосте, как ты будешь смотреть guest-agent на виртуалке? А вот тут и применим сетевые способности libvirt. Создадим пользака на хосте guest, добавим его в группу libvirt, и с centos9 настроим ssh-ключи чобы пароль не вводить каждый раз.
`[root@localhost ~]# virsh -c qemu+ssh://guest@10.0.0.1/system list --all`
вот так.
Получается схема стала максимально дебильной. Прометеус у нас на vm-centos-9, на нём node_exporter, который черпает инфу с guest-agent который на хосте!, и на каждом vm ещё по node_exporter просто так для сравнения. Прямо как батин суп.. ухх бля..
Итак. Устанавливаем экспортер на одну из вм-ок.
```
apt install prometheus-node-exporter
systemctl status prometheus-node-exporter
curl localhost:9100/metrics
```
Из вывода курл, как видно, экспортер - это мини-HTTP-сервер который по запросу выдаёт метрики.
```
# HELP go_memstats_alloc_bytes_total Total number of bytes allocated, even if freed.
# TYPE go_memstats_alloc_bytes_total counter
go_memstats_alloc_bytes_total 4.727312e+06
```
Установим теперь сам прометеус на centos9 (он в epel есть)
`dnf install prometheus`
И вы не поверите, получаем
`[10955.199051] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/user.slice/user-0.slice/session-5.scope,task=dnf,pid=16062,uid=0
`
Этому говну не хватило озу. Невероятно! Но мы то опытные virsh инженеры. Ща добавим
user@localhost:~$ virsh setmem centos-9 4096 --live
dnf решил устроить себе пир на всю оперативку.
`[ 23.680595] ---[ end Kernel panic - not syncing: System is deadlocked on memory ]---`
Блядь. Ахуительна. "опытный инженер". Забыл буковку "М" - поставил 4096 кб памяти т.е. 4мб... не 4гб.
Ну ладно, запустили всё норм
```
[root@centos9 ~]# vim /etc/prometheus/prometheus.yml
[root@centos9 ~]# systemctl start prometheus
```
Сам прометеус уже напичкан вебмордой который по совместительству ещё и api
http://10.0.0.228:9090/query
Кста довольно прикольно помоему сделано. Намного пизже чем заббикс. Зачем заббиксом пользуются? Вот чё мы видим (см пикрил 1). Наш deibian11.local в up. Ну чё ещё тут тыкнуть можно не знаю.
Чё дальше? node_exporter в госте не скажет, что гость завис например при iowait. Для него это просто таймаут. Знать что случилось может только гипервизор
На centos9 как всегда нет норм пакета чтобы установить нормальный prometheus-libvirt-exporter. В учебнике под их хуйню скрипт делают. Скормим этот скрипт ботохуете, пусть он адаптирует нам его под прометеус. У node_exporter есть textfile collector он читает файлы .prom из каталога и публикует их вместе со своими метриками. Любой скрипт, пишущий туда текст в правильном формате, становится экспортером.
Чёт заибався в этими метриками. Их лучше бы отдельно изучать. Там ведь ещё алерты по ним настроить, заббикс. Пох. Потом. Для первого ознакомления сойдёт.
Не смотрел Яйца судьбы? Быдло
Мда раки..... по беспределу вам нет равных 👍
Слушай, а вот ты как рак, вот ты можешь подтвердить что ты нытик по своей натуре, например? Вот типа у меня описание знака например оч на меня похоже. Ну там обидчивость, нытье, даж привязанность к образу матери, которую приписывают ракам, и та присутствует по сути
>ты можешь подтвердить что ты нытик по своей натуре, например?
Спрашиваешь у чела у которого все дневники состоят нытья и пространных рассуждений.
>обидчивость, нытье
обидчивость, нытье, пассивная агрессия, истероидность, тотемное животное - дарья штрошерер
>привязанность к образу матери
Не живите с мамкой. Это разрушительно и для мамки в том числе. Рано или поздно ёбнешь её молотком. Вот как-то спустя два года похуй уже на мамку особо стало, в плане уже и не злюсь на неё.
>Вот как-то спустя два года похуй уже на мамку особо стало, в плане уже и не злюсь на неё.
Мда быстро же ты забыл что она дала добро дядьке шоб тот нанял черножопных шлепнуть тебя
Даже не знаю что тут сказать
Выписан из раков, записан во всепрощающие девы 🙏
Двигаемся по спортику 😎😎😎
Издатель сказал "добро". Придётся отложить изучение виртуалочек и продолжить писательский труд, дооформить все оставшиеся 300 страниц. Эхх.. ну ничо закинусь габой, включу музычку так должно как по маслу пойти.
Ебат6 какой то полу-рак полу-хуй у меня начался. В воскресенье заложило нос и прямо задыхаться начал как при аллергии. Потом вроде начало проходить. Но нос всё равно сморкался всё раздражённое два дня было чесалось. Сейчас вроде чесаться прекратилось. Воспаление локализировалось в одном наросте. И всё лицо сухое кусочками кожи отходит. Не понятно. Ну, учитывая что двадцать раз сёдня смог подтянуться - это точно не обычное орви, так как слабость чисто психологическая, де-факто то силы на подтягивания есть. И вроде бы проходит потихоньку. Хз. Возможно я чем-то хронически болен и в периоды ослабления иммунитета воспаления дают о себе знать. Но ничо не поделаешь. Когда-то давно ещё в рашке пытался сходить к врачам. Они посмотрели на меня дауна, начали возмущаться мол ты долбоёб нахуй ты к нам пришёл со своим нытьём, тут люди дохнут ващет. На это ещё похуй, ну устала тяночка работать и что и чего, бывает.. казалось бы... а потом меня поставили в очередь на пол-года к лору итд. Сука, какие пол-года?! Единственный кто был доступен прямо щас на днях - это узи щитовидной железы. Там врачиха внимательно всё исследовала. Сказала что щитовидная железа в идеальном состоянии. Сказала что я выгляджу максимально здоровым вообще, что у меня паранойа мне надо к психотерапевту. Ну... я так понял что похуй в общем-то. Все эти долбаны которые говорят "кавооо!? срочно к врачу" - ни разу ко врачу не ходили. Если у тебя ноги от диабета не гниют как у огров - значит ко врачу тебе не нужно. Да и медицина не всесильна. Может быть у тебя реально найдут, там, хроническое заболевание. Лечение - пропишут бады какие-нибудь фуфлоцелины, никто не знает как это лечить. Что ты с этим будешь делать? Ничего. Вот собсна получается зря только время потерял, мог бы точно также забить хуй просто.
Самое стрёмное что я порой таких тней видел которые учились на врачей, которые орут мол "ряяя - срочно ко врачу! без медицины все бы давно сдохлеее!". Медицина даже не способна обычный ОРВИ вылечить - там тупо настолько много штаммов всяких вирусов что врачи забили и такие "ну короче пейте побольше водички, щастья, здоровья, не берите в рот" - вот и всё лечение.
Двигаемся по спортику 😎😎😎
Издатель сказал "добро". Придётся отложить изучение виртуалочек и продолжить писательский труд, дооформить все оставшиеся 300 страниц. Эхх.. ну ничо закинусь габой, включу музычку так должно как по маслу пойти.
Ебат6 какой то полу-рак полу-хуй у меня начался. В воскресенье заложило нос и прямо задыхаться начал как при аллергии. Потом вроде начало проходить. Но нос всё равно сморкался всё раздражённое два дня было чесалось. Сейчас вроде чесаться прекратилось. Воспаление локализировалось в одном наросте. И всё лицо сухое кусочками кожи отходит. Не понятно. Ну, учитывая что двадцать раз сёдня смог подтянуться - это точно не обычное орви, так как слабость чисто психологическая, де-факто то силы на подтягивания есть. И вроде бы проходит потихоньку. Хз. Возможно я чем-то хронически болен и в периоды ослабления иммунитета воспаления дают о себе знать. Но ничо не поделаешь. Когда-то давно ещё в рашке пытался сходить к врачам. Они посмотрели на меня дауна, начали возмущаться мол ты долбоёб нахуй ты к нам пришёл со своим нытьём, тут люди дохнут ващет. На это ещё похуй, ну устала тяночка работать и что и чего, бывает.. казалось бы... а потом меня поставили в очередь на пол-года к лору итд. Сука, какие пол-года?! Единственный кто был доступен прямо щас на днях - это узи щитовидной железы. Там врачиха внимательно всё исследовала. Сказала что щитовидная железа в идеальном состоянии. Сказала что я выгляджу максимально здоровым вообще, что у меня паранойа мне надо к психотерапевту. Ну... я так понял что похуй в общем-то. Все эти долбаны которые говорят "кавооо!? срочно к врачу" - ни разу ко врачу не ходили. Если у тебя ноги от диабета не гниют как у огров - значит ко врачу тебе не нужно. Да и медицина не всесильна. Может быть у тебя реально найдут, там, хроническое заболевание. Лечение - пропишут бады какие-нибудь фуфлоцелины, никто не знает как это лечить. Что ты с этим будешь делать? Ничего. Вот собсна получается зря только время потерял, мог бы точно также забить хуй просто.
Самое стрёмное что я порой таких тней видел которые учились на врачей, которые орут мол "ряяя - срочно ко врачу! без медицины все бы давно сдохлеее!". Медицина даже не способна обычный ОРВИ вылечить - там тупо настолько много штаммов всяких вирусов что врачи забили и такие "ну короче пейте побольше водички, щастья, здоровья, не берите в рот" - вот и всё лечение.
Да у меня чисто техническая литература. Ну.. сидел я как всегда изучал какую-то сисадминскую хуиту. Существует два типа книг: хорошие книги - когда их читаешь конспект не требуется, потому что в самой книге всё в полном объёме удобно изложено. Если ты что-то хочешь освежить - Ctrl+F и всё нужная глава сразу глаза находят всё что читал. Такие книги полезно хранить "просто чтобы были". А есть откровнно хуёвые книги где есть крупица полезной информации, и есть единное повествование, но слишком урезано, неточно. Получается что к книге ты вынужен ещё и гуглить, курить офф документацию, дополнять те АБСОЛЮТНО ВАЖНЫЕ нюансы что упустил автор. Капсом выделил "важные" потому что автор упускает тему книги отрыгивая на читателя какой-то мини-ознакомительный вводничок. Как на зло таким хуёвым книгам ещё и нет аналогов. По таким хуёвым книгам я предпочитаю делать конспекты - сохранять туда дополненные материалы из документации, гугла и собственные выкладки. В какой-то момент, мой конспект стал довольно обьёмным. Я закинул его в клода. Сказал "не меняй мои крутые формулировки, а оформи более красиво, сделай более связанно, исправь грамматические ошибки, расставь заглавные буквы итд". И тут конспект из .txt-блокнотика мутировал в реально красивую книгу, которую я бы лично захотел бы купить! Мне так это понравилось. Подумал, как же охуенно я всё таки формулировки написал. Основная идея не в том чтобы подавать просто бессмысленные концепты, а вначале дать прочувствовать читателю проблемы. То есть вначале мы в лабораторных условиях создаём проблему и демонстрируем, мол "вот, поглядите как мы обосрались в проде!", и уже после этого даём ему вариант решения проблемы. Читатель как собака павлова - рефлекторно выделяет интерес. Чёт я зафантазировался этим концептом, что подумал, почему бы не закинуть эту книгу в рандомное издательство. Им вроде бы понравилась задумка. Чо будет дальше хз. На деньги мне особо пох, там копейки какие-то. Просто по приколу делаю. Прикинь, буду ходить выёбываться. На собесе спросят: "какие технические книги вы прочитали", а я такой "ха! да я их написал!!!"
Да у меня чисто техническая литература. Ну.. сидел я как всегда изучал какую-то сисадминскую хуиту. Существует два типа книг: хорошие книги - когда их читаешь конспект не требуется, потому что в самой книге всё в полном объёме удобно изложено. Если ты что-то хочешь освежить - Ctrl+F и всё нужная глава сразу глаза находят всё что читал. Такие книги полезно хранить "просто чтобы были". А есть откровнно хуёвые книги где есть крупица полезной информации, и есть единное повествование, но слишком урезано, неточно. Получается что к книге ты вынужен ещё и гуглить, курить офф документацию, дополнять те АБСОЛЮТНО ВАЖНЫЕ нюансы что упустил автор. Капсом выделил "важные" потому что автор упускает тему книги отрыгивая на читателя какой-то мини-ознакомительный вводничок. Как на зло таким хуёвым книгам ещё и нет аналогов. По таким хуёвым книгам я предпочитаю делать конспекты - сохранять туда дополненные материалы из документации, гугла и собственные выкладки. В какой-то момент, мой конспект стал довольно обьёмным. Я закинул его в клода. Сказал "не меняй мои крутые формулировки, а оформи более красиво, сделай более связанно, исправь грамматические ошибки, расставь заглавные буквы итд". И тут конспект из .txt-блокнотика мутировал в реально красивую книгу, которую я бы лично захотел бы купить! Мне так это понравилось. Подумал, как же охуенно я всё таки формулировки написал. Основная идея не в том чтобы подавать просто бессмысленные концепты, а вначале дать прочувствовать читателю проблемы. То есть вначале мы в лабораторных условиях создаём проблему и демонстрируем, мол "вот, поглядите как мы обосрались в проде!", и уже после этого даём ему вариант решения проблемы. Читатель как собака павлова - рефлекторно выделяет интерес. Чёт я зафантазировался этим концептом, что подумал, почему бы не закинуть эту книгу в рандомное издательство. Им вроде бы понравилась задумка. Чо будет дальше хз. На деньги мне особо пох, там копейки какие-то. Просто по приколу делаю. Прикинь, буду ходить выёбываться. На собесе спросят: "какие технические книги вы прочитали", а я такой "ха! да я их написал!!!"
Зачем?
В анимэ нет никакого сюжета, это самый душный и тупой слоп высранный за чашку риса усталым от работы япошкой. Все персонажи скучные, сюжет как таковой отсутствует.
Но картинки прикольные! Табакошка, Человек-бензопила, Цикады, Токийский Гуль - достаточно просто загуглить эти картинки на pitnerest и постить их. Зачем смотреть аниме когда можно постить картинки персонажей?
Последнее аниме смотрел максимум в детстве. Не верю что кто-то реально во взрослом возрасте смотрит эту хуйню. Все просто собирают пикчи персов, этого вприципе достаточно для экспириэнса. Всё равно от просмотра ничего не получишь - там ж нет сюжета, зачем лишнее время тратить.
>В анимэ нет никакого сюжета, это самый душный и тупой слоп высранный за чашку риса усталым от работы япошкой.
В фильмах светланы басковой тоже нет никакого сюжета, но мы все равно же каждый год пересматриваем их всей семьей.
>В фильмах светланы басковой тоже нет никакого сюжета
Там есть сюжет.
Более того, прикол, но "Зелёный слоник" и "Пять бутылок водки" - это намного более глубокая антиутопия, чем ебучий "Бегущий по лезвию".
В фильмах Светланы Басковой смысла больше чем в голливудской жвачке. А вот картинки красивой, да.. не хвататет.
Аниме это мультики про 8ми летних детей для 8ми летних детей. И это 90% всего аниме, потому что при прочих равных это рил мультфильмы, прост японские
Но есть и серьезные аниме, типа там берсерка или того же бензочелика. Ну все же, это навряд ли можно назвать детской работой, хотя сюжет там оч наивен. Ну тип обычный чел, на которого с нихуя падают суперспособности, друзья и пару баб на хуй впридачу. Типа стандартный сюдет для жирного отаку с сосиской в тесте во рту, который сальным пальцем тыкает в экран и думает шо главный герой ну ето прям он и у него рано или поздно все буит так же
Но в целом, это смотрят прост ради фана. Мозг разгрузить, порелаксировать, мож проникнуца чем то. Все ж, аниме часто давят на чувства, посвещая целые отрывки описаниям чувств персонажа, шоб вытянуть из зрилов эмоцию
Короче такой ненапряжный мангаслоп, который можно глянуть, а можно и не глядеть
Но если ты прям фанат аниме и прям считаешь это без иронии искусством и чуть ли не пытаешься на основе него познавать мир, то ты каэш знатный долбаеб. Неудивительно что люди, которые просмотрели под тыщу тайтлов, в ирл как правило скучные и замкнутые челы. Пушо и о жизни и о людях они не знают нихуя т.к. башка забита гротескными нереалистичными представлениями почерпнутыми из маняме
>Но есть и серьезные аниме, типа там берсерка или того же бензочелика
Там сюжет тоже кал
>Ну тип обычный чел, на которого с нихуя падают суперспособности
Это не проблема. Проблема в том что сюжет говно.
В американских фильмов тоже полно сюжетов где дают суперсилы просто так. Бетмен тот же. Но почему-то бетмен тима бёртона даже во взрослом возрасте смотрится интересно. А аниме скучная гавнища просто пиздец.
>Все ж, аниме часто давят на чувства, посвещая целые отрывки описаниям чувств персонажа, шоб вытянуть из зрилов эмоцию
Там нет эмоций. Там какая-то душная унылая хуйнч безэмоциональная. Аниме можно ставить на скринсейвер windows xp - смысла и эмоций в нем ровно столько же.
Вы бы стали втречаться с мефедроновой ватной вебкамщицей?
Да конечно да! Это же турбосекс.
Не бывает одиноких вебкамщиц - этот продукт на расхват.
В глубине души все это понимают.
>уии твоя тян шлюха
Всё это ханджество, специально вброшенное чтобы снизить спрос и так у дефицитного продукта.
Бля я всегда думал, что Артемьева это какая-то баба окучивающая молоденьких историков где-то в магазине листва. Учитывая что она вокруг Росова долгое время крутилась. По крайней мере в те времена, когда он еще был историком, а не попрошайкой который по 48 часов сидит на стриме потому что нельзя офать пока не окупится
Но видимо она свернула куда-то не туда, а мб и всегда такой была, просто не настолько сильно палилась, хз
А так, да стандартная история. Для бабы вебкам и соли это примерно как для типичного степашки алкаха и ставочки. Люди гонятся за угаром и легкими деньгами, просто разными путями. А суть одна и та же
>Вы бы стали втречаться с мефедроновой ватной вебкамщицей?
Ну с Зарыковской же встречались лооооол, как и с Кищук какой нить. Хотя в отличии от Артемьевой, у них хотя бы мозгов хватило хоть что-то инвестировать в себя
Ну и в целом, с такими встречаются из соображений синдрома спасателя. Все же, мефедронщицы в большинстве своем альтухи нефорши с грустными глазами епт. На такое есть спрос
Поэтому челы и лезут в этот отношач. Типа я то точно пофикшу её, под себя воспитаю бля. Все плохое уйдет, а я при альт герл останусь
Но так это канеш не работает. Точнее работает, но ток когда сама баба решает подвязать
>Но видимо она свернула куда-то не туда, а мб и всегда такой была
Всм не туда? Вся ещё деятельность - это такой же метафорический вебкам понос. Ты её глаза видел? Ей ваще похуй она как мозг попугая загруженный в чатгпт - будет выдавать пасты абсолютно механически.
>Люди гонятся за угаром и легкими деньгами
Ееее. Обожаю. Угар и лёгкие деньги.
>>Вы бы стали втречаться с мефедроновой ватной вебкамщицей?
>Ну с Зарыковской же встречались
СО ВСЕМИ встречались. Об этом и пост. Вся эта хуйня про то что "твоя баба шлюха ахаха" - это псиоп для нищих гоев. А все околополитотные успешничи встречаются с вебкамщицами и проститутками.
>Поэтому челы и лезут в этот отношач. Типа я то точно пофикшу её, под себя воспитаю бля.
>из соображений синдрома спасателя.
Чё блядь? Никто так не думает. Ещё раз, вся эта хуйня - "вебкамщицы это низ общества" - это псиоп для гоев. Вебкамщицы это верх общества - они манипулируют ватными обосранынми степашками, зарабатывая себе на третью квариру в петербурге. Всем челам: росову, абу, жмилю, путину, соловьёву, полковкину пузику - всем давно уже насрать на сво и на хохлов, они просто разводят степашек на мясо зарабатывая на этом деньги. Сво закончилась когда пригожина и стрелкова посадили - это единственные челы которым по каким-то причинам действительно не нравились хохлы. Остальным всем какбе всегда было всё-рано, они лучше навешают двачеркам лапши на уши - чтобы те потом им по 200к отдавали лишь бы на нуль не попасть лол.
Собсна это кста почему я либераха-русофоб такой. Меня не смущает что кто-то выкрикивает людоедские лозунги "черепаха хлоф". Мне не нравиться что со мной никто не поделился. Кто я такой? Никто. Мне не заплатят за то чтобы быть ватным пидаром! Мне только интернет отрубят и бензина лишат, хоть сто раз произнеси "гойда". Стало быть пошли они нахуй, раз денег не платят. Либерахи хотя бы мне интернет не обрубали! значит буду за них.
>пикрелейтед 1
Мда как оказалось крым это все таки бутерброд...
>Всм не туда? Вся ещё деятельность - это такой же метафорический вебкам понос. Ты её глаза видел? Ей ваще похуй она как мозг попугая загруженный в чатгпт - будет выдавать пасты абсолютно механически.
Ну щас да, а во времена её дружбы с Росовым казалось обычной косплеершей, которая ходит на всякие исторические мероприятия, переодевается в камзол бонапартиста, и мечтает познакомиться с ректором какого-нибудь университета, который её расчленит и выкинет в реку Мойку
>Ееее. Обожаю. Угар и лёгкие деньги.
Да да, это ты тот самый спортивный аналитик, с долгами в 20 мультов
>СО ВСЕМИ встречались. Об этом и пост. Вся эта хуйня про то что "твоя баба шлюха ахаха" - это псиоп для нищих гоев. А все околополитотные успешничи встречаются с вебкамщицами и проститутками.
Успешничи встречаются с такими, потому что большинство из них омежки бетабаксеры. Типа даж Мавроди женку модель себе по сути купил. Ум то был, а харизмы и внешки нет. Скомпенсировал по итогу мешком мавро. И у успешничей так же. Они просто не интересны нормальным тянкам. С ними тупо скучно
Да и без учета этого, нормальных тянок стало мало. Развал совка, бедность, высокий процент разводов, социальное расслоение, новая этика и сексуализация всего и вся
Как итог, большое количество тяночек растут без фигуры отца и без надлежащего контроля матери. В мире бля, котооый через мемы нашептывает что ебаца это круто. И что, и чего. И получается, что к девятому классу треть баб уже с пробитой целкой. А к 11му уже ровно половина. Некоторые из которых верхом на скуфиках прыгают за денежку епт
Я к тому, что в стране, которая прошла и до сих пор проходит через ряд потрясений, вполне естественно что куча баб будет проходить через эскорт, вебкам, ну либо просто пилотку нараздвигает перед кучей народа
Других телок просто дефицит, поэтому челы и закрывают глаза на то что баба шалавила. Тип хуле толку, если и вторая шалавила, и третья, и четвертая. Куда не ткни везде рванина. А нормальных девок днем с огнем не сыскать, ввмирающий вид
>Чё блядь? Никто так не думает. Ещё раз, вся эта хуйня - "вебкамщицы это низ общества" - это псиоп для гоев. Вебкамщицы это верх общества - они манипулируют ватными обосранынми степашками, зарабатывая себе на третью квариру в петербурге.
Да никем они бля не манипулируют, просто бабки гребут и все. Настя Рыбка много там дерипаской наманипулировала? Вот и думай. Катомку ей там соберешь с сухарями и книгой алекса лесли епт в кресты
>Всем челам: росову, абу, жмилю, путину, соловьёву, полковкину пузику - всем давно уже насрать на сво и на хохлов, они просто разводят степашек на мясо зарабатывая на этом деньги.
Какие деньги, лооооол. Они и если и были, то щас уже потихоньку заканчиваются. Я думаю что все хотят закончить. Но одной малой токмачки для победы мало, вот и думай
>Сво закончилась когда пригожина и стрелкова посадили - это единственные челы которым по каким-то причинам действительно не нравились хохлы.
Пригожин вообще деньги в африке делал, я думаю ему движуха вообще была не особо нужна. Ну а стрелков монархист. Он и в прибалтов был бы не прочь вьехать, и в финов, и в поляков. И ваще в кого угодно, кто когда то ходил в РИ
>пикрелейтед 1
Мда как оказалось крым это все таки бутерброд...
>Всм не туда? Вся ещё деятельность - это такой же метафорический вебкам понос. Ты её глаза видел? Ей ваще похуй она как мозг попугая загруженный в чатгпт - будет выдавать пасты абсолютно механически.
Ну щас да, а во времена её дружбы с Росовым казалось обычной косплеершей, которая ходит на всякие исторические мероприятия, переодевается в камзол бонапартиста, и мечтает познакомиться с ректором какого-нибудь университета, который её расчленит и выкинет в реку Мойку
>Ееее. Обожаю. Угар и лёгкие деньги.
Да да, это ты тот самый спортивный аналитик, с долгами в 20 мультов
>СО ВСЕМИ встречались. Об этом и пост. Вся эта хуйня про то что "твоя баба шлюха ахаха" - это псиоп для нищих гоев. А все околополитотные успешничи встречаются с вебкамщицами и проститутками.
Успешничи встречаются с такими, потому что большинство из них омежки бетабаксеры. Типа даж Мавроди женку модель себе по сути купил. Ум то был, а харизмы и внешки нет. Скомпенсировал по итогу мешком мавро. И у успешничей так же. Они просто не интересны нормальным тянкам. С ними тупо скучно
Да и без учета этого, нормальных тянок стало мало. Развал совка, бедность, высокий процент разводов, социальное расслоение, новая этика и сексуализация всего и вся
Как итог, большое количество тяночек растут без фигуры отца и без надлежащего контроля матери. В мире бля, котооый через мемы нашептывает что ебаца это круто. И что, и чего. И получается, что к девятому классу треть баб уже с пробитой целкой. А к 11му уже ровно половина. Некоторые из которых верхом на скуфиках прыгают за денежку епт
Я к тому, что в стране, которая прошла и до сих пор проходит через ряд потрясений, вполне естественно что куча баб будет проходить через эскорт, вебкам, ну либо просто пилотку нараздвигает перед кучей народа
Других телок просто дефицит, поэтому челы и закрывают глаза на то что баба шалавила. Тип хуле толку, если и вторая шалавила, и третья, и четвертая. Куда не ткни везде рванина. А нормальных девок днем с огнем не сыскать, ввмирающий вид
>Чё блядь? Никто так не думает. Ещё раз, вся эта хуйня - "вебкамщицы это низ общества" - это псиоп для гоев. Вебкамщицы это верх общества - они манипулируют ватными обосранынми степашками, зарабатывая себе на третью квариру в петербурге.
Да никем они бля не манипулируют, просто бабки гребут и все. Настя Рыбка много там дерипаской наманипулировала? Вот и думай. Катомку ей там соберешь с сухарями и книгой алекса лесли епт в кресты
>Всем челам: росову, абу, жмилю, путину, соловьёву, полковкину пузику - всем давно уже насрать на сво и на хохлов, они просто разводят степашек на мясо зарабатывая на этом деньги.
Какие деньги, лооооол. Они и если и были, то щас уже потихоньку заканчиваются. Я думаю что все хотят закончить. Но одной малой токмачки для победы мало, вот и думай
>Сво закончилась когда пригожина и стрелкова посадили - это единственные челы которым по каким-то причинам действительно не нравились хохлы.
Пригожин вообще деньги в африке делал, я думаю ему движуха вообще была не особо нужна. Ну а стрелков монархист. Он и в прибалтов был бы не прочь вьехать, и в финов, и в поляков. И ваще в кого угодно, кто когда то ходил в РИ
Но нейросеть этот пропт понимает как "сделать блевотную поделку для детей".
Для нейросети lowpoly это что-то типо роблокс, обязательно пиксельный шрифт из маинкрафта, чиби-персонажи с большой головой и мултяшным телом, GUI без офомления просто прямогуольники, текстуры - просто заливка одним цветом и конечно же 2.5d элементы.
Вот на скринах два промта на одну тему - сгенерь скриншот из RPG 00-х годов. В первом промпте добавлено лишь слово low poly. Визуально количество полигонов одинаковое. Однако на первом скришоте персонажи чиби-пидарасики на персах, а на втором вполне нормальные персонажи.
Либо я не понимаю смысл термина "LowPoly" либо генеративный ИИ обучали какие-то долбоёбы. Может им датасет подменили. С какого момента lowpoly начало обозначать "безвкусное говно без текстур сделанное индусом на коленке"?
Так что на всякий случай, лучше никогда нейронке не говорить lowpoly если не хотите говна на ебальник.
Заебался оформлять эту хуйню. Скинул клоду .doc и требования. Пусть бля пишет. Сожрало это правда весь лимит какова-та хуя.