Система управління пакетами (в даному випадку — RPM) не допускає ситуації, коли один і той же файл належить одночасно декільком пакетам — така ситуація називається файловий конфлікт. Проте іноді необхідно поперемінно звертатися до декількох різних файлів, використовуючи один і той же шлях у файловій системі. Наприклад, різні версії компілятора зручно викликати як cc, різні реалізації емуляторів терміналів — як xvt. Для подібних цілей була створена підсистема альтернатив. Альтернатива — це і є той самий поділювальний шлях у файловій системі.
В групі пакетів перераховуються претенденти на шлях у файловій системі — кандидати, а також вага кандидата. Підсистема альтернатив забезпечує вибір того з можливих кандидатів, вага якого більша ніж інших. Також є можливість перевести управління в ручний режим і явно вказати необхідного кандидата. В цьому випадку вага не має значення.
Існують, так звані, залежні альтернативи. Наприклад, при перемиканні альтернативи компілятора, автоматично будуть переключені й альтернативи на всі посібники до нього (manual pages). Однак ніщо не перешкоджає також перемикати такі альтернативи в ручному режимі.