Can not delete Directory


 
Thread Tools Search this Thread
Operating Systems AIX Can not delete Directory
# 1  
Old 04-07-2008
Can not delete Directory

I've run into a issue where I can not delete directories under a user directory.
There are several of these dir now. I can do a 'mv' of the dir to another dir. ie 'mv sp2456 old/' and it will move the directory, but I can not delete them. Here is all the information I hope you will need to help me out. Thank you.
I have done a chmod -R 777 sp2f941 to allow all access
I also did a chown -R root:sys sp2f941.
Previous to these two commands the files were owned by spark:usr and were rwxr-xr-w
(ll is alias for "ls -la" )


bash-3.00# cd /home/spark/sp2f941/BUILD/
bash-3.00# ll
total 7
drwxrwxrwx 6 root sys 3072 Mar 25 14:02 .
drwxrwxrwx 3 root sys 512 Mar 25 14:30 ..
bash-3.00# rm -f *
bash-3.00# ll
total 7
drwxrwxrwx 6 root sys 3072 Mar 25 14:02 .
drwxrwxrwx 3 root sys 512 Mar 25 14:30 ..
bash-3.00# cd ..
bash-3.00# ls
BUILD
bash-3.00# rmdir BUILD
rmdir: 0653-611 Directory BUILD is not empty.
bash-3.00# whoami
root
bash-3.00# uname -ax
AIX cehazel 102983244 3 5 000623664C00
bash-3.00#

Mount shows:
/dev/hd1 /home jfs Feb 07 16:56 rw,log=/dev/hd8

I am able to partially re-create this problem, but not consistently. All other files and dirs in the user dir I can delete and act normally.
If you need anymore information, please let me know. Thank you for your help.
# 2  
Old 04-07-2008
Is this on NFS? Happened to me the other day on a Linux box, but a Solaris box on the same cluster could delete the files just fine. (The admin on the Linux box even tried unmounting /home and restarting the daemon, but that didn't help at all.)
# 3  
Old 04-07-2008
The rmdir command is never going to remove a directory that is not empty, even if you are root. Try to cd to your directory and run "ls -la". My bet is you've got some files that aren't showing up in your "ll" output(.profile & .sh_history come to mind).

Anyway, you can also try "rm -rf /home/spark/sp2f941/BUILD"
# 4  
Old 04-07-2008
Quote:
Originally Posted by dam294
The rmdir command is never going to remove a directory that is not empty, even if you are root. Try to cd to your directory and run "ls -la". My bet is you've got some files that aren't showing up in your "ll" output(.profile & .sh_history come to mind).

Anyway, you can also try "rm -rf /home/spark/sp2f941/BUILD"
Tried that, here is the output:
bash-3.00# ls -la BUILD/
total 7
drwxrwxrwx 6 root sys 3072 Mar 25 14:02 .
drwxrwxrwx 3 root sys 512 Mar 25 14:30 ..
bash-3.00# rm -Rf BUILD
rm: 0653-611 Directory BUILD is not empty.
bash-3.00#
# 5  
Old 04-07-2008
One possibility is that the directory is NFS-mounted, as era has already mentioned. Another possiblity would be a process that writes to this directory. Suppose a process that writes more or less constantly to a file, something like "vmstat 1 > /some/file" if you now remove "/some/file" ls will not show it, but it will still be there as long as the process (vmstat in this example) runs. You can see that by running "df" against the filesystem holding the file.

(btw. this is one excellent method to drive a Sysadmin crazy: Fill up the /tmp filesystem with such a mechanism and use a sufficiently innocent processname. No, do NOT try this on your colleague. ;-)) )

Use a tool like "fuser" to determine processes which still write to the filesystem/directory to remedy such a situation. Once you kill the process the filespace becomes available at once as the respective i-node is released automatically.

I hope this helps.

bakunin
# 6  
Old 04-07-2008
Quote:
Originally Posted by bakunin
One possibility is that the directory is NFS-mounted, as era has already mentioned. Another possiblity would be a process that writes to this directory. Suppose a process that writes more or less constantly to a file, something like "vmstat 1 > /some/file" if you now remove "/some/file" ls will not show it, but it will still be there as long as the process (vmstat in this example) runs. You can see that by running "df" against the filesystem holding the file.

(btw. this is one excellent method to drive a Sysadmin crazy: Fill up the /tmp filesystem with such a mechanism and use a sufficiently innocent processname. No, do NOT try this on your colleague. ;-)) )

Use a tool like "fuser" to determine processes which still write to the filesystem/directory to remedy such a situation. Once you kill the process the filespace becomes available at once as the respective i-node is released automatically.

I hope this helps.

bakunin

The /home directory is mounted as JFS. It a partition on a local drive.
I tried fuser with some flags but did not get any useful information back.
bash-3.00# pwd
/home/spark/old/sp2f941
bash-3.00# fuser -d *
BUILD:
bash-3.00# cd BUILD
bash-3.00# fuser -d *
*: A file or directory in the path name does not exist.
bash-3.00# fuser -dV *
*: A file or directory in the path name does not exist.
bash-3.00# cd ..
bash-3.00# fuser -dV *
BUILD:

