本番サーバー用の大文字と小文字を区別しないファイルシステム


10

最初の状況は次のようになります。

  • コーポレートソフトウェアはPHPベースです。
  • Windows 2003 Server上のApache 2によって提供されます。
  • それは大きな
  • これは、大文字と小文字の区別やディレクトリの区切り記号を気にしなかった、かなり専門家ではない開発者の遺産です。

望ましい状況は次のようになります。

  • すべてはまだ決定されていない味のLinuxディストリビューションの下でApache 2に移行しました。

問題:

  • 大文字と小文字を区別したり、ディレクトリの区切り文字を気にしたりせずに、膨大な数のコード。

私はすでにいくつかの調査を行いましたが、残念ながら実稼働環境にも適したものは何も見つかりませんでした。CIOPFS見栄えは良いですが、運用システムでは使用しないことを明示的に意図しています。mod_spellingApacheがオプションになると思いますか?私にとってまだ未解決の問題は、PHPがそのモジュールの助けを借りて、または直接(それが役に立たなくなる)ファイルにアクセスする場合です。

苦い薬を飲み込んですべてのコードを確認する必要がありますか?現在のソフトウェア環境を少しずつ新しいビルドのものに置き換えるので、それは避けたいです(長期的に)。


別の可能性はmod_rewrite、新しいサーバーを介してレガシーアプリケーション(古い設定にある)のプロキシ()を作成し、このようにパーツを置き換えることです...たぶん。
sr_

LinuxではなくOS Xでホストします。UNIX環境はそのままですが、大文字と小文字を区別しないファイルシステムもそのまま使用できます。
ラスク

@sr_それは仕事をすることができました。ただし、大規模なオンラインショップシステムを実行しているため、既に十分なトラフィックが発生しているため、少なくとも2倍になります(ネットワークの内部と外部のどちらでもかまいません)。私が理解する限りでは。
Peter

@larsks私はビジネスにOS Xを奨励していますが、大規模なWebサーバーとしての未来があるとはもう思っていません。また、当社はオープンソースソフトウェアの使用を奨励しており、可能な限りプラットフォームに依存しないように努めています。
Peter

ただ更新:apacheモジュールは悲しいことに、HTTPリクエストの場合にのみ呼び出されるので、PHPのinclude関数がファイルに直接アクセスするため、ジョブを実行していません。下記のサンバアプローチを試してみましょう。
Peter

回答:


3

ubuntuforumsの私の投稿をご覧ください。

http://ubuntuforums.org/showthread.php?t=1497253

仮想ディスクを作成する

dd if=/dev/zero of=virtual.dsk bs=1048576 count=150

フォーマットする

mkfs.vfat virtual.dsk

マウント

sudo mkdir -p /mnt/vfat
sudo mount virtual.dsk /mnt/vfat -t vfat -o loop

PS:永続的にマウント:

/path/to/virtual.dsk /mnt/vfat vfat loop,owner,group,umask=000 0 0

ここに追加情報とともに:http : //fatter-keine.dk/helptipsguides/ubuntu/understanding_fstab.html


3

ZFSとJFSはどちらも、大文字と小文字を区別しないように構成できます。

zfs create -o casesensitivity=insensitive filesystem

jfs_mkfs -O /dev/sdax

編集(7年後):

@JorgeYanesDiezがコメントしたように、Linuxカーネルは、バージョン5.2とefsprogs 1.45以降、ディレクトリごとにオプションの大文字小文字を区別しない ext4を追加しました。

Linus Torvaldsはこの機能強く反対していることに注意してください。


1
2020年にこれを検討している人のために、ext4はcaseFoldサポートを追加しました。Linuxカーネル5.2およびe2fsprogs 1.45以降が必要です。chattr + Fを探します
Jorge

2

Sambaを使用して、大文字と小文字を区別しない方法でローカルファイルシステムを共有できます... この記事にはいくつかの詳細があります。


2
これは完全に異常ですが、IMOは他のすべてのオプションの中で最も異常ではありません。
jgoldschrafe

@larsksありがとうございます。詳しく調べて、動作を確認します。
Peter

@larsks記事をフォローしていくつかのバリエーションを試しましたが、残念ながらうまくいきませんでした。ありがとう、結構です。他の代替手段は時間がかかりすぎるように見えるので、大文字と小文字を区別するファイルシステムではないすべてのものを書き換えることにした。
ピーター

1

他のfsに対して大文字と小文字を区別しない独自のヒューズラッパーを記述しますか?一部のpythonコードを使用すると、これをすばやく実行できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.