Классификация дистрибутивов Linux

После наблюдения жемчуга Gilles и awk компактных примеров, я отказывался отправить это, но я уже прошел осуществление, и это - функционирующий сценарий, который обоснованно документируется; одна только эта точка может представлять интерес для некоторых.. (sed с комментариями!:)

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

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

использование расширило regex синтаксис
вызов: $ sed-rf текстовый файл сценария

  :first-empty-line
  #================
  /^[[:space:]]*$/ { # if pattern-space is empty...
      $q  # last line # flush-quit 
      n   # pattern-flush=nextline-continue

      :subsequent-empty-line
      #=====================
      /^[[:space:]]*$/ { # if pattern-space is empty...
          $d        # last line # pattern-delete-cycle
          N         # pattern+=nl+nextline
          s/.*\n//  # scrap the leading 'blank' line
          t subsequent-empty-line # branch-on-substitute
      }
  }

  :text-line
  #=========
  $q                       # last line # flush-quit 
  s/^(.*)[[:space:]]*/\1/  # trim trailing whitespace
  s/ +/ /g                 # condense mulltiple spaces
  N                        # pattern+=nl+nextline
  /^.*\n[[:space:]]*$/ { # if newly-read line is blank 
      P          # pattern-first-line-print
      s/^.*\n//  # remove the leading 'text' line
      t first-empty-line   # branch-on-substitute
  }
  # read line is text
  s/\n/ /      # replace \n with a space
  t text-line  # branch-on-substitute

Примечание: flush, в комментариях, средствах: отправьте пространство шаблона во внутреннюю обработку stdout sed. Это не значит определенную печать для stdout. Вывод зависит от sed's -n опция. например, q управляйте сбросом средств и выходом... Сравните эти два отрывка: echo x |sed -e q печать x, echo x |sed -ne q печать ничто, тогда как использование p команда распечатала бы 'x' дважды или однажды, в зависимости от -n опция.

7
04.06.2011, 08:16
2 ответа

Из статьи в Википедии дистрибутивов Linux:

Дистрибутив Linux является членом семейства подобных Unix операционных систем, созданных сверху ядра Linux. Такими дистрибутивами (часто названный дистрибутивами, если коротко) являются Операционные системы включая большое количество приложений, такие как текстовые процессоры, электронные таблицы, медиаплееры и приложения базы данных.

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

Некоторые дистрибутивы (Debian, хинду, Fedora и другие) используются в качестве "начальной точки" для других дистрибутивов (Ubuntu получена из Debian, например). Это означает, что создатели, например, Sabayon Linux использовал хинду распределение, чтобы запустить их усилие по разработке и отслеживать эволюцию хинду в некоторой степени.

Можно посмотреть на страницу результатов поиска Distrowatch для этого вида примеров.

"ОСНОВАННЫЕ НА ОБ/МИН" дистрибутивы являются другой классификацией. Об/мин является системой управления пакета, не распределением. Некоторые дистрибутивы используют его (Redhat, и SuSe приходит на ум), непосредственно или через один из его frontends. Другие используют различные системы (pacman для Arch, перевозки для хинду). Система управления пакета является одним из важных различий между дистрибутивами.

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

Для Вашего последнего вопроса я не уверен, что понимаю, но Вы могли сказать, что Windows NT, 2000, XP, 2003/Vista, 2008 и Windows 7 является "версиями" Windows "распределение". И они - все в семействе Windows NT релизов Windows.

Таким образом, если Вы хотите провести параллель с дистрибутивами Linux, да, каждый, окна "выпуск" ближе к версии дистрибутива Linux. И происхождение "Windows NT" эквивалентно происхождению Redhat или SuSe, например.

(Одни из общих черт этих "происхождений" - то, что обычно существует главная версия ядра между релизами Windows, и это также имеет место для большого количества дистрибутивов Linux.)

7
27.01.2020, 20:16
  • 1
    Спасибо! я все еще не уверен в различиях между тем, что отличает дистрибутивы и что различает выпуски в рамках распределения. –  StackExchange for All 05.06.2011, 17:50
  • 2
    "выпуск" является просто версией. Как Firefox имеет 3.x выпуски выпуска 4.x, то же самое для Opera, IE, и т.д. Это работает тот же путь к большинству дистрибутивов. Существует OpenSuse 10.something, 11.whatever. Это - просто версия того распределения. Redhat и OpenSuSE являются различными продуктами в целом - другое программное обеспечение, упаковка, база пользователей, цели, и т.д. Они - различные дистрибутивы Linux. –  Mat 05.06.2011, 17:53

Для получения смысла того, куда многие дистрибутивы прибыли из взгляните на Временную шкалу GNU/дистрибутива Linux.

Это дает Вам реальный смысл родословной, истории и влияния всего GNU/дистрибутивов Linux в красиво произведенной схеме.

4
27.01.2020, 20:16
  • 1
    Это - отличный способ осмыслять родословную. –  boehj 04.06.2011, 10:15
  • 2
    К сожалению, это неправильно, по крайней мере, в некоторых деталях. Например, Мандрагора разветвилась от Red Hat, также, как и Conectiva, и они объединились в Mandriva (и Conectiva не обнаруживается вообще). Они показывают Кальдеру, дистрибутив Linux которой перестал работать, кто изменил их имя на SCO и пошел в их злополучное наступление на Linux. У них никогда не было распределения SCO Linux. Кроме того, SLS был, по крайней мере, интеллектуальным наследником MCC, и я не настолько верный SuSE, было достойно от Slackware. –  vonbrand 18.01.2013, 03:56

Теги

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