Объедините параллельные и последовательные команды

 # yum remove libxcb-devel 
 # rpm -Uvh --oldpackage libxcb-1.5-1.el6.i686.rpm 
 

Это два разных пакета. Версия -devel предназначена для компиляции, пакет libxcb без -devel - это то, с чем будут работать приложения.

Поскольку вы удалили версию -devel, в которой ничего не установлено, "yum info" показывает только последнюю доступную версию (вы можете использовать параметр --showduplicates, чтобы увидеть все версии). {{1} } Если вы хотите остановить его обновление, я бы рекомендовал установить / использовать плагин блокировки версий в пакете libxcb ... хотя это можно сделать вручную с помощью excludes.

Также используйте rpm напрямую, вы можете просто использовать: yum downgrade blah.rpm

3
01.03.2018, 09:50
2 ответа

Simplemente con GNUparallel:

parallel ::: 'pip install pipenv && pipenv install --dev' \
             'npm install -g grunt-cli && npm install'
3
27.01.2020, 21:18

El estilo Unix -equivalente a los comandos de Windows es el siguiente:

(pip install pipenv && pipenv install --dev) >& pip.log &
(npm install -g grunt-cli && npm install) >& npm.log &

Esto inicia dos shells secundarios -en segundo plano, uno ejecutando pipseguido depipenv(si pipse completa sin errores ), el otro ejecutando los dos comandos npm. Las salidas de ambos conjuntos de comandos se redirigen a archivos de registro, para mantener las cosas inteligibles.

Si necesita esperar a que se completen todos esos comandos antes de continuar, use

wait

como ya has descubierto.

Al secuenciar y paralelizar tareas usando un shell de estilo POSIX -, hay dos herramientas a su disposición:

  • control de trabajos, que le permite colocar tareas en segundo plano (usando &al final de un comando ), y le permite esperar a que finalicen (usandowait)
  • sub -shells, que le permiten dividir las unidades de procesamiento de la manera que desee, incluida la serialización de tareas que deben manejarse secuencialmente.

Eso es lo suficientemente bueno para requisitos simples como su tarea actual, y puede llevarlo bastante lejos. Existen herramientas más avanzadas para casos de uso más complejos -; GNU Parallel es uno, también vale la pena buscar herramientas de procesamiento por lotes si necesita un control de recursos más preciso.

2
27.01.2020, 21:18

Теги

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