Ласкаво просимо до помилки сервера. Взагалі цей тип питань тут не є тематичним. Очікується, що більшість сисадмінів вже зіткнулися з цим питанням, перш ніж вони стали сисадміном через майстерність власних робочих станцій. Однак системні адміністратори, що надходять з фоном Windows, можливо, не стикалися з цим, тому ось що слід врахувати:
Чому б не використовувати менеджер пакунків для встановлення програмного забезпечення на ваш сервер?
Менеджери пакунків, такі як yum
або apt
вирішують ці залежності для вас. Крім того, вони також можуть використовуватися для управління оновленнями програмного забезпечення на вашому сервері. Більшість ароматів * nix матимуть менеджер пакунків за замовчуванням, особливо на VPS, які постачаються з попередньо встановленою ОС. Якщо ви справді новачок у цьому, використовуйте один із них у своїй виробничій системі та заощаджуйте пригоди під час збирання або встановлення кровоточних обертів RPM для вашого тестового середовища.
Але я вимагаю використовувати більш сучасний пакет, ніж той, що доступний у моєму менеджері пакунків!
Більшість менеджерів пакунків можуть бути налаштовані на використання різних сховищ. Ви можете виявити, що існує версія, яка надає потрібну вам версію пакету, і все ще дозволяє скористатися функціями менеджера пакунків.
Пакет, який мені потрібен, недоступний у будь-яких репостів або менеджерів пакетів
У такому випадку вам, ймовірно , потрібно розібратися в залежності (або висмоктати його і використовувати більш стабільну / поширену версію програмного забезпечення). Ви, ймовірно, повинні зробити наступне в тестовому середовищі та уважно зазначати, що ви робите:
- Не забудьте прочитати документацію до встановленого програмного забезпечення - це, ймовірно, перелік того, що потрібно встановити спочатку, але не те, що потрібно для цього програмного забезпечення.
- Використовуйте менеджер пакунків, щоб встановити необхідні речі - у більшості випадків вони будуть доступні.
- Після завершення цього спробуйте встановити.
- Якщо ви все ще бачите повідомлення про відсутніх залежностей, відмітьте їх усі і знову спробуйте встановити якомога більше за допомогою менеджера пакунків.
- Якщо залежність не знайдена, ви повинні вважати її підзадачею і обробляти її рекурсивно (знайти вихідний тарбол, знайти залежності, встановити).
- Це ітераційний процес.
У мене ще проблеми!
Якщо ви дотримуєтесь усіх вищезазначених кроків і все ще відчуваєте проблеми, то, можливо, ви натрапили на якусь дивну проблему, з якою можуть допомогти інші несправники сервера. Створіть нове запитання, довідавшись, яке програмне забезпечення ви намагаєтеся встановити, яку версію та точні повідомлення про помилки, які ви бачите.
Конкретні поради для основних систем управління пакетами
RPM (RHEL / Fedora і клони) і DEB (Debian / Ubuntu і клони) управління пакетами
- yum whatprovides назва файлу - це відмінний спосіб знайти пакет, який надає певний файл або бібліотеку в системі типу RHEL.
- Не використовуйте
./configure && make && make install
сліпо, якщо це можливо! Саме з цього приводу було створено управління пакунками, щоб запобігти незручному і нездійсненному безладу, який виникає внаслідок непростежуваної установки багатьох конфліктуючих файлів.
- Багато бібліотек розділені на дві частини: бінарні (наприклад, спільні об'єкти) та розвиваючі (заголовки). Таким чином, вам знадобляться
libfoo
і пакети, і libfoo-devel
(або -dev
).
- Розгляньте можливість використання
fpm
( https://github.com/jordansissel/fpm ) для перетворення тарілок у акуратні RPM та DEB
- Якщо ви прокатуєте власні пакунки, ВИ є відповідальною за їх оновлення, тестування та обслуговування. Якщо у вас немає інфраструктури для цього, ви напевно прагнете занадто високо.
Пошук залежностей за назвою файлу для RPM
http://rpmfind.net - це гарне місце для пошуку назв пакетів, якщо ви знаєте ім’я файлу, на який скаржиться процедура встановлення. Однак не рекомендується узгоджувати та змішувати пакети з різних дистрибутивів.