Rebels fight to hold on in Libya