Создание символической ссылки внутри profile.d не работает. Обходной путь?

Это взято из статьи в блоге, которую я написал некоторое время назад.

Вы можете попросить yum получить все пакеты и их зависимости на вашей ВМ, а затем создать из них репозиторий, который затем будет использоваться вашим сервером.

Обратите внимание, что ВМ должна иметь только минимальные пакеты, необходимые для ее работы; поскольку вы не знаете, что установлено на сервере, вы хотите, чтобы yum загрузил как можно больше зависимостей.

На ВМ:

# mkdir /root/tmppkg
# yum --downloadonly --downloaddir=/root/tmppkg install <packages>
# chown -R root:root /root/tmppkg
# createrepo /root/tmppkg
# chmod -R 755 /root/tmppkg

Перенесите каталог tmppkg на сервер, скажем, в /opt. Затем создайте файл /etc/yum.repos.d/local.repo на сервере в таком виде:

[local]
name=Local repository
baseurl=file:///opt/tmppkg
enabled=1
gpgcheck=0
protect=1

Теперь запустите на сервере:

# yum install <packages>

и пакеты будут установлены из локального репо. После завершения работы yum вы можете удалить /etc/yum.repos.d/local.repo и /opt/tmppkg для экономии места.

2
22.03.2016, 23:31
1 ответ

Сценарий / etc / profile обычно создает файлы в /etc/profile.d , заканчивающиеся на .sh и не обрабатывает вложенные папки. Таким образом, вам придется связать каждый файл .sh из вашего каталога /usr/manual/profile.d , либо вы должны написать оболочку, которая находится внутри /etc/profile.d , который заботится о ваших собственных файлах .sh в /usr/manual/profile.d . Если подумать, последний может быть более элегантным.

2
27.01.2020, 22:11

Теги

Похожие вопросы