Programming This 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.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
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.
 |
GNU/Linux Basic Guide
This 255-page guide will provide you with the keys to understand the philosophy of free software, teach you how to use and handle it, and give you the tools required to move easily in the world of GNU/Linux. Many users and administrators will be taking their first steps with this GNU/Linux Basic guide and it will show you how to approach and solve the problems you encounter.
Click Here to receive this Complete Guide absolutely free. |
|
 |
03-01-2008, 12:36 AM
|
#1
|
|
LQ Newbie
Registered: Mar 2008
Posts: 5
Rep:
|
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
now i have to duplicate file1_link so that i have
lrwxrwxrwx 1 avni avni 5 Feb 27 11:44 file1_link_dup -> 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.
Thanks in advance.
|
|
|
|
03-01-2008, 09:29 AM
|
#2
|
|
Senior Member
Registered: Sep 2004
Distribution: FreeBSD 9.1, Kubuntu 12.10
Posts: 2,967
Rep: 
|
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
|
|
|
|
03-01-2008, 11:45 AM
|
#3
|
|
HCL Maintainer
Registered: Jan 2006
Distribution: (H)LFS, Gentoo
Posts: 2,450
Rep:
|
Quote:
Originally Posted by ta0kira
How do you know lutimes isn't on your system?
|
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.
|
|
|
|
03-02-2008, 11:13 PM
|
#4
|
|
LQ Newbie
Registered: Mar 2008
Posts: 5
Original Poster
Rep:
|
Quote:
Originally Posted by ta0kira
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.
|
|
|
|
03-02-2008, 11:19 PM
|
#5
|
|
LQ Newbie
Registered: Mar 2008
Posts: 5
Original Poster
Rep:
|
Quote:
Originally Posted by osor
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.
|
|
|
|
| Thread Tools |
Search this Thread |
|
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -5. The time now is 03:49 AM.
|
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|