UNIX 系 OS のシャットダウン前の sync についての質問です。

昔の UNIX 系 OS では halt する前に sync コマンドを叩く習わしがあったとよく聞くことがありますが

1. 最近現役で使われている OS でも「halt」コマンドを実行する前に sync することに意味があるものは存在するのでしょうか? また過去に意味があった OS とは具体的にどの OS のどのバージョンぐらいまでの話なのでしょうか?

2. (halt ではなく)「shutdown」コマンドを使ってシャットダウンするときにも事前に sync をする必要がある|あった OS は過去に存在したことがあるのでしょうか? あったとすれば、それはどの OS のどのバージョンぐらいまでの話でしょうか?

関連: http://nosa.cocolog-nifty.com/sanonosa/2008/05/unixos_9223.html

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2008/05/29 02:45:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:taku_j_7 No.1

回答回数139ベストアンサー獲得回数12

ポイント35pt

現在のUnix系OSはsyncを行わなくとも、shutdown/haltしても問題ありません。

これは先立ってsync命令があらかじめ実行されるように、shutdown/haltコマンドに実装されています。

http://www.linux.or.jp/JM/html/gnumaniak/man1/sync.1.html

実経験では2002年ぐらいのKernel2.4(debian,redhat)では、既に実装されていたと記憶しています。

「sync,sync,sync,halt」を行う人も少なくなりましたね。

「~から実装」というソースは見つかりませんでした・・・。

id:pmakino

なるほど、ありがとうございます。

SunOS 等、Linux 以外の OS での情報もお待ちしております。(このような曖昧な情報でも構いませんので)

2008/05/24 02:48:24
id:wd0 No.2

回答回数14ベストアンサー獲得回数2

ポイント35pt

大昔、sync の3回の実行が必要だったのは、halt/shutdown する前ではなく後です。

1. shutdown コマンドでシングルユーザモードに移行

2. シングルユーザモードでsync を3回実行

3. 電源スイッチの操作で電源断

が、当時のシステム停止手順でした。

私が System III を使っていたころは、まだ、この手順でした。

もっと前、shutdownコマンドがまだなかった時代は別のコマンドだったはずですが、

私は実体験がなく、わかりません。

SunOS 4.* は、すでに、shutdown だけでシステム停止できるようになっていました。

shutdownコマンドは 4.0BSDからとありますので、SunOS 4.* に今のshutdownコマンドがあったのは不思議ではないですね。

http://www.openbsd.org/cgi-bin/man.cgi?query=shutdown&apropos=0&...

id:pmakino

ありがとうございます。

だいぶ古い時代の話なのですね。

http://ja.wikipedia.org/wiki/UNIX_System_V とあわせて読み解くと、1980年代前半には既に sync 不要となっていたというところでしょうか。

> 1. shutdown コマンドでシングルユーザモードに移行

> 2. シングルユーザモードでsync を3回実行

確かに、先にシングルユーザモードに移行しないと sync してもしょうがないですよね…

2008/05/24 21:00:18
  • id:hengsu
    これはファイルシステムの問題でしょう。
  • id:ekiryu
    大昔の事で記憶が曖昧ですが、SunOSだったかSolarisでshutdownやhaltがシェルスクリプトになっていて、中身を見たらsyncが書いてあったので、syncを単独で実行する必要がないんだと思った事があります、バージョンは覚えていません。
  • id:ttamo
    ちょっとぐぐってみると、こんな情報もありました。

    【へぇ】トリビアの泉@UNIX板【へぇ】
    http://pc11.2ch.net/test/read.cgi/unix/1045381392/31-130

  • id:pmakino
    ありがとうございます、

    http://pc11.2ch.net/test/read.cgi/unix/1045381392/82-99
    82 :名無しさん@お腹いっぱい。:03/02/18 11:07
    今時のUnixのshutdownコマンドは大抵内部的にsyncを実行する
    でも、いるんだよな必ずsyncしないと気が済まない香具師
    96 :名無しさん@お腹いっぱい。:03/02/19 02:55
    > 82
    shutdown前のsync 3発の元ネタをUPしたら
    漏れの持ち「へぇ~」全部あげましょう(どうやって?)
    97 :名無しさん@お腹いっぱい。:03/02/19 03:46
    http://home.jp.freebsd.org/cgi-bin/showmail/FreeBSD-users-jp/5924
    sync sync sync halt の 3つめの sync は気休め、
    sync sync sync shutdown の 3つの sync は全て気休め。
    98 :名無しさん@お腹いっぱい。:03/02/19 04:13
    この記事を読む限り、
    shutdown の前であっても sync する価値はあるように思うのだが
    99 :名無しさん@お腹いっぱい。:03/02/19 04:30
    >>98
    そうですね。この記事のスレッドはさらにこう続いています。
    FreeBSD 以外でも大体同じような事情なのかしら?
    http://home.jp.freebsd.org/cgi-bin/showmail/FreeBSD-users-jp/5935

    http://pc11.2ch.net/test/read.cgi/unix/1045381392/506-511
    506 :名無しさん@お腹いっぱい。:03/12/14 14:54
    sync3回が無駄・迷信だという話があるが、昔のSunOSをはじめ
    とするUNIX系OSはshutdown時に自動的にsyncしてくれるという
    ことはなかったため、あながち間違いじゃない。
    今sync3回やるのは、そのときの流れ・そのとき使ってた人・
    そのとき使ってた人間に教育を受けた、などの理由がある。
    #私は3つ目。

    の部分ですね。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません