実践Linux
CentOS5/6.5        CentOS5/6.5 目次へ  TOP(HOME)へ


特定ディレクトリに容量制限   2015年6月

/var/www/html/upload-download/filesディレクトリに1Gの容量制限をかけてみます。
指定サイズの仮想ディスクを作成し、サイズ制限をかけたいディレクトリに作成した仮想ディスクをマウントしてしまうという方法です。(後述「ループバック・デバイス」参照)

@指定サイズの仮想ディスクを作成する。1GBの領域、「files.fs」を確保します。
# dd if=/dev/zero of=/var/www/html/upload-download/files.fs bs=1M count=1024
1M×1024のサイズが確保されます。

A仮想ディスクをフォーマットする。
# mke2fs -t ext4 /var/www/html/upload-download/files.fs (# mkfs.ext4 /var/www/html/upload-download/files.fs)

Bフォーマットした仮想ディスクをサイズ制限をかけたいディレクトリにマウントする。
/var/www/html/upload-download/filesディレクトリがない場合は、作成しておきます。
# mkdir /var/www/html/upload-download/files
マウント
# mount -o loop -t ext4 /var/www/html/upload-download/files.fs /var/www/html/upload-download/files

起動時に自動的にマウントする
# vi /etc/fstab
/var/www/html/upload-download/files.fs /var/www/html/upload-download/files ext4 defaults,loop 0 0
あるいは、etc/rc.d/rc.localファイルに、Bの内容を記述しておく。

/var/www/html/upload-download/filesのアクセス権設定(アップロード用ディレクトリにする場合)
一般ユーザーが読み書き出来る様、アクセス権を与えます。
また、selinuxの設定の確認が必要です。selinuxコンテキストを「すべてのhttpdスクリプトデーモンからの読み取り」にします。


以下は参考文献です。
##################################################
ddについて
ファイルシステム等のデータに直接アクセスを行い、コピーや変換を行う。外部記憶装置(フロッピーなど)との間でのコピーもできる。
ddの主な機能は指定されたバイト数もしくはブロック数のデータのコピーであり、この機能は、ハードディスク(全体もしくはパーティション単位、またはブートセクター等)のバックアップや、/dev/zeroや/dev/randomを用いて指定された領域を完全消去するために利用される。

入出力を指定するオプション
if=[file] : 標準入力の代わりに、ファイル file から読み込む
of=[file] : 標準出力の代わりに、ファイル file へ書き出す

コピーするサイズを指定するオプション
count=[blocks] : ibs バイトのブロック blocks 個分だけ入力ファイルをコピーする

読み書きの開始位置を指定するオプション
skip=[blocks] : ibs バイトのブロック blocks 個分だけ入力ファイルの先頭をスキップする
seek=[blocks] : 出力の先頭にある obs バイトのブロック blocks 個分を書き出さない

1回の読み書きのデータサイズを指定するオプション
bs=[bytes] : 一 度に bytes バイトずつ読み込みと書き出しをする
ibs=[bytes] : 一度に bytes バイトずつ読み込む。デフォルトは 512
obs=[bytes] : 一度に bytes バイトずつ書き出す。デフォルトは 512

オンザフライのデータ変換を指定するオプション
conv=[CONVERSION]
noerror : 読み込みエラーが発生しても継続する
sync : 入力ブロックサイズがibsに指定されていないバイト数に満たないとき、パディングを行う

使用例
ハードディスク上のパーティションを、別のディスクにコピーする
dd if=/dev/sda2 of=/dev/sdb2 bs=4096 conv=notrunc,noerror

ハードディスク全体を完全消去する
dd if=/dev/urandom of=/dev/hda

CDをiso仮想イメージファイルに変換する
dd if=/dev/cdrom of=/home/sam/myCD.iso bs=2048 conv=sync,notrunc

ハードディスクのMBRをバックアップする
dd if=/dev/sda of=/home/sam/MBR.image bs=446 count=1

