संपादित करें: मैं इस धागे के बारे में पूरी तरह से भूल गया। यह पता चला है कि मेरे पास एक खराब हार्ड डिस्क थी। हमें इस सर्वर को अन्य जरूरतों के लिए फिर से तैयार करना था, इसलिए मैं अंत में एक खराब डिस्क की जगह ले पाया और हम व्यापार में वापस आ गए।
अब कुछ हफ्तों के लिए मैं यह पता नहीं लगा सका कि मैं इस एक विशेष फ़ाइल को हटाने में सक्षम क्यों नहीं था। रूट के रूप में मैं कर सकता हूं, लेकिन मेरी शेल स्क्रिप्ट एक अलग उपयोगकर्ता के रूप में चलती है। तो मैं ls -la चला जाता हूं और यह वहां नहीं है। हालांकि, अगर मैं इसे एक पैरामीटर के रूप में कहता हूं, तो यह दिखाता है! निश्चित रूप से पर्याप्त है, स्वामी जड़ है, इसलिए मैं हटाने में सक्षम नहीं हूं।
नोटिस, 6535 गायब है ...
[root@server]# ls -la 653*
-rw-rw-r-- 1 svn svn 24002 Mar 26 01:00 653
-rw-rw-r-- 1 svn svn 7114 Mar 26 01:01 6530
-rw-rw-r-- 1 svn svn 8653 Mar 26 01:01 6531
-rw-rw-r-- 1 svn svn 6836 Mar 26 01:01 6532
-rw-rw-r-- 1 svn svn 3308 Mar 26 01:01 6533
-rw-rw-r-- 1 svn svn 3918 Mar 26 01:01 6534
-rw-rw-r-- 1 svn svn 3237 Mar 26 01:01 6536
-rw-rw-r-- 1 svn svn 3195 Mar 26 01:01 6537
-rw-rw-r-- 1 svn svn 27725 Mar 26 01:01 6538
-rw-rw-r-- 1 svn svn 263473 Mar 26 01:01 6539
अब यह दिखाता है कि क्या आप इसे सीधे कहते हैं।
[root@server]# ls -la 6535
-rw-rw-r-- 1 root root 3486 Mar 26 01:01 6535
यहाँ कुछ दिलचस्प है। इसलिए मैंने इस मुद्दे को पकड़ लिया क्योंकि मेरी शेल स्क्रिप्ट में, यह हटाने में विफल होगा क्योंकि 6535 रूट के स्वामित्व में है। "Rm -rf" चलाने के बाद फ़ाइल वास्तव में दिखाई देती है। मैंने इसे पहले ही आज़मा लिया था और निर्देशिका को हटाने में विफल रहा क्योंकि उसने मुझे बताया कि निर्देशिका खाली नहीं है। मैं अंदर गया और देखा और निश्चित रूप से पर्याप्त था, "6535" फ़ाइल अंत में दिखाती है। पता नहीं यह ऐसा क्यों कर रहा है।
स्ट्रेस निम्नलिखित कहता है
#strace ls -la 653* 2>&1 | grep ^open
open("/etc/ld.so.cache", O_RDONLY) = 3
open("/lib64/tls/librt.so.1", O_RDONLY) = 3
open("/lib64/libacl.so.1", O_RDONLY) = 3
open("/lib64/libselinux.so.1", O_RDONLY) = 3
open("/lib64/tls/libc.so.6", O_RDONLY) = 3
open("/lib64/tls/libpthread.so.0", O_RDONLY) = 3
open("/lib64/libattr.so.1", O_RDONLY) = 3
open("/etc/selinux/config", O_RDONLY) = 3
open("/proc/mounts", O_RDONLY) = 3
open("/usr/lib/locale/locale-archive", O_RDONLY) = 3
open("/proc/filesystems", O_RDONLY) = 3
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
open("/usr/share/locale/en_US.UTF-8/LC_TIME/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_TIME/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_TIME/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.UTF-8/LC_TIME/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_TIME/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_TIME/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/nsswitch.conf", O_RDONLY) = 3
open("/etc/ld.so.cache", O_RDONLY) = 3
open("/lib64/libnss_files.so.2", O_RDONLY) = 3
open("/etc/passwd", O_RDONLY) = 3
open("/etc/group", O_RDONLY) = 3
open("/etc/mtab", O_RDONLY) = 3
open("/proc/meminfo", O_RDONLY) = 3
open("/etc/localtime", O_RDONLY) = 3