0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【FreeBSD】バージョンアップでコンフリクトが発生した場合の対処方法

Posted at

はじめに

「FreeBSD 13.0-RELEASE-p13」から、「FreeBSD 13.3-RELEASE」にバージョンアップしようとした際に、設定ファイルのコンフリクトが発生した。

環境

OS : FreeBSD 13.0-RELEASE-p13

やろうとしたこと

下記の方法で、「FreeBSD 13.0-RELEASE-p13」から、「FreeBSD 13.3-RELEASE」にバージョンアップしようとした。

試したバージョンアップ方法

下記コマンドを実行し、バージョンをアップを試みた。

# 1. 現在のバージョンを確認する。
freebsd-version -kur
# 2. 最新のセキュリティパッチをあてる。
freebsd-update fetch
freebsd-update install
# 3. アップグレードの準備(ファイルをダウンロード)する。
freebsd-update -r 13.3-RELEASE upgrade
# 4. アップグレードする(ダウンロードしたファイルをインストールする)。
/usr.sbin/freebsd-update install
# 5. 再起動する。
shutdown -r now

起きたこと

アップグレードするコマンドコマンドを実行した際に、下記メッセージが表示された。

The following file could not be merged automatically: 設定ファイルのパス
Press Enter to edit this file in vi and resolve the conflicts manually...

アップグレードするコマンド

freebsd-update -r 13.3-RELEASE upgrade

表示されたメッセージの詳細

The following file could not be merged automatically: 設定ファイルのパス
Press Enter to edit this file in vi and resolve the conflicts manually...

日本語に翻訳すると、「自動でマージできなったので、viで編集し、手動でコンフリクトを解消しろ。」と書いてある。

対処方法

「group」でコンフリクトが発生した場合を例に対処方法を記載する。

  1. 下記メッセージに従い、Enterキーを押下する。
    The following file could not be merged automatically: /etc/group
    Press Enter to edit this file in vi and resolve the conflicts manually...
    
  2. viエディタ上で、groupファイルの中身が表示されるので、下記の例のような部分を探す。
    ※ viエディタの使い方は、本記事では解説しない。
    編集前
    <<<<<<< current version
    wheel:*:0:root,TestUser
    =======
    wheel:*:0:root
    >>>>>>> new version
    
    ※ 上記例の意味は、下記の通りである。
    編集前
    <<<<<<< current version
    現在のバージョンの設定
    =======
    新しいのバージョンの設定
    >>>>>>> new version
    
  3. 今回は、下記のように編集した。
    編集後
    - <<<<<<< current version
    wheel:*:0:root,TestUser
    - =======
    - wheel:*:0:root
    - >>>>>>> new version
    
    ※ 設定ファイルに記載する内容は、ケースバイケースである。
  4. 以下のようなメッセージが何度か表示され、表示されるたびに設定ファイルの確認が求められる。
    問題がなければ、「y」を入力し、Enterキーを押下する。
    The following changes, which occurred between 現在のバージョン and アップグレード先のバージョン have been merged into 設定ファイルのパス :
    === (省略) ===
    設定ファイルの内容
    Does this look reasonable (y/n)?
    
  5. 削除されるファイルの一覧を確認する。
    The following files will be removed as part of updating to アップグレード先のバージョン:
    === (以下省略) ===
    
  6. 追加されるファイルの一覧を確認する。
    The following files will be updated as part of updating to アップグレード先のバージョン:
    === (以下省略) ===
    
  7. 下記メッセージが表示されたことを確認する。
    To install the downloaded upgrades, run "/usr.sbin/freebsd-update install"
    

TIPS

コンフリクトが発生する設定ファイル

  • /etc/group
  • /etc/master.passwd
  • /etc/ssh/sshd_config

「group」でコンフリクトが発生した際のメッセージ

The following file could not be merged automatically: /etc/group
Press Enter to edit this file in vi and resolve the conflicts manually...

「master.passwd」でコンフリクトが発生した際のメッセージ

The following file could not be merged automatically: /etc/master.passwd
Press Enter to edit this file in vi and resolve the conflicts manually...

「sshd_config」でコンフリクトが発生した際のメッセージ

The following file could not be merged automatically: /etc/ssh/sshd_config
Press Enter to edit this file in vi and resolve the conflicts manually...

「master.passwd」でコンフリクトを解消する際の注意事項

「master.passwd」の2番目のフィールドに記載されているパスワードハッシュは、削除しないこと。
※ 「master.passwd」は、「:」(コロン)区切りで記載されている。

user:パスワードハッシュ:1001:1001:testUser:/home/testUser:/bin/sh

さいごに

本記事では、バージョンアップ時のコンフリクトを設定ファイルを編集し、解消する方法を示した。

参考文献

※ 下記2サイトは2024年9月22日現在アクセスができないが、復旧した場合も考え、記載している。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?