Personally it just takes experience to learn the majority of what you need to become a decent tech.
Depending on what you'd like to do (ie network support, network administration, system support, database admin etc..) all you need is some experience with different problems. You can read about as much stuff as you want, but it's experiencing, establishing and fixing problems that teachs you the inner workings of these areas.