Почему Debian по умолчанию не включает указанные в POSIX -команды, такие как bc и ed?

Как только строка файла содержит ШАБЛОН, эта строка и все последующие строки печатаются:

awk 'flag || /PATTERN/{flag=1} flag{print $0}' file

Вы можете заменить «print $0» другим кодом, если требуется дополнительная обработка.

2
12.09.2020, 10:09
2 ответа

Простой ответ: не всем нужны эти утилиты.

Например, я могу развернуть приложение через Docker, использующее Debian в качестве базовой ОС. В этом случае мне нужно очень мало частей базовой ОС. Например, подавляющему большинству веб-приложений Python не нужны ни bc, ни ed.

Существуют и другие операционные системы, которые следуют другой философии. OpenBSD, например, предназначена ее разработчиками для полной установки. В наши дни они хотят установить, например, полную среду X на всех системах. Есть пользователи, которые не хотели бы иметь X на безголовых серверах.

Обратите внимание, что согласно этот Debian не претендует на полную совместимость с POSIX.

-3
18.03.2021, 23:05

Debian вообще не стремится к строгому соответствию POSIX. Некоторые из инструментов, предусмотренных POSIX, на практике не так часто используются, и поэтому они не включены в «стандартную» установку Debian .

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

Инструменты, которые не являются «необходимыми» в Debian, должны быть явно упомянуты в зависимостях других пакетов, которые в них нуждаются, и это также обеспечивает некоторую меру их «популярности»; edиспользуется очень немногими пакетами Debian, bc— несколько большим. В результате bcустанавливается во многих конфигурациях.

2
18.03.2021, 23:05

Теги

Похожие вопросы