We have an application that was build on a windows platform that expects a case insensitive file system. Is there a way to set one up in CentOS? NTFS should work, I think, but I feel uneasy using that under Linux.
Russ
FAT32 may work too if you don't need large files.
I just tried NTFS-3G on a thumbdrive, and I was able to create a file that differed only by case from another. Then something got corrupted.
On Apr 29, 2008, at 6:50 PM, Ruslan Sivak wrote:
We have an application that was build on a windows platform that expects a case insensitive file system. Is there a way to set one up in CentOS? NTFS should work, I think, but I feel uneasy using that under Linux.
Russ _______________________________________________ CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
Hi Kevin,
Kevin Krieser <k_krieser@...> writes:
I just tried NTFS-3G on a thumbdrive, and I was able to create a file that differed only by case from another. Then something got corrupted.
Could you please elaborate what you did and what kind of corruption happened?
We are doing very exhaustive testing (http://ntfs-3g.org/quality.html) before all public driver releases and we're not aware of any corruption problem, nor we have been reported using the latest driver, version 1.2412.
The only issue I can imagine is if the thumbdrive wasn't properly unmounted before removal. This can cause I/O errors like described at http://ntfs-3g.org/support.html#ioerror
NTFS is case preserving and case sensitive in the NTFS POSIX filename space what NTFS-3G uses. This may confuse some Windows applications but unfortunately there isn't anything we could do about it, because exactly the same thing happen when one uses the Microsoft NTFS driver to do the same. No difference. More at http://ntfs-3g.org/support.html#posixfilenames1
Regards, Szaka
-- NTFS-3G Lead Developer: http://ntfs-3g.org
I can't think of anything I did special other than using force because I hadn't done a Safely Remove device on Windows last time.
I plan to try some experimentation again.
I had previously successfully copied many gigabytes of files from an NTFS USB hard drive during the same boot without issues.
On Apr 30, 2008, at 12:07 PM, Szabolcs Szakacsits wrote:
Hi Kevin,
Kevin Krieser <k_krieser@...> writes:
I just tried NTFS-3G on a thumbdrive, and I was able to create a file that differed only by case from another. Then something got corrupted.
Could you please elaborate what you did and what kind of corruption happened?
We are doing very exhaustive testing (http://ntfs-3g.org/ quality.html) before all public driver releases and we're not aware of any corruption problem, nor we have been reported using the latest driver, version 1.2412.
The only issue I can imagine is if the thumbdrive wasn't properly unmounted before removal. This can cause I/O errors like described at http://ntfs-3g.org/support.html#ioerror
NTFS is case preserving and case sensitive in the NTFS POSIX filename space what NTFS-3G uses. This may confuse some Windows applications but unfortunately there isn't anything we could do about it, because exactly the same thing happen when one uses the Microsoft NTFS driver to do the same. No difference. More at http://ntfs-3g.org/support.html#posixfilenames1
Regards, Szaka
-- NTFS-3G Lead Developer: http://ntfs-3g.org
CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
Kevin Krieser <k_krieser@...> writes:
I can't think of anything I did special other than using force because I hadn't done a Safely Remove device on Windows last time.
The 'force' mount option can indeed cause corruption. From the ntfs-3g manual:
force Force the mounting even if the NTFS logfile is unclean. The logfile will be unconditionally cleared. Use this option with caution and for your own responsibility.
Though not necessarily this was the real reason but not using the 'Safely Remove' on Windows. Typically the manual of an external hard disk also warns about this.
In fact, one can even lose data due to Windows bugs if things are done correctly, as for instance this Microsoft article describes: http://support.microsoft.com/kb/940508
Regards, Szaka
-- NTFS-3G: http://ntfs-3g.org
Ruslan Sivak wrote:
We have an application that was build on a windows platform that expects a case insensitive file system. Is there a way to set one up in CentOS? NTFS should work, I think, but I feel uneasy using that under Linux.
NTFS is not whats case insensitive, its WINDOWS thats case insensitive.
you'll need to fix that application to either use all monocase names or to be self-consistent enough to run properly on a case sensitive system.
John R Pierce wrote:
Ruslan Sivak wrote:
We have an application that was build on a windows platform that expects a case insensitive file system. Is there a way to set one up in CentOS? NTFS should work, I think, but I feel uneasy using that under Linux.
NTFS is not whats case insensitive, its WINDOWS thats case insensitive.
you'll need to fix that application to either use all monocase names or to be self-consistent enough to run properly on a case sensitive system.
I will look into fixing the application, but it may not be possible. There must be a filesystem that I can use. Mac's have HFS+ which can be case insensitive. Aren't Macs pretty much Linux? Isn't there a similar filesystem availalbe for linux? I wouldn't run the whole system on it, just the portion that hosts the app.
Russ
On Wed, Apr 30, 2008 at 10:07 AM, Ruslan Sivak russ@vshift.com wrote: Does the entire filesystem need to be case insensitive, or is this a web based product, where you can do some apache rewrite-fu to make this work instead?
Jim Perrin wrote:
On Wed, Apr 30, 2008 at 10:07 AM, Ruslan Sivak russ@vshift.com wrote: Does the entire filesystem need to be case insensitive, or is this a web based product, where you can do some apache rewrite-fu to make this work instead?
It is a web based product, but I'm not sure rewriterules would help. Lets say it's something like this
http://www.domain.com/index.php?action=foo
And inside index.php it does something like
<? include($_GET['page'].".php") ?>
This is a gross simplification, but it's my understanding that if the file was named 'foo.php' and someone typed in
http://www.domain.com/index.php?action=Foo
It would still work on windows, but not on linux because of case sensitivity.
Russ
Ruslan Sivak wrote:
Jim Perrin wrote:
On Wed, Apr 30, 2008 at 10:07 AM, Ruslan Sivak russ@vshift.com wrote: Does the entire filesystem need to be case insensitive, or is this a web based product, where you can do some apache rewrite-fu to make this work instead?
It is a web based product, but I'm not sure rewriterules would help. Lets say it's something like this
http://www.domain.com/index.php?action=foo
And inside index.php it does something like
<? include($_GET['page'].".php") ?>
This is a gross simplification, but it's my understanding that if the file was named 'foo.php' and someone typed in
http://www.domain.com/index.php?action=Foo
It would still work on windows, but not on linux because of case sensitivity.
Is this a php based app then?
You could look at storing your files in mysql which could be made to be case insensitive and then you could full text index them quicker and easier as well as preserve this functionality across platforms.
-Ross
______________________________________________________________________ This e-mail, and any attachments thereto, is intended only for use by the addressee(s) named herein and may contain legally privileged and/or confidential information. If you are not the intended recipient of this e-mail, you are hereby notified that any dissemination, distribution or copying of this e-mail, and any attachments thereto, is strictly prohibited. If you have received this e-mail in error, please immediately notify the sender and permanently delete the original and any copy or printout thereof.
On Wednesday 30 April 2008 07:29:25 am Ruslan Sivak wrote:
Jim Perrin wrote:
On Wed, Apr 30, 2008 at 10:07 AM, Ruslan Sivak russ@vshift.com wrote: Does the entire filesystem need to be case insensitive, or is this a web based product, where you can do some apache rewrite-fu to make this work instead?
It is a web based product, but I'm not sure rewriterules would help. Lets say it's something like this
http://www.domain.com/index.php?action=foo
And inside index.php it does something like
<? include($_GET['page'].".php") ?>
This is a gross simplification, but it's my understanding that if the file was named 'foo.php' and someone typed in
http://www.domain.com/index.php?action=Foo
It would still work on windows, but not on linux because of case sensitivity.
there is always strtolower and strtoupper, since you are using PHP.
Steve
Steven R. Ringwald wrote:
On Wednesday 30 April 2008 07:29:25 am Ruslan Sivak wrote:
Jim Perrin wrote:
On Wed, Apr 30, 2008 at 10:07 AM, Ruslan Sivak russ@vshift.com wrote: Does the entire filesystem need to be case insensitive, or is this a web based product, where you can do some apache rewrite-fu to make this work instead?
It is a web based product, but I'm not sure rewriterules would help. Lets say it's something like this
http://www.domain.com/index.php?action=foo
And inside index.php it does something like
<? include($_GET['page'].".php") ?>
This is a gross simplification, but it's my understanding that if the file was named 'foo.php' and someone typed in
http://www.domain.com/index.php?action=Foo
It would still work on windows, but not on linux because of case sensitivity.
there is always strtolower and strtoupper, since you are using PHP.
Steve
I'm not using PHP, this was just an example. I am considering using something like strtolower, but then I would have to have all the included files in lowercase, and I believe they are in camelcase now.
Russ
On Wednesday 30 April 2008 07:49:14 am Ruslan Sivak wrote:
<? include($_GET['page'].".php") ?>
This is a gross simplification, but it's my understanding that if the file was named 'foo.php' and someone typed in
http://www.domain.com/index.php?action=Foo
It would still work on windows, but not on linux because of case sensitivity.
there is always strtolower and strtoupper, since you are using PHP.
I'm not using PHP, this was just an example. I am considering using something like strtolower, but then I would have to have all the included files in lowercase, and I believe they are in camelcase now.
Hm... This little shell scriptlet might help (change the *.php to whatever extension you are using)
for i in `ls *.php`; do orig=$i; new=`echo $i | tr [A-Z] [a-z]`; mv $orig $new; done
Ruslan Sivak wrote:
Jim Perrin wrote:
On Wed, Apr 30, 2008 at 10:07 AM, Ruslan Sivak russ@vshift.com wrote: Does the entire filesystem need to be case insensitive, or is this a web based product, where you can do some apache rewrite-fu to make this work instead?
It is a web based product, but I'm not sure rewriterules would help. Lets say it's something like this
http://www.domain.com/index.php?action=foo
And inside index.php it does something like
<? include($_GET['page'].".php") ?>
This is a gross simplification, but it's my understanding that if the file was named 'foo.php' and someone typed in
http://www.domain.com/index.php?action=Foo
It would still work on windows, but not on linux because of case sensitivity.
How do the files get there? I'd probably use a brute force approach like lowercasing everything on the way in, or if case needs to be preserved store the real files in one place but build a symlink tree somewhere else of all-lowercase names pointing to the real file, then lowercase the reference and access the name in the symlink directory.
If you absolutely have to do it through the filesystem, I think you could samba-mount a directory (perhaps even shared from the same machine) with the case insensitive option.
Les Mikesell wrote:
Ruslan Sivak wrote:
Jim Perrin wrote:
On Wed, Apr 30, 2008 at 10:07 AM, Ruslan Sivak russ@vshift.com wrote: Does the entire filesystem need to be case insensitive, or is this a web based product, where you can do some apache rewrite-fu to make this work instead?
It is a web based product, but I'm not sure rewriterules would help. Lets say it's something like this
http://www.domain.com/index.php?action=foo
And inside index.php it does something like
<? include($_GET['page'].".php") ?>
This is a gross simplification, but it's my understanding that if the file was named 'foo.php' and someone typed in
http://www.domain.com/index.php?action=Foo
It would still work on windows, but not on linux because of case sensitivity.
How do the files get there? I'd probably use a brute force approach like lowercasing everything on the way in, or if case needs to be preserved store the real files in one place but build a symlink tree somewhere else of all-lowercase names pointing to the real file, then lowercase the reference and access the name in the symlink directory.
If you absolutely have to do it through the filesystem, I think you could samba-mount a directory (perhaps even shared from the same machine) with the case insensitive option.
The files get there through the web app itself. I will look into how hard it is to lowercase everything, but can't I just use something like vfat? Isn't vfat case insensitive?
Russ
case insensitive on purpose filesystem:
http://www.brain-dump.org/projects/ciopfs/
On Wed, 2008-04-30 at 10:12 -0500, Les Mikesell wrote:
Ruslan Sivak wrote:
Jim Perrin wrote:
On Wed, Apr 30, 2008 at 10:07 AM, Ruslan Sivak russ@vshift.com wrote: Does the entire filesystem need to be case insensitive, or is this a web based product, where you can do some apache rewrite-fu to make this work instead?
It is a web based product, but I'm not sure rewriterules would help. Lets say it's something like this
http://www.domain.com/index.php?action=foo
And inside index.php it does something like
<? include($_GET['page'].".php") ?>
This is a gross simplification, but it's my understanding that if the file was named 'foo.php' and someone typed in
http://www.domain.com/index.php?action=Foo
It would still work on windows, but not on linux because of case sensitivity.
How do the files get there? I'd probably use a brute force approach like lowercasing everything on the way in, or if case needs to be preserved store the real files in one place but build a symlink tree somewhere else of all-lowercase names pointing to the real file, then lowercase the reference and access the name in the symlink directory.
If you absolutely have to do it through the filesystem, I think you could samba-mount a directory (perhaps even shared from the same machine) with the case insensitive option.
Yes samba will give you this option. Then you are looking at a performance hit. "case sensitive = True"
Ruslan Sivak wrote on Wed, 30 Apr 2008 10:29:25 -0400:
And inside index.php it does something like
<? include($_GET['page'].".php") ?>
This is a gross simplification, but it's my understanding that if the file was named 'foo.php' and someone typed in
did you mean page=Foo ?
I hope that was really just an example. If you take that input unchecked and include other files with it your security is non-existant.
It would still work on windows, but not on linux because of case sensitivity.
Simple: downcase all variable input that you need for further processing.
If it's not external input, but your application simply does not differentiate between cases and sometimes includes "Somepage.php" and sometimes" somepage.php" that is really bad programming and it's also easily solved by a find/replace. Nothing big.
Kai
Ruslan Sivak wrote:
John R Pierce wrote:
Ruslan Sivak wrote:
We have an application that was build on a windows platform that expects a case insensitive file system. Is there a way to set one up in CentOS? NTFS should work, I think, but I feel uneasy using that under Linux.
NTFS is not whats case insensitive, its WINDOWS thats case insensitive.
you'll need to fix that application to either use all monocase names or to be self-consistent enough to run properly on a case sensitive system.
I will look into fixing the application, but it may not be possible. There must be a filesystem that I can use. Mac's have HFS+ which can be case insensitive. Aren't Macs pretty much Linux? Isn't there a similar filesystem availalbe for linux? I wouldn't run the whole system on it, just the portion that hosts the app.
http://www.brain-dump.org/projects/ciopfs/
on 4-30-2008 7:07 AM Ruslan Sivak spake the following:
John R Pierce wrote:
Ruslan Sivak wrote:
We have an application that was build on a windows platform that expects a case insensitive file system. Is there a way to set one up in CentOS? NTFS should work, I think, but I feel uneasy using that under Linux.
NTFS is not whats case insensitive, its WINDOWS thats case insensitive.
you'll need to fix that application to either use all monocase names or to be self-consistent enough to run properly on a case sensitive system.
I will look into fixing the application, but it may not be possible. There must be a filesystem that I can use. Mac's have HFS+ which can be case insensitive. Aren't Macs pretty much Linux? Isn't there a similar filesystem availalbe for linux? I wouldn't run the whole system on it, just the portion that hosts the app.
Russ
I think that it is the OS that is case sensitive or not, not the filesystem. Posix systems are case sensitive, and since Windows isn't a posix system it doesn't have to be.