1.2, Аноним (2), 09:38, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +11 +/– |
Ошибка логическая но виновата, конечно же сишнка. Сейчас прибегут иксперды скажут святой раст прикладывать к коду для безопасности.
| |
|
2.3, Аноним (3), 09:41, 04/06/2021 [^] [^^] [^^^] [ответить]
| +19 +/– |
от логических ошибок ни один яп не защищает, все что делает хруст это верифицирует работу с памятью.
| |
|
3.67, Аноним (68), 15:13, 04/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
> все что делает хруст это верифицирует работу с памятью
нет не делает. или память короткая?
хруст валится на определении доступного объёма памяти и течёт (пример по первому код в лисе, по второму код в хрустоос)
| |
|
4.77, deeaitch (ok), 16:13, 04/06/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
О, и тут растоман как ты говоришь с короткой памятью. хехе, классика фанатиков
| |
|
|
2.5, Ыкспэрт (?), 09:48, 04/06/2021 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Ошибка логическая но виновата, конечно же сишнка. Сейчас прибегут иксперды скажут святой раст прикладывать к коду для безопасности.
Rust на 105% безопасен, возьмите и приложите его к своим творениям, немедленно! Кто-то даже говорит, что хруст помог ему от логических ошибок потому что он настолько безопасен, что автор кода думает только о логике, а не выходах за пределы отведенному его процессу сегмента памяти и прочих бэкдорах.
| |
|
3.21, funny.falcon (?), 10:54, 04/06/2021 [^] [^^] [^^^] [ответить]
| +2 +/– |
Конкретно в этом месте Rust и правда мог помочь: результат сискола был бы обёрнут в Result, и неправильно интерпретировать его было бы намного сложнее.
На языках семейства ML (к которым пусть и с натяжкой, но можно отнести Rust) совершать логические ошибки труднее. Конечно возможно. Но не так легко.
| |
|
2.8, Аноним (8), 09:55, 04/06/2021 [^] [^^] [^^^] [ответить]
| +2 +/– |
>Сейчас прибегут иксперды скажут святой раст прикладывать к коду для безопасности.
Ассемблер спасёт отца демократии! Вот я что-то вообще не припомню чтобы, скажем, в той же Колибри находили какие-то уязвимости.
| |
|
3.13, qetuo (?), 10:15, 04/06/2021 [^] [^^] [^^^] [ответить]
| +10 +/– |
Еще бы колибри была кому-то нужна и где-то использовалась.
Принцип неуловимого Джо в действии.
| |
|
2.10, нах.. (?), 10:01, 04/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
Конечно, виновата. Переписывали бы на хрусте - нет кода, нет проблем с безопастностью!
Причем в случае этой поделки для "какввенде" это самое лучшее решение.
| |
2.14, . (?), 10:17, 04/06/2021 [^] [^^] [^^^] [ответить]
| +5 +/– |
В Rust не выйдет так просто проигнорировать ошибку, функция будет возвращать не bool и писать в строку юзера, а вернёт Result<User, Error>
При этом Error так просто в User не превратить, а в случае ошибки User достать будет нельзя
| |
|
3.30, Совершенно другой аноним (?), 11:14, 04/06/2021 [^] [^^] [^^^] [ответить]
| +5 +/– |
там не игнорировали ошибку. Судя по новости "функция polkit_system_bus_name_get_creds_sync() возвращает значение TRUE вместо FALSE, несмотря на то, что не смогла сопоставить процесс с uid/pid и проверить запрошенные для процесса привилегии".
Судя по коду и по сделанной правке - там вызвали два асинхронных вызова к dbus и стали ждать, пока они не заполнят значения pid и uid, или пока не случится ошибка. А вот дальше, если случилась ошибка и вышли из процесса ожидания, не смогли определить по какой причине завершили ожидание. Ну и вернули TRUE вместо FALSE. Т.е ошибку проанализировали, но всё-равно так получилось, что отправились на ветку, что всё хорошо (ну или точнее не отправились на ветку, что всё плохо).
| |
|
4.39, Ordu (ok), 12:02, 04/06/2021 [^] [^^] [^^^] [ответить] | +/– | Это называется не обработали ошибку Они не проанализировали ошибку Проверка ... большой текст свёрнут, показать | |
|
|
6.56, Ordu (ok), 13:10, 04/06/2021 [^] [^^] [^^^] [ответить] | +/– | ой, да какого хрена разница Если вернуться в начало, то вообще исходно разговор... большой текст свёрнут, показать | |
|
|
8.99, Ordu (ok), 02:34, 05/06/2021 [^] [^^] [^^^] [ответить] | +/– | Есть способ проще -- попытаться обойтись без использования этого слова Заменить... текст свёрнут, показать | |
|
|
|
|
|
|
2.17, Аноним (17), 10:26, 04/06/2021 [^] [^^] [^^^] [ответить]
| +3 +/– |
Это не логическая ошибка.
Необработка ошибок (их игнорирование). И да, язык спокойно и незаметно позволяет это сделать.
В нормальном языке программирования ты должен обязательно обработать результат функции, если он может содержать ошибочные значения. Иначе ошибка компиляции.
Или явно, сознательно, указать что не будешь обрабатывать и игнорируешь.
Так сделано в Zig, и вроде в Rust такз.
| |
|
3.26, Аноним (26), 11:08, 04/06/2021 [^] [^^] [^^^] [ответить]
| –3 +/– |
Для этого есть __attribute__ ((warn_unused_result)) и gcc -Wall -Werror
но погромисты, такие погромисты.
| |
|
2.32, Аноним (31), 11:31, 04/06/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Ошибка логическая но виновата, конечно же сишнка.
[rusttroll]Ну разумеется. Надо было писать на Rust![/rusttroll]
| |
2.85, Full Master (?), 17:14, 04/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
>святой раст
Компилятор которого использует LLVM, написанный на C++. И написанный на C линкер из MSVC под виндой, и LLD или LD/GOLD под юниксом.
| |
|
1.4, anonymous (??), 09:43, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +7 +/– |
Виноват не язык, виноват дизайн - столько сложностей на пустом месте просто обязаны содержать ошибки.
| |
|
2.11, Michael Shigorin (ok), 10:07, 04/06/2021 [^] [^^] [^^^] [ответить]
| +5 +/– |
Вот да. Того, кто туда потащил ещё и js -- проектировать надо учить "по морде чайником, и самоваром, и паяльником". И то у бегемота шансы выше.
| |
|
|
4.75, Аноним (75), 16:09, 04/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
Шигорин об этом и говорит, по-моему. И ладно бы ещё просто захотелось писать программируемые рулесы вместо старого ini формата (или там xml был, не помню уже за двностью), но нахрена же было тащить кусок браузера в 300 мегабайт, будто прогрессивное человечество не придумало других языков, которые легко в сишный код встраиваются (луа? не, не слышали).
| |
|
5.132, mikhailnov (ok), 18:26, 05/06/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
> кусок браузера в 300 мегабайт
$ rpm -q --qf '%{size}\n' lib64mozjs78_78-78.9.0-1.x86_64
14030436
14, а не 300
| |
|
6.136, n00by (ok), 07:42, 06/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
>> кусок браузера в 300 мегабайт
> $ rpm -q --qf '%{size}\n' lib64mozjs78_78-78.9.0-1.x86_64
> 14030436
> 14, а не 300
У тебя #define в Си объявляет переменную и размер кучи ты прикинуть не можешь, потому для тебя существенна разница меж 14 и 300 метрами исполняемого файла, без учёта его зависимостей.
А речь была о том, что незачем тащить ненужные мегабайты, когда хватило бы 200-300 Кб, а то и 50.
| |
|
|
|
3.131, Аноним (131), 18:04, 05/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
https://www.linux.org.ru/forum/security/15600248?cid=15622030
Уважаемому Потерингу необходимо было сделать:
1. Придумать формат правил контроля доступа
2. Написать компилятор этих правил.
А для этого надо талант, время и деньги...
Потеринг не сделал ничего, взял Java Script и его компилятор от Mozilla. А вы это "оно" жуйте и глотайте.
Миша, а когда, всеми любимый ALT Linux избавится от systemd, dbus, polkitd+JS?
| |
|
2.36, Andrey (??), 11:50, 04/06/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
Коль скоро C-шечка даёт свободу делать дизайн API плохим, он и дальше будет в среднем не очень.
| |
|
3.53, Аноним (51), 12:55, 04/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
Коль в срасту подпускают вебмакак. Они так и продолжат делать дизайн плохим. И язык им прям совсем никак не помешает это сделать.
| |
|
|
1.9, Lex (??), 09:55, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
> В компоненте, используемом для организации выполнения непривилегированными пользователями действий, требующих повышенных прав доступа, выявлена уязвимость, позволяющая локальному пользователю получить права root в системе
Ну кто бы мог подумать
| |
1.12, Anonymoustus (ok), 10:11, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Все десктоперские метастазы, которые породила Шляпа за прошедшие четверть века, заведомо небезопасны и принципиально не могут быть безопасными. Но мышки продолжают жевать этот горький десктоперский кактус и нахваливать, а не пользоваться традиционными консольными средствами с умом и пониманием.
| |
|
2.97, макпыф (ok), 23:03, 04/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
и шрифт liberation тоже не безопасный?
Кстати, полкит - продукт редхата?
| |
|
3.101, Anonymoustus (ok), 06:10, 05/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
fd.o — продукт Редхата. Всё, что выходит из этой выгребной ямы и её окрестностей, включая системду — продукты Шляпы. А сама Шляпа с конца девяностных на довольствии у Межделмаша. Но вы, конечно, продолжайте верить в свободу и сообщество.
| |
|
4.102, макпыф (ok), 08:14, 05/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
> fd.o — продукт Редхата. Всё, что выходит из этой выгребной ямы и её
> окрестностей, включая системду — продукты Шляпы. А сама Шляпа с конца девяностных
> на довольствии у Межделмаша. Но вы, конечно, продолжайте верить в свободу
> и сообщество.
systemd кстати к fd.o не относиться, она просто редхатом разрабатывается (хотя Пёттеринг её создал до того как стал в редхате работать)
а так полкит вещь на мой взгляд очень дурацкая, хотя полезные применения имеет. Но зачем там js
надо будет попытаться её выкинуть из мое ОС
| |
|
|
|
1.15, kusb (?), 10:21, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Усложнения, усложнения не меняются.
А способа например просто записать в файл от рута в программе не от рута так и нет. Вообще привелегии "всё или ничего" это плохо.
Текстовому редактору например достаточно спросить разрешение на запись одного файла при попытке это сделать при сохранении... И не перезапускаться даже.
| |
|
2.37, n00by (ok), 11:54, 04/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
> Текстовому редактору например достаточно спросить разрешение на запись одного файла при
> попытке это сделать при сохранении... И не перезапускаться даже.
Необходимо, что бы подобное разрешение запрашивала система. Получается UAC. При этом в сеансе Иксов такой запрос как раз будет обходим.
| |
2.43, Аноним (31), 12:11, 04/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
>Вообще привелегии "всё или ничего" это плохо.
Привилегии "частично" реализуются Linux Capabilities.
| |
|
3.48, нах.. (?), 12:27, 04/06/2021 [^] [^^] [^^^] [ответить]
| –2 +/– |
образуя дыру, угу. Которой бы не было, если бы юникс-программа работала как юникс-программа.
Нет, конечно же лет через пятьдесят все поперепишут на хруст и научатся сбрасывать излишние капабилити. (Нет. Но простой и внятно работающий софт изведут окончательно, точно.)
| |
|
4.55, Аноним (31), 13:10, 04/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
Как будто, в прграммах c suid'ом дыр не бывает. Поэтому capabilities и замутили.
| |
|
|
2.47, нах.. (?), 12:24, 04/06/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
Это юникс, чувак.
Если кому-то нужна была винда - надо было просто не выпендриваться и ставить винду.
А вы налепили костылей и подпорочек.
> Текстовому редактору например достаточно спросить разрешение
текстовому редактору чтобы было достаточно "спросить" - нужно уже иметь эту возможнось. Получаем текстовый редактор, имеющий возможность делать ВСЁ. И прикрытую фиговым листиком "спросить".
Вот тебе и результаты, собственно.
| |
|
3.87, kusb (?), 18:17, 04/06/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Это юникс, чувак.
> Если кому-то нужна была винда - надо было просто не выпендриваться и
> ставить винду.
> А вы налепили костылей и подпорочек.
>> Текстовому редактору например достаточно спросить разрешение
> текстовому редактору чтобы было достаточно "спросить" - нужно уже иметь эту возможнось.
> Получаем текстовый редактор, имеющий возможность делать ВСЁ. И прикрытую фиговым листиком
> "спросить".
> Вот тебе и результаты, собственно.
Ну вся суть, что он не должен спрашивать, он должен просто записывать файл, как обычно.
| |
|
4.88, kusb (?), 18:23, 04/06/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
В принципе диалог сохранения может быть отдельной программой с отдельными правами, а без вызова этой программы текстовый редактор не мог бы записать файл вообще никак. Нет вызова "сохранить файл", вызов программы сохранения это единственный легитимный способ и это и есть api сохранения файла. И аргументы командной строки связаны с бинарным интерфейсом.
Опять что-то ещё более страшное горожу? Хочу победить сложность и неадекватность, но придумываю свою сложность и неадекватность? Эх. Всё хорошо, пока системы поддерживают простыми, но потом начинается.
| |
|
5.140, Аноним (-), 20:43, 09/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
пусть нейросеть решает (или спор ИИ): запаха нет, плюсы на опеннет, вовремя апгрейдил - кредит доверия на запись в /etc.
| |
|
6.141, kusb (?), 20:57, 09/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
> пусть нейросеть решает (или спор ИИ): запаха нет, плюсы на опеннет, вовремя
> апгрейдил - кредит доверия на запись в /etc.
Не верю в непонятность слов.
| |
|
|
|
|
|
1.16, Аноним (16), 10:22, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
>> В компоненте Polkit, используемом в дистрибутивах для организации выполнения непривилегированными пользователями действий, требующих повышенных прав доступа найдена уязвимость, позволяющая повысить свои привилегии в системе
Что? Корова купленная для молока дала молоко?
| |
1.19, lockywolf (ok), 10:43, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
Так polkit же и нужен для получения прав рута.
Получается, программа просто делает свою работу.
| |
|
2.42, Andrey (??), 12:10, 04/06/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
Он как раз нужен, чтобы права рута не давать, а одобрить определённое действие из ограниченного набора, которое для пользователя сделает уже привилегированная программа.
| |
|
3.89, kusb (?), 18:26, 04/06/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Он как раз нужен, чтобы права рута не давать, а одобрить определённое
> действие из ограниченного набора, которое для пользователя сделает уже привилегированная
> программа.
Почему нельзя просто запускать привелегированный скрипт без возможности изменить его?
| |
|
4.137, Andrey (??), 12:07, 07/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
>Почему нельзя просто запускать привелегированный скрипт без возможности изменить его?
1. У такого решения меньше гибкости.
2. Если предполагается много разных действий, понадобится либо несколько привилегированных скриптов, либо передавать туда аргументы, что в контексте интерпретируемых языков идея рискованная.
3. В policykit можно, например, для определённых действий затребовать у юзера авторизоваться как пользователь, а не обязательно как администратор.
4. Можно для разных действий установить разные правила хранения авторизаций при их повторном запросе.
В общем, см. тут: https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html
| |
|
|
|
1.22, InuYasha (??), 11:02, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Всегда удивляет нечистоплотность программистов в критичных програмах. Для чего функции что-то возвращают? Чтобы в пустоту исчезло?
Всю жизнь твердили:
1. проверить данные
2. вызвать функцию
3. проверить результат
[CODE]if (pData)
{
if (SomeProcessing(pData) == SUCCESS)
WeHaveAWinner();
}
[/CODE]
| |
|
2.24, Аноним (24), 11:07, 04/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
> if (SomeProcessing(pData) == SUCCESS)
Главное, чтобы это был не PHP...
| |
2.27, Бабушка Анонима (?), 11:08, 04/06/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ну это же очевидно, надо просто вывести идеальных генно-модифицированных программистов, которые будут писать код без ошибок. Почему до сих пор не сделали?
| |
2.35, Аноним (31), 11:43, 04/06/2021 [^] [^^] [^^^] [ответить]
| –2 +/– |
А зачем тогда жаловаться, что, например, Pascal и D проверяют границы массивов автоматически?
| |
|
3.41, InuYasha (??), 12:05, 04/06/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
А кто жалуется? Я просто на них не пишу ) Ну, и толку в проде, что они проверяют? Разве что, контролируемый крэш, что полезно при отладке. Логика алгоритма всё равно зависит от того, как выход за границы будет обработан.
| |
|
4.100, HyC (?), 03:41, 05/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
А если логика написана так что выход за границы массива при некоторых условиях оказался не обработан а должен бы был ? Пускай уж лучше крэшится чем молча за границу выйдет и хрен пойми что натворит.
| |
|
|
4.124, Аноним (124), 14:34, 05/06/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
Так, здесь по подробней. Специально проверял array<>, выходит за границы. Или я не то использую, чтоб контролируемо было?
| |
|
5.129, n00by (ok), 16:05, 05/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
Вы не показываете код, но просите угадать.
The member function at() provides bounds-checked access to container elements. at() throws out_of_range if n >= a.size().
| |
|
|
7.143, n00by (ok), 16:20, 10/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
Специально предоставлено оба варианта, т.к. operator[] иногда чуть быстрее.
| |
|
|
5.139, deeaitch (ok), 15:35, 09/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
> Так, здесь по подробней. Специально проверял array<>, выходит за границы. Или я
> не то использую, чтоб контролируемо было?
.at()
| |
|
|
|
2.40, Аноним (40), 12:02, 04/06/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
Крамольные вещи пишите... Если все программисты будут так писать, то даже сектанты раста начнут понимать, что он не нужен.
| |
|
|
2.44, Аноним84701 (ok), 12:16, 04/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
> Кто в курсе, зачем Polkit'у зависимость от Spydermonkey?
https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html
> Rules files are written in the JavaScript programming language and interface with polkitd through the global polkit object (of type Polkit).
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.accounts.user-administration" &&
subject.isInGroup("admin")) {
return polkit.Result.YES;
}
});
| |
|
3.50, Аноним (31), 12:49, 04/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
Мда, ещё одна бомба замедленного действия. А аналога Polkit не существует?
| |
|
|
1.58, любитель_раста (?), 14:01, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
уж сколько я не люблю раст, а он бы тут не помог бы. потому что раст - гораздо сложнее чем си, а мы уже знаем, что усложнение языка - плохо влияет на головы любителей раста.
по-этому, как любитель раста, авторитетно заявляю, что тут больше подошёл бы замечательный язык D (Ди - пря мо, как "леди Ди").
| |
|
2.61, Аноним (68), 15:03, 04/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
Лучше не заявляй. Здесь проблема в ДНК вендузятников. Это им по каждому чиху сервис нужен. Потому что не в состоянии осилить маны.
Штатные средства системы со всем этим как справлялись так и справлются просто на ура. Это поделье вообще не нужно.
| |
|
1.59, Аноним (68), 14:56, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Не пользовал не пользую и не собираюсь пользовать. Штатные средства системы прекрасно справлялись со всем и без этого поделия набежавших вендузятников
| |
|
2.125, Аноним (124), 14:42, 05/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
Но от Polkit Кеды зависят. От Кедов отказываться не предлагать. Или их таки можно отвязать?
| |
|
3.135, макпыф (ok), 21:58, 05/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
> Но от Polkit Кеды зависят. От Кедов отказываться не предлагать. Или их
> таки можно отвязать?
если собирать из исхов то наверно да. А если нет - то нельзя т.к. полкит это впервую очередь либа и если с ней что то слинкованно -только пересборка
ну и мб там только 1-2 не очень важных компонента зависят - тогда да
| |
|
|
1.60, Аноним (68), 14:59, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> polkit_system_bus_name_get_creds_sync()
Чего?
А ну да, вендузятники
we_are_windows_stupid_programmers_we_do_knows_nothin_but_we_want_to_be_cool_linux_programmers_rust_forever_hohoho_we_are_idiots(true)
| |
|
2.71, Совершенно другой аноним (?), 15:32, 04/06/2021 [^] [^^] [^^^] [ответить]
| +2 +/– |
>> polkit_system_bus_name_get_creds_sync()
> А ну да, вендузятники
> we_are_windows_stupid_programmers_we_do_knows_nothin_but_we_want_to_be_cool_linux_programmers_rust_forever_hohoho_we_are_idiots(true)
ну, у "вендузятников" был-бы CamelCase:
WeAreWindowsStupidProgrammersWeDoKnowsNothinButWeWantToBeCoolLinuxProgrammersRustForeverHohohoWeAreIdiots(true).
| |
|
|
|
|
4.98, макпыф (ok), 23:07, 04/06/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
системд не зависит и не требует полкит и частью ядра не являеться
и полкит от системд тоже не зависит
| |
|
|
|
|
|
9.112, Аноним (105), 12:11, 05/06/2021 [^] [^^] [^^^] [ответить] | –1 +/– | угу, и ничего не будет работать потому что альтернативы какой-либо не существует... текст свёрнут, показать | |
|
|
|
|
|
8.111, Аноним (105), 12:10, 05/06/2021 [^] [^^] [^^^] [ответить] | –1 +/– | линукс это общее название операционных систем на базе ядра линукс, обычно под эт... текст свёрнут, показать | |
|
|
|
|
|
|
|
|