]
トップ «前の日記(2004-11-29) 最新 次の日記(2004-12-01)» 編集

Yukiharu YABUKI の tDiary



このtDiaryを検索します。

2004-11-30 [長年日記]

_ 天気

はれ

_ あさごはん

ササノ・ベーカリーにて,クリームパンとコーヒーを購入し,会社にて食事を取る.

_ ふう

12月3日の発表資料,一往復.hide3に,助けていただきました.

_ サプリメント

マルチビタミン,Coenzyme Q10

_ quota 昨日のつづき

結果から言うと,うまくいった.昨日からの変化のあった部分は,
  • rebootした.
  • cronが動いたcron.dailyのquotaを見た限りは変化点に入れないのがよさそう(下記のscript参照)
と考察できる. 操作記録から
Oo-build:/home/ikuya/tmp# repquota -a
*** Report for user quotas on device /dev/hda4
Block grace time: 00:00; Inode grace time: 00:00
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --       8       0       0              1     0     0       
ikuya     -- 23845756       0       0        1241815     0     0       
yabuki    --  531504       0       0           7025  7035  7045       
とりあえず,quotaが動いているのをローカル(ooo-build)側で確認
OOo-build:/home/ikuya/tmp# su - yabuki
yabuki@OOo-build:~$ cd /home/ikuya/tmp/
yabuki@OOo-build:/home/ikuya/tmp$ ls   
yabuki@OOo-build:/home/ikuya/tmp$ touch 01 02 03 04 05 06 07 08 09 09
yabuki@OOo-build:/home/ikuya/tmp$ touch 10
yabuki@OOo-build:/home/ikuya/tmp$ touch 11
hda4: warning, user file quota exceeded.
yabuki@OOo-build:/home/ikuya/tmp$ ls
01  02  03  04  05  06  07  08  09  10  11
yabuki@OOo-build:/home/ikuya/tmp$ touch 12
hda4: write failed, user file quota exceeded too long.
touch: cannot touch `12': No space left on device
yabuki@OOo-build:/home/ikuya/tmp$ 
yabuki@OOo-build:/home/ikuya/tmp$ ls
01  02  03  04  05  06  07  08  09  10  11
yabuki@OOo-build:/home/ikuya/tmp$ exit
logout
リモート側(hrestol)で quota が,効くことを確認
yab@hrestol:/home/ikuya/tmp$ ls
01  02  03  04  05  06  07  08  09  10  11
yab@hrestol:/home/ikuya/tmp$ touch 12
touch: cannot touch `12': デバイスに空き領域がありません
yab@hrestol:/home/ikuya/tmp$ quota
Disk quotas for user yab (uid 1000): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
ooo-build.exsample.com:/home/ikuya
                 531504       0       0            7036*   7035    7045    none
yab@hrestol:/home/ikuya/tmp$ 
確認
OOo-build:/home/ikuya/tmp# repquota -a
*** Report for user quotas on device /dev/hda4
Block grace time: 00:00; Inode grace time: 00:00
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --       8       0       0              1     0     0       
ikuya     -- 23845756       0       0        1241815     0     0       
yabuki    -+  531504       0       0           7036  7035  7045   none
OOo-build:/home/ikuya/tmp# 

_ quota:crontab

