The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Для GCC подготовлены патчи для сборки универсальных исполняемых файлов"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Для GCC подготовлены патчи для сборки универсальных исполняемых файлов"  +/
Сообщение от opennews (ok), 15-Июл-23, 22:22 
Представлен набор патчей для GCC, позволяющий генерировать исполняемые файлы в формате APE (Actually Portable Executable), которые при связывании приложений со стандартной Си-библиотекой Cosmopolitan дают возможность создавать универсальные сборки приложений, запускаемые в разных операционных системах. Исполняемый файл в формате APE не привязан к отдельным платформам и  может быть запущен в Linux, FreeBSD, macOS, OpenBSD, NetBSD и Windows...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=59446

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от НяшМяш (ok), 15-Июл-23, 22:22   –6 +/
> GCC 11.2

Ну то есть в апстриме можно не ждать.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #19

2. Сообщение от Аноним (2), 15-Июл-23, 22:35   +1 +/
Какие дыры у данной библиотеки? Файлы весом в целую ОСь?
Ответить | Правка | Наверх | Cообщить модератору

3. Сообщение от Анониссимусemail (?), 15-Июл-23, 22:43   +4 +/
Бесспорно крутая штука. Теоретически можно канпелировать, например, универсальный бинарник своей программулины и раздавать его на оф. сайте. Но практически это упирается в разные графические стеки разных ОС. Теоретически, эту проблему можно решить, но опять же, практически -- эта задача выглядит слишком большой.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #4, #5, #18, #21, #53, #85, #206

4. Сообщение от Аноним2 (?), 15-Июл-23, 22:53   +/
С точки зрения "смотри как могу" интересный. Ещё теоретически может быть полезен в случае если пользователь не может сам выбрать свою систему и эту информацию никак нельзя получить. На практике сложно придумать нормальное применение кроме написания вирусни. А вот само наличие таких программ подталкивает к использованию странного кода со странными патчами. Уже представляю маркетологов которые со слоганами "скачай один файл, запускай везде", это начнут пихать во всевозможные приложения и рекламировать как преимущество (пользователю якобы не надо думать, а фронтендерам меньше работы). На деле же разработка только усложнится, а запуск (и возможно и работа) программ замедлится. Увы, это не остановить, можно только игнорировать(в начале, чтобы минимизировать последствия), критиковать(после бума, чтобы у нововошедших не возникло соблазна переоткрыть америку) и переждать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #6, #11, #25, #234

5. Сообщение от Аноним (5), 15-Июл-23, 22:54   +3 +/
Учитывая что GUI нынешнее поколение программистов умеет ваять только в Javascript для отрисовки встроенным браузером, то не такая уж это большая проблема. Впрочем, на Си уже тоже скоро разучатся писать, к добру или к худу...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #10, #20, #23, #29, #38, #60

6. Сообщение от Аноним (6), 15-Июл-23, 23:03   +2 +/
Этого не случится. Просто оценивай трезво. Сабж ещё трешовее мюслей, и мюсли уже дикий треш, который в прод тянут только абсолютные неадекваты. Ну и потом, проблема не запустить, проблема, чтобы оно вообще работало на платформе. И нет ровно ни одной причины заморачиваться с багами кастомной либц, если нормальная поддержка платформы уже имеется. Но я рад за автора, хорошая развлекуха.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #9

8. Сообщение от pashev.ru (?), 15-Июл-23, 23:13   +1 +/
GCC тут ни при чём. Это свободный проект, и любой срамец может запилить любой патч.
Ответить | Правка | Наверх | Cообщить модератору

9. Сообщение от Аноним (9), 15-Июл-23, 23:13   +2 +/
Это в какой это психбольнице мусл трешем стал, уважаемый? Срочно скажите, кто вас этому надоумил, что бы не дай бог этого человека на работу не нанять.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #12

10. Сообщение от Михаил (??), 15-Июл-23, 23:18   +9 +/
Писать на Си мало кто умел, увы, всегда, что странно при наличии ядра или ффмпега, где можно было подсмотреть. Но многие имели опыт, а он помогал им мыслить здраво даже в js. А сейчас js-only “программисты” иногда заставляют меня фейспалмить до красного лба
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

11. Сообщение от Аноним (11), 15-Июл-23, 23:20   –2 +/
бинарники не запустятся на linux.
сначала пользователь должен выполнить скрипт вроде от рута...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

12. Сообщение от Аноним (6), 15-Июл-23, 23:25   +2 +/
В той, в которой не приемлют просадки производительности в половину, а так же arbitrary code execution в printf (оно и логично, что подобное там есть ещё много где, потому что никто не использует и некому проверять).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #59

15. Сообщение от Да (?), 16-Июл-23, 00:13   +8 +/
Космополитан это все сплошной грязный хак. Автору просто повезло, что есть путь по которому ОС могут прожевать "универсальный" бинарник. Если в каком-нибудь из апдейтов венды прилетит поправленный парсер PE формата, который будет реджектит всякий мусор в файле а не skip'ать, то космополитан превратится в тыкву.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #24, #46

17. Сообщение от cheburnator9000 (ok), 16-Июл-23, 01:27   –1 +/
Если ваш исполняемый файл использует платформо-зависимую библиотеку скажем GTK/Qt то ничего не выйдет.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #143

18. Сообщение от Аноньимъ (ok), 16-Июл-23, 01:35   +1 +/
Турбо Паскаль умел это 20 лет назад.

Можно было с дискетки программу вообще без ОС загрузить и было зашибись.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #22, #110, #116

19. Сообщение от pavlinux (ok), 16-Июл-23, 01:36   +2 +/
Баян, версия 2023 года.

2009 https://www.opennet.ru/opennews/art.shtml?num=23948
Ну и в общем, попыток много было https://en.wikipedia.org/wiki/Fat_binary

Все они дохнут из-за того, что никто не хочет переписывать функционал
уже существующих библиотек, типа Boost,  Qt, WxWidget,  GMP, OpenMPI,  ...  

И ваще, уже 100500 лет есть Java ... java -jar ля-ля-ля.jar  и всё щастливы!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #31, #48, #67

20. Сообщение от Аноньимъ (ok), 16-Июл-23, 01:40   +/
Не то чтобы было много альтернатив браузереому гую, оно ещё относительно адекватно и не сломано.

Недавно нужно было простенький гуй на куте в питоне налабать, запустил куте десингер(или как его там) и чуть не проблевался. Что это за жесть такая? Как кнопку прилепилить к углу окна?
Потыкался потыкался в этой мерзости, плюнул, сделал всё программно.

Это же дно полное, проэктирвать что-то невозможно в этой гадости.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #44

21. Сообщение от Аноним (23), 16-Июл-23, 01:47   +1 +/
Системные вызовы разные же. Сплошная условная компиляция.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #35

22. Сообщение от Аноним (23), 16-Июл-23, 01:49   +/
До паскаля это тоже умели - загрузчик называется
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

23. Сообщение от Аноним (23), 16-Июл-23, 01:51   –1 +/
Да всё это для облачных приложений. Иначе зоопарк системных вызовов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

24. Сообщение от Аноним (23), 16-Июл-23, 02:28   +3 +/
Кто на это решиться в microsoft? Там полно легаси.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #34

25. Сообщение от Бывалый смузихлёб (?), 16-Июл-23, 03:23   +2 +/
Проблема «универсального» файла для всех осей может начаться с того, что в некоторых бинарнику даже прав на исполнение может не хватить и придётся это руками прописывать

Не всё же винда, где запускаемым является всё что с расширением .exe

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #26, #106

26. Сообщение от Аноним (26), 16-Июл-23, 03:41   –1 +/
>Не всё же винда, где запускаемым является всё что с расширением .exe

Ну wine это совсем не мешает загружать виндовые Portable Executable в собственный Linux процесс. Переписать имя процесса, чтобы ps видел не wine ./app.exe, а просто app.exe вполне возможно. Флаг X нужен только для запуска прямым execve.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

27. Сообщение от Ivan7 (ok), 16-Июл-23, 04:50   +3 +/
Интересно, но не вполне ясно, зачем оно. Да и в реальности будет много разных НО, включая внешние библиотеки, их разные версии для для каждой ОС и т.п. Да и нет проблем загрузить нужную версию приложения для определённой ОС.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #30

29. Сообщение от Аноним (36), 16-Июл-23, 06:16   –1 +/
Ой, а расскажите, как предыдущее поколение умело.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

30. Сообщение от arisu (ok), 16-Июл-23, 06:47   +/
> Интересно, но не вполне ясно, зачем оно.

затем, что автор упоротый. тот случай, когда придумал забавный хак для развлечения, а потом на нём заклинило.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27

31. Сообщение от Аноним (31), 16-Июл-23, 07:00   –3 +/
java давно протухла
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #36

32. Сообщение от n00by (ok), 16-Июл-23, 07:31   +1 +/
> макросы, подобные EINVAL, не являются константами в Cosmopolitan

Очень интересный момент.
Действительно, определены вот так:

/**
* Result too large.
*/
extern const errno_t ERANGE;

https://github.com/jart/cosmopolitan/blob/18536950b3db37da45...


А вот как должно быть в языке Си:

C17 ballot ISO/IEC 9899:2017

7.5 Errors <errno.h>

1 The header <errno.h> defines several macros, all relating to the reporting of error conditions.

2 The macros are

EDOM
EILSEQ
ERANGE

which expand to integer constant expressions with type int, distinct positive values, and which are suitable for use in #if preprocessing directives;


То есть формулировка "Си-библиотека Cosmopolitan" не является корректной.
Правильнее говорить "похожая на Си"

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #33

33. Сообщение от n00by (ok), 16-Июл-23, 07:35   +1 +/
Определено как extern const, что бы гарантировать наличие объекта в памяти.
Наверняка при инициализации библиотеки подставляются подходящие для среды исполнения значение.
То есть в угоду "универсальности" пожертвованы эффективность и соответствие стандарту.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32 Ответы: #39, #55

34. Сообщение от n00by (ok), 16-Июл-23, 07:46   +/
Там практически всего один линкер, и выпускает его Микрософт.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #56

35. Сообщение от n00by (ok), 16-Июл-23, 07:49   +3 +/
Это как раз не проблема, вызывать всё через диспетчер, который в зависимости от среды исполнения и перенаправит куда надо. Вот с кодами ошибок сложнее, и в данной библиотеке не получилось соответствовать стандарту.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

36. Сообщение от Аноним (36), 16-Июл-23, 08:17   +9 +/
Мужики-то и не знают.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31 Ответы: #66

37. Сообщение от Аноним (36), 16-Июл-23, 08:19   –2 +/
Вот бы кто сначала придумал для линуксов универсальный бинарник. А то для разных версий убунты разные deb'ы качать надо.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #40, #41

38. Сообщение от Дедобот (?), 16-Июл-23, 08:20   +/
>кхе кхе раньше было лучше
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

39. Сообщение от Пушок (?), 16-Июл-23, 08:25   +/
Как всегда чётко и по делу. 👍
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33

40. Сообщение от n00by (ok), 16-Июл-23, 08:50   +/
Это давно придумано и называется "статическое связывание". Аргументы против него в основном идеологические, подогреваемые заинтересованностью майнтейнеров.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #43, #52, #58, #115, #123

41. Сообщение от Аноним (83), 16-Июл-23, 09:11   +1 +/
Путаешь бинарники и пакеты программ.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37

42. Сообщение от Аноним (44), 16-Июл-23, 09:30   –2 +/
Ну всё этот ваш Линукс можно собрать переносимо и нативно запускать на шинде.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #68, #209

43. Сообщение от Аноним (44), 16-Июл-23, 09:32   +/
Хотя там вопрос где поставить границу между обязательной динамичность. Динамичностью на малый сегмент прог и полной статичностью. Надеюсь нейросети решат этот вопрос.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40

44. Сообщение от Аноним (44), 16-Июл-23, 09:37   +1 +/
Верстаешь просто сеткой и всё.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20

45. Сообщение от Аноним (45), 16-Июл-23, 09:47   +1 +/
Не понятно зачем это всё. Кроме форматов файлов есть еще системные вызовы и на этом всё заканчивается
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #50, #84, #103

46. Сообщение от Аноним (46), 16-Июл-23, 10:05   +/
>>> Космополитан это все сплошной грязный хак. <<<

Сам по себе язык Си это тоже тот ещё хак:) взять хотя бы, тот же do {...} while(0)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #57, #166

47. Сообщение от Аноним (47), 16-Июл-23, 10:07   +3 +/
Я очень надеюсь, что это cargo cult bloatware отклонят. Практической пользы от этой космополитан-diversity 0.
Ответить | Правка | Наверх | Cообщить модератору

