私はこの引用を(以下)数回読んでいますが、最近ここにありますが、コンパイラだけでなくあらゆるものdd
にパッチを適用する方法に絶えず困惑しています:
私が30年前に学校で使用したUnixシステムは、RAMとディスク容量が非常に限られていた。特に、
/usr/tmp
ファイルシステムは非常に小さいため、誰かが大きなプログラムをコンパイルしようとすると問題が発生しました。もちろん、学生はとにかく「大規模なプログラム」を書くことになっていない。大規模なプログラムは通常、「どこか」からコピーされたソースコードでした。私たちの多くは、コピー/usr/bin/cc
し/home/<myname>/cc
て、使用dd
、使用するバイナリパッチを適用する/tmp
代わりにする/usr/tmp
大きかったです。もちろん、これは問題を悪化させただけです。これらのコピーが占めるディスクスペースは当時重要でしたが、現在は/tmp
定期的にいっぱいになり、他のユーザーがファイルを編集することさえできなくなりました。何が起こったのかを見つけた後、システム管理者はchmod go-r /bin/* /usr/bin/*
問題を「修正」し、Cコンパイラのすべてのコピーを削除しました。
(エンファシス鉱山)
dd
マン・ページには、パッチを適用し、このとにかくを行うために再目的とすることができないと思うについては何も言いません。
バイナリには本当にパッチを適用できdd
ますか?これに歴史的な意義はありますか?
od
バイトの16進コードのファイル、あなたの編集を決定し、必要なオフセットを検索し、bs=$patchsize count=1 seek=$((offset/bs)) conv=notrunc
中にあなたのパッチの右側。