warnquotaは,ファイルの所有者にメールが飛ぶ.warnquota man page(http://www.linux.or.jp/JM/html/quota/man8/warnquota.8.html)cron.dailyに登録されている.超過したままだとメールが飛びっぱなしだな.nfs+quotaの場合,所有者にメールするのが良いかどうかは要検討.
#! /bin/sh
 
# check if quota package is available
test -x /usr/sbin/warnquota || exit 0
 
# check if warnquota run is configured
test -f /etc/default/quota || exit 0
. /etc/default/quota
 
if [ "$run_warnquota" = "true" ]; then
        # check if quotas are enabled
        if grep -q '^[^#]*quota' /etc/fstab; then
                /usr/sbin/warnquota
        fi      
fi
 
exit 0
/etc/defaults/quotaは
# Configuration for quota scripts
# generated from debconf on Mon Nov 29 15:16:01 JST 2004
#
# Set to "true" if warnquota should be run in cron.daily
run_warnquota="true"

_ オープンソース・プロジェクト・マネージャー

ヒヤリング終了.

_ [Debian] apt-file

Package: apt-file
Priority: optional
Section: base
Installed-Size: 88
Maintainer: Sebastien J. Gross 
Architecture: all
Version: 2.0.3-3.1
Depends: perl, gzip (>= 1.2.4), libconfigfile-perl, libapt-pkg-perl
Recommends: wget
Suggests: ssh
Filename: pool/main/a/apt-file/apt-file_2.0.3-3.1_all.deb
Size: 11084
MD5sum: 844538a20a0f5f50eed51d27d965e356
Description: APT パッケージ検索ユーティリティ - コマンドラインインターフェイス
 apt-file は、APT パッケージングシステム用のパッケージを検索するための
 コマンドラインツールです。
 .
 apt-cache と異なり、あるファイルが含まれているパッケージを探したり、
 インストールや取得をせずにパッケージの中身を一覧表示したりできます。

_ [Debian] quota: Groupによる制限

これまでのUserによる制限に加えて, groupでの制限を加える.

下記のコマンドより,uid=1000(yabuki):gid=50(staff)の制限をuserの時より厳しくしてみる.(userの時にはsoft limitまで+10の余裕; groupの時にはsoft limitまでに +5 の余裕)

OOo-build:/home/ikuya/tmp# edquota -g staff
変更前
Disk quotas for group staff (gid 50):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/hda4                         0          0          0         11       0        0
変更後
Disk quotas for group staff (gid 50):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/hda4                         0          0          0         11       5       10
で現状の確認
OOo-build:/home/ikuya/tmp# id yabuki
uid=1000(yabuki) gid=50(staff) groups=50(staff)
OOo-build:/home/ikuya/tmp# repquota -aug
*** Report for user quotas on device /dev/hda4
Block grace time: 00:00; Inode grace time: 00:00
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --       8       0       0              1     0     0       
ikuya     -- 23845756       0       0        1241815     0     0       
yabuki    -+  531504       0       0           7036  7035  7045   none
*** Report for group quotas on device /dev/hda4
Block grace time: 00:00; Inode grace time: 00:00
                        Block limits                File limits
Group           used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
staff     --       0       0       0             11     5    10       
ikuya     -- 23845756       0       0        1241815     0     0       
yabuki    --  531504       0       0           7025     0     0       
OOo-build:/home/ikuya/tmp# 
設定が反映されないので,少し悩んだ.結局/etc/init.d/quota restart;/etc/init.d/quotarpc restartをしてないだけ.すれば良い.あたりまえ.
yabuki@OOo-build:/home/ikuya/tmp$ quota -g
Disk quotas for group staff (gid 50): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/hda4       0       0       0               4       5      10        
yabuki@OOo-build:/home/ikuya/tmp$ ls
01  02  03  04
yabuki@OOo-build:/home/ikuya/tmp$ touch 05
yabuki@OOo-build:/home/ikuya/tmp$ touch 06
hda4: warning, group file quota exceeded.
yabuki@OOo-build:/home/ikuya/tmp$ touch 07
hda4: write failed, group file quota exceeded too long.
touch: cannot touch `07': No space left on device
yabuki@OOo-build:/home/ikuya/tmp$ quota -ug
Disk quotas for user yabuki (uid 1000): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/hda4  531504       0       0            7031    7035    7045        
Disk quotas for group staff (gid 50): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/hda4       0       0       0               6*      5      10    none
yabuki@OOo-build:/home/ikuya/tmp$ ls    
01  02  03  04  05  06
リモート(hrestol)から,
yab@hrestol:/home/ikuya/tmp$ quota -ug
Disk quotas for user yab (uid 1000): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
ooo-build.exsample.com:/home/ikuya
                 531504       0       0            7031    7035    7045        
Disk quotas for group yab (gid 1000): none
Disk quotas for group root (gid 0): none
Disk quotas for group adm (gid 4): none
Disk quotas for group disk (gid 6): none
Disk quotas for group cdrom (gid 24): none
Disk quotas for group floppy (gid 25): none
Disk quotas for group audio (gid 29): none
Disk quotas for group src (gid 40): none
Disk quotas for group staff (gid 50): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
ooo-build.exsample.com:/home/ikuya
                      0       0       0               6*      5      10    none
Disk quotas for group users (gid 100): none
Disk quotas for group uml-net (gid 109): none
yab@hrestol:/home/ikuya/tmp$ 

_ [Debian] quota 留意点

  • edquotaをしたら

    • /etc/init.d/quota restart
    • /etc/init.d/quotarcp restart

    でedquotaが変更した設定が読み直されるようです.

  • edquota のgraceの設定は user と group それぞれ行う必要がある

    • edquota -u -t
    • edquota -g -t

    edquota -u -t などで 1seconds を設定すると grace が none になるのは(?) まだ良く解りません.また別途調べて,テストが必要です.

  • /etc/fstabに,usrquotaやgroupquotaを設定してmount pointにquota.user,quota.groupを設定した場合,落さずに再マウントするには mount -o remount
  • といいつつも,reboot しても良い時に作業するのが良い

_ [OpenOffice.org] う,ooImpress

私の環境で, スライドショーの実行(F9)のサイズが 画面一杯にならない.1024x768 なのだが,800x600 程度の大きさである.なにが関係しているのだろう.ほかのooImpressだとまともだといことなので,私のマシンがダメらしい.orz

_ [Debian] quotatool

大量のユーザーや動いているときには,こっちの方が楽?試してみないとなんとも Webは,(http://quotatool.ekenberg.se/) です.
Usage
=====
   quotatool [options ... filesystem
   quotatool -u | -g  -t time -i | -r filesystem
 
The actual arguments accepted depends on your system.  Solaris,
for example, doesn't support group quotas, so the -g option is
useless.   If your getopt() doesn't support optional arguments,
then you always need to pass an argument to -u and -g.
 
 
Options
=======
   -b      set block limits
   -i      set inode limits
 
   -q n    set soft limit to n blocks/inodes
   -l n    set hard limit to n blocks/inodes
 
   quotatool accepts the units Mb, Kb, bytes and blocks
   to modify limit arguments. See examples below.
 
   -t      time set global grace period to time.
           The time parameter consists of an optional
           '+' or '-' modifier, a  number, and one of: 
           'sec', 'min', 'hour', 'day', 'week', and 
           'month'.  If a +/- modifier is present, the
           current quota will be increased/reduced by
           the amount specified
 
   -r      restart grace period for uid or gid
 
   -h      print a usage message
 
   -v      verbose mode -- print status messages during execution
           use this twice for even more information
 
   -n      do everything except set the quota.  useful with -v
           to see what is supposed to happen
  
   -V      show version
 
Examples
========
 
Set soft block limit to 15MB, hard block limit to 20MB for user mpg4 on /home:
 
   quotatool -u mpg4 -bq 15M -l "20 Mb" /home
 
Set hard inode limit to 2000 for user johan on /var:
 
   quotatool -u johan -i -l 2000 /var
 
Set the global block grace period to one week on /home:
 
   quotatool -u  -b -t "1 week" /home
   
Restart inode grace period for user johan on root filesystem:
 
   quotatool -u johan -i -r /
 
Platforms and Filesystems
=========================
 
quotatool currently builds and works well on:
-- Linux --
Both old and new quota formats. 
ext2, ext3, ReiserFS and XFS supported

_

(http://www.atmarkit.co.jp/flinux/rensai/linuxtips/076quota.html)
 quotaを運用する場合、定期的にディスクの使用状況を調べて、quotaのデータベースを更新しなければならない。その作業を行うのがquotacheckコマンドだ。quotacheckはシステム起動時に実行されるが、24時間運用されるサーバーの場合は、cronで定期的に実行する必要がある(cronについてはプログラムを定期的に実行するには参照)。その場合は、-aオプションを付けてquotacheckコマンドを実行する。
Debianの/etc/cron*(cron.d, cron.hourly, cron.daily, cron.weekly, cron.monthly)を確認したところ,上記のようなscriptはなかった.ちなみにquotaがonの状態ではcheckquota -aコマンドは,下記のような出力を出して実行されない.
OOo-build:/home/ikuya/tmp# quotacheck -a
quotacheck: Cannot remount filesystem mounted on /home read-only so counted values might not be right.
Please stop all programs writing to filesystem or use -m flag to force checking.
ちゅうことで,quotaoffしている状態でcheckquota -aを実行させる必要がある.が,そもそもquotaのデータベースって毎日更新せんといかんの? (lvmやパーティションを動かすソフトを使って)ディスク容量や(tune2fsで)i-nodeが増減したときで良いのではないかと疑問を持ってしまった.
yabuki@OOo-build:/home/ikuya/tmp$ touch 01
yabuki@OOo-build:/home/ikuya/tmp$ quota -ug
Disk quotas for user yabuki (uid 1000): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/hda4  531504       0       0            7026    7035    7045        
Disk quotas for group staff (gid 50): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/hda4       0       0       0               1       5      10        
yabuki@OOo-build:/home/ikuya/tmp$ rm 01
yabuki@OOo-build:/home/ikuya/tmp$ quota -ug
Disk quotas for user yabuki (uid 1000): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/hda4  531504       0       0            7025    7035    7045        
Disk quotas for group staff (gid 50): none
yabuki@OOo-build:/home/ikuya/tmp$ touch 01 02
yabuki@OOo-build:/home/ikuya/tmp$ quota -ug
Disk quotas for user yabuki (uid 1000): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/hda4  531504       0       0            7027    7035    7045        
Disk quotas for group staff (gid 50): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/hda4       0       0       0               2       5      10        
上記のようにファイルを生成や削除しても,追従しているように見える.下記のようにrootで削除しても,同様
OOo-build:/home/ikuya/tmp# repquota -ug -a
*** Report for user quotas on device /dev/hda4
Block grace time: 00:00; Inode grace time: 00:00
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
ikuya     -- 23845756       0       0        1241815     0     0       
yabuki    --  531504       0       0           7027  7035  7045       
*** Report for group quotas on device /dev/hda4
Block grace time: 00:00; Inode grace time: 00:00
                        Block limits                File limits
Group           used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
staff     --       0       0       0              2     5    10       
ikuya     -- 23845756       0       0        1241815     0     0       
yabuki    --  531504       0       0           7025     0     0       
OOo-build:/home/ikuya/tmp# ls
01  02
OOo-build:/home/ikuya/tmp# rm 02 01
OOo-build:/home/ikuya/tmp# repquota -ug -a
*** Report for user quotas on device /dev/hda4
Block grace time: 00:00; Inode grace time: 00:00
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
ikuya     -- 23845756       0       0        1241815     0     0       
yabuki    --  531504       0       0           7025  7035  7045       
*** Report for group quotas on device /dev/hda4
Block grace time: 00:00; Inode grace time: 00:00
                        Block limits                File limits
Group           used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
ikuya     -- 23845756       0       0        1241815     0     0       
yabuki    --  531504       0       0           7025     0     0       
OOo-build:/home/ikuya/tmp#