48. Сообщение от Neandertalets (ok), 16-Июл-23, 10:16   +2 +/
Настолько "щасливы"... Про "запускать только под Java под Windows" ни разу не слышали? Не часто, но сталкивался. Или "не так" под разными ОС работает приложение (Винда, Линь (в самих линях не сталкивался между дистрибутивами)).
Так что эта многоОСность - весьма условна.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #70

49. Сообщение от Аноним (47), 16-Июл-23, 10:17   +/
Вчера читал исследование про уязвимости в парсерах ELF-файлов. В общем, все парсят неправильно, включая ядро Linux и загрузчик. Например, игнорируется endianness. Это приводит к тому, что поле endianness в формате становится фактически бесполезным. Это приводит к тому, что endianness надо знать наперёд при парсинге формата. Это приводит к тому, что программы, полагающиеся да указанное поле, можно ввести в заблуждение, поменяв это поле на дезу. А ядро и загрузчик - прожуют, они это поле не проверяют совсем. Если бы ядро и загрузчик это поле проверяли, то обфусцированный таким образом бинарник бы вообще бы не загрузился и этого способа обфускации бы в принципе не существовало.

Я считаю, что нужно сломать все программы, использующие этот способ обфускации, путём введения проверки в ядро и загрузчик.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #82, #90, #176

50. Сообщение от Dzen Python (ok), 16-Июл-23, 10:20   +/
Ждем, когда библиотека переродится полноценную VM, чтобы решить проблему разных окружений.
Хотя...стоп. Джава, ты ли это?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45 Ответы: #63, #175

52. Сообщение от Аноним (52), 16-Июл-23, 10:38   –1 +/
Идеология - это то, что определяет все компромиссы. Так как компромиссы есть во всём, идеология определяет всё. Если вы готовы разбазаривать память и иметь уязвимые и забагованные программы, но гарантированно рабттающие - вам контейнеры и/или статическое связывание. Если вам насрать на гарантии работоспособности хлама, а важнее чтобы не было уязвимостей и багов, и чтобы память рационально использовалась - вам пакеты.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #74

53. Сообщение от Аноним (53), 16-Июл-23, 10:39   +2 +/
>универсальный бинарник своей программулины

Слинкуй свой "универсальный бинарник" статически с операционной системой и запускай на bare железе. Согласись, это удобно-же.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #109, #165

55. Сообщение от Аноним (55), 16-Июл-23, 10:43   +/
Спасибо, кэп.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33

56. Сообщение от Аноним (56), 16-Июл-23, 10:47   +/
Было бы очень неплохо, если бы винда перешла на ELF или linux - на PE. ELF вроде простой и понятный. Но архаичный слишком, на JSON слишком похож. PE вроде посовременней - machine-readable структуры, которые можно по памяти разложить, а не по именам секций ориентироваться, перечисляя их.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34 Ответы: #75, #83

57. Сообщение от Аноним (56), 16-Июл-23, 10:49   +1 +/
Just use C++.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46 Ответы: #77

58. Сообщение от Аноним (36), 16-Июл-23, 10:53   +/
Ага, а потом Stable API nonsense.
И это только про убунту речь, а уж между дистрибутивами…
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #72

59. Сообщение от Аноним (59), 16-Июл-23, 10:53   +/
в printf везде arbitrary code execution. printf - полн по Тьюрингу.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

60. Сообщение от Тот_ещё_аноним (ok), 16-Июл-23, 11:16   +2 +/
>> GUI ... для отрисовки встроенным браузером

Да это не самый плохой вариант. При нынешнем GUI-вом зоопарке.

>> на Си уже тоже скоро разучатся

И к добру и к худу
Си ну очень "доброжелателен" и требует от прогера знаний, таланта и аккуратности, а это сочетание дано не всем.
Тот же раст для корпоративной разработки больше подходит - пиши по рельсам, и если нет unsafe и тесты проходит - скорее всего и проблем не будет. Снимается дикая нагрузка с верхнего эшелона разрабов(а они как раз дороже стоят и их мало) и порог входа в разработку снижается(экономика должна быть экономной). Потому раст и пихают)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #61, #107, #164

61. Сообщение от Аноним (-), 16-Июл-23, 11:29   –1 +/
>> Си ну очень "доброжелателен" и требует от прогера знаний, таланта и аккуратности, а это сочетание дано не всем.

Оно любому программисту требуется, проблема-то не в Си, а в том с какими проблемами ты сталкиваешься, просто Си этих проблем не скрывает под капотом, превращая явные ошибки в неявное поведение и вместо утечки памяти у тебя тупо раздувает приложение пока оно систему не вешает и/или не убивается OOM и т.д. Не то чтобы Си был без недостатков и своих подковырок, но они зато известны заранее и в любом учебнике или пособии про них будет рассказано. Поэтому все эти аргументы про снятие нагрузки с программиста для меня звучат как продаванский пиар когда тебе хотят втюхать непонятное г. Другие языки просто дают иллюзию что можно программировать не думая о типах, а памяти и т.д. Когда разраб на полной скорости врезается в эти проблемы, он уже будет пытаться их решить, воюя с "умным" языком которые все за него атвоматизировал и теперь заставить его работать как тебе надо очень непросто.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60 Ответы: #69

62. Сообщение от Аноним (62), 16-Июл-23, 11:42   –2 +/
Садо-мазо. Проще уж просто взять и принять PE за стандарт. Под виндой он и так работает. Под DOS есть HX. Под линухом есть Wine. Андройд это жаба под линухом, так что не в счет. Остальные поделки лесом, ибо кто прогибается под агрессивный маркетинг, тот должен страдать.
Ответить | Правка | Наверх | Cообщить модератору

63. Сообщение от arisu (ok), 16-Июл-23, 12:06   +1 +/
> Ждем, когда библиотека переродится полноценную VM, чтобы решить проблему разных окружений.

я немножко не понял, зачем ждать то, что уже сделали: https://github.com/jart/blink

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

66. Сообщение от Дмитрий (??), 16-Июл-23, 12:25   +1 +/
Кстати java в основном используется на серверах.  под десктоп мало где используется. У обычных пользователей установленная java - редкость
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36 Ответы: #78, #80, #112, #134, #151

67. Сообщение от Аноним (67), 16-Июл-23, 12:27   +/
> Все они дохнут из-за того, что никто не хочет переписывать функционал

уже существующих библиотек, типа Boost,  Qt, WxWidget,  GMP, OpenMPI

главное gcc и утилиты gnu - как минимум можно избавиться от cygwin, остальное не интересно.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #233

68. Сообщение от maximnik0 (?), 16-Июл-23, 12:29   +1 +/
>и нативно запускать на шинде.

Давно ,очень давно можно было.Ещё во времена вин98.Был
такой загрузчик- loadlin с бантиком,запускал Линукс из под винды.
Да, нужен был хак (ums-dos ??? Или как он там назывался)для файловой системы фат,подменял название файлов и атрибуты,должен был быть включен в ядро,у популярной на тот момент  сласквари уже был готовый 130мгб ЗИП образ,просто распоковывался и работал.
Чуть позже для 2000 и xp тоже выпустили драйвер  чтобы линь под этими операционками работал ,требовался правда падченное Лин ядро.Правда уже вмваре появился,проще в нем было запускать...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42 Ответы: #201

69. Сообщение от Аноньимъ (ok), 16-Июл-23, 12:35   +2 +/
>Другие языки просто дают иллюзию что можно программировать не думая о типах

Эм, а в сишке типо нужно много думать о типах?
В ней система типов практически отсутствует как таковая.
И что это за другие языки такие, расскажите, хочу не думать о типах.

>Си этих проблем не скрывает под капотом, превращая явные ошибки в неявное поведение

Лолчто, это в Си нету Undefined Behaviour? Там где должны быть явные ошибки?

Остальное тоже бред полнейший...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61 Ответы: #76

70. Сообщение от Аноним (70), 16-Июл-23, 12:43   +/
К слову, конкретно эта проблема писателей, которые нарочно привязывались либо к конкретному рантайму, либо через jni к конкретной библиотеке под конкретную версию ОСи, либо используют запрещённые колдунства с sun.misc.unsafe (которые не являются частью стандартного api, просто так недоступны снаружи, меняются от рантайма к рантайму, зато там возможна работа с указателями)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48 Ответы: #71, #105

71. Сообщение от Neandertalets (ok), 16-Июл-23, 12:49   +3 +/
> К слову, конкретно эта проблема писателей, которые нарочно привязывались либо к конкретному
> рантайму, либо через jni к конкретной библиотеке под конкретную версию ОСи, либо используют
> запрещённые колдунства с sun.misc.unsafe (которые не являются частью стандартного api, просто
> так недоступны снаружи, меняются от рантайма к рантайму, зато там возможна работа с указателями)

   Можно это высказать разрабам из Cisco... Но толку?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #70

72. Сообщение от n00by (ok), 16-Июл-23, 12:57   +/
> Ага, а потом Stable API nonsense.

Это мнение типичного эксперта, кто где-то что-то прочёл и принялся повсюду копировать, не понимая, о чём оно.

А вот золотое правило Linux kernel: DO NOT BREAK THE ***** USERLAND.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58

74. Сообщение от n00by (ok), 16-Июл-23, 13:00   +1 +/
Идеология - это буллшит, обязывающий гарантировать работу нубкитов с LD_PRELOAD и работу сборщикам пакетиков и экспертам по безопасности, видимшим руткиты лишь на картинках.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52 Ответы: #102, #113, #114

75. Сообщение от n00by (ok), 16-Июл-23, 13:32   +/
В Linux уже есть загрузчик Portable Executable -- в составе Wine. Имеет смысл, поскольку заодно предоставляет WinAPI. Иначе зачем он нужен? Универсальность от лукавого. Например, в Linux mremap() предоставляет возможности, коих нет у конкурентов, и они могут заметно упростить код и дать выигрыш по скорости.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56 Ответы: #101, #117

76. Сообщение от n00by (ok), 16-Июл-23, 13:38   –1 +/
> Лолчто, это в Си нету Undefined Behaviour? Там где должны быть явные
> ошибки?

Читайте внимательно вторую строку:

Note 1 to entry: Possible undefined behavior ranges from ignoring the situation completely with unpredictable results,
to behaving during translation or program execution in a documented manner characteristic of the environment (with or
without the issuance of a diagnostic message), to terminating a translation or execution (with the issuance of a diagnostic
message).

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69 Ответы: #92

77. Сообщение от Аноним (46), 16-Июл-23, 14:04   +2 +/
Предпочитаю Python и С, но да, когда не хватает возможностей С, - хорошо что есть С++!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57

78. Сообщение от Аноним (78), 16-Июл-23, 14:08   +1 +/
Миллионы игроков в Minecraft & Runescape для тебя это шутка?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66 Ответы: #79, #86

79. Сообщение от Neandertalets (ok), 16-Июл-23, 14:18   –1 +/
> Миллионы игроков в Minecraft & Runescape для тебя это шутка?

Хех... Даже пришлось гуглить....

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78

80. Сообщение от Neandertalets (ok), 16-Июл-23, 14:20   +/
> Кстати java в основном используется на серверах.  под десктоп мало где
> используется. У обычных пользователей установленная java - редкость

Есть не мало софта и на десктопе. На винде - немного, но тоже есть.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66

82. Сообщение от Аноним (83), 16-Июл-23, 14:53   +1 +/
Вероятно это потому, что для x86_64 другого endianness не бывает. А вот для POWER, MIPS наверняка это поле проверяется.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #89

83. Сообщение от Аноним (83), 16-Июл-23, 14:56   –1 +/
Исторически, ELF появился позже PE. Во времена рождения Win95, в Linux ещё использовался a.out.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56 Ответы: #236

84. Сообщение от Don (??), 16-Июл-23, 15:04   +/
Вроде минимальный набор системных вызов тоже поддерживаются: файлы, сокеты и тп
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45

85. Сообщение от Аноним (85), 16-Июл-23, 15:14   +/
Так это самое...
Я не настоящий художник, но тот же QT можно и под оффтопиком использовать...
Я даже видел работающее ПО с его использованием :)

Или есть какие-то не очевидные для меня сложности?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #108

86. Сообщение от Аноним (86), 16-Июл-23, 15:15   +3 +/
Эти миллионы игроков используют не старый оригинальный майнкрафт на джаве, а Minecraft Bedrock, который не имеет к джаве отношения вообще. А то и современный Minecraft RTX.

Вы что, думаете что майнкрафт для Wii U, Switch, PS4/PS5, Xbox всех вариантов, iOS и тп на джаве? Миллионы игроков - это на всех платформах вместе, а не только винде. Безо всякой джавы. Да и под виндой основная масса на Bedrock для нормального освещения и прочего...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78 Ответы: #138

