Есть ли несколько разновидностей инструментов GNU?

Попробуйте перезапустить. Если по-прежнему не работает, возможно, вы переустановите моно . Если по-прежнему не работает, попробуйте удалить и переустановить banshee .

0
23.03.2019, 08:51
2 ответа

Как я упоминал в https://unix.stackexchange.com/a/506429/5132, операционные системы на основе Linux -не обязательно используют одни и те же программы друг в друге. Известно множество реализаций нескольких довольно простых программ.

Они включают, но не ограничиваются:

  • ifconfigимел 2 реализации: одну в GNU inetutils , а другую в NET -3 net -tools . Сейчас их 3, третий мой. (См.https://unix.stackexchange.com/a/504084/5132.)
  • suимеет 2 реализации: одну в util -linux и другую в shadow . Debian переключился с одного на другой в 2018 году, что сделало неверными несколько старых вопросов и ответов здесь, на этом веб-сайте. (См.https://unix.stackexchange.com/a/460769/5132и, например, "su vs su-(в Debian ):почему PATH одинаковый? ".)
  • В Debian/Ubuntu существует бесчисленное множество (на самом деле 4 )возможных мест, откуда можно получить mailxкоманду :GNU Mailutils, BSD mailx, NMH и s -гвоздь. Они отличаются синтаксисом командной строки -. (См. https://unix.stackexchange.com/a/489510/5132.)
  • viможет быть по-разному реликвией/традиционнойvi(исходной версией Билла Джоя, которая используется по умолчанию viв Arch Linux, но, напротив, вообще недоступна в виде пакета в Debian Linux ), STEVIE Брэма Муленаара -производный VIM в режиме совместимости, или даже Элвис Кита Бостика -производный nvi.

Заметьте, что, строго говоря, это не вариация среди различных инструментов GNU . Инструменты для операционных систем на базе Linux -не исключительно из проекта GNU. Такие операционные системы также имеют инструменты из наборов инструментов, отличных от -GNU.

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

  • systemd построен в Arch Linux иначе, чем в семействах Debian и Fedora операционных систем на базе Linux -. В частности, он построен с опцией конфигурации, которая говорит об исключении большинства (, но не всех )механизмов совместимости ван Смуренбурга rc. (См. https://unix.stackexchange.com/a/389298/5132,https://unix.stackexchange.com/a/451966/5132и https://unix.stackexchange.com/a/471871/5132.)
  • В Debian Linux, GNU coreutils :
    • имеет дополнительный параметр --ipsдля команды who. (См. https://unix.stackexchange.com/a/24279/5132.)
    • применяет требование conv=notruncпри вводе команды ddoflag=append.
  • В Debian Linux оболочка Bourne Again поставляется с (неправильно упакованной)clear_consoleкомандой, которая является одним из многих механизмов, заставляющих Грега Вуледжа (и др. )для очистки экрана xyr. (См. https://unix.stackexchange.com/a/451150/5132.)
  • В Debian Linux и Arch Linux встроенная способность grottyгенерировать «новые» последовательности управления терминалом из ISO 8613 -6 :1994 и ECMA -48 :1976 вместо (очень )старый TTY -37 управляющих последовательностей с 1968 года, отключен. Arch Linux также вызывает перевод одинарных кавычек и дефисов в латинский -1 апостроф и минус в некоторых случаях.
  • Различные операционные системы на основе Linux -различаются в зависимости от того, является ли ncurses «широким» или «узким».
  • В Debian Linux «маленькая» версия GNU nanoимеет меню, измененное из-за исправлений Debian.
  • В Arch Linux, Heirloom/Traditional viлокально исправляется несколькими способами, которые отличают его от оригинала, включая другой каталог для сохранения файлов и поддержку редактирования клавиш клавиатуры, которых Билл Джой никогда не имел на своем ADM -Клемма 3A (например PgUp и PgDn , см. https://vi.stackexchange.com/q/9313/19613).
  • Различные операционные системы на основе Linux -изначально настраивают OpenSSH по-разному.Arch Linux, например, выключает ChallengeResponseAuthentication, выключает PrintMotdи включает UsePAM. Debian Linux применяет обширный набор исправлений .

И так далее.

Дополнительная литература

2
28.01.2020, 02:22

Утилита lsпринимает параметр -Aна всех BSD. Это стандартный вариант POSIX.

Базовые инструменты BSD разрабатываются и поддерживаются каждым проектом BSD независимо друг от друга, но некоторые детали реализации время от времени распределяются между проектами (, например. способы устранения ошибок или реализации новых функций, иногда даже реализации расширений GNU ).

Инструменты GNU, такие как coreutils, nanoредактор и bashоболочка (, которые представляют собой три отдельных проекта ), разрабатываются и поддерживаются отдельно, как отдельные проекты. Таким образом, менее вероятно появление различных реализаций.

Однако разница между релизами этих инструментов все же есть, и нельзя вообще ожидать, что bashоболочка, например, на одном Unix будет точно такая же, как и на другом Юникс. Кроме того, в некоторых средах могут встречаться модифицированные варианты инструментов GNU.который не полностью поддерживает все функции или поддерживает функции, которые обычно не реализуются в Linux.

Самый очевидный пример — macOS, которая поставляется с версией 3.2 оболочки bash, а самая последняя версия — 5.0.x.

Чего можно ожидать или следует ожидать, так это того, что базовые утилиты, если они являются стандартными утилитами POSIX, должны работать так, как говорит стандарт POSIX, независимо от того, являются GNU, BSD или какой-либо другой реализацией утилит. Опять же, это не включает нестандартные -расширения этих утилит, как и любые «длинные опции», поддерживаемые большинством утилит GNU coreutils, которые могут поддерживаться или не поддерживаться в других реализациях, и могут ведут себя по-разному в зависимости от версии утилиты.

1
28.01.2020, 02:22

Теги

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