bash-3.00# fuser -u /home
/home:

bash-3.00#

Did I do the correct parameters?
here is the full results from mount.

bash-3.00# mount
node mounted mounted over vfs date options
-------- --------------- --------------- ------ ------------ ---------------
/dev/hd4 / jfs Feb 07 16:55 rw,log=/dev/hd8
/dev/hd2 /usr jfs Feb 07 16:55 rw,log=/dev/hd8
/dev/hd9var /var jfs Feb 07 16:55 rw,log=/dev/hd8
/dev/hd3 /tmp jfs Feb 07 16:55 rw,log=/dev/hd8
/dev/hd1 /home jfs Feb 07 16:56 rw,log=/dev/hd8
/proc /proc procfs Feb 07 16:56 rw
/dev/hd10opt /opt jfs Feb 07 16:56 rw,log=/dev/hd8
bash-3.00#
# 7  
Old 04-07-2008
I tried a fuser on the device and got the following results:
bash-3.00# fuser -uV /dev/hd1
/dev/hd1:
rawdev 15084c(root)
rawdev 19652c(root)
rawdev 20182c(root)

bash-3.00# kill -9 20182
bash-3.00# kill -9 19652
bash-3.00# fuser -uV /dev/hd1
/dev/hd1:
rawdev 15084c(root)

bash-3.00# ll
total 8
drwxrwxrwx 3 root sys 512 Mar 25 14:30 .
drwxrwxrwx 7 root sys 512 Apr 07 13:44 ..
drwxrwxrwx 6 root sys 3072 Mar 25 14:02 BUILD
bash-3.00# rm -Rf BUILD
rm: 0653-611 Directory BUILD is not empty.
bash-3.00#

The PID 15084 is my current session.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Delete files directory

amigos necesito dejar en un directorio solo los archivos del dia anterio, como puedo hacer eso con una shell Hello. Per our forum rules, all posts must be in English. We do provide translation services for posts from English to a number of languages as a benefit to users. However,... (16 Replies)
Discussion started by: tricampeon81
16 Replies

2. Shell Programming and Scripting

Delete directory

Can we force delete the directories despite having files in it? Because I need to delete multiple directories which has multiple files. As of now, I'm deleting the files before deleting the directory. Can't we delete the directory with files? (3 Replies)
Discussion started by: Ram Kumar_BE
3 Replies

3. UNIX for Dummies Questions & Answers

Why can't I delete this directory ?

Oracle Linux 6.4 bash shell I am trying to remove the directory named OPatch. I am trying to run rm and rmdir commands while logged in as grid user, the owner of the directory. But I keep getting "Permission denied" error. It is an empty directory. Any idea why I am getting 'Permission denied'... (5 Replies)
Discussion started by: kraljic
5 Replies

4. Shell Programming and Scripting

Script needed to delete to the list of files in a directory based on last created & delete them

Hi My directory structure is as below. dir1, dir2, dir3 I have the list of files to be deleted in the below path as below. /staging/retain_for_2years/Cleanup/log $ ls -lrt total 0 drwxr-xr-x 2 nobody nobody 256 Mar 01 16:15 01-MAR-2015_SPDBS2 drwxr-xr-x 2 root ... (2 Replies)
Discussion started by: prasadn
2 Replies

5. UNIX for Dummies Questions & Answers

Cannot Delete Directory

Hello, I am trying to delete a directory but cannot. Can anyone assist? See attached. Many thanks. (6 Replies)
Discussion started by: dixer
6 Replies

6. Shell Programming and Scripting

How to delete some of the files in the directory, if the directory size limits the specified size

To find the whole size of a particular directory i use "du -sk /dirname".. but after finding the direcory's size how do i make conditions like if the size of the dir is more than 1 GB i hav to delete some of the files inside the dir (0 Replies)
Discussion started by: shaal89
0 Replies

7. Solaris

Directory cannot delete

Dear All, I have problem at T5220 server, when I enter at my server as oracle user and make directory ex. directory test then I will delete directory test with command : rm -rf, what happenned...?? that directory cannot deleted. What's wrong with my server...? Note: my server T5220 with... (3 Replies)
Discussion started by: mbah_jiman
3 Replies

8. Solaris

Can't delete directory

Hi, I have a problem on Solaris 10 regarding deletion of files when I try to recursively delete the directory /opt/Tivoli as root, I get the following error message: rm: Unable to remove directory Tivoli/lcf/dat/1/no-del/bin/solaris2/TME: File exists rm: Unable to remove directory... (4 Replies)
Discussion started by: funksen
4 Replies

9. UNIX for Dummies Questions & Answers

delete a directory

Hi all, I have an empty directory "-ltr". How to delete it ? Thanks (4 Replies)
Discussion started by: madmat
4 Replies

10. HP-UX

Can't delete a directory on HP-UX

Hi, I am having hard time to delete a directory: $ rm -r testoxdwdw rm: testoxdwdw non-existent $ rmdir testoxdwdw rmdir: testoxdwdw: No such file or directory $ rm -rf testoxdwdw Thanks! (2 Replies)
Discussion started by: oradbus
2 Replies
Login or Register to Ask a Question