unable to modify created and modification time of symbolic links
ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
unable to modify created and modification time of symbolic links
Hi,
I am trying to duplicate a symbolic link, the new link should be the exact replica of the original one, with same file attributes, permissions, owner, group and even the time.
i m successful in changing the owner and group, but when i try to change the time using utime, the time of the file which is pointed to by this link get updated.
for example, there is file1 and file1_link is a symbolic link to file1. something like this:
lrwxrwxrwx 1 avni avni 5 Feb 27 11:44 file1_link -> file1
-rw-rw-rw- 1 avni avni 2061 Feb 26 18:47 file1
but instead i get lrwxrwxrwx 1 avni avni 5 Feb 28 11:30 file1_link_dup -> file1
when is do utime for file1_link_dup the result is something like this: lrwxrwxrwx 1 avni avni 5 Feb 27 11:44 file1_link -> file1
-rw-rw-rw- 1 avni avni 2061 Feb 27 11:44 file1
lrwxrwxrwx 1 avni avni 5 Feb 28 11:30 file1_link_dup -> file1
can any body tell how this can be achieved.
I read about lutimes, but its not on my system.
i am writing code in C. I don't want to use perl.
The kernel is 2.4.7.
I am new to UNIX and hence have little knowledge of the various distributions and commands available.
Can any one guide me where should I start the search for the solution!!!
If you think this is the wrong forum, then Please guide me to the correct forum.
Because lutimes() on linux uses the utimensat() system call with the AT_SYMLINK_NOFOLLOW flag. This system call was introduced in linux-2.6.22, so is unavailable for 2.4.7.
How do you know lutimes isn't on your system? It doesn't have a manpage on my system, but info libc lists it. Have you tried using it?
ta0kira
thanks ta0kira for your reply.
I know lutimes is not in my system because when i used it, the compiler flashed an error "function not implemented". I read info lutimes, this is the reason that i tried using it in my code.
Because lutimes() on linux uses the utimensat() system call with the AT_SYMLINK_NOFOLLOW flag. This system call was introduced in linux-2.6.22, so is unavailable for 2.4.7.
thanks osor,
Is it possible to implement utimes like function?
I strongly believe that there should be some way to modify the time of links. The main reason being, there would be some inode that maintains the record for the link, and if there is some inode there should be some sub-routine to access/modify it.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.