[TEBIKI]patch コマンド
[計算機とネットワークの手引集へ戻る]
古いファイルに差分ファイルを適用するときに用いる patch コマンドについて紹介する.
概要
patch は, diff コマンドで生成された差分リストを含むパッチファイルを引数に取り, 1 個または複数のオリジナルファイルにこれらの差分を適用し, パッチの当たったバージョンを生成する. 通常, オリジナルファイルはパッチの当たったバージョンと置き換わる. 「パッチを当てる」とは, 古いファイルと差分データを参照しながら新しいファイルを作ることを指す.
使い方
パッチファイルを入手し,
$ patch < パッチファイル
とすると自動的にパッチ当て作業が行われる.
使用例
[ITPASS2011]apache2のインストールと設定#extra/httpd-userdir.conf の diff を参考にして extra/httpd-userdir.conf を書き換える場合を考える.
まず, diff をコピーペーストしてパッチファイル (userdir.patch とする) を作成し, しかるべきディレクトリ (後述) に置く.
そして, 以下のように patch コマンドを実行すれば書き換えは完了である.
patch < userdir.patch
ただし, patch コマンドは diff 2 行目の "+++" から始まる行に書いてあるファイル名を参照して書き換えるため, その行に書いてある名前のファイルが存在しないディレクトリでは実行できない. そのため, パッチファイルを置いて patch コマンドを実行するディレクトリの選択には気を配る必要がある.
参考資料
- patch の man ページ
- UNIXの部屋 コマンド検索:patch (*BSD/Linux)
Keyword(s):
References:[[ITPASS2011a]qmailのインストールと設定] [[ITPASS2012]qmailのインストールと設定] [[ITPASS2014] qmail のインストールと設定] [[ITPASS2015] qmail のインストールと設定] [[ITPASS2015]qmail のインストールと設定] [[ITPASS2016]qmailのインストールと設定#とりあえず用の smtp の設定] [[ITPASS2016]qmail のインストールと設定] [[ITPASS2017]qmail のインストールと設定] [[ITPASS2018]qmail のインストールと設定] [[ITPASS2020]2020年度サーバ構築ページ] [[ITPASS2020]2020年度サーバ構築マニュアル] [[ITPASS2020]qmail のインストールと設定] [[ITPASS2021]2021年度サーバ構築マニュアル] [[ITPASS2021]qmail のインストールと設定] [[ITPASS2022]2022年度サーバ構築マニュアル] [[ITPASS2022]qmail のインストールと設定] [[ITPASS2024]2024年度サーバ構築マニュアル] [[Memo2012][ITPASS]qmailのインストールと設定] [[Memo2016][ITPASS]qmail のインストールと設定] [[Memo2016][ITPASS]qmail のインストールと設定(マニュアル)] [[Memo2020][ITPASS]qmail のインストールと設定] [[Memo2021][ITPASS]qmail のインストールと設定] [[Memo2022][ITPASS]qmail のインストールと設定] [[Memo2024][ITPASS]qmail のインストールと設定] [計算機とネットワークの手引集]