LINUX.ORG.RU
ФорумTalks

Среди итогов последнего uds началось включение элементов systemd в ubuntu 13.04

 , ,


0

3

копипаста

На прошедшем Ubuntu Developer Summit Jason Warner официально объявил, что в Ubuntu начато включение «лучших компонентов» systemd. В число этих компонентов, как сообщается, входят «hostnamed, locald и timenamed», (т.е. по-видимому hostnamed, logind или localed, и timezoned). Конечно, хочется успокоить перепуганных пользователей Ubuntu, что это еще далеко не переход на systemd, но главное - начать. Коготок увяз, как говорится.

Немного технических подробностей. Уже довольно давно systemd идет в рекомендуемых зависимостях GNOME, а не так давно его начали делать обязательной зависимостью ряда важных компонент GNOME (тем самым делая его де-факто обязательной зависимостью всего GNOME - привет, пользователи Debian, мы ждем вас!). Вы уже могли знать об этом - функциональность GNOME, KDE, Xfce и прочих Desktop Environment уже несколько месяцев переносят и тестируют в systemd, и у их разработчиков становится все меньше и меньше резона создавать свои велосипеды вместо использования другого велосипеда нативных компонент systemd, выгодно отличающихся лучшим дизайном и более высокой степенью интеграции. Перенос этой функциональности в systemd еще больше «спрямляет» процесс загрузки системы, который сейчас состоит из как минимум трех несвязанных кусков (загрузка SysV, набор BASH-скриптов в X.org, DE-специфичный session-менеджер, и порой еще что-то типа monit).

В целом, нельзя не поприветствовать долгожданное присоединение Canonical к числу тех, кто начал внедрение systemd. Уверены, что это их решение положительно скажется на качестве Ubuntu.

<<<Подробности

Ответ на: комментарий от vasily_pupkin

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

qnikst ★★★★★
()
Ответ на: комментарий от tailgunner

Я просто прав.

В какой-то системе отсчета — вне всяких сомнений

vasily_pupkin ★★★★★
()
Ответ на: комментарий от vasily_pupkin

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

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

  • легкочитаемость
  • простота парсера

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

Lennart
()
Ответ на: комментарий от Motif

Поцтеринг не «хороший специалист»(см. pulseaudio), а постельная игрушка кого-то из руководства шапки.

Ты знаком с персонажами и настолько хорошо знаешь ситуацию? Балабол.

Pakostnik ★★★
()
Ответ на: комментарий от RussianNeuroMancer

Вы о чём вообще?

оке, если вам так не нравится править вручную конфиги (хотя, не представляю, как в git-е хранять тонны машинно генерируемой хрени, особенно бинарной), кто мешал сделать «нормальную» гуёвую конфигурялку для ALSA?

lazyklimm ★★★★★
()
Ответ на: комментарий от lazyklimm

>> И я могу играть, слушать при этом музыку и отвечать на звонки из skype

> Юлик, ты?

Вот это прикол. ALSA, оказывается, одноканальна! Весь пост поддерживаю. Дополню лишь тем, что правка .asoundrc не нужна в openSUSE и многих других дистрибутивов Linux для домашнего использования. Пользуйтесь openSUSE и наслаждайтесь кристально чистым звуком с помощью ALSA, отключив PulseAudio одной галочкой в настройках звука!

ZenitharChampion ★★★★★
()
Ответ на: комментарий от lazyklimm

>> Вы о чём вообще?

> оке, если вам так не нравится править вручную конфиги (хотя, не представляю, как в git-е хранять тонны машинно генерируемой хрени, особенно бинарной), кто мешал сделать «нормальную» гуёвую конфигурялку для ALSA?

Щас будет скриншот. Видео снимать не буду, потому что на рабочем компьютере только одна звуковая карта, поэтому показывать нечего. http://img441.imageshack.us/img441/6921/yast25.png