87. Сообщение от uis (??), 16-Июл-23, 15:28   +1 +/
Но работает только на одной архитектуре и в одном порядке байт. Зачем?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #88

88. Сообщение от uis (??), 16-Июл-23, 15:30   +/
Так ещё и препроцессор использовать нельзя.
#ifdef WIN32 всё поломает.
Ну либо использовать только библиотечные вызовы, что грустно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #87 Ответы: #202

89. Сообщение от uis (??), 16-Июл-23, 15:35   +/
ARM тоже. Обе разрядности.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82

90. Сообщение от uis (??), 16-Июл-23, 16:12   +/
> Это приводит к тому, что endianness надо знать наперёд при парсинге формата.

https://man7.org/linux/man-pages/man5/elf.5.html
Ложь, поклёп и провокация! Читаешь шестой байт - вот тебе endianess

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #100

92. Сообщение от uis (??), 16-Июл-23, 16:43   +1 +/
Перевод: возможное неопределённое поведение может варьироваться между:
1) Выполнением как-есть с неким результатом,
2) Дальнейшим определением поведения,
3) И выводом ошибки во время компиляции или выполнения программы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #76

97. Сообщение от YetAnotherOnanym (ok), 16-Июл-23, 17:40   –1 +/
Я _очень_ надеюсь, что авторы этих патчей, вместе с самими патчами,  разрабами ГЦЦ будут отправлены лесом.
Ответить | Правка | Наверх | Cообщить модератору

100. Сообщение от Аноним (100), 16-Июл-23, 19:48   +1 +/
Только ядро Linux и ld.so его не читают и безропотно грузят файлы, в которых указана несовместимая endianness. А инструменты реверсинга - читают и используют. Поэтому кульхацкеры ставят неправильное значение. Программа всё равно работает, а вот декомпиляторы и дизассемблеры сосут.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #90 Ответы: #104

101. Сообщение от Аноним (101), 16-Июл-23, 19:59   +/
для упразднения этого безобразного зоопарка. Чтобы на всех системах использовался один и тот же формат бинарей, и мне чтобы не надо было поддерживать 3 бэкенда: по одному на каждый из основных форматов. И ещё чтобы была утилитка, которая все бинарники сконвертирует, в которую можно пользователей носом тыкать, когда им нужно работать с неподдерживаемым в моей утилите форматом.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75

102. Сообщение от Аноним (102), 16-Июл-23, 20:02   +/
>LD_PRELOAD

- удобная вещь.

>работу сборщикам пакетиков и экспертам по безопасности,

Причём тут контейнеры?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74 Ответы: #118

103. Сообщение от Аноним (103), 16-Июл-23, 21:15   +1 +/
> Переносимость обеспечивается при помощи библиотеки Cosmopolitan, которая предоставляет универсальную обвязку над системными вызовами различных операционных систем.

Почему бы просто новость не прочитать дальше заголовка?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45 Ответы: #125

104. Сообщение от uis (??), 16-Июл-23, 22:12   +/
> $ gcc -nostdlib main.c -mbig-endian -o test
> $ ./test
> bash: ./a.out: cannot execute binary file: Exec format error

ЧЯДНТ?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #100 Ответы: #119

105. Сообщение от _ (??), 16-Июл-23, 22:27   +/
>К слову, конкретно эта проблема писателей

К слову тогда любой Ёзык - кросс-платформенный. Всё зло от писак!(С)

... хех! И кстати это почти 146% правда :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #70

106. Сообщение от 48 (?), 17-Июл-23, 00:38   +/
а че толку если оно тупо в ошибку падает пока не запустишь из меню "запустить от аминистратора"..
вобщемта, линуха пошла по тому же пути, со своими се-линуксами, недавно поднимал ssh туннель, все из каробки, все из гуи, и не работает, 2-3 часа гугления и компилирования новых правил, и ура, теперь ssh имеет права настраивать tap. мне вот даже интересно, зачем пихать плагин для нетворкМанагера если оно не работает, очевидно у разраба се-линукс выключен.

Впрочем, контейнеры победят

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

107. Сообщение от C00l_ni66a (ok), 17-Июл-23, 01:01   +/
>Тот же раст для корпоративной разработки больше подходит

Причём тут корпоративная разработка в принципе - я не очень понял, но да ладно.
В корпоративной разработке больше подходит то, что позволит сваять софтину за три дня силами полутора кодеров с донной З/П. А учитывая лёрнинг курву раста и тот факт, что популярен он преимущественно либо среди маргиналов-самоучек, либо среди получателей грантов - то становится очень сложно утверждать, что для среднестатистических корпоратов ржавый лучше условного жаваскрипта. И очень смешно видеть утверждения про "пиши по рельсам" в контексте ЯПа с таким количеством абстракций и миллионом способов решения одной проблемы.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60

108. Сообщение от Анониссимусemail (?), 17-Июл-23, 01:10   +/
> Так это самое...
> Я не настоящий художник, но тот же QT можно и под оффтопиком
> использовать...
> Я даже видел работающее ПО с его использованием :)
> Или есть какие-то не очевидные для меня сложности?

Я тоже не настоящий. Но хорошо усвоил, что графика -- это очень, очень сложно. Драйвера, аппаратное ускорение, дисплейные менеджеры, X11/Wayland, тулкиты... И в каждом из этого содержатся костыли для подпорки других костылей из всего этого месива технологий. Поэтому я уверен, что неочевидных сложностей будет предостаточно.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85

109. Сообщение от Анониссимусemail (?), 17-Июл-23, 01:12   –1 +/
>>универсальный бинарник своей программулины
> Слинкуй свой "универсальный бинарник" статически с операционной системой и запускай на
> bare железе. Согласись, это удобно-же.

Сам то понял, что высрал? Ты юзеры своей программулины хочешь заставить запускать её на bare metal? Ах да, у тебя же нет никаких программулин, и даже хеловорлдов.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #53

110. Сообщение от Анониссимусemail (?), 17-Июл-23, 01:16   +/
> Турбо Паскаль умел это 20 лет назад.
> Можно было с дискетки программу вообще без ОС загрузить и было зашибись.

Это и сейчас можно сделать на любом достаточно низкоуровневом языке. Только это не нужно: операционные системы не просто так придумали.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #111, #127

111. Сообщение от Аноньимъ (ok), 17-Июл-23, 01:36   +1 +/
Если говорить о всяких юниксах, то их придумали чтобы запускать сишкопрограммы...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #110 Ответы: #141

112. Сообщение от Аноним (112), 17-Июл-23, 03:36   +/
> У обычных пользователей установленная java - редкость

LibreOffice


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66

113. Сообщение от Аноним (112), 17-Июл-23, 03:48   +/
> LD_PRELOAD

Статическое связывание тебя не спасёт на машине с отладчиком.

> руткиты

В пространстве ядра. Какая разница какое связывание?


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74 Ответы: #120

114. Сообщение от Аноним (112), 17-Июл-23, 04:05   +/
> гарантировать работу нубкитов

Вот статическая линковка и пустые надежды на nooby-разрабов ПО, как раз, гарантируют работоспособность эксплоитов, налдолго и во всех дистрибутивах страны (с такой моделью сборки-доставки ПО).
А там, где сопроводители пакетов и разделяемые либы, там ни дыр в libSSL.a, исправленных полвека назад, ни совместимости для эксплоитейшн-автоматики, зато сплошные удобства для частых обновлений ПО.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74 Ответы: #121

115. Сообщение от Аноним (112), 17-Июл-23, 04:11   +/
> "статическое связывание"
> Аргументы против него

* 100500 версий одних и тех же библиотек на диске и в памяти
* вечноживые дыры в каждой, спасибо ленивым и тупым разработчикам прикладного ПО
* заинтересованность в нём зловредных nooby-какиров

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #122

116. Сообщение от Neon (??), 17-Июл-23, 05:31   +2 +/
Basic это вообще умел, чуть ли не с 60х.)))
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

117. Сообщение от Neon (??), 17-Июл-23, 05:32   +/
Только конкурентов все 99%
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75 Ответы: #126

118. Сообщение от Neon (??), 17-Июл-23, 05:34   +/
>LD_PRELOAD

Дико неудобная

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #102

119. Сообщение от Аноним (119), 17-Июл-23, 08:19   +/
За что купил - за то и продаю https://tmpout.sh/2/3.html
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #104

120. Сообщение от n00by (ok), 17-Июл-23, 08:39   +/
Для видевших руткиты лишь на картинках попробую объяснить. Нубкит - это "руткит" режима пользователя. Он не запускает процесс под отладкой для трассировки и поиска нужных для перехвата мест, не использует дизассемблер с той же целью, решая NP-полную задачу. Он тупо смотрит импорт/экспорт.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #113

121. Сообщение от n00by (ok), 17-Июл-23, 08:42   +2 +/
> с такой моделью сборки-доставки ПО.

А теперь обратите внимание на "гарантировать работу ... сборщикам пакетиков".
"Пакетики" намекает, что эти люди заняты не своим делом. Они пытаются внушить доверчивому пользователю, что обновление мифической .so чем-то принципиально отличается от обновления приложений, когда библиотека в них "вкомпилирована". Потому что сами в существование такого отличия веруют.

> А там, где сопроводители пакетов и разделяемые либы, там

Там вопрос из FAQ на хеккерном форуме:
Q: как закрепиться в системе линукс, где чорная консоль?!
А: используй LD_PRELOAD, бро!!!111

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #114 Ответы: #129, #184

122. Сообщение от n00by (ok), 17-Июл-23, 08:53   +1 +/
>> "статическое связывание"
>> Аргументы против него
> * 100500 версий одних и тех же библиотек на диске и в
> памяти

Спасибо за пример идеологического аргумента.
Результаты измерений отсутствуют, сравнения занимаемого объёма памяти не производится, фантазия выдаётся за истину.

> * вечноживые дыры в каждой, спасибо ленивым и тупым разработчикам прикладного ПО

Они настолько ленивы и тупы, что смогли написать ПО, которое анонимные сборщики пакетиков написать сами не могут, но с продажи которого кормятся.

> * заинтересованность в нём зловредных nooby-какиров

Эксперт забыл развернуть мысль, или её вовсе не было?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #115 Ответы: #130, #131

123. Сообщение от freehckemail (ok), 17-Июл-23, 08:58   +/
> Это давно придумано и называется "статическое связывание". Аргументы против него в основном идеологические

Однако. То есть, вот на диске GNU/Linux-системы по сравнении с Windows занимают меньше места аж на порядок, а это оказывается называется "идеологические"...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #124

124. Сообщение от n00by (ok), 17-Июл-23, 09:07   +1 +/
>> Это давно придумано и называется "статическое связывание". Аргументы против него в основном идеологические
> Однако. То есть, вот на диске GNU/Linux-системы по сравнении с Windows занимают
> меньше места аж на порядок, а это оказывается называется "идеологические"...

Да, именно идеологические.

"Аж на порядок" - в 10 раз.
Это значение могло бы быть получено в результате деления, если бы заявитель обладал фактами и предоставил результаты измерений.

Но он владеет в основном демагогией, потому написал как есть.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #123 Ответы: #128

125. Сообщение от Аноним (45), 17-Июл-23, 09:19   +/
почему бы не балаболить а действительно посмотреть что оно поддерживает?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #103

126. Сообщение от n00by (ok), 17-Июл-23, 09:21   +/
Так потому что не используют конкурентное преимущество. Получается порочный круг.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #117

127. Сообщение от arisu (ok), 17-Июл-23, 09:23   +2 +/
> Это и сейчас можно сделать на любом достаточно низкоуровневом языке. Только это
> не нужно: операционные системы не просто так придумали.

их придумали, чтобы не таскать с собой дисковые драйвера. а потом всё стало Очень Плохо.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #110 Ответы: #142

128. Сообщение от freehckemail (ok), 17-Июл-23, 09:24   +2 +/
> Это значение могло бы быть получено в результате деления, если бы заявитель обладал фактами и предоставил результаты измерений.

Я конечно понимаю, что бремя доказательства лежит на утверждающем, чайник Рассела, все дела... Но товарищ n00by, Вы бы хоть сделали вид, что используете GNU/Linux. Это ведь общеизвестный факт. Думаю, на него в своё время обратили внимание все, кто когда-либо переходил с винды на линухи. )

Не, Вы конечно можете поиграть циферками, и сказать например, что ubuntu-де после свежей установки жрёт 4 гб диска, а win 10 home edition 16, и вот это вот всего лишь в 4 раза, но та же pro edition займёт 25 гб, то есть разница уже в 6 раз. А потом мы начнём ставить прикладной софт из репозитория, и внезапно разница сильно возрастёт не в пользу win. Ах да, забыл, кажется в ubuntu прикладной софт-то уже включён в первой цифре, в то время как в win это голая ось с минимумом необходимого, разве нет? )

