Назад | Перейти на главную страницу

Centos: Как установить все пакеты одного сервера на другой?

я сделал 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)