
Trabajo en diferentes máquinas, algunas como centos7
, otras centos6
, construyo un binario tmux
con una versión diferente en cada 'tipo' ya que la misma versión no puede ejecutar ambas.
¿Cómo puedo indicarle .bashrc
que cambie entre versiones tmux
dependiendo del cuadro en el que trabajo?
Respuesta1
El comando uname -m
le dirá en qué arquitectura se encuentra. Por ejemplo, en mi sistema ahora mismo:
$ uname -m
x86_64
Podría sugerir poner archivos binarios archful en ~/bin/i686
y ~/bin/x86_64
. (O, si es Power de 32 bits o algo más, lo que uname -m
regrese). Luego, en ~/.bash_profile
(cuál es ellugar correcto para esto, tiene una línea como esta:
PATH=$PATH:~/bin/$(uname -m)
que agregará esta nueva ruta bin específica del arco a su ruta existente.
O, si desea algo distinto a la arquitectura de la máquina, utilice un distintivo diferente. Por ejemplo, una forma sencilla de saber las versiones de CentOS es mirar la versión del centos-release
paquete, con rpm -q
, así:
PATH=$PATH:~/bin/centos$(rpm -q --qf '%{VERSION}' centos-release)
lo que te dará o ~/bin/centos6
, ~/bin/centos7
aunque no hay manejo de errores, por lo que en Fedora o algo así recibirás un mensaje de error sin sentidojusto en el camino. (Tal vez verifique si centos-release existe con una if
declaración incluso antes de ejecutar esto).
También puede agregar --nosignatures --nodigest
para acelerar este comando de RPM en unas centésimas de segundo. No es gran cosa, pero como sucederá en cada nuevo shell de inicio de sesión, parece que vale la pena escribir más.