И ведь это речь идёт только про размер занятого дискового пространства, даже не затрагивая вопроса доставки обновлений безопасности слинкованных с бинарями библиотек. )

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #124 Ответы: #132, #137, #170

129. Сообщение от Аноним (129), 17-Июл-23, 09:46   –1 +/
Я правильно понимаю, что вы утверждаете, что те

>Они пытаются внушить доверчивому пользователю, что обновление мифической .so чем-то принципиально отличается от обновления приложений, когда библиотека в них "вкомпилирована".

неправы, и что пересобрать и обновить всю систему со всеми программам в ней - это то же самое, что обновить одну библиотеку?

Мейнтейнеры и сборщики пакетов делают свою работу. Без этой работы нам бы пришлось обновлять всю систему и каждую программу в ней. Количество работы для сопровождающих снап-пакетов только увеличится. Но частота необходимости обновления каждого контейнера - тоже. И придётся платить каждому сопровождающему, который желает подзаработать (а почти все захотят подзаработать, коммерциализация опенсорса - это стандартная тема для нытья деятелей опенсорса, видите-ли работают не покладая рук, а сверхприбылей нет), каждого snapcraft-образа за каждую пересборку. С отчислением процента Canonical. Sustainable commercial opensource. Не говоря уже о потреблении памяти. Вот это то будущее, за которое вы так топите.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #121 Ответы: #133

130. Сообщение от Аноним (129), 17-Июл-23, 09:50   +1 +/
Результаты измерений - достаточно посмотреть на размер программ на Rustе и потребление оперативы во время сборки, и размер директории с кешем cargo-пакетов. Простая либа, позиционирующаяся как для embeddedа вроде Arduino, занимает в отстрипанном виде 2 мебибайта. А папка кэша занимает 10 гигов. Пихал я в рот такой эмбеддед и такие языки программирования.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #122 Ответы: #135

131. Сообщение от Аноним (112), 17-Июл-23, 11:27   +/
> Результаты измерений отсутствуют

И так вижу, при установке и обновлениях, сколько пакетов используют общие библиотеки. А когда прилетает исправление уязвимости в одной из них, могу гарантировать, что ни одна программа не останется связанной со старой уязвимой версией.

> смогли написать ПО, которое анонимные сборщики пакетиков написать сами не могут

Я писал ПО, когда ещё даже SourceForge не было. При наличии свободного времени (будучи студентом) - ничего особенного. А сейчас ПО, в основном, не пишут, а друг у друга копируют с Github-а, а получается всё хуже и хуже. Всё сколько-нибудь приличное ПО написано ещё в прошлом веке и сегодня развивается.

> с продажи которого кормятся

Я пакеты исключительно бесплатно собираю для себя и других.

> забыл развернуть мысль

Мысль всё та же: одинаковые сборки слинкованные с устаревшими библиотеками - праздник для скрипт-кидди с готовыми автоматизированными фреймворками.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #122 Ответы: #136

132. Сообщение от Аноним (112), 17-Июл-23, 11:35   +/
Фиг с ним, с дисковым местом. Оперативку жалко. Вот уж, где жор, когда несколько приложений на, скажем, Электроне одновременно запущены. А если их закрывать-открывать, то опять же разница вида и по скорости запуска, когда программы, связанные динамически, повторно стартуют почти мгновенно, а в это время статические всё ещё скрипят диском.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #128

133. Сообщение от n00by (ok), 17-Июл-23, 11:49   +2 +/
> Я правильно понимаю, что вы утверждаете, что те
>>Они пытаются внушить доверчивому пользователю, что обновление мифической .so чем-то принципиально отличается от обновления приложений, когда библиотека в них "вкомпилирована".
> неправы, и что пересобрать и обновить всю систему со всеми программам в
> ней - это то же самое, что обновить одну библиотеку?

Я утверждаю, что вы не понимаете, что такое принципиальное отличие. Вы полагаете это отличие количественным, тогда как оно качественное.

> Мейнтейнеры и сборщики пакетов делают свою работу.

Архитектура системы - это дело архитектора, а не специалиста по автоматизации запуска git clone && rpmbuild. Собственно потому архитектура форков форков и скопирована у RedHat.

> Количество работы для сопровождающих снап-пакетов только увеличится.

Сам придумал тезис про снап пакеты, сам с ним поспорил - вот это настоящий эксперт.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #129 Ответы: #140, #182

134. Сообщение от pavlinux (ok), 17-Июл-23, 11:54   +1 +/
> Кстати java в основном используется на серверах.  под десктоп мало где
> используется. У обычных пользователей установленная java - редкость

Из тех, что у меня есть: Netbeans, Eclipse, Android Studio,  Kubios+MatLab,  Maple,  OWASP, Azureus, BikeXperience    

Не смотря на "жирность" самой жавы, тормознутость и требование к ресурсам,...  
только Sun Microsystems  и Java добились реальной аппаратной независимости,
портабельности и многоплатформенности.  

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66

135. Сообщение от n00by (ok), 17-Июл-23, 11:57   +1 +/
> Результаты измерений - достаточно посмотреть на размер программ на Rustе и потребление
> оперативы во время сборки, и размер директории с кешем cargo-пакетов.

Спасибо за второй пример идеологического аргумента. Подмена предмета (большинство приложения написаны на С, а не на Rust) и "доказательство по аналогии" -- типичная демагогия.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #130

136. Сообщение от n00by (ok), 17-Июл-23, 12:05   +1 +/
>> Результаты измерений отсутствуют
> И так вижу, при установке и обновлениях, сколько пакетов используют общие библиотеки.

Давайте же уверуем словам гуру! Математика, статистика и метрология - луддитские лженауки!

>> забыл развернуть мысль
> Мысль всё та же: одинаковые сборки слинкованные с устаревшими библиотеками - праздник
> для скрипт-кидди с готовыми автоматизированными фреймворками.

То есть мысль, что при обновлении статически слинкованной библиотеки этот "аргумент" превращается в тыкву, так и не появляется.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #131 Ответы: #178

137. Сообщение от n00by (ok), 17-Июл-23, 12:12   –1 +/
>> Это значение могло бы быть получено в результате деления, если бы заявитель обладал фактами и предоставил результаты измерений.
> Я конечно понимаю, что бремя доказательства лежит на утверждающем, чайник Рассела, все
> дела... Но товарищ n00by, Вы бы хоть сделали вид, что используете
> GNU/Linux. Это ведь общеизвестный факт. Думаю, на него в своё время
> обратили внимание все, кто когда-либо переходил с винды на линухи. )

Я сделаю вид, что не заметил рефлективную попытку гуру вызвать стадный рефлекс у читателя.

Вот такой статически слинкованный код на плюсах

int main () {
  std::cout << "hello world";
}

У меня весил в Винде менее 30 Кб.
Не стесняйтесь, покажите, сколько гигабайт экономится разделяемой библиотекой. ;)

> Не, Вы конечно можете поиграть циферками, и сказать например

Нет, не могу. Бремя доказательства лежит на утверждающем.
Фу таким быть.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #128 Ответы: #139, #149, #155, #179

138. Сообщение от Аноним (138), 17-Июл-23, 12:21   +1 +/
Ты серьёзно так считаешь? Ожидаемый контраргумент, но Java-версия попросту незаменима для линуксоидов и любителей поиграть с модами, а это всё ещё миллионы игроков, Curseforge не даст соврать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #86

139. Сообщение от freehckemail (ok), 17-Июл-23, 12:36   +1 +/
> Я сделаю вид, что не заметил рефлективную попытку гуру вызвать стадный рефлекс у читателя.

Однако. А ведь я только лишь обращаю внимание на то, что Вы, по-видимому, не являлись активным пользователем некоторых операционных систем.

> У меня весил в Винде менее 30 Кб.

И что?

> Не стесняйтесь, покажите, сколько гигабайт экономится разделяемой библиотекой. ;)

Что это за хитрый реверанс? Ужели Вы взаправду предполагаете, что я займусь доказательством заведомой чуши, которой Вы только что подменили мои утверждения?

> Бремя доказательства лежит на утверждающем.

Это, между прочем, работает и в обратную сторону. Ваш исходный тезис гласит:

>>> Это давно придумано и называется "статическое связывание". Аргументы против него в основном идеологические

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

> Фу таким быть.

Кстати, согласен.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #137 Ответы: #163

140. Сообщение от freehckemail (ok), 17-Июл-23, 12:46   –2 +/
>> Я правильно понимаю, что вы утверждаете, что <...мейнтейнеры...>
>> неправы, и что пересобрать и обновить всю систему со всеми программам в
>> ней - это то же самое, что обновить одну библиотеку?

Дорогой Аноним! Я думаю, всё гораздо проще:

> Архитектура системы - это дело архитектора, а не специалиста по автоматизации запуска git clone && rpmbuild.

Товарищ c говорящим псевдонимом n00by попросту не понимает и не уважает работу мейнтейнеров.

Эта позиция в некоторых кругах столь же распространена, как и мнение "мой начальник -- дурак, вот был бы главным я"... К этому надо просто привыкнуть.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #133 Ответы: #156

141. Сообщение от Анониссимусemail (?), 17-Июл-23, 13:54   +/
> Если говорить о всяких юниксах, то их придумали чтобы запускать сишкопрограммы...

Их придумали, чтобы управлять другими программами. На сишке или не сишке -- не важно.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #111 Ответы: #144

142. Сообщение от Анониссимусemail (?), 17-Июл-23, 13:58   –1 +/
>> Это и сейчас можно сделать на любом достаточно низкоуровневом языке. Только это
>> не нужно: операционные системы не просто так придумали.
> их придумали, чтобы не таскать с собой дисковые драйвера. а потом всё
> стало Очень Плохо.

Нет, и нет. У ОС много разных функций, и драйвера -- не единственная. И нет, потом стало Очень Хорошо. Если есть ностальгия по 60-м, можете писать на асме под баре метал. Это не то чтобы очень весело.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #127 Ответы: #147

143. Сообщение от Анониссимусemail (?), 17-Июл-23, 14:01   +/
> Если ваш исполняемый файл использует платформо-зависимую библиотеку скажем GTK/Qt то ничего
> не выйдет.

А если в зависимости от платформы связываться с разными библиотеками? Да, это очень сложно, но ведь возможно?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17

144. Сообщение от Аноньимъ (ok), 17-Июл-23, 14:15   +/
>> Если говорить о всяких юниксах, то их придумали чтобы запускать сишкопрограммы...
> Их придумали, чтобы управлять другими программами. На сишке или не сишке --
> не важно.

Управлять не совсем подходящее слово в таком контексте.

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

Причем это всё развивалось в рамках очень конкретных программ и аппаратных архитектур.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #141 Ответы: #150

145. Сообщение от xsignal (ok), 17-Июл-23, 14:23   +/
Нафиг не надо, более бредовой идеи сложно придумать.
Ответить | Правка | Наверх | Cообщить модератору

147. Сообщение от arisu (ok), 17-Июл-23, 14:57   +/
> 60-м, можете писать на асме под баре метал. Это не то
> чтобы очень весело.

это очень весело, и в итоге намного более прикольно и эффективно, чем современные бегемоты. Project Oberon свидетель.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #142 Ответы: #152

149. Сообщение от C00l_ni66a (ok), 17-Июл-23, 16:55   +/
>Бремя доказательства лежит на утверждающем.

@
>"ну я вот кароче чот сканпелировал и оно мало весит давай пруфай скока у тебя)))))))"

Потрясающий ход от того, кто раннее ещё и к демагогии апеллировал. С таким-же успехом я могу утверждать, что я скомпилировал хелловорлд на хтмл и получился бинарник размером 5 бит.

Если намёк не ясен, пишу прямо - полную конфигурацию в студию, какой компилятор и какой версии, какие аргументы, какая версия винды. А главное, ещё умудрись доказать, что всё это работает не благодаря винапи, которое всегда линкуется динамически, гы-гы.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #137 Ответы: #160

150. Сообщение от Анониссимусemail (?), 17-Июл-23, 17:19   +/
Абсолютно согласен. Просто мне не хотелось углубляться. Ведь тогда придётся вспомнить про прерывания, и тд и тп.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #144

151. Сообщение от _kp (ok), 17-Июл-23, 17:19   +/
При известных недостатках Явы на десктопе вообще то это один из немногих способов сделать portable  придожение, да под несколько ОС одновременно, и с вменяемой производительностью, и вменяемыми аппетитами к ресурсам, по сравнению с альтернативными решениями.
В общем, будет еще и жить,и развиваться.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66 Ответы: #210

