Pull to refresh
4
0
b10s @b10s

User

Send message

А почему я не вижу res_query и res_send в выводе ltrace:

$ ltrace -f -e getaddrinfo -e res_send curl -s download.astralinux.ru > /dev/null
[pid 37376] libcurl.so.4->getaddrinfo("download.astralinux.ru", "80", 0x55627f9e0390, 0x7fcd41220ba0)                             = 0
[pid 37376] +++ exited (status 0) +++
[pid 37375] +++ exited (status 0) +++

?

Для выполнения системного вызова в x86_64 мы должны подготовиться к нему, записав нужные значения в нужные регистры, а затем выполнив команду syscall

как-то не по-русски? мб "а затем выполнить .."?

В данном случае системный вызов execve сообщает ядру, что мы хотим запустить другой процесс

Неверно тут и в оригинале. execve не запускает другой процесс, а в том же процессе меняет текст программы на другой - считанный из файла.

смотрим `man execve`:
> execve() executes the program referred to by pathname. This causes the program that is cur‐ rently being run by the calling process to be replaced with a new program, with newly initial‐ ized stack, heap, and (initialized and uninitialized) data segments.
и

> many attributes of the calling process remain unchanged (in particular, its PID)

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

"выполнение" и сразу же "выполнять запись" - лучше мб - мы не можем писать в них. Но это уже стилистика.

@ru_vds, наверное runtime во фразе
> The first step of writing a self-mutating program is being able to change the code at runtime

лучше перевести как-то вроде "на лету" чем в "среде исполнения". Здесь имеется ввиду что программа запущена и в процессе выполенения меняет себя. Это вот и есть ран тайм. Но не среда исполнения.

В вики пишут "время выполнения" что звучит хорошо. А ваша среда - это execution environment скорее.

https://ru.wikipedia.org/wiki/Среда_выполнения

Всегда ли сообщение кратно двойному слову (4 байтам)?

Что если у меня 11 байт, всё равно указывать длинну в 3 двойных слова (12 байт)?

Ой! Точно. Наверное, не заметил.

Интересно, почему этого дистрибутива нет ни на DistroWatch, ни на wikipedia-странице Список_дистрибутивов_Linux?

Также интересно узнать в комментариях, какими дистрибутивами вы пользуетесь дома и/или на работе.

можно что-нибудь и про Fedora CoreOS сказать : )

>Есть различные патчи безопасности для ядра, например, патчи PaX.
а PaX разве ещё жив?
https://pax.grsecurity.net/

Хех. А как это понимать — КПД лазера? Какой у него коэффицент полезного действия? И почему (сопротивление, рассеивание, что ещё может быть?)?

Можно ли что-то другое схожее вместо лазера использовать с более высоким КПД?
Эх! Такая идея пропадает )

А как работает оптоволокно, которое через океан фигачит?
Там, на мой наивный взгляд, тоже какой-то лазерок по трубкам светит достаточно далеко?
А можно как-то лазером передавать электричество/энергию на большие расстояния?

Скажем, засадить на луне солнечных батарей и потом лазером фигачить на землю?
А где Ctrl+L задан?
Не видать его что-то в stty -a
Кажется, вот и ответ из man stty:
stop CHAR
CHAR will stop the output

susp CHAR
CHAR will send a terminal stop signal


Т.е. stop прекращает вывод, как-то обрубает весь stdout. Непонятно как.
А susp действительно посылает, только не stop, а tstop?
> Ctrl-z – сигнал SIGTSTP
кажется, и у меня в убунте и у вас на скрине, в выводе `stty -a`, ^S — это стоп а ^Z — саспенд:
stop = ^S; susp = ^Z;

Почему? Наверное, в терминах stty обозначение susp равняется сигналу TSTP? Тогда что делает ^S?

Фактически посылается TSTP по ^Z:

$ perl -E '$SIG{TSTP}=sub{ say "here is STOP"}; $SIG{INT}=sub{ say "here is INT"}; sleep 999'

^Chere is INT

$ perl -E '$SIG{TSTP}=sub{ say "here is STOP"}; $SIG{INT}=sub{ say "here is INT"}; sleep 999'

^Zhere is STOP
Интересно!
Цель плейбуки привести файл в нужное состояние.
Верно ли я понимаю, что лучшим методом будет копировать этот файл из репы безусловно на хост, перезаписывая если такой уже есть?

Спасибо! Т.е. сама идея проверять файл на ожидаемое значение означает не очень хорошую бизнес-логику по какой-то причине.

А почему такая проверка может быть не очень хорошей идеей?
Мне нужно обновить файл, если он в ожидаемом состоянии, иначе пропустить этот хост. Является ли антипаттерном проверка файла простым сравнением md5 с ожидаемым или всё-таки нет?
Как лучше в таком случае поступить?

Information

Rating
Does not participate
Location
Краснодарский край, Россия
Date of birth
Registered
Activity