フロッピーからfileに512個分の入力ブロックだけコピーする
dd if=/dev/fd0 of=file count=512

##################################################
ループバック・デバイス
一般的なファイルを,あたかもハード・ディスクなどのブロック型デバイスであるかのように扱うための機能です。パソコン上でイメージ・ファイルを直接操作したい場合などに使います。「ループ・デバイス」とも呼ばれます。
 例えば,ハード・ディスクのイメージ・ファイル(ディスク・イメージ)を任意のディレクトリにマウントするだけで,イメージ・ファイル内にある個別のファイルの保存・参照・削除,ディレクトリの作成・削除,ファイルやディレクトリに対するアクセス権限の設定や変更など,通常のファイルと同様の操作が行えます。

ループバック・デバイスを利用する例
まず,ddコマンドを用いて,ディスク・イメージをファイルとして作成します。
次に,ext3などのファイル・システムで利用されている形式で,作成したファイルをフォーマットします。
最後に,ループバック・デバイスとしてマウントするためのオプション「-o loop」と,フォーマットした形式を指定するオプション「-t 〈形式〉」を付けて,mountコマンドでファイルを任意のディレクトリにマウントします。
以上の手順で,作成したファイルがディレクトリにマウントされ,通常のパーティションと同様にアクセスできるようになります。書き込んだ内容はファイルにイメージとして保存されます。



TOP(HOME)へ

目 次

特別企画
Raspberry Piで遊ぶ

HOME(全体のシステム構成&目次)

CentOS7
CentOS7のインストール〜ネットワークの設定ほか
CentOS7の新機能(systemdとfirewalld)
ダイレクトルールを使ったfirewallの強化
DNS(BIND)サーバー
Webサーバー
  Webでファイルの受け渡し
  アクセス解析ツールAwstats
  Wordpressでブログ構築
  EC-CUBEショッピングサイト構築
FTPサーバー
FTPS(FTP over SSL/TLS)
Mail(Dovecot&Postfix)サーバー
Sambaサーバー
MariaDB(MySQL)サーバー
DHCPサーバー
SSHサーバー
VNCサーバー
ストリーミングサーバーRed5
ドメインの追加

CentOS5〜6
ネットワーク&ファイアウォール(iptables)
DNS(BIND)サーバー
DHCPサーバー
メールサーバー(基本)
メールサーバー/実際の運用
Webサーバー
  WebDAVによるファイル共有
  Webでファイルのやり取り
  アクセス解析ツールawstats
  namazuで全文検索
  WordPressブログサイト構築
  EC-CUBEショッピングサイト構築
FTPサーバー
ファイルサーバー・Samba
データベースpostgreSQL
  ExcelからpostgreSQLを操作
データベースMySQL
SSHサーバー
VNC
SSL/TLSを利用した暗号化通信
openVPN
ストリーミングサーバー
    C++ RTMP Server
    Helix server Basic
ドメインの追加
Xen・仮想化
特定ディレクトリに容量制限

SELinux
SELinux基本設定
audit2allowを使い問題の解決
新しいタイプとポリシー・モジュールを作成してみる
マクロを利用したteファイルの記述
新しいドメインを導入してみる

coLinux
Fedora11で試す

Cプログラミング目次
X11プログラム
サイエンス・プログラム

計測・プログラム
秋月電子のデーターロガーpico ADC-16
「今すぐ使えるパソコン計測USBマイコン基板」に付属のTRZ1102
センサーの使用例

Glade2/GTK+を使ってみる
テキスト・ビューで簡易エディター
ドローイングエリアで自動描画
放物線運動(pango、cairoも試してみる)
これらを、GTK+のみで書き出す

フォントについて
ネットワーク・プログラミング
postgreSQL接続
CGI
ファイル操作

●その他
印刷機関連開発 刷版絵柄面積率測定
数独をExcelで解く