152. Сообщение от Анониссимусemail (?), 17-Июл-23, 17:23   +/
>> 60-м, можете писать на асме под баре метал. Это не то
>> чтобы очень весело.
> это очень весело, и в итоге намного более прикольно и эффективно, чем
> современные бегемоты. Project Oberon свидетель.

Веселье -- вещь субъективная, но эффективность? Если бы это было и впрямь эффективно, этим бы пользовались. Много ли вы можете назвать полезных программ под баре метал навскидку? Я -- всего три: Linux, Grub и memtest86+. А всё потому, что время программиста давно сильно дороже процессорного времени. Потому и эффективность теперь другая.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #147 Ответы: #153

153. Сообщение от arisu (ok), 17-Июл-23, 17:31   +/
ясно. про Project Oberon ты знаешь ничего. но пафосно рассуждаешь — как и полагается — на темы, в которых полный профан. с любимым аргументом: «я не видел — поэтому не бывает!» и вторым любимым про «время программиста».

кстати, чтобы ты знал, твои любимые программисты убили как минимум несколько миллионов человек. возможно, больше, точно не помню. не так сложно посчитать время, потраченое на тормоза в том, что они называют «софт», и поделить на среднее время жизни человека. вот столько жизней они украли — и продолжают красть.

поэтому не удивляйтесь, когда вас однажды начнут просто убивать.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #152 Ответы: #154

154. Сообщение от Анониссимусemail (?), 17-Июл-23, 17:47   +/
Эй, непрофан, так ты кроме оберона на баре метал ничего и не знаешь? Я уважаю труды Вирта и его самого, но назвать их полезными можно только в образовательном контексте.

А вместо бреда про "время, потраченное на тормоза", подумай лучше, сколько человекочасов потрачено на чтение твоих бесполезных комметариев? Тебе бы тогда определённо стоило побеспокоиться за свою жизнь!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #153 Ответы: #157

155. Сообщение от uis (??), 17-Июл-23, 17:48   +/
> Вот такой статически слинкованный код на плюсах
>
> int main () {
>   std::cout << "hello world";
> }
>
> У меня весил в Винде менее 30 Кб.
> Не стесняйтесь, покажите, сколько гигабайт экономится разделяемой библиотекой. ;)

Нифига себе! У меня прога для индексации и поиска по zip архиву весит 15Кб. С динамической линковкой к libc, zlib и minizip, но с отключённым relro. С включённым relro 17Кб.


Ну и твой helloworld:
Динамика: g++ -mthumb -fno-math-errno -fmerge-all-constants -fno-ident -pipe -fno-plt -mcpu=native -D_GNU_SOURCE -fvisibility=hidden -flto -fno-fat-lto-objects -Os -s -fno-stack-protector -fno-asynchronous-unwind-tables -fno-unwind-tables -DNDEBUG -Wl,-z,max-page-size=0x1000 -Wl,-z,norelro hw.cpp -fno-rtti -fno-exceptions -fwhole-program && sstrip -z a.out
2.5Кб

g++ -mthumb -fno-math-errno -fmerge-all-constants -fno-ident -pipe -fno-plt -mcpu=native -D_GNU_SOURCE -fvisibility=hidden -flto -fno-fat-lto-objects -Os -s -fno-stack-protector -fno-asynchronous-unwind-tables -fno-unwind-tables -DNDEBUG -Wl,-z,max-page-size=0x1000 -Wl,-z,norelro hw.cpp -fno-rtti -fno-exceptions -fwhole-program -static -fdata-sections -ffunction-sections -fipa-pta -Wl,--gc-sections,--as-needed && sstrip -z a.out
949Кб

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #137 Ответы: #161

156. Сообщение от n00by (ok), 17-Июл-23, 17:52   +2 +/
Я насмотрелся на эту "работу" в одном местячковом дистрибутиве. Майнтайнер не способен исправить переполнение стека, когда ему указывают точную строку с ошибкой в исходнике. И никого там нет, кто бы мог ему подсказать. Потому то майнтайнеры и стесняются перевести название своей профессии на родной язык.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #140 Ответы: #158

157. Сообщение от arisu (ok), 17-Июл-23, 18:08   +/
> Я уважаю труды Вирта и его самого, но назвать их
> полезными можно только в образовательном контексте.

а ты ещё глупее, чем показался вначале.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #154 Ответы: #159

158. Сообщение от freehckemail (ok), 17-Июл-23, 18:09   –2 +/
Ну, может быть не может, а может быть не хочет. Это в конце концов не важно, потому что это -- не его работа.

Впрочем, претензии у тебя, товарищ... Пойди ещё прожекту скажи, что он не нужен, потому что переполнение стека не может исправить. И продакту заодно то же самое передай. =)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #156 Ответы: #162

159. Сообщение от Анониссимусemail (?), 17-Июл-23, 18:14   +/
А действительно, непрофан кроме оберона ничего не знает. Экие нынче непрофаны то повелись!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #157

160. Сообщение от n00by (ok), 17-Июл-23, 18:16   +/
>>Бремя доказательства лежит на утверждающем.
> @
>>"ну я вот кароче чот сканпелировал и оно мало весит давай пруфай скока у тебя)))))))"
> Потрясающий ход от того, кто раннее ещё и к демагогии апеллировал.

Обычное зеркало. Он, в принципе, дал мне право писать ему в ответ вообще любую чушь. Поскольку начал сравнивать с Windows, где, точно так же как и в Linux, статическое связывание НЕ используется (за редким исключением). Он банально не знает про это.

> С таким-же успехом я могу утверждать, что я скомпилировал хелловорлд на хтмл
> и получился бинарник размером 5 бит.

Но подтвердить никак не сможете. Кроме того, это заявление очевидно абсурдное, поскольку гранулярность 8 бит - это наконец внесли в стандарт Си.

> Если намёк не ясен, пишу прямо - полную конфигурацию в студию, какой
> компилятор и какой версии, какие аргументы, какая версия винды.

Сам код https://code.google.com/archive/p/ontl/wikis/HelloWorld.wiki
разметка сбилась, когда Гугл заархивировал гуглокод, но понять можно.

Ключи компиляции там указаны:
cl /DNDEBUG hw.cpp ntl/rtl/iostream.cpp ntl/rtl/crt.cpp ntl/rtl/wchar_mask_data.cpp /W4 /GL /GR- /Ob2gty /GzyS-

Совместимые версии компиляторов перечислены здесь https://code.google.com/archive/p/ontl/wikis/Compilers.wiki

Какой конкретно из MSVC - не играет роли, поскольку я указал с запасом (по факту было 24,5).

> А главное,
> ещё умудрись доказать, что всё это работает не благодаря винапи, которое
> всегда линкуется динамически, гы-гы.

Оно работает благодаря собственной реализации стандартной библиотеки Си++, на примеры к которой я привёл ссылки. Если неудобно смотреть там, она есть у меня на гитхапе. Работает библиотека поверх htdll.dll (либо ntoskrnl.exe). Я надеюсь, Вы воздержитесь от "гы-гы, всегда линкуется динамически". Потому что при адаптации этого к Linux окажется достаточно syscall-ов без ld-linux.so. В Windows номера сервисов не постоянны, потому для совместимости с различными версиями используется системная прослойка.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #149 Ответы: #168, #172

161. Сообщение от n00by (ok), 17-Июл-23, 18:20   +/
>[оверквотинг удален]
>>
>> int main () {
>>   std::cout << "hello world";
>> }
>>
>> У меня весил в Винде менее 30 Кб.
>> Не стесняйтесь, покажите, сколько гигабайт экономится разделяемой библиотекой. ;)
> Нифига себе! У меня прога для индексации и поиска по zip архиву
> весит 15Кб. С динамической линковкой к libc, zlib и minizip, но
> с отключённым relro. С включённым relro 17Кб.

Ну, раз с динамической, прибавляйте к 15Кб размеры вон тех библиотек.

> Ну и твой helloworld:
> Динамика: g++ -mthumb -fno-math-errno -fmerge-all-constants -fno-ident -pipe -fno-plt
> -mcpu=native -D_GNU_SOURCE -fvisibility=hidden -flto -fno-fat-lto-objects -Os -s -fno-stack-protector
> -fno-asynchronous-unwind-tables -fno-unwind-tables -DNDEBUG -Wl,-z,max-page-size=0x1000
> -Wl,-z,norelro hw.cpp -fno-rtti -fno-exceptions -fwhole-program && sstrip -z a.out
> 2.5Кб

И к этому прибавляйте.

> g++ -mthumb -fno-math-errno -fmerge-all-constants -fno-ident -pipe -fno-plt -mcpu=native
> -D_GNU_SOURCE -fvisibility=hidden -flto -fno-fat-lto-objects -Os -s -fno-stack-protector
> -fno-asynchronous-unwind-tables -fno-unwind-tables -DNDEBUG -Wl,-z,max-page-size=0x1000
> -Wl,-z,norelro hw.cpp -fno-rtti -fno-exceptions -fwhole-program -static -fdata-sections
> -ffunction-sections -fipa-pta -Wl,--gc-sections,--as-needed && sstrip -z a.out
> 949Кб

Вот вместо 949 у меня 30. Подробности в №160. И даже с RTTI и исключениями будет заметно меньше 900.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #155 Ответы: #171

162. Сообщение от n00by (ok), 17-Июл-23, 18:30   +1 +/
> Ну, может быть не может, а может быть не хочет. Это в
> конце концов не важно, потому что это -- не его работа.

Действительно, я и пишу, что понимать и уметь программировать - это не работа майнтайнера. И как раз из-за отсутствия понимания и умения, не майнтайнеру решать, как следует линковать компоненты ОС и приложения.

Его работа собрать в пакетик трендовый сет иконок, а потом хлопать глазками, когда rpm при установке этого дела падает. И написать ему некуда, потому что добрый дядя в RedHat давно не поддерживает его версию rpm.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #158 Ответы: #169, #181, #183

163. Сообщение от n00by (ok), 17-Июл-23, 18:36   +/
>>>> Это давно придумано и называется "статическое связывание". Аргументы против него в основном идеологические
> Вот и докажите, что аргументы за динамическое связывание -- идеологические. Впрочем, пожалуйста,
> не мне.

Легко:

"на диске GNU/Linux-системы по сравнении с Windows занимают меньше места аж на порядок" (с) freehck

В Windows используется как раз динамическое связывание.

>> Не стесняйтесь, покажите, сколько гигабайт экономится разделяемой библиотекой. ;)
> Что это за хитрый реверанс? Ужели Вы взаправду предполагаете, что я займусь
> доказательством заведомой чуши, которой Вы только что подменили мои утверждения?

Нет, ты как всегда удалишь мои сообщения.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #139 Ответы: #167

164. Сообщение от _kp (ok), 17-Июл-23, 18:45   +/
>>Си ну очень "доброжелателен" и требует от прогера знаний

Паскаль, и тем более Delphi очень доброжелательны. Но, не смотря на былую популярность, грамотных программитов было мало, ибо без знаний можно было только нашлёпать компонентов на форму, и считать что программирование это просто.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60

165. Сообщение от _kp (ok), 17-Июл-23, 18:50   +/
> Слинкуй свой "универсальный бинарник" статически с операционной системой и запускай на
> bare железе. Согласись, это удобно-же.

Сейчас плюёмся, что под капотом простенькой програмули бегемотистый браузер,
а будет виртуалка с полной ОС. ;)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #53

166. Сообщение от _kp (ok), 17-Июл-23, 18:58   +1 +/
>>>> Космополитан это все сплошной грязный хак. <<<
> Сам по себе язык Си это тоже тот ещё хак:) взять хотя
> бы, тот же do {...} while(0)

Это не фича Си, а фича препроцессора.
Без которой можно и обойтись.

А в случаях когда препроцессор неоходим, то  в языках без него, вызывается внешний не стандартный, кто как сможет, генератор кода.
Альтернатива - сотворение нередактируемого исходника ручками, или медленная динамическая обработка в реалтайме.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46

167. Сообщение от freehckemail (ok), 17-Июл-23, 19:01   +2 +/
> В Windows используется как раз динамическое связывание.

Мда, как всё грустно. Видимо, придётся объяснять элементарные вещи.

Ну да, используется. Вот только есть два обстоятельства. Первое обстоятельство -- это энтерпрайзный продукт, и в нём весьма низкая степень связности. Второе обстоятельство заключается в том, что софт для неё -- это коробочные продукты. А они всё своё с собой тащат. То есть зачастую библиотеки, которые могли бы быть разделяемыми и использоваться в разных коробочных продуктах, тащатся каждым коробочным продуктом отдельно. Таким образом такая форма поставки -- в плане дистрибьюции максимально приближена к статической линковке.

> Нет, ты как всегда удалишь мои сообщения.

