# 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
Simplemente con GNUparallel
:
parallel ::: 'pip install pipenv && pipenv install --dev' \
'npm install -g grunt-cli && npm install'
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 pip
seguido depipenv
(si pip
se 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:
&
al final de un comando ), y le permite esperar a que finalicen (usandowait
)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.