How can I reuse texture within the same model? Say, my model is an octagonal prism.

I want to texture it - a circular pattern on the caps, two of the side rectangles with a colored stripe, the remainder a generic white surface image.

If I "unwrap" it, it will produce 32 faces: 8 for each cap, and 2 for each of 8 sides.

But in reality, I need only 6 - every single face on the cap will use one image, plus two images for the two kinds of rectangular sides (each of 2 triangles) - colored, and blank. This is a massive saving on texture size.

I found a plenty of info on how to reuse textures across models, but how can I use segments of the same texture within different faces of a single model?

(please explain more complex parts and include trivial detail you'd usually skip when explaining to seasoned Blender artist - I'm a beginner.)
In edit mode select all edges and mark them as seams, then select only one face, U to Unwrap, in UV editor place the UV in the right place of the texture.

Repeat for all others 31 faces.

This is for understanding the principle, then you can find all the available shortcuts!