clean: @rm -f *.o *~
著者:飯坂剛一 (いいさかごういち)
Release: 2007/12/07
この資料ではCenOSのミラーサイトからISOイメージや、 レポジトリ、Updatesパッケージを入手するための スクリプトを紹介します。
通常はコンパイルやリンクなどプログラム開発で使用されるmakeコマンドですが、 あらかじめ登録しておいたコマンド群をコマンドラインから指示して 実行させることもできます。
次のような行をMakefile中に記述することが多いはずです。
clean: @rm -f *.o *~
makeコマンドは引数に与えた文字列にマッチするコマンド群を実行します。
$ make clean
rmコマンドの前にアットマーク記号(@)があれば、 そのコマンドラインをエコー表示しません。
makeコマンドを利用してメニューのような動作をさせています。
default: help .PHONY: help help: shorthelp @echo .PHONY: shorthelp shorthelp: @echo @echo " CentOS-$(DISTVER) mirror utility" @echo " -------------------------------------------------" @echo " make help -- Short help" @echo " make longhelp -- Long help" @echo " make setup -- Setup directory tree" @echo " make clean -- Clean unused index.html" @echo " -------------------------------------------------" @echo " make update -- Mirror updates" @echo " make update-iso-all -- Create ISO images of updates" @echo " make get-isos -- Get ISO images" @echo " make get-extras -- Get extra packages" .PHONY: longhelp longhelp: shorthelp @echo " -------------------------------------------------" @echo " make update-iso-i386 -- Create ISO image for i386 updates" @echo " make update-iso-x86_64 -- Create ISO image for x86_64 updates" @echo " make update-iso-SRPMS -- Create ISO image for SRPMS updates" @echo " make md5sums -- Create MD5SUMS of ISO image for updates" @echo " -------------------------------------------------" @echo " make get-iso-i386 -- Get ISO image for i386" @echo " make get-iso-x86_64 -- Get ISO image for x86_64" @echo " make get-extras-i386 -- Get extra RPMS packages for i386" @echo " make get-etxras-x86_64 -- Get extra RPMS packages for x86_64" @echo " make get-etxras-SRPMS -- Get SRPMS fo extra packages" @echo " make get-centosplus-i386 -- Get extra RPMS packages for i386" @echo " make get-centosplus-x86_64 -- Get extra RPMS packages for x86_64" @echo " make get-centosplus-SRPMS -- Get SRPMS fo extra packages" @echo
こう記述しておくと、引数がなく単に make とだけ実行するか、 make help と実行すると次のようなにメニューを表示するような 動作をさせることができます。
[iisaka@IisakaLaptop Linux]$ make help CentOS-Linux mirror utility ------------------------------------------------- make help -- Short help make longhelp -- Long help make setup -- Setup directory tree make clean -- Clean unused index.html ------------------------------------------------- make update -- Mirror updates make update-iso-all -- Create ISO images of updates make get-isos -- Get ISO images make get-extras -- Get extra packages
はじめにここから CentOS-mirror.mk をダウンロードして、 適当なディレクトリに保存しておきます。
次にディレクトリを作成することになりますが、 このディレクトリをリリースバージョンと同じにします。
そこに保存しておいたCentOS-mirror.mk を Makefile として コピーします。
次の実行例はCentOS-4.5のダウンロードを行うときのものです。
$ mkdir -p 4.5 $ cp /home/iisaka/util/CentOS-mirror.mk 4.5/Makefile $ cd 4.5 $ ls Makefile $ make setup $ ls Makefile centosplus/ extras/ i386/ updates/ x86_64/ $ make setup $ make get-isos
CentOSミラーサイトがリリースバージョンを ディレクトリで区別しているのを利用しています。
このMakefileは自分が置かれたディレクトリ名と同じ、 ディレクトリつまりリリースバージョンをダウンロードしますので、 ディレクトリ名を帰ることでダウンロードする対象が変わります。
つまり、同じMakefileがCentOS-4.5でもCentOS-5.1でも使えます。