فركب إليها البحر فنزل في طرابنة، وعصى عليه أهل صقلية بمن معه من العساكر فامتنعوا عليه، وقاتله أهل كبركيت وأهل طرابنة فهزمهم وقتلهم، ثم استأمن إليه أهل طرابنة فأمنهم وهدم أبوابها، وأمره المهدي بالعفو عنهم، ثم ولى المهدي على صقلية سالم بن راشد وأمده سنة ثلاث عشرة بالعساكر فعبر البحر إلى أرض انكبرده فدوخوها، وفتحوا فيها حصونًا ورجعوا، ثم عادوا إليها ثانية وحاصروا مدينة أدرنت أيامًا، ورحلوا عنها، ولم يزل أهل صقلية يغيرون على ما بأيدي الروم من جزيرة صقلية وقلورية، ويعيثون في نواحيها، وبعث المهدي سنة اثنتين وعشرين جيشًا في البحر مع يعقوب بن إسحاق فعاث في نواحي جنوه ورجعوا ثم بعث جيشه من قابل ففتحوا مدينة جنوه، ومروا بسردانية فأحرقوا فيها مراكب وانصرفوا. ولما كانت سنة خمس وعشرين انتفض أهل كبركبت على أميرهم سالم بن راشد، وقاتلوا جيشه، وخرج إليهم سالم بنفسه فهزمهم، وحصرهم ببلدهم، واستمد القائم فأمده بالعسكر من خليل بن إسحاق، فلما وصل إلى صقلية شكا إليه أهلها من سالم بن راشد، واسترحمته النساء والصبيان، وجاءه أهل كبركيت وغيرها من أهل صقلية بمثل ذلك فرق لشكواهم، ووشي إليهم سالم بأن خليلًا إنما جاء للانتقام منهم بمن قتلوا من العسكر فعادوا الخلاف، واختط خليل مدينة على مرسى المدينة سماها الخالصة، وتحقق بذلك أهل كبركيت ما قال لهم سالم، واستعدوا للحرب، فسار إليهم خليل منتصف ست وعشرين، وحصرهم ثمانية أشهر بغاديهم بالقتال ويراوحهم، حتى إذا جاء الشتاء رجع إلى الخالصة واجتمع أهل صقلية على الخلاف، واستمدوا ملك القسطنطينية فأمدهم بالمقاتلة والطعام، واستمد خليل القائم فأمده بالجيش فافتتح قلعة أبي ثور وقلعة البلوط وحاصر قلعة بلاطنو إلى أن انقضت سنة سبع وعشرين، فارتحل عنها وحاصر كبركيت، ثم حبس عليها عسكرًا للحصار مع أبي خلف بن هارون ورحل عنها وطال حصارها إلى سنة تسع وعشرين فهرب كثير من أهل البلد إلى بلد الروم، واستأمن الباقون فأمنهم على النزول عن القلعة، ثم غدر بهم فارتاع لذلك سائر القلاع وأطاعوا، ورجع خليل إلى إفريقية آخر سنة تسع وعشرين، وحمل معه وجوه أهل كبركيت في سفينة وأمر بخرقها في لجة البحر فغرقوا أجمعين. ثم ولى على صقلية عطاف الأزدي، ثم كانت فتنة أبي زيد، وشغل القائم والمنصور بأمره فلما انقضت فتنة أبي زيد، عقد المنصور على صقلية للحسن بن أبي الحسن الكلبي.