アカウント名:
パスワード:
systemdは何を批判されてるのか何が利点なのか移行にどういう障害があるのかよくわからない
正直、CentOS7でchkconfigがsystemctlになったぐらいしかsystemdの印象がない
その通り。systemdの問題は、「systemdとはそもそも何を解決するための何なのか」が明確でないことだと思ってる。あのpulseaudioもドイヒーな出来だったが、あれはまだ目的とアイデンティティが明確だった。しかしsystemdは、低クオリティで有名な(pulseaudioと同じ)開発者が、ただ「なんかすごいことしようぜ」というだけのノリで作ってるのが問題だ。 パフォーマンス改善は本来の目的ではない (Note that systemd's fast performance is a side effect of its design but wasn't the primary design goal) [freedesktop.org] らしいし、 批判されたときの言葉尻に応じて「 [darknedgy.net]
http://0pointer.de/blog/projects/systemd-for-admins-3.html [0pointer.de]からの引用だけど、今まで
#!/bin/bash# Starts the abrt daemon## chkconfig: 35 82 16# description: Daemon to detect crashing apps# processname: abrtd### BEGIN INIT INFO# Provides: abrt# Required-Start: $syslog $local_fs# Required-Stop: $syslog $local_fs# Default-Stop: 0 1 2 6# Default-Start: 3 5# Short-Description: start and stop abrt daemon# Description: Listen to and dispatch crash events### END INIT INFO # Source function library.. /etc/rc.d/init.d/functionsABRT_BIN="/usr/sbin/abrtd"LOCK="/var/lock/subsys/abrtd"OLD_LOCK="/var/lock/subsys/abrt"RETVAL=0 ## Set these variables if you are behind proxy##export http_proxy=#export https_proxy= ## See how we were called.# check() { # Check that we're a privileged user [ "`id -u`" = 0 ] || exit 4 # Check if abrt is executable test -x $ABRT_BIN || exit 5} start() { check # Check if it is already running if [ ! -f $LOCK ] && [ ! -f $OLD_LOCK ]; then echo -n $"Starting abrt daemon: " daemon $ABRT_BIN RETVAL=$? [ $RETVAL -eq 0 ] && touch $LOCK echo fi return $RETVAL} stop() { check echo -n $"Stopping abrt daemon: " killproc $ABRT_BIN RETVAL=$? [ $RETVAL -eq 0 ] && rm -f $LOCK [ $RETVAL -eq 0 ] && rm -f $OLD_LOCK echo return $RETVAL} restart() { stop start} reload() { restart} case "$1" instart) start ;;stop) stop ;;reload) reload ;;force-reload) echo "$0: Unimplemented feature." RETVAL=3 ;;restart) restart ;;condrestart) if [ -f $LOCK ]; then restart fi # update from older version if [ -f $OLD_LOCK ]; then restart fi ;;status) status abrtd RETVAL=$? ;;*) echo $"Usage: $0 {start|stop|status|restart|condrestart|reload|force-reload}" RETVAL=2esac exit $RETVAL
って書かなきゃいけなかったのを
[Unit]Description=Daemon to detect crashing appsAfter=syslog.target [Service]ExecStart=/usr/sbin/abrtdType=forking [Install]WantedBy=multi-user.target
って書けるようになるってだけの話なんだけど。新規開発者の学習コストを考えると、どう見たってこっちの方が簡単だし、変なバグを作りこむ余地もない。少なくとも、可読性や再利用可能性で言えば圧倒的だ。スクリプトをパースする量が減ればパフォーマンスが上がるのは当然の話で、なんでそんな小難しい話にしようとするのか理解できない。
欠点は互換性で、これはかなりクリティカル。
今問題になってるのは、systemdそのものじゃなくて、gnome3をsystemd外部依存にしよう、って話ね。設定ファイルを大量に抱えているプロジェクトは、全部systemdに移行した方が楽だから、この流れは避けられない。これにイチャモン付けている人はメンテナに凄く理不尽な要求をしていることを理解していない。だけれども、gnome3は親方なんだから、全く移行する気がない第三者を大量に巻き込んでしまう。さすがにこれはどうなんだ、ってこと。
実際のところ、systemdに対応させる手間はさほどじゃない。完全な素人でも数分でできる。少なくとも逆に比べれば圧倒的にローコスト。でも手間がいくら少なくても人数が増えると面倒は増えるわけで、改良を阻んでしまう。
って書けるようになるってだけの話なんだけど。
だけの話だったらsystemdは不要なんですよね。現在、大抵の起動スクリプトは十分に短いので。(極端な例 [openbsd.org])で、反対派がこう言うと、推進派は「それだけの話じゃなかった」と後出しで言うんです。それで、結局systemdは何なんだよ、というのが問題なのです。
どう見たってこっちの方が簡単だし、
上のスクリプトのコメント内にあるchkconfig:~~とかいうどう見てもハックな部分も含めればそう見えるかもしれませんが、実際にはType=forkingの分、上のスクリプトより難しいです。(なぜsimpleやその他のオプションではないのか、等)どう見ても、「だけの話」どころではなく、色々なことをしようとしています。しかし何の問題を解決するために何をしようとしているのかが明確でないのです。
変なバグを作りこむ余地もない。
systemd本体に作りこまれるという余地が多分にあります。だから、開発者の無能や設計の問題を批判されているのです。
今問題になってるのは、systemdそのものじゃなくて、gnome3をsystemd外部依存にしよう、って話ね。
そうであれば、上の「~~だけの話」という表現と矛盾します。論点を発散させるのは問題だと思います。
start/stop/restart/status無いのかよ。やめてくれ。この辺りいい加減というのが一番腹立つ。あと、依存するプロセスないと何のヒントにもならんエラー吐いて終わる奴とか。こういった質悪いデーモン系の一掃、実行拒否してくれるなら、initでもかまわんが。
スクリプト見ただけですが、4行目の
. /etc/rc.d/rc.subr
でサブルーチンを読み込んでおり、大抵のことはこっちに実装されているみたいですね。んで6行目の ”rc_cmd $1"をrc.subrで確認するとcheck/start/stop/reload/restartの処理があるようです。
http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/etc/rc.d/rc.subr?rev=1.90... [openbsd.org]
ということでむしろ個人的にはよくできてるなーと関心した次第。
systemdになって、一部init scriptにあったconfigtestが使えなくなって「まじかよ」ってなった
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
最初のバージョンは常に打ち捨てられる。
何が問題なのか (スコア:0)
systemdは何を批判されてるのか
何が利点なのか
移行にどういう障害があるのか
よくわからない
正直、CentOS7でchkconfigがsystemctlになったぐらいしか
systemdの印象がない
Re: (スコア:3, 興味深い)
その通り。
systemdの問題は、「systemdとはそもそも何を解決するための何なのか」が明確でないことだと思ってる。
あのpulseaudioもドイヒーな出来だったが、あれはまだ目的とアイデンティティが明確だった。
しかしsystemdは、低クオリティで有名な(pulseaudioと同じ)開発者が、ただ「なんかすごいことしようぜ」というだけのノリで作ってるのが問題だ。
パフォーマンス改善は本来の目的ではない (Note that systemd's fast performance is a side effect of its design but wasn't the primary design goal) [freedesktop.org]
らしいし、
批判されたときの言葉尻に応じて「 [darknedgy.net]
Re:何が問題なのか (スコア:0)
http://0pointer.de/blog/projects/systemd-for-admins-3.html [0pointer.de]
からの引用だけど、今まで
って書かなきゃいけなかったのを
って書けるようになるってだけの話なんだけど。新規開発者の学習コストを考えると、どう見たってこっちの方が簡単だし、変なバグを作りこむ余地もない。少なくとも、可読性や再利用可能性で言えば圧倒的だ。スクリプトをパースする量が減ればパフォーマンスが上がるのは当然の話で、なんでそんな小難しい話にしようとするのか理解できない。
欠点は互換性で、これはかなりクリティカル。
今問題になってるのは、systemdそのものじゃなくて、gnome3をsystemd外部依存にしよう、って話ね。設定ファイルを大量に抱えているプロジェクトは、全部systemdに移行した方が楽だから、この流れは避けられない。これにイチャモン付けている人はメンテナに凄く理不尽な要求をしていることを理解していない。だけれども、gnome3は親方なんだから、全く移行する気がない第三者を大量に巻き込んでしまう。さすがにこれはどうなんだ、ってこと。
実際のところ、systemdに対応させる手間はさほどじゃない。完全な素人でも数分でできる。少なくとも逆に比べれば圧倒的にローコスト。でも手間がいくら少なくても人数が増えると面倒は増えるわけで、改良を阻んでしまう。
Re:何が問題なのか (スコア:3, すばらしい洞察)
って書けるようになるってだけの話なんだけど。
だけの話だったらsystemdは不要なんですよね。
現在、大抵の起動スクリプトは十分に短いので。(極端な例 [openbsd.org])
で、反対派がこう言うと、推進派は「それだけの話じゃなかった」と後出しで言うんです。
それで、結局systemdは何なんだよ、というのが問題なのです。
どう見たってこっちの方が簡単だし、
上のスクリプトのコメント内にあるchkconfig:~~とかいう
どう見てもハックな部分も含めればそう見えるかもしれませんが、
実際にはType=forkingの分、上のスクリプトより難しいです。
(なぜsimpleやその他のオプションではないのか、等)
どう見ても、「だけの話」どころではなく、色々なことをしようとしています。
しかし何の問題を解決するために何をしようとしているのかが明確でないのです。
変なバグを作りこむ余地もない。
systemd本体に作りこまれるという余地が多分にあります。
だから、開発者の無能や設計の問題を批判されているのです。
今問題になってるのは、systemdそのものじゃなくて、gnome3をsystemd外部依存にしよう、って話ね。
そうであれば、上の「~~だけの話」という表現と矛盾します。
論点を発散させるのは問題だと思います。
Re:何が問題なのか (スコア:1)
start/stop/restart/status無いのかよ。やめてくれ。
この辺りいい加減というのが一番腹立つ。
あと、依存するプロセスないと何のヒントにもならんエラー吐いて終わる奴とか。
こういった質悪いデーモン系の一掃、実行拒否してくれるなら、initでもかまわんが。
Re:何が問題なのか (スコア:1)
スクリプト見ただけですが、4行目の
. /etc/rc.d/rc.subr
でサブルーチンを読み込んでおり、大抵のことはこっちに実装されているみたいですね。
んで6行目の ”rc_cmd $1"をrc.subrで確認するとcheck/start/stop/reload/restartの処理があるようです。
http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/etc/rc.d/rc.subr?rev=1.90... [openbsd.org]
ということでむしろ個人的にはよくできてるなーと関心した次第。
Re: (スコア:0)
systemdになって、一部init scriptにあったconfigtestが使えなくなって「まじかよ」ってなった