You have to repair the ship, and the hard part is hanging onto your mass.
A generation ship needs to be fully self-sustaining, and that means having manufacturing and recycling facilities for everything. This is tough if you only have a few hundred people, but if you have a million, plus good automation, it's not that implausible. Generation ships have to be big.
Stopping wear entirely isn't practical, everything wears out, especially when humans and other living things keep growing in it. You have to repair and maintain. Even the dust can be swept up and recycled. It has to be. On Earth, materials that wear away turn into dust and just blow away and become part of the planet, but in space, if you don't dispose of your dust, in a few thousand years your ship will be knee-deep in dust. And if you throw it overboard rather than recycle it, you'll soon run out of supplies and/or ship.
So really, you need to worry about how much of your mass escapes into space. Some of it will be air leaking out when you open an airlock to do maintenance. Some of it will be bits of the hull getting blasted off by micrometeors. Some of it will be garbage that you just can't recycle and have to throw overboard (need to keep that to an extreme minimum!) And some will just be a few atoms slipping out through the seams. But all that adds up.
Isaac Arthur's video on ark ships covers this in more detail. A spacecraft leaking mass effectively has a half-life rather than a linear rate of loss, and the more mass you lose, the shorter the half-life. No matter how much extra material you take with you, hanging onto the mass you have dominates. But eventually it leaks out, and the only way to maintain enough material to last indefinitely is to stop and replenish it every so often, or build your ship big enough that it holds onto mass by gravity rather than by sealing.
Assuming that second option isn't viable, building bigger still helps. Assuming you don't intentionally throw material overboard, leakage is proportional to the surface area of the ship, but total mass is proportional to the volume. Still, endurance of a few tens of thousand years is probably the best you can do. That's good for a couple of hundred light years of range at 1-5% of light speed, so it's viable. But range will still be a problem.
But resupply is practical. Nearly every star system probably has an Oort cloud, and comets are basically made of rocket fuel. Asteroids are pretty much made of spaceship construction material. If you can realistically travel through interstellar space, you by definition have the ability to reach an Oort cloud. All you need is a refinery on board capable of processing a couple of comets into fuel, then you can visit a nearby asteroid and pick up any heavy materials you might happen to need. And then you can continue on your way. Problems in resupplying are more about the delay and inconvenience of having to stop than about any impossibility in the technology. So, over long distances, the better you seal and recycle, the faster you go.