From nobody Thu Jan 11 14:37:56 2024 X-Original-To: users-jp@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T9nMf4Y9Nz568Wb for ; Thu, 11 Jan 2024 14:38:06 +0000 (UTC) (envelope-from ka@flu.if0.org) Received: from flu.if0.org (113x39x138x114.ap113.ftth.ucom.ne.jp [113.39.138.114]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "flu.if0.org", Issuer "flu.if0.org" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T9nMc2sYhz4c5b for ; Thu, 11 Jan 2024 14:38:01 +0000 (UTC) (envelope-from ka@flu.if0.org) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=none (mx1.freebsd.org: domain of ka@flu.if0.org has no SPF policy when checking 113.39.138.114) smtp.mailfrom=ka@flu.if0.org Received: from localhost (localhost [127.0.0.1]) by flu.if0.org (8.17.1/8.17.1) with ESMTP id 40BEbuYx037481 for ; Thu, 11 Jan 2024 23:37:56 +0900 (JST) (envelope-from ka@flu.if0.org) Date: Thu, 11 Jan 2024 23:37:56 +0900 (JST) Message-Id: <20240111.233756.2221625076163959973.ka@flu.if0.org> To: users-jp@freebsd.org Subject: Re: how to use etcupdate? From: Kazumaro Aoki In-Reply-To: <20240111184744.279c8504bf2f12a55bdb85b0@dec.sakura.ne.jp> References: <20240111.150026.1124763852111365461.ka@flu.if0.org> <20240111184744.279c8504bf2f12a55bdb85b0@dec.sakura.ne.jp> X-Mailer: Mew version 6.9 on Emacs 29.1 List-Id: Discussion relevant to FreeBSD communities in Japan List-Archive: https://lists.freebsd.org/archives/freebsd-users-jp List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-users-jp@freebsd.org X-BeenThere: freebsd-users-jp@freebsd.org Mime-Version: 1.0 Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit X-Spamd-Bar: / X-Spamd-Result: default: False [0.52 / 15.00]; AUTH_NA(1.00)[]; MID_CONTAINS_FROM(1.00)[]; SUBJECT_ENDS_QUESTION(1.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; NEURAL_HAM_LONG(-0.98)[-0.978]; MV_CASE(0.50)[]; MIME_GOOD(-0.10)[text/plain]; ONCE_RECEIVED(0.10)[]; RCPT_COUNT_ONE(0.00)[1]; PREVIOUSLY_DELIVERED(0.00)[users-jp@freebsd.org]; ASN(0.00)[asn:17506, ipnet:113.32.0.0/13, country:JP]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_ONE(0.00)[1]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; MLMMJ_DEST(0.00)[users-jp@freebsd.org]; RCVD_TLS_LAST(0.00)[]; R_DKIM_NA(0.00)[]; DMARC_NA(0.00)[if0.org]; ARC_NA(0.00)[]; TO_DN_NONE(0.00)[]; R_SPF_NA(0.00)[no SPF record] X-Rspamd-Queue-Id: 4T9nMc2sYhz4c5b 青木@名古屋さん 和麻呂です 早速の助言ありがとうございます。 handbook 26.6節を要約すると 古いsource tree# etcupdate extract 新しいsource tree# make installkernel reboot 新しいsource tree# etcupdate -p 新しいsource tree# make installworld 新しいsource tree# etcupdate -B reboot というように見えますが、助言頂いたのだと、etcupdateの-B optionをつける のがetcupdate extractの方で、本番(?)の方では、なし、ということでしょう か。 etcupdateのonline manualを見てもイマイチ-B optionの挙動がわかっていな いので気になっています。 もう一点、git cloneで/usr/srcを取ってきたのですが、FreeBSD ID stringと 思われるものが $FreeBSD$ というように書いてあり、 $FreeBSD: releng/12.4/etc/login.access 130151 2004-06-06 11:46:29Z schweikh $ といった形式より短いのが気になっていて、これが-F optionをつけた時に悪 さをしているのかなぁと思ったりもしています。 varmfsは使ってません。ただ、/var/db/etcupdateの存在には気がついたので すが、そこを見ても以前の/etcは見当たりませんでした。 なお、viはあんまり得意ではありませんが使えますし、3-way mergeも30年ほ ど前になりますが、PVCSとかいう感じの名前のものを使ったことがあるのでわ かりますので大丈夫です。 ただ、etcupdateで「C」つきのが出てきた時がconflictだという認識がなかっ たので、最初はetcupdate resolveを忘れていましたが、とりあえずetcupdate のあとにいつでもetcupdate resolveすれば、conflictがあろうとなかろうと うまくいくという理解です。 青木和麻呂 【以下、全文引用】 From: Tomoaki AOKI Subject: Re: how to use etcupdate? Date: Thu, 11 Jan 2024 18:47:44 +0900 > 青木@名古屋です。 > > 今更ですが、基本、etcupdateは、初めて使う場合、 >  ・srcツリーの【更新前】に`etcupdate extract -B`で >   比較対象用のツリーを構築 >  ・srcツリー更新・リビルド・`make installkernel`後、 >   `etcpudate -p` >  ・シングルユーザで再起動後(ZFS関連の更新だと再起動 >   せず`shutdown now`でシングルユーザに落ちるだけで >   処理する必要があるケースも)、`make installworld`後、 >   `etcupdate -B`で残りを更新。 `make delete-old`を >   やるならそちらを先に。 `make delete-old-libs`は >   最後の最後、ports等も含めて古いライブラリを使うものが >   何も無くなったと確認できた後で。 > > でだいたいうまくいきますが、"C"マークの付いたアイテム > (srcでの変更とローカル設定での変更が衝突)があると > 手動での取捨選択が必要になります。 forums.freebsd.orgの > 方で、rootのEDITOR環境変数が未設定の場合のデフォルトがvi > だったこともあって、特にviに不慣れな人たち中心に阿鼻叫喚の > 地獄絵図が。 3ways mergeの扱いがわからないのに加えてviの > 操作も分からないという2重苦が蔓延してました。 > > 和麻呂さん(どちらも青木で紛らわしいので(^^;)の場合、 > srcの更新前(前のsrcツリーを更新したんですよね?)に > 比較用のツリーを用意されているようなので問題なさそうですが、 > 念の為、varmfs環境ではありませんよね? > etcupdateはデフォルトで作業用データを/var/db/etcupdate以下に > 構築・保存するので、varmfsな環境だと再起動時に消滅して > しまいますので。 > > 私の場合、etcupdateが初めてsrcに取り込まれてすぐの更新で > いきなり試して、最初のステップを演っていなかったため > ドツボに嵌まった経験があります。 確か、etcupdateの作業用 > データ保存先を必死に探して消去し、一旦srcツリーをsvnliteで > 強制的に更新前の状態に戻して最初のステップをやり直して > 強引に処理したかと思います。 > > 12月あたりからのforumsの関係しそうなスレッドはこの辺でしょうか。 > あくまで私が何らかのアクションを行ってWatched threadsにリスト > される範囲ですが。 確か、まだあったと思います。 > >  https://forums.freebsd.org/threads/14-0-release-conflicts-in-etc-passwd-results-in-losing-root.91124/ > >  https://forums.freebsd.org/threads/14-0-release-upgrade-question-merge-conflict-markers-remain.91079/ > > > On Thu, 11 Jan 2024 15:00:26 +0900 (JST) > Kazumaro Aoki wrote: > >> 青木@藤沢市在住です >> >> 12RのEoLと前後していくつかの12Rを13Rにupgradeしました。 >> やってないだけではあるのですがbinary updateは経験がないので、source >> treeからのmake installworldです。 >> >> また、mergemasterは13Rでなくなって14Rからの標準ということもきき、その >> 練習を兼ねてhandbook chapter 26.6を見ながら実施しました。 >> >> まずは、 >> etcupdate extract >> して、sourceをgitで取りだし、make buildkernel buildworldしました。 >> 次にmake installkernelして、 >> etcupdate -F -p >> を実行したところCつきのファイルが出たPCでは次の >> etcupdate resolve >> で修正しました。次にmake installworldして、 >> etcupdate -F -B >> したら、かなりの/etcのファイルが0バイトんなってしまって、困ってます。 >> >> handbookの方ではetcupdateの-F optionは書いていなかったのではありますが、 >> online manualを見る限りmergemasterと同じように作業負荷を減らしてくれそ >> うに思いつけてみました。これがまずかったのでしょうか? >> >> 青木和麻呂 @ 藤沢市在住 >> > > > -- > 青木 知明 [Tomoaki AOKI]