Конечно удалю. У меня же зуб на тебя, я денно и нощно за тобой слежу, чтобы удалить твои выстраданные сообщения под надуманными предлогами. =)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #163 Ответы: #192

168. Сообщение от freehckemail (ok), 17-Июл-23, 19:07   +/
> Он, в принципе, дал мне право писать ему в ответ вообще любую чушь.

То есть ты понимаешь, что пишешь чушь, но всё равно её пишешь. Молодец.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #160 Ответы: #194

169. Сообщение от freehckemail (ok), 17-Июл-23, 19:33   +2 +/
> Его работа собрать в пакетик трендовый сет иконок, а потом хлопать глазками, когда rpm при установке этого дела падает.

Дорогой, если мейнтейнер всегда такой дурак, что ж... Ну так займи место мейнтейнера и выполни его работу достойно. =)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #162 Ответы: #180, #185

170. Сообщение от _kp (ok), 17-Июл-23, 19:41   +/
>>хоть сделали вид, что используете GNU/Linux.
>>ubuntu-де после свежей установки жрёт 4 гб диска, а win 10 home edition 16

Ключевое слово - используете. (а не балуетесь)

И свежеустановленной Убунтой так и пользуются? Нет? Доставляют ПО.
Причем, как и с Windows не стороннее ПО и игры, а из системного репозитория, то что нужно для работы.

Да, последние Windows за счет bloatware разжирели, но разница и тем хламом, далеко не на порядки.

Обычно, при установке с ходу у меня Debian занимает 12-16 ГБ. Минимум. Без стороннего софта.
Впрочем, признаю, часть встроенного ПО снимает нужду в стороннем.
Но система утрамбованная в 4ГБ, на десктопе - это или инвалид, или конструктор для доустановки ПО по вкусу. А во втором варианте объём будет.  

Сравним иначе.
Глянул осносительно _свежие_, не разжиревшие от времени и работы ноутбуки и виртуалки, отбросил игры и проекты, Wine, Виртуалки, ПО для 3D принтеров и 3D графики, а оставшееся усреднил.
Важно, кэши приложений браузеров, временные файлы, свопы, файлы подкачки, то что можно обнулить - исключил.

- Windows10, Офис, Visual Studio(не весь конечно, а скромно самое нужное), и ПО по мелочи. 28-42ГБ.(без свопа и файла подкачки)
- Linux система для программирования, опять же не на все случаи.  ~18-33Гб.

>> pro edition займёт 25 гб

Не займёт, а установит по умолчанию. И часть мусора и заведомо ненужно ПО можно и нужно удалить, и будет ~16.    

>>win это голая ось с минимумом необходимого

Только если чего то по недостаточно, и понадобится из Windows, то вот тебе бегемот Wine,
если что то не совместимо с ОС, то вот тебе /opt и snap.
А если впасть в snap, то понеслась.
Сторонние проприетарные приложения весьма жирные, ибо тащат все с собой.

Разница есть, голые системы на Linux меньше, но не в разы, и не всегда.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #128 Ответы: #173, #177

171. Сообщение от uis (??), 17-Июл-23, 20:05   +/
Мы размер бинарников хелловорлдов сравниваем или нечто другое?

> Вот вместо 949 у меня 30.

Ты забыл добавить User32.dll и Kernel32.dll)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #161 Ответы: #195

172. Сообщение от C00l_ni66a (ok), 17-Июл-23, 20:23   +1 +/
>Он, в принципе, дал мне право писать ему в ответ вообще любую чушь.

Чем ты успешно воспользовался, класс.

>Поскольку начал сравнивать с Windows, где, точно так же как и в Linux, статическое связывание НЕ используется (за редким исключением).

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #160 Ответы: #193

173. Сообщение от freehckemail (ok), 17-Июл-23, 20:38   +1 +/
_kp, вы слишком серьёзно отнеслись к данному размышлению: материал для него я выдернул из первых ссылок гугла по запросам "сколько места займёт ubuntu/windows", не более =)

размер занятого пространства непосредственно после установки я брал по простой причине -- если мы начнём сравнивать ещё и разные конфигурации, то мы увязнем, и откроется огромное поле для полемики

вот например:

>> pro edition займёт 25 гб
> Не займёт, а установит по умолчанию. И часть мусора и заведомо ненужно ПО можно и нужно удалить, и будет ~16.  

так ведь тот же манёвр можно и в линуксе провернуть, но он ближе к нулю, так относительная разница будет расти; мало того, обязательно найдётся умник, который предложить почищенную винду сравнить с debootstrap-нутой системой, в чём собственно тоже смысла мало, потому что линуксы урезаются куда сильнее винды

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

поэтому -- только чистая установка

> Обычно, при установке с ходу у меня Debian занимает 12-16 ГБ.

Интересно. Как же летит время:
2015й: https://www.debian.org/releases/jessie/amd64/apds02.html.en
2023й: https://www.debian.org/releases/bookworm/amd64/ch03s04.en.html

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #170 Ответы: #174

174. Сообщение от _kp (ok), 17-Июл-23, 22:09   +/
>>выдернул из первых ссылок гугла

Я Вам назвал более точно

>>только чистая установка

Никто не использует системы в виде чистой установки. Помимо стороннего ПО, есть дженьльменский набор ПО который ставится сразу.
Добавлено:тут коллега про Мак напомнил, что там в стоковом виде система более готова к использорванию. Возможно, но там и не 4Гб, и не 16.


Например если нужно сделать Линукс на флешке,
то я лично могу её утрамбовать в 1ГБ, с Х и браузером. Но это будет плохая, не практичная система. Поэтому я не буду ставить Линукс и на 8Гб, несмотря, что голая ситема влазит в 4Гб.

Как только ставим небольшую програмку, в Линукс она тянет за собой мешок зависимостей. И так на кадый чих, пока не распухнет примерно до 16Гб.

Под узкие скромные задачи можно поставить Линукс на флеку от 16ГБ. Но при этом Wine и играх даже не заикаюсь. А, и своп и гибернацию тоже не используем, а то это еще +16 .. 32 ГБ потребует, сверх заявленных 4Гб ;
Итого, мнимальный объем для простенького Линукс, который можно использовать принимаю за 16Гб. Но это будет жать.

Windows10home после установки занимат 16Гб.
Деинсталируем лишнее, ставивим DirectX, TC, redist, и объём теперь 15Гб.
Но теперь мы можем ставить игры и объём windows не распухнет. Точнее, сразу не распухнет. Но, на старте готовая к работе Windows система занимает 15-20 Гб.

А далее самое интересное.
В Windows объём раздут за счёт blotware, при удалении которого объём можно ещё очень сильно сократить. А в Linux только полезные нужные компоненты. А объемы сопоставимы

>>Интересно. Как же летит время

Да. Когда то мой bootstrap Debian5 с Lxde, gcc библиотеками для разработки, и сопутсвуючим ПО, как то помещался в 350Мб. Стоковая установка, как ни оптимизуруй занимала 1.5Гб, что тоже достаточно скромно.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #173 Ответы: #199

175. Сообщение от _kp (ok), 17-Июл-23, 22:14   +/
> когда библиотека переродится полноценную VM, чтобы решить проблему разных окружений.

Тогда будут с теплотой ностальгировать о шустром и компактном Электроне. :)


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

176. Сообщение от _kp (ok), 17-Июл-23, 22:22   +/
> игнорируется endianness.

Ну, забыли объявить deprecated, живых массовых систем, ради которых это надо было уже нет.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49

177. Сообщение от uis (??), 18-Июл-23, 00:34   +/
> Linux система для программирования, опять же не на все случаи.  ~18-33Гб.

Linux система для программирования: gcc, binutils, qtcreator, plasma, xfce(да, я установил два окружения), chromium, исходники ядра, заголовки для каждего пакета, ебилды на все случаи жизни и всякая мелочь. <7.5Гб вся система с учётом барахла в хомяке.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #170 Ответы: #196, #200

178. Сообщение от Аноним (180), 18-Июл-23, 01:28   +/
> Математика, статистика и метрология - луддитские лженауки!

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

> обновлении статически слинкованной библиотеки

Нет такого понятия. Есть понятия:
- обновление разделяемой библиотеки и некоторых ставших несовместимыми с новым API программ;
- обновление всех-всех статически слинкованных программ в системе;
И есть немалая практическая разница между этими двумя понятиями, которую тебе не понять, ведь ни одного исползуемого тобой пакета, ты сам не собрал.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #136 Ответы: #191

179. Сообщение от Аноним (180), 18-Июл-23, 01:37   +1 +/
> сколько гигабайт экономится разделяемой библиотекой

Ровно столько, сколько ты в неё вынес функций из основной программы.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #137

180. Сообщение от Аноним (180), 18-Июл-23, 02:17   +/
> Дорогой, если мейнтейнер всегда такой дурак, что ж... Ну так займи место мейнтейнера и выполни его работу достойно.

Кстати, именно это делают сопроводители пакетов - отправляют исправления (сборки и ошибок) разработчикам. Занимаясь сопровождением пакетов, кажется, написал больше кода, чем занимаясь собственными проектами. Причем, в отличие от самоделок, этот код практически более полезен, им намного больше людей пользуется.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #169 Ответы: #186

181. Сообщение от Аноним (180), 18-Июл-23, 02:19   +/
> понимать и уметь программировать - это не работа майнтайнера. И как раз из-за отсутствия понимания и умения, не майнтайнеру решать, как следует линковать компоненты ОС и приложения.

На практике, большинство пакетов пакетируется (автоматизированно) меньшинством сопрводителей в дистрибутиве. И это меньшинство одновременно является разработчиками дистрибутива (и ПО).


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #162 Ответы: #187

182. Сообщение от Аноним (180), 18-Июл-23, 02:29   +/
> Архитектура системы - это дело архитектора, а не специалиста по автоматизации запуска git clone && rpmbuild. Собственно потому архитектура форков форков и скопирована у RedHat.

Такими архитекторами являются разработчики дистрибутивов, которые отлично справлялись со своей работой, когда RedHat ещё под стол пешком ходил.
Debian, например, стал популярен задолго до появления systemd и для многих начинающих разработчиков других дистрибутивов был образцом правильной архитектуры системы и настройки ПО. А свою архитектуру redhat-засланцы туда чуть ли не насильно пропихивали. Те, кто "по-доброму" не хотел "копировать у Redhat-а" даже откололись в свой дистрибутив. И до них уже полно nosystemd-дистрибутивов существовало.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #133 Ответы: #189

183. Сообщение от Аноним (180), 18-Июл-23, 02:34   +/
> не майнтайнеру решать, как следует линковать компоненты ОС и приложения

В организованном дистрибутиве существует общие соглашения, какие настройки (оптимизаций и безопасности) компиляции и линковки использовать для сборки *всего* ПО, и как всё это своевременно обновлять.
А что могут предложить разрозненые разработчики ПО? Бинарные блобы, собранные в разнобой с неизвестными настройками, с обновляемыми по желанию левой пятки зависимостями, как в Винде? Спасибо, не надо.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #162 Ответы: #188

184. Сообщение от Аноним (180), 18-Июл-23, 02:43   +1 +/
> обновление мифической .so чем-то принципиально отличается от обновления приложений, когда библиотека в них "вкомпилирована".

Отличается. Принципиально.
- Обновление .so не влечет обязательного обновления всех зависимых программ, только несовместимых по API.
- Модель сборки с разделяемыми библиотеками позволяет осуществлять централизованное управление зависимостями программ. Например, следить и выполнять исправление уязвимостей во всех программах, а не только тех, про которые мы не забыли.

> как закрепиться в системе линукс
> используй LD_PRELOAD

Это не про закрепление (восстановление после перезагрузки), а про эксплуатацию.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #121 Ответы: #190, #204

185. Сообщение от n00by (ok), 18-Июл-23, 09:51   +/
>> Его работа собрать в пакетик трендовый сет иконок, а потом хлопать глазками, когда rpm при установке этого дела падает.
> Дорогой, если мейнтейнер всегда такой дурак, что ж... Ну так займи место
> мейнтейнера и выполни его работу достойно. =)

Я и выполнил за него его работу. Мою работу приняли и принялись продавать, нарушая ТК РФ. Мне за эту работу заплатили публичной клеветой и травлей.

Что скажет на это господин идеолог, ненавязчиво призывающий массы к труду за идею, то есть рабству?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #169 Ответы: #197

186. Сообщение от n00by (ok), 18-Июл-23, 09:55   +/
В данном случае "сопроводители" проще поступили в итоге. Выкинули rpm5 и взяли rpm4. А то там делает Аноним - это никому не известно, потому что в ядро анонимные коммиты не принимают, например.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #180

