Добавить инструмент, скомпилированный из исходного кода в yum

Я использую CentOS (7.2), и мне нужно скомпилировать некоторые инструменты из исходного кода, чтобы получить некоторые новые функции на сервере. Я в порядке с компиляцией из источника, но у меня проблема с yum. Давайте взглянем на пример с GIT.

если вы попытаетесь yum install git вы получите GIT 1.8.3.1. Мне нужна более новая версия, например 2.10. Я следую учебник от страницы githttps://git-scm.com/book/en/v2/Getting-Started-Installing-Git здесь.

если вы устанавливаете требует инструменты для компиляции git вы заметите, что одной из зависимостей является сам git. Поэтому перед составлением новой версии, вы на самом деле установили git. После компиляции нужной версии (2.10)

так что все в порядке, но вот несколько вопросов, с которыми я сталкиваюсь. Допустим, в репозитории CentOS есть более новая версия GIT. Так что после yum update git моя скомпилированная версия будет заменена, скажем 1.9. Хотелось бы предотвратить такую ситуацию.

моя первая мысль была добавить exclude git* до yum.conf и это решило бы проблемы с обновлением, но у него есть два недостатка:

  1. вы все еще можете сделать yum remove git и он удалит git 2.10 (те же местоположения файлов).
  2. если вы пытаетесь сделать yum install X здесь X имеет Git как зависимость, вы не сможете установить его:/

вопрос - Как обновить yum информацией о пакете, скомпилированном из исходного кода?

одна вещь, которую я мог бы сделать, это построить пустой RPM для git и добавить его в yum. Так конфетка будет информация о моей скомпилированной версии. Однако я не уверен, что это хорошее решение?

Я хотел бы получить некоторую информацию и идеи об этой ситуации. Пожалуйста, не судите строго GIT, это может быть любой другой пакет, например, nginx или PHP.

любая помощь будет оценили!

19
задан Astaz3l
21.04.2023 6:14 Количество просмотров материала 3638
Распечатать страницу

1 ответ

Я хотел бы удалить пакет git после компиляции (традиционно этот шаг исполняется с make команда, но глядя в Git guide вы упомянули, что он использует make all doc info), но перед установкой С sudo make install install-doc install-html install-info (или аналогичную команду для программного обеспечения, которая устанавливает, что был составлен). Или просто повторите команду установки после dnf remove git.

надеюсь, я ничего не пропустил в вашем вопросе.

еще один мир предупреждения: вы должны быть уверены, что вы действительно знаете, что делаете - вы в основном игнорируете своевременные обновления вашего дистрибутива (например, по соображениям безопасности) таким образом (добавив Это, потому что вы упомянули, например, php, который может часто атаковать вектор.

0
отвечен jhutar 2023-04-22 14:02

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх