For a long time now, I've been pondering over whether I should dive into Linux from Scratch (http://www.linuxfromscratch.org).
I've been a Linux user (Ubuntu) for over three years now, and the stuff I've learned is only by trying/troubleshooting and so on.. I've never really read a book about UNIX (even though we had the course in college).
So, have any of you HNers tried out the LFS project from start to finish? Is it something that'll teach me more about how the Linux operating system works (of which I have a pretty decent idea), or is it something that help me towards my goal of becoming a Linux power user ?
Any opinions or help would be awesome!
Why? Well - unless you have a very specific reason [1] it seems to me that LFS is too much time invested for not enough return. As others commented, you can go a long way with a source based distribution. Learning a different distribution's way to do things might already be pretty interesting (and arguably more useful: You'll probably never hit a LFS system in real use that needs fixing, but you might stumble upon a solaris/freebsd machine or even just a heap of Suse/RedHat/Debian/Slackware machines) and challenging. Start with that!
LFS is a purely academic thing for me. You follow the guide, just to end up with a system that is really nothing for daily use (or - needs too much work).
All the above assumes that your definition of a linux poweruser is someone that understands the darkest secrets of the OS. Which - is not exactly necessary. I know plenty of users that I'd consider power users because they focus on things they actually need (and improve those, get better at those), not things that somehow make this possible.
Cue the car analogy: A race driver would be a power user for me, I don't require that he can build a race car from scratch..
[1]: Some reasons I could imagine to change the answer to a yes:
1) You want to really build your own distribution for an embedded device and don't like openembedded
2) You are (or plan to) a system administrator and want to learn more underlying details for your job.
3) You plan to get into system-level programming/contribution and want to understand the status quo first.