1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CentOS 6.9 | CentOS7.7 > patchコマンド > シンボリックリンクファイルへの振舞いが異なる | --follow-symlinksオプション

Last updated at Posted at 2019-10-10
動作環境
A. CentOS release 6.9 (Final)
  patch v2.6
B. CentOS Linux release 7.7.1908 (Core)
  patch (GNU patch 2.7.1)

概要

WRF (Weather Research and Forecasting Model)のシステムをCentOS6.9からCentOS7.7へ移行中の調査にて気づいた事項。
patchコマンドの振る舞いが異なる。

シンボリックリンクファイルへのpatchをしたときに、シンボリックリンクが切れてファイルが生成される振る舞いであった。
その振る舞いに基づいて作ったスクリプトがCentOS 7.7ではエラーになる。

CentOS 6.9

$ patch namelist.wps CODE_170613/diff_FNLtoSST 
patching file namelist.wps
Reversed (or previously applied) patch detected!  Assume -R? [n] 

CentOS 7.7

$ patch  namelist.wps CODE_170613/diff_FNLtoSST 
File namelist.wps is not a regular file -- refusing to patch
1 out of 1 hunk ignored -- saving rejects to file namelist.wps.rej

対応

対応として、「シンボリックリンクに直接patchを当てる方法はやめる」。

関連

シンボリックリンクをはずす方法として以下について知った。

補足

CentOS 7.7のpatchコマンドにはシンボリックリンクを扱うための新しいパラメータ「--follow-symlinks」がある。
これを使うことでCentOS 7.7では動くかもしれないが、現在の調査ではCentOS 6.9とCentOS 7.7で同一のスクリプトを動かす必要があるので、その選択肢は選択していない。

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?