
|
[バックナンバーのトップへ] [Linux システム管理のトップへ] いますぐ実践! Linux システム管理 / Vol.085 / 読者数:959名こんばんは、うすだです。 のっけから唐突ですが、/.J に、こんな記事が載っていました。
スラッシュドット ジャパン | 「早生まれ」の損得勘定
「早生まれ」は、大人になると羨ましがられたりしますが、
子どものうちは学力や体力の面で不利かもしれない、という内容の記事です。 この記事に注目してしまったのは、ご想像通り、 わたしがかなり早生まれの部類に入るからです。 子どものころから運動がすごく苦手でしたので、 直観的にそうだろうなとは思っていました。このように、 それなりに立証されると、いまさらながら励みになります。
結局、集団をひとくくりにして、せーので教えている限り、
こういう格差はなくならないんでしょうね。 それでは、今週も、はりきってまいりましょう! 今週のお題 - ファイルシステムの使用量を制限する
わたしが学生の頃、研究室の先生が、ディスクとメモリはいくらあっても足りない、
という名言をおっしゃっていました。あれから15年くらい経ちましたが、
その状況はあまり変わっていないように思います。
空いているディスクがあっても、いつの間にか誰かがファイルを置くようになり、
あっという間にいっぱいになる、ということがよくあります。 そんなことがないよう、あらかじめ各ユーザの使える容量を決めておく、 という方針を立てることは、あまり決断をしたくない選択肢ではあるものの、 けっして間違った選択ではないと思われます。 というわけで、来たるべきその日のために、今週は、 ファイルシステムの使用量を制限する方法について、ご紹介したいと思います。 ファイルシステムの使用量を制限する方法といえば、Quota です。 Quota は太古の昔からあり、設定方法などもあまり変わっていないように思います。 ここは、今のところ使う予定がなくても、記憶の奥底に刻んでおくと、 将来何かの役にたつかもしれないということで、読んでいただけますと幸いです。 さて、細かい話はすっ飛ばしまして、Quota の設定方法は、 以下のようになると思います。
この順で、設定方法をご紹介していこうと思います。 また、Quota を使用するためには、Quota を有効にしたカーネルが必要となります。 ですが、大抵のディストリビューションについてくるカーネルは、 Quota が有効になっているはずですので、確認方法などは割愛させていただきます。
ではまず、マウント時に Quota が有効になる設定をしましょう。 /dev/hda3 /home ext3 defaults 1 1 この行の defaults の後に、カンマで区切って usrquota を追加します。 /dev/hda3 /home ext3 defaults,usrquota 1 1 次に、対象のファイルシステムを、読み込み専用(read only)でマウントします。 (もしすでにそうなら、次の quotacheck へ進んでください。) もし、今現在、そのファイルシステムが、 書き込みできる状態でマウントされているなら、以下を試してみてください。 # mount -o ro,remount /home これは、今マウント中の /home を、読み込み専用でマウントし直すための実行例です。 うまくいけば、何も言われず成功しますが、誰かが使用中だったりすると、 device is busy などと言われて失敗してしまいます。 そんなときは、さくっと諦めてリブートし、 シングルユーザモードで立ち上げてください。 シングルユーザモードで立ち上げるには、リブート後のブート時のメニューで、 カーネルコマンドラインに single という一言を追加するだけです。 シングルユーザモードで立ち上がったら、 対象となるファイルシステムを読み込み専用でマウントします。 # mount -o ro /home さて、ファイルシステムを読み込み専用でマウントしたら、次は、 現在の使用状況などを、quotacheck コマンドで集計します。 # quotacheck -c /home
これにより、集計が行われ、aquota.user というファイルが作られます。
quotacheck コマンドが終了したら、マルチユーザモードに移行します。 リブートせずに、マルチユーザモードの状態で quotacheck を行った貴兄は、 手動で quotaon コマンドを実行してください。 # quotaon /home
ここまでで、Quota が有効な状態でマウントされるようになりました。 # edquota ユーザ名 と実行しますと、エディタ(たぶん vi)が起動し、 引数で指定したユーザの制限を設定できます。
Disk quotas for user ユーザ名 (uid ユーザID):
Filesystem blocks soft hard inodes soft hard
/dev/hda3 1692 0 0 9 0 0
こんな感じのテキストを、編集するように即されます。 block がキロバイト単位での容量の制限を、inode がファイル数の制限を表します。 直下にある数値が、現在の状態です。
そして、それぞれに soft と hard という制限があります。 あとは、実際にファイルを作って確認してもよいですし、 quota コマンドで確認することもできます。
# quota ユーザ名
Disk quotas for user ユーザ名 (uid ユーザID):
Filesystem blocks quota limit grace files quota limit grace
/dev/hda3 1692 2048 4096 9 0 0
以上、Quota の設定方法をご紹介しました。 今週は、とりあえず設定したよ、というところまでしかご紹介できませんでした。 来週は、もうちょっと細かい設定や、日々の管理の仕方などを、 踏み込んでご紹介したいと思います。 ですので、いきなり本番環境で、上記を試すのは、ひかえたほうがいいと思います。 逆に、こわれてもいいお試し環境をお持ちのかたは、いろいろ設定をしてみてください。 宿題の答え先週の宿題は、 USBストレージを使えなくしながら、USB機器の挿抜をメールで通知する ようにしてください。 でした。
hotplug が登録されていない場合、
hotplug と modprobe の双方に仕込むだけで済んでしまいますね。
#!/bin/sh
ORG_HOTPLUG="/sbin/hotplug"
if [ "z$1" = "zusb" -a -n "$TYPE" ]; then
/usr/bin/printenv | /usr/bin/Mail -s "usb: $ACTION" root
fi
[ -x "$ORG_HOTPLUG" ] && $ORG_HOTPLUG $*
そして、modprobe の代替品として、以下を用意します。
#!/bin/sh
ORG_MODPROBE=/sbin/modprobe
DO_MODPROBE=1
for arg in $*; do
if [ "z$arg" = "zusb-storage" ]; then
DO_MODPROBE=0
fi
done
[ -x "$ORG_MODPROBE" -a $DO_MODPROBE -gt 0 ] && $ORG_MODPROBE $*
それぞれを、sysctl などで登録してください。
これらは、以前にご紹介したことのあるスクリプトです。
hotplug が登録されている場合は、hotplug ですべてをまかないます。
#!/bin/sh
ORG_HOTPLUG="/sbin/hotplug"
DO_HOTPLUG=1
if [ "z$1" = "zusb" -a -n "$TYPE" ]; then
if [ "z$TYPE" = "z0/0/0" ]; then
CLASS=$INTERFACE
else
CLASS=$TYPE
fi
CLS=`echo $CLASS | sed "s/\([^\/]*\)\/[^\/]*\/[^\/]*/\1/"`
if [ "$CLS" = "8" ]; then
DO_HOTPLUG=0
fi
/usr/bin/printenv | /usr/bin/Mail -s "usb: $ACTION" root
fi
[ -x "$ORG_HOTPLUG" -a $DO_HOTPLUG -gt 0 ] && $ORG_HOTPLUG $*
最後から3行目で、環境変数一覧を Mail コマンドで送信しています。 わからない箇所などありましたら、以下をもう一度読んでみてください。
Vol.082 - USBポートを監視する 今週の宿題今週の宿題は、 Quota がどのようにして実現されているのか、想像してみましょう。 です。 Quota について検索したり、カーネル・ソースを解読すれば、 実現方法がわかるのではないかと思いますが、それをする前に、 どのようにして実現すればいいか、考えてみてください。 あとがき
正直に申しますと、Linux では Quota を使ったことがありません。
しかしながら、細かいところに違いはあるものの、基本的には、
ほぼ同じような設定でできてしまったのには、プチ驚きました。
そういえば、今は、パーティションを / と /boot くらいにしか分けないですが、
昔は、/ の他に、/home や /usr, /var を別々にしていました。
ああ、また長くなってしまいましたので、とくにオチもなく、
昔話だけで終わりにしたいと思います。
今週も、ここまで読んでいただき、ありがとうございました。
「いますぐ実践! Linux システム管理」の解除は、以下からできます。
バックナンバーは、こちらにほぼ全部そろっています。
「栗日記」−栗の絵を描いています。つかれたときにでも観てください。 |
▼ トップ ▼ プロフィール ▼ リンク
▼ 作ってみました
▼ せんでん
▼ 最近読んだ本 [X]
「センネン画報」 今日 マチ子「粟津潔 デザインする言葉」 粟津潔 「Binary Hacks」 高林 哲,鵜飼 文敏,佐藤 祐介,浜地 慎一郎,首藤 一幸 「Make: Volume01」 オライリー・ジャパン 「セーラが町にやってきた」 清野 由実 「手紙屋」 喜多川 泰 「Linuxカーネル2.6解読室」 高橋 浩和,小田 逸郎,山幡 為佐久 「人蕩し術」 無能 唱元 「子育てハッピーアドバイス2」 明橋 大二, 太田 知子 「ラッセル幸福論」 B. Russell 「それでも人生にイエスと言う」 Viktor Emil Frankl 「子育てハッピーアドバイス」 明橋 大二, 太田 知子 「考具」 加藤 昌治 「北欧デザイン<3>」 渡部 千春 「北斎の謎を解く」 諏訪 春雄 「体感美術館」 平野 暁臣 「チベット永遠の書」 Theodore Illion 「リナックスの革命」 Pekka Himanen 「人月の神話」 Frederick Phillips,Jr. Brooks 「ヤバい経済学」 Steven D. Levitt, Stephen J. Dubner 「小布施ッション<2001-2002>」 セーラ・マリ カミングス 「アンパンマン伝説」 やなせ たかし 「夢をかなえるゾウ」 水野 敬也 「ゲーム開発者のためのAI入門」 David M. Bourg, Glenn Seemann 「北欧デザイン<2>」 渡部 千春 「北欧デザイン<1>」 渡部 千春 「ヒューマン2.0」 渡辺 千賀 「中国・ロシア同盟がアメリカを滅ぼす日」 北野 幸伯 「超ロング・セラー 絶滅寸前商品」 湯浅 豊彦 「The BUG(ザ・バグ)」 すずき ひろのぶ,かとう みつあき 「デザインのデザイン」 原 研哉 「マキアヴェッリ語録」 塩野 七生 「ハンバーガーを待つ3分間の値段」 斎藤 由多加 「星の旅人-スペイン「奥の細道」-」 黛 まどか 「食品の裏側」 安部 司 「On Lisp」 Paul Graham 「ぼくが医者をやめた理由 つづき」 永井 明 「あなたならどうする?」 Jack Nikolaschka 「セキュアプログラミング−失敗から学ぶ設計・実装・運用・管理」 Mark G. Graff, Kenneth R. van Wyk 「「左利き」は天才?−利き手をめぐる脳と進化の謎」 David Wolman 「自分の中に毒を持て」 岡本 太郎 「アトピーの薬を減らす本」 田中 貴子 「岡本太郎「明日の神話」修復960日間の記録」 吉村 絵美留 「X51.ORG THE ODYSSEY」 佐藤 健寿 「アレルギーっ子の暮らし応援BOOK」 佐藤 のり子 「沖縄文化論」 岡本 太郎 「「伝説の社員」になれ!」 土井 英司 「コンピュータの構成と設計(上)」 Patterson & Hennessy 「カラスのジョンソン」 明川 哲也 「ドリルを売るには穴を売れ」 佐藤 義典 「頭がよくなる照明術」 結城 未来 「クロフォードのインタラクティブデザイン論」 Chris Crawford 「いじめの根を絶ち子どもを守るガイド」 Barbara Coloroso 「非常識のすすめ―逆発想の仏教論」 ひろさちや 「Linuxアドバンストネットワーク構築ガイド - HAサーバ構築編」 デージーネット 「イノベーションの達人!」 Tom Kelly, Jonathan Littman 「クリエーター50人が語る創造の原点」 小原 啓渡 「欺術 - 史上最強のハッカーが明かす禁断の技法」 Kevin Mitnick 「楽しい気象観察図鑑」 武田 康男 「入門 Ajax」 高橋 登史朗 「リリカルな自画像」 岡本 太郎 「やぎの目ゴールデンベスト」 林 雄司 「初めてのPython 第2版」 Mark Lutz,David Ascher 「鼻兎」 小林 賢太郎 「なぜ、これがアートなの?」 Amelia Arenas 「芸術起業論」 村上 隆 「まほう色の瞳」 Enrique Barrios 「ラーメンズつくるひとデコ」 ラーメンズ 「R25 つきぬけた男たち」 R25編集部 「美の呪力」 岡本 太郎 「しろのあお」 上大岡 トメ 「ザ・ゴール」 Eliyahu M. Goldratt 「ハッカーと画家」 Paul Graham 「岡本太郎に乾杯」 岡本 敏子 「Fedore Core Expert」 Software Design 「誰も知らない男」 ブルース・バートン 「子どもが育つ魔法の言葉」 ドロシー・ロー・ノルト 「国家の罠」 佐藤 優 「夜回り先生」 水谷 修 「やぎの目絵日記」 林 雄司 「7つの習慣」 スティーブン・R. コヴィー 「まろ、ん?−大掴源氏物語」 小泉 吉宏 「ザ・サーチ グーグルが世界を変えた」 ジョン・バッテル 「ポストモダン・マーケティング」 スティーブン ブラウン 「機動戦士ガンダムさん」 大和田 秀樹 「小エロのひみつ - Webやぎの目研究発表」 林 雄司 「これ、誰がデザインしたの?」 渡部千春 「60分間・企業ダントツ化プロジェクト」 神田 昌典 「ガルシアへの手紙」 エルバート ハバード 「人生は素晴らしいものだ」 オグ・マンディーノ 「ザ・マインドマップ」 トニー・ブザン,バリー・ブザン 「ワインバーグのシステム思考法」 G.M.ワインバーグ 「渋谷ではたらく社長の告白」 藤田 晋 「渋井真帆の日経新聞読みこなし隊」 渋井 真帆 「コラム息切れ」 小野 法師丸 「早朝起業」 松山 真之介 「変な人が書いた驚くほどツイてる話」 斎藤 一人 「35歳から仕事で大切にしたいこと」 村井 勉 「金融広告を読め」 吉本 佳生 「発想する会社!」 トム・ケリー,ジョナサン・リットマン 「エハイク」 吉田 戦車 「人生の旋律」 神田 昌典 「仕事の思想」 田坂 広志 「CPUの創りかた」 渡波 郁 「非常識な成功法則」 神田 昌典 …これ以前は記録してません…
▼ 気に入ってる本
| ||||||||||||||||||||||||||||||||||||||||