Я пишу небольшой «сценарий установки», для которого требуется EPEL на CentOS. Команда (URL-адрес репо) отличается в зависимости от разрядности ОС, как мне объединить ее в одну команду?
Ссылки: Как установить EPEL
Я помню, как делал это с uname
, но я не уверен, как включить его в существующую команду.
Вы могли бы сделать это с uname -i
и cat /etc/redhat-release
. Это даст следующее:
[bart@dev ~]$ cat /etc/redhat-release
CentOS release 6.2 (Final)
[bart@dev ~]$ uname -i
x86_64
Я бы написал это так:
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/`uname -i`/epel-release-5-4.noarch.rpm
(не тестировал, и вам нужно будет поймать некоторые исключения, например, 404)
uname -i должен выводить архитектуру во многих системах (это есть в некоторых моих системах i386, но неизвестно для других). Если по какой-то причине вам нужно получить тип машины, подойдет uname -m.
Вероятно, вы захотите сохранить это как переменную, включая строку arc=$(uname -i)
в вашем скрипте и при необходимости используйте переменную $ arc