I wouldn't call it linear, as there is lots to do. But the most annoying part of the game is the missions don't seem to change all that much. Go here, kill him, collect reward. Though some are really damn good, it just gets old pretty quick. It doesn't ruin the game, it just could be so much better without the same style of missions over and over again. Also the friend system is annoying. They constatnly call and want to do something which is not exaclty easy when you are trying to kill somebody and finish a mission.
I would still pick it up, even though not all reviews are great. It's still a damn fine GTA game and if you can get it for $30, then why the hell not? If you don't like it, it's not like it left a big dent in your wallet.