Почему Ubuntu использует “нестабильный” Debian? Как этому удается быть стабильным затем?

Что касается крона, у Вас есть много команд, которые выполняются одновременно. Крон просто создает некоторые дочерние процессы, которые работают 'параллельно' - т.е. они так или иначе мультиопределяются задачу/планируются, который представляет гонки данных за Вашим вариантом использования.

Для Вашей проблемы Вам действительно не нужен крон. Простой сценарий оболочки как этот достаточно:

#!/bin/sh
function f1() {
  ~/myscript.pl ~/mylog | tail -3 | head -1 > ~/myreport1
  ~/myscript.pl ~/mylog | tail -2 | head -1 >> ~/myreport1
}

function f2() {
 ~/myscript.pl ~/mylog | tail -8 | head -1 > ~/myreport2
 ~/myscript.pl ~/mylog | tail -7 | head -1 >> ~/myreport2
 ~/myscript.pl ~/mylog | tail -3 | head -1 >> ~/myreport2
 ~/myscript.pl ~/mylog | tail -2 | head -1 >> ~/myreport2
}

while true; do
  f1
  f2
  sleep 1
  f2
  sleep 1
  f2
  sleep 1
  f2
  sleep 1
  f2
  sleep 1
done

Теперь все четко определено, т.е. порядок выполнения гарантируется.

Вы могли запустить его (как фоновое задание) через at - или звоните от a screen сессия.

4
18.06.2014, 13:41
2 ответа

Термины 'стабильный' и 'нестабильный' являются относительными. Debian более стабилен, чем Ubuntu, но это не делает Ubuntu нестабильным.

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

Ubuntu, с другой стороны, будет использовать 'нестабильную' ветку для обеспечения большей функциональности. Пакеты будут протестированы до выпуска (включая Alpha и Beta выпуски), но есть вероятность того, что некоторые ошибки могли быть пропущены просто из-за того, что они были протестированы меньше.

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

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

Если бы и Ubuntu, и Fedora использовали 'стабильные' пакеты, то новые пакеты не получили бы того, что они делают в настоящее время, и прогресс был бы очень медленным.

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

Вы можете считать, что LTS находится где-то между последними версиями Ubuntu и Debian. Когда Canonical выпускает Ubuntu LTS, они держатся подальше от новейших и величайших пакетов и используют более стабильные версии. Выпуски, не относящиеся к LTS, рискуют немного больше, когда речь заходит о выборе пакетов. Это гарантирует, что прогресс будет достигнут, в то время как надежная Ubuntu всегда доступна.

Если вас беспокоит стабильность - выбирайте версию LTS (14.04). С другой стороны, если вы счастливы рискнуть в случае аварии или ошибки и готовы внести свой вклад в будущее программного обеспечения с открытым исходным кодом, перейдите к последнему (15.04).

.
9
27.01.2020, 20:46

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

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

И Debian, и Ubuntu собирают свои выпуски из нестабильного Debian. Они берут текущий набор пакетов из Debian нестабильным (более или менее - они гарантируют, что у них есть последовательный набор, в то время как Debian нестабильный может сломаться, например, когда новая версия библиотеки попадёт внутрь, а программное обеспечение, которое полагается на неё, ещё не обновлено). Затем они постепенно замораживают дистрибутив: больше никаких крупных обновлений, затем никаких обновлений, кроме исправления ошибок. Люди тестируют замороженный дистрибутив в течение нескольких недель (недели Debian могут быть очень длинными, не забывайте); обычно они находят некоторые ошибки и несоответствия, поэтому исправляют их и делают новый цикл тестирования. После нескольких циклов тестирования дистрибутив объявляется готовым к работе.

Debian и Ubuntu имеют разные сроки и цели при подготовке выпуска, но основной процесс тот же самый.

.
6
27.01.2020, 20:46

Теги

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