187. Сообщение от n00by (ok), 18-Июл-23, 09:58   +/
>> понимать и уметь программировать - это не работа майнтайнера. И как раз из-за отсутствия понимания и умения, не майнтайнеру решать, как следует линковать компоненты ОС и приложения.
> На практике, большинство пакетов пакетируется (автоматизированно) меньшинством сопрводителей
> в дистрибутиве. И это меньшинство одновременно является разработчиками дистрибутива (и
> ПО).

Ну да. А архитектор на всю эту толпу один и работал в RedHat, а теперь в Microsoft... (оратора скручивают фанаты и уносят на экзекуцию с криками "да здравствует SysV init!" и "долой Wayland!").

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #181

188. Сообщение от n00by (ok), 18-Июл-23, 10:01   +/
>> не майнтайнеру решать, как следует линковать компоненты ОС и приложения
> В организованном дистрибутиве существует общие соглашения, какие настройки (оптимизаций
> и безопасности) компиляции и линковки использовать для сборки *всего* ПО, и
> как всё это своевременно обновлять.

Подробнее можно почитать по ключевому слову "франшиза".

> А что могут предложить разрозненые разработчики ПО? Бинарные блобы, собранные в разнобой
> с неизвестными настройками, с обновляемыми по желанию левой пятки зависимостями, как
> в Винде? Спасибо, не надо.

Так в Винде динамическое связывание как раз. Сюрприз, да?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #183 Ответы: #214

189. Сообщение от n00by (ok), 18-Июл-23, 10:07   +/
>> Архитектура системы - это дело архитектора, а не специалиста по автоматизации запуска git clone && rpmbuild. Собственно потому архитектура форков форков и скопирована у RedHat.
> Такими архитекторами являются разработчики дистрибутивов, которые отлично справлялись
> со своей работой, когда RedHat ещё под стол пешком ходил.
> Debian, например, стал популярен задолго до появления systemd и для многих начинающих
> разработчиков других дистрибутивов был образцом правильной архитектуры системы и настройки
> ПО.

Вспомнила бабка, как девкой была.

> А свою архитектуру redhat-засланцы туда чуть ли не насильно пропихивали.
> Те, кто "по-доброму" не хотел "копировать у Redhat-а" даже откололись в
> свой дистрибутив. И до них уже полно nosystemd-дистрибутивов существовало.

Ой, RedHat виноваты, что новое поколение обслуживающего персонала не умеет кодить и не доросло до самостоятельного решения вопросов архитектуры, а сильно в основном в тезисах "ленивым и тупым разработчикам прикладного ПО" и "лишь бы не как в Винде".

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #182 Ответы: #223

190. Сообщение от n00by (ok), 18-Июл-23, 10:16   +/
>> обновление мифической .so чем-то принципиально отличается от обновления приложений, когда библиотека в них "вкомпилирована".
> Отличается. Принципиально.
> - Обновление .so не влечет обязательного обновления всех зависимых программ, только несовместимых
> по API.

То есть отличие - в количестве обновляемых байт. Не принципиальное. Неискушённый пользователь вообще не видит разницы: он запускает "обновление", ждёт и радуется.

> - Модель сборки с разделяемыми библиотеками позволяет осуществлять централизованное управление
> зависимостями программ. Например, следить и выполнять исправление уязвимостей во всех
> программах, а не только тех, про которые мы не забыли.

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

>> как закрепиться в системе линукс
>> используй LD_PRELOAD
> Это не про закрепление (восстановление после перезагрузки), а про эксплуатацию.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #184 Ответы: #212

191. Сообщение от n00by (ok), 18-Июл-23, 10:27   +/
>> Математика, статистика и метрология - луддитские лженауки!
> Ну так приводи математические доказательства подтверждающие твою позицию.

Мне необходимо и достаточно напомнить свою позицию из #40:

"Аргументы против него [статического связывания] в основном идеологические, подогреваемые заинтересованностью майнтейнеров."

Подтверждений фанаты понаписали в виде "аргументов".

> Это ведь ты решил "изменить систему"

"Ты" это кто? Голос в твоей голове? Или этот ты читает мои мысли?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #178

192. Сообщение от n00by (ok), 18-Июл-23, 10:33   +/
>> В Windows используется как раз динамическое связывание.
> Мда, как всё грустно. Видимо, придётся объяснять элементарные вещи.
> Ну да, используется. Вот только есть два обстоятельства.

Обстоятельство одно.

Ты сравнил динамическое связывание с динамическим связыванием, вообразил разницу в объёме ОС в 10 раз, и из этого сделал вывод: статическое связывание негодно.

За что тебе и спасибо - твоя "аргументация" будет служить ярким примером, как ничего не смыслящие в предмете мастера демагогии оправдывают негодные технические решения.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #167 Ответы: #198

193. Сообщение от n00by (ok), 18-Июл-23, 10:37   +/
>>Поскольку начал сравнивать с Windows, где, точно так же как и в Linux, статическое связывание НЕ используется (за редким исключением).
> Действительно, зато обширно используется тактика запихивания всех динамически-слинкованных
> DLLок в комплект поставки, которые, внезапно, зачастую используются только одной единственной
> программой.

Априори я считаю человека технически грамотным. Ты зарегистрировался только что, потому я потратил время и ответил тебе развёрнуто.

Сейчас лишь скажу, что вся эта билеберда не имеет отношения к статическому связыванию, которое, якобы, плохо - потому что оно якобы в Венде.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #172 Ответы: #208

194. Сообщение от n00by (ok), 18-Июл-23, 10:40   +/
>> Он, в принципе, дал мне право писать ему в ответ вообще любую чушь.
> То есть ты понимаешь, что пишешь чушь, но всё равно её пишешь.
> Молодец.

То есть ты безусловно бы таким правом воспользовался, в отличите от меня. Спасибо, что признался.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #168

195. Сообщение от n00by (ok), 18-Июл-23, 10:44   +/
> Мы размер бинарников хелловорлдов сравниваем или нечто другое?

Априори я ничего не сравниваю. Я утверждаю, что "аргументы против против статического связывания основном идеологические, подогреваемые заинтересованностью майнтейнеров".

Мне нужны были подтверждения, и я их получил.

>> Вот вместо 949 у меня 30.
> Ты забыл добавить User32.dll и Kernel32.dll)

Нет, не забыл. Ты просто не в курсе, что такое User32.dll, потому и сел в лужу.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #171 Ответы: #205

196. Сообщение от _kp (ok), 18-Июл-23, 10:58   +/
У меня обычно что одно из kde/mate и помимо сборки под десктоп добавляется и для микроконтроллеров компиляторы библиотеки и сопутсвующие инструменты.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #177

197. Сообщение от freehckemail (ok), 18-Июл-23, 11:05   +/
> Я и выполнил за него его работу. Мою работу приняли и принялись
> продавать, нарушая ТК РФ. Мне за эту работу заплатили публичной клеветой
> и травлей.

То есть ты-то конечно всё выполнил достойно и на уровне, но работодатель этого никогда не подтвердит, да? Бедненький.

> Что скажет на это господин идеолог, ненавязчиво призывающий массы к труду за идею, то есть рабству?

Воу, товарищ n00by решил, что простой чуши уже недостаточно, и решил заняться клеветой, хотя буквально только что именно за это критиковал некоего своего бывшего работодателя? )

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #185

198. Сообщение от freehckemail (ok), 18-Июл-23, 11:22   +/
> Ты сравнил динамическое связывание с динамическим связыванием, вообразил разницу в объёме
> ОС в 10 раз, и из этого сделал вывод: статическое связывание негодно.

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

> За что тебе и спасибо - твоя "аргументация" будет служить ярким примером,
> как ничего не смыслящие в предмете мастера демагогии оправдывают негодные технические
> решения.

Без проблем. Более того, я настаиваю на том, чтобы ты показывал этот тред всем своим работодателям при трудоустройстве.
Чтобы им сразу видно было на моём фоне, насколько ты хорош! =)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #192 Ответы: #218

199. Сообщение от freehckemail (ok), 18-Июл-23, 11:44   +1 +/
Ну что ж, возможно мои данные слегка устарели, всё-таки я ушёл с GNU/Linux в 2019м, и уже тогда не пользовался DE, а сидел на чистом i3wm. Я благодарен Вам, _kp, за то что указали мне на это.

Тем не менее, факт: в начале 2010х мы на рутовый раздел линуксов выделяли 10-15 гигов и этого в целом хватало, в то время как на системный диск Windows 7 меньше 100 гигов не отрезали, да и сама она из коробки занимала 20 гигов места на диске. Если в 2023м году эта разница стала сильно меньше, это печально, и свидетельствует скорее об общем снижении квалификации IT-специалистов. Но она всё ещё есть, и за это спасибо надо говорить прежде всего ld-linux.so.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #174

200. Сообщение от arisu (ok), 18-Июл-23, 12:11   +/
это описание быдлокодинга или кододрочерства. система для программирования — это A2, например.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #177

201. Сообщение от _kp (ok), 18-Июл-23, 13:07   +/
Небольшое уточнение. Чистая система, это свежеустановленная система, настроеенная, с ПО для работы. ("Стороннее" в подсчете упускал)
Это то состояние, в котором есть смысл сделать первый бекап/снапшот.

А бекап голой системы с настройками и компонентами по умолчанию, это редкость, и то, разве что для быстрого развертывания, например на Распберри.

>>loadlin

Когда функционал grub и lilo был слабый, так ради loadlin, делал раздел с DOS примерно до 2010г. ;)
А это позволяло разводить _шуточные_ споры, что Линух тоже всего лишь надстройка над DOS. ;)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68

202. Сообщение от Аноним (209), 18-Июл-23, 13:09   +/
>Ну либо использовать только библиотечные вызовы, что грустно.

Ну а что вы хотели? Кроссплатформенность - она такая. Тут либо крестик снять, либо трусы надеть.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #88

204. Сообщение от uis (??), 18-Июл-23, 14:20   +1 +/
> Это не про закрепление (восстановление после перезагрузки), а про эксплуатацию.

Я хз что там можно эксплуатировать. Если пытаться в setuid программки лезть, то ld.so будет игнорировать, а если в не setuid, то не понятнозачем, если ты не получаешь новых привилегий.

Меня напрягает эта фиксация на приоритетной загрузке.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #184 Ответы: #211, #216

205. Сообщение от uis (??), 18-Июл-23, 14:38   +1 +/
- И прибавляй libc.so туда, потому что так мои доводы выглядят лучше
- Ок, прибавляй Kernel32.dll, User32.dll, а так же ws2_32.dll
- Нет, ты нипанимаешь, это же другое!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #195 Ответы: #220, #221

206. Сообщение от Аноним (206), 18-Июл-23, 16:28   +/
ГУЙ можно писать отдельно.
А иногда он не сильно и нужен - профит могли бы поиметь куча классных проектов: grep, nmap, ytd-dlp (youtube-dl), ffmpeg, rclone, imagemagick, Dwarf Fortress и т.д. И это назвал всего парочку (всем известных).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #207

207. Сообщение от Анониссимусemail (?), 18-Июл-23, 17:42   +/
Конечно, существует куча полезных консольных программ. Но я слабо представляю, зачем консольную программу качать с сайта. Скорее, используется "<YOUR_PM> install grep". Хотя в целях тестирования это действительно может быть удобно!

Но вряд ли такое взлетит, ведь большинство программописателей не осиливают даже банальный appimage, приходится канпелять и подбирать зависимости, если нужна версия не из реп. Какой уж там Cosmopolitan...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #206

208. Сообщение от C00l_ni66a (ok), 18-Июл-23, 17:54   +/
>вся эта билеберда не имеет отношения к статическому связыванию

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

>которое, якобы, плохо

А вот тут уже весьма подлое проецирование не высказывавшихся в процессе диалога тезисов на оппонента. Я разве где-то оценивал понятие "статическое связывание", тем более категориями "плохо"-"хорошо"? Цитаты в студию.

>потому что оно якобы в Венде.

А таковой "логической" "цепочки" я вообще тут не видел. Перестаньте разводить демагогию, пожалуйста.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #193 Ответы: #219

209. Сообщение от Аноним (209), 18-Июл-23, 19:21   +/
Открыл для себя WSL2?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42

210. Сообщение от Jh (?), 19-Июл-23, 05:34   +/
Конечно будет. Она в кровавом энтрерпайзе еще тысячу лет будет работать. Тысячи сеньоров-помидоров не откажутся от спринга
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #151

211. Сообщение от Аноним (180), 19-Июл-23, 08:46   +/
> Я хз что там можно эксплуатировать.
> не понятнозачем, если ты не получаешь новых привилегий.

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