ZenitharChampion ★★★★★
()
Последнее исправление: ZenitharChampion (всего исправлений: 2)
Ответ на: комментарий от Pakostnik

>> Поцтеринг не «хороший специалист»(см. pulseaudio), а постельная игрушка кого-то из руководства шапки.

> Ты знаком с персонажами и настолько хорошо знаешь ситуацию? Балабол.

Это был не факт, а предположение, почему любые его поделки принимаются в состав Fedora.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от iZEN

> ALSA поверх OSS и использование одновременно двух API из приложений автоматически нивелирует ALSA'у до синхронной OSS. На Linux не стали развивать OSS в сторону многопоточности и асинхронности, так как её заменяет ALSA и PulseAudio. На FreeBSD OSS переписали так, что ALSA и PulseAudio не требовались для одновременного задействования из различных приложений нескольких каналов, хотя никто не запрещает установить эти пакеты и использовать также. В этом вся штука.

Интересно. А вот если я прямо сейчас установлю OSS4 в Linux я смогу слушать всё через ALSA, а как только запущу Heroes III 1999 года то звук бы шёл сначала на OSS4, а потом на ALSA? Или придётся отключать ALSA?

ZenitharChampion ★★★★★
()
Ответ на: комментарий от ZenitharChampion

Это был не факт, а предположение, почему любые его поделки принимаются в состав Fedora.

Ну да, предположить, что он просто умнее, а не грязнее тебя не получается?

Pakostnik ★★★
()
Ответ на: комментарий от Lennart

легкочитаемость

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

простота парсера

зачем нужен отдельный парсер там, где он не нужен?

qnikst ★★★★★
()
Ответ на: комментарий от ZenitharChampion

Дополню лишь тем, что правка .asoundrc не нужна в openSUSE и многих других дистрибутивов Linux для домашнего использования.

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

lazyklimm ★★★★★
()
Ответ на: комментарий от qnikst

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

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

SCRIPTNAME=${0##*/}
debug $*
ACTION=$1
shift
if [ "$1" != "-o" ] ; then INTERFACE=$1; shift; fi
if [ -n "$1" -a "$1" != "-o" ] ; then CONFIG=$INTERFACE; INTERFACE=$1; shift; fi
test "$1" = "-o" && shift
OPTIONS=$@
while [ $# -gt 0 ]; do
        case $1 in
                boot|onboot) MODE=onboot ;;
                hotplug)     MODE=hotplug ;;
                manual)      MODE=manual ;;
                check)       CHECK=check ;;
                quiet)       be_quiet_has_gone ;;
                debug)       DEBUG=yes ;;
                type=*)      TYPE=${1#type=} ;;
                fake)        FAKE=echo ;;
                skip=*)      SKIP=${1#skip=} ;;
                nm)          NETWORKMANAGER=yes ;;
                netcontrol)  NETWORKMANAGER=no ;;
                localfs)     FS_FILTER=localfs  ;;
                remotefs)    FS_FILTER=remotefs ;;
                *)           mesg "Unknown option '$1'"
                             mesg "options: {[on]boot,hotplug,manual,check,debug,type=<typelist>,fake,localfs,remotefs}"
                             exit 1 ;;
        esac
        shift
done

test -f scripts/functions.common \
   && . scripts/functions.common \
   || exit $R_INTERNAL


                case $ACTION in
                        (start) 
                                if netcontrol_running ; then
                                        cd "$OLDPWD"
                                        ./$0 stop
                                fi
                                systemctl start NetworkManager.service
                                exit 0
                        ;;
                        (stop)
                                systemctl stop NetworkManager.service
                        ;;
                        (reload)
                                if netcontrol_running ; then
                                        cd "$OLDPWD"
                                        ./$0 stop
                                        ./$0 start
                                fi
                                systemctl start NetworkManager.service
                                exit 0
                        ;;
                        (status) exit 3 ;;
                        (*)      exit 6 ;;
                esac
