Чому завжди слід використовувати `rpm -U`, а не` rpm -i` для встановлення пакета?


19

rpm має опцію -i( --install) для встановлення пакету
rpm має опцію -U( --upgrade), яка встановить або оновить пакет

Документація до червоного капелюху вказує, що rpm -iцілком прийнятно.

Однак кожна документація, яку я коли-небудь бачив, рекомендувала використовувати -U, навіть якщо пакет встановлюється вперше.

Чому rpm -Uзазвичай віддають перевагу над rpm -i?

Відповіді:


37

Більшість документації передбачає -Uбільш -iтому , що -iможе зазнати невдач , якщо пакет вже був встановлений, або вже встановлена більш рання версія; хоча це -Uбуде успішним, навіть якщо "оновлення" з пакету взагалі не встановлено. Коли ви даєте практичні вказівки, як у випадку з документацією, загалом краще додати команди з меншою ймовірністю стану відмови.


1

Документація насправді не говорить про те, що -iслід використовувати для оновлення. Він говорить, що слід використовувати його для оновлення ядра. Причина полягає в тому, що якщо система не завантажується з новим ядром, у вас все ще є старе ядро. Це, однак, особливий випадок - пакети ядра в значній мірі є ортогональними, тому що вони не володіють конфліктуючими файлами, оскільки все є впорядкованим (ядра, initrd та бібліотечні модулі з різних пакетів ядра можуть жити поряд один з одним).

Звичайні пакети просторів користувачів рідко є незалежними. Якщо ви використовуєте rpm -iдля оновлення, ви, ймовірно, одночасно встановите два одноіменні пакети (та іншу версію), при цьому попередні будуть порушені (наполовину перезаписані). Насправді можливо встановити один і той же пакет двічі - як тільки це станеться, деякі інструменти та / або люди, швидше за все, заплутаються.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.