Ah OK, 2.5 is peak tantrum time!
Yes, it's tough. But try to remind yourself that you are nearly through the worst of it. There's a reason it's often called the terrible two's, and some find it tougher than others.
Keep reminder yourself what causes toddlers to behave like this. They have very little control and very little ability to communicate, and a massive internal drive to learn and practise. Toddlers learn so quickly because of this! As he gets older his abilities will improve and the tantrums will ease. You will be able to reason with him/bribe him.
I know you say you've tried it all, BUT:
- any tactic takes time/consistency to know if it works
- what works changes over time!
What that means is that in practice you haven't tried it all with your toddler AS HE IS NOW. So now is a good time to review what you might like to try and maybe haven't tried in month or two, or didn't stick at long.
Things I've found work well for mine at this age that you could give a go (or ignore if you've tried them recently):
- reflecting back with cave-baby speak. E.g. W is cross because he wants a toy that another toddler snatched from him: "W is angry! Angry angry angry! W wants the toy! Wants the toy now!" (You're reflecting the emotion in your voice to show you understand. Avoid pronouns - when toddlers are angry their language regressed A LOT). Now calm your time and look a bit sad. "W wants it back. W is sad". Now look a bit more cheerful if toddler is calming a bit (works more than you'd expect!) "Look, W can have the train!"
- As others have said, make it a game. Maybe he gets to put run cream in you. Maybe you put it on his hand and ask him to see how far he can sprwad it up his arm. If you have a wipe-clean doll, he could put some on the doll while you do him. Maybe you could even make it a race - but let him win!
- focus on sleep and food more. Toddlers this age don't know what's best for them! They don't always eat enough at meals as they get distracted. If they are even slightly hungry or tired they get ratty.... a small snack before something unpopular can help. If necessary, get them to have the snack WHILE you do the unpopular thing.
Whatever you try, you also need to work on how you feel. Remind yourself your feelings are totally valid. It's ok to feel frustrated. Take a moment to gather your thoughts and breathe BEFORE you respond. Bear in mind that your child wants to be happy, they don't want a miserable day either, they just lack the tools to control that. They will learn. It will get better.
Make sure you are getting enough time to look after yourself. You will be less patient if you are run down. A break will help - do you get one now and then? Especially with the early starts - do you have someone who can do the early shift on occasion?