if [ -n "$TYPE" ] ; then
        type_filter() {
                for i in $*; do
                        for t in $TYPE; do
                                case $i in
                                        # $t*) echo -n "$i "; continue 2;;
                                        $t*) echo $i; continue 2;;
                                esac
                        done
                done
                echo
        }
else
        LO=lo
        type_filter() {
                echo $*
        }
fi
filter_wordlist() {
        local fwv="${1}"
        local fwf="${2}"
        local fwl=""
        local fwi
        test "x$fwv" != x -a \
             "x$fwf" != x || return 1
        for fwi in ${!fwv} ; do
                $fwf $fwi || continue
                add_to_wordlist fwl $fwi
        done
        eval "${fwv}='${fwl}'"
        return 0
}
                        $R_DHCP_BG)
                                if [ -f "$NETWORK_RUNFILE" -a "$M" = yes ] ; then
                                        : $((F++))
                                fi
                                rc_startmode="${esc}[1A${stat}${attn}waiting${norm}"
                                echo -e "$rc_startmode" 1>&2
                                ;;
                        IFS=. read a b < /proc/uptime
                        TTWAIT=$(($a - `cat $NETWORK_RUNFILE`))
                        test $TTWAIT -gt $((WAIT_FOR_INTERFACES)) \
                             -o -z "$MANDATORY_DEVICES" && break
                        while true; do
                                debug ... still waiting for virtual devices:
                                debug SUCCESS_IFACES=$SUCCESS_IFACES
                                debug VIRTUAL_IFACES=$VIRTUAL_IFACES

                                TMP=$VIRTUAL_IFACES
                                VIRTUAL_IFACES=
                                for IFACE in $TMP ; do
                                        for S in $SUCCESS_IFACES; do
                                                test "$IFACE" = "$S" && continue 2
                                        done
                                        IFACE="`type_filter $IFACE`"
                                        test -z "$IFACE" && continue
                                        status -m $IFACE &>/dev/null
                                        RET=$?
                                        if [ $RET = 0 ] ; then
                                                SUCCESS_IFACES="$SUCCESS_IFACES $IFACE"
                                                if [ "$NEWLINE" = yes ] ; then
                                                        echo
                                                        NEWLINE=no
                                                fi
                                                status $IFACE
                                                continue
                                        fi
                                        VIRTUAL_IFACES="$VIRTUAL_IFACES $IFACE"
                                done
        
                                IFS=. read a b < /proc/uptime
                                TTWAIT2=$((a - (TTWAIT + `cat $NETWORK_RUNFILE`)))
                                test $TTWAIT2 -gt $((WAIT_FOR_INTERFACES)) \
                                        -o -z "$VIRTUAL_IFACES" && break

                                debug "Time to wait: $((WAIT_FOR_INTERFACES - TTWAIT2))"
                                if [ "$NEWLINE" != yes ] ; then
                                        echo "Waiting for virtual interfaces: $VIRTUAL_IFACES"
                                fi
                                echo -n "$((WAIT_FOR_INTERFACES - TTWAIT2)) "
                                NEWLINE=yes
                                sleep 1
                        done
vasily_pupkin ★★★★★
()
Ответ на: комментарий от lazyklimm

>>> оке, если вам так не нравится править вручную конфиги (хотя, не представляю, как в git-е хранять тонны машинно генерируемой хрени, особенно бинарной), кто мешал сделать «нормальную» гуёвую конфигурялку для ALSA?

>> Щас будет скриншот. Видео снимать не буду, потому что на рабочем компьютере только одна звуковая карта, поэтому показывать нечего. http://img441.imageshack.us/img441/6921/yast25.png

> что оно ещё умеет, кроме выбора карты? Алса позволяет делать очень гибкие и сложные конфигурации :)

К сожалению, немного: http://img94.imageshack.us/img94/5690/yast233.png Кроме этих двух экранов настройки есть настройка громкости и «Включить секвенсор (MIDI)».

