for ages adv (for a long time
I waited for ages but he never showed up.
for years adv (for several or many years)
for a long time adv(at length)
After a hard day's work I'm always ready to sleep for a long time.
Long time might only be 12 hours
ages can be from hours to many years
For years can be 2 years and up