Я использую 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
и это решило бы проблемы с обновлением, но у него есть два недостатка:
- вы все еще можете сделать
yum remove git
и он удалит git 2.10 (те же местоположения файлов). - если вы пытаетесь сделать
yum install X
здесьX
имеет Git как зависимость, вы не сможете установить его:/
вопрос - Как обновить yum информацией о пакете, скомпилированном из исходного кода?
одна вещь, которую я мог бы сделать, это построить пустой RPM для git и добавить его в yum. Так конфетка будет информация о моей скомпилированной версии. Однако я не уверен, что это хорошее решение?
Я хотел бы получить некоторую информацию и идеи об этой ситуации. Пожалуйста, не судите строго GIT, это может быть любой другой пакет, например, nginx или PHP.
любая помощь будет оценили!