>> Дополню лишь тем, что правка .asoundrc не нужна в openSUSE и многих других дистрибутивов Linux для домашнего использования.

> в Debian искаропки на среднестатистической конфигурации тоже нормально работает, просто если нужен апмикс-даунмикс из 2.0 в 5.1 или обратно - приходится подкручивать ручками

Даже не представляю что это такое. Но стало интересно, поищу в Google.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от ZenitharChampion

Даже не представляю что это такое.

если ты хочешь, чтобы стереозапись на акустике 5.1 раскидывалась по всем каналам, 5.1 было как есть, при этом всё играло одновременно через dmix - нужно чуть подкрутить руками

lazyklimm ★★★★★
()
Ответ на: комментарий от qnikst

зачем нужен отдельный парсер там, где он не нужен?

Рад что ты осознал ненужность Тьюринг-полного языка для описания сценариев загрузки :)

Lennart
()
Ответ на: комментарий от vasily_pupkin

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

qnikst ★★★★★
()
Ответ на: комментарий от qnikst

Ну, потому что я отложил кирпичей от фразы

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

а не от сравнений инит-чего-нибудь с юнитами

понимание

Давай будем откровенными, вот это вот

case x) .. esac / case (x) .. esac;  ${0##*/};  $* ; 
IFS=. read a b < /proc/uptime
TTWAIT2=$((a - (TTWAIT + `cat $NETWORK_RUNFILE`)))
test $TTWAIT2 -gt $((WAIT_FOR_INTERFACES)) \
    -o -z "$VIRTUAL_IFACES" && break
if [ -f "$NETWORK_RUNFILE" -a "$M" = yes ] ; then
: $((F++))
fi
rc_startmode="${esc}[1A${stat}${attn}waiting${norm}"
if [ -n "$1" -a "$1" != "-o" ] ; then CONFIG=$INTERFACE; INTERFACE=$1; shift; fi
test "$1" = "-o" && shift

невозможно понять без чтения документации по башу.

vasily_pupkin ★★★★★
()
Ответ на: комментарий от Alve

вам что, не пофиг, как ваша ОС загружается?

В том-то и дело, что не пофиг.

Ни одного вменяемого обьяснения никто так и не привёл, из за чего истерия про системд?

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

shell-script ★★★★★
()
Ответ на: комментарий от Alve

Найди себе в жизни что-нибудь, девушку там или хобби.

Я женат не первый год. Просто я работаю сисадмином, а в качестве хобби среди прочего занимаюсь компьютерами. Что ещё посоветуешь?

shell-script ★★★★★
()
Ответ на: комментарий от chinarulezzz

OpenSuse. Это вообще прекрасный дистрибутив. Они умудряются превратить в говно что угодно, до чего дотягиваются руки

vasily_pupkin ★★★★★
()
Ответ на: комментарий от vasily_pupkin

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

При этом - знания баша (достаточно начальные) пригождаются и в копании в ините, и в демонах, и в собственных скриптах. А изучать системгэ с тем что означает Exec1, Exec2, Exec3, PreExec, PostExec - ну лишняя трата калорий и времени.

chinarulezzz ★★
()
Ответ на: комментарий от vasily_pupkin

невозможно понять без чтения документации по башу.

А где башизмы-то? И да, на Си можно написать и покруче, что неопровержимо доказывает говенность systemd.

tailgunner ★★★★★
()
Ответ на: комментарий от Loki13

Ну и что что разные подходы к выпуску? Причем здесь роллинг и релизы к пакетному менеджеру? Давно пора унифицировать! И систему сборки тоже.

Да и сложная слишком вещь для унификации, всем не угодишь

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

chinarulezzz ★★
()
Ответ на: комментарий от Ok

открываешь ман в течении 5 минут осваиваешь на базовом уровне.

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

И одни форматы пакаджей. И система сборки. А то заколебали ваши autotools, cmake, Ant, Rake... Поди разберись во всём этом.

chinarulezzz ★★
()
Последнее исправление: chinarulezzz (всего исправлений: 1)
Ответ на: комментарий от chinarulezzz

И одни форматы пакаджей. И система сборки. А то заколебали ваши autotools, cmake, Ant, Rake... Поди разберись во всём этом.

Все правильно говоришь ^_^

vasily_pupkin ★★★★★
()
Ответ на: комментарий от vasily_pupkin

Достаточно одного прочтения ABS Guide и всё понятно. И не надо говорить, что пользователи его не читали. Пользователи и не правят инитскрипты, а админ, не читавший это, не нужен.

shell-script ★★★★★
()
Ответ на: комментарий от vasily_pupkin

Подкинь поццерингу идею. Может реально начнёт реализовывать. А то народу реально нужно. Вот как раньше с инитом - все плевались, плакали, кололись, молили о том, чтобы что-нибудь сделали с этим инитом наконец, и нашелся человег!

Он в гуглплюсе обитает? А то я не зареген, и может напишет кто-нибудь ему?

chinarulezzz ★★
()
Ответ на: комментарий от shell-script

Пользователи и не правят инитскрипты

Очень в тему написано, да.

Но, я что вообще хотел сказать. Что ЛОР читают дети, и принимают прочитанное на веру. А потом рассказывают на каждом углу, что *sh - это читабельно и понятно просто всем и сразу. Я вот к чему написал, не более.

vasily_pupkin ★★★★★
()
Ответ на: комментарий от vasily_pupkin

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

tailgunner ★★★★★
()
Ответ на: комментарий от chinarulezzz

Задолбали с этой унификацией. Штука хорошая, но нужно и меру знать. У меня три типа устройств - обычный десктоп, нетбук и смартфон. На десктопе KDE, на нетбуке fluxbox, на телефоне стандартная морда андроида. И это нормально. Попытались сделать «универсальные» юнити и третьегном, в итоге ими невозможно пользоваться нигде. Тоже самое и с пакетными менеджерами. На буке и серверах меня устраивает apt. На десктопе мне уже нужен portage. Для опытов по работе мне необходима слака.

shell-script ★★★★★
()
Ответ на: комментарий от tailgunner

Ай. Ну нашел к чему придраться. Там нет башизмов (вроде), что не отменяет того факта, что нихрена это не понятно, без чтения соответствующей документации.

vasily_pupkin ★★★★★
()
Ответ на: комментарий от lucentcode

Угу, попользуйтесь нашей хреновиной 10 лет, и вам понравится. Я целый месяц пользовался systemd, сбежал на слаку с превеликим удовольствием. Глюкало.

часть программ юзали ALSA, часть(игры) OSS, а Gnome вообще имел свою звуковую подсистему

И какая же это звуковая подсистема была в Gnome?

С OSS никаких проблем нет, хоть три плейера слушай, с игрушкой одновременно. А ALSA писали такие же криворукие ламеры, как и Поцтеринг.

Вобщем, банальное рабство такое банальное.

Короче, не буду больше кормить тролля, а то лопнет. А ему еще уроки делать.

Motif ★★
()
Ответ на: комментарий от Lennart

Так и запишем - генианальный Поцтеринг ниасилил стартовые скрипты в Федоре.

Motif ★★
()
Ответ на: комментарий от Motif

Я целый месяц пользовался systemd, сбежал на слаку с превеликим удовольствием. Глюкало.

Номер багрепорта или балабол.

Lennart
()
Ответ на: комментарий от chinarulezzz

А изучать системгэ с тем что означает Exec1, Exec2, Exec3, PreExec, PostExec - ну лишняя трата калорий и времени

Бедненький, как же ты надорвался изучая аж десяток значений key = value... неудивительно что с такой сильной аллергией к обучению ты делаешь ошибки даже в транслитерации элементарного названия systemd.

Lennart
()
Ответ на: комментарий от ZenitharChampion

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

Motif ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.