я сделал rpm -qa > file
и теперь я хочу скопировать файл на другой сервер, запустить его и установить все эти пакеты на новый сервер. Я сделал что-то вроде этого: for pkg in
файл кошки; do yum -y install $pkg; done
и это работает, но занимает слишком много времени, знаете ли вы более короткий способ достижения этой цели? У меня не установлен менеджер автоматической конфигурации. Если бы я знал, как запустить файл и переключить новую строку с помощью пробела, я мог бы запустить его просто: yum install -y pkg1 pkg2 pkg3
но я не знаю, как управлять данными в файле, чтобы он отображался таким образом. (с пробелами вместо символов новой строки)
Незачем; xargs
неважно, какие пробелы вы используете.
xargs yum -y install < file
rpm -qa > file
содержит номера версий. Лучше проигнорировать это, если у целевого сервера другая архитектура или пакет имеет обновленную версию. Получить имя пакета можно только с помощью следующей команды:
$ rpm -qa --queryformat "%{NAME}\n"
Не нужно использовать xargs
вообще.
rpm -qa > file
yum -y install $(cat file)