А вот как поможет закрепиться в системе LD_PRELOAD на процессе, запущенном с пользовательскими привилегиями - это только nooby-эксперт ведает, но он нам не расскажет. В .bashrc он его, что ли, экспортирует? Но тогда зачем так сложно - через динамический линковщик? Когда bashrc - это и так полноценный shell? Загадки, тайны, тени...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #204 Ответы: #217

212. Сообщение от Аноним (180), 19-Июл-23, 08:50   +/
> Ну понятно - граф зависимостей построить не судьба. Это же надо уметь кодить, а не только менять цифирки в сборочных сценариях

Начинай кодить, когда закончишь приходи. А у нас уже всё налажено и работает - только циферки меняем, да чаёк попиваем. На блюде мы вертели таких инноваторов.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #190

214. Сообщение от Аноним (180), 19-Июл-23, 08:57   +/
> Так в Винде динамическое связывание как раз. Сюрприз, да?

Ты для Винды горе-погромировал даже меньше, чем для Линукса, да? Иначе, был бы в курсе, что полагаться на наличие нужных твоей программе динамических библиотек в Винде не приходится, подтянуть средствами системы, как зависимость, практически тоже нельзя, без централизованных-то методов доставки ПО (пакетника, репозиториев и сопротиводителей), поэтому прикладные программы всё своё носят с собой. А статически или динамически линковаться - вопрос десятый, только в лицензии упирается (GPL vs LGPL/BSD).


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #188 Ответы: #215

215. Сообщение от n00by (ok), 19-Июл-23, 09:44   +/
> А статически или динамически линковаться - вопрос десятый,
> только в лицензии упирается (GPL vs LGPL/BSD).

Вот это да. Оказывается, упирается в лицензии. То есть аргументы против статического связывания - идеологические, как я и заявлял изначально. Спасибо.

>> Так в Винде динамическое связывание как раз. Сюрприз, да?
> Ты для Винды горе-погромировал даже меньше, чем для Линукса, да? Иначе, был
> бы в курсе, что полагаться на наличие нужных твоей программе динамических
> библиотек в Винде не приходится, подтянуть средствами системы, как зависимость, практически
> тоже нельзя, без централизованных-то методов доставки ПО (пакетника, репозиториев и сопротиводителей),
> поэтому прикладные программы всё своё носят с собой.

Если бы ты сам нагорепрограммировал для Винды хоть что-то, то бы был в курсе, что это вопрос уровня FAQ и описан в MSDN и наверняка у Рихтера. Проблема в консистентности инициализации рантайма Си, с которым динамечески связаны чужие библиотеки. Исходников от последних нет, пересобрать их нельзя, потому и самому приходится линковать динамически.

В Линуксе этой проблемы нет, исходники доступны, пересобирай как удобно, но делают "лишь бы ни как в Венде" и линкуют точно так же -- динамически. =)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #214 Ответы: #222

216. Сообщение от n00by (ok), 19-Июл-23, 09:49   +/
Что бы угнать пароли из браузера или пошифровать данные пользователя - достаточно прав пользователя.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #204 Ответы: #239

217. Сообщение от n00by (ok), 19-Июл-23, 09:54   +/
Я лично тебе не расскажу, потому что слишком долго потребуется объяснять, что такое руткит, зачем он перехватывает функции. Почему в приоритете модифицируют данные, а не код - это уже тема лекций для следующего курса.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #211 Ответы: #224

218. Сообщение от n00by (ok), 19-Июл-23, 10:03   +/
>> Ты сравнил динамическое связывание с динамическим связыванием, вообразил разницу в объёме
>> ОС в 10 раз, и из этого сделал вывод: статическое связывание негодно.
> Мне основательно надоело, что ты мне приписываешь утверждения, автором которых я не
> являюсь.

А на самом деле ты профессиональный демагог, сел в лужу и пытаешься отрицать своё сообщение №123, скатившись до хуцпы.

>> Это давно придумано и называется "статическое связывание".
>> Аргументы против него в основном идеологические
> Однако. То есть, вот на диске GNU/Linux-системы по сравнении
> с Windows занимают меньше места аж на порядок, а это оказывается называется "идеологические"...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #198

219. Сообщение от n00by (ok), 19-Июл-23, 10:07   +/
>>вся эта билеберда не имеет отношения к статическому связыванию
> Имеет, с точки зрения занимаемых ресурсов - это и есть "статическое связывание".

ЧТО?

Динамическеое - это когда есть основной исполняемый файл и отдельные библиотеки. Динамическое - потому что системный загрузчик всё это грузит и разрешает связи при запуске.

Статическое - это когда вместо всего этого один файл. Линкер связывает при сборке.

> Если динамически-слинкованная либа используется исключительно одной программой и не подразумевается
> её использование в других - то это есть максимально близкое понятие
> к "статически-слинкованной" либе.

Мне сейчас интересно одно. Это какая-то особенность GPL, что она подобных экспертов к себе притягивает. Или она с вами что-то делает?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #208 Ответы: #231

220. Сообщение от n00by (ok), 19-Июл-23, 10:14   +/
У меня не используются User32.dll, а тем более ws2_32.dll (первую ещё могу понять, но предположение о необходимости последней для "ПриветМира" считаю глупостью). От Kernel32.dll требуется лишь функция вывода на консоль, поскольку без неё довольно муторно инициализировать сервер, с учётом поддержки различных версий ОС. В Линукс она не нужна, достаточно вызова ядра через шлюз. И да, это другое - тебе для плюсов libc.so не достаточно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #205

221. Сообщение от n00by (ok), 19-Июл-23, 10:28   +/
Вообще, 949 против 30 я считаю вполне годным показателем для столь солидной библиотеки как GNU. Странно, что ты на это триггернулся и принял как нападку на них. Они ведь не решали задачу "помочь линкеру выкинуть ненужное". Потому что не принято линковать статически, и куча говорящих голов находит "аргументы". Если бы статическое связывание было не десятым приоритетом, в твоём примере была бы цифра порядка 100. Я собственно для намёка на это и показал свой результат.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #205

222. Сообщение от Аноним (180), 19-Июл-23, 10:28   +/
> Оказывается, упирается в лицензии.

На Винде - да. Там разработчики сами себе предоставленины, выбора у них нет. А в Линуксе есть пакетные менеджеры, репозитории и сопроводители ПО - здесь есть, кому думать, как лучше.

> консистентности инициализации рантайма Си

Ой, не выделывайся. Всё проще - M$ вместо библиотек предпочитает инсталляторы (с дозвонами) и не шмогла в централизованную доставку (не захотела, так схавают).

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #215 Ответы: #226

223. Сообщение от Аноним (180), 19-Июл-23, 10:29   +/
Повзрослей.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #189

224. Сообщение от Аноним (180), 19-Июл-23, 10:32   +/
А ниче, что руткиту для установки требуются привилегии суперпользователя?


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #217 Ответы: #225

225. Сообщение от n00by (ok), 19-Июл-23, 10:42   +/
> А ниче, что руткиту для установки требуются привилегии суперпользователя?

Это уже не моя компетенция. Сходи к доктору, расскажи о фантазиях. К сожалению, подобная твоей чушь является здесь "нормой".

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #224 Ответы: #228

226. Сообщение от n00by (ok), 19-Июл-23, 10:57   +/
>> консистентности инициализации рантайма Си
> Ой, не выделывайся. Всё проще - M$ вместо библиотек предпочитает инсталляторы (с
> дозвонами) и не шмогла в централизованную доставку (не захотела, так схавают).

Опять идеологический аргумент. В принципе, можешь остановиться. После твоего откровения про лицензии интерес к тебе пропал, задачу ты выполнил на отлично.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #222 Ответы: #227

227. Сообщение от Аноним (180), 19-Июл-23, 12:59   +/
Ещё раз для туговатых на уши просвещаю. Вантуз-разработчики линкуются статически с BSD-либами (проще слямзить) и динамически с LGPL-либами. По сугубо идеологическим причинам.

В Линуксе решение принимается по техническим причинам. Лицензия роли не играет, потому что всё ПО открытое, линкуйся как хочешь.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #226 Ответы: #230

228. Сообщение от Аноним (180), 19-Июл-23, 13:01   +/
Ты хоть лично себе, для начала, расскажи, что такое руткит.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #225 Ответы: #229

229. Сообщение от n00by (ok), 19-Июл-23, 15:19   +/
А был бы ты поумнее, а не просто анонимным сборщиком пакетиков в выдуманном дистрибутиве, нашёл бы у меня на гитхапе это слово.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #228

230. Сообщение от n00by (ok), 19-Июл-23, 15:24   +/
> В Линуксе решение принимается

не тобой. Ты достаточно подробно рассказал про себя: сборщик-любитель нескольких пакетиков, программировать не умеешь.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #227

231. Сообщение от C00l_ni66a (ok), 19-Июл-23, 20:15   +/
>ЧТО?

Скорее "А что не так?".

>Динамическеое - это когда...

Держи в курсе. Про формализм я уже упоминал. Эффект от модели использования динамически-привязанных библиотек "всё своё ношу с собой" близок/аналогичен эффекту от использования статически? Да, ведь раму и диск оно жрёт +- также, в силу дублирования.

>Это какая-то особенность GPL

Это какая-то твоя особенность, возможно даже клиническая, которая заключается в постоянных попытках спроецировать свои фантазии. Я вроде про GPL даже близко ничего не писал и не упоминал.

Собственно, статика имеет смысл, в определённых случаях (e.g. критичные, но простые системные компоненты, с малым числом зависимостей), но утверждение об идеологической природе аргументации против её использования - звучит как шиза. Неоднократно упомянутое выше дублирование данных - это вполне себе объективный критерий и аргумент "против", в хорошем проекте допускаться такой ереси не должно, без очень веских на то причин.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #219 Ответы: #232

232. Сообщение от n00by (ok), 20-Июл-23, 09:25   +/
>>Динамическеое - это когда...
> Держи в курсе. Про формализм я уже упоминал. Эффект от модели использования
> динамически-привязанных библиотек "всё своё ношу с собой" близок/аналогичен эффекту от
> использования статически? Да, ведь раму и диск оно жрёт +- также,
> в силу дублирования.

Нет, не близок, ведь отличие связываний одного от другого -- во времени этого связывания, а не в количестве байтиков, который ты приплёл в силу непонимания базовых вещей.

>>Это какая-то особенность GPL
> Это какая-то твоя особенность, возможно даже клиническая, которая заключается в постоянных
> попытках спроецировать свои фантазии. Я вроде про GPL даже близко ничего
> не писал и не упоминал.

Да, это моя особенность, провоцировать местных экспертов давать признания. Я полагал, что ты новорег, и потому в тебе ошибся, приняв тебя за технически грамотного. Теперь я закрыл гештальт и вижу типичного демагога, не понимающего смысл термина "связывание" и ведущего пропаганду мракобесия.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #231

233. Сообщение от фф (?), 20-Июл-23, 10:38   +/
у гцц и гну утилит проблема не в компиляции под винду, а в отсутствии стандартных позикс библиотек. цигвин собственно их и добавляет
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67 Ответы: #237

234. Сообщение от фф (?), 20-Июл-23, 10:44   +/
скорее всего это будет только лаунчер, который определит систему и уже скачает/поставит/запустит нормально собранный бинарник под нее.
Вобщем-то под разными юниксами это уже используется - баш скрипт, который определяет нужные флаги/пути/ядро перед запуском основного екзешника (и собственно который запускать - линуксовый или бсд-ный).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

236. Сообщение от phil (??), 20-Июл-23, 22:04   +/
При чем тут линукс? ELF появился в SVR4 (1988).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83

237. Сообщение от Аноним (237), 20-Июл-23, 22:58   +/
В цигвине утилиты гну (make, rm, cp и тд) которые нужны для сборки проектов на венде, сейчас их можно собрать без танцев с бубноцигвином
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #233 Ответы: #238

238. Сообщение от фф (?), 27-Июл-23, 08:02   +/
> В цигвине утилиты гну (make, rm, cp и тд) которые нужны для
> сборки проектов на венде, сейчас их можно собрать без танцев с
> бубноцигвином

а что вам мешает просто взять виндовый компилятор и собрать эти гну утилиты под винду без цигвина?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #237

239. Сообщение от uis (??), 14-Авг-23, 23:55   +/
> Что бы угнать пароли из браузера или пошифровать данные пользователя - достаточно
> прав пользователя.

Ну и чем cat отличается от LD_PRELOAD= cat?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #216 Ответы: #240

240. Сообщение от n00by (ok), 26-Ноя-23, 10:58   +/
>> Что бы угнать пароли из браузера или пошифровать данные пользователя - достаточно
>> прав пользователя.
> Ну и чем cat отличается от LD_PRELOAD= cat?

Занятно вот так через время перечитать ветку с начала. Особенно вот эти передёргивания, когда контекст и предыдущие вопросы выкидываются.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #239


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру